Re: [LAD] LADSPA plugin invisible

From: Fons Adriaensen <fons@email-addr-hidden>
Date: Mon Dec 03 2007 - 17:26:36 EET

On Sun, Dec 02, 2007 at 05:33:52PM +0100, Lars Luthman wrote:

> On Sun, 2007-12-02 at 15:58 +0100, Tim Goetze wrote:

> > [Rémi Thébault]
> > >I join my source code, my Makefile and the compiled library (x86).
> > >If somebody could have a look or just give some piece of advice on how
> > >to make a plugin recognized, this would be a great help for me.
> >
> > Since you are compiling as C++, you need
> >
> > extern "C" {
> > /* your exported symbols go here */
> > }
> >
> > enclosing at least the functions that you want to export (_init,
> > _fini, ladspa_descriptor).
>
> Also, _init() and _fini() are deprecated - future versions of the
> dynamic linker are not guaranteed to call them when loading and
> unloading modules. You should use either the GCC-specific
> __attribute__((constructor/destructor)) or something more portable, like
> a global object of a class with a constructor and a destructor.

Actually you don't need _init() at all - all of the required
data structures can be defined statically.
The constructor for each plugin instance can be called in
instantiate().
The only "extern C" function you need is ladspa_descriptor(),
all the others can be static C++ functions of a plugin base
class.

Ciao,

-- 
FA
Lascia la spina, cogli la rosa.
_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@email-addr-hidden
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev
Received on Mon Dec 3 20:15:02 2007

This archive was generated by hypermail 2.1.8 : Mon Dec 03 2007 - 20:15:02 EET