On Wed, 2005-18-05 at 10:16 +0100, Chris Cannam wrote: > On Wednesday 18 May 2005 09:56, Dave Robillard wrote: > > So why wasn't the unique ID the thing to use? > > Because it's impossible to find any way to guarantee it's actually > unique, for example in the case of a wrapper plugin that generates > plugins on the fly. ladspa-vst / dssi-vst are obvious real-world > examples. (DSSI deprecates the LADSPA "unique" ID for this reason -- > there are a few paragraphs about it in the current DSSI RFC.) > > And of course having to have a central body to issue IDs is painful: > that's why most identification schemes these days use texts drawn from > a pre-existing common pool, such as URIs for schema IDs. > > Many (possibly most) LADSPA hosts actually do use the "unique" ID to > identify plugins. They will break badly when faced with generated > plugins like these. > > The right thing to do is just make sure the .so name doesn't change. > After all, other dynamic libraries are always referred to by .so name > and nobody ever complains about that -- would you expect a packager to > get away with renaming libxml.so to libextensiblemarkuplanguage.so > without breaking anything? It's not seen as a problem for plugins on > other platforms, either.
Agreed, but as an app developer it's a bit frustrating to have "fix your distribution" as the only answer when someone complains their patches don't load. > There are still potential complications if a plugin library is installed > more than once, but at least the user can be aware of them Yes, vcf and blepvco both do this IIRC, and need to be fixed. > -- whereas a > changing or conflicting unique ID might be impossible for the user to > work around (or even to know about). And at least the problem (for the > admin) of managing plugin libraries becomes the same as managing any > other sort of library, rather than having to manage potential conflicts > of IDs buried deep within the binary. Fair enough, these sounds like good enough reasons for me. I guess package maintainers just need to stop doing stupid things with library names. (I still think the central repository is a good idea anyway, FWIW) -DR-