From alsa-devel-owner@alsa.jcu.cz  Sat Feb 27 16:46:55 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 QAA16536;
	Sat, 27 Feb 1999 16:46:36 +0100
Date: Sat, 27 Feb 1999 16:46:36 +0100 (CET)
From: Jaroslav Kysela <perex@jcu.cz>
To: Abramo Bagnara <abbagnara@racine.ra.it>
cc: alsa-devel@alsa.jcu.cz
Subject: Re: Another mixer change proposal
In-Reply-To: <36D7B732.179E6950@racine.ra.it>
Message-ID: <Pine.LNX.3.96.990227161651.10658D-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, 27 Feb 1999, Abramo Bagnara wrote:

> I've read in alsa-devel some request to support an arbitrary number of voices.
> It seems to me a good idea.
> I've extended this to support also an arbitrary number of direction, this
> probably simplify the mixer midlevel, too.
> 
> I've summarized this changes (if C header can be called a summary ;-) in a new
> draft for asound.h and mixer.h.
> 
> I'd like that you give a deep look to this changes (I really hope that this is
> the last time we change so deeply the mixer user interface).
> 
> All your comments and questions are appreciated.

There are basically two problems. I want discuss them on the alsa-devel
mailing list, too.

1) I don't like very much voice array in the channel structures.
   Unfortunately I don't have better idea than more separating of volume
   ioctl structures (add a structure for one voice - it will mean that
   volume can be set/get from two ioctl calls if the channel has stereo
   capability). This will also solve in very nice way all things with
   STEREO flags.
   - for right 3D we need at minimum eight voices - in each corner of a
     cube (left,right,front,rear,up,down)
   - current standards are designed for five voices + bass (5.1)
     (left-front,center,right,left-rear,right-rear)
   - I saw that Yamaha is doing also receivers for seven voices + bass (7.1)
     (+middle-left,+middle-right) - middle voices output is probably
     computed from 5.1 signal, but we must be prepared for something this,
     too
2) Would be also the mixer to control PCM voice volumes?
   - I don't think it. The mixer would control only the output volumes.
     We must probably extend PCM for balance (or better PCM voice
     volume setup). This volume setup wouldn't be only left and right, but
     probably more universal to satisfy all things.

The old mixer structure (in main CVS tree):

General operations
\- channel operations

The current mixer structure (in new-mixer branch on CVS):

General operations
\- channel operations
   \- direction operations

OK. The new ("gold" or "famous" :-)) mixer structure:

General operations
\- channel operations
   \- direction operations
      \- voice operations

Comments, suggestions?

							Jaroslav

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


