From 46116b6b307eef613d9896048fbd75a5b457d724 Mon Sep 17 00:00:00 2001 From: "S. Christian Collins" Date: Fri, 10 Jan 2025 14:18:23 -0600 Subject: [PATCH] Faster exclusive class note cutoff (#1468) Increases the speed of exclusive class note cutoff and removes the modEnvRelease override as discussed and demonstrated in #1467. Manipulating the modulation envelope release when cutting a voice due to exclusive class can lead to unintended consequences, so this feature has been removed. --- src/synth/fluid_voice.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/synth/fluid_voice.c b/src/synth/fluid_voice.c index 418a7e2dc..8fdf47e9d 100644 --- a/src/synth/fluid_voice.c +++ b/src/synth/fluid_voice.c @@ -1399,14 +1399,12 @@ fluid_voice_kill_excl(fluid_voice_t *voice) fluid_voice_gen_set(voice, GEN_EXCLUSIVECLASS, 0); /* Speed up the volume envelope */ - /* The value was found through listening tests with hi-hat samples. */ - fluid_voice_gen_set(voice, GEN_VOLENVRELEASE, -200); + /* The previously-used value of "-200" was found through listening tests + with hi-hat samples. This was changed to "-2000" after "-200" was shown + to cause too long cut times in most cases. */ + fluid_voice_gen_set(voice, GEN_VOLENVRELEASE, -2000); fluid_voice_update_param(voice, GEN_VOLENVRELEASE); - /* Speed up the modulation envelope */ - fluid_voice_gen_set(voice, GEN_MODENVRELEASE, -200); - fluid_voice_update_param(voice, GEN_MODENVRELEASE); - at_tick = fluid_channel_get_min_note_length_ticks(voice->channel); UPDATE_RVOICE_I1(fluid_rvoice_noteoff, at_tick);