X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fclipmanager.h;h=09d2c2c08c0cedf691c6648cba4e13a2070e78f6;hb=02188f8892627bffa8c7b3a971a9be8624e370bc;hp=138c3ffbaf2d50e335e9ec44f45c1d74a96aef53;hpb=43347839feb2bd83cac3306a4771dc97df37d804;p=kdenlive diff --git a/src/clipmanager.h b/src/clipmanager.h index 138c3ffb..09d2c2c0 100644 --- a/src/clipmanager.h +++ b/src/clipmanager.h @@ -30,6 +30,7 @@ #include #include +#include #include #include "gentime.h" @@ -38,31 +39,76 @@ class KdenliveDoc; class DocClipBase; +class AbstractGroupItem; -class ClipManager: public QObject { -Q_OBJECT public: +namespace Mlt +{ +class Producer; +}; +class ClipManager: public QObject +{ +Q_OBJECT public: ClipManager(KdenliveDoc *doc); virtual ~ ClipManager(); void addClip(DocClipBase *clip); DocClipBase *getClipAt(int pos); - void deleteClip(uint clipId); - void slotAddClipFile(const KUrl url, const QString group); - void slotAddColorClipFile(const QString name, const QString color, QString duration, const QString group); - DocClipBase *getClipById(int clipId); - void slotDeleteClip(uint clipId); - void setThumbsProgress(KUrl url, int progress); + void deleteClip(const QString &clipId); + void slotAddClipFile(const KUrl url, const QString group, const QString &groupId); + void slotAddClipList(const KUrl::List urls, const QString group, const QString &groupId); + void slotAddTextClipFile(const QString titleName, int out, const QString xml, const QString group, const QString &groupId); + void slotAddTextTemplateClip(QString titleName, const KUrl path, const QString group, const QString &groupId); + void slotAddColorClipFile(const QString name, const QString color, QString duration, const QString group, const QString &groupId); + 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); + DocClipBase *getClipById(QString clipId); + const QList getClipByResource(QString resource); + void slotDeleteClips(QStringList ids); + void setThumbsProgress(const QString &message, int progress); void checkAudioThumbs(); + QList documentClipList() const; + QMap documentFolderList() const; + int getFreeClipId(); + int getFreeFolderId(); + int lastClipId() const; + void startAudioThumbsGeneration(); + void endAudioThumbsGeneration(const QString &requestedId); + void askForAudioThumb(const QString &id); + QString projectFolder() const; + void clearUnusedProducers(); + void resetProducersList(const QList prods); + void addFolder(const QString&, const QString&); + void deleteFolder(const QString&); + void clear(); + AbstractGroupItem *createGroup(); + void removeGroup(AbstractGroupItem *group); + QDomElement groupsXml() const; + int clipsCount() const; + +public slots: + void updatePreviewSettings(); + +private slots: + void slotClipModified(const QString &path); private: // Private attributes /** the list of clips in the document */ QList m_clipList; + /** the list of groups in the document */ + QList m_groupsList; + QMap m_folderList; + QList m_audioThumbsQueue; /** the document undo stack*/ KdenliveDoc *m_doc; int m_clipIdCounter; + int m_folderIdCounter; bool m_audioThumbsEnabled; + QString m_generatingAudioId; + KDirWatch m_fileWatcher; +signals: + void reloadClip(const QString &); + void checkAllClips(); }; #endif