From e307ce736b87de6c928dfcc19d198fc6324dc9f0 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Mardelle Date: Tue, 27 Jan 2009 16:52:24 +0000 Subject: [PATCH] Now that we can track jobs within Kdenlive, add new config option to enable/disable use of KDE job view tracker to monitor rendering jobs (disabled by default). svn path=/branches/KDE4/; revision=2989 --- renderer/kdenlive_render.cpp | 12 +++++++++--- renderer/renderjob.cpp | 4 ++-- renderer/renderjob.h | 3 ++- src/kdenlivesettings.kcfg | 5 +++++ src/mainwindow.cpp | 1 + src/widgets/configmisc_ui.ui | 27 +++++++++++++++++---------- 6 files changed, 36 insertions(+), 16 deletions(-) diff --git a/renderer/kdenlive_render.cpp b/renderer/kdenlive_render.cpp index 2bc8b4f6..66d25174 100644 --- a/renderer/kdenlive_render.cpp +++ b/renderer/kdenlive_render.cpp @@ -38,6 +38,11 @@ int main(int argc, char **argv) { erase = true; args.takeFirst(); } + bool usekuiserver = false; + if (args.at(0) == "-kuiserver") { + usekuiserver = true; + args.takeFirst(); + } if (args.at(0).startsWith("in=")) { in = args.at(0).section('=', -1).toInt(); args.takeFirst(); @@ -63,14 +68,15 @@ int main(int argc, char **argv) { args.takeFirst(); QString dest = args.at(0); args.takeFirst(); - qDebug() << "//STARTING RENDERING: " << erase << "," << render << "," << profile << "," << rendermodule << "," << player << "," << src << "," << dest << "," << preargs << "," << args << "," << in << "," << out; - RenderJob *job = new RenderJob(erase, render, profile, rendermodule, player, src, dest, preargs, args, in, out); + qDebug() << "//STARTING RENDERING: " << erase << "," << usekuiserver << "," << render << "," << profile << "," << rendermodule << "," << player << "," << src << "," << dest << "," << preargs << "," << args << "," << in << "," << out ; + RenderJob *job = new RenderJob(erase, usekuiserver, render, profile, rendermodule, player, src, dest, preargs, args, in, out); job->start(); app.exec(); } else { fprintf(stderr, "Kdenlive video renderer for MLT.\nUsage: " - "kdenlive_render [-erase] [in=pos] [out=pos] [render] [profile] [rendermodule] [player] [src] [dest] [[arg1] [arg2] ...]\n" + "kdenlive_render [-erase] [-kuiserver] [in=pos] [out=pos] [render] [profile] [rendermodule] [player] [src] [dest] [[arg1] [arg2] ...]\n" " -erase: if that parameter is present, src file will be erased at the end\n" + " -kuiserver: if that parameter is present, use KDE job tracker\n" " in=pos: start rendering at frame pos\n" " out=pos: end rendering at frame pos\n" " render: path to inigo render\n" diff --git a/renderer/renderjob.cpp b/renderer/renderjob.cpp index 72339e1b..5c76175b 100644 --- a/renderer/renderjob.cpp +++ b/renderer/renderjob.cpp @@ -33,7 +33,7 @@ public: static QDBusConnection connection(QLatin1String("")); -RenderJob::RenderJob(bool erase, const QString &renderer, const QString &profile, const QString &rendermodule, const QString &player, const QString &scenelist, const QString &dest, const QStringList &preargs, const QStringList &args, int in, int out) : QObject(), m_jobUiserver(NULL), m_kdenliveinterface(NULL) { +RenderJob::RenderJob(bool erase, bool usekuiserver, const QString &renderer, const QString &profile, const QString &rendermodule, const QString &player, const QString &scenelist, const QString &dest, const QStringList &preargs, const QStringList &args, int in, int out) : QObject(), m_usekuiserver(usekuiserver), m_jobUiserver(NULL), m_kdenliveinterface(NULL) { m_scenelist = scenelist; m_dest = dest; m_player = player; @@ -128,7 +128,7 @@ void RenderJob::receivedStderr() { void RenderJob::start() { QDBusConnectionInterface* interface = QDBusConnection::sessionBus().interface(); - if (interface) { + if (interface && m_usekuiserver) { if (!interface->isServiceRegistered("org.kde.JobViewServer")) { qDebug() << "No org.kde.JobViewServer registered, trying to start kuiserver"; m_logstream << "No org.kde.JobViewServer registered, trying to start kuiserver"; diff --git a/renderer/renderjob.h b/renderer/renderjob.h index 5a3887ec..8dac1ec0 100644 --- a/renderer/renderjob.h +++ b/renderer/renderjob.h @@ -32,7 +32,7 @@ class RenderJob : public QObject { Q_OBJECT public: - RenderJob(bool erase, const QString &renderer, const QString &profile, const QString &rendermodule, const QString &player, const QString &scenelist, const QString &dest, const QStringList &preargs, const QStringList &args, int in = -1, int out = -1); + RenderJob(bool erase, bool usekuiserver, const QString &renderer, const QString &profile, const QString &rendermodule, const QString &player, const QString &scenelist, const QString &dest, const QStringList &preargs, const QStringList &args, int in = -1, int out = -1); ~RenderJob(); void start(); @@ -56,6 +56,7 @@ private: QDBusInterface *m_kdenliveinterface; QList m_dbusargs; QTime m_startTime; + bool m_usekuiserver; /** \brief Used to create a temporary file for logging */ QTemporaryFile m_logfile; /** \brief Used to write to the log file */ diff --git a/src/kdenlivesettings.kcfg b/src/kdenlivesettings.kcfg index 7ef59686..1e979ea5 100644 --- a/src/kdenlivesettings.kcfg +++ b/src/kdenlivesettings.kcfg @@ -19,6 +19,11 @@ false + + + false + + 00:00:05:00 diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index b74b6c19..b7442bfb 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1435,6 +1435,7 @@ void MainWindow::slotDoRender(const QString &dest, const QString &render, const QStringList args; args << "-erase"; + if (KdenliveSettings::usekuiserver()) args << "-kuiserver"; if (zoneOnly) args << "in=" + QString::number(in) << "out=" + QString::number(out); else if (guideStart != -1) { args << "in=" + QString::number(GenTime(guideStart).frames(m_activeDocument->fps())) << "out=" + QString::number(GenTime(guideEnd).frames(m_activeDocument->fps())); diff --git a/src/widgets/configmisc_ui.ui b/src/widgets/configmisc_ui.ui index ece8d354..37b9d069 100644 --- a/src/widgets/configmisc_ui.ui +++ b/src/widgets/configmisc_ui.ui @@ -5,8 +5,8 @@ 0 0 - 278 - 340 + 338 + 359 @@ -31,7 +31,7 @@ - + Default Durations @@ -71,7 +71,7 @@ - + Default Profile @@ -157,14 +157,14 @@ - + Video tracks - + Qt::Horizontal @@ -177,14 +177,14 @@ - + Audio tracks - + Qt::Vertical @@ -197,12 +197,19 @@ - + - + + + + + Use KDE job tracking for render jobs + + + -- 2.39.2