diff options
author | Jaroslav Kysela <perex@perex.cz> | 2001-09-21 08:27:24 +0000 |
---|---|---|
committer | Jaroslav Kysela <perex@perex.cz> | 2001-09-21 08:27:24 +0000 |
commit | 7d184ca60f2f299b30a2d3d2b0573d92855acd4e (patch) | |
tree | c0d42504da109dcd2bc387dcd664e6ab77bef804 /doc/asoundrc.txt | |
parent | 10fa12eb7d7a2a9e9680c038e48da05c5de89ec7 (diff) | |
download | alsa-lib-7d184ca60f2f299b30a2d3d2b0573d92855acd4e.tar.gz |
asoundrc.doc -> asoundrc.txt
Diffstat (limited to 'doc/asoundrc.txt')
-rw-r--r-- | doc/asoundrc.txt | 406 |
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 +} |