X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fdefinitions.h;h=660c3ab7538ce452ec80e67c5820b1a07881d47c;hb=d99fc865a759d1909af9031903b0b8e87be5449c;hp=56cfc369970ce38881574783127fe6ccd3f79dd5;hpb=f36e96d66cb420516c07b1e6eeeda24002140f1c;p=kdenlive diff --git a/src/definitions.h b/src/definitions.h index 56cfc369..660c3ab7 100644 --- a/src/definitions.h +++ b/src/definitions.h @@ -56,6 +56,7 @@ struct TrackInfo { TRACKTYPE type; bool isMute; bool isBlind; + bool isLocked; }; struct ItemInfo { @@ -79,7 +80,59 @@ struct MltVideoProfile { int display_aspect_den; }; -class CommentedTime { + +class EffectParameter +{ +public: + EffectParameter(const QString name, const QString value): m_name(name), m_value(value) {} + QString name() const { + return m_name; + } + QString value() const { + return m_value; + } + void setValue(const QString value) { + m_value = value; + } + +private: + QString m_name; + QString m_value; +}; + +/** Use our own list for effect parameters so that they are not sorted in any ways, because + some effects like sox need a precise order +*/ +class EffectsParameterList: public QList < EffectParameter > +{ +public: + EffectsParameterList(): QList < EffectParameter >() {} + bool hasParam(const QString name) const { + for (int i = 0; i < size(); i++) + if (at(i).name() == name) return true; + return false; + } + QString paramValue(const QString name, QString defaultValue = QString()) const { + for (int i = 0; i < size(); i++) { + if (at(i).name() == name) return at(i).value(); + } + return defaultValue; + } + void addParam(const QString &name, const QString &value) { + if (name.isEmpty()) return; + append(EffectParameter(name, value)); + } + void removeParam(const QString name) { + for (int i = 0; i < size(); i++) + if (at(i).name() == name) { + removeAt(i); + break; + } + } +}; + +class CommentedTime +{ public: CommentedTime(): t(GenTime(0)) {} CommentedTime(const GenTime time, QString comment)