Re: [linux-audio-user] virmidi and 2.6.14 (Demudi)

From: Dave Phillips <dlphillips@email-addr-hidden>
Date: Tue Jan 17 2006 - 21:16:54 EET

Clemens Ladisch wrote:

>>>Does it work with aseqdump+amidi? If not, please show the exact commands
>>>you used to test it.
>>>
>>>
>>>
>>I tested it with seq24, hooking its output to the virmidi ports from
>>within seq24 itself (that's how it works). The virmidi port(s) were
>>connected to qsynth and to the hardware synth on the SBLive. I started
>>seq24, got no sound. I hooked the output to the MIDI Through port, got
>>sound. I also performed the same tests with the same hookups, but using
>>a MIDI keyboard to send events to the virmidi ports. Got the same results.
>>
>>
>
>You never mentioned the raw MIDI port (which es where the MIDI data shows up).
>
>
I'm not sure what you mean here. I've attached a variety of reports to
the end of this message, perhaps you'll see something significant there.

>What do you want to do that the through ports cannot do?
>
>
I use Xsteem and Dosemu to run various MIDI applications. They want a
direct link to the device, and linking to /dev/snd/midiCxDx gives me the
greatest flexibility. It would be much better if they abided by the ALSA
convention of indicating devices (hw:x,x), but they don't.

Best,

dp

******************** Reports from Demudi 1.3.0rc1 **************

dlphilp@email-addr-hidden:~$ cat /proc/asound/cards
0 [M66 ]: ICE1712 - M Audio Delta 66
                     M Audio Delta 66 at 0xd800, irq 5
1 [Live ]: EMU10K1 - SBLive! Value [CT4832]
                     SBLive! Value [CT4832] (rev.8, serial:0x80271102)
at 0xd000, irq 3
2 [VirMIDI ]: VirMIDI - VirMIDI
                     Virtual MIDI Card 1

dlphilp@email-addr-hidden:~$ lsmod |grep midi
snd_virmidi 4288 1
snd_seq_virmidi 8448 3 snd_virmidi,snd_emux_synth
snd_seq_midi_emul 7680 1 snd_emux_synth
snd_seq_midi 9504 2
snd_rawmidi 26528 4
snd_seq_virmidi,snd_emu10k1,snd_mpu401_uart,snd_seq_midi
snd_seq_midi_event 7680 3 snd_seq_virmidi,snd_seq_oss,snd_seq_midi
snd_seq 56336 13
snd_emux_synth,snd_seq_virmidi,snd_seq_midi_emul,snd_seq_instr,snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq_midi_event
snd_seq_device 8844 8
snd_emu10k1_synth,snd_emux_synth,snd_emu10k1,snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_rawmidi,snd_seq
snd 58596 24
snd_virmidi,snd_emux_synth,snd_seq_virmidi,snd_emu10k1,snd_hwdep,snd_ice1712,snd_ak4xxx_adda,snd_cs8427,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_i2c,snd_mpu401_uart,snd_seq_oss,snd_rawmidi,snd_seq,snd_timer,snd_seq_device

dlphilp@email-addr-hidden:~$ amidi -l
Device Name
hw:1,0 EMU10K1 MPU-401 (UART)
hw:1,1 Emu10k1 Synth MIDI (16 subdevices)
hw:1,2 Emu10k1 Synth MIDI (16 subdevices)
hw:2,0 Virtual Raw MIDI (16 subdevices)
hw:2,1 Virtual Raw MIDI (16 subdevices)
hw:2,2 Virtual Raw MIDI (16 subdevices)
hw:2,3 Virtual Raw MIDI (16 subdevices)

dlphilp@email-addr-hidden:~$ aseqdump -l
 Port Client name Port name
  0:0 System Timer
  0:1 System Announce
 62:0 Midi Through Midi Through Port-0
 72:0 EMU10K1 MPU-401 (UART) EMU10K1 MPU-401 (UART)
 80:0 Virtual Raw MIDI 2-0 VirMIDI 2-0
 81:0 Virtual Raw MIDI 2-1 VirMIDI 2-1
 82:0 Virtual Raw MIDI 2-2 VirMIDI 2-2
 83:0 Virtual Raw MIDI 2-3 VirMIDI 2-3

hw {
        @args.0 CARD
        @args.1 DEV
        @args.2 SUBDEV
        @args.CARD {
                type string
                default {
                        @func getenv
                        vars {
                                0 ALSA_RAWMIDI_CARD
                                1 ALSA_CARD
                        }
                        default {
                                @func refer
                                name 'defaults.rawmidi.card'
                        }
                }
        }
        @args.DEV {
                type integer
                default {
                        @func igetenv
                        vars {
                                0 ALSA_RAWMIDI_DEVICE
                        }
                        default {
                                @func refer
                                name 'defaults.rawmidi.device'
                        }
                }
        }
        @args.SUBDEV {
                type integer
                default -1
        }
        type hw
        card $CARD
        device $DEV
        subdevice $SUBDEV
}
default {
        type hw
        card {
                @func getenv
                vars {
                        0 ALSA_RAWMIDI_CARD
                        1 ALSA_CARD
                }
                default {
                        @func refer
                        name 'defaults.rawmidi.card'
                }
        }
        device {
                @func igetenv
                vars {
                        0 ALSA_RAWMIDI_DEVICE
                }
                default {
                        @func refer
                        name 'defaults.rawmidi.device'
                }
        }
}
virtual {
        @args.0 MERGE
        @args.MERGE {
                type string
                default 1
        }
        type virtual
        merge $MERGE
}

dlphilp@email-addr-hidden:~$ modinfo snd-virmidi
filename:
/lib/modules/2.6.14-1-multimedia-386/kernel/sound/drivers/snd-virmidi.ko
author: Takashi Iwai <tiwai@email-addr-hidden>
description: Dummy soundcard for virtual rawmidi devices
license: GPL
vermagic: 2.6.14-1-multimedia-386 preempt 686 gcc-4.0
depends: snd,snd-seq-virmidi
parm: midi_devs:MIDI devices # (1-8) (array of int)
parm: enable:Enable this soundcard. (array of bool)
parm: id:ID string for virmidi soundcard. (array of charp)
parm: index:Index value for virmidi soundcard. (array of int)
Received on Wed Jan 18 00:15:05 2006

This archive was generated by hypermail 2.1.8 : Wed Jan 18 2006 - 00:15:05 EET