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

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

Subject: Re: [linux-audio-dev] RFC: Disposable Soft Synth Interface
From: Chris Cannam (cannam_AT_all-day-breakfast.com)
Date: Thu Apr 29 2004 - 13:14:12 EEST


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.

Chris


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

This archive was generated by hypermail 2b28 : Thu Apr 29 2004 - 13:05:23 EEST