-void MonitorManager::activateMonitor(QString name) {
- 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);
+void MonitorManager::appendMonitor(AbstractMonitor *monitor)
+{
+ if (!m_monitorsList.contains(monitor)) m_monitorsList.append(monitor);
+}
+
+void MonitorManager::removeMonitor(AbstractMonitor *monitor)
+{
+ m_monitorsList.removeAll(monitor);
+}
+
+AbstractMonitor* MonitorManager::monitor(Kdenlive::MonitorId monitorName)
+{
+ AbstractMonitor *monitor = NULL;
+ for (int i = 0; i < m_monitorsList.size(); ++i) {
+ if (m_monitorsList[i]->id() == monitorName) {
+ monitor = m_monitorsList.at(i);
+ }
+ }
+ return monitor;
+}
+
+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;
+ if (m_activeMonitor && m_activeMonitor->id() == name) {
+ if (forceRefresh) m_activeMonitor->start();
+ return false;