class EffectsList;
class ClipItem;
class MltVideoProfile;
+class Monitor;
class EffectStackView : public QWidget
{
Q_OBJECT
public:
- EffectStackView(QWidget *parent = 0);
+ EffectStackView(Monitor *monitor, QWidget *parent = 0);
virtual ~EffectStackView();
/** @brief Raises @param dock if a clip is loaded. */
/** @brief Tells the effect editor to update its timecode format. */
void updateTimecodeFormat();
+ /** @brief return the index of the track displayed in effect stack
+ ** @param ok set to true if we are looking at a track's effects, otherwise false. */
+ int isTrackMode(bool *ok) const;
+
private:
Ui::EffectStack_UI m_ui;
+ Monitor *m_monitor;
ClipItem* m_clipref;
QMap<QString, EffectsList*> m_effectLists;
+ EffectsList m_currentEffectList;
EffectStackEdit* m_effectedit;
+ /** @brief Effectstackview can show the effects of a clip or the effects of a track.
+ * true if showing track effects. */
+ bool m_trackMode;
+
+ /** @brief The track index of currently edited track. */
+ int m_trackindex;
+
+ /** If in track mode: Info of the edited track to be able to access its duration. */
+ TrackInfo m_trackInfo;
+
/** @brief Sets the list of effects according to the clip's effect list.
* @param ix Number of the effect to preselect */
void setupListView(int ix);
* @param c Clip whose effect list should be managed
* @param ix Effect to preselect */
void slotClipItemSelected(ClipItem* c, int ix);
-
+
+ void slotTrackItemSelected(int ix, const TrackInfo info);
+
/** @brief Emits updateClipEffect.
* @param old Old effect information
* @param e New effect information
/** @brief Sets the check state of all effects according to @param state. */
void slotCheckAll(int state);
+ /* @brief Define the region filter for current effect.
+ void slotRegionChanged();*/
+
+ /** @brief Checks whether the monitor scene has to be displayed. */
+ void slotCheckMonitorPosition(int renderPos);
+
+ /** @brief Pass position changes of the timeline cursor to the effects to keep their local timelines in sync. */
+ void slotRenderPos(int pos);
+
signals:
- void removeEffect(ClipItem*, QDomElement);
+ void removeEffect(ClipItem*, int, QDomElement);
/** Parameters for an effect changed, update the filter in playlist */
- void updateClipEffect(ClipItem*, QDomElement, QDomElement, int);
+ void updateEffect(ClipItem*, int, QDomElement, QDomElement, int);
/** An effect in stack was moved, we need to regenerate
all effects for this clip in the playlist */
void refreshEffectStack(ClipItem *);
/** Enable or disable an effect */
- void changeEffectState(ClipItem*, int, bool);
+ void changeEffectState(ClipItem*, int, int, bool);
/** An effect in stack was moved */
- void changeEffectPosition(ClipItem*, int, int);
+ void changeEffectPosition(ClipItem*, int, int, int);
/** an effect was saved, reload list */
void reloadEffects();
/** An effect with position parameter was changed, seek */
void seekTimeline(int);
+ /** The region effect for current effect was changed */
+ void updateClipRegion(ClipItem*, int, QString);
+ void displayMessage(const QString&, int);
};
#endif