From 53949e05f33f5324ab488808587b934c38055d3d Mon Sep 17 00:00:00 2001 From: "alexey.lysiuk" Date: Mon, 7 Oct 2019 12:32:40 +0300 Subject: [PATCH] - handled differences of values returned by fluid_settings_...() functions FluidSynth 1.x: these functions return 1 on success and 0 otherwise FluidSynth 2.x: these functions return FLUID_OK (0) on success and FLUID_FAILED (-1) otherwise --- .../music_fluidsynth_mididevice.cpp | 23 ++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/libraries/zmusic/mididevices/music_fluidsynth_mididevice.cpp b/libraries/zmusic/mididevices/music_fluidsynth_mididevice.cpp index b811277e5a3..fe8e6adde7e 100644 --- a/libraries/zmusic/mididevices/music_fluidsynth_mididevice.cpp +++ b/libraries/zmusic/mididevices/music_fluidsynth_mididevice.cpp @@ -79,8 +79,14 @@ class FluidSynthMIDIDevice : public SoftSynthMIDIDevice fluid_synth_t *FluidSynth; int (*printfunc)(const char*, ...); + // Possible results returned by fluid_settings_...() functions + // Initial values are for FluidSynth 2.x + int FluidSettingsResultOk = FLUID_OK; + int FluidSettingsResultFailed = FLUID_FAILED; + #ifdef DYN_FLUIDSYNTH enum { FLUID_FAILED = -1, FLUID_OK = 0 }; + static TReqProc fluid_version; static TReqProc new_fluid_settings; static TReqProc new_fluid_synth; static TReqProc delete_fluid_synth; @@ -178,6 +184,16 @@ FluidSynthMIDIDevice::FluidSynthMIDIDevice(int samplerate, std::vector FluidSynthModule{"FluidSynth"}; #define DYN_FLUID_SYM(x) decltype(FluidSynthMIDIDevice::x) FluidSynthMIDIDevice::x{#x} +DYN_FLUID_SYM(fluid_version); DYN_FLUID_SYM(new_fluid_settings); DYN_FLUID_SYM(new_fluid_synth); DYN_FLUID_SYM(delete_fluid_synth);