diff --git a/CHANGELOG.md b/CHANGELOG.md index 34754be..fc89e0d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,7 +18,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Update to circle-stdlib v16/Circle Step 45.1. - Update ARM toolchains to 11.3.rel1. - Update to libmt32emu v2.7.0. -- Update to FluidSynth v2.3.0. +- Update to FluidSynth v2.3.1. - Update to inih r56. - Updater: `config.txt` is now replaced on update, however the `avoid_warnings` setting is preserved (the only setting that matters to most users). - Updater: improved error handling. diff --git a/Makefile b/Makefile index b753cd8..3b17f5b 100644 --- a/Makefile +++ b/Makefile @@ -88,7 +88,7 @@ $(MT32EMUBUILDDIR)/.done: $(CIRCLESTDLIBHOME)/.done fluidsynth: $(FLUIDSYNTHBUILDDIR)/.done $(FLUIDSYNTHBUILDDIR)/.done: $(CIRCLESTDLIBHOME)/.done - @${APPLY_PATCH} $(FLUIDSYNTHHOME) patches/fluidsynth-2.3.0-circle.patch + @${APPLY_PATCH} $(FLUIDSYNTHHOME) patches/fluidsynth-2.3.1-circle.patch @CFLAGS="$(CFLAGS_FOR_TARGET)" \ cmake -B $(FLUIDSYNTHBUILDDIR) \ @@ -142,7 +142,7 @@ veryclean: clean # Reverse patches @${REVERSE_PATCH} $(CIRCLEHOME) patches/circle-45-cp210x-remove-partnum-check.patch @${REVERSE_PATCH} $(CIRCLEHOME) patches/circle-45-minimal-usb-drivers.patch - @${REVERSE_PATCH} $(FLUIDSYNTHHOME) patches/fluidsynth-2.3.0-circle.patch + @${REVERSE_PATCH} $(FLUIDSYNTHHOME) patches/fluidsynth-2.3.1-circle.patch # Clean circle-stdlib @$(MAKE) -C $(CIRCLESTDLIBHOME) mrproper diff --git a/external/fluidsynth b/external/fluidsynth index bfe3599..3cf3f44 160000 --- a/external/fluidsynth +++ b/external/fluidsynth @@ -1 +1 @@ -Subproject commit bfe3599b286f30d561e4df0b0785fa78d6652628 +Subproject commit 3cf3f447188fabf5431576a6684e94384c0f2a36 diff --git a/patches/fluidsynth-2.3.0-circle.patch b/patches/fluidsynth-2.3.1-circle.patch similarity index 97% rename from patches/fluidsynth-2.3.0-circle.patch rename to patches/fluidsynth-2.3.1-circle.patch index 7b0df06..0c06006 100644 --- a/patches/fluidsynth-2.3.0-circle.patch +++ b/patches/fluidsynth-2.3.1-circle.patch @@ -1,5 +1,5 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 051aad73..4f3726e9 100644 +index 8699d53c..071856a8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -329,9 +329,11 @@ if ( WIN32 ) @@ -101,7 +101,7 @@ index 26dbac65..7ab9dc09 100644 /** * Creates a new SoundFont loader. diff --git a/src/synth/fluid_synth.c b/src/synth/fluid_synth.c -index 7d058258..8c7d4ac4 100644 +index 3a58eb60..af8ffc40 100644 --- a/src/synth/fluid_synth.c +++ b/src/synth/fluid_synth.c @@ -108,7 +108,9 @@ static int fluid_synth_render_blocks(fluid_synth_t *synth, int blockcount); @@ -130,7 +130,7 @@ index 7d058258..8c7d4ac4 100644 if(synth->channel != NULL) { -@@ -5447,14 +5451,17 @@ fluid_synth_sfont_unref(fluid_synth_t *synth, fluid_sfont_t *sfont) +@@ -5455,14 +5459,17 @@ fluid_synth_sfont_unref(fluid_synth_t *synth, fluid_sfont_t *sfont) { FLUID_LOG(FLUID_DBG, "Unloaded SoundFont"); } /* spin off a timer thread to unload the sfont later (SoundFont loader blocked unload) */ @@ -148,7 +148,7 @@ index 7d058258..8c7d4ac4 100644 /* Callback to continually attempt to unload a SoundFont, * only if a SoundFont loader blocked the unload operation */ static int -@@ -5472,6 +5479,7 @@ fluid_synth_sfunload_callback(void *data, unsigned int msec) +@@ -5480,6 +5487,7 @@ fluid_synth_sfunload_callback(void *data, unsigned int msec) return TRUE; } } @@ -156,7 +156,7 @@ index 7d058258..8c7d4ac4 100644 /** * Reload a SoundFont. The SoundFont retains its ID and index on the SoundFont stack. -@@ -7569,6 +7577,7 @@ fluid_synth_get_gen(fluid_synth_t *synth, int chan, int param) +@@ -7577,6 +7585,7 @@ fluid_synth_get_gen(fluid_synth_t *synth, int chan, int param) FLUID_API_RETURN(result); } @@ -164,7 +164,7 @@ index 7d058258..8c7d4ac4 100644 /** * Handle MIDI event from MIDI router, used as a callback function. * @param data FluidSynth instance -@@ -7625,6 +7634,7 @@ fluid_synth_handle_midi_event(void *data, fluid_midi_event_t *event) +@@ -7633,6 +7642,7 @@ fluid_synth_handle_midi_event(void *data, fluid_midi_event_t *event) return FLUID_FAILED; }