]> git.sesse.net Git - kdenlive/blobdiff - src/projecttree/meltjob.h
Cleaning code style of Definitions.
[kdenlive] / src / projecttree / meltjob.h
index 040e9ef468d29b9f45af4485f209ba14e27de4b9..b1a426869d6025658242d11bae105e316be1eec2 100644 (file)
 #define MELTJOB
 
 #include <QObject>
-#include <QProcess>
 
 #include "abstractclipjob.h"
 
+class KUrl;
+
 namespace Mlt{
-        class Profile;
-        class Producer;
-        class Consumer;
-        class Filter;
-        class Event;
-};
+class Profile;
+class Producer;
+class Consumer;
+class Filter;
+class Event;
+}
 
 class MeltJob : public AbstractClipJob
 {
     Q_OBJECT
 
 public:
-    MeltJob(CLIPTYPE cType, const QString &id, QStringList parameters);
+    MeltJob(ClipType cType, const QString &id, const QStringList& parameters, const stringMap& extraParams = stringMap());
     virtual ~ MeltJob();
     const QString destination() const;
     void startJob();
     stringMap cancelProperties();
     bool addClipToProject;
     const QString statusMessage();
-    void setProducer(Mlt::Producer *producer);
-    void emitFrameNumber();
+    void setStatus(ClipJobStatus status);
+    void setProducer(Mlt::Producer *producer, const KUrl &url);
+    void emitFrameNumber(int pos);
+    /** Make the job work on a project tree clip. */
+    bool isProjectFilter() const;
     
 private:
+    Mlt::Consumer *m_consumer;
     Mlt::Producer *m_producer;
     Mlt::Profile *m_profile;
-    Mlt::Consumer *m_consumer;
+    Mlt::Filter *m_filter;
     Mlt::Event *m_showFrameEvent;
     QStringList m_params;
     QString m_dest;
+    QString m_url;
     int m_length;
+    QMap <QString, QString> m_extra;
+
+signals:
+    void gotFilterJobResults(const QString &id, int startPos, int track, const stringMap &result, const stringMap &extra);
 };
 
 #endif