On Wed, Dec 14, 2011 at 8:18 AM, gene heskett <gheskett(a)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@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