AbstractClipItem(const ItemInfo info, const QRectF& rect, double fps);
virtual ~ AbstractClipItem();
void updateSelectedKeyFrame();
+
+ /** @brief Move the selected keyframe (does not influence the effect, only the display in timeline).
+ * @param pos new Position
+ * @param value new Value */
void updateKeyFramePos(const GenTime pos, const double value);
- void addKeyFrame(const GenTime pos, const double value);
+ int addKeyFrame(const GenTime pos, const double value);
bool hasKeyFrames() const;
+ int editedKeyFramePos() const;
int selectedKeyFramePos() const;
double selectedKeyFrameValue() const;
+ double editedKeyFrameValue() const;
double keyFrameFactor() const;
+ /** @brief Returns the number of keyframes the selected effect has. */
+ int keyFrameNumber() const;
ItemInfo info() const;
CustomTrackScene* projectScene();
void updateRectGeometry();
virtual int track() const ;
virtual GenTime cropStart() const ;
virtual GenTime cropDuration() const ;
- virtual void resizeStart(int posx);
+
+ /** @brief Resizes the clip from the start.
+ * @param posx Absolute position of new in point
+ * @param hasSizeLimit (optional) Whether the clip has a maximum size */
+ virtual void resizeStart(int posx, bool hasSizeLimit = true);
+
+ /** @brief Resizes the clip from the end.
+ * @param posx Absolute position of new out point */
virtual void resizeEnd(int posx);
virtual double fps() const;
virtual void updateFps(double fps);
protected:
ItemInfo m_info;
// int m_track;
+ /** The position of the current keyframe when it has moved */
int m_editedKeyframe;
+ /** The position of the current keyframe before it was moved */
int m_selectedKeyframe;
/* GenTime m_cropStart;
GenTime m_cropDuration;
QMap <int, int> m_keyframes;
double m_keyframeFactor;
double m_keyframeDefault;
+ /** The (keyframe) parameter that is visible and editable in timeline (on the clip) */
+ int m_visibleParam;
double m_fps;
//QRect visibleRect();
void drawKeyFrames(QPainter *painter, QRectF exposedRect);