[LAD] handling midi input in a jack app?

David Robillard d at drobilla.net
Wed Dec 28 20:04:56 UTC 2011


On Wed, 2011-12-28 at 14:35 -0500, Paul Davis wrote:
[...]
> None of the other APIs that you've mentioned have this property, and
> nor do any of the Windows MIDI APIs or CoreMIDI.
> 
> this means that you face opposing issues depending on which API you
> choose to use:
> 
>   * if you use JACK:
>         - MIDI data is trivially available to alter synthesis done
> during process()
>         - MIDI data needs to be moved across thread boundaries to be
> useful outside of process()
> 
>   * if you use ALSA, portmidi, rtmidi, CoreMIDI or anything else
>        - MIDI data to be used for synthesis has to be moved across
> thread boundaries
>        - MIDI data used for other purposes can often be used in the
> same thread it was received in,
>                  though not always.

Also, in both cases, there is a strong and precise correlation between
MIDI time stamps and audio time for Jack MIDI, and not for the other
APIs (which may be useful even if you do your processing in another
thread).

-dr




More information about the Linux-audio-dev mailing list