]> git.sesse.net Git - kdenlive/blobdiff - src/renderer.h
Fix Blackmagic Decklink output, cleanup pause / play stuff in all configs (SDL /...
[kdenlive] / src / renderer.h
index 201e353bb6550663da81b07ece4580f9853266d4..835b3c204c5d3f480c4a696541804e1dbc7529f2 100644 (file)
@@ -159,6 +159,9 @@ Q_OBJECT public:
     /** @brief Save a clip in timeline to an xml playlist. */
     bool saveClip(int track, GenTime position, KUrl url, QString desc = QString());
 
+    /** @brief Return true if we are currently playing */
+    bool isPlaying() const;
+
     /** @brief Returns the speed at which the renderer is currently playing.
      *
      * It returns 0.0 when the renderer is not playing anything. */
@@ -170,7 +173,7 @@ Q_OBJECT public:
 
     void emitFrameUpdated(Mlt::Frame&);
     void emitFrameNumber();
-    void emitConsumerStopped();
+    void emitConsumerStopped(bool forcePause = false);
 
     /** @brief Returns the aspect ratio of the consumer. */
     double consumerRatio() const;
@@ -199,6 +202,10 @@ Q_OBJECT public:
     double dar() const;
     /** @brief Returns sample aspect ratio. */
     double sar() const;
+    /** @brief If monitor is active, refresh it. */
+    void refreshIfActive();
+    /** @brief Start the MLT monitor consumer. */
+    void startConsumer();
 
     /*
      * Playlist manipulation.
@@ -316,8 +323,8 @@ Q_OBJECT public:
     void unlockService(Mlt::Tractor *tractor);
     const QString activeClipId();
     /** @brief Fill a combobox with the found blackmagic devices */
-    static bool getBlackMagicDeviceList(KComboBox *devicelist);
-    static bool getBlackMagicOutputDeviceList(KComboBox *devicelist);
+    static bool getBlackMagicDeviceList(KComboBox *devicelist, bool force = false);
+    static bool getBlackMagicOutputDeviceList(KComboBox *devicelist, bool force = false);
     /** @brief Frame rendering is handeled by Kdenlive, don't show video through SDL display */
     void disablePreview(bool disable);
     int requestedSeekPosition;
@@ -344,7 +351,6 @@ private:
     bool m_isZoneMode;
     bool m_isLoopMode;
     GenTime m_loopStart;
-    int m_originalOut;
 
     /** @brief True when the monitor is in split view. */
     bool m_isSplitView;
@@ -363,6 +369,7 @@ private:
     QLocale m_locale;
     QFuture <void> m_infoThread;
     QList <requestClipInfo> m_requestList;
+    bool m_paused;
 
     void closeMlt();
     void mltCheckLength(Mlt::Tractor *tractor);
@@ -396,6 +403,8 @@ private slots:
     /** @brief A clip with multiple video streams was found, ask what to do. */
     void slotMultiStreamProducerFound(const QString path, QList<int> audio_list, QList<int> video_list, stringMap data);
 
+    void slotCheckSeeking();
+
 signals:
 
     /** @brief The renderer received a reply to a getFileProperties request. */
@@ -439,6 +448,7 @@ signals:
     void showImageSignal(QImage);
     void showAudioSignal(const QByteArray &);
     void addClip(const KUrl &, stringMap);
+    void checkSeeking();
 
 public slots: