]> git.sesse.net Git - kdenlive/blob - src/initeffects.h
preload the preview icons for pgm/png files
[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     Q_OBJECT
35 public:
36     initEffectsThumbnailer();
37     void prepareThumbnailsCall(const QStringList&);
38     void run();
39 private :
40     QStringList m_list;
41
42 };
43
44 class initEffects : public QObject {
45
46 public:
47     initEffects();
48     ~initEffects();
49
50     static Mlt::Repository *parseEffectFiles(EffectsList *audioEffectList, EffectsList *videoEffectList, EffectsList *transitions);
51     static QDomDocument createDescriptionFromMlt(Mlt::Repository* repository, const QString& type, const QString& name);
52     static void fillTransitionsList(Mlt::Repository *, EffectsList* transitions, QStringList names);
53     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());
54     static void parseEffectFile(EffectsList *audioEffectList, EffectsList *videoEffectList, QString name, QStringList filtersList, QStringList producersList);
55     static char* ladspaEffectString(int ladspaId, QStringList params);
56     static void ladspaEffectFile(const QString & fname, int ladspaId, QStringList params);
57
58     static char* ladspaPitchEffectString(QStringList params);
59     static char* ladspaReverbEffectString(QStringList params);
60     static char* ladspaRoomReverbEffectString(QStringList params);
61     static char* ladspaEqualizerEffectString(QStringList params);
62     static char* ladspaDeclipEffectString(QStringList);
63     static char* ladspaVinylEffectString(QStringList params);
64     static char* ladspaLimiterEffectString(QStringList params);
65     static char* ladspaPitchShifterEffectString(QStringList params);
66     static char* ladspaPhaserEffectString(QStringList params);
67     static char* ladspaRateScalerEffectString(QStringList params);
68 private:
69     static initEffectsThumbnailer thumbnailer;
70 };
71
72
73 #endif