2012/9/20 Tim E. Real <firstname.lastname@example.org>
Robert and Luis are both right.
Jack Midi offers the advantage of frame-precision, but with large
Jack buffers there is midi latency. And there's nothing you can
do about it, just like audio latency, for 'live' playing.
With pure Jack midi you could be waiting up to *two* periods -
one record and one playback cycle. Not good.
A separate ALSA or other timer on the record side offers *some*
immunity to this.
In theory the latency could be halved - reduced to nothing on the
record side but still there's Jack midi playback latency you can't
In fact live players using large Jack audio buffers may be better served
by using only ALSA for /both/ record and playback. But of course then
there's the audio latency...
So that's why I argued against completely removing ALSA support.
Yes, I see. It's good we mostly know the drawbacks!
For serious midi usage (with hardware synths) using jack-midi is definitely a step backwards so we need to keep the ALSA option.
Making ALSA optional is fine by me though, as long as it does not mean the support for good timing is lost.
When I record I usually use small audio buffers so the impact on myself is not so big.
I even spoke of a hybrid system in which we use Jack midi,
but at large buffer sizes we automatically choose between Jack
and the ALSA or other timer for the best timing. Thus satisfying 'live'
I'd argue against that, I think it's better to leave this choice to the user. If needed we can improve information to the user to make a qualified choice.
So having ALSA and a separate timer is very important.
Whether it be ALSA or HP or RTC, it's good to have one.
That's why I was so hesitant to force the -A switch, hope it was
a good idea...
Yeah. We'll give it a bit more time. If needed we can change it again..
About the sysex: At this point MusE doesn't handle sysex chunking
anyway (prints a warning), so it doesn't really matter, but if we ever
fix that we'll need to be sure whatever system we use, we can rely on
it to deliver large sysexes or at least chunk them, and Jack midi can't
do large ones ATM, but there's no reason why the source couldn't just
break it up into chunks, Jack can handle that I think.
Thanks for the RTC links Robert, I'll try it out.