]> git.sesse.net Git - kdenlive/blobdiff - src/monitormanager.h
Implement deinterlacer and rescale options for MLT consumer
[kdenlive] / src / monitormanager.h
index 7fbe52002aba3514328fda2575ee242c93f5a489..8d12134023effd85d85d60ea2f3ae8e099c9053c 100644 (file)
@@ -25,6 +25,7 @@
 #include "recmonitor.h"
 #include "timecode.h"
 
+class KdenliveDoc;
 
 class MonitorManager : public QObject
 {
@@ -39,15 +40,25 @@ public:
     void resetProfiles(Timecode tc);
     void stopActiveMonitor();
     AbstractRender *activeRenderer();
+    /** Searches for a monitor with the given name.
+       @return NULL, if no monitor could be found, or the monitor otherwise.
+    */
+    AbstractMonitor *monitor(Kdenlive::MONITORID monitorName);
     void updateScopeSource();
     void clearScopeSource();
+    /** @brief Returns current project's folder. */
+    QString getProjectFolder() const;
+    /** @brief Sets current document for later reference. */
+    void setDocument(KdenliveDoc *doc);
+    /** @brief Change an MLT consumer property for both monitors. */
+    void setConsumerProperty(const QString &name, const QString &value);
 
 public slots:
 
     /** @brief Activates a monitor.
      * @param name name of the monitor to activate */
-    bool activateMonitor(const QString &name = QString());
-    bool isActive(const QString &name) const;
+    bool activateMonitor(Kdenlive::MONITORID, bool forceRefresh = false);
+    bool isActive(Kdenlive::MONITORID id) const;
     void slotPlay();
     void slotPause();
     void slotPlayZone();
@@ -61,6 +72,9 @@ public slots:
     void slotStart();
     void slotEnd();
     void slotResetProfiles();
+    
+    /** @brief Switch current monitor to fullscreen. */
+    void slotSwitchFullscreen();
 
     /** @brief Switches between project and clip monitor.
      * @ref activateMonitor
@@ -72,6 +86,7 @@ private slots:
     void slotRefreshCurrentMonitor(const QString &id);
 
 private:
+    KdenliveDoc *m_document;
     Monitor *m_clipMonitor;
     Monitor *m_projectMonitor;
     Timecode m_timecode;