Follow fluidsynth's API changes introduced with 2.0.0
authorAndreas Müller <schnitzeltony@gmail.com>
Thu, 11 Oct 2018 22:56:59 +0000 (00:56 +0200)
committerRobin Gareus <robin@gareus.org>
Wed, 17 Oct 2018 23:43:43 +0000 (01:43 +0200)
Updated patch from Andreas Müller <schnitzeltony@gmail.com>

libs/ardour/fluid_synth.cc
libs/plugins/a-fluidsynth.lv2/a-fluidsynth.cc

index 45653a9e7046ca813c136c93428014edc4efe05f..9d20f953581f442b8a4bae637c200c162b78b93f 100644 (file)
@@ -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;
        }
index e6cf1e29d3e8c748983d624de802ef428b3dd6f8..b9ccf2de2cf18f6bf67df4f4d6cb19ffaba15c83 100644 (file)
@@ -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;