OPL3: fix chan osc when panned right on ymfm
This commit is contained in:
parent
9650e2e8a6
commit
bfd1afa124
|
@ -586,10 +586,7 @@ void DivPlatformOPL::acquire_ymfm3(short** buf, size_t len) {
|
||||||
unsigned char ch=(i<12 && chan[i&(~1)].fourOp)?outChanMap[i^1]:outChanMap[i];
|
unsigned char ch=(i<12 && chan[i&(~1)].fourOp)?outChanMap[i^1]:outChanMap[i];
|
||||||
if (ch==255) continue;
|
if (ch==255) continue;
|
||||||
if (isMuted[i]) continue;
|
if (isMuted[i]) continue;
|
||||||
int chOut=fmChan[ch]->debug_output(0);
|
int chOut=fmChan[ch]->debug_output(0)+fmChan[ch]->debug_output(1);
|
||||||
if (chOut==0) {
|
|
||||||
chOut=fmChan[ch]->debug_output(1);
|
|
||||||
}
|
|
||||||
if (chOut==0) {
|
if (chOut==0) {
|
||||||
chOut=fmChan[ch]->debug_output(2);
|
chOut=fmChan[ch]->debug_output(2);
|
||||||
}
|
}
|
||||||
|
@ -597,9 +594,9 @@ void DivPlatformOPL::acquire_ymfm3(short** buf, size_t len) {
|
||||||
chOut=fmChan[ch]->debug_output(3);
|
chOut=fmChan[ch]->debug_output(3);
|
||||||
}
|
}
|
||||||
if (i==15) {
|
if (i==15) {
|
||||||
oscBuf[i]->putSample(h,CLAMP(chOut,-32768,32767));
|
oscBuf[i]->putSample(h,CLAMP(chOut>>1,-32768,32767));
|
||||||
} else {
|
} else {
|
||||||
oscBuf[i]->putSample(h,CLAMP(chOut<<1,-32768,32767));
|
oscBuf[i]->putSample(h,CLAMP(chOut,-32768,32767));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
oscBuf[16]->putSample(h,CLAMP(fmChan[7]->debug_special2()<<1,-32768,32767));
|
oscBuf[16]->putSample(h,CLAMP(fmChan[7]->debug_special2()<<1,-32768,32767));
|
||||||
|
@ -611,17 +608,14 @@ void DivPlatformOPL::acquire_ymfm3(short** buf, size_t len) {
|
||||||
unsigned char ch=outChanMap[i];
|
unsigned char ch=outChanMap[i];
|
||||||
if (ch==255) continue;
|
if (ch==255) continue;
|
||||||
if (isMuted[i]) continue;
|
if (isMuted[i]) continue;
|
||||||
int chOut=fmChan[ch]->debug_output(0);
|
int chOut=fmChan[ch]->debug_output(0)+fmChan[ch]->debug_output(1);
|
||||||
if (chOut==0) {
|
|
||||||
chOut=fmChan[ch]->debug_output(1);
|
|
||||||
}
|
|
||||||
if (chOut==0) {
|
if (chOut==0) {
|
||||||
chOut=fmChan[ch]->debug_output(2);
|
chOut=fmChan[ch]->debug_output(2);
|
||||||
}
|
}
|
||||||
if (chOut==0) {
|
if (chOut==0) {
|
||||||
chOut=fmChan[ch]->debug_output(3);
|
chOut=fmChan[ch]->debug_output(3);
|
||||||
}
|
}
|
||||||
oscBuf[i]->putSample(h,CLAMP(chOut<<1,-32768,32767));
|
oscBuf[i]->putSample(h,CLAMP(chOut,-32768,32767));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue