]> git.sesse.net Git - kdenlive/blob - src/initeffects.h
128c6e1afa06ab6dccbb4b437bf5875c4bd1bf7c
[kdenlive] / src / initeffects.h
1 /***************************************************************************
2                           initeffects.h  -  description
3                              -------------------
4     begin                :  Jul 2006
5     copyright            : (C) 2006 by Jean-Baptiste Mardelle
6     email                : jb@ader.ch
7  ***************************************************************************/
8
9 /***************************************************************************
10  *                                                                         *
11  *   This program is free software; you can redistribute it and/or modify  *
12  *   it under the terms of the GNU General Public License as published by  *
13  *   the Free Software Foundation; either version 2 of the License, or     *
14  *   (at your option) any later version.                                   *
15  *                                                                         *
16  ***************************************************************************/
17
18 #ifndef InitEffects_H
19 #define InitEffects_H
20
21 #include <klocale.h>
22 #include <QDomDocument>
23 #include <QThread>
24 #include <mlt++/Mlt.h>
25
26
27 /**Init the MLT effects
28   *@author Jean-Baptiste Mardelle
29   */
30
31 class EffectsList;
32
33 class initEffectsThumbnailer : public QThread
34 {
35     Q_OBJECT
36 public:
37     initEffectsThumbnailer();
38     void prepareThumbnailsCall(const QStringList&);
39     void run();
40 private :
41     QStringList m_list;
42
43 };
44
45 class initEffects
46 {
47 public:
48     static Mlt::Repository *parseEffectFiles();
49     static void refreshLumas();
50     static QDomDocument createDescriptionFromMlt(Mlt::Repository* repository, const QString& type, const QString& name);
51     static void fillTransitionsList(Mlt::Repository *, EffectsList* transitions, QStringList names);
52     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(), QString opacity = QString());
53     static void parseEffectFile(EffectsList *customEffectList, EffectsList *audioEffectList, EffectsList *videoEffectList, QString name, QStringList filtersList, QStringList producersList);
54     static void parseCustomEffectsFile();
55     static const char* ladspaEffectString(int ladspaId, QStringList params);
56     static void ladspaEffectFile(const QString & fname, int ladspaId, QStringList params);
57
58     static const char* ladspaPitchEffectString(QStringList params);
59     static const char* ladspaReverbEffectString(QStringList params);
60     static const char* ladspaRoomReverbEffectString(QStringList params);
61     static const char* ladspaEqualizerEffectString(QStringList params);
62     static const char* ladspaDeclipEffectString(QStringList);
63     static const char* ladspaVinylEffectString(QStringList params);
64     static const char* ladspaLimiterEffectString(QStringList params);
65     static const char* ladspaPitchShifterEffectString(QStringList params);
66     static const char* ladspaPhaserEffectString(QStringList params);
67     static const char* ladspaRateScalerEffectString(QStringList params);
68
69 private:
70     initEffects(); // disable the constructor
71     static initEffectsThumbnailer thumbnailer;
72 };
73
74
75 #endif