[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [kdenlive] src: Merge branch '16.12'
From:       Jean-Baptiste Mardelle <null () kde ! org>
Date:       2017-01-20 17:26:37
Message-ID: E1cUcxR-0002xy-CO () code ! kde ! org
[Download RAW message or body]

Git commit 464b1932ada07e47cb33125f74dbb079014ff1ec by Jean-Baptiste Mardelle.
Committed on 20/01/2017 at 17:26.
Pushed by mardelle into branch 'master'.

Merge branch '16.12'

M  +10   -0    src/doc/kthumb.cpp
M  +3    -6    src/monitor/monitor.cpp
M  +1    -1    src/renderer.cpp

https://commits.kde.org/kdenlive/464b1932ada07e47cb33125f74dbb079014ff1ec

diff --cc src/doc/kthumb.cpp
index e55899071,92aeeafaf..ce9c91644
--- a/src/doc/kthumb.cpp
+++ b/src/doc/kthumb.cpp
@@@ -44,10 -42,18 +44,20 @@@ QPixmap KThumb::getImage(const QUrl &ur
          height = width * profile.height() / profile.width();
      }
      QPixmap pix(width, height);
 -    if (!url.isValid()) return pix;
 +    if (!url.isValid()) {
 +        return pix;
 +    }
      Mlt::Producer *producer = new Mlt::Producer(profile, \
url.toLocalFile().toUtf8().constData()); +     if (KdenliveSettings::gpu_accel()) {
+         QString service = producer->get("mlt_service");
+         QString res = producer->get("resource");
+         delete producer;
+         producer = new Mlt::Producer(profile, service.toUtf8().constData(), \
res.toUtf8().constData()); +         Mlt::Filter scaler(profile, "swscale");
+         Mlt::Filter converter(profile, "avcolor_space");
+         producer->attach(scaler);
+         producer->attach(converter);
+     }
      pix = QPixmap::fromImage(getFrame(producer, frame, width, height));
      delete producer;
      return pix;
diff --cc src/monitor/monitor.cpp
index 076d0e13e,91058eaeb..18cd051fd
--- a/src/monitor/monitor.cpp
+++ b/src/monitor/monitor.cpp
@@@ -1410,37 -1342,35 +1410,34 @@@ void Monitor::updateClipProducer(const 
  
  void Monitor::slotOpenClip(ClipController *controller, int in, int out)
  {
 -    if (render == NULL) {
 +    if (render == nullptr) {
          return;
      }
-     bool sameClip = controller == m_controller && controller != nullptr;
      m_controller = controller;
      if (!m_glMonitor->isVisible()) {
          // Don't load clip if monitor is not active (disabled)
          return;
      }
      if (controller) {
 -	if (m_recManager->toolbar()->isVisible()) {
 -	      // we are in record mode, don't display clip
 -	      return;
 -	}
 +        if (m_recManager->toolbar()->isVisible()) {
 +            // we are in record mode, don't display clip
 +            return;
 +        }
          updateMarkers();
-         if (!sameClip) {
-             // Loading new clip, stop if playing
-             if (m_playAction->isActive()) {
-                 m_playAction->setActive(false);
-             }
+         // Loading new clip / zone, stop if playing
+         if (m_playAction->isActive()) {
+             m_playAction->setActive(false);
          }
          render->setProducer(m_controller->masterProducer(), in, isActive());
 -	if (out > -1) {
 -	    m_ruler->setZone(in, out);
 -	    setClipZone(QPoint(in, out));
 -	}
 -	m_audioMeterWidget->audioChannels = controller->audioInfo() ? \
                controller->audioInfo()->channels() : 0;
 -	emit requestAudioThumb(controller->clipId());
 -	//hasEffects =  controller->hasEffects();
 -    }
 -    else {
 -        render->setProducer(NULL, -1, isActive());
 +        if (out > -1) {
 +            m_ruler->setZone(in, out);
 +            setClipZone(QPoint(in, out));
 +        }
 +        m_audioMeterWidget->audioChannels = controller->audioInfo() ? \
controller->audioInfo()->channels() : 0;  +        emit \
requestAudioThumb(controller->clipId());  +        //hasEffects =  \
controller->hasEffects();  +    } else {
 +        render->setProducer(nullptr, -1, isActive());
          m_glMonitor->setAudioThumb();
          m_audioMeterWidget->audioChannels = 0;
      }


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic