On Wed, May 09, 2007 at 12:19:39PM -0400, Dave Robillard wrote:
This is intentional. LV2 is not intended to include
every single
feature that everyone might want. It is intended for it to
be /possible/ to implement any feature someone might want (this is why
LV2 actually exists in a useful state and, say, GMPI does not...)
I don't buy this. This is not about complicated or esoteric 'features'
but _basic infrastructure_. I didn't have to torture my mind to dream
up the simple things I mentioned - they were plain obvious after
reading the LV2 specs for about 15 minutes. That is several orders of
magnitude less than the GMPI discussion.
Do you really think that run(nframes, framecount) is so horribly
complicated compared to run(nframes) that the average plugin writer
would run (pun intended) away screaming ?
Do you really think that init(samplerate, periodsize, priority, groupid)
instead of init(samplerate) would complicate a host to the extent that
nobody would dare write one ?
Any objection you may have to 'periodsize' or any of the other arguments
in that list would apply equally to 'samplerate' - many plugins don't
need it. And it can be provided by an extension. Everything can be
provided by an extension. We need nothing at all.
None of these parameters are 'features' in the sense that they add
user-level functionality. They are just basic low-level technical
infrastructure required to make some things work, and cost almost
nothing. This is not the sort of thing that should be negociated
between a host and a plugin via a high-level protocol. A host that
does not provide such basic information is IMHO just broken.
I don't have any problems with the way LV2 provides for future
extensions - it's well done. But requiring such a mechanism to
obtain basic low-level information is as silly as offering the
gas tank on a car as an option (I assume you would include the
wheels as standard).
--
FA
Follie! Follie! Delirio vano รจ questo !