chan osc volume balancing, part 2

TODO: maybe change the range again?
This commit is contained in:
tildearrow 2023-06-18 21:07:00 -05:00
parent 9cb1fbcc45
commit ae6e68b976
5 changed files with 22 additions and 22 deletions

View File

@ -316,27 +316,27 @@ void CSAADevice::_TickAndOutputStereo(unsigned int& left_mixed, unsigned int& ri
m_Noise0.Tick(); m_Noise0.Tick();
m_Noise1.Tick(); m_Noise1.Tick();
m_Amp0.TickAndOutputStereo(temp_left, temp_right); m_Amp0.TickAndOutputStereo(temp_left, temp_right);
oscBuf[0]->data[oscBuf[0]->needle++]=(temp_left+temp_right)<<3; oscBuf[0]->data[oscBuf[0]->needle++]=(temp_left+temp_right)<<5;
accum_left += temp_left; accum_left += temp_left;
accum_right += temp_right; accum_right += temp_right;
m_Amp1.TickAndOutputStereo(temp_left, temp_right); m_Amp1.TickAndOutputStereo(temp_left, temp_right);
oscBuf[1]->data[oscBuf[1]->needle++]=(temp_left+temp_right)<<3; oscBuf[1]->data[oscBuf[1]->needle++]=(temp_left+temp_right)<<5;
accum_left += temp_left; accum_left += temp_left;
accum_right += temp_right; accum_right += temp_right;
m_Amp2.TickAndOutputStereo(temp_left, temp_right); m_Amp2.TickAndOutputStereo(temp_left, temp_right);
oscBuf[2]->data[oscBuf[2]->needle++]=(temp_left+temp_right)<<3; oscBuf[2]->data[oscBuf[2]->needle++]=(temp_left+temp_right)<<5;
accum_left += temp_left; accum_left += temp_left;
accum_right += temp_right; accum_right += temp_right;
m_Amp3.TickAndOutputStereo(temp_left, temp_right); m_Amp3.TickAndOutputStereo(temp_left, temp_right);
oscBuf[3]->data[oscBuf[3]->needle++]=(temp_left+temp_right)<<3; oscBuf[3]->data[oscBuf[3]->needle++]=(temp_left+temp_right)<<5;
accum_left += temp_left; accum_left += temp_left;
accum_right += temp_right; accum_right += temp_right;
m_Amp4.TickAndOutputStereo(temp_left, temp_right); m_Amp4.TickAndOutputStereo(temp_left, temp_right);
oscBuf[4]->data[oscBuf[4]->needle++]=(temp_left+temp_right)<<3; oscBuf[4]->data[oscBuf[4]->needle++]=(temp_left+temp_right)<<5;
accum_left += temp_left; accum_left += temp_left;
accum_right += temp_right; accum_right += temp_right;
m_Amp5.TickAndOutputStereo(temp_left, temp_right); m_Amp5.TickAndOutputStereo(temp_left, temp_right);
oscBuf[5]->data[oscBuf[5]->needle++]=(temp_left+temp_right)<<3; oscBuf[5]->data[oscBuf[5]->needle++]=(temp_left+temp_right)<<5;
accum_left += temp_left; accum_left += temp_left;
accum_right += temp_right; accum_right += temp_right;
} }

View File

