On Sat, 2012-06-02 at 11:37 +0200, Tim Goetze wrote:
LV2's feature mechanism is specifically designed so plugins can
*require* features if they need to. A plugin that requires a feature
will not be instantiated if it is not available.
This lets us hammer out functionality without having to fight about what
everyone *has* to implement. Essentially everything is as you say,
except *you* get to decide what you require, there is no central
authority (me) mandating what everyone must require.
There are some situations where a given feature (like power of 2 block
length) are sensible/possible, and some where they are not. In this
case, for example, a restricted block length is required for latency
free convolution plugins, period.
So, the API should support this. That does not imply it will/can/should
be available in every scenario. If you don't want to require it -
don't. If you want to do convolution in hosts that can't provide it,
you have to add latency.
LV2 is not in the business of crippling *everything* because *something*
can't do it. The decisions about whether to make use of or implement
something like this, as you described, are inherent to the problem, and
depend on the situation. The API should make it possible to do what you
want - not get in the way.
Linux-audio-dev mailing list