[LAD] alsa seq client ids??

IOhannes M zmoelnig zmoelnig at iem.at
Wed Sep 12 13:00:13 UTC 2007


in an alsa-seq enabled application i would like to automatically connect 
to all available "hardware" midi devices on startup.

however i have found no way to find out, which clients are real midi 
devices and which are not.

my first attempt just connects to everything except itself and client-0 
("system"), which is rather sub-optimal, as it includes the "midi 
through" which tends to lead to wild midi feedbacks (our application 
_can_ do midi through too...)

unfortunately i haven't found any documentation.
what i have found is:
- http://www.alsa-project.org/alsa-doc/alsa-lib/group___sequencer.html 
(saying that "user clients" have ids 128..191; this is fine, to filter 
out other applications, but not enough for me)
- http://alsa.opensrc.org/index.php/Aconnect (which gives a "simplistic 
guideline for client numbers": 0..63=internal; 64..127==devicedrivers; 
128..?==userapps; this would be perfect, but unfortunately this just 
seems to be outdated information; e.g. i have 4 hw-midi devices 
connected and they are assigned the numbers 16,20,24,28)

any hints?

or iam i totally out of my mind for trying to (optionally) a(uto)connect 
on the application-side?


PS: i guess this question might be more appropriate on one of the alsa 
lists, but since i am subscribed to lad and not to one of these, ....

PPS: sorry if this comes through 2 times; i originally sent this email 
from an non-subscribed account...

More information about the Linux-audio-dev mailing list