Re: [LAD] ladspa: what does LADSPA_PROPERTY_REALTIME mean?

From: David Robillard <d@email-addr-hidden>
Date: Sun Sep 13 2015 - 06:07:04 EEST

On Wed, 2015-09-09 at 22:56 +0200, IOhannes m zmölnig wrote:
> hi richard, paul, stefan and fellow LADders,
>
> the Debian folks currently are a bit at a loss of the proper
> interpretation of the LADSPA_PROPERTY_REALTIME property.
>
> ladspa.h says:
> > /* Property LADSPA_PROPERTY_REALTIME indicates that the plugin has a
> > real-time dependency (e.g. listens to a MIDI device) and so its
> > output must not be cached or subject to significant latency. */
>
> the discussion started about a year ago (see [760758]), and it seems
> that there are two opposing interpretations of that property:
>
>
> #1 setting the property indicates to the host, that the plugin must not
> be used in a non-realtime environment.
> this means that a plugin that has this property set, must not be used
> for batch processing, e.g. because it uses wall-clocked input (like
> MIDI-devices) that simply won't deliver proper input when running at a
> speed that is decoupled from wall clock.
>
> OR
>
> #2 setting the property indicates to the host, that the plugin can be
> run at a lower (timing) priority; so the host can deliberately add
> latency without compromising the usefulness of the full processing
> chain. that would be mostly for plugins that do not do any input ->
> output processing, but only take input (e.g. metering, recording).

We changed the name of this to "isLive" in LV2 to avoid confusion with
the heavily overloaded term "realtime".

I believe #1 is the intent. The hint serves to distinguish plugins that
have some dependency on real time, from those that do not (only
processing their input). The latter can be used in a more functional
way, being called to process a block whenever, where the actual time run
is called is irrelevant. The hint being set essentially means "if the
plugin is activated, run() must be called regularly at a rate roughly
corresponding to the passage of real time"

Th comment says "plugin has a real-time dependency (e.g. listens to a
MIDI device)" which seems pretty clear. Explanation #2, while perhaps a
useful thing in some circumstances, really does not follow from the
hint's definition.

-- 
dr
_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev
Received on Sun Sep 13 20:15:09 2015

This archive was generated by hypermail 2.1.8 : Sun Sep 13 2015 - 20:15:09 EEST