X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fmonitormanager.h;h=625bc6bfc98197ea5d2d6b1b5dbb4e2b02129564;hb=8feb092507a7bff209dae60353bcd000bd82c969;hp=00979c49af0bd722771484d94554161690fbe25b;hpb=f697b9fd5408e77412f2ee35aa406173630890bf;p=kdenlive diff --git a/src/monitormanager.h b/src/monitormanager.h index 00979c49..625bc6bf 100644 --- a/src/monitormanager.h +++ b/src/monitormanager.h @@ -1,32 +1,82 @@ +/*************************************************************************** + * Copyright (C) 2007 by Jean-Baptiste Mardelle (jb@kdenlive.org) * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * + ***************************************************************************/ + + #ifndef MONITORMANAGER_H #define MONITORMANAGER_H #include "monitor.h" +#include "timecode.h" class Monitor; class MonitorManager : public QObject { - Q_OBJECT - - public: - MonitorManager(QWidget *parent=0); + Q_OBJECT +public: + MonitorManager(QWidget *parent = 0); void initMonitors(Monitor *clipMonitor, Monitor *projectMonitor); - void activateMonitor(QString name); + Timecode timecode(); + void resetProfiles(Timecode tc); + void stopActiveMonitor(); + +public slots: + + /** @brief Activates a monitor. + * @param name name of the monitor to activate */ + void activateMonitor(QString name = QString()); + 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(); - private: + /** @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(); + +private: Monitor *m_clipMonitor; Monitor *m_projectMonitor; QString m_activeMonitor; + Timecode m_timecode; + bool m_blocked; - private slots: - void initProjectMonitor(); - void initClipMonitor(); - - signals: - void connectMonitors(); +signals: + /** @brief Emitted when the active monitor changes */ void raiseClipMonitor(bool); + /** @brief When the monitor changed, update the visible color scopes */ + void checkColorScopes(); };