* done here. If a new clip type is added then it should be possible to combine it with both audio
* and video. */
- DocClipBase(ClipManager *clipManager, QDomElement xml, uint id);
+ DocClipBase(ClipManager *clipManager, QDomElement xml, const QString &id);
// DocClipBase & operator=(const DocClipBase & clip);
virtual ~ DocClipBase();
/** Returns the description of this clip. */
const QString description() const;
+ /** Does this clip need a transparent background (e.g. for titles). */
+ bool isTransparent() 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. */
- uint getId() const;
- void setId(const uint &newId);
+ const QString &getId() const;
+ void setId(const QString &newId);
//KThumb *thumbCreator;
bool audioThumbCreated() const;
+ /*void getClipMainThumb();*/
/** returns the duration of this clip */
const GenTime & duration() const;
}
void setProducer(Mlt::Producer *producer);
- Mlt::Producer *producer();
+ Mlt::Producer *producer(int track = -1);
/*virtual DocClipAVFile *toDocClipAVFile() {
return 0;
/** 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();
private: // Private attributes
/** The name of this clip */
/** 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. */
bool m_audioThumbCreated;
/** a unique numeric id */
- uint m_id;
+ QString m_id;
void setAudioThumbCreated(bool isDone);
/** Holds clip infos like fps, size,... */
QMap <QString, QString> m_properties;
/** Create connections for audio thumbnails */
void slotCreateAudioTimer();
+ void slotRefreshProducer();
+ void setProducerProperty(const char *name, const char *data);
+ void setProducerProperty(const char *name, int data);
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);