]> git.sesse.net Git - kdenlive/blobdiff - src/kthumb.h
Ukranian translation by Yuri Chornoivan
[kdenlive] / src / kthumb.h
index 9a1dad8905f2a01140d18dead63e53a73ddb7fa4..e2a9594de277e51a45c1c9fff9f3f2b522318968 100644 (file)
@@ -23,6 +23,7 @@
 #include <QThread>
 #include <QMutex>
 #include <QDomElement>
+#include <QFuture>
 
 #include <KUrl>
 
@@ -56,7 +57,7 @@ class MyThread : public QThread
     Q_OBJECT
 public:
     virtual void run();
-    void init(QObject *parent, KUrl url, QString target, double frame, double frameLength, int frequency, int channels, int arrayWidth);
+    void init(KUrl url, QString target, double frame, double frameLength, int frequency, int channels, int arrayWidth);
     bool isWorking();
     bool stop_me;
 
@@ -69,7 +70,6 @@ private:
     int m_channels;
     int m_arrayWidth;
     bool m_isWorking;
-    QObject *m_parent;
 
 signals:
     void audioThumbProgress(const int);
@@ -101,24 +101,26 @@ public slots:
     void removeAudioThumb();
     void getAudioThumbs(int channel, double frame, double frameLength, int arrayWidth);
     static QPixmap getImage(KUrl url, int frame, int width, int height);
-    static QPixmap getFrame(Mlt::Producer *producer, int framepos, int width, int height);
+    static QImage getFrame(Mlt::Producer *producer, int framepos, int width, int height);
 
 private slots:
     void slotAudioThumbProgress(const int progress);
     void slotAudioThumbOver();
 
 private:
-    MyThread audioThumbProducer;
+    MyThread m_audioThumbProducer;
     KUrl m_url;
     QString m_thumbFile;
     double m_dar;
     Mlt::Producer *m_producer;
     ClipManager *m_clipManager;
     QString m_id;
-    int m_mainFrame;
+    QList <int> m_requestedThumbs;
+    QFuture<void> m_future;
+    void doGetThumbs();
 
 signals:
-    void thumbReady(int, QPixmap);
+    void thumbReady(int, QImage);
     void mainThumbReady(const QString &, QPixmap);
     void audioThumbReady(QMap <int, QMap <int, QByteArray> >);
 };