From alsa-devel-owner@alsa.jcu.cz  Wed Jan  6 22:48:39 1999
Received: from entry.jcu.cz (IDENT:perex@entry.jcu.cz [160.217.1.111])
	by marvin.jcu.cz (8.9.1a/8.9.1) with SMTP id WAA14024;
	Wed, 6 Jan 1999 22:47:19 +0100
Date: Wed, 6 Jan 1999 22:47:19 +0100 (CET)
From: Jaroslav Kysela <perex@jcu.cz>
To: "P.J.Leonard" <P.J.Leonard@bath.ac.uk>
cc: alsa-devel@alsa.jcu.cz
Subject: Re: ALSA Sequencer API
In-Reply-To: <36910D64.3F54@bath.ac.uk>
Message-ID: <Pine.LNX.3.96.990106223942.407H-100000@entry.jcu.cz>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Reply-To: alsa-devel@alsa.jcu.cz
Sender: alsa-devel-owner@alsa.jcu.cz
Precedence: list

On Mon, 4 Jan 1999, P.J.Leonard wrote:

> Jaroslav Kysela wrote:
> > 
> > On Mon, 4 Jan 1999, P.J.Leonard wrote:
> >>  Is the ../test/seq/  code meant to compile ?
> 
> > No.. This is old code for sequencer prototype (I need remove it). Latest
> > test code (mostly new and some moved from driver test code) is in alsa-lib
> > package in alsa-lib/test/seq*..
>  
> Hmmmm . . . .
> 
> eepc-elf:~/asla/alsa-lib-0.3.0pre2/test $ make seq.o
> gcc -DHAVE_CONFIG_H -I. -I. -I../include -I../include  -static -Wall
> -pipe -g -c
>  seq.c
> seq.c:9: seq-decoder.c: No such file or directory
> seq.c:10: seq-sender.c: No such file or directory
> 

Oops.. This will be fixed in next release of alsa-lib package or you can
download sources from CVS.

> > > task.
> > > What if the user client hangs (CTRL-ALT-DELETE ?)
> > 
> > Why? If driver hangs - all incoming events are lost (queue overrun) and if
> > user kill this client (Ctrl-C or kill -SIGTERM) then sequencer deallocate
> > all events for/from this client. Note that failure of one client doesn't
> > have any effect for other clients.
> 
>  My understanding was that if a program running in real time mode gets
> stuck in a processing
> loop then it hogs all the CPU. THis is also my experience using ksynth
> (the KDE software synthesiser server) which uses the same sceduling as
> the midi file player
> example code in the (old) test directory. In the case of ksynth the
> server
> running in real time mode got overloaded with wave processing 
> and did not return control to any other process.

Yep, but this doesn't have anything with sequencer. It's application bug
(endless loop).

> > We can also make some discussion about queues.. Mainly about watermarks,
> > event memory pools etc..
> 
>  Sorry ? do I need to know about these to interface my music program to
> alsa ?
> I implement my own queuing and sceduling that only requires alsa to
> provide
> real time call backs and play midi events.

If you willn't use ALSA sequencer timer and queues, you should skip my
words.

>  Is it wrong to believe it should be possible to do things in real time
> in user land ? 

You should know that other task may eat some time required for tight
kernel/user <-> user/kernel processing.

>  BTW I am correct in thinking it is possible for ALSA and the OSS stuff
> to co-exist ?
> If this is the case it should be possible to wrap the OSS driver up in a
> userland
> server (until a alsa AWE32 driver appears) ?

Why not? This should be temporary solution to get some sound..

> Should I remove all reference to DSP and  FM/OPL3 from the OSS kernel
> setup ?

OPL2/3 synthesizer isn't supported in ALSA yet..

							Jaroslav

-----
Jaroslav Kysela <perex@jcu.cz>
Academic Computer Centre, University of South Bohemia
Branisovska 31, C. Budejovice, CZ-370 05 Czech Republic


