[Top][All Lists]

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

Re: [fluid-dev] Sequencer with sample timer support

From: josh
Subject: Re: [fluid-dev] Sequencer with sample timer support
Date: Sat, 09 May 2009 19:31:55 -0400
User-agent: Internet Messaging Program (IMP) H3 (4.1.6)

Quoting David Henningsson <address@hidden>:

address@hidden skrev:
Quoting David Henningsson <address@hidden>:
- To try the new sample timer functionality simply call
new_fluid_sequencer2(0) instead of new_fluid_sequencer(). That will
disable the system timer, which the seqbinder will detect and instead
enable the sample timer.
Do you plan to leave the new_fluid_sequencer2() call or is that just for
testing purposes?  Maybe the sequencer timer selection should be a
settings option?

I don't know if the settings are an option (pun intended!). The
sequencer does not use/depend on the settings infrastructure today, and
we can't wait until the client gets registered (and take the settings
from the synth). That is because the sequencer is multi-source and
multi-dest for midi events, but there can only be one timing source.

That said, the call is not set in stone for 1.1.0, I was thinking of
adding one more parameter that could optionally disable the mutex (for
speed) if you want to use the sequencer in a single-threaded context.
And if we fix a more advanced timing API for 1.1.0 (see the "timing
revisited" thread for some initial thoughts about this) perhaps the
boolean flag should be replaced with a pointer to some kind of structure.

I guess I was thinking that the timer selection was something transparent, that even older code which uses new_fluid_sequencer() could use. Reading your documentation for new_fluid_sequencer2() though, it sounds like there are some fundamental differences in usage, that the caller needs to be aware of (calling fluid_sequencer_process or not), so it does seem to make sense to have a new function.

One option might be to continue to just have one new_fluid_sequencer() but add additional functions like fluid_sequencer_set_system_timer (sequencer, 0/1) for setting options, with defaults being as they are now for backwards compatibility.

// David

Keep up the great work! :)


reply via email to

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