mirror of
https://github.com/tildearrow/furnace.git
synced 2024-11-16 01:35:07 +00:00
arcade: fix PCM channels not muting when Nuked-OPM
This commit is contained in:
parent
730561d3a3
commit
ff0e48679b
1 changed files with 8 additions and 6 deletions
|
@ -61,6 +61,7 @@ void DivPlatformArcade::acquire_nuked(short* bufL, short* bufR, size_t start, si
|
||||||
for (int i=8; i<13; i++) {
|
for (int i=8; i<13; i++) {
|
||||||
if (chan[i].pcm.sample>=0) {
|
if (chan[i].pcm.sample>=0) {
|
||||||
DivSample* s=parent->song.sample[chan[i].pcm.sample];
|
DivSample* s=parent->song.sample[chan[i].pcm.sample];
|
||||||
|
if (!isMuted[i]) {
|
||||||
if (s->depth==8) {
|
if (s->depth==8) {
|
||||||
pcmL+=(s->rendData[chan[i].pcm.pos>>8]*chan[i].chVolL);
|
pcmL+=(s->rendData[chan[i].pcm.pos>>8]*chan[i].chVolL);
|
||||||
pcmR+=(s->rendData[chan[i].pcm.pos>>8]*chan[i].chVolR);
|
pcmR+=(s->rendData[chan[i].pcm.pos>>8]*chan[i].chVolR);
|
||||||
|
@ -68,6 +69,7 @@ void DivPlatformArcade::acquire_nuked(short* bufL, short* bufR, size_t start, si
|
||||||
pcmL+=(s->rendData[chan[i].pcm.pos>>8]*chan[i].chVolL)>>8;
|
pcmL+=(s->rendData[chan[i].pcm.pos>>8]*chan[i].chVolL)>>8;
|
||||||
pcmR+=(s->rendData[chan[i].pcm.pos>>8]*chan[i].chVolR)>>8;
|
pcmR+=(s->rendData[chan[i].pcm.pos>>8]*chan[i].chVolR)>>8;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
chan[i].pcm.pos+=chan[i].pcm.freq;
|
chan[i].pcm.pos+=chan[i].pcm.freq;
|
||||||
if (chan[i].pcm.pos>=(s->rendLength<<8)) {
|
if (chan[i].pcm.pos>=(s->rendLength<<8)) {
|
||||||
if (s->loopStart>=0 && s->loopStart<=(int)s->rendLength) {
|
if (s->loopStart>=0 && s->loopStart<=(int)s->rendLength) {
|
||||||
|
|
Loading…
Reference in a new issue