#include <klocale.h>
#include <QDomDocument>
+#include <QThread>
#include <mlt++/Mlt.h>
class EffectsList;
-class initEffects {
+class initEffectsThumbnailer : public QThread {
+ Q_OBJECT
+public:
+ initEffectsThumbnailer();
+ void prepareThumbnailsCall(const QStringList&);
+ void run();
+private :
+ QStringList m_list;
+
+};
+
+class initEffects : public QObject {
+
public:
initEffects();
~initEffects();
- static Mlt::Repository *parseEffectFiles(EffectsList *audioEffectList, EffectsList *videoEffectList, EffectsList *transitions);
+ static Mlt::Repository *parseEffectFiles();
static QDomDocument createDescriptionFromMlt(Mlt::Repository* repository, const QString& type, const QString& name);
static void fillTransitionsList(Mlt::Repository *, EffectsList* transitions, QStringList names);
- static void parseEffectFile(EffectsList *audioEffectList, EffectsList *videoEffectList, QString name, QStringList filtersList, QStringList producersList);
+ 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 char* ladspaEffectString(int ladspaId, QStringList params);
static void ladspaEffectFile(const QString & fname, int ladspaId, QStringList params);
static char* ladspaPitchShifterEffectString(QStringList params);
static char* ladspaPhaserEffectString(QStringList params);
static char* ladspaRateScalerEffectString(QStringList params);
+private:
+ static initEffectsThumbnailer thumbnailer;
};