dev185 - SoundUnit: hardware sweep sequences
kinda buggy in note off... may require a rewrite of volume handling
This commit is contained in:
parent
10c72f3a10
commit
f718fbb5f5
7 changed files with 406 additions and 12 deletions
|
|
@ -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) {
|
||||
|
|
@ -691,6 +694,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;
|
||||
}
|
||||
|
||||
|
|
@ -2536,6 +2547,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;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue