prepare for macro release points

issue #142
This commit is contained in:
tildearrow 2022-02-08 03:50:42 -05:00
parent 8991fa98ba
commit 4ce116ca0a
10 changed files with 278 additions and 90 deletions

View file

@ -253,6 +253,36 @@ void DivInstrument::putInsData(SafeWriter* w) {
w->writeC(op.ssgMacro[j]);
}
}
// release points
w->writeI(std.volMacroRel);
w->writeI(std.arpMacroRel);
w->writeI(std.dutyMacroRel);
w->writeI(std.waveMacroRel);
w->writeI(std.pitchMacroRel);
w->writeI(std.ex1MacroRel);
w->writeI(std.ex2MacroRel);
w->writeI(std.ex3MacroRel);
w->writeI(std.algMacroRel);
w->writeI(std.fbMacroRel);
w->writeI(std.fmsMacroRel);
w->writeI(std.amsMacroRel);
for (int i=0; i<4; i++) {
DivInstrumentSTD::OpMacro& op=std.opMacros[i];
w->writeI(op.amMacroRel);
w->writeI(op.arMacroRel);
w->writeI(op.drMacroRel);
w->writeI(op.multMacroRel);
w->writeI(op.rrMacroRel);
w->writeI(op.slMacroRel);
w->writeI(op.tlMacroRel);
w->writeI(op.dt2MacroRel);
w->writeI(op.rsMacroRel);
w->writeI(op.dtMacroRel);
w->writeI(op.d2rMacroRel);
w->writeI(op.ssgMacroRel);
}
}
DivDataErrors DivInstrument::readInsData(SafeReader& reader, short version) {
@ -484,6 +514,39 @@ DivDataErrors DivInstrument::readInsData(SafeReader& reader, short version) {
}
}
// release points
if (version>=44) {
std.volMacroRel=reader.readI();
std.arpMacroRel=reader.readI();
std.dutyMacroRel=reader.readI();
std.waveMacroRel=reader.readI();
std.pitchMacroRel=reader.readI();
std.ex1MacroRel=reader.readI();
std.ex2MacroRel=reader.readI();
std.ex3MacroRel=reader.readI();
std.algMacroRel=reader.readI();
std.fbMacroRel=reader.readI();
std.fmsMacroRel=reader.readI();
std.amsMacroRel=reader.readI();
for (int i=0; i<4; i++) {
DivInstrumentSTD::OpMacro& op=std.opMacros[i];
op.amMacroRel=reader.readI();
op.arMacroRel=reader.readI();
op.drMacroRel=reader.readI();
op.multMacroRel=reader.readI();
op.rrMacroRel=reader.readI();
op.slMacroRel=reader.readI();
op.tlMacroRel=reader.readI();
op.dt2MacroRel=reader.readI();
op.rsMacroRel=reader.readI();
op.dtMacroRel=reader.readI();
op.d2rMacroRel=reader.readI();
op.ssgMacroRel=reader.readI();
}
}
return DIV_DATA_SUCCESS;
}