void addMarker(const QString &id, const GenTime &pos, const QString &comment);
void setScale(double scaleFactor, double verticalScale);
void deleteClip(const QString &clipId);
+ /** @brief Add effect to current clip */
void slotAddEffect(QDomElement effect, GenTime pos, int track);
void slotAddGroupEffect(QDomElement effect, AbstractGroupItem *group);
void addEffect(int track, GenTime pos, QDomElement effect);
void deleteEffect(int track, GenTime pos, QDomElement effect);
- void updateEffect(int track, GenTime pos, QDomElement insertedEffect, int ix, bool refreshEffectStack = false);
- void moveEffect(int track, GenTime pos, int oldPos, int newPos);
+ void updateEffect(int track, GenTime pos, QDomElement insertedEffect, bool refreshEffectStack = false);
+ /** @brief Enable / disable a list of effects */
+ void updateEffectState(int track, GenTime pos, QList <int> effectIndexes, bool disable, bool updateEffectStack);
+ void moveEffect(int track, GenTime pos, QList <int> oldPos, QList <int> newPos);
void addTransition(ItemInfo transitionInfo, int endTrack, QDomElement params, bool refresh);
void deleteTransition(ItemInfo transitionInfo, int endTrack, QDomElement params, bool refresh);
void updateTransition(int track, GenTime pos, QDomElement oldTransition, QDomElement transition, bool updateTransitionWidget);
bool hasAudio(int track) const;
int getFrameWidth();
+ /** @brief Returns last requested seeking pos (or SEEK_INACTIVE if no seek). */
+ int seekPosition() const;
public slots:
- void setCursorPos(int pos, bool seek = true);
+ /** @brief Send seek request to MLT. */
+ void seekCursorPos(int pos);
+ /** @brief Move timeline cursor to new position. */
+ void setCursorPos(int pos);
void moveCursorPos(int delta);
void updateCursorPos();
void slotDeleteEffect(ClipItem *clip, int track, QDomElement effect, bool affectGroup = true);
- void slotChangeEffectState(ClipItem *clip, int track, int effectPos, bool disable);
- void slotChangeEffectPosition(ClipItem *clip, int track, int currentPos, int newPos);
+ void slotChangeEffectState(ClipItem *clip, int track, QList <int> effectIndexes, bool disable);
+ void slotChangeEffectPosition(ClipItem *clip, int track, QList <int> currentPos, int newPos);
void slotUpdateClipEffect(ClipItem *clip, int track, QDomElement oldeffect, QDomElement effect, int ix, bool refreshEffectStack = true);
void slotUpdateClipRegion(ClipItem *clip, int ix, QString region);
void slotRefreshEffects(ClipItem *clip);
* @param id Id of the marker's clip
* @param t Position of the marker
* @param c Comment of the marker */
- void slotAddClipMarker(const QString &id, GenTime t, QString c);
+ void slotAddClipMarker(const QString &id, GenTime t, QString c, QUndoCommand *groupCommand = 0);
+ void slotLoadClipMarkers(const QString &id);
+ void slotSaveClipMarkers(const QString &id);
bool addGuide(const GenTime &pos, const QString &comment);
/** @brief Shows a dialog for adding a guide.
void adjustEffects(ClipItem *item, ItemInfo oldInfo, QUndoCommand *command);
/** @brief Prepare an add clip command for an effect */
- void processEffect(ClipItem *item, QDomElement effect, QUndoCommand *effectCommand);
+ void processEffect(ClipItem *item, QDomElement effect, int offset, QUndoCommand *effectCommand);
/** @brief Get effect parameters ready for MLT*/
void adjustEffectParameters(EffectsParameterList ¶meters, QDomNodeList params, const QString &prefix = QString());
void showTrackEffects(int, TrackInfo);
/** @brief Update the track effect button that shows if a track has effects or not.*/
void updateTrackEffectState(int);
+ /** @brief Cursor position changed, repaint ruler.*/
+ void updateRuler();
};
#endif