#define DCPOMATIC_FILTER_H
+#include <boost/optional.hpp>
#include <string>
#include <vector>
class Filter
{
public:
- Filter (std::string i, std::string n, std::string c, std::string f);
+ Filter(std::string id, std::string name, std::string category, std::string ffmpeg_string);
/** @return our id */
std::string id () const {
return _category;
}
- static std::vector<Filter const *> all ();
- static Filter const * from_id (std::string d);
+ static std::vector<Filter> all ();
+ static boost::optional<Filter> from_id(std::string d);
static void setup_filters ();
- static std::string ffmpeg_string (std::vector<Filter const *> const & filters);
+ static std::string ffmpeg_string(std::vector<Filter> const& filters);
private:
/** all available filters */
static std::vector<Filter> _filters;
- static void maybe_add (std::string, std::string, std::string, std::string);
};
+bool operator==(Filter const& a, Filter const& b);
+bool operator!=(Filter const& a, Filter const& b);
+bool operator<(Filter const& a, Filter const& b);
+
+
#endif