]> git.sesse.net Git - kdenlive/blob - src/initeffects.h
Screengrab with audio now!
[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();
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 listdisplaynames = QString(), QString factor = QString(), QString namedesc = QString(), QString format = QString());
54     static void parseEffectFile(EffectsList *customEffectList, EffectsList *audioEffectList, EffectsList *videoEffectList, QString name, QStringList filtersList, QStringList producersList);
55     static void parseCustomEffectsFile();
56     static char* ladspaEffectString(int ladspaId, QStringList params);
57     static void ladspaEffectFile(const QString & fname, int ladspaId, QStringList params);
58
59     static char* ladspaPitchEffectString(QStringList params);
60     static char* ladspaReverbEffectString(QStringList params);
61     static char* ladspaRoomReverbEffectString(QStringList params);
62     static char* ladspaEqualizerEffectString(QStringList params);
63     static char* ladspaDeclipEffectString(QStringList);
64     static char* ladspaVinylEffectString(QStringList params);
65     static char* ladspaLimiterEffectString(QStringList params);
66     static char* ladspaPitchShifterEffectString(QStringList params);
67     static char* ladspaPhaserEffectString(QStringList params);
68     static char* ladspaRateScalerEffectString(QStringList params);
69 private:
70     static initEffectsThumbnailer thumbnailer;
71 };
72
73
74 #endif