Harmonizer refactoring
Removed code duplication by using structs and functions.
This commit is contained in:
parent
c8bd07799a
commit
b5b6d890c0
4 changed files with 187 additions and 289 deletions
|
@ -28,17 +28,27 @@
|
|||
#define ECH 30
|
||||
#define QTN 31
|
||||
|
||||
#define HOF 0
|
||||
#define MGR 1
|
||||
#define MGD 2
|
||||
#define MA9 3
|
||||
#define MND 4
|
||||
#define MNA 5
|
||||
#define MNH 6
|
||||
#define FWC 7
|
||||
#define RT1 8
|
||||
#define RT2 9
|
||||
#define RT3 10
|
||||
|
||||
struct Rotator
|
||||
{
|
||||
uint16_t parallel; // Semitones
|
||||
uint16_t rotations[4];
|
||||
};
|
||||
|
||||
enum EPolySelect : unsigned short {
|
||||
HarmonizerOff = 0,
|
||||
TriadMajorGospelRoot = 1, // MGR
|
||||
TriadMajorGospelDominant = 2, // MGD
|
||||
MajorAddNine = 3,
|
||||
MinorDorian = 4,
|
||||
MinorAeolian = 5,
|
||||
MinorFourVoiceHip = 6,
|
||||
FourWayCloseHarmonizer = 7,
|
||||
RotatorA = 8,
|
||||
RotatorB = 9,
|
||||
RotatorC = 10,
|
||||
} ;
|
||||
|
||||
|
||||
#define MOD 13
|
||||
|
||||
|
@ -106,7 +116,7 @@ extern unsigned short harmSetting; // 0-7
|
|||
extern unsigned short harmSelect; // 0-5
|
||||
extern unsigned short brHarmSetting; // 0-7
|
||||
extern unsigned short brHarmSelect; // 0-3
|
||||
extern unsigned short polySelect; // OFF, MGR, MGD, MND, MNH, FWC, RTA, RTB or RTC
|
||||
extern EPolySelect polySelect; // OFF, MGR, MGD, MND, MNH, FWC, RTA, RTB or RTC
|
||||
extern unsigned short fwcType; // 6, m6, 7, m7
|
||||
extern unsigned short fwcLockH; // OFF:ON
|
||||
extern unsigned short fwcDrop2; // OFF:ON
|
||||
|
@ -125,12 +135,10 @@ extern uint16_t gateOpenEnable;
|
|||
extern uint16_t specialKeyEnable;
|
||||
extern byte rotatorOn;
|
||||
extern byte currentRotation;
|
||||
extern uint16_t rotations[4];
|
||||
extern uint16_t parallel; // semitones
|
||||
extern uint16_t rotationsb[4];
|
||||
extern uint16_t parallelb; // semitones
|
||||
extern uint16_t rotationsc[4];
|
||||
extern uint16_t parallelc; // semitones
|
||||
|
||||
extern Rotator rotations_a;
|
||||
extern Rotator rotations_b;
|
||||
extern Rotator rotations_c;
|
||||
|
||||
extern uint16_t bcasMode; //Legacy CASSIDY compile flag
|
||||
extern uint16_t trill3_interval;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue