]> git.sesse.net Git - kdenlive/blobdiff - src/renderer.h
Fix moving transition sometimes losing properties: http://kdenlive.org/mantis/view...
[kdenlive] / src / renderer.h
index 28e317c6981dad5382b76b115c1601814ec64fa0..26add5a8810d6d5fdfc062cc4fc7d0b24eb130fa 100644 (file)
@@ -55,6 +55,7 @@ namespace Mlt
 {
 class Consumer;
 class Playlist;
+class Properties;
 class Tractor;
 class Transition;
 class Frame;
@@ -294,6 +295,8 @@ Q_OBJECT public:
     const QList <Mlt::Producer *> producersList();
     void updatePreviewSettings();
     void setDropFrames(bool show);
+    /** @brief Sets an MLT consumer property. */
+    void setConsumerProperty(const QString &name, const QString &value);
     QString updateSceneListFps(double current_fps, double new_fps, QString scene);
 
     void showAudio(Mlt::Frame&);
@@ -335,6 +338,11 @@ Q_OBJECT public:
     int getCurrentSeekPosition() const;
     /** @brief Create a producer from url and load it in the monitor  */
     void loadUrl(const QString &url);
+    /** @brief Check if the installed FFmpeg / Libav supports x11grab */
+    static bool checkX11Grab();
+    
+    /** @brief Ask to set this monitor as active */
+    void setActiveMonitor();
     
     QSemaphore showFrameSemaphore;
     bool externalConsumer;
@@ -383,6 +391,8 @@ private:
     QFuture <void> m_infoThread;
     QList <requestClipInfo> m_requestList;
     bool m_paused;
+    /** @brief True if this monitor is active. */
+    bool m_isActive;
 
     void closeMlt();
     void mltCheckLength(Mlt::Tractor *tractor);
@@ -405,6 +415,8 @@ private:
     void fixAudioMixing(Mlt::Tractor tractor);
     /** @brief Make sure we inform MLT if we need a lot of threads for avformat producer */
     void checkMaxThreads();
+    /** @brief Clone serialisable properties only */
+    void cloneProperties(Mlt::Properties &dest, Mlt::Properties &source);
 
 private slots:
 
@@ -462,6 +474,8 @@ signals:
     void showAudioSignal(const QVector<double> &);
     void addClip(const KUrl &, stringMap);
     void checkSeeking();
+    /** @brief Activate current monitor. */
+    void activateMonitor(Kdenlive::MONITORID);
     void mltFrameReceived(Mlt::Frame *);
 
 public slots: