From 56e7f3092126573b1fc0632c41a5269a66ee7858 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Mardelle Date: Sun, 9 Mar 2008 17:51:40 +0000 Subject: [PATCH] renderer: get ready for real use svn path=/branches/KDE4/; revision=2028 --- renderer/kdenlive_render.cpp | 32 ++++++++++++++++++++++++-------- renderer/renderjob.cpp | 17 ++++++++--------- renderer/renderjob.h | 2 +- 3 files changed, 33 insertions(+), 18 deletions(-) diff --git a/renderer/kdenlive_render.cpp b/renderer/kdenlive_render.cpp index 77e3beea..938ba0fe 100644 --- a/renderer/kdenlive_render.cpp +++ b/renderer/kdenlive_render.cpp @@ -41,7 +41,7 @@ ** ****************************************************************************/ - +#include #include #include #include @@ -52,12 +52,28 @@ int main(int argc, char **argv) { QCoreApplication app(argc, argv); QStringList args = app.arguments(); - args.takeFirst(); - QString player; - if (args.count() == 3) player = args.at(2); - //fprintf(stderr, "ARGS: %s %s", qPrintable(args.at(0)), qPrintable(args.at(1))); - RenderJob *job = new RenderJob(args.at(0), args.at(1), player); - job->start(); - app.exec(); + if (!args.isEmpty()) args.takeFirst(); + if (args.count() >= 4) { + QString render = args.at(0); + args.takeFirst(); + QString player = args.at(0); + args.takeFirst(); + QString src = args.at(0); + args.takeFirst(); + QString dest = args.at(0); + args.takeFirst(); + RenderJob *job = new RenderJob(render, player, src, dest, args); + job->start(); + app.exec(); + } + else { + fprintf(stderr, "Kdenlive video renderer for MLT.\nUsage: " + "kdenlive_render [renderer] [player] [src] [dest] [[arg1] [arg2] ...]\n" + " render: path to inigo rendrer\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"); + } } diff --git a/renderer/renderjob.cpp b/renderer/renderjob.cpp index 3d559422..33f00496 100644 --- a/renderer/renderjob.cpp +++ b/renderer/renderjob.cpp @@ -24,14 +24,14 @@ static QDBusConnection connection(QLatin1String("")); -RenderJob::RenderJob(QString scenelist, QString dest, QString player) : QObject() { +RenderJob::RenderJob(QString renderer, QString player, QString scenelist, QString dest, QStringList args) : QObject() { m_scenelist = scenelist; m_dest = dest; m_player = player; m_progress = 0; m_renderProcess = new QProcess; - m_prog = "inigo"; - m_args << scenelist << "-consumer" << "avformat:" + m_dest << "progress=1"; + m_prog = renderer; + m_args << scenelist << "-consumer" << "avformat:" + m_dest << "progress=1"<setReadChannel(QProcess::StandardError); @@ -54,12 +54,11 @@ void RenderJob::receivedStderr() { } void RenderJob::start() { - QDBusInterface kuiserver("org.kde.JobViewServer", "/JobViewServer", "org.kde.JobViewServer", QDBusConnection::sessionBus()); - QDBusReply reply = kuiserver.call("requestView", "kdenlive", "kdenlive", 1); - //kDebug()<<"///// JOB REPLY: "<call("setInfoMessage", tr("Rendering %1").arg(m_dest)); + QDBusInterface kuiserver("org.kde.JobViewServer", "/JobViewServer", "org.kde.JobViewServer"); + QDBusReply objectPath = kuiserver.call("requestView", "kdenlive", "kdenlive", 1); + QString reply = ((QDBusObjectPath) objectPath).path(); + m_jobUiserver = new QDBusInterface("org.kde.JobViewServer", reply, "org.kde.JobView"); + m_jobUiserver->call("setInfoMessage", tr("Rendering %1").arg(m_dest)); m_renderProcess->start(m_prog, m_args); } diff --git a/renderer/renderjob.h b/renderer/renderjob.h index e71aa432..41bbed16 100644 --- a/renderer/renderjob.h +++ b/renderer/renderjob.h @@ -28,7 +28,7 @@ class RenderJob : public QObject { Q_OBJECT public: - RenderJob(QString scenelist, QString dest, QString player); + RenderJob(QString renderer, QString player, QString scenelist, QString dest, QStringList args); ~RenderJob(); void start(); -- 2.39.2