#ifndef EFFECTSTACKVIEW_H
#define EFFECTSTACKVIEW_H
-#include "clipitem.h"
#include "ui_effectstack_ui.h"
#include "effectstackedit.h"
-class EffectsList;
+class EffectsList;
+class ClipItem;
+class MltVideoProfile;
-class EffectStackView : public QWidget {
+class EffectStackView : public QWidget
+{
Q_OBJECT
public:
- EffectStackView(EffectsList *audioEffectList, EffectsList *videoEffectList, EffectsList *customEffectList, QWidget *parent = 0);
+ EffectStackView(QWidget *parent = 0);
+ virtual ~EffectStackView();
+ void raiseWindow(QWidget*);
+ void clear();
+ void setMenu(QMenu *menu);
+ void updateProjectFormat(MltVideoProfile profile, Timecode t);
private:
- Ui::EffectStack_UI ui;
- ClipItem* clipref;
- QMap<QString, EffectsList*> effectLists;
- EffectStackEdit* effectedit;
- void setupListView();
- void updateButtonStatus();
+ Ui::EffectStack_UI m_ui;
+ ClipItem* m_clipref;
+ QMap<QString, EffectsList*> m_effectLists;
+ EffectStackEdit* m_effectedit;
+ void setupListView(int ix);
+ //void updateButtonStatus();
public slots:
- void slotClipItemSelected(ClipItem*);
- void slotUpdateEffectParams(const QDomElement&, const QDomElement&);
+ void slotClipItemSelected(ClipItem*, int ix);
+ void slotUpdateEffectParams(const QDomElement, const QDomElement);
private slots:
- void slotItemSelectionChanged();
+ void slotItemSelectionChanged(bool update = true);
void slotItemUp();
void slotItemDown();
void slotItemDel();
- void slotNewEffect();
void slotResetEffect();
void slotItemChanged(QListWidgetItem *item);
+ void slotSaveEffect();
+ void slotSeekTimeline(int pos);
signals:
- void transferParamDesc(const QDomElement&, int , int);
void removeEffect(ClipItem*, QDomElement);
/** Parameters for an effect changed, update the filter in playlist */
- void updateClipEffect(ClipItem*, QDomElement, QDomElement);
+ void updateClipEffect(ClipItem*, 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*, QDomElement, bool);
+ void changeEffectState(ClipItem*, int, bool);
+ /** An effect in stack was moved */
+ void changeEffectPosition(ClipItem*, int, int);
+ /** an effect was saved, reload list */
+ void reloadEffects();
+ /** An effect with position parameter was changed, seek */
+ void seekTimeline(int);
};