[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