+ /** @brief Gets clip's marker times.
+ * @return A list of the times. */
+ QList <GenTime> snapMarkers() const;
+ QList <CommentedTime> commentedSnapMarkers() const;
+
+ /** @brief Gets the position of the fade in effect. */
+ int fadeIn() const;
+
+ /** @brief Gets the position of the fade out effect. */
+ int fadeOut() const;
+ void setSelectedEffect(const int ix);
+ void updateKeyframeEffect();
+ QDomElement selectedEffect();
+ int selectedEffectIndex() const;
+ void initEffect(QDomElement effect, int diff = 0);
+ QString keyframes(const int index);
+ void setKeyframes(const int ix, const QString keyframes);
+ void setEffectList(const EffectsList effectList);
+ void setSpeed(const double speed, int strobe);
+ double speed() const;
+ int strobe() const;
+ GenTime maxDuration() const;
+ GenTime speedIndependantCropStart() const;
+ GenTime speedIndependantCropDuration() const;
+ const ItemInfo speedIndependantInfo() 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;
+
+ /** @brief Adjusts the keyframe values to fit a clip resizement.
+ * @param previous Old crop value
+ * @param current New crop value
+ * @param fromStart true = crop from start, false = crop from end
+ * @return true if anything was modified */
+ bool checkEffectsKeyframesPos(const int previous, const int current, bool fromStart);
+ void insertKeyframe(QDomElement effect, int pos, int val);
+ void movedKeyframe(QDomElement effect, int oldpos, int newpos, double value);
+ void updateKeyframes(QDomElement effect);
+
+protected:
+ //virtual void mouseMoveEvent(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:
+ DocClipBase *m_clip;
+ ItemInfo m_speedIndependantInfo;
+ QString m_producer;