Re: [linux-audio-dev] MIDI routing, FIFO's etc.

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: Re: [linux-audio-dev] MIDI routing, FIFO's etc.
From: Jaroslav Kysela (perex_AT_suse.cz)
Date: la loka   09 1999 - 13:03:02 EDT


On Sat, 9 Oct 1999 thudson_AT_cygnus.com wrote:

> > To get back to the default state of affairs: then you just need a
> > small midirouting daemon that runs in the background, holds all
> > /dev/mididev* device files open, and forwards data to and from
> > /dev/midififo*. Note the inherent similarity to OMS here. I even wrote
> > such a small daemon last year, but I rarely use it anymore. It even
> > did channel splitting across ports, and I once had plans to do note
> > splits across ports as well (i.e. if (noteNum > N) send_to (portA)
> > else send_to (portB)). Fun stuff.
> >
> Something similar to this is a pet project for me. Rather than putting
> the intelligence in every app to deal with ALSA details, I would like to
> have an ALSA kernel client w/ a gui app as a controller that would allow
> me to specify the routing between oblivious apps. However, I tend to
> think of more fine-grained routing than ports. From a users perspective
> it would be nicer to specify:
>
> External keybord => MidiAppegiator => MidiEcho => Sequencer:Track 1 =>
> External Synth (responding on channel 5)
>
> External Drum Pad => KetKit => CSound
>
> Rather than, let's see, my keyboard is set to channel one and is
> connected to the first port of my second Midi card. I need to set
> my MidiArpeggiator,MidiEcho, and Sequencer Track one to receive on
> channel one and output on channel 5 of the third port of my first midi
> card...

The ALSA sequencer can create a connections between ports from third
(non-participient) client.

It seems that many things are already implemented (event router - ALSA
sequencer for example) or they are in my TODO list in my head for the
ALSA (next example: I need to finish some plugin PCM interface for
alsa-lib, because the new lowlevel PCM drivers doesn't do sample
conversions itself).

I have also an another impressive idea: The alsa-lib routes commands
over network. An user types 'export SOUND=sound.perex.cz:0' and everything
will be redirected through an network to an ALSA server daemon without
any change inside an application. It would be probably slow on 10Mbit/s
networks, but imagine 100Mbit/s or 1000Mbit/s networks.

I would like to see, if we join our efforts to one background sound
project and create good universal sound API for Linux, because there is
really only few active Linux audio developers around.

I'm going to be more and more tired, because the feedbacks and comments
for ALSA API in most cases reach me too late (and I have to recode
everything).

                                                Jaroslav

-----
Jaroslav Kysela <perex_AT_suse.cz>
SuSE Linux http://www.suse.com
ALSA project http://www.alsa-project.org


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : pe maalis 10 2000 - 07:27:13 EST