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 slotDeleteClip(const QString & clipId);
void setThumbsProgress(const QString &message, int progress);
void checkAudioThumbs();
- QList <DocClipBase*> documentClipList();
+ QList <DocClipBase*> documentClipList() const;
+ QMap <QString, QString> 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 resetProducersList(QList <Mlt::Producer *> prods);
+ void addFolder(const QString&, const QString&);
+ void deleteFolder(const QString&);
+ void clear();
+ AbstractGroupItem *createGroup();
+ void removeGroup(AbstractGroupItem *group);
+ QDomElement groupsXml() const;
+
+public slots:
+ void updatePreviewSettings();
private: // Private attributes
/** the list of clips in the document */
QList <DocClipBase*> m_clipList;
+ /** the list of groups in the document */
+ QList <AbstractGroupItem *> m_groupsList;
+ QMap <QString, QString> m_folderList;
QList <QString> m_audioThumbsQueue;
/** the document undo stack*/
KdenliveDoc *m_doc;
int m_clipIdCounter;
+ int m_folderIdCounter;
bool m_audioThumbsEnabled;
QString m_generatingAudioId;