[LAD] [EPAMP] an effect plugin API for media players: anyone interested?

Lars Luthman lars.luthman at gmail.com
Mon Jun 2 15:57:46 UTC 2008


I have no opinion on the actual topic of this thread, I'd just like to respond to a couple of your points:

> Just an example: sometime ago I asked on IRC why there was not a
> global init()/fini() function for LADSPA and was answered that ELF
> defines .init and .fini sections. Which is fine for ELF-based systems
> and other systems having similar stuff (all biggest platforms?), but
> where there is none...

In C++:

static struct Init {
  Init() { ...init code here... }
  ~Init() { ...fini code here... }
} init;

In C and C++:

int init() { ...init code here...; return 0; }
static int _ = init();

Completely platform-independent. I can't come up with a similar way of
having a library destructor in C, but it should be possible to associate
any resources that need destructing (e.g. heap memory) with plugin
instances instead of having them global, possibly using reference
counting.

> Then I see this in LV2:
> 
> The environment variable LV2_PATH, if present, should
>  * contain a colon-separated path indicating directories (containing
>  * plugin bundle subdirectories) that should be searched (in order)
>  * for plugins.
> 
> Doesn't it sound a bit UNIX-centered? (colon separated on Windows for example?)

This is a good point - there are no Windows hosts for LV2 yet so nobody
has spotted that. We'll change the docs to recommend using semicolons on
Windows.

Somewhere in the thread someone also asked if there was a way to express
that a plugin with 6 audio output channels was actually a 5.1 output -
for LV2 there is (as an extension, of course): 

 http://ll-plugins.nongnu.org/lv2/ext/portgroups

You can denote a set of output or input ports as being of any of the
common surround or ambisonic B channel configurations, though I don't
think anyone has actually used anything other than StereoGroup in a
plugin yet.


--ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://lists.linuxaudio.org/pipermail/linux-audio-dev/attachments/20080602/1d1b3ab4/attachment.pgp>


More information about the Linux-audio-dev mailing list