26
26
#define _FX_MIXER_VIEW_H
28
28
#include <QtGui/QWidget>
29
#include <QtGui/QHBoxLayout>
30
#include <QtGui/QScrollArea>
33
30
#include "FxMixer.h"
34
31
#include "ModelView.h"
37
#include "pixmap_button.h"
40
#include "EffectRackView.h"
42
34
class QButtonGroup;
45
class EXPORT FxMixerView : public QWidget, public ModelView,
41
class FxMixerView : public QWidget, public ModelView,
46
42
public SerializingObjectHook
52
FxChannelView(QWidget * _parent, FxMixerView * _mv, int _chIndex );
55
pixmapButton * m_muteBtn;
61
47
virtual ~FxMixerView();
63
virtual void keyPressEvent(QKeyEvent * e);
65
49
virtual void saveSettings( QDomDocument & _doc, QDomElement & _this );
66
50
virtual void loadSettings( const QDomElement & _this );
68
inline FxLine * currentFxLine()
52
FxLine * currentFxLine()
70
54
return m_currentFxLine;
73
inline FxChannelView * channelView(int index)
75
return m_fxChannelViews[index];
78
56
void setCurrentFxLine( FxLine * _line );
79
57
void setCurrentFxLine( int _line );
84
// display the send button and knob correctly
85
void updateFxLine(int index);
87
// notify the view that an fx channel was deleted
88
void deleteChannel(int index);
90
// move the channel to the left or right
91
void moveChannelLeft(int index);
92
void moveChannelRight(int index);
94
// make sure the display syncs up with the fx mixer.
95
// useful for loading projects
96
void refreshDisplay();
99
63
void updateFaders();
100
void addNewChannel();
104
QVector<FxChannelView *> m_fxChannelViews;
70
EffectRackView * m_rackView;
71
pixmapButton * m_muteBtn;
75
FxChannelView m_fxChannelViews[NumFxChannels+1];
77
QStackedLayout * m_fxRacksLayout;
78
QStackedLayout * m_fxLineBanks;
79
QButtonGroup * m_bankButtons;
106
80
FxLine * m_currentFxLine;
108
QScrollArea * channelArea;
109
QHBoxLayout * chLayout;
110
QWidget * m_channelAreaWidget;
111
EffectRackView * m_rackView;
113
void updateMaxChannelSelector();