[LAD] [ANN] LV2 beta3
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
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 ;)
More information about the Linux-audio-dev