]> git.sesse.net Git - kdenlive/blobdiff - src/renderer.h
Stop using 'mlt_profile' in render profiles. Instead use 's' and 'aspect'.
[kdenlive] / src / renderer.h
index b3abe536984bcc3bdae2a381789d0f2327075d11..7bd25b3fead073ffb04d92f9cfa64acd49ab274e 100644 (file)
@@ -41,7 +41,7 @@
 #include <qmap.h>
 #include <QList>
 #include <QEvent>
-
+#include <QMutex>
 
 class QTimer;
 class QPixmap;
@@ -122,7 +122,7 @@ Q_OBJECT public:
      * The speed is relative to normal playback, e.g. 1.0 is normal speed, 0.0
      * is paused, -1.0 means play backwards. It does not specify start/stop */
     void play(double speed);
-    void switchPlay();
+    void switchPlay(bool play);
     void pause();
 
     /** @brief Stops playing.
@@ -166,7 +166,11 @@ Q_OBJECT public:
 
     /** @brief Turns on or off on screen display. */
     void refreshDisplay();
-    int resetProfile(const QString profileName);
+    /** @brief Change the Mlt PROFILE
+     * @param profileName The MLT profile name
+     * @param dropSceneList If true, the current playlist will be deleted
+     * . */
+    int resetProfile(const QString profileName, bool dropSceneList = false);
     double fps() const;
 
     /** @brief Returns the width of a frame for this profile. */
@@ -202,8 +206,8 @@ Q_OBJECT public:
     bool mltRemoveClip(int track, GenTime position);
 
     /** @brief Deletes an effect from a clip in MLT's playlist. */
-    bool mltRemoveEffect(int track, GenTime position, QString index, bool updateIndex, bool doRefresh = true);
-    bool mltRemoveTrackEffect(int track, QString index, bool updateIndex);
+    bool mltRemoveEffect(int track, GenTime position, int index, bool updateIndex, bool doRefresh = true);
+    bool mltRemoveTrackEffect(int track, int index, bool updateIndex);
 
     /** @brief Adds an effect to a clip in MLT's playlist. */
     bool mltAddEffect(int track, GenTime position, EffectsParameterList params, bool doRefresh = true);
@@ -297,10 +301,13 @@ private:
     QString m_activeProfile;
 
     QTimer *m_osdTimer;
+    QMutex m_mutex;
 
     /** @brief A human-readable description of this renderer. */
     int m_winid;
 
+    QLocale m_locale;
+
     void closeMlt();
     void mltCheckLength(Mlt::Tractor *tractor);
     void mltPasteEffects(Mlt::Producer *source, Mlt::Producer *dest);
@@ -356,7 +363,10 @@ signals:
      *  @param durationError Should be set to true if the proxy failed because it has not same length as original clip
      */
     void removeInvalidProxy(const QString &id, bool durationError);
-    void refreshDocumentProducers(bool displayRatioChanged);
+    void refreshDocumentProducers(bool displayRatioChanged, bool fpsChanged);
+    
+    /** @brief If we will delete the producer, make sure to pause the monitor */
+    void blockClipMonitor(const QString);
 
     /** @brief A frame's image has to be shown.
      *