X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fkdenlivedoc.h;h=f474ab24153381422cfef4481850ed2a31b0de5f;hb=cd85961a9520f2f3c909e889dacd8de539468b89;hp=331e03484c82a7170580b00e5413db93c0d35c90;hpb=c07ecc0a0fa8104e3c67ed5987d7f624818701f3;p=kdenlive diff --git a/src/kdenlivedoc.h b/src/kdenlivedoc.h index 331e0348..f474ab24 100644 --- a/src/kdenlivedoc.h +++ b/src/kdenlivedoc.h @@ -25,6 +25,7 @@ #include #include #include +#include #include #include #include @@ -42,11 +43,12 @@ class Render; class ClipManager; class DocClipBase; class MainWindow; +class TrackInfo; class KdenliveDoc: public QObject { Q_OBJECT public: - KdenliveDoc(const KUrl &url, const KUrl &projectFolder, QUndoGroup *undoGroup, const QString &profileName, const QPoint tracks, MainWindow *parent = 0); + KdenliveDoc(const KUrl &url, const KUrl &projectFolder, QUndoGroup *undoGroup, const QString &profileName, const QPoint tracks, Render *render, MainWindow *parent = 0); ~KdenliveDoc(); QDomNodeList producersList(); double fps() const; @@ -54,10 +56,9 @@ Q_OBJECT public: int height() const; KUrl url() const; KAutoSaveFile *m_autosave; - void backupMltPlaylist(); Timecode timecode() const; - QDomDocument toXml() const; - void setRenderer(Render *render); + QDomDocument toXml(); + //void setRenderer(Render *render); QUndoStack *commandStack(); QString producerName(const QString &id); void setProducerDuration(const QString &id, int duration); @@ -66,45 +67,53 @@ Q_OBJECT public: QDomElement m_guidesXml; QDomElement guidesXml() const; ClipManager *clipManager(); - void addClip(const QDomElement &elem, const QString &clipId); - void addFolder(const QString foldername, const QString &clipId, bool edit); - void deleteFolder(const QString foldername, const QString &clipId); + void addClip(QDomElement elem, QString clipId, bool createClipItem = true); + void addClipInfo(QDomElement elem, QDomElement orig, QString clipId); void slotAddClipFile(const KUrl url, const QString group, const QString &groupId = QString()); void slotAddClipList(const KUrl::List urls, const QString group, const QString &groupId = QString()); - void slotAddFolder(const QString folderName); - void slotDeleteFolder(const QString folderName, const QString &id); - void slotEditFolder(const QString folderName, const QString oldfolderName, const QString &clipId); - void slotAddColorClipFile(const QString name, const QString color, QString duration, const QString group, const QString &groupId = QString()); - void slotAddSlideshowClipFile(const QString name, const QString path, int count, const QString duration, const bool loop, const bool fade, const QString &luma_duration, const QString &luma_file, const int softness, const QString group, const QString &groupId = QString()); void deleteClip(const QString &clipId); int getFramePos(QString duration); DocClipBase *getBaseClip(const QString &clipId); void updateClip(const QString &id); void deleteProjectClip(QList ids); - void deleteProjectFolder(QMap map); /** Inform application of the audio thumbnails generation progress */ void setThumbsProgress(const QString &message, int progress); - QString profilePath() const; + const QString &profilePath() const; MltVideoProfile mltProfile() const; - QString description() const; - /** Returns the document format: PAL or NTSC */ - QString getDocumentStandard(); + const QString description() const; void setUrl(KUrl url); - QDomElement documentInfoXml(); void setProfilePath(QString path); - const QString&getFreeClipId(); + const QString &getFreeClipId(); /** does the document need saving */ bool isModified() const; /** Returns project folder, used to store project files (titles, effects,...) */ KUrl projectFolder() const; /** Used to inform main app of the current document loading progress */ void loadingProgressed(); - void updateAllProjectClips(); void syncGuides(QList guides); void setZoom(int factor); int zoom() const; const double dar(); double projectDuration() const; + bool saveSceneList(const QString &path, const QString &scene); + int tracksCount() const; + TrackInfo trackInfoAt(int ix) const; + void insertTrack(int ix, TrackInfo type); + void deleteTrack(int ix); + void setTrackType(int ix, TrackInfo type); + const QList tracksList() const; + QPoint getTracksCount() const; + void switchTrackVideo(int ix, bool hide); + void switchTrackAudio(int ix, bool hide); + void switchTrackLock(int ix, bool lock); + void cachePixmap(const QString &fileId, const QPixmap &pix) const; + void setProjectFolder(KUrl url); + QString getLadspaFile() const; + void setZone(int start, int end); + QPoint zone() const; + void setSceneList(); + void updatePreviewSettings(); + bool isTrackLocked(int ix) const; private: KUrl m_url; @@ -122,17 +131,27 @@ private: QDomDocument generateSceneList(); ClipManager *m_clipManager; MltVideoProfile m_profile; - QString m_scenelist; QTimer *m_autoSaveTimer; + QString m_searchFolder; /** tells whether current doc has been changed since last save event */ bool m_modified; /** Project folder, used to store project files (titles, effects,...) */ KUrl m_projectFolder; double m_documentLoadingStep; double m_documentLoadingProgress; - void convertDocument(double version); + bool m_abortLoading; + int m_zoneStart; + int m_zoneEnd; + + QList m_tracksList; + + bool convertDocument(double version); QDomDocument createEmptyDocument(const int videotracks, const int audiotracks); QString colorToString(const QColor& c); + void checkProjectClips(); + void setNewClipResource(const QString &id, const QString &path); + QString searchFileRecursively(const QDir &dir, const QString &matchSize, const QString &matchHash) const; + void moveProjectData(KUrl url); public slots: void slotCreateTextClip(QString group, const QString &groupId); @@ -143,13 +162,13 @@ private slots: void slotAutoSave(); signals: - void addProjectClip(DocClipBase *); - void addProjectFolder(const QString, const QString &, bool, bool edit = false); + void resetProjectList(); + void addProjectClip(DocClipBase *, bool getInfo = true); void signalDeleteProjectClip(const QString &); void updateClipDisplay(const QString&); void deleteTimelineClip(const QString&); void progressInfo(const QString &, int); - /** emited when the document state has been modified (= needs saving or not) */ + /** emitted when the document state has been modified (= needs saving or not) */ void docModified(bool); void selectLastAddedClip(const QString &); void guidesUpdated();