On Mon, Jul 6, 2009 at 11:27 PM, David Robillard<dave(a)drobilla.net> wrote:
None of this makes the filename/label any less of a
weak identifier in
the long-term.
It's an acceptable identifier only at runtime, on a single system, while
the plugin is loaded. Certainly not in save files.
It's tolerable in principle and it works in practice, which is not
especially good but better than the alternative.
We have a choice of two methods, both mandated by the header (airy
declarations to the contrary notwithstanding). One of them (numerical
ID) works most of the time but fails irrecoverably in several
real-world situations as of now, with no fix or workaround available
to the host. The other (filename/label) works most of the time and
can be fudged by the host in most cases where it does fail. Both of
those are pretty lousy -- we agree on that -- but the numerical ID is
clearly worse. Hosts using the numerical ID will probably be loading
the wrong plugins for some users' projects out there right now.
The main inadequacy of filename/label is a shortage of specification
-- if it was clear that the label must change when the plugin changed
(i.e. whenever you would also assume that the numerical ID should
change), and that the soname was part of the identity of a plugin,
then it would work fine all the time.
Chris