fluid-dev
[Top][All Lists]
Advanced

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

Re: [fluid-dev] New Lua module; therefore various questions


From: David Henningsson
Subject: Re: [fluid-dev] New Lua module; therefore various questions
Date: Thu, 21 Aug 2014 20:33:34 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.0



On 2014-08-21 08:58, Peter Billam wrote:
Greetings,

Thank you David :-)

When    new_fluid_audio_driver(settings, synth)
is called, does the settings have to be the same settings
that was used to create the synth ? or can it be a new
settings created in order to configure the audio_driver ?
Hmm, good question. I guess it would be okay to have a different
object, otherwise there wouldn't be another settings pointer in
the first place.  But we should probably look up this better.

That would be nice if you could check that sometime because
I think it will change my API at the Lua level...

I'd say it's safe to use different settings objects. I looked through the Alsa driver just to see if there was anything fishy, but it all looked okay, and I assume other drivers are okay too.

Just a few more questions, all about simultaneity:

Can multiple synths be running at the same time ?

Yes, they are entirely independent objects.

Can one synth have multiple midi_players running at the same time ?
   (eg: to play several midi files, each starting at a different moment)

Yes, but expect cacophony :-) since they will likely override each other's program change messages.

Can, while a midi-player is running, the synth still be
   given real-time events (like fluid_synth_noteon etc)
   before fluid_player_join and fluid_player_stop get invoked ?

Sure (the same cacophony warning applies).

Note that the threading settings (synth.threadsafe-api and synth.parallel-render) are set to maximum safety by default, but if you reduce those to get better performance, the answer to the latter two questions change from a simple "yes" to "it depends".

// David



reply via email to

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