]> git.sesse.net Git - kdenlive/blobdiff - src/projecttree/abstractclipjob.h
Const'ref
[kdenlive] / src / projecttree / abstractclipjob.h
index 7292e38b4ce49f93b962e59ec7528fb5bdbdf4d3..d85fa4ed9ed7013ae58958fea2cc33a6b511dc92 100644 (file)
 
 #include "definitions.h"
 
-enum JOBTYPE { NOJOBTYPE = 0, PROXYJOB = 1, CUTJOB = 2};
+enum JOBTYPE { NOJOBTYPE = 0, PROXYJOB = 1, CUTJOB = 2, MLTJOB = 3};
 
 class AbstractClipJob : public QObject
 {
     Q_OBJECT
 
 public:
-    AbstractClipJob(JOBTYPE type, CLIPTYPE cType, const QString &id, QStringList parameters);    virtual ~ AbstractClipJob();
+    AbstractClipJob(JOBTYPE type, CLIPTYPE cType, const QString &id, const QStringList &parameters);    virtual ~ AbstractClipJob();
     CLIPTYPE clipType;
-    CLIPJOBSTATUS jobStatus;
     JOBTYPE jobType;
-    QString m_clipId;
     QString description;
+    bool replaceClip;
     const QString clipId() const;
     const QString errorMessage() const;
-    void setStatus(CLIPJOBSTATUS status);
+    const QString logDetails() const;
+    CLIPJOBSTATUS status();
+    virtual void setStatus(CLIPJOBSTATUS status);
     virtual const QString destination() const;
-    virtual QProcess *startJob(bool */*ok*/);
+    virtual void startJob();
     virtual stringMap cancelProperties();
-    virtual int processLogInfo();
+    virtual void processLogInfo();
     virtual const QString statusMessage();
+    /** @brief Returns true if only one instance of this job can be run on a clip. */
+    virtual bool isExclusive();
+    bool addClipToProject() const;
+    void setAddClipToProject(bool add);
     
 protected:
+    CLIPJOBSTATUS m_jobStatus;
+    QString m_clipId;
     QString m_errorMessage;
+    QString m_logDetails;
+    bool m_addClipToProject;
     QProcess *m_jobProcess;
     
-private:
-    
-    
 signals:
-    void jobProgress(int progress);
-
+    void jobProgress(const QString&, int, int);
+    void cancelRunningJob(const QString &, const stringMap&);
 };