@ -231,11 +231,11 @@ void DivPlatformYM2203::acquire_combo(short** buf, size_t len) {
buf[0][h]=os; buf[0][h]=os;
for (int i=0; i<3; i++) { for (int i=0; i<3; i++) {
oscBuf[i]->data[oscBuf[i]->needle++]=fm_nuked.ch_out[i]>>1; oscBuf[i]->data[oscBuf[i]->needle++]=fm_nuked.ch_out[i]<<1;
} }
for (int i=3; i<6; i++) { for (int i=3; i<6; i++) {
oscBuf[i]->data[oscBuf[i]->needle++]=fmout.data[i-2]>>1; oscBuf[i]->data[oscBuf[i]->needle++]=fmout.data[i-2]<<1;
} }
} }
} }
@ -282,11 +282,11 @@ void DivPlatformYM2203::acquire_ymfm(short** buf, size_t len) {
for (int i=0; i<3; i++) { for (int i=0; i<3; i++) {
oscBuf[i]->data[oscBuf[i]->needle++]=(fmChan[i]->debug_output(0)+fmChan[i]->debug_output(1))>>1; oscBuf[i]->data[oscBuf[i]->needle++]=(fmChan[i]->debug_output(0)+fmChan[i]->debug_output(1))<<1;
} }
for (int i=3; i<6; i++) { for (int i=3; i<6; i++) {
oscBuf[i]->data[oscBuf[i]->needle++]=fmout.data[i-2]>>1; oscBuf[i]->data[oscBuf[i]->needle++]=fmout.data[i-2]<<1;
} }
} }
} }

View File

