Quoting Rui Nuno Capela <rn...@rncbc.org>:
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.
As I mentioned, previous FluidSynth versions would assign incremental
program numbers to each channel. So MIDI Channel 1 would be program
1, channel 2 program 2, etc. There wasn't really any reason for that
behavior. What I was referring to, was not GM SoundFont files, but GM
MIDI files. Some GM MIDI files may assume that program 1 is the
default for all channels, which it should be for GM compliance.
I'm not really convinced that having the previous policy of
incremental program assignment is better than having it be GM
compliant, since it would still be assigning the whole channel space,
just different instruments for every channel. So you would still end
up with instruments assigned to all channels, except in the case where
the SoundFont happens to not have instruments on those program #s.
Or perhaps I'm overlooking something? Did previous versions of
FluidSynth not have instruments assigned to every channel in
incremental fashion?
- 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 think I need to get a better idea of what you are experiencing as
far as the previous behavior compared to what it is now. As far as I
know, it was as I described above (all channels get assigned
instruments, just that now its all program 1, not incremental). Which
doesn't seem to be a problem to me. If you still feel it is a
problem, we can hold some sort of a vote or something.
- 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 :)
That sounds like another event queuing issue. I thought I had all
those ironed out. I'll see if there is anything that could affect the
bank offsets in that regard.
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
Thanks for your patience on this. It hasn't been an easy task making
FluidSynth thread safe and trying to remain compatible with previous
versions.
Cheers
Josh
_______________________________________________
fluid-dev mailing list
fluid-dev@nongnu.org
http://lists.nongnu.org/mailman/listinfo/fluid-dev