26 #include <MltFilter.h> 27 #include "qmlmetadata.h" 31 class QmlFilter :
public QObject
34 Q_PROPERTY(
bool isNew READ isNew)
35 Q_PROPERTY(QString path READ path)
36 Q_PROPERTY(QStringList presets READ presets NOTIFY presetsChanged)
37 Q_PROPERTY(
int producerIn READ producerIn)
38 Q_PROPERTY(
int producerOut READ producerOut)
39 Q_PROPERTY(
double producerAspect READ producerAspect)
42 explicit QmlFilter(Mlt::Filter* mltFilter,
const QmlMetadata* metadata, QObject *parent = 0);
45 bool isNew()
const {
return m_isNew; }
46 void setIsNew(
bool isNew) { m_isNew = isNew; };
48 Q_INVOKABLE QString
get(QString name);
49 Q_INVOKABLE
double getDouble(QString name);
50 Q_INVOKABLE QRectF getRect(QString name);
51 Q_INVOKABLE
void set(QString name, QString value);
52 Q_INVOKABLE
void set(QString name,
double value);
53 Q_INVOKABLE
void set(QString name,
int value);
54 Q_INVOKABLE
void set(QString name,
double x,
double y,
double width,
double height,
double opacity = 1.0);
55 QString path()
const {
return m_path; }
56 Q_INVOKABLE
void loadPresets();
57 QStringList presets()
const {
return m_presets; }
59 Q_INVOKABLE
int savePreset(
const QStringList& propertyNames,
const QString& name = QString());
60 Q_INVOKABLE
void deletePreset(
const QString& name);
61 Q_INVOKABLE
void analyze(
bool isAudio =
false);
62 Q_INVOKABLE
static int framesFromTime(
const QString& time);
63 Q_INVOKABLE
static QString timeFromFrames(
int frames);
64 Q_INVOKABLE
void getHash();
65 int producerIn()
const;
66 int producerOut()
const;
67 double producerAspect()
const;
70 void preset(
const QString& name);
73 void presetsChanged();
74 void analyzeFinished(
bool isSuccess);
78 const QmlMetadata* m_metadata;
79 Mlt::Filter* m_filter;
82 QStringList m_presets;
84 QString objectNameOrService();
87 class AnalyzeDelegate :
public QObject
91 explicit AnalyzeDelegate(Mlt::Filter *filter);
94 void onAnalyzeFinished(AbstractJob *job,
bool isSuccess);