+ ClipItem *clone(ItemInfo info) const;
+ const EffectsList effectList();
+ void setFadeOut(int pos);
+ void setFadeIn(int pos);
+ /** 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 */
+ EffectsParameterList addEffect(QDomElement effect, bool animate = true);
+ /** Get the effect parameters that will be passed to Mlt */
+ EffectsParameterList 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);
+ void flashClip();
+ void addTransition(Transition*);
+ /** regenerate audio and video thumbnails */
+ void resetThumbs();
+ /** update clip properties from base clip */
+ void refreshClip();
+ /** Returns a list of times for this clip's markers */
+ QList <GenTime> snapMarkers() const;
+ QList <CommentedTime> commentedSnapMarkers() const;
+ uint fadeIn() const;
+ uint fadeOut() const;
+ void setSelectedEffect(const int ix);
+ void updateKeyframeEffect();
+ QDomElement selectedEffect();
+ int selectedEffectIndex() const;
+ void initEffect(QDomElement effect);
+ QString keyframes(const int index);
+ void setKeyframes(const int ix, const QString keyframes);
+ void setEffectList(const EffectsList effectList);
+ 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;
+
+protected:
+ //virtual void mouseMoveEvent(QGraphicsSceneMouseEvent * event);
+ virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent * event);
+ virtual void mousePressEvent(QGraphicsSceneMouseEvent * event);
+ virtual void dragEnterEvent(QGraphicsSceneDragDropEvent *event);
+ virtual void dragLeaveEvent(QGraphicsSceneDragDropEvent *event);
+ virtual void dropEvent(QGraphicsSceneDragDropEvent *event);
+ virtual void hoverEnterEvent(QGraphicsSceneHoverEvent *);
+ virtual void hoverLeaveEvent(QGraphicsSceneHoverEvent *);
+ virtual QVariant itemChange(GraphicsItemChange change, const QVariant &value);
+
+private: