implemented solo-buttons for FxMixer - resolving #1211
This commit is contained in:
@@ -51,7 +51,9 @@ class FxChannel : public ThreadableJob
|
||||
float m_peakLeft;
|
||||
float m_peakRight;
|
||||
sampleFrame * m_buffer;
|
||||
bool m_muteBeforeSolo;
|
||||
BoolModel m_muteModel;
|
||||
BoolModel m_soloModel;
|
||||
FloatModel m_volumeModel;
|
||||
QString m_name;
|
||||
QMutex m_lock;
|
||||
@@ -65,6 +67,7 @@ class FxChannel : public ThreadableJob
|
||||
FxRouteVector m_receives;
|
||||
|
||||
virtual bool requiresProcessing() const { return true; }
|
||||
void unmuteForSolo();
|
||||
|
||||
private:
|
||||
virtual void doProcessing( sampleFrame * _working_buffer );
|
||||
@@ -174,6 +177,10 @@ public:
|
||||
// rename channels when moving etc. if they still have their original name
|
||||
void validateChannelName( int index, int oldIndex );
|
||||
|
||||
void toggledSolo();
|
||||
void activateSolo();
|
||||
void deactivateSolo();
|
||||
|
||||
inline fx_ch_t numChannels() const
|
||||
{
|
||||
return m_fxChannels.size();
|
||||
@@ -191,6 +198,8 @@ private:
|
||||
|
||||
void addChannelLeaf( FxChannel * ch, sampleFrame * buf );
|
||||
|
||||
int m_lastSoloed;
|
||||
|
||||
friend class MixerWorkerThread;
|
||||
friend class FxMixerView;
|
||||
|
||||
|
||||
@@ -55,6 +55,7 @@ public:
|
||||
|
||||
FxLine * m_fxLine;
|
||||
pixmapButton * m_muteBtn;
|
||||
pixmapButton * m_soloBtn;
|
||||
fader * m_fader;
|
||||
EffectRackView * m_rackView;
|
||||
};
|
||||
@@ -78,6 +79,7 @@ public:
|
||||
return m_fxChannelViews[index];
|
||||
}
|
||||
|
||||
|
||||
void setCurrentFxLine( FxLine * _line );
|
||||
void setCurrentFxLine( int _line );
|
||||
|
||||
@@ -101,6 +103,7 @@ public:
|
||||
private slots:
|
||||
void updateFaders();
|
||||
void addNewChannel();
|
||||
void toggledSolo();
|
||||
|
||||
private:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user