From alsa-devel-owner@alsa.jcu.cz  Fri Mar  6 21:14:45 1998
Received: from entry.jcu.cz (perex@entry.jcu.cz [160.217.1.111])
	by marvin.jcu.cz (8.8.8/8.8.8) with SMTP id VAA21529
	for <alsa-devel@alsa.jcu.cz>; Fri, 6 Mar 1998 21:14:44 +0100
Date: Fri, 6 Mar 1998 21:14:44 +0100 (MET)
From: Jaroslav Kysela <perex@jcu.cz>
To: alsa-devel@alsa.jcu.cz
Subject: Mixer
Message-ID: <Pine.LNX.3.96.980306211414.7256E-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, 2 Mar 1998, Thomas Sailer wrote:

> Hi Jaroslav & others
> 
> I had a very brief look on your stuff - looks promising!
> 
> I can send you my low level drivers for SB/Clones
> and WSS if you want, maybe they're of any use for you.

Thank you...

> However one thing I'm not so sure how to do it best is
> currently the mixer stuff - please take a look
> at the HWMNL.PDF from Creative and the CS4236B databook
> (available from www.cirrus.com) and look at the respective
> mixer diagram - I didn't have a decent idea on how
> to use most mixer features without anything simpler than
> some kind of "mixer netlist"... maybe you have...

I get only PDF about CS4236B chip, I didn't found any file named
HWMNL.PDF on CreativeLabs WWW/FTP.

What about add direction (parent channel pointer) to mixer channel info.
Program can detect which channels should be modified to get final
output.

For example:

                              -----------------
                              | Analog Master |-------------
                              -----------------            | 
                               |             |             |
              -------------------------  -----------       |
              |    Digital Master     |  | Line In |       | 
              -------------------------  -----------       |
              |        |              |                    |
           -------  -------- --------------------          |
           | PCM |  | Wave | | Digital Loopback |-----------
           -------  -------- --------------------

PCM -> Digital Master
Wave -> Digital Master
Digital Loopback -> Digital Master

Digital Master -> Analog Master
Line In -> Analog Master

Analog Master -> Digital Loopback

At this point can be a little bit difficult to detect Master (output)
channel, but this should be done by testing of channel name. Master should
be first channel, too.

Next point, what about soundcards with more outputs? Maybe this should be
handled with submixers. This is new feature in ALSA driver - at this time
can one soundcard have max 2 mixers, but this value should be raised only
with allocating of new minor numbers.

There should be done some changes in API for multitrack PCM (Gravis
UltraSound), too.

Any ideas, comments, updates? I added parent pointer to structure in ALSA
0.0.5 driver and DIGITAL flag to detect which channel is mixed by digital 
way.

> 
> Tom
> 
					Jaroslav


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



