#include <QPixmap>
#include <QObject>
#include <QTimer>
+#include <QProcess>
+#include <QFuture>
#include <KUrl>
void setProducerProperty(const char *name, const char *data);
void resetProducerProperty(const char *name);
void clearProducers();
- void deleteProducers();
+ void deleteProducers(bool clearThumbCreator = true);
/** Set default play zone for clip monitor */
void setZone(QPoint zone);
/** Returns true is clip is missing but user wants to keep it as placeholder */
bool isPlaceHolder() const;
+ void setValid();
static QString getHash(const QString &path);
void addCutZone(int in, int out, QString desc = QString());
bool hasVideoCodec(const QString &codec) const;
bool hasAudioCodec(const QString &codec) const;
+ bool checkHash() const;
+ void setPlaceHolder(bool place);
+ /** @brief Generate a proxy clip (lower resolution copy) named like the clip's hash. */
+ void generateProxy(KUrl proxyFolder, QString params);
+ /** @brief Abort creation of the proxy clip (lower resolution copy). */
+ void abortProxy();
private: // Private attributes
QMap <QString, QString> m_properties;
/** Holds clip metadata like author, copyright,... */
QMap <QString, QString> m_metadata;
+
+ QFuture<void> m_proxyThread;
+ /** Used to kill the proxy thread */
+ bool m_abortProxy;
/** Create connections for audio thumbnails */
void slotCreateAudioTimer();
void slotRefreshProducer();
void updateAudioThumbnail(QMap<int, QMap<int, QByteArray> > data);
bool slotGetAudioThumbs();
QList < CommentedTime > commentedSnapMarkers() const;
- void setSnapMarkers(QList < CommentedTime > markers);
GenTime findNextSnapMarker(const GenTime & currTime);
GenTime findPreviousSnapMarker(const GenTime & currTime);
GenTime hasSnapMarkers(const GenTime & time);
QMap <QString, QString> properties() const;
QMap <QString, QString> metadata() const;
+private slots:
+ void slotGenerateProxy(QStringList parameters);
signals:
- void getAudioThumbs();
void gotAudioData();
+ void proxyReady(const QString &, bool success);
};
#endif