X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fkdenlivedoc.h;h=774838a9dbf30b58de6362ba8ab45075b4088f06;hb=64bfc766fdc06622b5a6fae7ed2512de7736bdf8;hp=d4f99a8748100c23ab7261ad3964c483dffb9660;hpb=57d603d727098446a3518aca5f43423a184dc50d;p=kdenlive diff --git a/src/kdenlivedoc.h b/src/kdenlivedoc.h index d4f99a87..774838a9 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, MainWindow *parent = 0); + KdenliveDoc(const KUrl &url, const KUrl &projectFolder, QUndoGroup *undoGroup, const QString &profileName, const QPoint tracks, MainWindow *parent = 0); ~KdenliveDoc(); QDomNodeList producersList(); double fps() const; @@ -64,14 +66,14 @@ Q_OBJECT public: int getProducerDuration(const QString &id); Render *renderer(); QDomElement m_guidesXml; + QDomElement guidesXml() const; ClipManager *clipManager(); - void addClip(const QDomElement &elem, const QString &clipId); + void addClip(QDomElement elem, QString clipId, bool createClipItem = true); + void addClipInfo(QDomElement elem, QString clipId); void addFolder(const QString foldername, const QString &clipId, bool edit); void deleteFolder(const QString foldername, const 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 slotAddTextClipFile(const QString path, const QString xml, const QString group, const QString &groupId = QString()); - void editTextClip(QString path, const QString &id); void slotAddFolder(const QString folderName); void slotDeleteFolder(const QString folderName, const QString &id); void slotEditFolder(const QString folderName, const QString oldfolderName, const QString &clipId); @@ -86,11 +88,9 @@ Q_OBJECT public: /** Inform application of the audio thumbnails generation progress */ void setThumbsProgress(const QString &message, int progress); QString profilePath() const; + MltVideoProfile mltProfile() const; QString description() const; - /** Returns the document format: PAL or NTSC */ - QString getDocumentStandard(); void setUrl(KUrl url); - QDomElement documentInfoXml(); void setProfilePath(QString path); const QString&getFreeClipId(); /** does the document need saving */ @@ -99,11 +99,22 @@ Q_OBJECT public: 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, QDomDocument sceneList); + 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; + QString getTracksInfo() const; + void switchTrackVideo(int ix, bool hide); + void switchTrackAudio(int ix, bool hide); private: KUrl m_url; @@ -123,14 +134,22 @@ private: 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; + + QList m_tracksList; + void convertDocument(double version); - QDomDocument createEmptyDocument(); + 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; public slots: void slotCreateTextClip(QString group, const QString &groupId); @@ -149,8 +168,8 @@ signals: void progressInfo(const QString &, int); /** emited when the document state has been modified (= needs saving or not) */ void docModified(bool); - void refreshClipThumbnail(const QString &); void selectLastAddedClip(const QString &); + void guidesUpdated(); }; #endif