X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Feffectslist.h;h=2ef55f0f4bdaf82263e2c3f57a5b3eb59b82fda6;hb=c3302003093710ee247ad84c0fe2ef3c579d417f;hp=0e26b05f5abd1cd2512044dd886113d4a205f719;hpb=63da743a1c189608dcd4cdc2d174c898e8f961ce;p=kdenlive diff --git a/src/effectslist.h b/src/effectslist.h index 0e26b05f..2ef55f0f 100644 --- a/src/effectslist.h +++ b/src/effectslist.h @@ -32,6 +32,10 @@ #include +namespace Kdenlive { + enum EFFECTTYPE { simpleEffect, groupEffect }; +} + class EffectsList: public QDomDocument { public: @@ -60,19 +64,19 @@ public: QString getInfoFromIndex(const int ix) const; QString getEffectInfo(const QDomElement effect) const; void clone(const EffectsList &original); - void append(QDomElement e); + QDomElement append(QDomElement e); bool isEmpty() const; int count() const; const QDomElement at(int ix) const; void removeAt(int ix); QDomElement itemFromIndex(int ix) const; - void insert(QDomElement effect); - void updateEffect(QDomElement effect); - static bool hasKeyFrames(QDomElement effect); - static bool hasSimpleKeyFrames(QDomElement effect); - static bool hasGeometryKeyFrames(QDomElement effect); + QDomElement insert(QDomElement effect); + void updateEffect(const QDomElement &effect); + static bool hasKeyFrames(const QDomElement &effect); + static bool hasSimpleKeyFrames(const QDomElement &effect); + static bool hasGeometryKeyFrames(const QDomElement &effect); static void setParameter(QDomElement effect, const QString &name, const QString &value); - static QString parameter(QDomElement effect, const QString &name); + static QString parameter(const QDomElement &effect, const QString &name); /** @brief Change the value of a 'property' element from the effect node. */ static void setProperty(QDomElement effect, const QString &name, const QString &value); /** @brief Rename a 'property' element from the effect node. */ @@ -85,13 +89,18 @@ public: static void removeMetaProperties(QDomElement producer); void clearList(); /** @brief Get am effect with effect index equal to ix. */ - QDomElement effectFromIndex(QDomNodeList effects, int ix); + QDomElement effectFromIndex(const QDomNodeList &effects, int ix); /** @brief Update all effects indexes to make sure they are 1, 2, 3, ... */ - void updateIndexes(QDomNodeList effects); + void updateIndexes(QDomNodeList effects, int startIndex); + /** @brief Enable / disable a list of effects */ + void enableEffects(const QList &indexes, bool disable); private: QDomElement m_baseElement; bool m_useIndex; + + /** @brief Init effect default parameter values. */ + void initEffect(const QDomElement &effect) const; };