From c439d902cadd423608ae8f294fe6318fe08fb2a9 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Mardelle Date: Mon, 10 Aug 2009 20:05:13 +0000 Subject: [PATCH] Fix renderer path: http://kdenlive.org/mantis/view.php?id=1075 svn path=/trunk/kdenlive/; revision=3813 --- src/renderwidget.cpp | 20 +++++++++++--------- src/renderwidget.h | 1 + 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/renderwidget.cpp b/src/renderwidget.cpp index f9468a82..da35755c 100644 --- a/src/renderwidget.cpp +++ b/src/renderwidget.cpp @@ -175,6 +175,14 @@ RenderWidget::RenderWidget(const QString &projectfolder, QWidget * parent) : header->setResizeMode(0, QHeaderView::Fixed); header->resizeSection(0, 30); + // Find path for Kdenlive renderer + m_renderer = QCoreApplication::applicationDirPath() + QString("/kdenlive_render"); + if (!QFile::exists(m_renderer)) { + m_renderer = KStandardDirs::findExe("kdenlive_render"); + if (m_renderer.isEmpty()) m_renderer = KStandardDirs::locate("exe", "kdenlive_render"); + if (m_renderer.isEmpty()) m_renderer = "kdenlive_render"; + } + focusFirstVisibleItem(); } @@ -723,13 +731,11 @@ void RenderWidget::slotExport(bool scriptExport, int zoneIn, int zoneOut, const KMessageBox::error(this, i18n("Cannot write to file %1", scriptPath)); return; } - QString renderer = QCoreApplication::applicationDirPath() + QString("/kdenlive_render"); - if (!QFile::exists(renderer)) renderer = "kdenlive_render"; QTextStream outStream(&file); outStream << "#! /bin/sh" << "\n" << "\n"; outStream << "SOURCE=" << "\"" + playlistPath + "\"" << "\n"; outStream << "TARGET=" << "\"" + dest + "\"" << "\n"; - outStream << "RENDERER=" << "\"" + renderer + "\"" << "\n"; + outStream << "RENDERER=" << "\"" + m_renderer + "\"" << "\n"; outStream << "MELT=" << "\"" + render_process_args.takeFirst() + "\"" << "\n"; outStream << "PARAMETERS=" << "\"" + render_process_args.join(" ") + "\"" << "\n"; outStream << "$RENDERER $MELT $PARAMETERS" << "\n" << "\n"; @@ -808,9 +814,7 @@ void RenderWidget::checkRenderStatus() item->setData(1, Qt::UserRole + 1, QTime::currentTime()); if (item->data(1, Qt::UserRole + 4).isNull()) { // Normal render process - QString renderer = QCoreApplication::applicationDirPath() + QString("/kdenlive_render"); - if (!QFile::exists(renderer)) renderer = "kdenlive_render"; - if (QProcess::startDetached(renderer, item->data(1, Qt::UserRole + 3).toStringList()) == false) { + if (QProcess::startDetached(m_renderer, item->data(1, Qt::UserRole + 3).toStringList()) == false) { item->setData(1, Qt::UserRole + 2, FINISHEDJOB); item->setData(1, Qt::UserRole, i18n("Rendering crashed")); item->setIcon(0, KIcon("dialog-close")); @@ -1595,8 +1599,6 @@ bool RenderWidget::startWaitingRenderJobs() return false; } - QString renderer = QCoreApplication::applicationDirPath() + QString("/kdenlive_render"); - if (!QFile::exists(renderer)) renderer = "kdenlive_render"; QTextStream outStream(&file); outStream << "#! /bin/sh" << "\n" << "\n"; QTreeWidgetItem *item = m_view.running_jobs->topLevelItem(0); @@ -1605,7 +1607,7 @@ bool RenderWidget::startWaitingRenderJobs() if (item->data(1, Qt::UserRole + 4).isNull()) { // Add render process for item const QString params = item->data(1, Qt::UserRole + 3).toStringList().join(" "); - outStream << renderer << " " << params << "\n"; + outStream << m_renderer << " " << params << "\n"; } else { // Script item outStream << item->data(1, Qt::UserRole + 3).toString() << "\n"; diff --git a/src/renderwidget.h b/src/renderwidget.h index 064664e6..c2d9ef58 100644 --- a/src/renderwidget.h +++ b/src/renderwidget.h @@ -145,6 +145,7 @@ private: MltVideoProfile m_profile; QString m_projectFolder; bool m_blockProcessing; + QString m_renderer; void parseProfiles(QString meta = QString(), QString group = QString(), QString profile = QString()); void parseFile(QString exportFile, bool editable); void updateButtons(); -- 2.39.2