Complete Fender Floor MIDI implementation
This commit is contained in:
parent
6638fc5bf3
commit
92ffd60808
21 changed files with 1834 additions and 367 deletions
92
delay.h
92
delay.h
|
|
@ -20,14 +20,14 @@ public:
|
|||
|
||||
private:
|
||||
// Level
|
||||
virtual int cc49( int value );
|
||||
virtual int cc49( int value ) { return continuous_control( 0x00, 0x00, 0x01, value );}
|
||||
// Delay Time
|
||||
virtual int cc50( int value );
|
||||
virtual int cc50( int value ) { return continuous_control( 0x01, 0x01, 0x06, value );}
|
||||
|
||||
virtual int cc51( int value ) { return 0;}
|
||||
virtual int cc52( int value ) { return 0;}
|
||||
virtual int cc53( int value ) { return 0;}
|
||||
virtual int cc54( int value ) { return 0;}
|
||||
virtual int cc51( int value ) = 0;
|
||||
virtual int cc52( int value ) = 0;
|
||||
virtual int cc53( int value ) = 0;
|
||||
virtual int cc54( int value ) = 0;
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -36,11 +36,13 @@ public:
|
|||
MonoDelayCC( Mustang * theAmp ) : DelayCC(theAmp) {}
|
||||
private:
|
||||
// Feedback
|
||||
virtual int cc51( int value );
|
||||
virtual int cc51( int value ) { return continuous_control( 0x02, 0x02, 0x01, value );}
|
||||
// Brightness
|
||||
virtual int cc52( int value );
|
||||
virtual int cc52( int value ) { return continuous_control( 0x03, 0x03, 0x01, value );}
|
||||
// Attenuation
|
||||
virtual int cc53( int value );
|
||||
virtual int cc53( int value ) { return continuous_control( 0x04, 0x04, 0x01, value );}
|
||||
// no-op
|
||||
virtual int cc54( int value ) { return 0;}
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -49,13 +51,13 @@ public:
|
|||
EchoFilterCC( Mustang * theAmp ) : DelayCC(theAmp) {}
|
||||
private:
|
||||
// Feedback
|
||||
virtual int cc51( int value );
|
||||
virtual int cc51( int value ) { return continuous_control( 0x02, 0x02, 0x01, value );}
|
||||
// Frequency
|
||||
virtual int cc52( int value );
|
||||
virtual int cc52( int value ) { return continuous_control( 0x03, 0x03, 0x01, value );}
|
||||
// Resonance
|
||||
virtual int cc53( int value );
|
||||
virtual int cc53( int value ) { return continuous_control( 0x04, 0x04, 0x01, value );}
|
||||
// Input Level
|
||||
virtual int cc54( int value );
|
||||
virtual int cc54( int value ) { return continuous_control( 0x05, 0x05, 0x01, value );}
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -64,11 +66,16 @@ public:
|
|||
MultitapDelayCC( Mustang * theAmp ) : DelayCC(theAmp) {}
|
||||
private:
|
||||
// Feedback
|
||||
virtual int cc51( int value );
|
||||
virtual int cc51( int value ) { return continuous_control( 0x02, 0x02, 0x01, value );}
|
||||
// Brightness
|
||||
virtual int cc52( int value );
|
||||
virtual int cc52( int value ) { return continuous_control( 0x03, 0x03, 0x01, value );}
|
||||
// Mode
|
||||
virtual int cc53( int value );
|
||||
virtual int cc53( int value ) {
|
||||
if ( value > 3 ) return 0;
|
||||
else return discrete_control( 0x04, 0x04, 0x8b, value );
|
||||
}
|
||||
// no-op
|
||||
virtual int cc54( int value ) { return 0;}
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -77,11 +84,13 @@ public:
|
|||
PingPongDelayCC( Mustang * theAmp ) : DelayCC(theAmp) {}
|
||||
private:
|
||||
// Feedback
|
||||
virtual int cc51( int value );
|
||||
virtual int cc51( int value ) { return continuous_control( 0x02, 0x02, 0x01, value );}
|
||||
// Brightness
|
||||
virtual int cc52( int value );
|
||||
virtual int cc52( int value ) { return continuous_control( 0x03, 0x03, 0x01, value );}
|
||||
// Stereo
|
||||
virtual int cc53( int value );
|
||||
virtual int cc53( int value ) { return continuous_control( 0x04, 0x04, 0x01, value );}
|
||||
// no-op
|
||||
virtual int cc54( int value ) { return 0;}
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -90,11 +99,13 @@ public:
|
|||
DuckingDelayCC( Mustang * theAmp ) : DelayCC(theAmp) {}
|
||||
private:
|
||||
// Feedback
|
||||
virtual int cc51( int value );
|
||||
virtual int cc51( int value ) { return continuous_control( 0x02, 0x02, 0x01, value );}
|
||||
// Release
|
||||
virtual int cc52( int value );
|
||||
virtual int cc52( int value ) { return continuous_control( 0x03, 0x03, 0x01, value );}
|
||||
// Threshold
|
||||
virtual int cc53( int value );
|
||||
virtual int cc53( int value ) { return continuous_control( 0x04, 0x04, 0x01, value );}
|
||||
// no-op
|
||||
virtual int cc54( int value ) { return 0;}
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -103,11 +114,13 @@ public:
|
|||
ReverseDelayCC( Mustang * theAmp ) : DelayCC(theAmp) {}
|
||||
private:
|
||||
// FFdbk
|
||||
virtual int cc51( int value );
|
||||
virtual int cc51( int value ) { return continuous_control( 0x02, 0x02, 0x01, value );}
|
||||
// RFdbk
|
||||
virtual int cc52( int value );
|
||||
virtual int cc52( int value ) { return continuous_control( 0x03, 0x03, 0x01, value );}
|
||||
// Tone
|
||||
virtual int cc53( int value );
|
||||
virtual int cc53( int value ) { return continuous_control( 0x04, 0x04, 0x01, value );}
|
||||
// no-op
|
||||
virtual int cc54( int value ) { return 0;}
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -116,13 +129,13 @@ public:
|
|||
TapeDelayCC( Mustang * theAmp ) : DelayCC(theAmp) {}
|
||||
private:
|
||||
// Feedback
|
||||
virtual int cc51( int value );
|
||||
virtual int cc51( int value ) { return continuous_control( 0x02, 0x02, 0x01, value );}
|
||||
// Flutter
|
||||
virtual int cc52( int value );
|
||||
virtual int cc52( int value ) { return continuous_control( 0x03, 0x03, 0x01, value );}
|
||||
// Brightness
|
||||
virtual int cc53( int value );
|
||||
virtual int cc53( int value ) { return continuous_control( 0x04, 0x04, 0x01, value );}
|
||||
// Stereo
|
||||
virtual int cc54( int value );
|
||||
virtual int cc54( int value ) { return continuous_control( 0x05, 0x05, 0x01, value );}
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -131,13 +144,26 @@ public:
|
|||
StereoTapeDelayCC( Mustang * theAmp ) : DelayCC(theAmp) {}
|
||||
private:
|
||||
// Feedback
|
||||
virtual int cc51( int value );
|
||||
virtual int cc51( int value ) { return continuous_control( 0x02, 0x02, 0x01, value );}
|
||||
// Flutter
|
||||
virtual int cc52( int value );
|
||||
virtual int cc52( int value ) { return continuous_control( 0x03, 0x03, 0x01, value );}
|
||||
// Separation
|
||||
virtual int cc53( int value );
|
||||
virtual int cc53( int value ) { return continuous_control( 0x04, 0x05, 0x01, value );}
|
||||
// Brightness
|
||||
virtual int cc54( int value );
|
||||
virtual int cc54( int value ) { return continuous_control( 0x05, 0x04, 0x01, value );}
|
||||
};
|
||||
|
||||
|
||||
class NullDelayCC : public DelayCC {
|
||||
public:
|
||||
NullDelayCC( Mustang * theAmp ) : DelayCC(theAmp) {}
|
||||
private:
|
||||
virtual int cc49( int value ) { return 0;}
|
||||
virtual int cc50( int value ) { return 0;}
|
||||
virtual int cc51( int value ) { return 0;}
|
||||
virtual int cc52( int value ) { return 0;}
|
||||
virtual int cc53( int value ) { return 0;}
|
||||
virtual int cc54( int value ) { return 0;}
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue