[linux-audio-dev] RFC: Disposable Soft Synth Interface

Chris Cannam cannam at all-day-breakfast.com
Thu Apr 29 10:14:12 UTC 2004

On Thursday 29 Apr 2004 10:50 am, Tim Goetze wrote:
> however i'm a bit uneasy about the configure() method of
> the plugin and its implications.

So are we, so anything that helps clarify the right way to handle it 
is welcome.  The intention is exactly as you describe -- you need a 
way to do things like saying which soundfont, sample set etc to load.  
But it's the one main thing that isn't implemented yet in the sample 
host, plugin or GUI so we haven't the experience of ironing out the 
obvious problems yet.

That said, these are the intentions at the moment:

> * how does the host know valid "key" parameters for configure()?

It doesn't.

> * [...] it becomes hard for the
> host to decide what kind of control to show (file selection, text
> entry, slider, knob, int switch etc.).

The assumption is that the host just passes on whatever the GUI 
selects, and it's up to the GUI (which of course is provided by the 
plugin author, or at least built to match the plugin) to understand 
the key value pairs.  Of course that means if you have no GUI you 
can't use configure(), but the alternatives do seem potentially 
rather complicated.

> * what does configure()'s (char *) return value indicate?

Nothing to the host, it's just passed back to the GUI.

> * can you give some reasons why the host should keep track of
>   the key<->value pairs previously given to configure()?

The host doesn't need to care about these during operation -- it just 
needs to know the last value set for each key so that it can restore 
state next time the "same" plugin is instantiated.

> i'd rather
>   the plugin provides some means of retrieving the current
>   configuration

LADSPA and the rest of DSSI generally don't include ways to query 
current settings from a plugin: for port values, programs, etc the 
host is expected to keep track of the current state and assume the 
plugin doesn't know about it until told.  This way is at least 
consistent with that.


More information about the Linux-audio-dev mailing list