void resizeStart(int posx, bool size = true);
void resizeEnd(int posx);
OPERATIONTYPE operationMode(QPointF pos);
+ static int itemHeight();
const QString clipProducer() const;
int clipType() const;
DocClipBase *baseClip() const;
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);
*
* Can be used for all effects using mlt_geometry with keyframes, but at the moment Pan & Zoom is the only one. */
QList <int> updatePanZoom(int width, int height, int cut = 0);
+ void updateGeometryKeyframes(QDomElement effect, int paramIndex, int width, int height, ItemInfo oldInfo);
+ bool updateNormalKeyframes(QDomElement parameter);
+
+ /** @brief Adjusts effects after a clip duration change. */
+ QMap<int, QDomElement> adjustEffectsToDuration(int width, int height, ItemInfo oldInfo);
/** Returns the necessary (audio, video, general) producer.
* @param track Track of the requested producer
QPixmap m_videoPix;
QPixmap m_audioPix;
- void doGetIntraThumbs(QPainter *painter, const QPointF startPos, int offset, int start, int end);
+ /** @brief Keyframes type can be "keyframe" or "simplekeyframe" which have to be painted differently.
+ * True if keyframe type is "keyframe" */
+ bool m_limitedKeyFrames;
private slots:
void slotGetStartThumb();
void slotSetStartThumb(QImage img);
void slotSetEndThumb(QImage img);
void slotThumbReady(int frame, QImage img);
+ /** @brief The thumbnailer has finished to cache all required thumbs. */
+ void slotGotThumbsCache();
public slots:
void slotFetchThumbs();