From 5b03c41f6c46ab73cf182de88b3ba10a5b8bc8a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=83=C2=BCller?= Date: Fri, 12 Oct 2018 00:56:59 +0200 Subject: [PATCH] Follow fluidsynth's API changes introduced with 2.0.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Updated patch from Andreas Müller --- libs/ardour/fluid_synth.cc | 15 ++++++------ libs/plugins/a-fluidsynth.lv2/a-fluidsynth.cc | 24 +++++++++---------- 2 files changed, 19 insertions(+), 20 deletions(-) diff --git a/libs/ardour/fluid_synth.cc b/libs/ardour/fluid_synth.cc index 45653a9e70..9d20f95358 100644 --- a/libs/ardour/fluid_synth.cc +++ b/libs/ardour/fluid_synth.cc @@ -71,19 +71,18 @@ FluidSynth::load_sf2 (const std::string& fn) } size_t count; - fluid_preset_t preset; + fluid_preset_t* preset; - sfont->iteration_start (sfont); - for (count = 0; sfont->iteration_next (sfont, &preset) != 0; ++count) { + fluid_sfont_iteration_start (sfont); + for (count = 0; (preset = fluid_sfont_iteration_next (sfont)) != 0; ++count) { if (count < 16) { - fluid_synth_program_select (_synth, count, _synth_id, preset.get_banknum (&preset), preset.get_num (&preset)); + fluid_synth_program_select (_synth, count, _synth_id, fluid_preset_get_banknum (preset), fluid_preset_get_num (preset)); } _presets.push_back (BankProgram ( - preset.get_name (&preset), - preset.get_banknum (&preset), - preset.get_num (&preset))); + fluid_preset_get_name (preset), + fluid_preset_get_banknum (preset), + fluid_preset_get_num (preset))); } - if (count == 0) { return false; } diff --git a/libs/plugins/a-fluidsynth.lv2/a-fluidsynth.cc b/libs/plugins/a-fluidsynth.lv2/a-fluidsynth.cc index e6cf1e29d3..b9ccf2de2c 100644 --- a/libs/plugins/a-fluidsynth.lv2/a-fluidsynth.cc +++ b/libs/plugins/a-fluidsynth.lv2/a-fluidsynth.cc @@ -184,23 +184,23 @@ load_sf2 (AFluidSynth* self, const char* fn) } int chn; - fluid_preset_t preset; - sfont->iteration_start (sfont); + fluid_preset_t *preset; + fluid_sfont_iteration_start (sfont); pthread_mutex_lock (&self->bp_lock); - for (chn = 0; sfont->iteration_next (sfont, &preset); ++chn) { + for (chn = 0; (preset = fluid_sfont_iteration_next (sfont)); ++chn) { if (chn < 16) { fluid_synth_program_select (self->synth, chn, synth_id, - preset.get_banknum (&preset), preset.get_num (&preset)); + fluid_preset_get_banknum (preset), fluid_preset_get_num (preset)); } #ifndef LV2_EXTENDED else { break ; } #else - self->presets[preset.get_banknum (&preset)].push_back ( + self->presets[fluid_preset_get_banknum (preset)].push_back ( BankProgram ( - preset.get_name (&preset), - preset.get_banknum (&preset), - preset.get_num (&preset))); -#endif + fluid_preset_get_name (preset), + fluid_preset_get_banknum (preset), + fluid_preset_get_num (preset))); +#endif // LV2_EXTENDED } pthread_mutex_unlock (&self->bp_lock); @@ -681,9 +681,9 @@ work_response (LV2_Handle instance, } for (int chn = 0; chn < 16; ++chn) { - unsigned int sfid = 0; - unsigned int bank = 0; - unsigned int program = -1; + int sfid = 0; + int bank = 0; + int program = -1; if (FLUID_OK == fluid_synth_get_program (self->synth, chn, &sfid, &bank, &program)) { self->program_state[chn].bank = bank; self->program_state[chn].program = program;