Tom The problem with your suggested code is that it does not work properly!!! Bank 0 appears to be always selected no matter what bank I try to select. I have tried 0, 1, 10 and 200 with an sf2 font which has only banks 0 and 1,in all cases there is no error and bank 0 is selected. See my code below: int Division::loadSoundFont(char* sfont, int bank){ int sfID = 0; char buffer[128]; int result = FLUID_FAILED; sprintf(buffer,"%i",bank); MessageBox(NULL,buffer,"Bank",MB_ICONEXCLAMATION | MB_OK); sfID = fluid_synth_sfload(synth, sfont, 1); for(int i=0; i<fluid_synth_count_midi_channels(synth); i++) result = fluid_synth_bank_select(synth, i, bank); if(result == FLUID_FAILED)MessageBox(NULL,"Bad bank select","Bank",MB_ICONEXCLAMATION | MB_OK); return sfID; } Any comments?? David.
From: Tom M. <tom.m...@googlemail.com> To: David Back <csw...@yahoo.co.uk> Cc: fluid-dev@nongnu.org Sent: Wednesday, 27 December 2017, 14:30 Subject: Re: [fluid-dev] Fluidsynth bank select Regarding "reset" and "offset" I agree they could be explained a bit more detailed. I'll see what can be done. > You also need several examples of how these functions should be used -- there > are none. Sorry, there really is nothing special about using these functions. We cannot have an example for every easy-to-use function. > I have no knowledge of the "original thread" and fluid_synth_bank_select() > selects the bank for only one channel at a time so is not what I needed, > though it could be pressed into service if there was no alternative. Why dont you do: for(int i=0; i<fluid_synth_count_midi_channels(synth); i++) fluid_synth_bank_select(synth, i, my_bank); Tom
_______________________________________________ fluid-dev mailing list fluid-dev@nongnu.org https://lists.nongnu.org/mailman/listinfo/fluid-dev