Hello community, here is the log from the commit of package kdenlive for openSUSE:Factory checked in at 2015-10-19 22:40:20 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 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 2015-10-03 20:20:15.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.kdenlive.new/kdenlive.changes 2015-10-19 22:40:21.000000000 +0200 @@ -1,0 +2,8 @@ +Sun Oct 11 13:28:41 UTC 2015 - [email protected] + +- Update to KDE Applications 15.08.2 + * KDE Applications 15.08.2 + * https://www.kde.org/announcements/announce-applications-15.08.2.php + + +------------------------------------------------------------------- Old: ---- kdenlive-15.08.1.tar.xz New: ---- kdenlive-15.08.2.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kdenlive.spec ++++++ --- /var/tmp/diff_new_pack.ElO9k9/_old 2015-10-19 22:40:22.000000000 +0200 +++ /var/tmp/diff_new_pack.ElO9k9/_new 2015-10-19 22:40:22.000000000 +0200 @@ -19,13 +19,13 @@ %define mlt_version 0.9.6 Name: kdenlive -Version: 15.08.1 +Version: 15.08.2 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/15.08.1/src/%{name}-%{version}.tar.xz +Source0: http://download.kde.org/stable/applications/15.08.2/src/%{name}-%{version}.tar.xz Patch1: use-mlt_datadir.patch BuildRequires: desktop-file-utils BuildRequires: fdupes ++++++ kdenlive-15.08.1.tar.xz -> kdenlive-15.08.2.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdenlive-15.08.1/CMakeLists.txt new/kdenlive-15.08.2/CMakeLists.txt --- old/kdenlive-15.08.1/CMakeLists.txt 2015-09-11 00:31:47.000000000 +0200 +++ new/kdenlive-15.08.2/CMakeLists.txt 2015-10-09 01:27:24.000000000 +0200 @@ -6,7 +6,7 @@ # KDE Application Version, managed by release script set (KDE_APPLICATIONS_VERSION_MAJOR "15") set (KDE_APPLICATIONS_VERSION_MINOR "08") -set (KDE_APPLICATIONS_VERSION_MICRO "1") +set (KDE_APPLICATIONS_VERSION_MICRO "2") 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-15.08.1/cmake/modules/FindOpenGLES.cmake new/kdenlive-15.08.2/cmake/modules/FindOpenGLES.cmake --- old/kdenlive-15.08.1/cmake/modules/FindOpenGLES.cmake 1970-01-01 01:00:00.000000000 +0100 +++ new/kdenlive-15.08.2/cmake/modules/FindOpenGLES.cmake 2015-10-09 01:27:24.000000000 +0200 @@ -0,0 +1,52 @@ +# - Try to find OpenGLES +# Once done this will define +# +# OPENGLES_FOUND - system has OpenGLES and EGL +# OPENGL_EGL_FOUND - system has EGL +# OPENGLES_INCLUDE_DIR - the GLES include directory +# OPENGLES_LIBRARY - the GLES library +# OPENGLES_EGL_INCLUDE_DIR - the EGL include directory +# OPENGLES_EGL_LIBRARY - the EGL library +# OPENGLES_LIBRARIES - all libraries needed for OpenGLES +# OPENGLES_INCLUDES - all includes needed for OpenGLES + +FIND_PATH(OPENGLES_INCLUDE_DIR GLES2/gl2.h + /usr/openwin/share/include + /opt/graphics/OpenGL/include /usr/X11R6/include + /usr/include +) + +FIND_LIBRARY(OPENGLES_LIBRARY + NAMES GLESv2 + PATHS /opt/graphics/OpenGL/lib + /usr/openwin/lib + /usr/shlib /usr/X11R6/lib + /usr/lib +) + +FIND_PATH(OPENGLES_EGL_INCLUDE_DIR EGL/egl.h + /usr/openwin/share/include + /opt/graphics/OpenGL/include /usr/X11R6/include + /usr/include +) + +FIND_LIBRARY(OPENGLES_EGL_LIBRARY + NAMES EGL + PATHS /usr/shlib /usr/X11R6/lib + /usr/lib +) + +SET(OPENGL_EGL_FOUND "NO") +IF(OPENGLES_EGL_LIBRARY AND OPENGLES_EGL_INCLUDE_DIR) + SET(OPENGL_EGL_FOUND "YES") +ENDIF() + +SET(OPENGLES_FOUND "NO") +IF(OPENGLES_LIBRARY AND OPENGLES_INCLUDE_DIR AND + OPENGLES_EGL_LIBRARY AND OPENGLES_EGL_INCLUDE_DIR) + SET(OPENGLES_LIBRARIES ${OPENGLES_LIBRARY} ${OPENGLES_LIBRARIES} + ${OPENGLES_EGL_LIBRARY}) + SET(OPENGLES_INCLUDES ${OPENGLES_INCLUDE_DIR} ${OPENGLES_EGL_INCLUDE_DIR}) + SET(OPENGLES_FOUND "YES") +ENDIF() + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdenlive-15.08.1/renderer/renderjob.cpp new/kdenlive-15.08.2/renderer/renderjob.cpp --- old/kdenlive-15.08.1/renderer/renderjob.cpp 2015-09-11 00:31:47.000000000 +0200 +++ new/kdenlive-15.08.2/renderer/renderjob.cpp 2015-10-09 01:27:24.000000000 +0200 @@ -61,7 +61,7 @@ // Disable VDPAU so that rendering will work even if there is a Kdenlive instance using VDPAU qputenv("MLT_NO_VDPAU", "1"); - m_args << "xml:" + scenelist; + m_args << scenelist; if (in != -1) m_args << QLatin1String("in=") + QString::number(in); if (out != -1) m_args << QLatin1String("out=") + QString::number(out); m_args << preargs; @@ -287,6 +287,9 @@ if (m_dualpass) { emit renderingFinished(); deleteLater(); - } else qApp->quit(); + } else { + m_logfile.remove(); + qApp->quit(); + } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdenlive-15.08.1/src/bin/bin.cpp new/kdenlive-15.08.2/src/bin/bin.cpp --- old/kdenlive-15.08.1/src/bin/bin.cpp 2015-09-11 00:31:47.000000000 +0200 +++ new/kdenlive-15.08.2/src/bin/bin.cpp 2015-10-09 01:27:24.000000000 +0200 @@ -447,9 +447,6 @@ AbstractProjectItem *parent = clip->parent(); parent->removeChild(clip); delete clip; - if (m_listType == BinTreeView) { - static_cast<QTreeView*>(m_itemView)->resizeColumnToContents(0); - } } ProjectClip *Bin::getFirstSelectedClip() @@ -683,9 +680,6 @@ } } new ProjectClip(xml, m_blankThumb, parentFolder); - if (m_listType == BinTreeView) { - static_cast<QTreeView*>(m_itemView)->resizeColumnToContents(0); - } } QString Bin::slotAddFolder(const QString &folderName) @@ -1023,6 +1017,8 @@ // save current treeview state (column width) QTreeView *view = static_cast<QTreeView*>(m_itemView); m_headerInfo = view->header()->saveState(); + m_showDate->setEnabled(true); + m_showDesc->setEnabled(true); } else { // remove the current folderUp item if any @@ -1039,13 +1035,17 @@ } switch (m_listType) { - case BinIconView: - m_itemView = new QListView(m_splitter); - m_folderUp = new ProjectFolderUp(NULL); - break; - default: - m_itemView = new QTreeView(m_splitter); - break; + case BinIconView: + m_itemView = new QListView(m_splitter); + m_folderUp = new ProjectFolderUp(NULL); + m_showDate->setEnabled(false); + m_showDesc->setEnabled(false); + break; + default: + m_itemView = new QTreeView(m_splitter); + m_showDate->setEnabled(true); + m_showDesc->setEnabled(true); + break; } m_itemView->setMouseTracking(true); m_itemView->viewport()->installEventFilter(m_eventEater); @@ -1165,6 +1165,7 @@ m_proxyAction->blockSignals(false); } } + } // Enable / disable clip actions m_proxyAction->setEnabled(enableClipActions); @@ -1176,7 +1177,12 @@ m_clipsActionsMenu->setEnabled(enableClipActions); m_extractAudioAction->setEnabled(enableClipActions); // Show menu - m_menu->exec(event->globalPos()); + if (enableClipActions) { + m_menu->exec(event->globalPos()); + } else { + // Clicked in empty area + m_addButton->menu()->exec(event->globalPos()); + } } @@ -1409,8 +1415,9 @@ if (!ix.isValid() || ix.column() != 0) { continue; } - ProjectClip *currentItem = static_cast<ProjectClip *>(m_proxyModel->mapToSource(ix).internalPointer()); - if (currentItem->clipId() == info.clipId) { + AbstractProjectItem *item = static_cast<AbstractProjectItem*>(m_proxyModel->mapToSource(ix).internalPointer()); + ProjectClip *currentItem = qobject_cast<ProjectClip*>(item); + if (currentItem && currentItem->clipId() == info.clipId) { // Item was selected, show it in monitor currentItem->setCurrent(true); break; @@ -1438,9 +1445,6 @@ //FIXME(style): constructor actually adds the new pointer to parent's children new ProjectClip(info.clipId, m_blankThumb, controller, parentFolder); if (info.clipId.toInt() >= m_clipCounter) m_clipCounter = info.clipId.toInt() + 1; - if (m_listType == BinTreeView) { - static_cast<QTreeView*>(m_itemView)->resizeColumnToContents(0); - } } emit producerReady(info.clipId); } @@ -2389,7 +2393,7 @@ void Bin::slotSetSorting() { - QTreeView *view = static_cast<QTreeView*>(m_itemView); + QTreeView *view = qobject_cast<QTreeView*>(m_itemView); if (view) { int ix = view->header()->sortIndicatorSection(); m_proxyModel->setFilterKeyColumn(ix); @@ -2398,7 +2402,7 @@ void Bin::slotShowDateColumn(bool show) { - QTreeView *view = static_cast<QTreeView*>(m_itemView); + QTreeView *view = qobject_cast<QTreeView*>(m_itemView); if (view) { view->setColumnHidden(1, !show); } @@ -2406,7 +2410,7 @@ void Bin::slotShowDescColumn(bool show) { - QTreeView *view = static_cast<QTreeView*>(m_itemView); + QTreeView *view = qobject_cast<QTreeView*>(m_itemView); if (view) { view->setColumnHidden(2, !show); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdenlive-15.08.1/src/dialogs/renderwidget.cpp new/kdenlive-15.08.2/src/dialogs/renderwidget.cpp --- old/kdenlive-15.08.1/src/dialogs/renderwidget.cpp 2015-09-11 00:31:47.000000000 +0200 +++ new/kdenlive-15.08.2/src/dialogs/renderwidget.cpp 2015-10-09 01:27:24.000000000 +0200 @@ -353,7 +353,7 @@ void RenderWidget::setDocumentPath(const QString &path) { - if (m_view.out_file->url().adjusted(QUrl::RemoveFilename).path() == QUrl(m_projectFolder).adjusted(QUrl::RemoveFilename).path()) { + if (m_view.out_file->url().adjusted(QUrl::RemoveFilename).path() == QUrl::fromLocalFile(m_projectFolder).adjusted(QUrl::RemoveFilename).path()) { const QString fileName = m_view.out_file->url().fileName(); m_view.out_file->setUrl(QUrl(path + fileName)); } @@ -444,7 +444,6 @@ void RenderWidget::slotSaveProfile() { - //TODO: update to correctly use metagroups Ui::SaveProfile_UI ui; QPointer<QDialog> d = new QDialog(this); ui.setupUi(d); @@ -464,7 +463,10 @@ QListWidgetItem *item = m_view.size_list->currentItem(); if (item) { // Duplicate current item settings - customGroup = item->text(); + QListWidgetItem *groupItem = m_view.format_list->currentItem(); + if (groupItem) { + customGroup = groupItem->text(); + } ui.extension->setText(item->data(ExtensionRole).toString()); if (ui.parameters->toPlainText().contains("%bitrate") || ui.parameters->toPlainText().contains("%quality")) { if (ui.parameters->toPlainText().contains("%quality")) { @@ -710,7 +712,6 @@ } } else ui.abitrates->setHidden(true); - d->setWindowTitle(i18n("Edit Profile")); if (d->exec() == QDialog::Accepted) { slotDeleteProfile(false); @@ -1233,7 +1234,7 @@ if (!renderItem) { renderItem = new RenderJobItem(m_view.running_jobs, QStringList() << QString() << dest); } - renderItem->setData(1, TimeRole, QTime::currentTime()); + renderItem->setData(1, TimeRole, QDateTime::currentDateTime()); // Set rendering type if (group == "dvd") { @@ -1290,7 +1291,7 @@ // Find first waiting job while (item) { if (item->status() == WAITINGJOB) { - item->setData(1, TimeRole, QTime::currentTime()); + item->setData(1, TimeRole, QDateTime::currentDateTime()); waitingJob = true; startRendering(item); while (item->status() == WAITINGJOB) { @@ -1549,7 +1550,7 @@ QUrl RenderWidget::filenameWithExtension(QUrl url, const QString &extension) { - if (!url.isValid()) url = QUrl(m_projectFolder); + if (!url.isValid()) url = QUrl::fromLocalFile(m_projectFolder); QString directory = url.adjusted(QUrl::RemoveFilename).path(); QString filename = url.fileName(); QString ext; @@ -1567,24 +1568,30 @@ } } - return QUrl(directory + filename); + return QUrl::fromLocalFile(directory + filename); } void RenderWidget::refreshParams() { // Format not available (e.g. codec not installed); Disable start button QListWidgetItem *item = m_view.size_list->currentItem(); - if (!item || item->isHidden()) { + QString extension; + if (item) { + extension = item->data(ExtensionRole).toString(); + } + if (!item || item->isHidden() || extension.isEmpty()) { if (!item) errorMessage(i18n("No matching profile")); + else if (extension.isEmpty()) { + errorMessage(i18n("Invalid profile")); + } m_view.advanced_params->clear(); m_view.buttonRender->setEnabled(false); m_view.buttonGenerateScript->setEnabled(false); return; } - errorMessage(item->toolTip()); QString params = item->data(ParamsRole).toString(); - QString extension = item->data(ExtensionRole).toString(); + errorMessage(item->toolTip()); m_view.advanced_params->setPlainText(params); QString destination = m_view.destination_list->itemData(m_view.destination_list->currentIndex()).toString(); if (params.contains(" s=") || params.startsWith(QLatin1String("s=")) || destination == "audioonly") { @@ -1973,13 +1980,20 @@ item->setStatus(RUNNINGJOB); if (progress == 0) { item->setIcon(0, QIcon::fromTheme("system-run")); - item->setData(1, TimeRole, QTime::currentTime()); + item->setData(1, TimeRole, QDateTime::currentDateTime()); slotCheckJob(); } else { - QTime startTime = item->data(1, TimeRole).toTime(); - int seconds = startTime.secsTo(QTime::currentTime()); - QTime ti(0, 0, (int) (seconds * (100.0 - progress) / progress)); - const QString t = i18n("Estimated time %1", ti.toString("hh:mm:ss")); + QDateTime startTime = item->data(1, TimeRole).toDateTime(); + int days = startTime.daysTo (QDateTime::currentDateTime()) ; + double elapsedTime = days * 86400 + startTime.addDays(days).secsTo( QDateTime::currentDateTime() ); + u_int32_t remaining = elapsedTime * (100.0 - progress) / progress; + int remainingSecs = remaining % 86400; + days = remaining / 86400; + QTime when = QTime ( 0, 0, 0, 0 ) ; + when = when.addSecs (remainingSecs) ; + QString est = (days > 0) ? i18np("%1 day ", "%1 days ", days) : QString(); + est.append(when.toString("hh:mm:ss")); + QString t = i18n("Remaining time %1", est); item->setData(1, Qt::UserRole, t); } } @@ -1995,12 +2009,16 @@ if (status == -1) { // Job finished successfully item->setStatus(FINISHEDJOB); - QTime startTime = item->data(1, TimeRole).toTime(); - int seconds = startTime.secsTo(QTime::currentTime()); - QString r = QTime(0, 0, seconds).toString("hh:mm:ss"); - QString t = i18n("Rendering finished in %1", r); + QDateTime startTime = item->data(1, TimeRole).toDateTime(); + int days = startTime.daysTo(QDateTime::currentDateTime()) ; + int elapsedTime = startTime.addDays(days).secsTo( QDateTime::currentDateTime() ); + QTime when = QTime ( 0, 0, 0, 0 ) ; + when = when.addSecs (elapsedTime) ; + QString est = (days > 0) ? i18np("%1 day ", "%1 days ", days) : QString(); + est.append(when.toString("hh:mm:ss")); + QString t = i18n("Rendering finished in %1", est); item->setData(1, Qt::UserRole, t); - QString notif = i18n("Rendering of %1 finished in %2", item->text(1), r); + QString notif = i18n("Rendering of %1 finished in %2", item->text(1), est); //WARNING: notification below does not seem to work KNotification::event("RenderFinished", notif, QPixmap(), this); QString itemGroup = item->data(0, Qt::UserRole).toString(); @@ -2182,7 +2200,7 @@ renderItem->setStatus(WAITINGJOB); renderItem->setIcon(0, QIcon::fromTheme("media-playback-pause")); renderItem->setData(1, Qt::UserRole, i18n("Waiting...")); - renderItem->setData(1, TimeRole, QTime::currentTime()); + renderItem->setData(1, TimeRole, QDateTime::currentDateTime()); renderItem->setData(1, ParametersRole, path); checkRenderStatus(); m_view.tabWidget->setCurrentIndex(1); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdenlive-15.08.1/src/jogshuttle/jogshuttle.cpp new/kdenlive-15.08.2/src/jogshuttle/jogshuttle.cpp --- old/kdenlive-15.08.1/src/jogshuttle/jogshuttle.cpp 2015-09-11 00:31:47.000000000 +0200 +++ new/kdenlive-15.08.2/src/jogshuttle/jogshuttle.cpp 2015-10-09 01:27:24.000000000 +0200 @@ -135,7 +135,6 @@ //qDebug() << "Jog shuttle value is out of range: " << MaxShuttleRange; return; } - QApplication::postEvent(m_parent, new MediaCtrlEvent(MediaCtrlEvent::Shuttle, value)); } @@ -148,7 +147,7 @@ JogShuttle::JogShuttle(const QString &device, QObject *parent) : QObject(parent), - m_shuttleProcess(device, parent) + m_shuttleProcess(device, this) { m_shuttleProcess.start(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdenlive-15.08.1/src/monitor/monitor.cpp new/kdenlive-15.08.2/src/monitor/monitor.cpp --- old/kdenlive-15.08.1/src/monitor/monitor.cpp 2015-09-11 00:31:47.000000000 +0200 +++ new/kdenlive-15.08.2/src/monitor/monitor.cpp 2015-10-09 01:27:24.000000000 +0200 @@ -120,7 +120,7 @@ // Tool bar buttons m_toolbar = new QToolBar(this); - m_toolbar->setIconSize(QSize(s, s)); + //m_toolbar->setIconSize(QSize(s, s)); QWidget *sp1 = new QWidget(this); sp1->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred); m_toolbar->addWidget(sp1); @@ -237,7 +237,6 @@ spacer->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred); m_toolbar->addWidget(spacer); connect(m_timePos, SIGNAL(timeCodeEditingFinished()), this, SLOT(slotSeek())); - m_toolbar->setMaximumHeight(m_timePos->height()); layout->addWidget(m_toolbar); if (m_recManager) layout->addWidget(m_recManager->toolbar()); // Info message widget diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdenlive-15.08.1/src/monitor/monitormanager.cpp new/kdenlive-15.08.2/src/monitor/monitormanager.cpp --- old/kdenlive-15.08.1/src/monitor/monitormanager.cpp 2015-09-11 00:31:47.000000000 +0200 +++ new/kdenlive-15.08.2/src/monitor/monitormanager.cpp 2015-10-09 01:27:24.000000000 +0200 @@ -103,6 +103,7 @@ bool MonitorManager::activateMonitor(Kdenlive::MonitorId name, bool forceRefresh) { + QMutexLocker locker(&m_refreshMutex); if (m_clipMonitor == NULL || m_projectMonitor == NULL) return false; if (m_activeMonitor && m_activeMonitor->id() == name) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdenlive-15.08.1/src/monitor/monitormanager.h new/kdenlive-15.08.2/src/monitor/monitormanager.h --- old/kdenlive-15.08.1/src/monitor/monitormanager.h 2015-09-11 00:31:47.000000000 +0200 +++ new/kdenlive-15.08.2/src/monitor/monitormanager.h 2015-10-09 01:27:24.000000000 +0200 @@ -110,6 +110,8 @@ void slotMuteCurrentMonitor(bool active); private: + /** @brief Make sure 2 monitors cannot be activated simultaneously*/ + QMutex m_refreshMutex; /** @brief Sets up all the actions and attaches them to the collection of MainWindow. */ void setupActions(); KdenliveDoc *m_document; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdenlive-15.08.1/src/monitor/recmanager.cpp new/kdenlive-15.08.2/src/monitor/recmanager.cpp --- old/kdenlive-15.08.1/src/monitor/recmanager.cpp 2015-09-11 00:31:47.000000000 +0200 +++ new/kdenlive-15.08.2/src/monitor/recmanager.cpp 2015-10-09 01:27:24.000000000 +0200 @@ -44,7 +44,7 @@ , m_recToolbar(new QToolBar(parent)) , m_screenCombo(NULL) { - m_recToolbar->setIconSize(QSize(iconSize, iconSize)); + //m_recToolbar->setIconSize(QSize(iconSize, iconSize)); m_playAction = m_recToolbar->addAction(QIcon::fromTheme("media-playback-start"), i18n("Preview")); m_playAction->setCheckable(true); connect(m_playAction, &QAction::toggled, this, &RecManager::slotPreview); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdenlive-15.08.1/src/project/dialogs/projectsettings.cpp new/kdenlive-15.08.2/src/project/dialogs/projectsettings.cpp --- old/kdenlive-15.08.1/src/project/dialogs/projectsettings.cpp 2015-09-11 00:31:47.000000000 +0200 +++ new/kdenlive-15.08.2/src/project/dialogs/projectsettings.cpp 2015-10-09 01:27:24.000000000 +0200 @@ -90,7 +90,6 @@ generate_imageproxy->setChecked(KdenliveSettings::generateimageproxy()); proxy_imageminsize->setValue(KdenliveSettings::proxyimageminsize()); proxyextension = KdenliveSettings::proxyextension(); - } proxy_minsize->setEnabled(generate_proxy->isChecked()); @@ -98,7 +97,7 @@ // load proxy profiles - KConfig conf("encodingprofiles.rc", KConfig::CascadeConfig); //, "appdata"); + KConfig conf("encodingprofiles.rc", KConfig::CascadeConfig, QStandardPaths::DataLocation); KConfigGroup group(&conf, "proxy"); QMap <QString, QString> values = group.entryMap(); QMapIterator<QString, QString> k(values); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdenlive-15.08.1/src/renderer.cpp new/kdenlive-15.08.2/src/renderer.cpp --- old/kdenlive-15.08.1/src/renderer.cpp 2015-09-11 00:31:47.000000000 +0200 +++ new/kdenlive-15.08.2/src/renderer.cpp 2015-10-09 01:27:24.000000000 +0200 @@ -440,7 +440,7 @@ //TODO: there is some duplication with clipcontroller > updateproducer that alsa copies properties QString value; QStringList internalProperties; - internalProperties << "bypassDuplicate" << "resource" << "mlt_service"; + internalProperties << "bypassDuplicate" << "resource" << "mlt_service"<<"audio_index"<<"video_index"; QDomNodeList props; if (xml.tagName() == "producer") { props = xml.elementsByTagName("property"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdenlive-15.08.1/src/timeline/customtrackview.cpp new/kdenlive-15.08.2/src/timeline/customtrackview.cpp --- old/kdenlive-15.08.1/src/timeline/customtrackview.cpp 2015-09-11 00:31:47.000000000 +0200 +++ new/kdenlive-15.08.2/src/timeline/customtrackview.cpp 2015-10-09 01:27:24.000000000 +0200 @@ -2727,6 +2727,12 @@ } } +void CustomTrackView::leaveEvent(QEvent * event) +{ + removeTipAnimation(); + QGraphicsView::leaveEvent(event); +} + void CustomTrackView::dropEvent(QDropEvent * event) { if ((m_selectionGroup || m_dragItem) && m_clipDrag) { @@ -3019,6 +3025,7 @@ void CustomTrackView::reloadTimeline() { + removeTipAnimation(); QList<QGraphicsItem *> selection = m_scene->items(); selection.removeAll(m_cursorLine); for (int i = 0; i < m_guides.count(); ++i) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdenlive-15.08.1/src/timeline/customtrackview.h new/kdenlive-15.08.2/src/timeline/customtrackview.h --- old/kdenlive-15.08.1/src/timeline/customtrackview.h 2015-09-11 00:31:47.000000000 +0200 +++ new/kdenlive-15.08.2/src/timeline/customtrackview.h 2015-10-09 01:27:24.000000000 +0200 @@ -310,6 +310,7 @@ virtual void dragLeaveEvent(QDragLeaveEvent * event); /** @brief Something has been dropped onto the timeline */ virtual void dropEvent(QDropEvent * event); + virtual void leaveEvent(QEvent * event); virtual void wheelEvent(QWheelEvent * e); virtual void keyPressEvent(QKeyEvent * event); virtual QStringList mimeTypes() const; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdenlive-15.08.1/src/timeline/timeline.cpp new/kdenlive-15.08.2/src/timeline/timeline.cpp --- old/kdenlive-15.08.1/src/timeline/timeline.cpp 2015-09-11 00:31:47.000000000 +0200 +++ new/kdenlive-15.08.2/src/timeline/timeline.cpp 2015-10-09 01:27:24.000000000 +0200 @@ -169,12 +169,12 @@ bool Timeline::checkProjectAudio() { bool hasAudio = false; - int max = m_tractor->count(); + int max = m_tracks.count(); for (int i = 0; i < max; i++) { Track *sourceTrack = track(i); - QScopedPointer<Mlt::Producer> track(m_tractor->track(i)); + QScopedPointer<Mlt::Producer> track(m_tractor->track(i + 1)); int state = track->get_int("hide"); - if (sourceTrack->hasAudio() && !(state & 2)) { + if (sourceTrack && sourceTrack->hasAudio() && !(state & 2)) { hasAudio = true; break; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdenlive-15.08.1/src/timeline/track.cpp new/kdenlive-15.08.2/src/timeline/track.cpp --- old/kdenlive-15.08.1/src/timeline/track.cpp 2015-09-11 00:31:47.000000000 +0200 +++ new/kdenlive-15.08.2/src/timeline/track.cpp 2015-10-09 01:27:24.000000000 +0200 @@ -391,7 +391,7 @@ cut = prod->cut(orig->get_in(), orig->get_out()); } Clip(*cut).addEffects(*orig); - bool ok = m_playlist.insert_at(frame(t), cut, 1); + bool ok = m_playlist.insert_at(frame(t), cut, 1) >= 0; delete cut; m_playlist.unlock(); return ok; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdenlive-15.08.1/src/ui/cliptranscode_ui.ui new/kdenlive-15.08.2/src/ui/cliptranscode_ui.ui --- old/kdenlive-15.08.1/src/ui/cliptranscode_ui.ui 2015-09-11 00:31:47.000000000 +0200 +++ new/kdenlive-15.08.2/src/ui/cliptranscode_ui.ui 2015-10-09 01:27:24.000000000 +0200 @@ -6,8 +6,8 @@ <rect> <x>0</x> <y>0</y> - <width>317</width> - <height>483</height> + <width>362</width> + <height>633</height> </rect> </property> <property name="windowTitle"> @@ -35,7 +35,7 @@ <widget class="KUrlRequester" name="dest_url"/> </item> <item row="5" column="0" colspan="3"> - <widget class="QLabel" name="label_3"> + <widget class="QLabel" name="ffmpeg_label"> <property name="text"> <string>FFmpeg parameters</string> </property>
