[linux-audio-dev] Alsa /dev/sequencer stuff

Paul Davis paul at linuxaudiosystems.com
Tue May 20 00:53:01 UTC 2003

>In my app (RTMix) I will be soon implementing multiple midi-input device
>opens, so that the app can be controlled from as many of the midi
>controllers simultaneously as possible. One way of devising this was to
>design a separate thread for every open device (using raw midi /dev/midi
>etc., although I will be re-implementing that to use ALSA devices

although i've been a big advocate of using raw midi ports in the past,
i've pretty swung around on this issue. i think you should use the
ALSA sequencer API instead. that way you can connect applications to
each other, rather than just applications to h/w. same thinking as
JACK in this regard.

>	    However, this might not be the most elegant way of doing
>this, so what I was wondering is how does the /dev/sequencer correspond
>to this issue? I mean, does it work the same way like addressing the raw
>midi ports, are the message formats the same, and most importantly does
>one SINGULAR /dev/sequencer encompass all of the midi ports that are
>currently available?

no, just one port. the OSS sequencer /dev/sequencer is only a
scheduler - it has no routing capabilities at all.

the ALSA sequencer (/dev/snd/seq etc.) is a multiplexer/demultiplexer,
and handles both scheduling and routing, and covers all available h/w
ports and registered s/w clients.

don't leave home without it :)

More information about the Linux-audio-dev mailing list