fluid-dev
[Top][All Lists]
Advanced

[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: josh
Subject: Re: [fluid-dev] defaulting to bank 0 and preset 0 on startup in fluid library
Date: Wed, 28 Oct 2009 13:04:09 -0700
User-agent: Internet Messaging Program (IMP) H3 (4.1.6)

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





reply via email to

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