[LAD] [ANN] LV2 beta3

Florian Schmidt mista.tapas at gmx.net
Fri May 11 15:13:17 UTC 2007

On Friday 11 May 2007, Fons Adriaensen wrote:
> On Fri, May 11, 2007 at 03:45:36AM +0200, torbenh at gmx.de wrote:
> > Anyone who refuses to write LV2 extensions has a bad taste.
> > this is about aesthetics.
> I don't refuse to use extensions. My point is that they should
> be used for adding user-level functionality such as MIDI or OSC
> support, but not to get the basic low-level stuff right.
> My critique on the basic LV2 spec is not that it doesn't support
> certain types of application (these can be added by extensions),
> but that it provides very poor or broken support for certain types
> of algorithms. Probably because the people who defined it have
> never written those kind of things and are not aware of what is
> required.

Since there is a way to add all this functionality as extension, the question 

Why would you _not_ want these as extensions, but as part of the core api?

I can think of several reasons:

- If it were implemented as extension you would put extra load on the 
developers of plugins/hosts. Namely that they have to grok the extension 
mechanism.. Luckily the extension mechanism is very simple, thus only a tiny 
bit of extra work is required.. I don't think this extra work is in any way 
significant, especially for people writing more than one plugin (the overhead 
of using this functionality as part of an extensions as compared to a direct 
implementation in the core is very very small, the only overhead left is the 
initial learning of the extension mechanism itself)

- A more important point is fragmentation. Some hosts will support only these 
features, different hosts only others etc.. This will decrease end user 
experience if it interferes with really basic functionality (e.g. there is 
more than one extension for something like fixed buffersizes, etc..). I am 
pretty sure though that pretty soon a fixed set of extensions will evolve 
which all hosts will implement.  LV2 is basically the _ideal_ playground for 
such an evolution to take place.

The current discussion clearly shows that there are differing opinions about 
what is essential and what not.. Let evolution take over :) It will probably 
take a while. But that's the beauty of LV2: Even if the core devs don't agree 
with you, not all is lost :) But time will show that you were right... And 
once this issue has been settled by having an essential set of extensions 
they might go into the next core spec.

I do agree with you that there is such an essential set of features that 
really should be in the core spec, but as it will sort itself out anyways by 
means of evolution, i also consider this problem fixed ;)

Have fun,

Palimm Palimm!

More information about the Linux-audio-dev mailing list