]> git.sesse.net Git - kdenlive/blobdiff - src/initeffects.h
Fix crash on clip deletion, fix issues with placeholder clips
[kdenlive] / src / initeffects.h
index 377a00e7e8735b58658b9032da5f592fac3517fd..1b19b687434d7320ef1417a72b96d0333537444e 100644 (file)
@@ -20,6 +20,7 @@
 
 #include <klocale.h>
 #include <QDomDocument>
+#include <QThread>
 #include <mlt++/Mlt.h>
 
 
 
 class EffectsList;
 
-class initEffects {
+class initEffectsThumbnailer : public QThread
+{
+    Q_OBJECT
 public:
-    initEffects();
-    ~initEffects();
+    initEffectsThumbnailer();
+    void prepareThumbnailsCall(const QStringList&);
+    void run();
+private :
+    QStringList m_list;
 
-    static Mlt::Repository *parseEffectFiles(EffectsList *audioEffectList, EffectsList *videoEffectList, EffectsList *transitions);
+};
+
+class initEffects
+{
+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 factor = QString(), QString namedesc = QString(), QString format = QString());
-    static void parseEffectFile(EffectsList *audioEffectList, EffectsList *videoEffectList, QString name, QStringList filtersList, QStringList producersList);
-    static char* ladspaEffectString(int ladspaId, QStringList params);
+    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 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);
+    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;
 };