@ -402,12 +402,12 @@ void DivPlatformYM2608::acquire_combo(short** buf, size_t len) {
for (int i=0; i<psgChanOffs; i++) { for (int i=0; i<psgChanOffs; i++) {
oscBuf[i]->data[oscBuf[i]->needle++]=fm_nuked.ch_out[i]>>1; oscBuf[i]->data[oscBuf[i]->needle++]=fm_nuked.ch_out[i]<<1;
} }
ssge->get_last_out(ssgOut); ssge->get_last_out(ssgOut);
for (int i=psgChanOffs; i<adpcmAChanOffs; i++) { for (int i=psgChanOffs; i<adpcmAChanOffs; i++) {
oscBuf[i]->data[oscBuf[i]->needle++]=ssgOut.data[i-psgChanOffs]>>1; oscBuf[i]->data[oscBuf[i]->needle++]=ssgOut.data[i-psgChanOffs]<<1;
} }
for (int i=adpcmAChanOffs; i<adpcmBChanOffs; i++) { for (int i=adpcmAChanOffs; i<adpcmBChanOffs; i++) {
@ -471,12 +471,12 @@ void DivPlatformYM2608::acquire_ymfm(short** buf, size_t len) {
buf[1][h]=os[1]; buf[1][h]=os[1];
for (int i=0; i<6; i++) { for (int i=0; i<6; i++) {
oscBuf[i]->data[oscBuf[i]->needle++]=(fmChan[i]->debug_output(0)+fmChan[i]->debug_output(1))>>1; oscBuf[i]->data[oscBuf[i]->needle++]=(fmChan[i]->debug_output(0)+fmChan[i]->debug_output(1))<<1;
} }
ssge->get_last_out(ssgOut); ssge->get_last_out(ssgOut);
for (int i=6; i<9; i++) { for (int i=6; i<9; i++) {
oscBuf[i]->data[oscBuf[i]->needle++]=ssgOut.data[i-6]>>1; oscBuf[i]->data[oscBuf[i]->needle++]=ssgOut.data[i-6]<<1;
} }
for (int i=9; i<15; i++) { for (int i=9; i<15; i++) {

View File

@ -333,12 +333,12 @@ void DivPlatformYM2610::acquire_combo(short** buf, size_t len) {
for (int i=0; i<psgChanOffs; i++) { for (int i=0; i<psgChanOffs; i++) {
oscBuf[i]->data[oscBuf[i]->needle++]=fm_nuked.ch_out[bchOffs[i]]>>1; oscBuf[i]->data[oscBuf[i]->needle++]=fm_nuked.ch_out[bchOffs[i]]<<1;
} }
ssge->get_last_out(ssgOut); ssge->get_last_out(ssgOut);
for (int i=psgChanOffs; i<adpcmAChanOffs; i++) { for (int i=psgChanOffs; i<adpcmAChanOffs; i++) {
oscBuf[i]->data[oscBuf[i]->needle++]=ssgOut.data[i-psgChanOffs]>>1; oscBuf[i]->data[oscBuf[i]->needle++]=ssgOut.data[i-psgChanOffs]<<1;
} }
for (int i=adpcmAChanOffs; i<adpcmBChanOffs; i++) { for (int i=adpcmAChanOffs; i<adpcmBChanOffs; i++) {
@ -404,12 +404,12 @@ void DivPlatformYM2610::acquire_ymfm(short** buf, size_t len) {
buf[1][h]=os[1]; buf[1][h]=os[1];
for (int i=0; i<psgChanOffs; i++) { for (int i=0; i<psgChanOffs; i++) {
oscBuf[i]->data[oscBuf[i]->needle++]=(fmChan[i]->debug_output(0)+fmChan[i]->debug_output(1))>>1; oscBuf[i]->data[oscBuf[i]->needle++]=(fmChan[i]->debug_output(0)+fmChan[i]->debug_output(1))<<1;
} }
ssge->get_last_out(ssgOut); ssge->get_last_out(ssgOut);
for (int i=psgChanOffs; i<adpcmAChanOffs; i++) { for (int i=psgChanOffs; i<adpcmAChanOffs; i++) {
oscBuf[i]->data[oscBuf[i]->needle++]=ssgOut.data[i-psgChanOffs]>>1; oscBuf[i]->data[oscBuf[i]->needle++]=ssgOut.data[i-psgChanOffs]<<1;
} }
for (int i=adpcmAChanOffs; i<adpcmBChanOffs; i++) { for (int i=adpcmAChanOffs; i<adpcmBChanOffs; i++) {

View File

@ -401,12 +401,12 @@ void DivPlatformYM2610B::acquire_combo(short** buf, size_t len) {
for (int i=0; i<psgChanOffs; i++) { for (int i=0; i<psgChanOffs; i++) {
oscBuf[i]->data[oscBuf[i]->needle++]=fm_nuked.ch_out[i]>>1; oscBuf[i]->data[oscBuf[i]->needle++]=fm_nuked.ch_out[i]<<1;
} }
ssge->get_last_out(ssgOut); ssge->get_last_out(ssgOut);
for (int i=psgChanOffs; i<adpcmAChanOffs; i++) { for (int i=psgChanOffs; i<adpcmAChanOffs; i++) {
oscBuf[i]->data[oscBuf[i]->needle++]=ssgOut.data[i-psgChanOffs]>>1; oscBuf[i]->data[oscBuf[i]->needle++]=ssgOut.data[i-psgChanOffs]<<1;
} }
for (int i=adpcmAChanOffs; i<adpcmBChanOffs; i++) { for (int i=adpcmAChanOffs; i<adpcmBChanOffs; i++) {
@ -471,12 +471,12 @@ void DivPlatformYM2610B::acquire_ymfm(short** buf, size_t len) {
for (int i=0; i<psgChanOffs; i++) { for (int i=0; i<psgChanOffs; i++) {
oscBuf[i]->data[oscBuf[i]->needle++]=(fmChan[i]->debug_output(0)+fmChan[i]->debug_output(1))>>1; oscBuf[i]->data[oscBuf[i]->needle++]=(fmChan[i]->debug_output(0)+fmChan[i]->debug_output(1))<<1;
} }
ssge->get_last_out(ssgOut); ssge->get_last_out(ssgOut);
for (int i=psgChanOffs; i<adpcmAChanOffs; i++) { for (int i=psgChanOffs; i<adpcmAChanOffs; i++) {
oscBuf[i]->data[oscBuf[i]->needle++]=ssgOut.data[i-psgChanOffs]>>1; oscBuf[i]->data[oscBuf[i]->needle++]=ssgOut.data[i-psgChanOffs]<<1;
} }
for (int i=adpcmAChanOffs; i<adpcmBChanOffs; i++) { for (int i=adpcmAChanOffs; i<adpcmBChanOffs; i++) {