[linux-audio-user] Some questions

Frank Barknecht fbar at footils.org
Mon Dec 29 06:49:16 EST 2003


Hallo,
Steve Harris hat gesagt: // Steve Harris wrote:

> On Mon, Dec 29, 2003 at 09:24:38 +0100, David Baron wrote:
> > 1. Are alsa drivers multi-client? (Two applications can read/write 
> > simultaneously to the in or out--i.e. a patch controller and a sequencer 
> > doing notes).
> 
> Some are, some aren't - it depends on the hardware, but theres a system
> called dmix than can be used to share i/os between apps.

Yes, this is for audio data, but there's no "dmix" for midi devices.
Of course many applications can use ALSA's sequencer device at the
same time, that's what it's designed for. But you might run into
problems when several apps try to open the same /dev/midiXX devices. I
don't know if this would work, I guess not, but there's a solution.
See below.

> > 2. Can dummy MIDI devices be installed (virmidi?) to be used for pipelining 
> > midi-out from one program to midi-in to another or for overcoming 
> > single-client problems (Windows examples MidiYoke, MidiMatrix, Hubi's).
> 
> You dont need that - the alsa-sequencer system can route midi between
> apps. The apps with inputs should appear as possible MIDI outputs in the
> app, but if not you can use a patchbay like qjackctl to make alsa-sequencer
> connections.

This works only for ALSA-sequencer-aware applications. Applications,
that use rawmidi devices like /dev/midiXX need a workaround to be able
to talk to the sequencer system and that workaround is the snd-virmidi
module. You'll need to use something like this in the modules
configuration:

alias snd-card-2 snd-virmidi midi_devs=8 index=3 id="virmidi01"

This will create a lot of rawmidi devices:

$ ls /dev/snd/midiC2D*
/dev/snd/midiC2D0  /dev/snd/midiC2D2  /dev/snd/midiC2D4  /dev/snd/midiC2D6
/dev/snd/midiC2D1  /dev/snd/midiC2D3  /dev/snd/midiC2D5  /dev/snd/midiC2D7

and all of these now are also part of the sequencer system so they can
be routed with aconnect or the newer qjackctl's ALSA connection GUI:

$ aconnect -i
...
client 80: 'Virtual Raw MIDI 2-0' [type=kernel]
    0 'VirMIDI 2-0     '
client 81: 'Virtual Raw MIDI 2-1' [type=kernel]
    0 'VirMIDI 2-1
...
> > 5. Can the recommended Ardour/Jack rpm for Madrake be used on Debian?
> 
> Probably not, but check out demudi: http://demudi.org/

Debian unstable/experimental has Ardour packages: "apt-get install
ardour-gtk" will install Jack as well.

ciao
-- 
 Frank Barknecht                               _ ______footils.org__



More information about the Linux-audio-user mailing list