Hello community, here is the log from the commit of package kdenlive for openSUSE:Factory checked in at 2016-07-24 19:45:43 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kdenlive (Old) and /work/SRC/openSUSE:Factory/.kdenlive.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kdenlive" Changes: -------- --- /work/SRC/openSUSE:Factory/kdenlive/kdenlive.changes 2016-07-07 15:10:27.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.kdenlive.new/kdenlive.changes 2016-07-24 19:45:47.000000000 +0200 @@ -1,0 +2,8 @@ +Thu Jul 7 23:47:14 UTC 2016 - tittiatc...@gmail.com + +- Update to KDE Applications 16.04.3 + * KDE Applications 16.04.3 + * https://www.kde.org/announcements/announce-applications-16.04.3.php + + +------------------------------------------------------------------- Old: ---- kdenlive-16.04.2.tar.xz New: ---- kdenlive-16.04.3.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kdenlive.spec ++++++ --- /var/tmp/diff_new_pack.94tKVL/_old 2016-07-24 19:45:49.000000000 +0200 +++ /var/tmp/diff_new_pack.94tKVL/_new 2016-07-24 19:45:49.000000000 +0200 @@ -19,13 +19,13 @@ %define mlt_version 0.9.8 Name: kdenlive -Version: 16.04.2 +Version: 16.04.3 Release: 0 Summary: Non-linear video editor License: GPL-3.0+ Group: Productivity/Multimedia/Video/Editors and Convertors Url: http://www.kdenlive.org/ -Source0: http://download.kde.org/stable/applications/16.04.2/src/%{name}-%{version}.tar.xz +Source0: http://download.kde.org/stable/applications/16.04.3/src/%{name}-%{version}.tar.xz Patch1: use-mlt_datadir.patch BuildRequires: desktop-file-utils BuildRequires: fdupes ++++++ kdenlive-16.04.2.tar.xz -> kdenlive-16.04.3.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdenlive-16.04.2/CMakeLists.txt new/kdenlive-16.04.3/CMakeLists.txt --- old/kdenlive-16.04.2/CMakeLists.txt 2016-06-09 19:50:38.000000000 +0200 +++ new/kdenlive-16.04.3/CMakeLists.txt 2016-07-02 18:04:31.000000000 +0200 @@ -6,7 +6,7 @@ # KDE Application Version, managed by release script set (KDE_APPLICATIONS_VERSION_MAJOR "16") set (KDE_APPLICATIONS_VERSION_MINOR "04") -set (KDE_APPLICATIONS_VERSION_MICRO "2") +set (KDE_APPLICATIONS_VERSION_MICRO "3") set(KDENLIVE_VERSION ${KDE_APPLICATIONS_VERSION_MAJOR}.${KDE_APPLICATIONS_VERSION_MINOR}.${KDE_APPLICATIONS_VERSION_MICRO}) cmake_minimum_required(VERSION 2.8.12) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdenlive-16.04.2/src/effectstack/graphicsscenerectmove.cpp new/kdenlive-16.04.3/src/effectstack/graphicsscenerectmove.cpp --- old/kdenlive-16.04.2/src/effectstack/graphicsscenerectmove.cpp 2016-06-09 19:50:38.000000000 +0200 +++ new/kdenlive-16.04.3/src/effectstack/graphicsscenerectmove.cpp 2016-07-02 18:04:31.000000000 +0200 @@ -154,7 +154,7 @@ } QFontMetrics metrics(font()); //ADJUST TO CURRENT SETTING - int lineSpacing = data(TitleDocument::LineSpacing).toInt() + metrics.lineSpacing(); + double lineSpacing = data(TitleDocument::LineSpacing).toInt() + metrics.lineSpacing(); QPainterPath path; // Calculate line width @@ -176,9 +176,7 @@ path.addPath(linePath); } // Calculate position of text in parent item - QRectF pathRect = QRectF(0, 0, bounding.width(), linePos - lineSpacing + metrics.descent() ); - QPointF offset = bounding.center() - pathRect.center() + QPointF(2 * m_shadowBlur, 2 * m_shadowBlur); - path.translate(offset); + path.translate(QPointF(2 * m_shadowBlur, 2 * m_shadowBlur)); QRectF fullSize = bounding.united(path.boundingRect()); QImage shadow(fullSize.width() + qAbs(m_shadowOffset.x()) + 4 * m_shadowBlur, fullSize.height() + qAbs(m_shadowOffset.y()) + 4 * m_shadowBlur, QImage::Format_ARGB32_Premultiplied); shadow.fill(Qt::transparent); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdenlive-16.04.2/src/monitor/glwidget.cpp new/kdenlive-16.04.3/src/monitor/glwidget.cpp --- old/kdenlive-16.04.2/src/monitor/glwidget.cpp 2016-06-09 19:50:38.000000000 +0200 +++ new/kdenlive-16.04.3/src/monitor/glwidget.cpp 2016-07-02 18:04:31.000000000 +0200 @@ -144,11 +144,11 @@ void GLWidget::initializeGL() { - //if (m_isInitialized || !isVisible() || !openglContext()) return; + if (m_isInitialized || !isVisible() || !openglContext()) return; if (!m_offscreenSurface.isValid()) { m_offscreenSurface.setFormat(openglContext()->format()); m_offscreenSurface.create(); - //openglContext()->makeCurrent(this); + openglContext()->makeCurrent(this); } initializeOpenGLFunctions(); qDebug() << "OpenGL vendor: " << QString::fromUtf8((const char*) glGetString(GL_VENDOR)); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdenlive-16.04.2/src/project/jobs/meltjob.cpp new/kdenlive-16.04.3/src/project/jobs/meltjob.cpp --- old/kdenlive-16.04.2/src/project/jobs/meltjob.cpp 2016-06-09 19:50:38.000000000 +0200 +++ new/kdenlive-16.04.3/src/project/jobs/meltjob.cpp 2016-07-02 18:04:31.000000000 +0200 @@ -92,9 +92,8 @@ if (producerProfile) { m_profile = new Mlt::Profile; m_profile->set_explicit(false); - } - else { - m_profile = projectProfile; + } else { + m_profile = projectProfile; } if (m_extra.contains(QStringLiteral("resize_profile"))) { m_profile->set_height(m_extra.value(QStringLiteral("resize_profile")).toInt()); @@ -103,47 +102,28 @@ double fps = projectProfile->fps(); int fps_num = projectProfile->frame_rate_num(); int fps_den = projectProfile->frame_rate_den(); - if (out == -1) { - m_producer = new Mlt::Producer(*m_profile, m_url.toUtf8().constData()); - if (m_producer && producerProfile) { - m_profile->from_producer(*m_producer); - m_profile->set_explicit(true); - } - if (m_profile->fps() != fps || producerProfile) { - // Reload producer - delete m_producer; - // Force same fps as projec profile or the resulting .mlt will not load in our project - m_profile->set_frame_rate(fps_num, fps_den); - m_producer = new Mlt::Producer(*m_profile, m_url.toUtf8().constData()); - } + Mlt::Producer *producer = new Mlt::Producer(*m_profile, m_url.toUtf8().constData()); + if (producer && producerProfile) { + m_profile->from_producer(*producer); + m_profile->set_explicit(true); + } + if (m_profile->fps() != fps || producerProfile) { + // Reload producer + delete producer; + // Force same fps as projec profile or the resulting .mlt will not load in our project + m_profile->set_frame_rate(fps_num, fps_den); + producer = new Mlt::Producer(*m_profile, m_url.toUtf8().constData()); } - else { - Mlt::Producer *tmp = new Mlt::Producer(*m_profile, m_url.toUtf8().constData()); - if (tmp && producerProfile) { - m_profile->from_producer(*tmp); - m_profile->set_explicit(true); - } - if (m_profile->fps() != fps || producerProfile) { - // Reload producer - delete tmp; - // Force same fps as projec profile or the resulting .mlt will not load in our project - m_profile->set_frame_rate(fps_num, fps_den); - tmp = new Mlt::Producer(*m_profile, m_url.toUtf8().constData()); - } - if (tmp) m_producer = tmp->cut(in, out); - delete tmp; - } - if (!producerProfile) { + if (producerProfile) { delete projectProfile; } - if (!m_producer || !m_producer->is_valid()) { + if (!producer || !producer->is_valid()) { // Clip was removed or something went wrong, Notify user? //m_errorMessage.append(i18n("Invalid clip")); setStatus(JobCrashed); return; } - m_length = m_producer->get_length(); // Process producer params QMapIterator<QString, QString> i(m_producerParams); @@ -153,10 +133,17 @@ i.next(); QString key = i.key(); if (!ignoredProps.contains(key)) { - m_producer->set(i.key().toUtf8().constData(), i.value().toUtf8().constData()); + producer->set(i.key().toUtf8().constData(), i.value().toUtf8().constData()); } } + if (out == -1) { + m_producer = producer; + } else { + m_producer = producer->cut(in, out); + delete producer; + } + // Build consumer if (consumerName.contains(QLatin1String(":"))) { m_consumer = new Mlt::Consumer(*m_profile, consumerName.section(QLatin1Char(':'), 0, 0).toUtf8().constData(), m_dest.toUtf8().constData()); @@ -206,14 +193,17 @@ } } Mlt::Tractor tractor(*m_profile); - Mlt::Playlist playlist(*m_profile); + Mlt::Playlist playlist; playlist.append(*m_producer); tractor.set_track(playlist, 0); m_consumer->connect(tractor); m_producer->set_speed(0); m_producer->seek(0); + m_length = m_producer->get_playtime(); + if (m_length == 0) + m_length = m_producer->get_length(); if (m_filter) m_producer->attach(*m_filter); - m_showFrameEvent = m_consumer->listen("consumer-frame-show", this, (mlt_listener) consumer_frame_render); + m_showFrameEvent = m_consumer->listen("consumer-frame-render", this, (mlt_listener) consumer_frame_render); m_producer->set_speed(1); m_consumer->run(); @@ -267,7 +257,7 @@ void MeltJob::emitFrameNumber(int pos) { - if (m_length > 0 && m_jobStatus != JobAborted) { + if (m_length > 0 && m_jobStatus == JobWorking) { emit jobProgress(m_clipId, (int) (100 * pos / m_length), jobType); } }