[LAD] More midi related questions

Paul Davis paul at linuxaudiosystems.com
Wed Dec 14 14:08:21 UTC 2011


On Wed, Dec 14, 2011 at 8:18 AM, gene heskett <gheskett at wdtv.com> wrote:
> The .jar reports a very lengthy list, 69 total, of potential places it can
> send this rawmidi data, one of which I believe is equ to 14:0 above, listed
> as choice "#68 realtime synth" in its pulldown, and which java somehow
> expands most of into the "hw0:0" through "hw0:3" style.

This is a mistake on the part of Java or the Java app you are using,
which is hardly suprising since I've never met a Java app that did
audio/MIDI and played by the rules of the platform it was on. it
should be using sequencer ports and showing only the client name
almost all the time.

ALSA sequencer ports are not directly related to hardware in any
particular way. They can represent many different things, including
single pieces of hardware, multiple pieces of hardware or no pieces of
hardware.

> only the internal java synth makes noise, and I believe the error is the
> lack of coupling between the 14:0 port shown above, and one of the 4 ports
> at 17:0 through 17:3, none of which show in an "ls -l /dev".
>
> But:
>
> [root at coyote johnny_cash]# ls -l /dev|grep 14,

the "14" in the naming of the ALSA sequencer port has absolutely
nothing to do with major device numbers.

ALSA sequencer ports do not exist  in the same namespace as devices,
since, as mentioned above, they are not restricted to devices. The way
ALSA numbers sequencer ports has always bothered me: it is arbitrary,
capricious and I've never met anyone who has seen it and not been a
bit confused by it. But ... its absolutely not related to major device
numbers.

In addition, the numbering of hw:N,m also has absolutely nothing to do
with major device numbers. If you want to know how it does map:

PCM:   hw:N,m  => playback: /dev/snd/pcmC{N}D{m}p
                               capture:  /dev/snd/pcmC{N}D{m}c

read the device names as "pcm Card N Device M direction".

same for MIDI: hw:N,m => /dev/snd/midiC{N}D{m} etc



More information about the Linux-audio-dev mailing list