On Tue, May 30, 2006 at 03:09:33 -0400, Dave Robillard wrote:
I'm a bit unhappy that it makes code longer and
more messy though. The
primary design goal here is to make host code as terse and simple as
possible. strcmp'ing a string and then freeing it is quite a bit uglier
than just testing an enum val :/
This is maybe a PITA, but what about a runtime provided enum list, like:
foo_enum = { { FOO_FLOAT, LV2_FLOAT_URI },
{ FOO_MIDI, "http://example.org/datatypes/midi" },
{ 0, NULL } };
lv2_set_urilist(foo_enum);
the library can contain an builtin enum list that is set implictly, ie. it
does lv2_set_urilist(lv2_internal_enum); when it starts.
that way simple hosts can just use it as is, and more complex ones can
specify the types they support, and everyone gets to use ints.
- Steve