X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Finiteffects.h;h=d87c5abcf9e0bbd41664e990a453e76874829124;hb=16e43620d9ff9e432ea91ded529f1e365d03fd52;hp=166336ddbc2d46b5a44718d2b105cfcb7da46eb6;hpb=826f7539d163276fb0e4bc200aedf81547ce1c52;p=kdenlive diff --git a/src/initeffects.h b/src/initeffects.h index 166336dd..d87c5abc 100644 --- a/src/initeffects.h +++ b/src/initeffects.h @@ -30,7 +30,8 @@ class EffectsList; -class initEffectsThumbnailer : public QThread { +class initEffectsThumbnailer : public QThread +{ Q_OBJECT public: initEffectsThumbnailer(); @@ -41,18 +42,67 @@ private : }; -class initEffects : public QObject { - Q_OBJECT +class initEffects +{ public: - initEffects(); - ~initEffects(); + /** @brief Fills the effects and transitions lists. + * @ref fillTransitionsList + * @ref parseEffectFile + * @return pointer to the MLT repository + * + * It checks for all available effects and transitions, removes blacklisted + * ones, calls fillTransitionsList() and parseEffectFile() to fill the lists + * (with sorted, unique items) and then fills the global lists. */ static Mlt::Repository *parseEffectFiles(); static void refreshLumas(); static QDomDocument createDescriptionFromMlt(Mlt::Repository* repository, const QString& type, const QString& name); - static void fillTransitionsList(Mlt::Repository *, EffectsList* transitions, QStringList names); - static QDomElement quickParameterFill(QDomDocument & doc, QString name, QString tag, QString type, QString def = QString(), QString min = QString(), QString max = QString(), QString list = QString(), QString listdisplaynames = QString(), QString factor = QString(), QString namedesc = QString(), QString format = QString()); - static void parseEffectFile(EffectsList *customEffectList, EffectsList *audioEffectList, EffectsList *videoEffectList, QString name, QStringList filtersList, QStringList producersList); + static QDomDocument getUsedCustomEffects(QMap effectids); + + /** @brief Fills the transitions list. + * @param repository MLT repository + * @param transitions list to save the transitions data in + * @param names list of transitions names + * + * It creates an element for each transition, asking to MLT for information + * when possible, using default parameters otherwise. It also adds some + * "virtual" transition, and removes those not implemented. */ + static void fillTransitionsList(Mlt::Repository *repository, + EffectsList *transitions, + QStringList names); + + /** @brief Creates an element describing a transition parameter. + * @param doc document containing the transition element + * @param name parameter name + * @param tag parameter tag + * @param type parameter type (string, double, bool, etc.) + * @return element with the parameter information */ + static QDomElement quickParameterFill(QDomDocument & doc, QString name, + QString tag, QString type, + QString def = QString(), + QString min = QString(), + QString max = QString(), + QString list = QString(), + QString listdisplaynames = QString(), + QString factor = QString(), + QString namedesc = QString(), + QString format = QString(), + QString opacity = QString()); + + /** @brief Parses a file to record information about one or more effects. + * @param customEffectList list of custom effect + * @param audioEffectList list of audio effects + * @param videoEffectList list of video effects + * @param name file name + * @param filtersList list of filters in the MLT repository + * @param producersList list of producers in the MLT repository */ + static void parseEffectFile(EffectsList *customEffectList, + EffectsList *audioEffectList, + EffectsList *videoEffectList, + QString name, QStringList filtersList, + QStringList producersList); + + /** @brief Reloads information about custom effects. */ static void parseCustomEffectsFile(); static const char* ladspaEffectString(int ladspaId, QStringList params); static void ladspaEffectFile(const QString & fname, int ladspaId, QStringList params); @@ -67,7 +117,10 @@ public: static const char* ladspaPitchShifterEffectString(QStringList params); static const char* ladspaPhaserEffectString(QStringList params); static const char* ladspaRateScalerEffectString(QStringList params); + static const char* ladspaEqualizer15EffectString(QStringList params); + private: + initEffects(); // disable the constructor static initEffectsThumbnailer thumbnailer; };