mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2025-10-29 05:40:25 -04:00
367 lines
7.5 KiB
Text
367 lines
7.5 KiB
Text
# 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)
|
|
}
|
|
|
|
# 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 definition
|
|
pcm_hook.NAME {
|
|
[lib STR] # Library file (default libasound.so)
|
|
[install STR] # Install function (default _snd_pcm_hook_NAME_install)
|
|
[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
|
|
}
|
|
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
|
|
}
|
|
}
|
|
|
|
|
|
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 loopback # Loopback server (NYI)
|
|
server STR # Server name
|
|
slave STR # Slave name (see pcm_slave)
|
|
# or
|
|
slave { # Slave definition
|
|
pcm STR # Slave PCM name
|
|
# or
|
|
pcm { } # Slave PCM definition
|
|
}
|
|
|
|
|
|
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.0 {
|
|
type level
|
|
}
|
|
}
|
|
|
|
pcm_scope_type.level {
|
|
lib /home/abramo/scopes/liblevel.so
|
|
}
|
|
|