mirror of
				https://github.com/alsa-project/alsa-lib.git
				synced 2025-11-03 09:01:52 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			315 lines
		
	
	
	
		
			6.2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			315 lines
		
	
	
	
		
			6.2 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)
 | 
						|
}
 | 
						|
 | 
						|
# Slave PCM definition
 | 
						|
pcm_slave.NAME {
 | 
						|
  pcm STR		# PCM name
 | 
						|
  format STR		# Format
 | 
						|
  channels INT		# Channels
 | 
						|
  rate INT		# Rate
 | 
						|
  period_time INT	# Period time
 | 
						|
  buffer_time INT	# Buffer time
 | 
						|
  etc.
 | 
						|
}
 | 
						|
 | 
						|
# 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 plug		# Format adjusted PCM
 | 
						|
  slave STR		# Slave name
 | 
						|
  # or
 | 
						|
  slave {		# Slave definition or name
 | 
						|
    pcm STR		# Slave PCM name
 | 
						|
  }
 | 
						|
  ttable {	 	# Transfer table (bidimensional compound of 
 | 
						|
	        	# cchannels * schannels numbers)
 | 
						|
    CCHANNEL {
 | 
						|
      SCHANNEL REAL	# route value (0.0 ... 1.0)
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
 | 
						|
  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
 | 
						|
  # or
 | 
						|
  slave {		# Slave definition or name
 | 
						|
    pcm STR		# Slave PCM name
 | 
						|
    format STR		# Slave format
 | 
						|
  }
 | 
						|
 | 
						|
 | 
						|
  type rate		# Rate conversion PCM
 | 
						|
  slave STR		# Slave name
 | 
						|
  # or
 | 
						|
  slave {		# Slave definition or name
 | 
						|
    pcm STR		# Slave PCM name
 | 
						|
    [format STR]	# Slave format (default client format)
 | 
						|
    rate INT		# Slave rate
 | 
						|
  }
 | 
						|
 | 
						|
 | 
						|
  type route		# Attenuated static route PCM
 | 
						|
  slave STR		# Slave name
 | 
						|
  # or
 | 
						|
  slave {		# Slave definition or name
 | 
						|
    pcm STR		# Slave PCM name
 | 
						|
    [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
 | 
						|
    N STR		# Slave name for slave N
 | 
						|
    # or
 | 
						|
    N {			# Slave definition for slave N
 | 
						|
      pcm STR		# Slave PCM name
 | 
						|
      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
 | 
						|
  # or
 | 
						|
  slave {		# Slave definition or name
 | 
						|
    pcm STR		# Slave PCM name
 | 
						|
  }
 | 
						|
  file STR		# File name
 | 
						|
  # or
 | 
						|
  file INT		# File descriptor
 | 
						|
  [format STR]		# File format (NYI)
 | 
						|
 | 
						|
 | 
						|
  type meter		# Meter PCM
 | 
						|
  slave STR		# Slave name
 | 
						|
  # or
 | 
						|
  slave {		# Slave definition or name
 | 
						|
    pcm STR		# Slave PCM name
 | 
						|
  }
 | 
						|
  [frequency INT]	# Updates per second
 | 
						|
  scopes {		# Scopes
 | 
						|
    N {			# Scope definition
 | 
						|
      type STR		# Scope type
 | 
						|
      [PARAMS]		# Scope params
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
 | 
						|
  type droute		# Attenuated dynamic route PCM (NYI)
 | 
						|
  slave STR		# Slave name
 | 
						|
  # or
 | 
						|
  slave {		# Slave definition or name
 | 
						|
    pcm STR		# Slave PCM name
 | 
						|
    [format STR]	# Slave format (default client format)
 | 
						|
    [channels INT]	# Slave channels (default client channels)
 | 
						|
  }
 | 
						|
  ctl STR		# Ctl name
 | 
						|
  bindings {		# Bindings table
 | 
						|
    N {			# 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
 | 
						|
  # or
 | 
						|
  slave {		# Slave definition or name
 | 
						|
    pcm STR		# Slave PCM name
 | 
						|
  }
 | 
						|
 | 
						|
 | 
						|
  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
 | 
						|
  bindings {		# Bindings table
 | 
						|
    N INT		# Slave channel for client channel N
 | 
						|
  }
 | 
						|
 | 
						|
 | 
						|
  type mix		# Mix PCM
 | 
						|
  slave STR		# Slave name
 | 
						|
  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
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
scope_type.level {
 | 
						|
	lib /home/abramo/scopes/liblevel.so
 | 
						|
} 
 | 
						|
 | 
						|
Special PCM names:
 | 
						|
hw:CARD,DEV,SUBDEV
 | 
						|
hw:CARD,DEV
 | 
						|
plug:CARD,DEV,SUBDEV
 | 
						|
plug:CARD,DEV
 | 
						|
plug:SLAVE_PCM
 | 
						|
shm:SOCKET,PCM
 | 
						|
file:FNAME,FMT,SLAVE_PCM
 | 
						|
file:FNAME,FMT
 | 
						|
file:FNAME
 | 
						|
null
 | 
						|
 |