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);
pf (" <PatchBank Name=\"Patch Bank %d\">\n", i->first);
if (i->second.size() > 0) {
pf (" <MIDICommands>\n");
- // this seems wrong (swapped MSB/LSB) but works - double check fluid + ardour.
- pf (" <ControlChange Control=\"0\" Value=\"%d\"/>\n", i->first & 127);
- pf (" <ControlChange Control=\"32\" Value=\"%d\"/>\n", (i->first >> 8) & 127);
+ pf (" <ControlChange Control=\"0\" Value=\"%d\"/>\n", (i->first >> 7) & 127);
+ pf (" <ControlChange Control=\"32\" Value=\"%d\"/>\n", i->first & 127);
pf (" </MIDICommands>\n");
pf (" <PatchNameList>\n");
int n = 0;