2009/6/18 Luis Garrido <luisgarrido@users.sourceforge.net>
This has been debated already. Several times. For instance, please
follow this (long) thread:

http://lists.linuxaudio.org/pipermail/linux-audio-dev/2004-March/006948.html

While I think that each side of the argument has its merits, in the
end to me it all boils down to: "is lrdf simple and lightweight enough
so it is acceptable to consider it from a practical point of view a
de-facto mandatory extension of ladspa.h for all but the simplest of
hosts and plugins?"

My personal answer is "mmm... okay, I guess" but I don't think we will
ever reach a global consensus on this.
 
We have basically five alternatives, I guess:

1. Forget about this;
2. Implement this breaking the ABI (API too?);
3. Do as Fons suggested (which to me sounds like make that tiny part of the API a bit counter-intuitive);
4. Use LRDF;
5. Add something like this to the API:

struct {
  float value;
  const char *name;
} ladspa_port_value_enum;

struct ladspa_port_value_enum * ladspa_get_port_value_enums(unsigned long descriptor_index, unsigned long port_index);

I'd choose 4 or 5, but in the end I don't really care, whatever is fine with me.

Stefano