On Wednesday, December 14, 2011 10:32:48 AM Paul Davis did opine:
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.
Rotsa ruck with that :)
Its a long list, but this is what that .jar spits out:
=========
DriveWire MIDI status:
Devices:
[0] Audigy2 [hw:0,0] (MidiInDevice)
SB Audigy 2 Value [SB0400], Audigy MPU-401 (UART), Audigy MPU-401 (UART), ALSA
(
http://www.alsa-project.org) 1.0.23
[1] Audigy2 [hw:0,1] (MidiInDevice)
SB Audigy 2 Value [SB0400], Audigy MPU-401 #2, Audigy MPU-401 #2, ALSA
(
http://www.alsa-project.org) 1.0.23
[2] Audigy2 [hw:0,2] (MidiInDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[3] Audigy2 [hw:0,2] (MidiInDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[4] Audigy2 [hw:0,2] (MidiInDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[5] Audigy2 [hw:0,2] (MidiInDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[6] Audigy2 [hw:0,2] (MidiInDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[7] Audigy2 [hw:0,2] (MidiInDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[8] Audigy2 [hw:0,2] (MidiInDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[9] Audigy2 [hw:0,2] (MidiInDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[10] Audigy2 [hw:0,2] (MidiInDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[11] Audigy2 [hw:0,2] (MidiInDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[12] Audigy2 [hw:0,2] (MidiInDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[13] Audigy2 [hw:0,2] (MidiInDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[14] Audigy2 [hw:0,2] (MidiInDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[15] Audigy2 [hw:0,2] (MidiInDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[16] Audigy2 [hw:0,2] (MidiInDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[17] Audigy2 [hw:0,2] (MidiInDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[18] Audigy2 [hw:0,3] (MidiInDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[19] Audigy2 [hw:0,3] (MidiInDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[20] Audigy2 [hw:0,3] (MidiInDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[21] Audigy2 [hw:0,3] (MidiInDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[22] Audigy2 [hw:0,3] (MidiInDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[23] Audigy2 [hw:0,3] (MidiInDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[24] Audigy2 [hw:0,3] (MidiInDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[25] Audigy2 [hw:0,3] (MidiInDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[26] Audigy2 [hw:0,3] (MidiInDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[27] Audigy2 [hw:0,3] (MidiInDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[28] Audigy2 [hw:0,3] (MidiInDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[29] Audigy2 [hw:0,3] (MidiInDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[30] Audigy2 [hw:0,3] (MidiInDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[31] Audigy2 [hw:0,3] (MidiInDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[32] Audigy2 [hw:0,3] (MidiInDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[33] Audigy2 [hw:0,3] (MidiInDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[34] Audigy2 [hw:0,0] (MidiOutDevice)
SB Audigy 2 Value [SB0400], Audigy MPU-401 (UART), Audigy MPU-401 (UART), ALSA
(
http://www.alsa-project.org) 1.0.23
[35] Audigy2 [hw:0,1] (MidiOutDevice)
SB Audigy 2 Value [SB0400], Audigy MPU-401 #2, Audigy MPU-401 #2, ALSA
(
http://www.alsa-project.org) 1.0.23
[36] Audigy2 [hw:0,2] (MidiOutDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[37] Audigy2 [hw:0,2] (MidiOutDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[38] Audigy2 [hw:0,2] (MidiOutDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[39] Audigy2 [hw:0,2] (MidiOutDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[40] Audigy2 [hw:0,2] (MidiOutDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[41] Audigy2 [hw:0,2] (MidiOutDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[42] Audigy2 [hw:0,2] (MidiOutDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[43] Audigy2 [hw:0,2] (MidiOutDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[44] Audigy2 [hw:0,2] (MidiOutDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[45] Audigy2 [hw:0,2] (MidiOutDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[46] Audigy2 [hw:0,2] (MidiOutDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[47] Audigy2 [hw:0,2] (MidiOutDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[48] Audigy2 [hw:0,2] (MidiOutDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[49] Audigy2 [hw:0,2] (MidiOutDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[50] Audigy2 [hw:0,2] (MidiOutDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[51] Audigy2 [hw:0,2] (MidiOutDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[52] Audigy2 [hw:0,3] (MidiOutDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[53] Audigy2 [hw:0,3] (MidiOutDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[54] Audigy2 [hw:0,3] (MidiOutDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[55] Audigy2 [hw:0,3] (MidiOutDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[56] Audigy2 [hw:0,3] (MidiOutDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[57] Audigy2 [hw:0,3] (MidiOutDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[58] Audigy2 [hw:0,3] (MidiOutDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[59] Audigy2 [hw:0,3] (MidiOutDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[60] Audigy2 [hw:0,3] (MidiOutDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[61] Audigy2 [hw:0,3] (MidiOutDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[62] Audigy2 [hw:0,3] (MidiOutDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[63] Audigy2 [hw:0,3] (MidiOutDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[64] Audigy2 [hw:0,3] (MidiOutDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[65] Audigy2 [hw:0,3] (MidiOutDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[66] Audigy2 [hw:0,3] (MidiOutDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[67] Audigy2 [hw:0,3] (MidiOutDevice)
SB Audigy 2 Value [SB0400], VirMidi, Emu10k1 Synth MIDI, ALSA
(
http://www.alsa-project.org) 1.0.23
[68] Real Time Sequencer (RealTimeSequencer)
Software sequencer, Sun Microsystems Version 1.0
[69] Java Sound Synthesizer (MixerSynth)
Software wavetable synthesizer and receiver, Sun Microsystems Version 1.0
Current MIDI output device: Java Sound Synthesizer
========
And it looks like I need to retest the #36 and #52 entries again.
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.
Just Absolutely Loverly...
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}pl
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
Thank you!
Which here, after a reboot, shows:
[gene@coyote ~]$ ls -l /dev/snd/
total 0
drwxr-xr-x 2 root root 60 Dec 14 08:40 by-path/
crw-rw----+ 1 root audio 116, 11 Dec 14 08:40 controlC0
crw-rw----+ 1 root audio 116, 2 Dec 14 08:40 hwC0D0
crw-rw----+ 1 root audio 116, 12 Dec 14 08:41 hwC0D2
crw-rw----+ 1 root audio 116, 4 Dec 14 08:40 midiC0D0
crw-rw----+ 1 root audio 116, 3 Dec 14 08:40 midiC0D1
crw-rw----+ 1 root audio 116, 13 Dec 14 08:41 midiC0D2
crw-rw----+ 1 root audio 116, 14 Dec 14 08:41 midiC0D3
crw-rw----+ 1 root audio 116, 10 Dec 14 08:40 pcmC0D0c
crw-rw----+ 1 root audio 116, 9 Dec 14 10:32 pcmC0D0p
crw-rw----+ 1 root audio 116, 8 Dec 14 08:40 pcmC0D1c
crw-rw----+ 1 root audio 116, 7 Dec 14 08:40 pcmC0D2c
crw-rw----+ 1 root audio 116, 6 Dec 14 08:40 pcmC0D2p
crw-rw----+ 1 root audio 116, 5 Dec 14 08:40 pcmC0D3p
crw-rw----+ 1 root audio 116, 1 Dec 14 08:40 seq
crw-rw----+ 1 root audio 116, 33 Dec 14 08:40 timer
So, to which of these should java be sending the actual bytes exactly
as they would go down the midi cable to a midi capable keyboard?
And, is there a utility available that I can use to test send a file
to one of those midiC0Dn devices? My tests with cat just resulted
in a powerdown reboot to recover.
Thanks Paul. Maybe we (actually Aaron Wolfe, DriveWire4 author, as I
don't know enough java to even be dangerous) can sort this now.
Cheers, Gene
--
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
My web page: <http://coyoteden.dyndns-free.com:85/gene>
Debug is human, de-fix divine.