From 4e51141e9d5e27c7081238d190b5d2d05227945a Mon Sep 17 00:00:00 2001 From: derselbst Date: Wed, 22 May 2024 14:27:44 +0200 Subject: [PATCH 1/3] Access to synth->bank_select not guarded by mutex --- src/synth/fluid_synth.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/synth/fluid_synth.c b/src/synth/fluid_synth.c index e635983ac..e6bac898b 100644 --- a/src/synth/fluid_synth.c +++ b/src/synth/fluid_synth.c @@ -2050,8 +2050,8 @@ fluid_synth_sysex(fluid_synth_t *synth, const char *data, int len, || data[3] == MIDI_SYSEX_GM2_ON)) { int result; - synth->bank_select = FLUID_BANK_STYLE_GM; fluid_synth_api_enter(synth); + synth->bank_select = FLUID_BANK_STYLE_GM; result = fluid_synth_system_reset_LOCAL(synth); FLUID_API_RETURN(result); } From 79ef993b6fb26dedaa69f1420e9d50fb93ccc9c9 Mon Sep 17 00:00:00 2001 From: derselbst Date: Wed, 22 May 2024 14:46:00 +0200 Subject: [PATCH 2/3] Update documentation of synth.device-id --- doc/fluidsettings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/fluidsettings.xml b/doc/fluidsettings.xml index c26ed39fa..71af6432f 100644 --- a/doc/fluidsettings.xml +++ b/doc/fluidsettings.xml @@ -111,7 +111,7 @@ Developers: 127 - Device identifier used for SYSEX commands, such as MIDI Tuning Standard commands. Fluidsynth will only process those SYSEX commands destined for this ID (except when this setting is set to 127, which causes fluidsynth to process all SYSEX commands, regardless of the device ID). Broadcast commands (with ID=127) will always be processed. + Device identifier used for SYSEX commands, such as MIDI Tuning Standard commands. Fluidsynth will only process those SYSEX commands destined for this ID (except when this setting is set to 127, which causes fluidsynth to process all SYSEX commands, regardless of the device ID). Broadcast commands (with ID=127) will always be processed. It has been observed that setting this ID to 16 provides best compatibility when playing MIDI files which contain SYSEX commands that you want to have honored. dynamic-sample-loading From c189075979390d037a134f7eedd1cafb4ef629b7 Mon Sep 17 00:00:00 2001 From: derselbst Date: Sun, 9 Jun 2024 11:39:05 +0200 Subject: [PATCH 3/3] Log NRPNs in verbose mode --- src/synth/fluid_synth.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/synth/fluid_synth.c b/src/synth/fluid_synth.c index e6bac898b..fb868a67d 100644 --- a/src/synth/fluid_synth.c +++ b/src/synth/fluid_synth.c @@ -1827,6 +1827,10 @@ fluid_synth_cc_LOCAL(fluid_synth_t *synth, int channum, int num) if(nrpn_select < GEN_LAST) { + if(synth->verbose) + { + FLUID_LOG(FLUID_INFO, "NRPN\t%d\t%d\t%d", channum, nrpn_select, data); + } float val = fluid_gen_scale_nrpn(nrpn_select, data); fluid_synth_set_gen_LOCAL(synth, channum, nrpn_select, val); }