#define InitEffects_H
#include <klocale.h>
-
+#include <QDomDocument>
+#include <QThread>
#include <mlt++/Mlt.h>
-#include "kdenlivesettings.h"
-#include "effectslist.h"
/**Init the MLT effects
*@author Jean-Baptiste Mardelle
*/
+class EffectsList;
+
+class initEffectsThumbnailer : public QThread
+{
+ Q_OBJECT
+public:
+ initEffectsThumbnailer();
+ void prepareThumbnailsCall(const QStringList&);
+ void run();
+private :
+ QStringList m_list;
+
+};
+
class initEffects
{
- public:
- initEffects();
- ~initEffects();
-
- static Mlt::Repository *parseEffectFiles(EffectsList *audioEffectList, EffectsList *videoEffectList);
- static QDomDocument createDescriptionFromMlt(Mlt::Repository* repository,const QString& type, const QString& name);
- static void parseEffectFile(EffectsList *audioEffectList, EffectsList *videoEffectList, QString name, QStringList filtersList, QStringList producersList);
- static char* ladspaEffectString(int ladspaId, QStringList params);
- static void ladspaEffectFile(const QString & fname, int ladspaId, QStringList params);
-
- static char* ladspaPitchEffectString(QStringList params);
- static char* ladspaReverbEffectString(QStringList params);
- static char* ladspaRoomReverbEffectString(QStringList params);
- static char* ladspaEqualizerEffectString(QStringList params);
- static char* ladspaDeclipEffectString(QStringList);
- static char* ladspaVinylEffectString(QStringList params);
- static char* ladspaLimiterEffectString(QStringList params);
- static char* ladspaPitchShifterEffectString(QStringList params);
- static char* ladspaPhaserEffectString(QStringList params);
- static char* ladspaRateScalerEffectString(QStringList params);
+public:
+ 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 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
+ static initEffectsThumbnailer thumbnailer;
};
-
+
#endif