X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fmonitormanager.h;h=8d12134023effd85d85d60ea2f3ae8e099c9053c;hb=4e8bd1d7f5b456324e8d9006e1f2702ae57c8a8b;hp=9352f4d70356c74bbba4968bf17650502b25554b;hpb=ac5f5c9f6d4bdffeb76f3f2098b80f27bc532606;p=kdenlive diff --git a/src/monitormanager.h b/src/monitormanager.h index 9352f4d7..8d121340 100644 --- a/src/monitormanager.h +++ b/src/monitormanager.h @@ -25,6 +25,7 @@ #include "recmonitor.h" #include "timecode.h" +class KdenliveDoc; class MonitorManager : public QObject { @@ -39,14 +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 */ - void activateMonitor(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(); @@ -60,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 @@ -68,21 +83,21 @@ public slots: void slotUpdateAudioMonitoring(); private slots: - void slotRefreshCurrentMonitor(); + void slotRefreshCurrentMonitor(const QString &id); private: + KdenliveDoc *m_document; Monitor *m_clipMonitor; Monitor *m_projectMonitor; Timecode m_timecode; AbstractMonitor *m_activeMonitor; - bool m_blocked; QList m_monitorsList; signals: - /** @brief Emitted when the active monitor changes */ - void raiseMonitor(AbstractMonitor *); /** @brief When the monitor changed, update the visible color scopes */ void checkColorScopes(); + /** @brief When the active monitor renderer was deleted, reset color scopes */ + void clearScopes(); };