[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kdenlive/Applications/16.12] src: Fix dissolve in slideshow clips broken
From: Jean-Baptiste Mardelle <jb () kdenlive ! org>
Date: 2016-12-02 15:10:33
Message-ID: E1cCpTt-0007WI-Jv () code ! kde ! org
[Download RAW message or body]
Git commit 55d2e159ab53b32a280032dee65510027556ff70 by Jean-Baptiste Mardelle.
Committed on 02/12/2016 at 15:09.
Pushed by mardelle into branch 'Applications/16.12'.
Fix dissolve in slideshow clips broken
BUG: 370337
M +1 -1 src/bin/bin.cpp
M +9 -3 src/bin/projectclip.cpp
M +1 -1 src/dialogs/clipcreationdialog.cpp
M +0 -1 src/mltcontroller/producerqueue.cpp
https://commits.kde.org/kdenlive/55d2e159ab53b32a280032dee65510027556ff70
diff --git a/src/bin/bin.cpp b/src/bin/bin.cpp
index 37ee81a..90f313f 100644
--- a/src/bin/bin.cpp
+++ b/src/bin/bin.cpp
@@ -3359,7 +3359,7 @@ void Bin::showSlideshowWidget(ProjectClip *clip)
properties.insert(QStringLiteral("loop"), QString::number(dia->loop()));
properties.insert(QStringLiteral("crop"), QString::number(dia->crop()));
properties.insert(QStringLiteral("fade"), QString::number(dia->fade()));
- properties.insert(QStringLiteral("luma_duration"), dia->lumaDuration());
+ properties.insert(QStringLiteral("luma_duration"), \
QString::number(m_doc->getFramePos(dia->lumaDuration()))); \
properties.insert(QStringLiteral("luma_file"), dia->lumaFile());
properties.insert(QStringLiteral("softness"), \
QString::number(dia->softness())); properties.insert(QStringLiteral("animation"), \
dia->animation());
diff --git a/src/bin/projectclip.cpp b/src/bin/projectclip.cpp
index 12fc4fa..e23efe8 100644
--- a/src/bin/projectclip.cpp
+++ b/src/bin/projectclip.cpp
@@ -288,9 +288,13 @@ QDomElement ProjectClip::toXml(QDomDocument& document, bool \
includeMeta) {
if (m_controller) {
m_controller->getProducerXML(document, includeMeta);
- return document.documentElement().firstChildElement(QStringLiteral("producer"));
+ QDomElement prod = \
document.documentElement().firstChildElement(QStringLiteral("producer")); + if \
(m_type != Unknown) { + prod.setAttribute(QStringLiteral("type"), (int) \
m_type); + }
+ return prod;
} else {
- // We only have very basic infos, ike id and url, pass them
+ // We only have very basic infos, like id and url, pass them
QDomElement prod = document.createElement(QStringLiteral("producer"));
prod.setAttribute(QStringLiteral("id"), m_id);
EffectsList::setProperty(prod, QStringLiteral("resource"), \
m_temporaryUrl.path()); @@ -592,6 +596,7 @@ void ProjectClip::setProperties(QMap \
<QString, QString> properties, bool refresh QMap <QString, QString> passProperties;
bool refreshAnalysis = false;
bool reload = false;
+ bool refreshOnly = true;
// Some properties also need to be passed to track producers
QStringList timelineProperties;
if (properties.contains(QLatin1String("templatetext"))) {
@@ -607,6 +612,7 @@ void ProjectClip::setProperties(QMap <QString, QString> \
properties, bool refresh setProducerProperty(i.key(), i.value());
if (m_type == SlideShow && keys.contains(i.key())) {
reload = true;
+ refreshOnly = false;
}
if (i.key().startsWith(QLatin1String("kdenlive:clipanalysis"))) \
refreshAnalysis = true; if (timelineProperties.contains(i.key())) {
@@ -658,7 +664,7 @@ void ProjectClip::setProperties(QMap <QString, QString> \
properties, bool refresh }
if (reload) {
// producer has changed, refresh monitor and thumbnail
- reloadProducer(true);
+ reloadProducer(refreshOnly);
bin()->refreshClip(m_id);
}
if (!passProperties.isEmpty()) {
diff --git a/src/dialogs/clipcreationdialog.cpp b/src/dialogs/clipcreationdialog.cpp
index db4578d..61c239b 100644
--- a/src/dialogs/clipcreationdialog.cpp
+++ b/src/dialogs/clipcreationdialog.cpp
@@ -245,7 +245,7 @@ void ClipCreationDialog::createSlideshowClip(KdenliveDoc *doc, \
QStringList group
properties.insert(QStringLiteral("loop"), QString::number(dia->loop()));
properties.insert(QStringLiteral("crop"), QString::number(dia->crop()));
properties.insert(QStringLiteral("fade"), QString::number(dia->fade()));
- properties.insert(QStringLiteral("luma_duration"), dia->lumaDuration());
+ properties.insert(QStringLiteral("luma_duration"), \
QString::number(doc->getFramePos(dia->lumaDuration()))); \
properties.insert(QStringLiteral("luma_file"), dia->lumaFile());
properties.insert(QStringLiteral("softness"), \
QString::number(dia->softness())); properties.insert(QStringLiteral("animation"), \
dia->animation());
diff --git a/src/mltcontroller/producerqueue.cpp \
b/src/mltcontroller/producerqueue.cpp index 9e70330..e6e43eb 100644
--- a/src/mltcontroller/producerqueue.cpp
+++ b/src/mltcontroller/producerqueue.cpp
@@ -501,7 +501,6 @@ void ProducerQueue::processFileProperties()
if (frameNumber > 0) producer->seek(frameNumber);
duration = duration > 0 ? duration : producer->get_playtime();
//qDebug() << "/////// PRODUCER: " << url.path() << " IS: " << \
producer->get_playtime();
-
if (type == SlideShow) {
int ttl = EffectsList::property(info.xml,QStringLiteral("ttl")).toInt();
QString anim = \
EffectsList::property(info.xml,QStringLiteral("animation"));
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic