X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fclipmanager.h;h=fe31b853d440526c7d090a0ab84be8cfb76a069f;hb=a01579df948c769c9c565e1e819a03100f5da88f;hp=9535c7744a62d822ca1c8d2c649562745218875c;hpb=c50bb6246e30215bcade0e8d699c3efd9bd342fc;p=kdenlive diff --git a/src/clipmanager.h b/src/clipmanager.h index 9535c774..fe31b853 100644 --- a/src/clipmanager.h +++ b/src/clipmanager.h @@ -72,14 +72,14 @@ Q_OBJECT public: * @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); @@ -98,8 +98,6 @@ Q_OBJECT public: int getFreeClipId(); int getFreeFolderId(); int lastClipId() const; - void startAudioThumbsGeneration(); - void endAudioThumbsGeneration(const QString &requestedId); void askForAudioThumb(const QString &id); QString projectFolder() const; void clearUnusedProducers(); @@ -129,6 +127,7 @@ private slots: /** 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 */ @@ -141,7 +140,6 @@ private: // Private attributes 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; @@ -151,15 +149,25 @@ private: // Private attributes QMap m_requestedThumbs; QMutex m_thumbsMutex; QFuture 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 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