X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fmonitormanager.h;h=eb58634486ba0fa957173f7242ae62a170dcca49;hb=1aac796b291b5e0061f94665f79d734e559f2189;hp=ae2bd95fb8dcae74f7bd4b10e23e9487253efceb;hpb=0ba0dd5673a94feb8341fe64afd9e0f7c57a31f0;p=kdenlive diff --git a/src/monitormanager.h b/src/monitormanager.h index ae2bd95f..eb586344 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,17 +32,24 @@ 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(); + void updateScopeSource(); + void clearScopeSource(); public slots: /** @brief Activates a monitor. * @param name name of the monitor to activate */ - void activateMonitor(QString name = QString()); + bool activateMonitor(const QString &name = QString()); + bool isActive(const QString &name) const; void slotPlay(); + void slotPause(); void slotPlayZone(); void slotLoopZone(); void slotRewind(double speed = 0); @@ -59,6 +66,7 @@ public slots: * @ref activateMonitor * @param activateClip whether to activate the clip monitor */ void slotSwitchMonitors(bool activateClip); + void slotUpdateAudioMonitoring(); private slots: void slotRefreshCurrentMonitor(); @@ -66,15 +74,15 @@ private slots: private: Monitor *m_clipMonitor; Monitor *m_projectMonitor; - QString m_activeMonitor; Timecode m_timecode; - bool m_blocked; + AbstractMonitor *m_activeMonitor; + QList m_monitorsList; signals: - /** @brief Emitted when the active monitor changes */ - 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(); };