On Fri, 2007-11-30 at 00:30 +0000, Krzysztof Foltman wrote:
Dave Robillard wrote:
I /really/ don't like screwing around with
MIDI. Just make the events
pure, raw MIDI. Jack MIDI events are 'just n bytes of MIDI', Alsa has
functions to get at 'just n bytes of MIDI', and... well, it's just MIDI.
However, it also has its own age. And limitations. In particular, the
amount of per-note control is pitiful.
Definitely. This is why event type agnostic event ports are a good
thing. You're free to make a better MIDI if you want (I'd say use OSC
and leave MIDI on the trash pile of computing history where it belongs,
but that's just me), but the normal MIDI events need to be plain old
MIDI. In short: don't rock the boat; all this Jack/LV2 MIDI stuff is
still getting off the ground...
I can always use hacks to get around the limitations,
or introduce a
per-note control via separate "set note parameter" event type. But hacks
are ... hacky, and the extended extension of extension for every single
feature is a bit inelegant too.
No it isn't, it's extremely elegant. What's inelegant is cramming too
much garbage into an extension when that garbage is a separate problem.
You want to define a new event type? Define it! No consensus, no
debates, no fuss, no muss. You can get the whole thing working and
implement it in a host and plugins both before even telling anyone about
it at all (if you want), and /nothing breaks/. Your plugins can even be
run in another host that doesn't even know what the heck these
events/ports even are, and everything will work fine (except, of
course, those ports/events).
If that's not elegant, I don't know what is ;)
-DR-