- if (m_blocked || m_clipMonitor == NULL) return;
- if (m_activeMonitor == name) return;
- if (name == "clip") {
- m_projectMonitor->stop();
- m_clipMonitor->start();
- emit raiseClipMonitor(true);
- } else {
- m_clipMonitor->stop();
- m_projectMonitor->start();
- m_projectMonitor->raise();
- emit raiseClipMonitor(false);
- }
- m_activeMonitor = name;
-}
-
-void MonitorManager::slotSwitchMonitors()
-{
- if (m_blocked || m_clipMonitor == NULL) return;
- if (m_clipMonitor->isActive()) {
- m_clipMonitor->stop();
- m_projectMonitor->start();
- m_projectMonitor->raise();
- m_activeMonitor = m_projectMonitor->name();
- emit raiseClipMonitor(false);
- } else {
- m_projectMonitor->stop();
- m_clipMonitor->start();
- m_activeMonitor = m_clipMonitor->name();
- emit raiseClipMonitor(true);
+ if (m_blocked || m_clipMonitor == NULL || m_projectMonitor == NULL)
+ return;
+ if (m_activeMonitor && m_activeMonitor->name() == name)
+ return;
+ m_activeMonitor = NULL;
+ for (int i = 0; i < m_monitorsList.count(); i++) {
+ if (m_monitorsList.at(i)->name() == name) {
+ m_activeMonitor = m_monitorsList.at(i);
+ emit raiseMonitor(m_activeMonitor);
+ }
+ else m_monitorsList.at(i)->stop();