Re: [linux-audio-dev] LADSPA "Unique" IDs

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

Subject: Re: [linux-audio-dev] LADSPA "Unique" IDs
From: Steve Harris (S.W.Harris_AT_ecs.soton.ac.uk)
Date: Thu Jul 29 2004 - 11:00:10 EEST


On Thu, Jul 29, 2004 at 09:17:03AM +0100, Chris Cannam wrote:
> On Thursday 29 Jul 2004 12:42 am, Dave Robillard wrote:
> > I vaguely remember a discussion here about LADSPA ID's (unsigned
> > long UniqueID) not actually being globally unique to a plugin like
> > the header implies, but I can't find it in the archives.
> >
> > So.. unique or not? Basically I need to know what the "proper"
> > information is to send a synth in order to load a plugin.
>
> The outcome was that (i) LADSPA _does_ appear to specify that the
> unique ID should be globally unique, but (ii) it's not in practice
> easy to guarantee that, for generated or wrapper plugins (e.g. a vst
> wrapper that doesn't know how many plugins will be in the .so until
> it's counted your VSTs), and (iii) some plugin developers (Steve!)
> thought the LADSPA docs said differently anyway, so it's possible
> they may have made plugins with duplicate IDs.

Personally I've only done that by accident! But it has happened. My buil
process now has a bozosity checker run, that looks for silly mistakes,
like two plugins with the same ID. I do learn eventually :)
 
> /* This identifier can be used as a unique, case-sensitive
> identifier for the plugin type within the plugin file. Plugin
> types should be identified by file and label rather than by index
> or plugin name, which may be changed in new plugin
> versions. Labels must not contain white-space characters. */
>
> To me this makes it pretty plain that filename and label is at least
> intended to be a valid unique ID within your filesystem, and in
> practice I'd expect it to be an effective id for the plugin anywhere
> in the world.

I think it should be: local filenames are unique, and labels are
required to be unique in the file.

A problems with using UIDs for this kind of thing is that they dont have
to change with plugin versions, so you can end up with two plugins iwth
the same ID and ports, but different paths nad different effects/bugs, and
you dont know which one to load.
 
> One problem is that there seems to be an informal understanding that
> if you change the port specifications for a plugin you should also
> change its unique ID, but I don't think there's any such
> understanding for labels, so you don't have the reassurance of
> knowing you're using the version you actually intended.

All this and more :)

- Steve


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

This archive was generated by hypermail 2b28 : Thu Jul 29 2004 - 11:03:41 EEST