/** Retrieve a producer for a track */
Mlt::Producer *producer(int track = -1);
/** Retrieve the producer that shows only video */
/** Retrieve a producer for a track */
Mlt::Producer *producer(int track = -1);
/** Retrieve the producer that shows only video */
const char *producerProperty(const char *name) const;
void setProducerProperty(const char *name, const char *data);
void resetProducerProperty(const char *name);
const char *producerProperty(const char *name) const;
void setProducerProperty(const char *name, const char *data);
void resetProducerProperty(const char *name);
/** Returns true is clip is missing but user wants to keep it as placeholder */
bool isPlaceHolder() const;
/** Returns true is clip is missing but user wants to keep it as placeholder */
bool isPlaceHolder() const;
static QString getHash(const QString &path);
void addCutZone(int in, int out, QString desc = QString());
static QString getHash(const QString &path);
void addCutZone(int in, int out, QString desc = QString());
QList <CutZoneInfo> cutZones() const;
void updateCutZone(int oldin, int oldout, int in, int out, QString desc = QString());
QList <CutZoneInfo> cutZones() const;
void updateCutZone(int oldin, int oldout, 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);
+ QPixmap extractImage(int frame, int width, int height);
+
private: // Private attributes
/** The number of times this clip is used in the project - the number of references to this clip
private: // Private attributes
/** The number of times this clip is used in the project - the number of references to this clip
QMap <QString, QString> m_properties;
/** Holds clip metadata like author, copyright,... */
QMap <QString, QString> m_metadata;
QMap <QString, QString> m_properties;
/** Holds clip metadata like author, copyright,... */
QMap <QString, QString> m_metadata;
/** Create connections for audio thumbnails */
void slotCreateAudioTimer();
void slotRefreshProducer();
void setProducerProperty(const char *name, int data);
void setProducerProperty(const char *name, double data);
void getFileHash(const QString url);
/** Create connections for audio thumbnails */
void slotCreateAudioTimer();
void slotRefreshProducer();
void setProducerProperty(const char *name, int data);
void setProducerProperty(const char *name, double data);
void getFileHash(const QString url);
+ /** @brief When duplicating a producer, make sure all manually set properties are passed to it. */
+ void adjustProducerProperties(Mlt::Producer *prod, const QString &id, bool mute, bool blind);
+ /** @brief Create another instance of a producer. */
+ Mlt::Producer *cloneProducer(Mlt::Producer *source);
public slots:
void updateAudioThumbnail(QMap<int, QMap<int, QByteArray> > data);
bool slotGetAudioThumbs();
QList < CommentedTime > commentedSnapMarkers() const;
public slots:
void updateAudioThumbnail(QMap<int, QMap<int, QByteArray> > data);
bool slotGetAudioThumbs();
QList < CommentedTime > commentedSnapMarkers() const;
GenTime findNextSnapMarker(const GenTime & currTime);
GenTime findPreviousSnapMarker(const GenTime & currTime);
GenTime hasSnapMarkers(const GenTime & time);
GenTime findNextSnapMarker(const GenTime & currTime);
GenTime findPreviousSnapMarker(const GenTime & currTime);
GenTime hasSnapMarkers(const GenTime & time);
void setMetadata(QMap <QString, QString> properties);
QMap <QString, QString> properties() const;
QMap <QString, QString> metadata() const;
void setMetadata(QMap <QString, QString> properties);
QMap <QString, QString> properties() const;
QMap <QString, QString> metadata() const;
+ /** @brief Generate a proxy clip (lower resolution copy) named like the clip's hash. */
+ void createProxy(const QString id);
+ /** @brief Abort creation of the proxy clip (lower resolution copy). */
+ void abortProxy(const QString id, const QString proxyPath);