summaryrefslogtreecommitdiffstats
path: root/alsa-utils/alsactl/alsactl_init.xml
diff options
context:
space:
mode:
Diffstat (limited to 'alsa-utils/alsactl/alsactl_init.xml')
-rw-r--r--alsa-utils/alsactl/alsactl_init.xml590
1 files changed, 0 insertions, 590 deletions
diff --git a/alsa-utils/alsactl/alsactl_init.xml b/alsa-utils/alsactl/alsactl_init.xml
deleted file mode 100644
index 0e0d46b..0000000
--- a/alsa-utils/alsactl/alsactl_init.xml
+++ /dev/null
@@ -1,590 +0,0 @@
-<?xml version='1.0'?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
-
-<article>
- <section>
- <title>alsactl init</title>
- <refentry>
- <refentryinfo>
- <title>alsactl init</title>
- <date>July 2008</date>
- <productname>alsactl</productname>
- </refentryinfo>
-
- <refmeta>
- <refentrytitle>alsactl_init</refentrytitle>
- <manvolnum>7</manvolnum>
- <refmiscinfo class="version"></refmiscinfo>
- </refmeta>
-
- <refnamediv>
- <refname>alsactl init</refname>
- <refpurpose>alsa control management - initialization</refpurpose>
- </refnamediv>
-
- <refsect1><title>DESCRIPTION</title>
- <para>"alsactl init" provides soundcard specific initialization.</para>
- </refsect1>
-
- <refsect1><title>CONFIGURATION</title>
- <para>All "alsactl init" configuration files are placed in
- <filename>/usr/share/alsa/init/</filename> directory. The top level
- configuration file is <filename>/usr/share/alsa/init/00main</filename>.
- The default top-level file can be also specified using -i or
- --initfile parameter for the alsactl tool.
- Every file consists of a set of lines of text. All empty lines or
- lines beginning with '#' will be ignored.</para>
-
- <refsect2><title>Rules files</title>
- <para>The "alsactl init" rules are read from the files located
- in the <filename>/usr/share/alsa/init/*</filename>. The top
- level configuration file is <filename>/usr/share/alsa/init/00main</filename>.
- Every line in the rules file contains at least one key value pair.
- There are two kind of keys, match and assignment keys. If all match
- keys are matching against its value, the rule gets applied and the
- assign keys get the specified value assigned.</para>
-
- <para>A rule may consists of a list of one or more key value pairs
- separated by a comma. Each key has a distinct operation, depending
- on the used operator. Valid operators are:</para>
- <variablelist>
- <varlistentry>
- <term><option>==</option></term>
- <listitem>
- <para>Compare for equality.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>!=</option></term>
- <listitem>
- <para>Compare for non-equality.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>=</option></term>
- <listitem>
- <para>Assign a value to a key. Keys that represent a list,
- are reset and only this single value is assigned.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>+=</option></term>
- <listitem>
- <para>Add the value to a key that holds a list
- of entries.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>:=</option></term>
- <listitem>
- <para>Assign a value to a key finally; disallow any
- later changes, which may be used to prevent changes by
- any later rules.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>The following key names can be used to match against device
- properties:</para>
- <variablelist>
- <varlistentry>
- <term><option>CARDINDEX</option></term>
- <listitem>
- <para>Match the card index of the ALSA driver.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>CTL{<replaceable>attribute</replaceable>}</option></term>
- <listitem>
- <para>Set or test universal control attribute. Possible
- attributes:</para>
- <variablelist>
- <varlistentry>
- <term><option>numid</option></term>
- <listitem>
- <para>Numeric control identification.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>iface</option>, <option>interface</option></term>
- <listitem>
- <para>Control interface name (CARD, HWEDEP, MIXER, PCM, RAWMIDI, TIMER, SEQUENCER)</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>subdev</option>, <option>subdevice</option></term>
- <listitem>
- <para>Subdevice number.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>name</option></term>
- <listitem>
- <para>Control name</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>index</option></term>
- <listitem>
- <para>Control index</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>type</option></term>
- <listitem>
- <para>Control type (BOOLEAN, INTEGER, INTEGER64, ENUMERATED, BYTES, IEC958)</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>attr</option>, <option>attribute</option></term>
- <listitem>
- <para>Attributes (stored in a string - use match characters * and ?):</para>
- <variablelist>
- <varlistentry>
- <term><option>r</option></term>
- <listitem>
- <para>control is readable</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>w</option></term>
- <listitem>
- <para>control is writable</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>v</option></term>
- <listitem>
- <para>control is volatile</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>i</option></term>
- <listitem>
- <para>control is inactive</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>l</option></term>
- <listitem>
- <para>control is locked</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>R</option></term>
- <listitem>
- <para>control is TLV readable</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>W</option></term>
- <listitem>
- <para>control is TLV writable</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>C</option></term>
- <listitem>
- <para>control is TLV commandable</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>o</option></term>
- <listitem>
- <para>process is owner of this control</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>u</option></term>
- <listitem>
- <para>control created in user space</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>owner</option></term>
- <listitem>
- <para>Control owner process PID number</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>count</option></term>
- <listitem>
- <para>Control count of values</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>min</option></term>
- <listitem>
- <para>Value range - minimum value</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>max</option></term>
- <listitem>
- <para>Value range - maximum value</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>step</option></term>
- <listitem>
- <para>Value range - step value</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>dBmin</option></term>
- <listitem>
- <para>Value range - minimum dB value</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>dBmax</option></term>
- <listitem>
- <para>Value range - maximum dB value</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>items</option></term>
- <listitem>
- <para>Enumerated value - number of text items</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>enums</option></term>
- <listitem>
- <para>Enumerated value - list of text names stored between '|' character</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>value</option></term>
- <listitem>
- <para>Value of control stored to a string delimited by
- comma (,).</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>CONFIG{sysfs_device}</option></term>
- <listitem>
- <para>The relative path to sysfs subsystem specifying
- the root directory of a soundcard device. Usually,
- it should be set to "/class/sound/controlC$cardinfo{card}/device".
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>ATTR{<replaceable>filename</replaceable>}</option></term>
- <listitem>
- <para>Match sysfs attribute values of the soundcard device.
- The relative path to sysfs tree must be defined by
- CONFIG{sysfs_device} key. Trailing whitespace in the attribute
- values is ignored, if the specified match value does
- not contain trailing whitespace itself. Depending on
- the type of operator, this key is also used to set
- the value of a sysfs attribute.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>ENV{<replaceable>key</replaceable>}</option></term>
- <listitem>
- <para>Match against the value of an environment variable. Up
- to five <option>ENV</option> keys can be specified per rule.
- Depending on the type of operator, this key is also used
- to export a variable to the environment.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>PROGRAM</option></term>
- <listitem>
- <para>Execute external program. The key is true, if
- the program returns without exit code zero. The whole event
- environment is available to the executed program. The
- program's output printed to stdout is available for
- the RESULT key.</para>
- <para>Several buildin commands are available:</para>
- <variablelist>
- <varlistentry>
- <term><option>__ctl_search</option></term>
- <listitem>
- <para>Search for a control. The CTL{name} key might
- contain match characters * and ?. An control index
- might be specified as first argument starting from
- zero (e.g. PROGRAM="__ctl_search 2").</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>__ctl_count</option></term>
- <listitem>
- <para>Search for a controls and return total count
- of matched ones. The CTL{name} key might contain match
- characters * and ?.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>RESULT</option></term>
- <listitem>
- <para>Match the returned string of the last PROGRAM call.
- This key can be used in the same or in any later rule
- after a PROGRAM call.</para>
- </listitem>
- </varlistentry>
-
- </variablelist>
-
- <para>Most of the fields support a shell style pattern matching.
- The following pattern characters are supported:</para>
- <variablelist>
- <varlistentry>
- <term><option>*</option></term>
- <listitem>
- <para>Matches zero, or any number of characters.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>?</option></term>
- <listitem>
- <para>Matches any single character.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>[]</option></term>
- <listitem>
- <para>Matches any single character specified within
- the brackets. For example, the pattern string 'tty[SR]'
- would match either 'ttyS' or 'ttyR'. Ranges are also
- supported within this match with the '-' character.
- For example, to match on the range of all digits,
- the pattern [0-9] would be used. If the first character
- following the '[' is a '!', any characters
- not enclosed are matched.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>The following keys can get values assigned:</para>
- <variablelist>
- <varlistentry>
- <term><option>CTL{numid}</option>, <option>CTL{iface}</option>,
- <option>CTL{device}</option>, <option>CTL{subdev}</option>,
- <option>CTL{name}</option>, <option>CTL{index}</option>,
- </term>
- <listitem>
- <para>Select universal control element.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>CTL{value}</option></term>
- <listitem>
- <para>Value is set (written) also to soundcard's control
- device and RESULT key is set to errno code. The result of
- set operation is always true (it means continue with
- next key on line).</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>CTL{values}</option></term>
- <listitem>
- <para>Value is set (written) also to soundcard's control
- device (all control values are set to specified value) and
- RESULT key is set to errno code. The result of
- set operation is always true (it means continue with
- next key on line).</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>ENV{<replaceable>key</replaceable>}</option></term>
- <listitem>
- <para>Export a variable to the environment. Depending on the type of operator,
- this key is also to match against an environment variable.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>RESULT</option></term>
- <listitem>
- <para>Set RESULT variable. Note that PROGRAM also sets
- this variable, but setting this variable manually
- might be useful to change code execution order (included
- files).</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>LABEL</option></term>
- <listitem>
- <para>Named label where a GOTO can jump to.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>GOTO</option></term>
- <listitem>
- <para>Jumps to the next LABEL with a matching name</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>INCLUDE</option></term>
- <listitem>
- <para>Include specified filename or all files in specified directory</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>ACCESS</option></term>
- <listitem>
- <para>Check if specified file or directory exists</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>CONFIG{sysfs_device}</option></term>
- <listitem>
- <para>The relative path to sysfs subsystem specifying
- the root directory of a soundcard device. Usually,
- it should be set to "/class/sound/controlC$cardinfo{card}/device".
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>PRINT</option></term>
- <listitem>
- <para>PRINT value to stdout.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>ERROR</option></term>
- <listitem>
- <para>PRINT value to stderr.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>EXIT</option></term>
- <listitem>
- <para>Exit immediately and set program exit code to value
- (should be integer). If value is "return" string,
- parser leaves current included file and returns to parent
- configuration file.</para>
- </listitem>
- </varlistentry>
-
- </variablelist>
-
- <para>The <option>PROGRAM</option>, <option>RESULT</option>,
- <option>CTL{value}</option>,
- <option>PRINT</option>, <option>ERROR</option>,
- <option>EXIT</option>, <option>CONFIG{}</option>
- fields support simple printf-like string substitutions.
- It allows the use of the complete environment set by earlier matching
- rules. For all other fields, substitutions are applied while the individual rule is
- being processed. The available substitutions are:</para>
- <variablelist>
- <varlistentry>
- <term><option>$cardinfo{<replaceable>attribute</replaceable>}</option>, <option>%i{<replaceable>attribute</replaceable>}</option></term>
- <listitem>
- <para>See CARDINFO{} for more details.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>$ctl{<replaceable>attribute</replaceable>}</option>, <option>%C{<replaceable>attribute</replaceable>}</option></term>
- <listitem>
- <para>See CTL{} for more details.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>$attr{<replaceable>file</replaceable>}</option>, <option>%s{<replaceable>file</replaceable>}</option></term>
- <listitem>
- <para>The value of a sysfs attribute found at the device, where
- all keys of the rule have matched.
- If the attribute is a symlink, the last element of the symlink target is
- returned as the value.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>$env{<replaceable>key</replaceable>}</option>, <option>%E{<replaceable>key</replaceable>}</option></term>
- <listitem>
- <para>The value of an environment variable.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>$result</option>, <option>%c</option></term>
- <listitem>
- <para>The string returned by the external program requested with PROGRAM.
- A single part of the string, separated by a space character may be selected
- by specifying the part number as an attribute: <option>%c{N}</option>.
- If the number is followed by the '+' char this part plus all remaining parts
- of the result string are substituted: <option>%c{N+}</option></para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>$sysfsroot</option>, <option>%r</option></term>
- <listitem>
- <para>Root directory where sysfs file-system is mounted.
- Ususally, this value is just "/sys".</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>%%</option></term>
- <listitem>
- <para>The '%' character itself.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>$$</option></term>
- <listitem>
- <para>The '$' character itself.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- <para>The count of characters to be substituted may be limited
- by specifying the format length value. For example, '%3s{file}'
- will only insert the first three characters of the sysfs
- attribute</para>
- </refsect2>
- </refsect1>
-
- <refsect1><title>AUTHOR</title>
- <para>Written by Jaroslav Kysela <email>perex@perex.cz</email></para>
- <para>Some portions are written by Greg Kroah-Hartman <email>greg@kroah.com</email> and
- Kay Sievers <email>kay.sievers@vrfy.org</email>.</para>
- </refsect1>
-
- <refsect1>
- <title>SEE ALSO</title>
- <para><citerefentry>
- <refentrytitle>alsactl</refentrytitle><manvolnum>1</manvolnum>
- </citerefentry></para>
- </refsect1>
- </refentry>
- </section>
-</article>