From alsa-devel-owner@alsa.jcu.cz  Sat Feb 27 17:40:00 1999
Received: from bologna.nettuno.it (bologna.nettuno.it [193.43.2.1])
	by marvin.jcu.cz (8.9.1a/8.9.1) with ESMTP id RAA20195
	for <alsa-devel@alsa.jcu.cz>; Sat, 27 Feb 1999 17:39:14 +0100
Received: from igor.opun.it (ppp13-nas0.faenza.nettuno.it [193.207.49.142])
	by bologna.nettuno.it (8.8.6/8.8.6/NETTuno 3.1) with ESMTP id RAA05730;
	Sat, 27 Feb 1999 17:39:00 +0100 (MET)
Received: from racine.ra.it (localhost [127.0.0.1])
	by igor.opun.it (8.8.8/8.8.8) with ESMTP id RAA22160;
	Sat, 27 Feb 1999 17:30:30 +0100
Message-ID: <36D81DA4.955CEAEA@racine.ra.it>
Date: Sat, 27 Feb 1999 17:30:28 +0100
From: Abramo Bagnara <abbagnara@racine.ra.it>
MIME-Version: 1.0
To: Jaroslav Kysela <perex@jcu.cz>
CC: alsa-devel@alsa.jcu.cz
Subject: Re: Another mixer change proposal
References: <Pine.LNX.3.96.990227161651.10658D-100000@entry.jcu.cz>
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

Jaroslav Kysela wrote:
> 
> 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.

One advantage of your solution that I can see is that we can maintain binary
compatibility also if we add other voices.
Can you show the other advantages?
One drawback is that we must call the lowlevel callback several times and
probably set hardware register several times.

At application level the two ways are perfectly equivalent: a well specified
library interface can use both approaches.

> 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 possible manipulation of PCM output are potentially infinite:
- 3D
- Balancing
- Routing
- Bass
- Treble
- Equalizer
...

We can't choose now which we will introduce at kernel level.
I think that the better way is to give the possibility to loaded modules to add
PCM manipulation and contemporary to add mixer control or switch in a dynamic
way.

Abramo

