]> git.sesse.net Git - kdenlive/blobdiff - src/monitor.cpp
cleanup
[kdenlive] / src / monitor.cpp
index 4cf150df7ac76e303fc5b3e396d39c669bb67c82..b22c2cacaaf7ebdf47a8bb4d10c8ac1581e5d699 100644 (file)
@@ -712,9 +712,6 @@ void Monitor::rendererStopped(int pos)
         checkOverlay();
         m_timePos->setValue(pos);
     }
-    disconnect(m_playAction, SIGNAL(triggered()), this, SLOT(slotPlay()));
-    //m_playAction->setChecked(false);
-    connect(m_playAction, SIGNAL(triggered()), this, SLOT(slotPlay()));
     m_playAction->setIcon(m_playIcon);
 }
 
@@ -736,7 +733,7 @@ void Monitor::stop()
 
 void Monitor::start()
 {
-    if (render) render->start();
+    if (render && (m_name != "clip" || m_currentClip != NULL)) render->start();
     connect(render, SIGNAL(rendererPosition(int)), this, SLOT(seekCursor(int)));
 }
 
@@ -769,11 +766,9 @@ void Monitor::slotPlay()
     if (render == NULL) return;
     activateMonitor();
     if (render->playSpeed() == 0) {
-        //m_playAction->setChecked(true);
         m_playAction->setIcon(m_pauseIcon);
         render->switchPlay(true);
     } else {
-        //m_playAction->setChecked(false);
         m_playAction->setIcon(m_playIcon);
         render->switchPlay(false);
     }
@@ -818,15 +813,18 @@ void Monitor::slotSetXml(DocClipBase *clip, QPoint zone, const int position)
         render->setProducer(NULL, -1);
         return;
     }
-    if (m_currentClip != NULL || clip != NULL) activateMonitor();
     if (clip != m_currentClip) {
         m_currentClip = clip;
+        if (m_currentClip) activateMonitor();
         updateMarkers(clip);
-        if (render->setProducer(clip->producer(), position) == -1) {
+        if (render->setProducer(clip->getProducer(), position) == -1) {
             // MLT CONSUMER is broken
             kDebug(QtWarningMsg) << "ERROR, Cannot start monitor";
         }
-    } else if (position != -1) render->seek(position);
+    } else {
+        if (m_currentClip) activateMonitor();
+        if (position != -1) render->seek(position);
+    }
     if (!zone.isNull()) {
         m_ruler->setZone(zone.x(), zone.y());
         render->seek(zone.x());
@@ -850,12 +848,12 @@ void Monitor::slotOpenFile(const QString &file)
 void Monitor::slotSaveZone()
 {
     if (render == NULL) return;
-    emit saveZone(render, m_ruler->zone());
+    emit saveZone(render, m_ruler->zone(), m_currentClip);
 
     //render->setSceneList(doc, 0);
 }
 
-void Monitor::resetProfile(const QString profile)
+void Monitor::resetProfile(const QString &profile)
 {
     m_timePos->updateTimeCode(m_monitorManager->timecode());
     if (render == NULL) return;
@@ -1041,9 +1039,10 @@ void MonitorRefresh::setRenderer(Render* render)
     m_renderer = render;
 }
 
-void MonitorRefresh::paintEvent(QPaintEvent *event)
+
+void MonitorRefresh::resizeEvent(QResizeEvent *event)
 {
-    Q_UNUSED(event)
+    Q_UNUSED(event);
     if (m_renderer) m_renderer->doRefresh();
 }