class DocClipBase: public QObject {
Q_OBJECT public:
/** this enum determines the types of "feed" available within this clip. types must be non-exclusive
- * - e.g. if you can have audio and video seperately, it should be possible to combin the two, as is
+ * - e.g. if you can have audio and video separately, it should be possible to combin the two, as is
* done here. If a new clip type is added then it should be possible to combine it with both audio
* and video. */
// DocClipBase & operator=(const DocClipBase & clip);
virtual ~ DocClipBase();
- /** sets the name of this clip. */
- void setName(const QString name);
-
/** returns the name of this clip. */
- const QString & name() const;
+ const QString name() const;
/** Returns the description of this clip. */
const QString description() const;
/** Returns any property of this clip. */
const QString getProperty(const QString prop) const;
- void setProperty(QString key, QString value);
+ void setProperty(const QString &key, const QString &value);
+ void clearProperty(const QString &key);
/** Returns the internal unique id of the clip. */
const QString &getId() const;
//KThumb *thumbCreator;
bool audioThumbCreated() const;
+ /*void getClipMainThumb();*/
/** returns the duration of this clip */
const GenTime & duration() const;
- const GenTime &maxDuration() const;
+ const GenTime maxDuration() const;
/** returns the duration of this clip */
void setDuration(GenTime dur);
}
void setProducer(Mlt::Producer *producer);
- Mlt::Producer *producer();
-
- /*virtual DocClipAVFile *toDocClipAVFile() {
- return 0;
- }
-
- virtual DocClipTextFile *toDocClipTextFile() {
- return 0;
- }
-
- virtual bool isDocClipTextFile() const {
- return false;
- }
-
- virtual bool isDocClipVirtual() const {
- return false;
- }
-
- virtual DocClipVirtual *toDocClipVirtual() {
- return 0;
- }*/
+ Mlt::Producer *producer(int track = -1);
/** Returns true if this clip is a project clip, false otherwise. Overridden in DocClipProject,
* where it returns true. */
bool isProjectClip() const {
return false;
}
- // Appends scene times for this clip to the passed vector.
- /* virtual void populateSceneTimes(QList < GenTime >
- &toPopulate) const = 0;*/
/** Reads in the element structure and creates a clip out of it.*/
// Returns an XML document that describes part of the current scene.
/** format is frame -> channel ->bytes */
QMap<int, QMap<int, QByteArray> > audioFrameChache;
- /** Clip is ready to get thumbs */
- void slotRequestAudioThumbs();
/** Free cache data */
void slotClearAudioCache();
+ void askForAudioThumbs();
+ QString getClipHash() const;
+ void refreshThumbUrl();
+ const char *producerProperty(const char *name) const;
+ void setProducerProperty(const char *name, const char *data);
+ void deleteProducers();
+
+ /** Set default play zone for clip monitor */
+ void setZone(QPoint zone);
+ /** Get default play zone for clip monitor */
+ QPoint zone() const;
private: // Private attributes
- /** The name of this clip */
- QString m_name;
+
/** A description of this clip */
QString m_description;
/** The number of times this clip is used in the project - the number of references to this clip
* that exist. */
uint m_refcount;
- Mlt::Producer *m_clipProducer;
+ QList <Mlt::Producer *> m_baseTrackProducers;
CLIPTYPE m_clipType;
/** A list of snap markers; these markers are added to a clips snap-to points, and are displayed as necessary. */
void setAudioThumbCreated(bool isDone);
/** Holds clip infos like fps, size,... */
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 getFileHash(const QString &url);
public slots:
void updateAudioThumbnail(QMap<int, QMap<int, QByteArray> > data);
- void slotGetAudioThumbs();
+ bool slotGetAudioThumbs();
QList < CommentedTime > commentedSnapMarkers() const;
void setSnapMarkers(QList < CommentedTime > markers);
GenTime findNextSnapMarker(const GenTime & currTime);
void setClipThumbFrame(const uint &ix);
uint getClipThumbFrame() const;
void setProperties(QMap <QString, QString> properties);
+ void setMetadata(QMap <QString, QString> properties);
QMap <QString, QString> properties() const;
+ QMap <QString, QString> metadata() const;
+
signals:
void getAudioThumbs();