Q_OBJECT
public:
- ClipItem(DocClipBase *clip, ItemInfo info, double fps, bool generateThumbs = true);
+ ClipItem(DocClipBase *clip, ItemInfo info, double fps, double speed, bool generateThumbs = true);
virtual ~ ClipItem();
virtual void paint(QPainter *painter,
const QStyleOptionGraphicsItem *option,
QWidget *);
virtual int type() const;
- void resizeStart(int posx);
- void resizeEnd(int posx);
+ void resizeStart(int posx, double speed = 1.0);
+ void resizeEnd(int posx, double speed = 1.0, bool updateKeyFrames = true);
OPERATIONTYPE operationMode(QPointF pos);
const QString &clipProducer() const;
int clipType() const;
DocClipBase *baseClip() const;
QString clipName() const;
+ void setClipName(const QString &name);
QDomElement xml() const;
ClipItem *clone(ItemInfo info) const;
const EffectsList effectList();
/** 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 */
- QHash <QString, QString> addEffect(QDomElement effect, bool animate = true);
+ EffectsParameterList addEffect(QDomElement effect, bool animate = true);
/** Get the effect parameters that will be passed to Mlt */
- QHash <QString, QString> getEffectArgs(QDomElement effect);
+ EffectsParameterList getEffectArgs(QDomElement effect);
/** Delete effect with id index */
void deleteEffect(QString index);
/** return the number of effects in that clip */
void setSpeed(const double speed);
double speed() const;
GenTime maxDuration() const;
+ GenTime cropStart() const;
+ GenTime endPos() const;
+ GenTime cropDuration() const;
int hasEffect(const QString &tag, const QString &id) const;
+ bool checkKeyFrames();
+ QPixmap startThumb() const;
+ QPixmap endThumb() const;
+ void setVideoOnly(bool force);
+ void setAudioOnly(bool force);
+ bool isVideoOnly() const;
+ bool isAudioOnly() const;
protected:
//virtual void mouseMoveEvent(QGraphicsSceneMouseEvent * event);
uint m_startFade;
uint m_endFade;
int m_maxTrack;
+ bool m_audioOnly;
+ bool m_videoOnly;
QPixmap m_startPix;
QPixmap m_endPix;
QMap<int, QPainterPath > channelPaths;
/** Called when clip start is resized, adjust keyframes values */
void checkEffectsKeyframesPos(const int previous, const int current, bool fromStart);
+ QPixmap m_videoPix;
+ QPixmap m_audioPix;
private slots:
void slotFetchThumbs();
void animate(qreal value);
void slotSetStartThumb(QImage img);
void slotSetEndThumb(QImage img);
- void slotSetStartThumb(QPixmap pix);
- void slotSetEndThumb(QPixmap pix);
void slotThumbReady(int frame, QPixmap pix);
+public slots:
+ void slotSetStartThumb(const QPixmap pix);
+ void slotSetEndThumb(const QPixmap pix);
+
signals:
void getThumb(int, int);
void prepareAudioThumb(double, int, int, int);