Merge branch 'master' into feature/esfm

This commit is contained in:
Kagamiin~ 2023-10-25 17:10:16 -03:00
commit 85db9ca16e
17 changed files with 478 additions and 26 deletions

View file

@ -196,7 +196,10 @@ bool DivInstrumentWaveSynth::operator==(const DivInstrumentWaveSynth& other) {
}
bool DivInstrumentSoundUnit::operator==(const DivInstrumentSoundUnit& other) {
return _C(switchRoles);
return (
_C(switchRoles) &&
_C(hwSeqLen)
);
}
bool DivInstrumentES5506::operator==(const DivInstrumentES5506& other) {
@ -714,6 +717,14 @@ void DivInstrument::writeFeatureSU(SafeWriter* w) {
w->writeC(su.switchRoles);
w->writeC(su.hwSeqLen);
for (int i=0; i<su.hwSeqLen; i++) {
w->writeC(su.hwSeq[i].cmd);
w->writeC(su.hwSeq[i].bound);
w->writeC(su.hwSeq[i].val);
w->writeS(su.hwSeq[i].speed);
}
FEATURE_END;
}
@ -2585,6 +2596,16 @@ void DivInstrument::readFeatureSU(SafeReader& reader, short version) {
su.switchRoles=reader.readC();
if (version>=185) {
su.hwSeqLen=reader.readC();
for (int i=0; i<su.hwSeqLen; i++) {
su.hwSeq[i].cmd=reader.readC();
su.hwSeq[i].bound=reader.readC();
su.hwSeq[i].val=reader.readC();
su.hwSeq[i].speed=reader.readS();
}
}
READ_FEAT_END;
}