25#include <QQmlListProperty>
27class QmlKeyframesParameter :
public QObject
31 Q_PROPERTY(RangeType rangeType MEMBER m_rangeType NOTIFY changed)
32 Q_PROPERTY(QString name MEMBER m_name NOTIFY changed)
33 Q_PROPERTY(QString property MEMBER m_property NOTIFY changed)
34 Q_PROPERTY(QStringList gangedProperties MEMBER m_gangedProperties NOTIFY changed)
35 Q_PROPERTY(
bool isCurve MEMBER m_isCurve NOTIFY changed)
36 Q_PROPERTY(
double minimum MEMBER m_minimum NOTIFY changed)
37 Q_PROPERTY(
double maximum MEMBER m_maximum NOTIFY changed)
38 Q_PROPERTY(QString units MEMBER m_units NOTIFY changed)
39 Q_PROPERTY(
bool isRectangle MEMBER m_isRectangle NOTIFY changed)
46 explicit QmlKeyframesParameter(QObject *parent = 0);
52 QString property()
const
56 QStringList gangedProperties()
const
58 return m_gangedProperties;
64 double minimum()
const
68 double maximum()
const
76 bool isRectangle()
const
80 RangeType rangeType()
const
91 QStringList m_gangedProperties;
97 RangeType m_rangeType;
100class QmlKeyframesMetadata :
public QObject
103 Q_PROPERTY(
bool allowTrim MEMBER m_allowTrim NOTIFY changed)
104 Q_PROPERTY(
bool allowAnimateIn MEMBER m_allowAnimateIn NOTIFY changed)
105 Q_PROPERTY(
bool allowAnimateOut MEMBER m_allowAnimateOut NOTIFY changed)
106 Q_PROPERTY(QQmlListProperty<QmlKeyframesParameter> parameters READ parameters NOTIFY changed)
108 Q_PROPERTY(QList<QString> simpleProperties MEMBER m_simpleProperties NOTIFY changed)
109 Q_PROPERTY(QString minimumVersion MEMBER m_minimumVersion NOTIFY changed)
110 Q_PROPERTY(
bool enabled MEMBER m_enabled NOTIFY changed)
111 Q_PROPERTY(
bool allowSmooth MEMBER m_allowSmooth NOTIFY changed)
114 explicit QmlKeyframesMetadata(QObject *parent = 0);
116 bool allowTrim()
const
120 bool allowAnimateIn()
const
122 return m_allowAnimateIn;
124 bool allowAnimateOut()
const
126 return m_allowAnimateOut;
128 QList<QString> simpleProperties()
const
130 return m_simpleProperties;
133 QQmlListProperty<QmlKeyframesParameter> parameters()
135 return QQmlListProperty<QmlKeyframesParameter>(
this, &m_parameters);
137 int parameterCount()
const
139 return m_parameters.count();
141 QmlKeyframesParameter *parameter(
int index)
const
143 return m_parameters[index];
145 void checkVersion(
const QString &version);
153 bool m_allowAnimateIn;
154 bool m_allowAnimateOut;
155 QList<QmlKeyframesParameter *> m_parameters;
156 QList<QString> m_simpleProperties;
157 QString m_minimumVersion;
163class QmlMetadata :
public QObject
167 Q_PROPERTY(PluginType type READ type WRITE setType NOTIFY changed)
168 Q_PROPERTY(QString name READ name WRITE setName NOTIFY changed)
169 Q_PROPERTY(QString mlt_service READ mlt_service WRITE set_mlt_service)
170 Q_PROPERTY(
bool needsGPU READ needsGPU WRITE setNeedsGPU NOTIFY changed)
171 Q_PROPERTY(QString qml READ qmlFileName WRITE setQmlFileName)
172 Q_PROPERTY(QString vui READ vuiFileName WRITE setVuiFileName)
173 Q_PROPERTY(QUrl qmlFilePath READ qmlFilePath )
174 Q_PROPERTY(QUrl vuiFilePath READ vuiFilePath )
175 Q_PROPERTY(
bool isAudio READ isAudio WRITE setIsAudio NOTIFY changed)
176 Q_PROPERTY(
bool isHidden READ isHidden WRITE setIsHidden NOTIFY changed)
177 Q_PROPERTY(
bool isFavorite READ isFavorite WRITE setIsFavorite NOTIFY changed)
178 Q_PROPERTY(QString gpuAlt READ gpuAlt WRITE setGpuAlt NOTIFY changed)
179 Q_PROPERTY(
bool allowMultiple READ allowMultiple WRITE setAllowMultiple)
180 Q_PROPERTY(
bool isClipOnly READ isClipOnly WRITE setIsClipOnly)
181 Q_PROPERTY(
bool isGpuCompatible READ isGpuCompatible() WRITE setIsGpuCompatible)
182 Q_PROPERTY(QmlKeyframesMetadata *keyframes READ keyframes NOTIFY changed)
183 Q_PROPERTY(
bool isDeprecated READ isDeprecated WRITE setIsDeprecated)
184 Q_PROPERTY(QString minimumVersion MEMBER m_minimumVersion NOTIFY changed)
185 Q_PROPERTY(QString keywords MEMBER m_keywords NOTIFY changed)
186 Q_PROPERTY(QUrl icon READ iconFilePath WRITE setIconFileName NOTIFY changed)
197 explicit QmlMetadata(QObject *parent = 0);
200 PluginType type()
const
204 void setType(PluginType);
209 void setName(
const QString &);
210 QString mlt_service()
const
212 return m_mlt_service;
214 void set_mlt_service(
const QString &);
215 QString uniqueId()
const;
216 bool needsGPU()
const
220 void setNeedsGPU(
bool);
221 QString qmlFileName()
const
223 return m_qmlFileName;
225 void setQmlFileName(
const QString &);
226 QString vuiFileName()
const
228 return m_vuiFileName;
230 void setVuiFileName(
const QString &);
235 void setPath(
const QDir &path);
236 QUrl qmlFilePath()
const;
237 QUrl vuiFilePath()
const;
238 QUrl iconFilePath()
const
242 void setIconFileName(
const QUrl &);
247 void setIsAudio(
bool isAudio);
248 bool isHidden()
const
252 void setIsHidden(
bool isHidden);
253 bool isFavorite()
const
257 void setIsFavorite(
bool isFavorite);
258 QString gpuAlt()
const
262 void setGpuAlt(
const QString &);
263 bool allowMultiple()
const
265 return m_allowMultiple;
267 void setAllowMultiple(
bool allowMultiple);
268 bool isClipOnly()
const
272 void setIsClipOnly(
bool isClipOnly);
273 bool isGpuCompatible()
const
275 return m_isGpuCompatible;
277 void setIsGpuCompatible(
bool isCompatible)
279 m_isGpuCompatible = isCompatible;
281 QmlKeyframesMetadata *keyframes()
285 const QmlKeyframesMetadata *keyframes()
const
289 bool isDeprecated()
const
291 return m_isDeprecated;
293 void setIsDeprecated(
bool deprecated)
295 m_isDeprecated = deprecated;
297 bool isMltVersion(
const QString &version);
298 QString keywords()
const
309 QString m_mlt_service;
311 QString m_qmlFileName;
312 QString m_vuiFileName;
318 bool m_allowMultiple;
320 bool m_isGpuCompatible;
321 QmlKeyframesMetadata m_keyframes;
323 QString m_minimumVersion;