]> git.sesse.net Git - kdenlive/blobdiff - src/projectlist.h
remove useless locks
[kdenlive] / src / projectlist.h
index 934856ef016c7a4b7a7c71b47b2636414fa30f5b..4b4ba236ac3d687a119dbefefe7d8097a231520d 100644 (file)
@@ -31,6 +31,7 @@
 #include <QTimer>
 #include <QApplication>
 #include <QFuture>
+#include <QFutureSynchronizer>
 
 #include <KTreeWidgetSearchLine>
 #include <KUrl>
@@ -52,6 +53,13 @@ namespace Mlt
 class Producer;
 };
 
+struct PROXYINFO {
+    QString dest;
+    QString src;
+    CLIPTYPE type;
+    int exif;
+};
+
 class ProjectItem;
 class ProjectListView;
 class Render;
@@ -259,14 +267,13 @@ private:
     QMenu *m_transcodeAction;
     KdenliveDoc *m_doc;
     ItemDelegate *m_listViewDelegate;
-    /** @brief True if we have not yet finished opening the document. */
+    /** @brief False if we have not yet finished opening the document. */
     bool m_refreshed;
     QToolButton *m_addButton;
     QToolButton *m_deleteButton;
     QToolButton *m_editButton;
     QMap <QString, QDomElement> m_infoQueue;
     QMap <QString, QDomElement> m_producerQueue;
-    void requestClipInfo(const QDomElement xml, const QString id);
     QList <QString> m_thumbnailQueue;
     QAction *m_proxyAction;
     QStringList m_processingClips;
@@ -274,6 +281,10 @@ private:
     QStringList m_abortProxy;
     /** @brief Holds a list of proxy urls that are currently being created. */
     QStringList m_processingProxy;
+    QMutex m_mutex;
+    bool m_abortAllProxies;
+    QList <PROXYINFO> m_proxyList;
+    QFutureSynchronizer<void> m_proxyThreads;
     
     void requestClipThumbnail(const QString id);
 
@@ -340,7 +351,7 @@ private slots:
     /** @brief Stop creation of this clip's proxy. */
     void slotAbortProxy(const QString id, const QString path);
     /** @brief Start creation of proxy clip. */
-    void slotGenerateProxy(const QString destPath, const QString sourcePath, int clipType, int exif);
+    void slotGenerateProxy();//const QString destPath, const QString sourcePath, int clipType, int exif);
 
 signals:
     void clipSelected(DocClipBase *, QPoint zone = QPoint());