summaryrefslogtreecommitdiff
path: root/doc/asoundrc.txt
diff options
context:
space:
mode:
authorJaroslav Kysela <perex@perex.cz>2001-09-21 08:27:24 +0000
committerJaroslav Kysela <perex@perex.cz>2001-09-21 08:27:24 +0000
commit7d184ca60f2f299b30a2d3d2b0573d92855acd4e (patch)
treec0d42504da109dcd2bc387dcd664e6ab77bef804 /doc/asoundrc.txt
parent10fa12eb7d7a2a9e9680c038e48da05c5de89ec7 (diff)
downloadalsa-lib-7d184ca60f2f299b30a2d3d2b0573d92855acd4e.tar.gz
asoundrc.doc -> asoundrc.txt
Diffstat (limited to 'doc/asoundrc.txt')
-rw-r--r--doc/asoundrc.txt406
1 files changed, 406 insertions, 0 deletions
diff --git a/doc/asoundrc.txt b/doc/asoundrc.txt
new file mode 100644
index 00000000..7d52bbbe
--- /dev/null
+++ b/doc/asoundrc.txt
@@ -0,0 +1,406 @@
+# Configuration file syntax
+
+# Include a new configuration file
+<filename>
+
+# Simple assign
+name [=] value [,|;]
+
+# Compound assign (first style)
+name [=] {
+ name1 [=] value [,|;]
+ ...
+}
+
+# Compound assign (second style)
+name.name1 [=] value [,|;]
+
+# Array assign (first style)
+name [
+ value0 [,|;]
+ value1 [,|;]
+ ...
+]
+
+# Array assign (second style)
+name.0 [=] value0 [,|;]
+name.1 [=] value1 [,|;]
+
+# ******************************************************************************
+
+# Server definition
+server.NAME {
+ host STR # host where the server is located (if map to local address
+ # server is local, and then it may be started automatically)
+ [socket STR] # PF_LOCAL socket name to listen/connect
+ [port INT] # PF_INET port number to listen/connect
+}
+
+# PCM type definition
+pcm_type.NAME {
+ [lib STR] # Library file (default libasound.so)
+ [open STR] # Open function (default _snd_pcm_NAME_open)
+ [redirect { # Redirect this PCM to an another
+ [filename STR] # Configuration file specification
+ name STR # PCM name specification
+ }]
+}
+
+# PCM scope type definition
+pcm_scope_type.NAME {
+ [lib STR] # Library file (default libasound.so)
+ [open STR] # Open function (default _snd_pcm_scope_NAME_open)
+}
+
+# PCM scope definition
+pcm_scope.NAME {
+ type STR # Scope type
+ ...
+}
+
+# Slave PCM definition
+pcm_slave.NAME {
+ pcm STR # PCM name
+ # or
+ pcm { } # PCM definition
+ format STR # Format
+ channels INT # Channels
+ rate INT # Rate
+ period_time INT # Period time
+ buffer_time INT # Buffer time
+ etc.
+}
+
+# Hook arguments definition
+hook_args.NAME {
+ ... # Arbitrary arguments
+}
+
+# PCM hook type
+pcm_hook_type.NAME {
+ [lib STR] # Library file (default libasound.so)
+ [install STR] # Install function (default _snd_pcm_hook_NAME_install)
+}
+
+# PCM hook definition
+pcm_hook.NAME {
+ type STR # PCM Hook type (see pcm_hook_type)
+ [args STR] # Arguments for install function (see hook_args)
+ # or
+ [args { }] # Arguments for install function
+}
+
+# PCM definition
+pcm.NAME {
+ type STR # Type
+ [comment ANY] # Saved comments
+
+
+# PCM types:
+ type hw # Kernel PCM
+ card INT/STR # Card name or number
+ [device] INT # Device number (default 0)
+ [subdevice] INT # Subdevice number, -1 first available (default -1)
+
+
+ type hooks # PCM with hooks
+ slave STR # Slave name (see pcm_slave)
+ # or
+ slave { # Slave definition
+ pcm STR # Slave PCM name
+ # or
+ pcm { } # Slave PCM definition
+ }
+ hooks {
+ ID STR # Hook name (see pcm_hook)
+ # or
+ ID { } # Hook definition (see pcm_hook)
+ }
+
+ type plug # Format adjusted PCM
+ slave STR # Slave name (see pcm_slave)
+ # or
+ slave { # Slave definition
+ pcm STR # Slave PCM name
+ # or
+ pcm { } # Slave PCM definition
+ [format STR] # Slave format (default nearest) or "unchanged"
+ [channels INT] # Slave channels (default nearest) or "unchanged"
+ [rate INT] # Slave rate (default nearest) or "unchanged"
+ }
+ route_policy STR # route policy for automatic ttable generation
+ # STR can be 'default', 'average', 'copy', 'duplicate'
+ # average: result is average of input channels
+ # copy: only first channels are copied to destination
+ # duplicate: duplicate first set of channels
+ # default: copy policy, except for mono capture - sum
+ ttable { # Transfer table (bidimensional compound of
+ # cchannels * schannels numbers)
+ CCHANNEL {
+ SCHANNEL REAL # route value (0.0 ... 1.0)
+ }
+ }
+
+
+ type copy # Copy conversion PCM
+ slave STR # Slave name (see pcm_slave)
+ # or
+ slave { # Slave definition
+ pcm STR # Slave PCM name
+ # or
+ pcm { } # Slave PCM definition
+ }
+
+
+ type linear # Linear format conversion PCM
+ type adpcm # IMA-ADPCM format conversion PCM
+ type alaw # A-Law format conversion PCM
+ type mulaw # Mu-Law format conversion PCM
+ slave STR # Slave name (see pcm_slave)
+ # or
+ slave { # Slave definition
+ pcm STR # Slave PCM name
+ # or
+ pcm { } # Slave PCM definition
+ format STR # Slave format
+ }
+
+
+ type rate # Rate conversion PCM
+ slave STR # Slave name (see pcm_slave)
+ # or
+ slave { # Slave definition
+ pcm STR # Slave PCM name
+ # or
+ pcm { } # Slave PCM definition
+ [format STR] # Slave format (default client format)
+ rate INT # Slave rate
+ }
+
+
+ type route # Attenuated static route PCM
+ slave STR # Slave name (see pcm_slave)
+ # or
+ slave { # Slave definition
+ pcm STR # Slave PCM name
+ # or
+ pcm { } # Slave PCM definition
+ [format STR] # Slave format (default client format)
+ [channels INT] # Slave channels (default client channels)
+ }
+ ttable { # Transfer table (bidimensional compound of
+ # cchannels * schannels numbers)
+ CCHANNEL {
+ SCHANNEL REAL # route value (0.0 ... 1.0)
+ }
+ }
+
+
+ type multi # Linked PCMs (exclusive access to selected channels)
+ slaves { # Slaves definitions
+ ID STR # Slave name for slave N (see pcm_slave)
+ # or
+ ID { # Slave definition for slave N
+ pcm STR # Slave PCM name
+ # or
+ pcm { } # Slave PCM definition
+ channels INT # Slave channels
+ }
+ }
+ bindings { # Bindings table
+ N { # Binding for client channel N
+ slave STR # Slave key
+ channel INT # Slave channel
+ }
+ }
+ [master INT] # Define the master slave
+
+
+ type file # File plugin
+ slave STR # Slave name (see pcm_slave)
+ # or
+ slave { # Slave definition
+ pcm STR # Slave PCM name
+ # or
+ pcm { } # Slave PCM definition
+ }
+ file STR # File name
+ # or
+ file INT # File descriptor
+ [format STR] # File format (NYI)
+
+
+ type meter # Meter PCM
+ slave STR # Slave name (see pcm_slave)
+ # or
+ slave { # Slave definition or name
+ pcm STR # Slave PCM name
+ # or
+ pcm { } # Slave PCM definition
+ }
+ [frequency INT] # Updates per second
+ scopes { # Scopes
+ ID STR # Scope name (see pcm_scope)
+ # or
+ ID { } # Scope definition (see pcm_scope)
+ }
+
+
+ type droute # Attenuated dynamic route PCM (NYI)
+ slave STR # Slave name (see pcm_slave)
+ # or
+ slave { # Slave definition
+ pcm STR # Slave PCM name
+ # or
+ pcm { } # Slave PCM definition
+ [format STR] # Slave format (default client format)
+ [channels INT] # Slave channels (default client channels)
+ }
+ ctl STR # Ctl name
+ bindings { # Bindings table
+ ID { # Binding entry
+ cchannels { # Client channels
+ C INT # Client channel
+ }
+ schannel { # Slave channels
+ S INT # Slave channel
+ }
+ control STR # Control name of C * S (or C values: only if C == S)
+ }
+ }
+
+
+ type null # Null endpoint plugin
+ [time INT] # Time related or not (NYI)
+
+
+ type shm # Shared memory client PCM
+ server STR # Server name
+ pcm STR # PCM name on server
+
+
+ type share # Share PCM
+ slave STR # Slave name (see pcm_slave)
+ bindings { # Bindings table
+ N INT # Slave channel for client channel N
+ }
+
+
+ type mix # Mix PCM
+ slave STR # Slave name (see pcm_slave)
+ bindings { # Bindings table
+ N INT # Slave channel for client channel N
+ }
+
+
+}
+
+# CTL type definition
+ctl_type.NAME {
+ [lib STR] # Library file (default libasound.so)
+ [open STR] # Open function (default _snd_ctl_NAME_open)
+}
+
+# CTL definition
+ctl.NAME {
+ type STR # Type
+ [comment ANY] # Saved comments
+
+# CTL types
+ type hw
+ card STR/INT # Card name or number
+
+
+ type shm # Shared memory client CTL
+ server STR # Server name
+ ctl STR # CTL name on server
+
+
+}
+
+
+# RAWMIDI type definition
+rawmidi_type.NAME {
+ [lib STR] # Library file (default libasound.so)
+ [open STR] # Open function (default _snd_rawmidi_NAME_open)
+}
+
+# RAWMIDI definition
+rawmidi.NAME {
+ type STR # Type
+ [comment ANY] # Saved comments
+
+# RAWMIDI types:
+ type hw # Kernel RAWMIDI
+ card INT/STR # Card name or number
+ [device] INT # Device number (default 0)
+ [subdevice] INT # Subdevice number, -1 first available (default -1)
+
+
+}
+
+# SEQ type definition
+seq_type.NAME {
+ [lib STR] # Library file (default libasound.so)
+ [open STR] # Open function (default _snd_seq_NAME_open)
+}
+
+# SEQ definition
+seq.NAME {
+ type STR # Type
+ [comment ANY] # Saved comments
+
+# SEQ types:
+ type hw # Kernel SEQ
+
+
+}
+
+# Aliases
+DEF.NAME1 NAME2 # DEF.NAME1 is an alias for DEF.NAME2
+
+Some examples:
+
+pcm.trident {
+ type hw
+ card 0
+ device 0
+}
+
+pcm.ice1712 {
+ type hw
+ card 1
+ device 0
+}
+
+pcm.ice1712_spdif {
+ type plug
+ ttable.0.8 1
+ ttable.1.9 1
+ slave.pcm ice1712
+}
+
+pcm_slave.rs {
+ pcm trident
+ rate 44100
+}
+
+pcm.r {
+ type rate
+ slave rs
+}
+
+pcm.m {
+ type meter
+ slave.pcm plug:trident
+ frequency 50
+ scopes [
+ {
+ type level
+ }
+ ]
+}
+
+pcm_scope_type.level {
+ lib /home/abramo/scopes/liblevel.so
+}