On Monday, August 2, 2010, Elimar Green wrote: > Its been a while since the topic of MIDI bank selection was discussed, > so I'm frustratingly in the dark again about it. From what I read a > bank/program change is sent as such: > Bank MSB (CC #0) > Bank LSB (CC #32) > Program change > > So in that case if 1 was sent for MSB and 0 was sent for LSB it would > mean bank #128. If only a MSB is sent though, as in the cited example > case, I'm suspecting that should be interpreted instead as an LSB > value? Not sure exactly what standard defines such behavior though. > Does this sound like what the issue is related to?
Yes. I've tried to explain this in the longer message I've posted yersterday. To summarize: the only standard required here is the SF2 specification: http://connect.creativelabs.com/developer/SoundFont/Forms/AllItems.aspx Which says about the SoundFont bank and preset numbers that "if the value [...] is not a valid MIDI value of zero through 127, or 128 for wBank, the preset cannot be played but should be maintained." If you calculate MSB*128+LSB for any MSB>0, the resulting number is not a value from zero through 127, so it will not match any SF2 bank number for a melodic channel. In my opinion, if only the LSB control change is sent, it should also be interpreted as the SF2 bank number. Regards, Pedro _______________________________________________ fluid-dev mailing list fluid-dev@nongnu.org http://lists.nongnu.org/mailman/listinfo/fluid-dev