On Thu, 03 Dec 2009 17:44:50 -0800, j...@resonance.org wrote: > Quoting Rui Nuno Capela <rn...@rncbc.org>: >> On 12/03/2009 10:21 AM, Rui Nuno Capela wrote: >>> On Fri, 27 Nov 2009 15:30:32 -0800, j...@resonance.org wrote: >>>> >>>> I committed some changes which adds a new function >>>> fluid_synth_unset_program() and finalizes API for >>>> fluid_synth_get_channel_info(). >>>> >>>> <snip> >>>> >>>> With the other changes I just committed and provided no one complains, >>>> version 1.1.1 should be released shortly. Speak up if there is >>>> something I overlooked, that you think should be in 1.1.1. >>>> >> >> (qsynth 0.3.4.11 is in its svn trunk now.) >> >> meanwhile, i still have (qsynth that is) some issues which are probably >> either new features or bugs of the fluidsynth 1.1.x series >> >> the short list: >> >> - all 16 channels are always assigned initially even though one loaded >> soundfont has fewer instruments (bank, programs); on previous fluidsynth >> < 1.1.0, channels in excess of soundfont instruments remained initially >> unassigned. > > Yes, previous FluidSynth versions assigned incremental program numbers > to each channel. Starting with 1.1.0, the default bank/program > numbers are 1/1 to be compatible with the MIDI GM standard. This > probably isn't going to be changed back to the old way, since there > wasn't a strong justification for the previous functionality and it > would break MIDI GM files which expected Grand Piano to be already > selected. >
please note that the issue does not affect GM soundfonts, which certainly have way more instruments defined than synth number of channels. my question is exactly about those non-GM/GM2/GS soundfonts that have only one or a couple of instrument presets defined. as it happens, for instance, on a soundfont with only one instrument preset, defined at bank=0 and program=0 (which is most common, afaics) _all_ synth channels get initially assigned to that very same preset. how come? old behavior (< 1.1.0) was only the first would get it, leaving all the rest unassigned which i believe is the right thing to do. what's the use of replicating the same instrument all over the synth channel space ? my argument is leave them unassigned as before. >> - fluid_synth_program_reset() seems to disregard all previous calls to >> fluid_synth_unset_program(), reassigning the default/initial bank and >> program setting to any explicitly unassigned channels. > > Yes, I know. I had mentioned this previously and suspected that you > probably wanted the channel to be unset for good. I'll check and see > what this will entail. > this issue is somewhat a side-effect to the previous one or vice-versa. in my pov, fluid_synth_program_reset() should reset all channel programs to their initial assignment, yes. but problem may lie on that initial assignment and that is what is questionable from the previous issue. see? >> - i may be doing something wrong but i'm having a hard time wrt. bank >> offsets specially on soundfont initial load and/or early channel >> assignment (presets). >> > > Hmm. What sort of problems are you having with this? Are the bank > offsets not working as expected, as far as which preset gets assigned? > it seems that bank offsets are not playing well at initialization (right after a sfont gets loaded). for a certain time (enough to get me hairy :) it seems that bank/programs are being resolved as if bank_offset have not been set at all. however, it seems, that after one calls fluid_synth_program_reset() at least, all gets to normal. you see, all these 3 issues are somewhat related and i made my own effort in dissecting all this, all done by trial-and-error :) > >> hope all these gets clarified before final 1.1.1 (all issues refer to >> fluidsynth svn trunk r275) >> > > Yes, lets get these resolved before 1.1.1 release. > cheers -- rncbc aka Rui Nuno Capela rn...@rncbc.org _______________________________________________ fluid-dev mailing list fluid-dev@nongnu.org http://lists.nongnu.org/mailman/listinfo/fluid-dev