[Devel] What is a feature? (extension_data)

David Robillard d at drobilla.net
Mon Oct 31 18:05:59 PDT 2011

On Sun, 2011-10-30 at 23:45 +0200, Stefano D'Angelo wrote:
> 2011/10/29 David Robillard <d at drobilla.net>:
> > On Sat, 2011-10-29 at 16:19 +0300, Stefano D'Angelo wrote:
> >> 2011/10/28 David Robillard <d at drobilla.net>:
> >> > The current release of LV2 has some confusing comments about
> >> > extension_data.  It's not really clear just what a "feature" is, and how
> >> > the plugin data would indicate that the plugin provides some
> >> > extension_data (despite the comment saying that they must).
> >>
> >> Do we actually need that the plugin data says anything about
> >> extension_data being not NULL/doing anything useful? Anyway, I can't
> >> find the comment you are referring to...
> >
> > For some value of "need", yes (at the very least it's useful to know
> > what plugins support what), but it's not critical like for features
> > passed to instantiate (i.e. it's not really so bad to use
> > extension_data() as a discovery mechanism for these)
> Well, it seems like extensions define how to use it now, but...

This'd be true if it was established and consistent, but alas, it's not.

The reasons for wanting to properly clarify and define this is more of a
documentation and "have things make sense" thing rather than something
that will really affect practice in any way.

> ... the point is: I can see what has been done but I cannot read your
> mind and see what you want to do. :-)
> So I'd say, with the limited amount of knowledge I have, I don't
> really understand where is the problem.

In short:

Problem: There is currently no way to declare in data that a plugin
provides a certain extension_data.  Therefore, we need a property for

Issue raised: What is the range of this property?

This issue raises a bunch of similar/identical questions.  For example,
if I'm going to declare an extension_data, I would need/want to document
that in Turtle as:

<http://example.org/mydatathing> a lv2:What .

What is lv2:What?  Feature does not seem appropriate.

In summary, we have no meaningful way to say things about extension_data
whatsoever.  This is ungood.


P.S. If having some actual practical use for this helps, the "LV2
compatibility matrix" generated documentation, which was quite a popular
idea on l-a-d, and I would like to polish a tool for, would require

More information about the Devel mailing list