#include "filter.h"
-#include "warnings.h"
-DCPOMATIC_DISABLE_WARNINGS
+#include <dcp/warnings.h>
+LIBDCP_DISABLE_WARNINGS
extern "C" {
#include <libavfilter/avfilter.h>
}
-DCPOMATIC_ENABLE_WARNINGS
-#include <iostream>
+LIBDCP_ENABLE_WARNINGS
#include "i18n.h"
using namespace std;
-vector<Filter const *> Filter::_filters;
+vector<Filter> Filter::_filters;
/** @param i Our id.
vector<Filter const *>
Filter::all ()
{
- return _filters;
+ vector<Filter const *> raw;
+ for (auto& filter: _filters) {
+ raw.push_back (&filter);
+ }
+ return raw;
}
}
if (avfilter_get_by_name(check_name.c_str())) {
- _filters.push_back (new Filter(i, n, c, f));
+ _filters.push_back (Filter(i, n, c, f));
}
}
Filter::from_id (string d)
{
auto i = _filters.begin ();
- while (i != _filters.end() && (*i)->id() != d) {
+ while (i != _filters.end() && i->id() != d) {
++i;
}
return nullptr;
}
- return *i;
+ return &(*i);
}