X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmonitormanager.h;h=880b6d1279a924390725468115922258b7a12e46;hb=b4a0ec0fffc1cbbf21d2ea9fc418885e3b34bce8;hp=bddda6b20d16ccb07fecc58d66bc2c263f923df5;hpb=45a4a9543b182b7e91166cb14f97054d144d267a;p=kdenlive diff --git a/src/monitormanager.h b/src/monitormanager.h index bddda6b2..880b6d12 100644 --- a/src/monitormanager.h +++ b/src/monitormanager.h @@ -22,9 +22,9 @@ #define MONITORMANAGER_H #include "monitor.h" +#include "recmonitor.h" #include "timecode.h" -class Monitor; class MonitorManager : public QObject { @@ -32,14 +32,28 @@ class MonitorManager : public QObject public: MonitorManager(QWidget *parent = 0); - void initMonitors(Monitor *clipMonitor, Monitor *projectMonitor); + void initMonitors(Monitor *clipMonitor, Monitor *projectMonitor, RecMonitor *recMonitor); + void appendMonitor(AbstractMonitor *monitor); + void removeMonitor(AbstractMonitor *monitor); Timecode timecode(); 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(); public slots: - void activateMonitor(QString name = QString()); + + /** @brief Activates a monitor. + * @param name name of the monitor to activate */ + bool activateMonitor(Kdenlive::MONITORID); + bool isActive(Kdenlive::MONITORID id) const; void slotPlay(); + void slotPause(); void slotPlayZone(); void slotLoopZone(); void slotRewind(double speed = 0); @@ -51,18 +65,31 @@ public slots: void slotStart(); void slotEnd(); void slotResetProfiles(); - void slotBlockMonitors(); - void slotSwitchMonitors(); + + /** @brief Switch current monitor to fullscreen. */ + void slotSwitchFullscreen(); + + /** @brief Switches between project and clip monitor. + * @ref activateMonitor + * @param activateClip whether to activate the clip monitor */ + void slotSwitchMonitors(bool activateClip); + void slotUpdateAudioMonitoring(); + +private slots: + void slotRefreshCurrentMonitor(const QString &id); private: Monitor *m_clipMonitor; Monitor *m_projectMonitor; - QString m_activeMonitor; Timecode m_timecode; - bool m_blocked; + AbstractMonitor *m_activeMonitor; + QList m_monitorsList; signals: - void raiseClipMonitor(bool); + /** @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(); };