From alsa-devel-owner@alsa.jcu.cz  Wed May 13 19:58:54 1998
Received: from sandy.force9.co.uk (root@41.usr02.wor.dialup.force9.net [195.166.131.105] (may be forged))
	by marvin.jcu.cz (8.8.8/8.8.8) with ESMTP id TAA08335
	for <alsa-devel@alsa.jcu.cz>; Wed, 13 May 1998 19:58:19 +0200
Received: (from chrisb@localhost)
	by sandy.force9.co.uk (8.8.5/8.8.5) id SAA03698
	for alsa-devel@alsa.jcu.cz; Wed, 13 May 1998 18:45:31 GMT
From: Christopher Butler <chrisb@sandy.force9.co.uk>
Message-Id: <199805131845.SAA03698@sandy.force9.co.uk>
Subject: Sequencer core
To: alsa-devel@alsa.jcu.cz
Date: Wed, 13 May 1998 18:45:29 +0000 (UTC)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Reply-To: alsa-devel@alsa.jcu.cz
Sender: alsa-devel-owner@alsa.jcu.cz
Precedence: list

Hi!

I've been silently following the recent threads on this list about the
sequencer core, which looks good btw, while don't have anything to say
about the core itself, I've been having some thoughts about the
interface for the MIDI clients. Afterall, its great if we end up with
a nice sequencer core, but its even nicer if the interface is good
too. :)

I was thinking about having a sort of "wake me up when this happens"
call, where the clients pass a structure to the core, and then
select(2) on a fd (for userland programs), or do whatever the
kernelspace clients need to do (I'm not too hot on that part of the
kernel stuff :)...

Anyway, this struct could be something like:

{
	int event_type;     /* bitmask of event types */
	char clientid[];    /* ID of the client I want events from */
/* ... */
}

This is very hazy atm of course, and won't mean much until the core is
finished, but I think we should really consider the interface whilst
programming the core. :)

--
Chris Butler <chrisb@sandy.force9.co.uk>

