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 :)