You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
$ fluidsynth --version
FluidSynth runtime version 2.1.7
Copyright (C) 2000-2021 Peter Hanappe and others.
Distributed under the LGPL license.
SoundFont(R) is a registered trademark of E-mu Systems, Inc.
FluidSynth executable version 2.1.7
Sample type=double
Describe the bug
When handling CC#121 "reset all controllers" fluidsynth will clobber PORTAMENTO_CTRL to zero without setting it to INVALID_NOTE using fluid_channel_clear_portamento. This will cause the next portamento to glide from midi note 0.
Expected behavior
I'm not sure what the intended behavior is supposed to be but at the bare minimum the PORTAMENTO_CTRL should not be clobbered without invalidating it. Either it should be invalidated or left alone.
Steps to reproduce
Send note on on middle C (60)
send reset all controllers CC#121
Enable portamento (send non-zero to CC#5)
Enable portament footswitch (send 127 to CC#65)
Enable legato footswitch (send 127 to CC#68)
send note on on C5 (72)
You will notice that it glides from midi note 0 instead of midi note 60. It should glide from midi note 60.
Additional context
The offending code is in fluid_channel_init_ctrl()
The text was updated successfully, but these errors were encountered:
After looking more into how "reset all controllers" is intended to be used, it's my opinion that PORTAMENTO_CTRL should be invalidated. #1049 (comment)
I guess PORTAMENTO_CTRL should only be invalidated if Portamento is enabled. That's because PORTAMENTO_CTRL could be used as modulator source. And I'm afraid that unconditionally invalidating it would result in some audible glitches.
FluidSynth version
Describe the bug
When handling CC#121 "reset all controllers" fluidsynth will clobber
PORTAMENTO_CTRL
to zero without setting it to INVALID_NOTE usingfluid_channel_clear_portamento
. This will cause the next portamento to glide from midi note 0.Expected behavior
I'm not sure what the intended behavior is supposed to be but at the bare minimum the
PORTAMENTO_CTRL
should not be clobbered without invalidating it. Either it should be invalidated or left alone.Steps to reproduce
You will notice that it glides from midi note 0 instead of midi note 60. It should glide from midi note 60.
Additional context
The offending code is in
fluid_channel_init_ctrl()
The text was updated successfully, but these errors were encountered: