]> git.sesse.net Git - kdenlive/blobdiff - src/initeffects.h
Cleanup and add mimetype for TGA images, also add EXR, TIFF and TGA to the list of...
[kdenlive] / src / initeffects.h
index d7dc82ac1c24aee622b40ee419c347074219ad6d..f62898cd88d571d7444fea168175d64a44cb4f07 100644 (file)
 #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 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);
+class EffectsList;
+
+class initEffectsThumbnailer : public QThread {
+    Q_OBJECT
+public:
+    initEffectsThumbnailer();
+    void prepareThumbnailsCall(const QStringList&);
+    void run();
+private :
+    QStringList m_list;
+
+};
+
+class initEffects : public QObject {
+    Q_OBJECT
+public:
+    initEffects();
+    ~initEffects();
+
+    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 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);
+private:
+    static initEffectsThumbnailer thumbnailer;
 };
 
-    
+
 #endif