[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [fluid-dev] More commits on the way to 1.1.1

From: Rui Nuno Capela
Subject: Re: [fluid-dev] More commits on the way to 1.1.1
Date: Sun, 06 Dec 2009 11:39:35 +0000
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv: Gecko/20090915 SUSE/3.0b4-3.6 Thunderbird/3.0b4

On 12/05/2009 03:32 AM, address@hidden wrote:
> Quoting Rui Nuno Capela <address@hidden>:
>> 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.

ok. the instrument/channel issue may be left as is or to some other
occasion and debate. i can live with it, pretty well ;)

what really matters now, at least imho, are these 2 issues: 1)
bank-offsets non-operative on soundfont load/initialization and 2)
fluid_synth_program_reset() should honor fluid_synth_unset_program()
discretion by keeping the affected channels unassigned

ironing those out two issues should be enough to get 1.1.1 ready as xmas
present :)

rncbc aka Rui Nuno Capela

reply via email to

[Prev in Thread] Current Thread [Next in Thread]