* @param url file to add
* @param group name of the group to insert the file in (can be empty)
* @param groupId id of the group (if any) */
- void slotAddClipFile(const KUrl &url, const QString &group, const QString &groupId);
+ void slotAddClipFile(const KUrl &url, const QString &group, const QString &groupId, const QString &comment = QString());
/** @brief Adds a list of files to the project.
* @param urls files to add
* @param group name of the group to insert the files in (can be empty)
* @param groupId id of the group (if any)
* It checks for duplicated items and asks to the user for instructions. */
- void slotAddClipList(const KUrl::List urls, const QString &group, const QString &groupId);
+ void slotAddClipList(const KUrl::List urls, const QString &group, const QString &groupId, const QString &comment = QString());
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 slotAddXmlClipFile(const QString &name, const QDomElement &xml, const QString &group, const QString &groupId);
int getFreeClipId();
int getFreeFolderId();
int lastClipId() const;
- void startAudioThumbsGeneration();
- void endAudioThumbsGeneration(const QString &requestedId);
void askForAudioThumb(const QString &id);
QString projectFolder() const;
void clearUnusedProducers();
/** Check the list of externally modified clips, and process them if they were not modified in the last 1500 milliseconds */
void slotProcessModifiedClips();
void slotGetThumbs();
+ void slotGetAudioThumbs();
private: // Private attributes
/** the list of clips in the document */
KdenliveDoc *m_doc;
int m_clipIdCounter;
int m_folderIdCounter;
- QString m_generatingAudioId;
KDirWatch m_fileWatcher;
/** Timer used to reload clips when they have been externally modified */
QTimer m_modifiedTimer;
QMap <QString, int> m_requestedThumbs;
QMutex m_thumbsMutex;
QFuture<void> m_thumbsThread;
+ /** @brief The id of currently processed clip for thumbs creation. */
+ QString m_processingThumbId;
/** @brief If true, abort processing of clip thumbs before removing a clip. */
bool m_abortThumb;
+ /** @brief We are about to delete the clip producer, stop processing thumbs. */
+ bool m_closing;
+ QFuture<void> m_audioThumbsThread;
+ /** @brief If true, abort processing of audio thumbs. */
+ bool m_abortAudioThumb;
+ /** @brief The id of currently processed clip for audio thumbs creation. */
+ QString m_processingAudioThumbId;
signals:
void reloadClip(const QString &);
void modifiedClip(const QString &);
void missingClip(const QString &);
void availableClip(const QString &);
- void checkAllClips(bool displayRatioChanged, bool fpsChanged);
+ void checkAllClips(bool displayRatioChanged, bool fpsChanged, QStringList brokenClips);
+ void displayMessage(const QString &, int);
};
#endif