X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Finiteffects.h;h=57cc82547c33f29dd53dd5f52ed1a6232bd2f518;hb=d679fbf19a2511b181570418dc7fa7c815728bcb;hp=1b19b687434d7320ef1417a72b96d0333537444e;hpb=00594083c6861f5da707b3371de5056ce27fb74c;p=kdenlive diff --git a/src/initeffects.h b/src/initeffects.h index 1b19b687..57cc8254 100644 --- a/src/initeffects.h +++ b/src/initeffects.h @@ -45,26 +45,69 @@ private : class initEffects { public: - static Mlt::Repository *parseEffectFiles(); + + /** @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 void parseEffectFiles(const QString &locale = QString()); 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(const 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, + const QString &name, + const QString &tag, + const QString &type, + const QString &def = QString(), + const QString &min = QString(), + const QString &max = QString(), + const QString &list = QString(), + const QString &listdisplaynames = QString(), + const QString &factor = QString(), + const QString &namedesc = QString(), + const QString &format = QString(), + const 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 + * @param repository MLT repository */ + static void parseEffectFile(EffectsList *customEffectList, + EffectsList *audioEffectList, + EffectsList *videoEffectList, + const QString &name, QStringList filtersList, + QStringList producersList, + Mlt::Repository *repository); + + /** @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); - - static const char* ladspaPitchEffectString(QStringList params); - static const char* ladspaReverbEffectString(QStringList params); - static const char* ladspaRoomReverbEffectString(QStringList params); - static const char* ladspaEqualizerEffectString(QStringList params); - static const char* ladspaDeclipEffectString(QStringList); - static const char* ladspaVinylEffectString(QStringList params); - static const char* ladspaLimiterEffectString(QStringList params); - static const char* ladspaPitchShifterEffectString(QStringList params); - static const char* ladspaPhaserEffectString(QStringList params); - static const char* ladspaRateScalerEffectString(QStringList params); private: initEffects(); // disable the constructor