]> git.sesse.net Git - kdenlive/blobdiff - renderer/renderjob.h
Refactor representation of 2pass in profiles.
[kdenlive] / renderer / renderjob.h
index be809d45a99a58a686a52894c8abcaa81a197bc7..346ab94e2e34f5e276e08ecef2b2d4b5c2aa2059 100644 (file)
 #include <QObject>
 #include <QDBusInterface>
 #include <QTime>
+// Testing
+#include <QTemporaryFile>
+#include <QTextStream>
 
-class RenderJob : public QObject {
+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();
+
+public slots:
     void start();
 
 private slots:
-    void slotIsOver(int exitcode, QProcess::ExitStatus status);
+    void slotIsOver(QProcess::ExitStatus status, bool isWritable = true);
     void receivedStderr();
     void slotAbort();
+    void slotAbort(const QString& url);
+    void slotCheckProcess(QProcess::ProcessState state);
 
 private:
     QString m_scenelist;
     QString m_dest;
     int m_progress;
-    QProcess *m_renderProcess;
+    QProcess* m_renderProcess;
+    QString m_errorMessage;
     QString m_prog;
     QString m_player;
     QStringList m_args;
     bool m_erase;
-    QDBusInterface *m_jobUiserver;
+    bool m_dualpass;
+    QDBusInterface* m_jobUiserver;
+    QDBusInterface* m_kdenliveinterface;
+    QList<QVariant> m_dbusargs;
     QTime m_startTime;
+    void initKdenliveDbusInterface();
+    bool m_usekuiserver;
+    bool m_enablelog;
+    /** @brief Used to create a temporary file for logging. */
+    QTemporaryFile m_logfile;
+    /** @brief Used to write to the log file. */
+    QTextStream m_logstream;
+
+signals:
+    void renderingFinished();
 };
 
 #endif