Refactor and cleanup CC dispatch logic
This commit is contained in:
parent
394b374b7f
commit
1130fceea5
7 changed files with 173 additions and 116 deletions
29
amp.h
29
amp.h
|
|
@ -14,31 +14,37 @@ class Mustang;
|
|||
class AmpCC {
|
||||
|
||||
protected:
|
||||
|
||||
Mustang * amp;
|
||||
|
||||
public:
|
||||
// Only base class is friend of Mustang, so forward calls from
|
||||
// derived classes through these methods.
|
||||
int control_common1( int parm, int bucket, int value );
|
||||
int control_common2( int parm, int bucket, int value );
|
||||
|
||||
public:
|
||||
AmpCC( Mustang * theAmp ) : amp(theAmp) {}
|
||||
|
||||
virtual int dispatch( int cc, int value );
|
||||
|
||||
private:
|
||||
// Gain
|
||||
int cc69( int value );
|
||||
virtual int cc69( int value );
|
||||
// Ch. Volume
|
||||
int cc70( int value );
|
||||
virtual int cc70( int value );
|
||||
// Treble
|
||||
int cc71( int value );
|
||||
virtual int cc71( int value );
|
||||
// Mid
|
||||
int cc72( int value );
|
||||
virtual int cc72( int value );
|
||||
// Bass
|
||||
int cc73( int value );
|
||||
virtual int cc73( int value );
|
||||
// Sag
|
||||
virtual int cc74( int value );
|
||||
// Bias
|
||||
virtual int cc75( int value );
|
||||
// Noise Gate
|
||||
int cc76( int value );
|
||||
virtual int cc76( int value );
|
||||
// Cabinet
|
||||
int cc77( int value );
|
||||
virtual int cc77( int value );
|
||||
|
||||
// Dummy in base class
|
||||
virtual int cc78( int value ) { return 0;}
|
||||
|
|
@ -52,6 +58,7 @@ public:
|
|||
class AmpCC1 : public AmpCC {
|
||||
public:
|
||||
AmpCC1( Mustang * theAmp ) : AmpCC(theAmp) {}
|
||||
private:
|
||||
// Presence
|
||||
virtual int cc78( int value );
|
||||
// Blend
|
||||
|
|
@ -64,6 +71,7 @@ public:
|
|||
class AmpCC2 : public AmpCC {
|
||||
public:
|
||||
AmpCC2( Mustang * theAmp ) : AmpCC(theAmp) {}
|
||||
private:
|
||||
// Gain2
|
||||
virtual int cc78( int value );
|
||||
// Master Volume
|
||||
|
|
@ -76,6 +84,7 @@ public:
|
|||
class AmpCC3 : public AmpCC {
|
||||
public:
|
||||
AmpCC3( Mustang * theAmp ) : AmpCC(theAmp) {}
|
||||
private:
|
||||
// Cut
|
||||
virtual int cc78( int value );
|
||||
// Master Volume
|
||||
|
|
@ -90,6 +99,7 @@ public:
|
|||
class AmpCC4 : public AmpCC {
|
||||
public:
|
||||
AmpCC4( Mustang * theAmp ) : AmpCC(theAmp) {}
|
||||
private:
|
||||
// Presence
|
||||
virtual int cc78( int value );
|
||||
// Master Volume
|
||||
|
|
@ -102,6 +112,7 @@ public:
|
|||
class AmpCC5 : public AmpCC {
|
||||
public:
|
||||
AmpCC5( Mustang * theAmp ) : AmpCC(theAmp) {}
|
||||
private:
|
||||
virtual int cc78( int value ) { return 0;}
|
||||
virtual int cc79( int value ) { return 0;}
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue