]> git.sesse.net Git - kdenlive/blobdiff - src/kdenlivedoc.h
User can now save & delete custom export profiles
[kdenlive] / src / kdenlivedoc.h
index b0a2c0ff96796d718645e0ccd55e5eba4283649b..738e3898d815255a1b68c05e1350425e67a64659 100644 (file)
@@ -26,6 +26,7 @@
 #include <qmap.h>
 #include <QList>
 #include <QObject>
+#include <QUndoGroup>
 
 #include <KUndoStack>
 #include <kurl.h>
 #include "gentime.h"
 #include "timecode.h"
 #include "renderer.h"
+#include "clipmanager.h"
+#include "definitions.h"
 
-class KdenliveDoc:public QObject {
-  Q_OBJECT public:
+class KdenliveDoc: public QObject {
+Q_OBJECT public:
 
-    KdenliveDoc(const KUrl &url, double fps, int width, int height, QWidget *parent = 0);
+    KdenliveDoc(const KUrl &url, MltVideoProfile profile, QUndoGroup *undoGroup, QWidget *parent = 0);
     ~KdenliveDoc();
-    QString documentName();
     QDomNodeList producersList();
-    double fps();
-    int width();
-    int height();
-    KUrl url();
-    void setProducers(QDomElement doc);
-    Timecode timecode();
-    QDomDocument toXml();
+    double fps() const;
+    int width() const;
+    int height() const;
+    KUrl url() const;
+    void backupMltPlaylist();
+    Timecode timecode() const;
+    QDomDocument toXml() const;
     void setRenderer(Render *render);
     KUndoStack *commandStack();
     QString producerName(int id);
+    void setProducerDuration(int id, int duration);
+    int getProducerDuration(int id);
+    Render *renderer();
+    ClipManager *clipManager();
+    void addClip(const QDomElement &elem, const int clipId);
+    void slotAddClipFile(const KUrl url, const QString group);
+    void slotAddColorClipFile(const QString name, const QString color, QString duration, const QString group);
+    void deleteClip(const uint clipId);
+    int getFramePos(QString duration);
+    DocClipBase *getBaseClip(int clipId);
+    void updateClip(int id);
+    void deleteProjectClip(const uint clipId);
+    /** Inform application of the audio thumbnails generation progress */
+    void setThumbsProgress(KUrl url, int progress);
+    QString profilePath() const;
+    QString description() const;
+    /** Returns the document format: PAL or NTSC */
+    QString getDocumentStandard();
 
-  private:
+private:
     KUrl m_url;
     QDomDocument m_document;
     QString m_projectName;
@@ -63,9 +83,18 @@ class KdenliveDoc:public QObject {
     Render *m_render;
     KUndoStack *m_commandStack;
     QDomDocument generateSceneList();
+    ClipManager *m_clipManager;
+    MltVideoProfile m_profile;
+    QString m_scenelist;
 
-  public slots:
-    
+public slots:
+
+signals:
+    void addProjectClip(DocClipBase *);
+    void signalDeleteProjectClip(int);
+    void updateClipDisplay(int);
+    void deletTimelineClip(int);
+    void thumbsProgress(KUrl, int);
 };
 
 #endif