On Tue, 2009-08-11 at 19:01 +0100, Steve Harris wrote:
Sold.
> I don't remember offhand whether a float *data[] lets you dereference
Probably not (it would actually be void* anyway), but the header can
provide a nice inline function for this.
> You might actually want a struct of { int channels; float *data[]; }
Good point... this also sets things up to be compatible with
plugin-allocated dynamic output buffers in the future without needing
any hokey mechanism just to say how many are there, which can't hurt.
Maybe we should go a teeny bit further and make the struct extensible,
putting the data pointer first.
Slight overhead in that the number of channels may be shared between
many ports, though.
> Is it possible to specify that a port is both a normal LADSPA Audio
I think the port would probably have to be of the MultiPort type, then
either 1) also of another data type, or 2) have a :contentType predicate
to point to that other type. We certainly don't want a combinatorial
explosion of multi-types. Probably 2) is needed for backwards
compatibility, but I forget the details of the spec here...
> >> example: a DC offset removal plugin for a stereo stream
Well, you'd end up checking the number of channels stored in the
plugin's data anyway, having a case where it's just a plain old buffer
doesn't seem to be that much of an additional nuisance (and the win is
massive).
-dr
P.S. extension and LV2 in general discussions are much more active here
than lv2-dev. I wonder about the benefit of it existing at all...
_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev
LINUX® is a registered trademark of Linus Torvalds in the USA and other countries.
Linuxaudio.org logo copyright Thorsten Wilms © 2006.
Hosting provided by the Virginia Tech Department of Music and DISIS.