Re: [linux-audio-dev] LADSPA Extension for Extra GUI Data

From: Dave Robillard <drobilla@email-addr-hidden>
Date: Mon Jun 19 2006 - 20:55:27 EEST

On Mon, 2006-06-19 at 18:03 +1000, jez@email-addr-hidden wrote:
> Hello, i'm new here,
> i've been working on a very simple, backward-forwards compatible extension to
> LADSPA/DSSI to allow hosts to display more meaningful gui's with a
> "describe_value" function which takes the port index and a LADSPA_Data and
> allows the plugin to return a meaningful description. eg.
> for a waveform port it might return "SAW", "SIN", "SQR" etc
> for a cutoff filter it might return the frequency in Hz
> for a tuning port it might return "-4 semitones"
>
> also wanting to add a mechanism to group ports into logical sections.
> without changing the underlying APIs, only by adding more layers on top this way
> preserving backwards compatibility, the host simply dlsyms for
> "ladgui_descriptor" and if it's there it makes use of the extra data, otherwise
> it falls back to how it previously did things
>
> once the API is done i plan to make a reference gui
> the idea behind this is that plugins will not need any of their own gui code as
> a useful gui can be constructed on the fly as a part of the host or a separate
> process that will work for any plugin so plugin developers never need worry
> about constructing a gui and can instead just make nice useable algorithms and
> test them quickly and easily.
>
> nicknamed LADGUI for now.
>
> API so far is at http://ftsf.technetium.net.au/code/ladgui/ladgui.h
>
> what i'd like to know is, if this is a stupid idea ^_^

The idea itself isn't stupid, but the implementation is.. let's say less
than wise.

(Consider my personal blatant bias, but...) I'd suggest taking a look at
LV2. There is a data file you can add all this information to (whatever
information you want to), without defining any APIs, changing any host
code, etc, etc.

You definitely shouldn't have to break binary compatibility of things
just to add some hints for hosts, this is the problem LV2 is meant to
solve...

-DR-
Received on Tue Jun 20 00:15:02 2006

This archive was generated by hypermail 2.1.8 : Tue Jun 20 2006 - 00:15:02 EEST