On Wednesday, December 14, 2011 10:32:48 AM Paul Davis did opine: > On Wed, Dec 14, 2011 at 8:18 AM, gene heskett <ghesk...@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. _______________________________________________ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev