On Mon, Jul 6, 2009 at 5:01 AM, David
Robillard<dave(a)drobilla.net> wrote:
  There are conflicts with the unique ID too, but
there's no accounting
 for broken plugins I guess. 
 Filename/label can be made to work; "unique" ID can't, for any dynamic
 or automatically generated plugin library.
 Take dssi-vst for example.  It consists of a single library that
 publishes many LADSPA plugins, whose number and type are unknown until
 run time.  It can't map them onto a reserved range because it doesn't
 know in advance what plugins it may have to wrap.  It can't
 realistically generate a good hashed value, because of the range
 limitation given in the LADSPA header ("below 0x1000000") and the need
 to avoid reserved ranges.  It can't pass through the VST plugin's
 existing numerical ID, because these are typically generated by
 mapping from strings or hashing, and consequently are also usually out
 of range, and anyway it can't know whether a LADSPA plugin of the same
 ID already exists.
 I was sorely tempted to make it use the unique ID of 1 for every
 plugin.  I didn't, but the method it actually uses is really no better
 in practice.
 I realise many on this list won't care about wrapping VSTs, but any
 generated wrapper plugin (e.g. from Faust) will have the same problem.
 Never rely on the "unique" ID of a LADSPA plugin.
 (URIs are far better than either filename/label or numerical ID of course.)