X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fmonitormanager.cpp;h=b05b1da42791e15db987f4adca00546ee0e7613d;hb=56aee6aedeeed3efd10ada8fe3c229eddc01ef05;hp=8a065bf09ed415c29cbadb90d51942c55da3eab5;hpb=d2c65ec06ade4d3cb26e649989a5b5a164637e59;p=kdenlive diff --git a/src/monitormanager.cpp b/src/monitormanager.cpp index 8a065bf0..b05b1da4 100644 --- a/src/monitormanager.cpp +++ b/src/monitormanager.cpp @@ -39,7 +39,7 @@ MonitorManager::MonitorManager(QWidget *parent) : { } -Timecode MonitorManager::timecode() +Timecode MonitorManager::timecode() const { return m_timecode; } @@ -53,6 +53,9 @@ void MonitorManager::initMonitors(Monitor *clipMonitor, Monitor *projectMonitor, { m_clipMonitor = clipMonitor; m_projectMonitor = projectMonitor; + + connect(m_clipMonitor->render, SIGNAL(activateMonitor(Kdenlive::MonitorId)), this, SLOT(activateMonitor(Kdenlive::MonitorId))); + connect(m_projectMonitor->render, SIGNAL(activateMonitor(Kdenlive::MonitorId)), this, SLOT(activateMonitor(Kdenlive::MonitorId))); m_monitorsList.append(clipMonitor); m_monitorsList.append(projectMonitor); @@ -70,18 +73,24 @@ void MonitorManager::removeMonitor(AbstractMonitor *monitor) m_monitorsList.removeAll(monitor); } -AbstractMonitor* MonitorManager::monitor(Kdenlive::MONITORID monitorName) +AbstractMonitor* MonitorManager::monitor(Kdenlive::MonitorId monitorName) { AbstractMonitor *monitor = NULL; - for (int i = 0; i < m_monitorsList.size(); i++) { + for (int i = 0; i < m_monitorsList.size(); ++i) { if (m_monitorsList[i]->id() == monitorName) { - monitor = m_monitorsList[i]; + monitor = m_monitorsList.at(i); } } return monitor; } -bool MonitorManager::activateMonitor(Kdenlive::MONITORID name, bool forceRefresh) +void MonitorManager::setConsumerProperty(const QString &name, const QString &value) +{ + if (m_clipMonitor) m_clipMonitor->render->setConsumerProperty(name, value); + if (m_projectMonitor) m_projectMonitor->render->setConsumerProperty(name, value); +} + +bool MonitorManager::activateMonitor(Kdenlive::MonitorId name, bool forceRefresh) { if (m_clipMonitor == NULL || m_projectMonitor == NULL) return false; @@ -90,7 +99,7 @@ bool MonitorManager::activateMonitor(Kdenlive::MONITORID name, bool forceRefresh return false; } m_activeMonitor = NULL; - for (int i = 0; i < m_monitorsList.count(); i++) { + for (int i = 0; i < m_monitorsList.count(); ++i) { if (m_monitorsList.at(i)->id() == name) { m_activeMonitor = m_monitorsList.at(i); } @@ -99,14 +108,15 @@ bool MonitorManager::activateMonitor(Kdenlive::MONITORID name, bool forceRefresh if (m_activeMonitor) { m_activeMonitor->blockSignals(true); m_activeMonitor->parentWidget()->raise(); + m_activeMonitor->blockSignals(false); m_activeMonitor->start(); - m_activeMonitor->blockSignals(false); + } emit checkColorScopes(); return (m_activeMonitor != NULL); } -bool MonitorManager::isActive(Kdenlive::MONITORID id) const +bool MonitorManager::isActive(Kdenlive::MonitorId id) const { return m_activeMonitor ? m_activeMonitor->id() == id: false; } @@ -114,9 +124,9 @@ bool MonitorManager::isActive(Kdenlive::MONITORID id) const void MonitorManager::slotSwitchMonitors(bool activateClip) { if (activateClip) - activateMonitor(Kdenlive::clipMonitor); + activateMonitor(Kdenlive::ClipMonitor); else - activateMonitor(Kdenlive::projectMonitor); + activateMonitor(Kdenlive::ProjectMonitor); } void MonitorManager::stopActiveMonitor() @@ -195,7 +205,7 @@ void MonitorManager::slotEnd() else if (m_activeMonitor == m_projectMonitor) m_projectMonitor->slotEnd(); } -void MonitorManager::resetProfiles(Timecode tc) +void MonitorManager::resetProfiles(const Timecode &tc) { m_timecode = tc; slotResetProfiles(); @@ -208,10 +218,10 @@ void MonitorManager::slotResetProfiles() return; } blockSignals(true); - Kdenlive::MONITORID active = m_activeMonitor ? m_activeMonitor->id() : Kdenlive::noMonitor; + Kdenlive::MonitorId active = m_activeMonitor ? m_activeMonitor->id() : Kdenlive::NoMonitor; m_clipMonitor->resetProfile(KdenliveSettings::current_profile()); m_projectMonitor->resetProfile(KdenliveSettings::current_profile()); - if (active != Kdenlive::noMonitor) activateMonitor(active); + if (active != Kdenlive::NoMonitor) activateMonitor(active); blockSignals(false); if (m_activeMonitor) m_activeMonitor->parentWidget()->raise(); emit checkColorScopes(); @@ -234,7 +244,7 @@ void MonitorManager::slotUpdateAudioMonitoring() if (m_projectMonitor) { m_projectMonitor->render->analyseAudio = KdenliveSettings::monitor_audio(); }*/ - for (int i = 0; i < m_monitorsList.count(); i++) { + for (int i = 0; i < m_monitorsList.count(); ++i) { if (m_monitorsList.at(i)->abstractRender()) m_monitorsList.at(i)->abstractRender()->analyseAudio = KdenliveSettings::monitor_audio(); } }