[LV2] Worker extension

Stefan Kersten sk at k-hornz.de
Fri Mar 23 11:16:36 PDT 2012

On 3/23/12 6:20 PM, David Robillard wrote:
> If you equate priority to context, then you don't have priorities at
> all.  A context simply executes things in the order they arrive.
> Ringbuffer in, ringbuffer out, for loop.  No priorities, no scheduling,
> no fancy data structures.  Easy.

seems the most sensible to me, too.

>>> What is an example of a use case for this anyway?  I suspect there may
>>> be legitimate reason to add *one* more context, but only reluctantly.
>>> This is a very slippery slope.
>> e.g. in a plugin that streams samples from disk you obviously don't want
>> to wait until a long-running non-realtime task has finished.
> Such as?

e.g. a sound file being loaded into ram or an audio feature analysis task.

> It would be problematic to have a dramatically long-running anything in
> the worker since this could block other plugins as well.  We probably
> need some rules for this.

in some cases it's acceptable to wait (e.g. when loading a file), in 
other cases it's not (e.g. when streaming data from disk).


More information about the Devel mailing list