From alsa-devel-owner@alsa.jcu.cz  Fri Oct 30 00:23:27 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 AAA28924
	for <alsa-devel@alsa.jcu.cz>; Fri, 30 Oct 1998 00:23:05 +0100
Date: Fri, 30 Oct 1998 00:23:05 +0100 (CET)
From: Jaroslav Kysela <perex@jcu.cz>
To: alsa-devel@alsa.jcu.cz
Subject: alsactl - final 0.2.0 more close
Message-ID: <Pine.LNX.3.96.981030000624.30233A-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

Hi all!

	I'm currently working on alsactl program which should store /
restore ALSA driver settings to or from /etc/asound.conf file. This
utility should replace /proc/asound/0/mixer0 interface (write direction
only) and allows full control for all switches (not done completely yet -
S/PDIF switch for CS4236+ and joystick address switch for ES1371
aren't supported). If someone want look to first code - it is available
on CVS in alsa-utils module...

						Jaroslav


Here is example of configuration file for Ensoniq AudioPCI ES1370:

=====
# ALSA driver configuration
# Generated by alsactl

soundcard( "card1" ) {
  control {
    ; Type is 'bool'.
    switch( "Joystick", true )
  }
  mixer( "Asahi Kasei AK4531" ) {
    ; Capabilities: stereo hardware-mute.
    ; Accepted channel range is from 0 to 31.
    channel( "Master", stereo( 22, 21 ) )
    ; Capabilities: hardware-mute mono-mute.
    ; Accepted channel range is from 0 to 7.
    channel( "Master M", mono( !0 ) )
    ; Capabilities: record stereo hardware-mute.
    ; Accepted channel range is from 0 to 31.
    channel( "PCM", stereo( 24, 24 ) record )
    ; Capabilities: record stereo hardware-mute.
    ; Accepted channel range is from 0 to 31.
    channel( "PCM 1", stereo( 24, 24 ) )
    ; Capabilities: record stereo hardware-mute external-input.
    ; Accepted channel range is from 0 to 31.
    channel( "Line-In", stereo( !0, !0 ) )
    ; Capabilities: record hardware-mute mono-mute external-input.
    ; Accepted channel range is from 0 to 31.
    channel( "MIC", mono( !0 ) )
    ; Capabilities: record stereo hardware-mute external-input.
    ; Accepted channel range is from 0 to 31.
    channel( "CD", stereo( !0, !0 ) )
    ; Capabilities: record hardware-mute mono-mute external-input.
    ; Accepted channel range is from 0 to 31.
    channel( "Mono 1", mono( !0 ) )
    ; Capabilities: record hardware-mute mono-mute external-input.
    ; Accepted channel range is from 0 to 31.
    channel( "Mono 2", mono( !0 ) )
    ; Capabilities: record stereo hardware-mute external-input.
    ; Accepted channel range is from 0 to 31.
    channel( "Aux A", stereo( !0, !0 ) )
    ; Type is 'bool'.
    switch( "MIC Gain", true )
    ; Type is 'bool'.
    switch( "AK4531 Recording Source", false )
    ; Type is 'bool'.
    switch( "Change MIC Impedance", false )
    ; Type is 'bool'.
    switch( "Line In to Output", false )
  }
}
=====

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


