Re: [linux-audio-dev] LADSPA 2

From: Dave Robillard <drobilla@email-addr-hidden>
Date: Sat Apr 22 2006 - 21:47:33 EEST

On Sat, 2006-04-22 at 19:20 +0100, Steve Harris wrote:
> On Sat, Apr 22, 2006 at 01:47:40PM -0400, Dave Robillard wrote:
> > > I guess you mean unique in plugin scope? It would also have to have some
> > > restriction on what values it could take, eg. [a-zA-Z][a-zA-Z0-9_]+ some
> > > kind of lowest common denominator between symbols for various languages
> > > would make sense.
> >
> > Yeah, just unique to the plugin. (Though I guess that would imply the
> > port could have a URI like pluginuri/porturi but whatever).
>
> You could do pluginUri#portShortName, it's a fairly common convention (eg.
> in HTML). But youre only allowed a small set of characters after the #.
>
> > I think the regexp you mentioned there is fine, though I think we should
> > add one separator character other than underscore for various reasons.
> > ":" maybe?
>
> I'd rather not, I'm not sure its legal in Pd (they get bitten by the port
> name thing too), and its not in C. Pure selfinterest, but My LADSPA code
> is about 50% generated from XML, and I use short names internally for C
> symbols.

Well, at least one kind of separator character is required (for big
plugins). If it can't be ":", then I don't know what, but there needs
to be something. Maybe "."? If you want to keep it as a valid C
identifier I guess we're pretty much screwed, aside from defining __ to
be interpreted as a sort of heirarchialish separator.

master_amp:vol
master_amp.vol
master_amp__vol

"." is definitely prettiest... is there anything other than "__" we can
use that's as safe?

> > As a side effect of this, what is now "label" should become
> > "description" and implicitly be Nice Human Readable Text, not
> > ugly_c_looking_identifiers (and units definitely need to be seperated).
> > "Description" is metadata though, so I guess it doesn't belong in the C
> > file.
>
> The C now only contains the function pointers, a vector of float pointers
> and a URI char *. All this stuff belongs outside.

I'm fully in support of putting any and all metadata outside the C file,
but the unique identifier isn't metadata, it should be in the code. A
trivial OSC controlled plugin host (which would make a good bundled
example client for the SDK) would need it.

-DR-
Received on Sun Apr 23 00:15:14 2006

This archive was generated by hypermail 2.1.8 : Sun Apr 23 2006 - 00:15:14 EEST