fluid-dev
[Top][All Lists]
Advanced

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

Re: [fluid-dev] Re: Last QSynth issues committed


From: Rui Nuno Capela
Subject: Re: [fluid-dev] Re: Last QSynth issues committed
Date: Tue, 15 Dec 2009 21:52:37 +0000
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.5) Gecko/20091130 SUSE/3.0.0-1.1.1 Thunderbird/3.0

On 12/15/2009 07:41 PM, address@hidden wrote:
> Ahh, and I thought that was going to be the golden commit.
> 

aha, ya know, all that glitters ain't gold :)


> Quoting Rui Nuno Capela <address@hidden>:
>>
>> re. svn trunk r278
>>
>> fluid_synth_unset_program() seems to do its deeds now, but ...
>>
>> that fallback logic needs work still. or else. for example, simple
>> soundfonts which define fewer instruments/presets than the number of
>> available channels, are now set initially unassigned, as reported by
>> fluid_synth_get_channel_info().
> 
> 
> I'm not seeing that.  I just loaded up a SoundFont in QSynth 0.3.4 with
> only one preset and it was assigned to every channel, except 10 which is
> unassigned due to lack of percussion preset.  Program/preset 0/0 should
> get assigned to every channel except 10.  Am I misunderstanding what you
> are seeing?
> 

stop right there :) is that's the last released version of qsynth 0.3.4
that's old enough and surely is *not* the new api, neither
fluid_synth_get_channel_info() nor fluid_synth_unset_program().

please try with current svn trunk:

  svn co https://qsynth.svn.sourceforge.net/svnroot/qsynth/trunk qsynth-svn

build it straight:

  cd qsynth-svn
  make -f Makefile.svn
  ./configure && make
  ./qsynth

and that will get you to qsynth 0.3.4.11, the one i fuss with ;)


> 
>> furthermore, any attempt to assign any
>> other bank/program to a channel, via fluid_synth_bank_select() and
>> fluid_synth_program_change(), are strangely refused or will fallback to
>> unassigned or default preset quite immediately.
>>
> 
> 
> Weird.  I'm not seeing that in QSynth 0.3.4 though.  I tried a SoundFont
> which has 2 banks of instruments and was able to select from other banks
> just fine, at least according to the channels dialog.
> 

you can select but it won't stay that way for long, at least on my lab.
pressing reset button, which implies fluid_synth_program_reset() will
just put all channels back to default bank/program and not the assigned
ones.


> 
>> one other thing, more like a question, is fluid_synth_program_reset()
>> really supposed to reset all channels to the default bank/program
>> assignment and disregard any explicit or discrete bank/program change
>> made so far? i am not sure, but i think that is in complete disruption
>> with older behavior or semantics from pre 1.1.0
>>
> 
> fluid_synth_program_reset() is supposed to work just as before, that is
> (from the API reference):
> 
> Resend a bank select and a program change for every channel.
> 

right, but that's not what it is doing, at least when probed with
fluid_synth_get_channel_info(). nb. older qsynth 0.3.4 is probably
reading channel information via fluid_synth_get_channel_preset(),
instead of fluid_synth_get_channel_info(), remember?

> 
> So it should just resend the bank and program which is already assigned,
> which might cause a new preset to become assigned if the loaded
> SoundFont stack or bank offsets have changed.  If you are seeing
> something else, then that is a bug.
> 
> Do you have some updated QSynth code I could test with?  Perhaps there
> is something going wrong with some of the new functions or something. 
> Or maybe I didn't understand what exactly you are experiencing.  Do you
> have any reproducible steps I could use to observe the problems you are
> seeing?
> 

qsynth 0.3.4.11 as in svn trunk has this new "unset" option on the
channels' context menu, so you can try that too.

cheers
-- 
rncbc aka Rui Nuno Capela
address@hidden




reply via email to

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