mirror of
https://github.com/tildearrow/furnace.git
synced 2024-11-16 01:35:07 +00:00
OPN: fix portaPause not resetting on new note
This commit is contained in:
parent
c7a37959f0
commit
a43034f559
6 changed files with 6 additions and 0 deletions
|
@ -542,6 +542,7 @@ int DivPlatformGenesis::dispatch(DivCommand c) {
|
||||||
|
|
||||||
if (c.value!=DIV_NOTE_NULL) {
|
if (c.value!=DIV_NOTE_NULL) {
|
||||||
chan[c.chan].baseFreq=NOTE_FREQUENCY(c.value);
|
chan[c.chan].baseFreq=NOTE_FREQUENCY(c.value);
|
||||||
|
chan[c.chan].portaPause=false;
|
||||||
chan[c.chan].note=c.value;
|
chan[c.chan].note=c.value;
|
||||||
chan[c.chan].freqChanged=true;
|
chan[c.chan].freqChanged=true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -73,6 +73,7 @@ int DivPlatformGenesisExt::dispatch(DivCommand c) {
|
||||||
|
|
||||||
if (c.value!=DIV_NOTE_NULL) {
|
if (c.value!=DIV_NOTE_NULL) {
|
||||||
opChan[ch].baseFreq=NOTE_FREQUENCY(c.value);
|
opChan[ch].baseFreq=NOTE_FREQUENCY(c.value);
|
||||||
|
opChan[ch].portaPause=false;
|
||||||
opChan[ch].freqChanged=true;
|
opChan[ch].freqChanged=true;
|
||||||
}
|
}
|
||||||
opChan[ch].keyOn=true;
|
opChan[ch].keyOn=true;
|
||||||
|
|
|
@ -829,6 +829,7 @@ int DivPlatformYM2610::dispatch(DivCommand c) {
|
||||||
|
|
||||||
if (c.value!=DIV_NOTE_NULL) {
|
if (c.value!=DIV_NOTE_NULL) {
|
||||||
chan[c.chan].baseFreq=NOTE_FREQUENCY(c.value);
|
chan[c.chan].baseFreq=NOTE_FREQUENCY(c.value);
|
||||||
|
chan[c.chan].portaPause=false;
|
||||||
chan[c.chan].freqChanged=true;
|
chan[c.chan].freqChanged=true;
|
||||||
chan[c.chan].note=c.value;
|
chan[c.chan].note=c.value;
|
||||||
}
|
}
|
||||||
|
|
|
@ -892,6 +892,7 @@ int DivPlatformYM2610B::dispatch(DivCommand c) {
|
||||||
|
|
||||||
if (c.value!=DIV_NOTE_NULL) {
|
if (c.value!=DIV_NOTE_NULL) {
|
||||||
chan[c.chan].baseFreq=NOTE_FREQUENCY(c.value);
|
chan[c.chan].baseFreq=NOTE_FREQUENCY(c.value);
|
||||||
|
chan[c.chan].portaPause=false;
|
||||||
chan[c.chan].freqChanged=true;
|
chan[c.chan].freqChanged=true;
|
||||||
chan[c.chan].note=c.value;
|
chan[c.chan].note=c.value;
|
||||||
}
|
}
|
||||||
|
|
|
@ -63,6 +63,7 @@ int DivPlatformYM2610BExt::dispatch(DivCommand c) {
|
||||||
|
|
||||||
if (c.value!=DIV_NOTE_NULL) {
|
if (c.value!=DIV_NOTE_NULL) {
|
||||||
opChan[ch].baseFreq=NOTE_FREQUENCY(c.value);
|
opChan[ch].baseFreq=NOTE_FREQUENCY(c.value);
|
||||||
|
opChan[ch].portaPause=false;
|
||||||
opChan[ch].freqChanged=true;
|
opChan[ch].freqChanged=true;
|
||||||
}
|
}
|
||||||
opChan[ch].keyOn=true;
|
opChan[ch].keyOn=true;
|
||||||
|
|
|
@ -63,6 +63,7 @@ int DivPlatformYM2610Ext::dispatch(DivCommand c) {
|
||||||
|
|
||||||
if (c.value!=DIV_NOTE_NULL) {
|
if (c.value!=DIV_NOTE_NULL) {
|
||||||
opChan[ch].baseFreq=NOTE_FREQUENCY(c.value);
|
opChan[ch].baseFreq=NOTE_FREQUENCY(c.value);
|
||||||
|
opChan[ch].portaPause=false;
|
||||||
opChan[ch].freqChanged=true;
|
opChan[ch].freqChanged=true;
|
||||||
}
|
}
|
||||||
opChan[ch].keyOn=true;
|
opChan[ch].keyOn=true;
|
||||||
|
|
Loading…
Reference in a new issue