0
1
mirror of https://github.com/radio95-rnt/fm95.git synced 2026-02-27 11:33:54 +01:00

revert that

This commit is contained in:
2025-03-29 21:06:17 +01:00
parent 9a57e54eed
commit e04dcf5f32

View File

@@ -487,9 +487,6 @@ int main(int argc, char **argv) {
}
for (int i = 0; i < BUFFER_SIZE; i++) {
float mpx = 0.0f;
float sound = 0.0f;
float l_in = left[i];
float r_in = right[i];
float current_mpx_in = mpx_in[i];
@@ -503,35 +500,37 @@ int main(int argc, char **argv) {
ready_r = hard_clip(ready_r*audio_volume, clipper_threshold);
float mono = (ready_l + ready_r) / 2.0f;
sound = mono*MONO_VOLUME;
output[i] = mono*MONO_VOLUME;
float stereo_carrier = 0.0f;
if(stereo) {
float stereo = (ready_l - ready_r) / 2.0f;
stereo_carrier = get_oscillator_sin_multiplier_ni(&osc, polar_stereo ? 1 : 8);
if(polar_stereo) {
sound += ((stereo+0.2)*stereo_carrier)*STEREO_VOLUME;
output[i] += ((stereo+0.2)*stereo_carrier)*STEREO_VOLUME;
} else {
float pilot = get_oscillator_sin_multiplier_ni(&osc, 4);
sound += pilot*PILOT_VOLUME +
output[i] += pilot*PILOT_VOLUME +
(stereo*stereo_carrier)*STEREO_VOLUME;
}
}
if(rds_on && polar_stereo == 0) {
float rds_carrier = get_oscillator_cos_multiplier_ni(&osc, 12);
mpx += (current_rds_in*rds_carrier)*RDS_VOLUME;
output[i] += (current_rds_in*rds_carrier)*RDS_VOLUME;
if(!sca_on) {
float rds2_carrier_66 = get_oscillator_cos_multiplier_ni(&osc, 14);
mpx += (current_rds2_in*rds2_carrier_66)*RDS2_VOLUME;
output[i] += (current_rds2_in*rds2_carrier_66)*RDS2_VOLUME;
}
}
if(mpx_on) mpx += hard_clip(current_mpx_in, MPX_CLIPPER_THRESHOLD)*MPX_VOLUME;
if(sca_on) mpx += modulate_fm(&sca_mod, hard_clip(current_sca_in, sca_clipper_threshold))*SCA_VOLUME;
if(mpx_on) output[i] += hard_clip(current_mpx_in, MPX_CLIPPER_THRESHOLD)*MPX_VOLUME;
if(sca_on) output[i] += modulate_fm(&sca_mod, hard_clip(current_sca_in, sca_clipper_threshold))*SCA_VOLUME;
float mpower = measure_mpx(&power, (sound+mpx)*75000);
sound *= dbr_to_deviation(mpower/mpx_power)/75000/(sound/2);
float mpower = measure_mpx(&power, output[i]*75000);
if(mpower > mpx_power) {
printf("Overpower! %f/%f\n", mpower, mpx_power);
}
output[i] = (sound+mpx)*master_volume;
output[i] *= master_volume;
if(rds_on || stereo) advance_oscillator(&osc);
}