]> git.sesse.net Git - kdenlive/blobdiff - src/monitor.cpp
Make sure to refresh monitor zone when subclip was selected:
[kdenlive] / src / monitor.cpp
index a35ff711ed9149f958b92fa51d3f1c8f16c29123..fdaf02dc51e7e011b62f77414df581945434d3f6 100644 (file)
@@ -173,7 +173,7 @@ Monitor::Monitor(Kdenlive::MONITORID id, MonitorManager *manager, QString profil
 #endif
 
     // Monitor ruler
-    m_ruler = new SmallRuler(m_monitorManager, render);
+    m_ruler = new SmallRuler(this, render);
     if (id == Kdenlive::dvdMonitor) m_ruler->setZone(-3, -2);
     layout->addWidget(m_ruler);
     
@@ -350,6 +350,16 @@ void Monitor::resetSize()
     videoBox->setMinimumSize(0, 0);
 }
 
+QString Monitor::getTimecodeFromFrames(int pos)
+{
+    return m_monitorManager->timecode().getTimecodeFromFrames(pos);
+}
+
+double Monitor::fps() const
+{
+    return m_monitorManager->timecode().fps();
+}
+
 DocClipBase *Monitor::activeClip()
 {
     return m_currentClip;
@@ -886,6 +896,11 @@ void Monitor::slotSetClipProducer(DocClipBase *clip, QPoint zone, bool forceUpda
             slotActivateMonitor();
             if (position == -1) position = render->seekFramePosition();
             render->seek(position);
+           if (zone.isNull()) {
+               zone = m_currentClip->zone();
+               m_ruler->setZone(zone.x(), zone.y());
+               return;
+           }
         }
     }
     if (!zone.isNull()) {
@@ -929,7 +944,7 @@ void Monitor::resetProfile(const QString &profile)
     if (!render->hasProfile(profile)) {
         slotActivateMonitor();
         render->resetProfile(profile);
-#ifdef USE_OPENGL    
+#ifdef USE_OPENGL
        if (m_glWidget) m_glWidget->setImageAspectRatio(render->dar());
 #endif
     }
@@ -1128,6 +1143,16 @@ void Monitor::reloadProducer(const QString &id)
         slotSetClipProducer(m_currentClip, m_currentClip->zone(), true);
 }
 
+QString Monitor::getMarkerThumb(GenTime pos)
+{
+    if (!m_currentClip) return QString();
+    if (!m_currentClip->getClipHash().isEmpty()) {
+       QString url = m_monitorManager->getProjectFolder() + "thumbs/" + m_currentClip->getClipHash() + '#' + QString::number(pos.frames(m_monitorManager->timecode().fps())) + ".png";
+        if (QFile::exists(url)) return url;
+    }
+    return QString();
+}
+
 void Monitor::setPalette ( const QPalette & p)
 {
     QWidget::setPalette(p);