From 2a7ad06e793e3bc335108ce587d1123aaf9989f7 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Tue, 31 Jan 2017 10:44:07 +0100 Subject: [PATCH] fix a-fluidsynth bank select (use MMA style, 14 bit MSB/LSB) --- libs/plugins/a-fluidsynth.lv2/a-fluidsynth.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libs/plugins/a-fluidsynth.lv2/a-fluidsynth.cc b/libs/plugins/a-fluidsynth.lv2/a-fluidsynth.cc index 4637c6be99..0fdb01c86e 100644 --- a/libs/plugins/a-fluidsynth.lv2/a-fluidsynth.cc +++ b/libs/plugins/a-fluidsynth.lv2/a-fluidsynth.cc @@ -327,6 +327,7 @@ instantiate (const LV2_Descriptor* descriptor, fluid_settings_setnum (self->settings, "synth.sample-rate", rate); fluid_settings_setint (self->settings, "synth.parallel-render", 1); fluid_settings_setint (self->settings, "synth.threadsafe-api", 0); + fluid_settings_setstr (self->settings, "synth.midi-bank-select", "mma"); self->synth = new_fluid_synth (self->settings); @@ -763,9 +764,8 @@ mn_file (LV2_Handle instance) pf (" \n", i->first); if (i->second.size() > 0) { pf (" \n"); - // this seems wrong (swapped MSB/LSB) but works - double check fluid + ardour. - pf (" \n", i->first & 127); - pf (" \n", (i->first >> 8) & 127); + pf (" \n", (i->first >> 7) & 127); + pf (" \n", i->first & 127); pf (" \n"); pf (" \n"); int n = 0;