OPLL: implement fixed freq mode for drums

issue #249
This commit is contained in:
tildearrow 2022-03-04 01:18:16 -05:00
parent 8e5b3abab8
commit 8758277199
6 changed files with 123 additions and 6 deletions

View file

@ -371,6 +371,13 @@ void DivInstrument::putInsData(SafeWriter* w) {
w->writeC(op.ksrMacro[j]);
}
}
// OPL drum data
w->writeC(fm.fixedDrums);
w->writeC(0); // reserved
w->writeS(fm.kickFreq);
w->writeS(fm.snareHatFreq);
w->writeS(fm.tomTopFreq);
}
DivDataErrors DivInstrument::readInsData(SafeReader& reader, short version) {
@ -694,6 +701,15 @@ DivDataErrors DivInstrument::readInsData(SafeReader& reader, short version) {
}
}
// OPL drum data
if (version>=63) {
fm.fixedDrums=reader.readC();
reader.readC(); // reserved
fm.kickFreq=reader.readS();
fm.snareHatFreq=reader.readS();
fm.tomTopFreq=reader.readS();
}
return DIV_DATA_SUCCESS;
}