]> git.sesse.net Git - kdenlive/blobdiff - src/projecttree/meltjob.h
Cleanup data processing framework
[kdenlive] / src / projecttree / meltjob.h
index 040e9ef468d29b9f45af4485f209ba14e27de4b9..d37365038635d7d475d8d9cd3f5c3db023cce7d7 100644 (file)
@@ -26,6 +26,8 @@
 
 #include "abstractclipjob.h"
 
+class KUrl;
+
 namespace Mlt{
         class Profile;
         class Producer;
@@ -39,15 +41,17 @@ class MeltJob : public AbstractClipJob
     Q_OBJECT
 
 public:
-    MeltJob(CLIPTYPE cType, const QString &id, QStringList parameters);
+    MeltJob(CLIPTYPE cType, const QString &id, QStringList parameters, QStringList extraParams = QStringList());
     virtual ~ MeltJob();
     const QString destination() const;
     void startJob();
     stringMap cancelProperties();
     bool addClipToProject;
     const QString statusMessage();
-    void setProducer(Mlt::Producer *producer);
+    void setProducer(Mlt::Producer *producer, KUrl url);
     void emitFrameNumber();
+    /** Make the job work on a project tree clip. */
+    bool isProjectFilter() const;
     
 private:
     Mlt::Producer *m_producer;
@@ -56,7 +60,12 @@ private:
     Mlt::Event *m_showFrameEvent;
     QStringList m_params;
     QString m_dest;
+    QString m_url;
     int m_length;
+    QStringList m_extra;
+
+signals:
+    void gotFilterJobResults(const QString &id, int startPos, int track, const QString &filterName, stringMap params, QStringList extraParam);
 };
 
 #endif