[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [fluid-dev] defaulting to bank 0 and preset 0 on startup in fluid li
From: |
Louis B. |
Subject: |
Re: [fluid-dev] defaulting to bank 0 and preset 0 on startup in fluid library |
Date: |
Wed, 28 Oct 2009 21:17:33 +0000 |
Yep, chaining the example I think would be a good idea as this I think
that is a better default (as I followed the example rather blindly
when writing my code -- but it was _very_ easy to integrate with Piano
Booster) Starting up fluid synth is then more like turning on a
hardware synth -- you always hear a sound even if you don't send a
program change first.
Louis
On Wed, Oct 28, 2009 at 8:04 PM, <address@hidden> wrote:
> Hello Louis,
>
> Quoting "Louis B." <address@hidden>:
>
>> Hi All,
>>
>> I have another small change I would like to see in the next release if
>> possible.
>>
>> when commenting out the following line 51 from example.c no sound is
>> produced
>>
>> /* Select bank 0 and preset 0 in the SoundFont we just loaded on
>> channel 0 */
>> //fluid_synth_program_select(synth, 0, sfont_id, 0, 0);
>>
>> I believe that the system should default to bank 0 and preset 0 when a
>> sound font is first loaded. Some midi files forget to set a preset
>> especially single piano pieces. This caught me out a few times and I
>> had to add the following code to my start up.
>> for (int channel = 0; channel < MAX_MIDI_CHANNELS ; channel++)
>> {
>> fluid_synth_program_change(m_synth, channel, GM_PIANO_PATCH);
>> }
>>
>> However the standalone version of fluidsynth does not have this
>> problem and defaults to preset 0.
>>
>
>
> I think it does default to bank 0 preset 0 on all channels. The issue is
> actually with the fluid_synth_sfload() call in the example code. The 3rd
> parameter is called reset_presets. If its FALSE then no instrument changes
> are made on any MIDI channels. If TRUE then all MIDI channels are refreshed
> (as if they had bank/program change messages sent) which may cause new
> instruments to get used from the loaded SoundFont. Perhaps the example
> should just be changed to pass TRUE as the 3rd parameter.
>
>
>>
>> Thanks
>>
>> Louis
>>
>
> Regards,
> Josh
>
>