This fix ensures that the a-fluidsynth "synth" object is not used in two
threads at the same time during midi event handling (run() in RT thread vs.
load_sf2() in worker thread), which could result in crashes.
The reverb and chorus states in the fluidsynth object need to be initialized to
0 (false) in accordance with the initial state of a-fluidsynth's
v_port[...]. Otherwise they are not updated in the first run() and remain to
fluidsynth's default state 1 (true) even though the plugin's state requires 0.
lv2 state mandates that
> The plugin MUST use this function [ absolute_path] in order to
> actually open or otherwise use any paths loaded from plugin state.
Previously the plugin uses the value directly. Also
> The caller is responsible for freeing the returned value with free().
is now implemented on systems other than windows (where this is not
possible, since the memory must be free()ed in the same module where it
was allocated.
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode
and video in order to keep the legible