From alsa-devel-owner@alsa.jcu.cz  Sat Nov 28 17:46:15 1998
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 RAA31181;
	Sat, 28 Nov 1998 17:40:56 +0100
Date: Sat, 28 Nov 1998 17:40:56 +0100 (CET)
From: Jaroslav Kysela <perex@jcu.cz>
To: Paul Barton-Davis <pbd@op.net>
cc: alsa-devel@alsa.jcu.cz
Subject: Re: MINOR numbers - READ PLEASE!!! 
In-Reply-To: <199811281447.JAA00417@renoir.op.net>
Message-ID: <Pine.LNX.3.96.981128171916.1131A-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 Sat, 28 Nov 1998, Paul Barton-Davis wrote:

> >> >96-103		8 * 1 raw FM devices
> >> 
> >>                     ^^^^^^^^^^^^^^^^^
> >> So now, Jaroslav, I have to ask: why is OK to have a specific minor
> >> device for raw FM access, but not, as per a previous discussion, for
> >> raw non-FM-synth-access ?
> >
> >You need exclusive device (I mean device which should be open only
> >once) for non-FM-synth? But this isn't bad idea routing raw FM commands
> >over ALSA sequencer.. I'll probably remove raw FM devices from list...
> 
> Well, as I outlined before, I think there is a place for direct access
> to the synth hardware that doesn't have to go through any of ALSA's
> abstractions. I might want to poke some registers on the synth to make
> it do various things that the ALSA abstractions don't support (because
> they don't exist for the vast majority of devices).

OK. Maybe I need explain again for which I preffer sequencer for deliver
these information to lowlevel driver:

1) Another interface eats code for next abstract i/o operations
   (communication between application and kernel) which are same.
2) Sequencer event router can deliver these information. We can do
   some special type of events (like private events in OSS sequencer)
   which will be specific for sequencer client (lowlevel driver for
   example). These events will be not recommented for use in stardard
   ALSA sequencer application, but they can be used with no limits in
   special applications for specific synthesizers.

I mean: why create some other transport layer if we have already powerful
one over which we can possibly transport synthesizer register settings,
instruments etc....

Example: Some special register settings (application side)

1. open sequencer
2. find corresponding client
3. open client (in exclusive or non-exclusive mode)
4. send direct (router deliver immediate) register setup events
5. [wait for response - if needed]
7. close client
8. close sequencer

Any feedback?

							Jaroslav

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


