[linux-audio-dev] LV2 library API

Steve Harris S.W.Harris at ecs.soton.ac.uk
Tue May 30 17:07:15 UTC 2006


On Tue, May 30, 2006 at 11:43:57AM -0400, Dave Robillard wrote:
> The problem with returning strings is namespace prefixes.  It's all fine
> if the type is in the lv2: namespace so it can return something nice
> like lv2:float, but if it's something else it will have to return the
> fully qualified URI.  For consistency's sake I'll have to return the
> full URI for everything.

Returning QNames is bad mojo.
 
> I think what I'll do is have the type function return a full URI, but
> #define symbols for the builtin port types (which is easily extensible
> without breaking anything).
> 
> Something like:
> 
> char* type = lv2_port_get_type(someplug, 0);
> if (!strcmp(type, LV2_DATATYPE_FLOAT))
>     /* ... */
> free(type);

Makes sense to me. You could make the API (optionally?) take a char * to
write the result into to avoid a lot of malloc() and free()s, but I doublt
it's a worthwhile saving.

- Steve



More information about the Linux-audio-dev mailing list