]> git.sesse.net Git - kdenlive/blobdiff - renderer/kdenlive_render.cpp
make nepomuk optional
[kdenlive] / renderer / kdenlive_render.cpp
index e0002b6182da9db8ef431465ce7c41ba9f53f27a..d84f11b3922dfabb6b05f165e5b3d5ddbabc0499 100644 (file)
@@ -25,7 +25,8 @@
 
 #include "renderjob.h"
 
-int main(int argc, char **argv) {
+int main(int argc, char **argv)
+{
     QCoreApplication app(argc, argv);
     QStringList args = app.arguments();
     QStringList preargs;
@@ -38,6 +39,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();
@@ -48,7 +54,7 @@ int main(int argc, char **argv) {
         }
         if (args.at(0).startsWith("preargs=")) {
             QString a = args.at(0).section('=', 1);
-           preargs = a.split(" ", QString::SkipEmptyParts);
+            preargs = a.split(' ', QString::SkipEmptyParts);
             args.takeFirst();
         }
         QString render = args.at(0);
@@ -63,23 +69,37 @@ int main(int argc, char **argv) {
         args.takeFirst();
         QString dest = args.at(0);
         args.takeFirst();
-        RenderJob *job = new RenderJob(erase, render, profile, rendermodule, player, src, dest, preargs, args, in, out);
+        bool dualpass = false;
+        bool doerase;
+        if (args.contains("pass=2")) {
+            // dual pass encoding
+            dualpass = true;
+            doerase = false;
+            args.replace(args.indexOf("pass=2"), "pass=1");
+        } else doerase = erase;
+        qDebug() << "//STARTING RENDERING: " << erase << "," << usekuiserver << "," << render << "," << profile << "," << rendermodule << "," << player << "," << src << "," << dest << "," << preargs << "," << args << "," << in << "," << out ;
+        RenderJob *job = new RenderJob(doerase, usekuiserver, render, profile, rendermodule, player, src, dest, preargs, args, in, out);
         job->start();
-       qDebug()<<"//STARTING RENDERING: "<<erase<<","<<render<<","<<profile<<","<<rendermodule<<","<<player<<","<<src<<","<<dest<<","<<preargs<<","<<args<<","<<in<<","<<out;
+        if (dualpass) {
+            args.replace(args.indexOf("pass=1"), "pass=2");
+            RenderJob *dualjob = new RenderJob(erase, usekuiserver, render, profile, rendermodule, player, src, dest, preargs, args, in, out);
+            QObject::connect(job, SIGNAL(renderingFinished()), dualjob, SLOT(start()));
+        }
         app.exec();
     } else {
         fprintf(stderr, "Kdenlive video renderer for MLT.\nUsage: "
-                "kdenlive_render [-erase] [in=pos] [out=pos] [renderer] [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 rendrer\n"
+                "  render: path to MLT melt renderer\n"
                 "  profile: the MLT video profile\n"
                 "  rendermodule: the MLT consumer used for rendering, usually it is avformat\n"
                 "  player: path to video player to play when rendering is over, use '-' to disable playing\n"
-                "  src: source file (usually westley playlist)\n"
-                "  dest: destination file\n"
-                "  args: space separated libavformat arguments\n");
+                "  src: source file (usually MLT XML)\n"
+                "  dest: destination file\n"
+                "  args: space separated libavformat arguments\n");
     }
 }