On 11/08/2009 03:31 PM, Gabriel M. Beddingfield wrote:
On Sun, 8 Nov 2009, Patrick Shirkey wrote:
Would a set of reference template code written
for the various languages
that we have at our disposal be of any use here?
I don't think so. ATM, there's plenty of high-quality reference
code... especially with Lars's tutorial. This is a different issue.
Is it just me that feels that the existing examples are too obscure and
set the entry level too high for the average developer as well as miss
out important use cases specific to different languages?
On another tangent is LV2 supposed to be a new standard and therefore
provide an accessible documentation codebase for all potential users or
is LV2 designed as a theoretical system which only advanced developers
are given insight into and the rest have to fend for themselves.
It's clear that we need to better define the
plugin publishing and
dependency system for LV2?
Not quite (though that would be a Good Thing).
What you have written below could also be considered a definition of a
set of rules for publishing and specifying dependencies. However it
doesn't completely address the dependency issue. Even if this standard
was followed how would we define the categories such as "LV2 Synth
Plugin"? Is that something that would be handled as someone else has
suggested on a yearly basis by a committee?
More like a standard that says something like......
FOR SYNTH HOSTS:
----------------
If you follow these guidelines, you may call yourself an "LV2 Synth
Host" and you will be able to work cleanly with every synth that calls
itself an "LV2 Synth Plugin."
+ Support (at least) extensions A, B, and C.
+ The synths will have several MIDI input ports (for note data)
and several audio output ports.
+ All configuration will be done with the events extension.
+ All feedback will be done with the events extension.
+ The plugins may provide a GUI interface. Its width will be
200, 400, 600, or 800 pixels. Its height will be a multiple
of 100 pixels.
FOR SYNTH PLUGINS:
------------------
If you follow these guidelines, you may call yourself an "LV2 Synth
Plugin" and you will be able to work cleanly with every host that
calls itself an "LV2 Synth Host."
+ Freely use extensions A, B, and C. If you use any extra
LV2 extensions, try to make them optional. Otherwise,
please simply call yourself an "LV2 Plugin," because you
won't work with every LV2 Synth Host.
+ Provide several MIDI in-ports for note data, and several
audio out-ports.
+ All configuration will be done with the events extension.
(This does not prohibit you from also doing the same over MIDI)
+ All feedback will be done with the events extension.
+ You are encouraged to create a GUI for your plugin. Its
width shall be 200, 400, 600, or 800 pixels. Its height
shall be a multiple of 100 pixels.
Would somthing like this be *so* bad? There's still room for
innovation. There's still room for plugin authors and host authors to
get together and say, "We all want to start supporting extension D."
And that would still be cool because all the old plugins will still work.
-gabriel