Subject: Re: [linux-audio-dev] Extending LADSPA to support Non-Causal Plugins
From: David Benson (daveb_AT_idealab.com)
Date: Fri Oct 27 2000 - 18:16:05 EEST
Hi Richard,
This looks very good.
Some scattered notes.
It is a bit confusing when you read about
the InputControlTransport as to whether that
object should be provided by the host or the plugin;
though the context makes it clear the host is responsible.
(I think that, since it is basically a seekable input stream
the const on connect_noncausal (..,const LADSPA_InputControlTransport*)
may be a bit confusing)
I'm generally concerned about the heavy reentrance
this might bring, since it seems quite possible
to tie things into an infinite loop (by having the
input_transport read from the same ladspa filter);
its not quite clear if the host or the plugin is responsible
for unravelling things. so we may want LADSPA_PROPERTY_NONREENTRANT
for less painful but less powerful plugin implementations
(that prevent hosts from tying loops in their plugins)
(maybe the bounded length stuff suffices though, i'm not sure...)
Also:
> unsigned long (*move_noncausal_inputs)(unsigned long Offset,
> unsigned long SampleCount);
is problematic.
Almost certainly the host is going to need to have some data to
process this callback convneniently, so maybe:
unsigned long (*move_noncausal_inputs)(unsigned long Offset,
unsigned long SampleCount,
void *UserData);
or, if the whole userdata thing is too confusing,
unsigned long (*move_noncausal_inputs)(unsigned long Offset,
unsigned long SampleCount,
LADSPA_InputControlTransport *Transport);
- Dave
This archive was generated by hypermail 2b28 : Fri Oct 27 2000 - 18:58:11 EEST