#include "definitions.h"
#include "gentime.h"
+#include "effectslist.h"
+#include "docclipbase.h"
#include "kthumb.h"
Q_OBJECT
public:
- ClipItem(QDomElement xml, int track, int startpos, const QRectF & rect, int duration = -1);
+ ClipItem(DocClipBase *clip, int track, int startpos, const QRectF & rect, int duration);
virtual ~ ClipItem();
virtual void paint(QPainter *painter,
const QStyleOptionGraphicsItem *option,
OPERATIONTYPE operationMode(QPointF pos, double scale);
int clipProducer();
int clipType();
+ DocClipBase *baseClip();
QString clipName();
int maxDuration();
int track();
void setTrack(int track);
int startPos();
+ int cropStart();
int endPos();
int duration();
QDomElement xml() const;
int fadeOut() const;
void setFadeOut(int pos, double scale);
void setFadeIn(int pos, double scale);
+ /** Give a string list of the clip's effect names */
+ QStringList effectNames();
+ /** Add an effect to the clip and return the parameters that will be passed to Mlt */
+ QMap <QString, QString> addEffect(QDomElement effect);
+ /** Get the effect parameters that will be passed to Mlt */
+ QMap <QString, QString> getEffectArgs(QDomElement effect);
+ /** Delete effect with id index */
+ void deleteEffect(QString index);
+ /** return the number of effects in that clip */
+ int effectsCount();
+ /** return a unique effect id */
+ int effectsCounter();
+ /** return the xml of effect at index ix in stack */
+ QDomElement effectAt(int ix);
+ /** Replace effect at pos ix with given value */
+ void setEffectAt(int ix, QDomElement effect);
protected:
virtual void mouseMoveEvent ( QGraphicsSceneMouseEvent * event );
private:
QDomElement m_xml;
+ DocClipBase *m_clip;
int m_textWidth;
OPERATIONTYPE m_resizeMode;
int m_grabPoint;
int m_startPos;
QPixmap m_startPix;
QPixmap m_endPix;
- KThumb *m_thumbProd;
+ bool m_hasThumbs;
QTimer *startThumbTimer;
QTimer *endThumbTimer;
uint m_startFade;
uint m_endFade;
+ /** counter used to provide a unique id to each effect */
+ int m_effectsCounter;
+
+ EffectsList m_effectList;
private slots:
void slotThumbReady(int frame, QPixmap pix);
void slotFetchThumbs();
void slotGetStartThumb();
void slotGetEndThumb();
+ void slotGotAudioData();
signals:
void getThumb(int, int);