fluid-dev
[Top][All Lists]
Advanced

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

Re: [fluid-dev] Feature Request: Load everything into RAM to make progra


From: David Henningsson
Subject: Re: [fluid-dev] Feature Request: Load everything into RAM to make program changes instant
Date: Tue, 19 Mar 2013 20:03:23 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130308 Thunderbird/17.0.4

On 03/19/2013 05:54 PM, Nils Gey wrote:
On Tue, 19 Mar 2013 14:14:47 +0100
David Henningsson <address@hidden> wrote:

On 03/19/2013 01:55 PM, Nils Gey wrote:
Hello,

could you please add a running or loading mode to load an sf2 completely into 
memory?
The goal is that program changes (and bank?) get rid of the load hiccups and 
the new sound is available in an instant.

It already is loaded completely into memory. It tries to lock it too, so
it does not get swapped out.
(If you get the message "Failed to pin sample data to RAM, swapping is
possible" warning, you know it failed.)

Any hiccups you might get would be related to CPU bound activities
happening at program/bank changes, but these should not cause underruns
if priorities are set right; possibly delays to midi events coming after.

Is this Windows or Linux, btw? I don't know the Windows parts very well.

// David


Linux.

Then maybe it is a different issue? Does fluidsynth make sure that program 
changes (and CCs etc.) which happen on the same tick/time value or are received 
at the same time (via the lib) as note ons always come first?

My problem is that if I send a program change and the first note at the same 
time the first note plays back with the old program, either program 0 on 
program start or if fluidsynth kept running in between the current channel 
program.

What version of FluidSynth are you running? 1.1.0 and 1.1.1 could have had some ordering bugs.

In all other versions, AFAIK, things happen in the order they are sent to the engine. For MIDI files, that would be in the order you find the events in the MIDI file. There is no reordering.

Could you clarify how you mean that you send two things at the same time? The MIDI engine, internally and as accessed through the API, processes events one at a time.

// David




reply via email to

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