]> git.sesse.net Git - kdenlive/blobdiff - src/effectstackview.h
Progress on track effects
[kdenlive] / src / effectstackview.h
index 20d2a2440ad40313b30d5cace3813781fd708e43..7bea226ca6b5717e09a92ce4bde424e33b83fa77 100644 (file)
 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. */
@@ -56,10 +57,19 @@ public:
 
 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;
+
     /** @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);
@@ -70,6 +80,8 @@ public slots:
     * @param ix Effect to preselect */
     void slotClipItemSelected(ClipItem* c, int ix);
 
+    void slotTrackItemSelected(int ix, EffectsList list);
+
     /** @brief Emits updateClipEffect.
     * @param old Old effect information
     * @param e New effect information
@@ -114,23 +126,30 @@ private slots:
     /** @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