No, a given index on your plugin no longer refers to the same port,
On 12/04/11 06:00 AM, Tim Goetze wrote:
Your assumption, that hosts must refer to ports by an index within a
special separate index namespace for control and audio ports, is a much
greater one: it is not obvious, and the alternative is not absurd. It
is, in other words, clearly not in the language or spirit of LADSPA.
There is no reason someone reading ladspa.h and writing an
implementation would reasonably come to the conclusion that this is the
required correct behavior.
You are trying to argue that LADSPA does not present this "assumption"
that indices refer to a constant port, but as mentioned above, this is
an obvious conclusion, since the alternative is absurd (ports clearly
must have /some/ ID). LADSPA certainly does not specify the more complex
definition of "correct" use of port indices that you are trying to
justify (nor should it, for several reasons, but that is beside the point).
The simplest, most obvious, and intended rule is: If a given port index
does not refer to the same port on a new version of a plugin, then the
plugin interface has broken and the plugin ID MUST be changed. As Fons
mentioned, this is effectively a different plugin.
Your definition, which splits the port index namespace into two separate
namespaces, one for control and one for audio, is not obviously intended
and is not mentioned or alluded to anywhere in LADSPA whatsoever. Hosts
that do not do this are not broken. That every single host author who
has participated in this thread agrees, and the fact that you need to
add a version number so one can kludge around the broken plugin, makes
that pretty clear...
P.S. I do empathize with the fact that changing IDs where it /could/ not
be necessary sucks; this is why LV2 has symbols which are the ID for a
port instead. However, LADSPA is LADSPA, and doing what you are
proposing is going to cause real headaches for real people, and would be
remarkably unskillful given the feedback in this thread... please just
don't do it :)
Linux-audio-dev mailing list