On Sun, 2009-04-05 at 11:14 +0200, David Henningsson wrote: > David Henningsson skrev: > > Otherwise I think it makes sense - LSB setting does not affect MSB > > setting, and the other way around. > > > > A question to the audience: Why do we have variables for banknum and > > prognum in fluid_channel_t, when they can be read from (and written to) > > the CC array? > > First; forget about the prognum - it is not a CC. The question is still > valid for banknum though. > > I've tried to dig a bit deeper here. It is hard to find free standards > on the net (has anybody bought a copy from midi.org?), but I found the > XG standard here: > > http://web.archive.org/web/20060926124939/http://www.yamaha.co.uk/xg/reading/pdf/xg_spec.pdf > > The first question is: What do we really support? GM? GM2? GS? XG? For > XG, the drum kit bank is 127, not 1. > > There is also some information in this document which I think should > apply to us regardless, especially the default values of controllers. E > g the default volume for each channel should be 100 by default, not 127 > as set in fluid_channel_init_ctrl. > > // David > >
I think it would be ideal if FluidSynth could detect what mode it is supposed to be in via SYSEX data as well as be explicitly put into a certain mode via API calls. This was discussed a little before on the list in response to some of Jimmy's previous posts about bank/program selection fallback. The SoundFont standard itself designates bank 128 as the percussion bank (section 7.2 about the PHDR chunk). SoundFont files are generally designed for a specific standard. But the MIDI mode determines bank/program selection behavior, controllers etc. I'm not sure how far we would want to go in providing the ability for users to use a XG bank in place of another standard for example. But many of those standards build on at least GM. Josh _______________________________________________ fluid-dev mailing list fluid-dev@nongnu.org http://lists.nongnu.org/mailman/listinfo/fluid-dev