]> git.sesse.net Git - kdenlive/blobdiff - src/renderer.h
* New config option for preview: disable B Frame decoding on h.264:
[kdenlive] / src / renderer.h
index 1d7418269c1236526026da5c592b5da672487252..3940b943ef4b7df6f2b14f783d098e43ad751563 100644 (file)
@@ -150,20 +150,20 @@ Q_OBJECT public:
     void mltInsertClip(ItemInfo info, QDomElement element, Mlt::Producer *prod);
     void mltUpdateClip(ItemInfo info, QDomElement element, Mlt::Producer *prod);
     void mltCutClip(int track, GenTime position);
-    void mltInsertSpace(const GenTime pos, int track, const GenTime duration);
-    int mltGetSpaceLength(const GenTime pos, int track);
+    void mltInsertSpace(QMap <int, int> trackClipStartList, QMap <int, int> trackTransitionStartList, int track, const GenTime duration, const GenTime timeOffset);
+    int mltGetSpaceLength(const GenTime pos, int track, bool fromBlankStart);
     bool mltResizeClipEnd(ItemInfo info, GenTime clipDuration);
     bool mltResizeClipStart(ItemInfo info, GenTime diff);
     bool mltMoveClip(int startTrack, int endTrack, GenTime pos, GenTime moveStart, Mlt::Producer *prod);
     bool mltMoveClip(int startTrack, int endTrack, int pos, int moveStart, Mlt::Producer *prod);
     bool mltRemoveClip(int track, GenTime position);
     bool mltRemoveEffect(int track, GenTime position, QString index, bool doRefresh = true);
-    bool mltAddEffect(int track, GenTime position, QHash <QString, QString> args, bool doRefresh = true);
-    bool mltEditEffect(int track, GenTime position, QHash <QString, QString> args);
+    bool mltAddEffect(int track, GenTime position, EffectsParameterList params, bool doRefresh = true);
+    bool mltEditEffect(int track, GenTime position, EffectsParameterList params);
     void mltMoveEffect(int track, GenTime position, int oldPos, int newPos);
     void mltChangeTrackState(int track, bool mute, bool blind);
-    void mltMoveTransition(QString type, int startTrack,  int newTrack, int newTransitionTrack, GenTime oldIn, GenTime oldOut, GenTime newIn, GenTime newOut);
-    void mltAddTransition(QString tag, int a_track, int b_track, GenTime in, GenTime out, QDomElement xml, bool refresh = true);
+    bool mltMoveTransition(QString type, int startTrack,  int newTrack, int newTransitionTrack, GenTime oldIn, GenTime oldOut, GenTime newIn, GenTime newOut);
+    bool mltAddTransition(QString tag, int a_track, int b_track, GenTime in, GenTime out, QDomElement xml, bool refresh = true);
     void mltDeleteTransition(QString tag, int a_track, int b_track, GenTime in, GenTime out, QDomElement xml, bool refresh = true);
     void mltUpdateTransition(QString oldTag, QString tag, int a_track, int b_track, GenTime in, GenTime out, QDomElement xml);
     void mltUpdateTransitionParams(QString type, int a_track, int b_track, GenTime in, GenTime out, QDomElement xml);
@@ -171,7 +171,7 @@ Q_OBJECT public:
     void mltMoveTransparency(int startTime, int endTime, int startTrack, int endTrack, int id);
     void mltDeleteTransparency(int pos, int track, int id);
     void mltResizeTransparency(int oldStart, int newStart, int newEnd, int track, int id);
-    void mltInsertTrack(int ix);
+    void mltInsertTrack(int ix, bool videoTrack);
     void mltDeleteTrack(int ix);
     void mltUpdateClipProducer(int track, int pos, Mlt::Producer *prod);
 
@@ -183,6 +183,7 @@ Q_OBJECT public:
     int mltChangeClipSpeed(ItemInfo info, double speed, double oldspeed, Mlt::Producer *prod);
 
     QList <Mlt::Producer *> producersList();
+    void updatePreviewSettings();
 
 private:   // Private attributes & methods
     /** The name of this renderer - useful to identify the renderes by what they do - e.g. background rendering, workspace monitor, etc... */
@@ -206,6 +207,7 @@ private:   // Private attributes & methods
     Mlt::Producer *m_blackClip;
     /** Holds the path to on screen display profile */
     QString m_osdProfile;
+    QString m_activeProfile;
 
     QTimer *refreshTimer;
     QTimer *osdTimer;
@@ -217,7 +219,7 @@ private:   // Private attributes & methods
 
     /** Sets the description of this renderer to desc. */
     void closeMlt();
-    void mltCheckLength(bool reload = true);
+    void mltCheckLength();
     QMap<QString, QString> mltGetTransitionParamsFromXml(QDomElement xml);
     QMap<QString, Mlt::Producer *> m_slowmotionProducers;
     void buildConsumer();