]> git.sesse.net Git - kdenlive/commitdiff
Now that we can track jobs within Kdenlive, add new config option to enable/disable...
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Tue, 27 Jan 2009 16:52:24 +0000 (16:52 +0000)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Tue, 27 Jan 2009 16:52:24 +0000 (16:52 +0000)
svn path=/branches/KDE4/; revision=2989

renderer/kdenlive_render.cpp
renderer/renderjob.cpp
renderer/renderjob.h
src/kdenlivesettings.kcfg
src/mainwindow.cpp
src/widgets/configmisc_ui.ui

index 2bc8b4f6f92edaa87c049ff7b8663fdd3a723408..66d251742f509fb869f3ae751025430fc08ae190 100644 (file)
@@ -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"
index 72339e1b4f9681b97cbebb32cec0758418bf790c..5c76175b0a2212ecf2921b1482ebfc68ec061f39 100644 (file)
@@ -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";
index 5a3887ec64ac47c7a55acc6763fc872cf3f9d6f9..8dac1ec032ba25e367ce3a5f11c07aecfed910f5 100644 (file)
@@ -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<QVariant> 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 */
index 7ef596864362261a0389c8ee6ccd864a37fc9aae..1e979ea526a7a2e4e6a1ed3d3ce18ef499efe1d4 100644 (file)
       <default>false</default>
     </entry>
 
+    <entry name="usekuiserver" type="Bool">
+      <label>Use KDE central job management to track render jobs.</label>
+      <default>false</default>
+    </entry>
+
     <entry name="color_duration" type="String">
       <label>Default color clip duration.</label>
       <default>00:00:05:00</default>
index b74b6c19995d25d1cf2b552aa6f7d117fc61b09d..b7442bfb0f1c6e12fc37b3a3d47edfa7c25d62f8 100644 (file)
@@ -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()));
index ece8d35412aca4fe5a86efb7c0a75c7310e9f652..37b9d06944f5b088bcff2ab1a0a041c7cb4484d5 100644 (file)
@@ -5,8 +5,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>278</width>
-    <height>340</height>
+    <width>338</width>
+    <height>359</height>
    </rect>
   </property>
   <layout class="QGridLayout" name="gridLayout_4" >
@@ -31,7 +31,7 @@
      </property>
     </widget>
    </item>
-   <item row="3" column="0" colspan="6" >
+   <item row="4" column="0" colspan="6" >
     <widget class="QGroupBox" name="groupBox" >
      <property name="title" >
       <string>Default Durations</string>
@@ -71,7 +71,7 @@
      </layout>
     </widget>
    </item>
-   <item row="4" column="0" colspan="6" >
+   <item row="5" column="0" colspan="6" >
     <widget class="QGroupBox" name="properties" >
      <property name="title" >
       <string>Default Profile</string>
      </layout>
     </widget>
    </item>
-   <item row="5" column="0" >
+   <item row="6" column="0" >
     <widget class="QLabel" name="label_6" >
      <property name="text" >
       <string>Video tracks</string>
      </property>
     </widget>
    </item>
-   <item row="5" column="2" >
+   <item row="6" column="2" >
     <spacer name="horizontalSpacer" >
      <property name="orientation" >
       <enum>Qt::Horizontal</enum>
      </property>
     </spacer>
    </item>
-   <item row="5" column="3" >
+   <item row="6" column="3" >
     <widget class="QLabel" name="label_7" >
      <property name="text" >
       <string>Audio tracks</string>
      </property>
     </widget>
    </item>
-   <item row="6" column="0" colspan="6" >
+   <item row="7" column="0" colspan="6" >
     <spacer>
      <property name="orientation" >
       <enum>Qt::Vertical</enum>
      </property>
     </spacer>
    </item>
-   <item row="5" column="1" >
+   <item row="6" column="1" >
     <widget class="KIntSpinBox" name="kcfg_videotracks" />
    </item>
-   <item row="5" column="4" >
+   <item row="6" column="4" >
     <widget class="KIntSpinBox" name="kcfg_audiotracks" />
    </item>
+   <item row="3" column="0" colspan="5" >
+    <widget class="QCheckBox" name="kcfg_usekuiserver" >
+     <property name="text" >
+      <string>Use KDE job tracking for render jobs</string>
+     </property>
+    </widget>
+   </item>
   </layout>
  </widget>
  <customwidgets>