From c51ac7688e07840c2f32a3e9b6f1f79d97587a43 Mon Sep 17 00:00:00 2001 From: Marcus Weseloh Date: Sat, 5 Aug 2017 14:58:10 +0200 Subject: [PATCH] Fix channel fine tune RPN to use correct range of +/- 100 cent --- fluidsynth/src/synth/fluid_synth.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fluidsynth/src/synth/fluid_synth.c b/fluidsynth/src/synth/fluid_synth.c index b52015f5..f7506491 100644 --- a/fluidsynth/src/synth/fluid_synth.c +++ b/fluidsynth/src/synth/fluid_synth.c @@ -1137,9 +1137,9 @@ fluid_synth_cc_LOCAL (fluid_synth_t* synth, int channum, int num) fluid_synth_update_pitch_wheel_sens_LOCAL (synth, channum); /* Update bend range */ /* FIXME - Handle LSB? (Fine bend range in cents) */ break; - case RPN_CHANNEL_FINE_TUNE: /* Fine tune is 14 bit over 1 semitone (+/- 50 cents, 8192 = center) */ + case RPN_CHANNEL_FINE_TUNE: /* Fine tune is 14 bit over +/-1 semitone (+/- 100 cents, 8192 = center) */ fluid_synth_set_gen_LOCAL (synth, channum, GEN_FINETUNE, - (data - 8192) / 8192.0 * 50.0, FALSE); + (data - 8192) / 8192.0 * 100.0, FALSE); break; case RPN_CHANNEL_COARSE_TUNE: /* Coarse tune is 7 bit and in semitones (64 is center) */ fluid_synth_set_gen_LOCAL (synth, channum, GEN_COARSETUNE,