prepare for storage of FM macros

This commit is contained in:
tildearrow 2022-01-22 18:28:43 -05:00
parent f286e65dc1
commit 9940222a6f
2 changed files with 91 additions and 0 deletions

View File

@ -185,6 +185,76 @@ size | description
4?? | extra 1 macro (>=17)
4?? | extra 2 macro (>=17)
4?? | extra 3 macro (>=17)
4 | alg macro length (>=29)
4 | fb macro length (>=29)
4 | fms macro length (>=29)
4 | ams macro length (>=29)
4 | alg macro loop (>=29)
4 | fb macro loop (>=29)
4 | fms macro loop (>=29)
4 | ams macro loop (>=29)
1 | volume macro open (>=29)
1 | arp macro open (>=29)
1 | duty macro open (>=29)
1 | wave macro open (>=29)
1 | pitch macro open (>=29)
1 | extra 1 macro open (>=29)
1 | extra 2 macro open (>=29)
1 | extra 3 macro open (>=29)
1 | alg macro open (>=29)
1 | fb macro open (>=29)
1 | fms macro open (>=29)
1 | ams macro open (>=29)
--- | **operator macro headers** × 4 (>=29)
4 | AM macro length
4 | AR macro length
4 | DR macro length
4 | MULT macro length
4 | RR macro length
4 | SL macro length
4 | TL macro length
4 | DT2 macro length
4 | RS macro length
4 | DT macro length
4 | D2R macro length
4 | SSG-EG macro length
4 | AM macro loop
4 | AR macro loop
4 | DR macro loop
4 | MULT macro loop
4 | RR macro loop
4 | SL macro loop
4 | TL macro loop
4 | DT2 macro loop
4 | RS macro loop
4 | DT macro loop
4 | D2R macro loop
4 | SSG-EG macro loop
1 | AM macro open
1 | AR macro open
1 | DR macro open
1 | MULT macro open
1 | RR macro open
1 | SL macro open
1 | TL macro open
1 | DT2 macro open
1 | RS macro open
1 | DT macro open
1 | D2R macro open
1 | SSG-EG macro open
--- | **operator macros** × 4 (>=29)
1?? | AM macro
1?? | AR macro
1?? | DR macro
1?? | MULT macro
1?? | RR macro
1?? | SL macro
1?? | TL macro
1?? | DT2 macro
1?? | RS macro
1?? | DT macro
1?? | D2R macro
1?? | SSG-EG macro
# wavetable

View File

@ -101,6 +101,9 @@ struct DivInstrumentSTD {
int amsMacro[256];
bool arpMacroMode;
unsigned char volMacroHeight, dutyMacroHeight, waveMacroHeight;
bool volMacroOpen, arpMacroOpen, dutyMacroOpen, waveMacroOpen;
bool pitchMacroOpen, ex1MacroOpen, ex2MacroOpen, ex3MacroOpen;
bool algMacroOpen, fbMacroOpen, fmsMacroOpen, amsMacroOpen;
unsigned char volMacroLen, arpMacroLen, dutyMacroLen, waveMacroLen;
unsigned char pitchMacroLen, ex1MacroLen, ex2MacroLen, ex3MacroLen;
unsigned char algMacroLen, fbMacroLen, fmsMacroLen, amsMacroLen;
@ -121,6 +124,9 @@ struct DivInstrumentSTD {
unsigned char dtMacro[256];
unsigned char d2rMacro[256];
unsigned char ssgMacro[256];
bool amMacroOpen, arMacroOpen, drMacroOpen, multMacroOpen;
bool rrMacroOpen, slMacroOpen, tlMacroOpen, dt2MacroOpen;
bool rsMacroOpen, dtMacroOpen, d2rMacroOpen, ssgMacroOpen;
unsigned char amMacroLen, arMacroLen, drMacroLen, multMacroLen;
unsigned char rrMacroLen, slMacroLen, tlMacroLen, dt2MacroLen;
unsigned char rsMacroLen, dtMacroLen, d2rMacroLen, ssgMacroLen;
@ -128,6 +134,9 @@ struct DivInstrumentSTD {
signed char rrMacroLoop, slMacroLoop, tlMacroLoop, dt2MacroLoop;
signed char rsMacroLoop, dtMacroLoop, d2rMacroLoop, ssgMacroLoop;
OpMacro():
amMacroOpen(false), arMacroOpen(false), drMacroOpen(false), multMacroOpen(false),
rrMacroOpen(false), slMacroOpen(false), tlMacroOpen(true), dt2MacroOpen(false),
rsMacroOpen(false), dtMacroOpen(false), d2rMacroOpen(false), ssgMacroOpen(false),
amMacroLen(0), arMacroLen(0), drMacroLen(0), multMacroLen(0),
rrMacroLen(0), slMacroLen(0), tlMacroLen(0), dt2MacroLen(0),
rsMacroLen(0), dtMacroLen(0), d2rMacroLen(0), ssgMacroLen(0),
@ -153,6 +162,18 @@ struct DivInstrumentSTD {
volMacroHeight(15),
dutyMacroHeight(3),
waveMacroHeight(63),
volMacroOpen(true),
arpMacroOpen(false),
dutyMacroOpen(false),
waveMacroOpen(false),
pitchMacroOpen(false),
ex1MacroOpen(false),
ex2MacroOpen(false),
ex3MacroOpen(false),
algMacroOpen(false),
fbMacroOpen(false),
fmsMacroOpen(false),
amsMacroOpen(false),
volMacroLen(0),
arpMacroLen(0),
dutyMacroLen(0),