]> git.sesse.net Git - kdenlive/blobdiff - renderer/renderjob.cpp
Comment out names of unused parameters [PATCH by Ray Lehtiniemi]
[kdenlive] / renderer / renderjob.cpp
index a0a31c70446c1c60a8ea26496532ce77b00f97a6..1ab486dcac3bd780bb3ef011fabfbe136dbdbecc 100644 (file)
  *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA          *
  ***************************************************************************/
 
+
+#include "renderjob.h"
+
 #include <QtDBus>
 #include <QFile>
 #include <QThread>
-#include "renderjob.h"
 
 // Can't believe I need to do this to sleep.
 class SleepThread : QThread {
@@ -44,13 +46,18 @@ RenderJob::RenderJob(bool erase, bool usekuiserver, const QString &renderer, con
     m_args << scenelist;
     if (in != -1) m_args << "in=" + QString::number(in);
     if (out != -1) m_args << "out=" + QString::number(out);
+
     m_args << preargs;
     //qDebug()<<"PRE ARGS: "<<preargs;
     if (scenelist.startsWith("consumer:")) {
         // Use MLT's producer_consumer, needs a different syntax for profile:
         m_args << "profile=" + profile;
     } else m_args << "-profile" << profile;
-    m_args << "-consumer" << rendermodule + ":" + m_dest << "progress=1" << args;
+    m_args << "-consumer" << rendermodule + ':' + m_dest << "progress=1" << args;
+
+    m_dualpass = false;
+    if (args.contains("pass=1")) m_dualpass = true;
+
     connect(m_renderProcess, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(slotIsOver(int, QProcess::ExitStatus)));
     m_renderProcess->setReadChannel(QProcess::StandardError);
 
@@ -115,35 +122,34 @@ void RenderJob::receivedStderr() {
     QString result = QString(m_renderProcess->readAllStandardError()).simplified();
     if (!result.startsWith("Current Frame")) m_errorMessage.append(result + "<br>");
     else {
-       // m_logstream << "ReceivedStderr from inigo: " << result << endl;
-       result = result.section(" ", -1);
-       int pro = result.toInt();
-       if (pro < 0 || pro > 100) return;
-       if (pro > m_progress) {
-           m_progress = pro;
-           if (m_kdenliveinterface) {
-               if (!m_kdenliveinterface->isValid()) {
-                   delete m_kdenliveinterface;
-                   m_kdenliveinterface = NULL;
-                   // qDebug() << "BROKEN COMMUNICATION WITH KDENLIVE";
-               }
-               else {
-                   m_dbusargs[1] = pro;
-                   m_kdenliveinterface->callWithArgumentList(QDBus::NoBlock, "setRenderingProgress", m_dbusargs);
-               }
-           } else if (pro % 5 == 0) {
-               // Try to restart communication with Kdenlive every 5 percents
-               // qDebug() << "TRYING TO RESTART COMMUNICATION WITH KDENLIVE";
-               initKdenliveDbusInterface();
-           }
+        // m_logstream << "ReceivedStderr from inigo: " << result << endl;
+        result = result.section(' ', -1);
+        int pro = result.toInt();
+        if (pro < 0 || pro > 100) return;
+        if (pro > m_progress) {
+            m_progress = pro;
+            if (m_kdenliveinterface) {
+                if (!m_kdenliveinterface->isValid()) {
+                    delete m_kdenliveinterface;
+                    m_kdenliveinterface = NULL;
+                    // qDebug() << "BROKEN COMMUNICATION WITH KDENLIVE";
+                } else {
+                    m_dbusargs[1] = pro;
+                    m_kdenliveinterface->callWithArgumentList(QDBus::NoBlock, "setRenderingProgress", m_dbusargs);
+                }
+            } else if (pro % 5 == 0) {
+                // Try to restart communication with Kdenlive every 5 percents
+                // qDebug() << "TRYING TO RESTART COMMUNICATION WITH KDENLIVE";
+                initKdenliveDbusInterface();
+            }
 
-           if (m_jobUiserver) {
-               m_jobUiserver->call("setPercent", (uint) m_progress);
-               /*int seconds = m_startTime.secsTo(QTime::currentTime());
-               seconds = seconds * (100 - m_progress) / m_progress;
-               m_jobUiserver->call("setDescriptionField", (uint) 1, tr("Remaining time"), QTime().addSecs(seconds).toString("hh:mm:ss"));*/
-           }
-       }
+            if (m_jobUiserver) {
+                m_jobUiserver->call("setPercent", (uint) m_progress);
+                /*int seconds = m_startTime.secsTo(QTime::currentTime());
+                seconds = seconds * (100 - m_progress) / m_progress;
+                m_jobUiserver->call("setDescriptionField", (uint) 1, tr("Remaining time"), QTime().addSecs(seconds).toString("hh:mm:ss"));*/
+            }
+        }
     }
 }
 
@@ -205,7 +211,7 @@ void RenderJob::initKdenliveDbusInterface() {
         break;
     }
     m_dbusargs.clear();
-    if (kdenliveId.isEmpty()) return; 
+    if (kdenliveId.isEmpty()) return;
     m_kdenliveinterface = new QDBusInterface(kdenliveId,
             "/MainWindow",
             "org.kdenlive.MainWindow",
@@ -222,7 +228,7 @@ void RenderJob::initKdenliveDbusInterface() {
 }
 
 
-void RenderJob::slotIsOver(int exitcode, QProcess::ExitStatus status) {
+void RenderJob::slotIsOver(int /*exitcode*/, QProcess::ExitStatus status) {
     if (m_jobUiserver) m_jobUiserver->call("terminate", QString());
     if (m_erase) {
         QFile f(m_scenelist);
@@ -240,14 +246,15 @@ void RenderJob::slotIsOver(int exitcode, QProcess::ExitStatus status) {
         // m_logstream << "Rendering of " << m_dest << " aborted, resulting video will probably be corrupted." << endl;
         qDebug() << "Rendering of " << m_dest << " aborted, resulting video will probably be corrupted.";
         QProcess::startDetached("kdialog", args);
+        qApp->quit();
     } else {
-        if (m_kdenliveinterface) {
+        if (!m_dualpass && m_kdenliveinterface) {
             m_dbusargs[1] = (int) - 1;
             m_dbusargs.append(QString());
             m_kdenliveinterface->callWithArgumentList(QDBus::NoBlock, "setRenderingFinished", m_dbusargs);
         }
         QDBusConnectionInterface* interface = QDBusConnection::sessionBus().interface();
-        if (interface && interface->isServiceRegistered("org.kde.knotify")) {
+        if (!m_dualpass && interface && interface->isServiceRegistered("org.kde.knotify")) {
             QDBusMessage m = QDBusMessage::createMethodCall("org.kde.knotify",
                              "/Notify",
                              "org.kde.KNotify",
@@ -261,7 +268,7 @@ void RenderJob::slotIsOver(int exitcode, QProcess::ExitStatus status) {
             args.append(QByteArray());   // app icon
             QStringList actionList;
             args.append(actionList);   // actions
-            qlonglong wid;
+            qlonglong wid = 0;
             args.append(wid);   // win id
 
             m.setArguments(args);
@@ -269,14 +276,17 @@ void RenderJob::slotIsOver(int exitcode, QProcess::ExitStatus status) {
         }
         // m_logstream << "Rendering of " << m_dest << " finished" << endl;
         qDebug() << "Rendering of " << m_dest << " finished";
-        if (m_player != "-") {
+        if (!m_dualpass && m_player != "-") {
             // m_logstream << "Starting player" << endl;
             QStringList args;
             args << m_dest;
             QProcess::startDetached(m_player, args);
         }
+        if (m_dualpass) {
+            emit renderingFinished();
+            deleteLater();
+        } else qApp->quit();
     }
-    qApp->quit();
 }
 
 #include "renderjob.moc"