[linux-audio-dev] and just to finalize ...

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: [linux-audio-dev] and just to finalize ...
From: Paul Davis (paul_AT_linuxaudiosystems.com)
Date: Tue Nov 18 2003 - 09:23:05 EET


what would all this mean for LADSPA?

1) there would need to be a way to associate plugins+GUIs since we
   probably don't want them in the same object.

     - could be done using LRDF or a dir search path combined with the
       plugin ID.

2) the GUI would have to declare which toolkit it was using so that
   the host could ensure support for it (i.e. fire up a thread that
   will run the equivalent of gtk_main or QApplication::exec()) and
   ask the relevant toolkit thread to call the primary entry point to
   the GUI. how does it declare this? a well known symbol? is it a
   char* or a function call? is it in the LRDF entry, or the filename,
   or what?

3) adopt a standard for how the entry point is to be
   called. presumably it should get a pointer to the plugin instance,
   but what (if anything) else? oh yes, a return value that provides
   a way to terminate the GUI.

4) the names of toolkits would have to be standardized and possibly
   include version information. "GTK+:2.2" or "Qt:3.1" might work, for
   example.

5) a small library (which i have more or less started already) to
   provide simple C functions to offer per-toolkit support. a host
   would look at the pluginGUI toolkit, call the support function
   with the .so name, and the right things would happen. the library
   needs an ancillary function to kill the GUI when the time is
   right.
   
6) [ only if we really wanted hosts to have a "real" handle on the
   plugin GUI window ] the library would need to contain a way to
   pass in an X "Window", and wrap it up as a native drawing area
   for each toolkit. i would prefer not to do this for now, if ever.

--p
   


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Tue Nov 18 2003 - 09:20:31 EET