VIC-20: fix on/off unmute
This commit is contained in:
parent
629c57a086
commit
b3448c1f16
|
@ -263,17 +263,26 @@ int DivPlatformVIC20::dispatch(DivCommand c) {
|
||||||
|
|
||||||
void DivPlatformVIC20::muteChannel(int ch, bool mute) {
|
void DivPlatformVIC20::muteChannel(int ch, bool mute) {
|
||||||
isMuted[ch]=mute;
|
isMuted[ch]=mute;
|
||||||
if (mute) {
|
if (chan[ch].onOff) {
|
||||||
chan[ch].keyOff=true;
|
if (mute) {
|
||||||
} else if (chan[ch].active) {
|
chan[ch].keyOff=true;
|
||||||
chan[ch].keyOn=true;
|
} else if (chan[ch].active) {
|
||||||
|
chan[ch].keyOn=true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void DivPlatformVIC20::forceIns() {
|
void DivPlatformVIC20::forceIns() {
|
||||||
for (int i=0; i<4; i++) {
|
for (int i=0; i<4; i++) {
|
||||||
chan[i].insChanged=true;
|
chan[i].insChanged=true;
|
||||||
chan[i].freqChanged=true;
|
// I give up!
|
||||||
|
if (chan[i].onOff) {
|
||||||
|
chan[i].freqChanged=true;
|
||||||
|
} else {
|
||||||
|
chan[i].freqChanged=false;
|
||||||
|
chan[i].keyOff=true;
|
||||||
|
chan[i].keyOn=false;
|
||||||
|
}
|
||||||
writeOutVol(i);
|
writeOutVol(i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue