X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fmonitormanager.h;h=7fbe52002aba3514328fda2575ee242c93f5a489;hb=7d708fd156c646b36c91cffaed60e5cf777f95d9;hp=972dfdb9eaaf4843960d9b1550f792c190728c1e;hpb=14f569ce3fd9ef0783e7355de459984c9a977163;p=kdenlive diff --git a/src/monitormanager.h b/src/monitormanager.h index 972dfdb9..7fbe5200 100644 --- a/src/monitormanager.h +++ b/src/monitormanager.h @@ -22,40 +22,67 @@ #define MONITORMANAGER_H #include "monitor.h" +#include "recmonitor.h" #include "timecode.h" -class Monitor; -class MonitorManager : public QObject { +class MonitorManager : public QObject +{ Q_OBJECT 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 setTimecode(Timecode tc); - void resetProfiles(QString prof); - void switchMonitors(); - bool projectMonitorFocused(); + void resetProfiles(Timecode tc); + void stopActiveMonitor(); + AbstractRender *activeRenderer(); + void updateScopeSource(); + void clearScopeSource(); public slots: - void activateMonitor(QString name = QString::null); + + /** @brief Activates a monitor. + * @param name name of the monitor to activate */ + 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); void slotForward(double speed = 0); void slotRewindOneFrame(); void slotForwardOneFrame(); + void slotRewindOneSecond(); + void slotForwardOneSecond(); void slotStart(); void slotEnd(); + void slotResetProfiles(); + + /** @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; + 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(); };