X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fkdenlivedoc.h;h=d8d2fc22d1aa4b952a21e612fcf6db357214ea40;hb=e3b4bf11679a3a195be8896f465b1616581f1fb3;hp=70f3180fe8828271c93b907cb542d894f8bd9ce3;hpb=9600c5a0f5444b9cb4855bbab784afedb27b3e02;p=kdenlive diff --git a/src/kdenlivedoc.h b/src/kdenlivedoc.h index 70f3180f..d8d2fc22 100644 --- a/src/kdenlivedoc.h +++ b/src/kdenlivedoc.h @@ -49,7 +49,7 @@ class KdenliveDoc: public QObject { Q_OBJECT public: - KdenliveDoc(const KUrl &url, const KUrl &projectFolder, QUndoGroup *undoGroup, const QString &profileName, const QPoint tracks, Render *render, MainWindow *parent = 0); + KdenliveDoc(const KUrl &url, const KUrl &projectFolder, QUndoGroup *undoGroup, QString profileName, const QPoint tracks, Render *render, MainWindow *parent = 0); ~KdenliveDoc(); QDomNodeList producersList(); double fps() const; @@ -66,6 +66,7 @@ Q_OBJECT public: QDomDocument m_guidesXml; QDomElement guidesXml() const; ClipManager *clipManager(); + /** @brief Add a clip to the project tree */ 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()); @@ -73,25 +74,23 @@ Q_OBJECT public: void deleteClip(const QString &clipId); int getFramePos(QString duration); DocClipBase *getBaseClip(const QString &clipId); - void updateClip(const QString &id); - void deleteProjectClip(QList ids); + void updateClip(const QString id); /** Inform application of the audio thumbnails generation progress */ void setThumbsProgress(const QString &message, int progress); const QString &profilePath() const; MltVideoProfile mltProfile() const; const QString description() const; void setUrl(KUrl url); - void setProfilePath(QString path); + /** update project profile, returns true if fps was changed */ + bool setProfilePath(QString path); 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 syncGuides(QList guides); - void setZoom(int factor); - int zoom() const; + void setZoom(int horizontal, int vertical); + QPoint zoom() const; double dar(); double projectDuration() const; bool saveSceneList(const QString &path, const QString &scene); @@ -110,17 +109,23 @@ Q_OBJECT public: QString getLadspaFile() const; void setZone(int start, int end); QPoint zone() const; - void setSceneList(); + int setSceneList(); void updatePreviewSettings(); bool isTrackLocked(int ix) const; + void setDocumentProperty(const QString &name, const QString &value); + const QString getDocumentProperty(const QString &name) const; + /** @brief get the list of renderer properties that were saved in the document */ + QMap getRenderProperties() const; + void addTrackEffect(int ix, QDomElement effect); + void removeTrackEffect(int ix, QDomElement effect); + void setTrackEffect(int trackIndex, int effectIndex, QDomElement effect); + const EffectsList getTrackEffects(int ix); + QDomElement getTrackEffect(int trackIndex, int effectIndex) const; private: KUrl m_url; QDomDocument m_document; double m_fps; - int m_zoom; - /** Cursor position at document opening */ - int m_startPos; int m_width; int m_height; Timecode m_timecode; @@ -134,23 +139,27 @@ private: bool m_modified; /** Project folder, used to store project files (titles, effects,...) */ KUrl m_projectFolder; - double m_documentLoadingStep; - double m_documentLoadingProgress; bool m_abortLoading; - int m_zoneStart; - int m_zoneEnd; + QMap m_documentProperties; QList m_tracksList; - - QDomDocument createEmptyDocument(const int videotracks, const int audiotracks); - void setNewClipResource(const QString &id, const QString &path); QString searchFileRecursively(const QDir &dir, const QString &matchSize, const QString &matchHash) const; void moveProjectData(KUrl url); - bool checkDocumentClips(QDomNodeList producers, QDomNodeList infoproducers); + bool checkDocumentClips(QDomNodeList infoproducers); + /** Creates a new project */ + QDomDocument createEmptyDocument(int videotracks, int audiotracks); + QDomDocument createEmptyDocument(QList tracks); public slots: - void slotCreateTextClip(QString group, const QString &groupId); + void slotCreateXmlClip(const QString &name, const QDomElement xml, QString group, const QString &groupId); + void slotCreateColorClip(const QString &name, const QString &color, const QString &duration, QString group, const QString &groupId); + void slotCreateSlideshowClipFile(const QString name, const QString path, int count, const QString duration, + const bool loop, const bool crop, const bool fade, + const QString &luma_duration, const QString &luma_file, const int softness, + const QString &animation, QString group, const QString &groupId); + void slotCreateTextClip(QString group, const QString &groupId, const QString &templatePath = QString()); + void slotCreateTextTemplateClip(QString group, const QString &groupId, KUrl path); /** Set to true if document needs saving, false otherwise */ void setModified(bool mod = true); void checkProjectClips();