void moveClip(const ItemInfo &start, const ItemInfo &end, bool refresh);
void moveGroup(QList <ItemInfo> startClip, QList <ItemInfo> startTransition, const GenTime &offset, const int trackOffset, bool reverseMove = false);
/** move transition, startPos = (old start, old end), endPos = (new start, new end) */
- void moveTransition(const ItemInfo &start, const ItemInfo &end, bool m_refresh);
+ void moveTransition(const ItemInfo &start, const ItemInfo &end, bool refresh);
void resizeClip(const ItemInfo &start, const ItemInfo &end, bool dontWorry = false);
void addClip(QDomElement xml, const QString &clipId, ItemInfo info, EffectsList list = EffectsList(), bool overwrite = false, bool push = false, bool refresh = true);
void deleteClip(ItemInfo info, bool refresh = true);
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 triggeredByUser = true);
+ void updateEffect(int track, GenTime pos, QDomElement insertedEffect, int ix, bool refreshEffectStack = false);
void moveEffect(int track, GenTime pos, int oldPos, int newPos);
void addTransition(ItemInfo transitionInfo, int endTrack, QDomElement params, bool refresh);
void deleteTransition(ItemInfo transitionInfo, int endTrack, QDomElement params, bool refresh);
/** @brief Cuts all clips that are selected at the timeline cursor position. */
void cutSelectedClips();
void setContextMenu(QMenu *timeline, QMenu *clip, QMenu *transition, QActionGroup *clipTypeGroup, QMenu *markermenu);
- void checkTrackHeight();
+ bool checkTrackHeight();
+ void updateSceneFrameWidth();
//QList <TrackInfo> tracksList() const;
void setTool(PROJECTTOOL tool);
ClipItem *cutClip(ItemInfo info, GenTime cutTime, bool cut, bool execute = true);
QList<ItemInfo> findId(const QString &clipId);
void clipStart();
void clipEnd();
- void changeClipSpeed();
void doChangeClipSpeed(ItemInfo info, ItemInfo speedIndependantInfo, const double speed, const double oldspeed, int strobe, const QString &id);
/** @brief Sets the document as modified. */
void setDocumentModified();
*
* Inserts at the position of timeline cursor and selected track. */
void insertClipCut(DocClipBase *clip, int in, int out);
- void clearSelection();
+ void clearSelection(bool emitInfo = true);
void editItemDuration();
void buildGuidesMenu(QMenu *goMenu) const;
/** update the timeline objects when palette changes */
* Check whether given track has a clip with audio in it. */
bool hasAudio(int track) const;
+ int getFrameWidth();
+
public slots:
void setCursorPos(int pos, bool seek = true);
void moveCursorPos(int delta);
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 slotUpdateClipEffect(ClipItem *clip, int track, QDomElement oldeffect, QDomElement effect, int ix);
+ 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);
void setDuration(int duration);
* @param effect The new effect xml
* @param ix The track index */
void slotAddTrackEffect(const QDomElement &effect, int ix);
+ /** @brief Select all clips in selected track. */
+ void slotSelectClipsInTrack();
+ /** @brief Select all clips in timeline. */
+ void slotSelectAllClips();
/** @brief Update the list of snap points (sticky timeline hotspots).
* @param selected The currently selected clip if any
* @param offsetList The list of points that should also snap (for example when movin a clip, start and end points should snap
* @param skipSelectedItems if true, the selected item start and end points will not be added to snap list */
void updateSnapPoints(AbstractClipItem *selected, QList <GenTime> offsetList = QList <GenTime> (), bool skipSelectedItems = false);
+
+ void slotAddEffect(ClipItem *clip, QDomElement effect);
protected:
virtual void drawBackground(QPainter * painter, const QRectF & rect);
ClipItem *getClipItemAt(GenTime pos, int track);
ClipItem *getClipItemAtEnd(GenTime pos, int track);
ClipItem *getClipItemAtStart(GenTime pos, int track);
+ Transition *getTransitionItem(TransitionInfo info);
Transition *getTransitionItemAt(int pos, int track);
Transition *getTransitionItemAt(GenTime pos, int track);
Transition *getTransitionItemAtEnd(GenTime pos, int track);
* @param fromStart false = resize from end
* @param command Used as a parent for EditEffectCommand */
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);
private slots:
void slotRefreshGuides();
* @param id The clip's Id string.
* @param resetThumbs Should we recreate the timeline thumbnails. */
void slotRefreshThumbs(const QString &id, bool resetThumbs);
+ /** @brief A Filter job producer results. */
+ void slotGotFilterJobResults(const QString &id, int startPos, int track, const QString &filter, stringMap filterParams);
+
signals:
void cursorMoved(int, int);
void mousePosition(int);
/** @brief A clip was selected in timeline, update the effect stack
* @param clip The clip
- * @param ix The index of currently selected effect
* @param raise If true, the effect stack widget will be raised (come to front). */
- void clipItemSelected(ClipItem *clip, int ix = -1, bool raise = true);
+ void clipItemSelected(ClipItem *clip, bool raise = true);
void transitionItemSelected(Transition*, int track = 0, QPoint p = QPoint(), bool update = false);
void activateDocumentMonitor();
void trackHeightChanged();
void tracksChanged();
void displayMessage(const QString &, MessageType);
- void showClipFrame(DocClipBase *, QPoint, const int);
+ void showClipFrame(DocClipBase *, QPoint, bool, const int);
void doTrackLock(int, bool);
void updateClipMarkers(DocClipBase *);
void updateTrackHeaders();