replay keyOn in active channels during forceIns

fixes an issue when playing orders
This commit is contained in:
tildearrow 2022-02-20 21:39:14 -05:00
parent 197d3ab39d
commit e697c055b6
7 changed files with 54 additions and 0 deletions

View file

@ -71,6 +71,7 @@ int DivPlatformYM2610Ext::dispatch(DivCommand c) {
}
case DIV_CMD_NOTE_OFF:
opChan[ch].keyOff=true;
opChan[ch].keyOn=false;
opChan[ch].active=false;
break;
case DIV_CMD_VOLUME: {
@ -282,6 +283,10 @@ void DivPlatformYM2610Ext::forceIns() {
DivPlatformYM2610::forceIns();
for (int i=0; i<4; i++) {
opChan[i].insChanged=true;
if (opChan[i].active) {
opChan[i].keyOn=true;
opChan[i].freqChanged=true;
}
}
}