mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2025-11-06 13:29:59 -05:00
Added snd_config_hook_load_for_all_cards.
Added private_data parameter for snd_config_hooks function. Fixed the return value mess in the config parser routines. The include file could begin with 'confdir:' which is replaced with /usr/share/alsa. The snd_config_search_definitions looks for raw name at first (without suggested root). Added snd_func_private_card_strtype function. All configuration files moved to the src/conf directory. Configuration files modified to use load-on-demand feature using hooks.
This commit is contained in:
parent
be5529bc3a
commit
bc581b87ae
24 changed files with 909 additions and 199 deletions
8
src/conf/Makefile.am
Normal file
8
src/conf/Makefile.am
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
SUBDIRS=cards pcm
|
||||
|
||||
cfg_files = alsa.conf cards.conf
|
||||
|
||||
EXTRA_DIST = $(cfg_files)
|
||||
|
||||
alsadir = $(datadir)/alsa
|
||||
alsa_DATA = $(cfg_files)
|
||||
377
src/conf/alsa.conf
Normal file
377
src/conf/alsa.conf
Normal file
|
|
@ -0,0 +1,377 @@
|
|||
#
|
||||
# ALSA library configuration file
|
||||
#
|
||||
|
||||
# preload configuration files
|
||||
|
||||
@hooks [
|
||||
{
|
||||
func load
|
||||
files [
|
||||
"/etc/asound.conf"
|
||||
"~/.asoundrc"
|
||||
]
|
||||
errors false
|
||||
}
|
||||
]
|
||||
|
||||
# load card-specific configuration files (on request)
|
||||
|
||||
cards.@hooks [
|
||||
{
|
||||
func load_for_all_cards
|
||||
files [
|
||||
{
|
||||
@func concat
|
||||
strings [
|
||||
{ @func datadir }
|
||||
"/cards/"
|
||||
{ @func private_card_strtype }
|
||||
".conf"
|
||||
]
|
||||
}
|
||||
]
|
||||
errors false
|
||||
}
|
||||
]
|
||||
|
||||
# defaults
|
||||
|
||||
defaults.ctl.card 0
|
||||
defaults.pcm.card 0
|
||||
defaults.pcm.device 0
|
||||
defaults.pcm.subdevice -1
|
||||
defaults.pcm.front.card defaults.pcm.card
|
||||
defaults.pcm.front.device defaults.pcm.device
|
||||
defaults.pcm.rear.card defaults.pcm.card
|
||||
defaults.pcm.rear.device defaults.pcm.device
|
||||
defaults.pcm.surround40.card defaults.pcm.card
|
||||
defaults.pcm.surround40.device defaults.pcm.device
|
||||
defaults.pcm.surround51.card defaults.pcm.card
|
||||
defaults.pcm.surround51.device defaults.pcm.device
|
||||
defaults.rawmidi.card 0
|
||||
defaults.rawmidi.device 0
|
||||
defaults.rawmidi.subdevice -1
|
||||
|
||||
#
|
||||
# PCM interface
|
||||
#
|
||||
|
||||
pcm.hw {
|
||||
@args [ CARD DEV SUBDEV ]
|
||||
@args.CARD {
|
||||
type string
|
||||
default {
|
||||
@func getenv
|
||||
vars [
|
||||
ALSA_PCM_CARD
|
||||
ALSA_CARD
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.card
|
||||
}
|
||||
}
|
||||
}
|
||||
@args.DEV {
|
||||
type integer
|
||||
default {
|
||||
@func igetenv
|
||||
vars [
|
||||
ALSA_PCM_DEVICE
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.device
|
||||
}
|
||||
}
|
||||
}
|
||||
@args.SUBDEV {
|
||||
type integer
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.subdevice
|
||||
}
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
device $DEV
|
||||
subdevice $SUBDEV
|
||||
}
|
||||
|
||||
pcm.plughw {
|
||||
@args [ CARD DEV SUBDEV ]
|
||||
@args.CARD {
|
||||
type string
|
||||
default {
|
||||
@func getenv
|
||||
vars [
|
||||
ALSA_PCM_CARD
|
||||
ALSA_CARD
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.card
|
||||
}
|
||||
}
|
||||
}
|
||||
@args.DEV {
|
||||
type integer
|
||||
default {
|
||||
@func igetenv
|
||||
vars [
|
||||
ALSA_PCM_DEVICE
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.device
|
||||
}
|
||||
}
|
||||
}
|
||||
@args.SUBDEV {
|
||||
type integer
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.subdevice
|
||||
}
|
||||
}
|
||||
type plug
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device $DEV
|
||||
subdevice $SUBDEV
|
||||
}
|
||||
}
|
||||
|
||||
pcm.plug {
|
||||
@args [ SLAVE ]
|
||||
@args.SLAVE {
|
||||
type string
|
||||
}
|
||||
type plug
|
||||
slave.pcm $SLAVE
|
||||
}
|
||||
|
||||
pcm.shm {
|
||||
@args [ SOCKET PCM ]
|
||||
@args.SOCKET {
|
||||
type string
|
||||
}
|
||||
@args.PCM {
|
||||
type string
|
||||
}
|
||||
type shm
|
||||
server $SOCKET
|
||||
pcm $PCM
|
||||
}
|
||||
|
||||
pcm.tee {
|
||||
@args [ SLAVE FILE FORMAT ]
|
||||
@args.SLAVE {
|
||||
type string
|
||||
}
|
||||
@args.FILE {
|
||||
type string
|
||||
}
|
||||
@args.FORMAT {
|
||||
type string
|
||||
default raw
|
||||
}
|
||||
type file
|
||||
slave.pcm $SLAVE
|
||||
file $FILE
|
||||
format $FORMAT
|
||||
}
|
||||
|
||||
pcm.file {
|
||||
@args [ FILE FORMAT ]
|
||||
@args.FILE {
|
||||
type string
|
||||
}
|
||||
@args.FORMAT {
|
||||
type string
|
||||
default raw
|
||||
}
|
||||
type file
|
||||
slave.pcm null
|
||||
file $FILE
|
||||
format $FORMAT
|
||||
}
|
||||
|
||||
pcm.null {
|
||||
type null
|
||||
}
|
||||
|
||||
pcm.default {
|
||||
type plug
|
||||
slave.pcm {
|
||||
type hw
|
||||
card {
|
||||
@func getenv
|
||||
vars [
|
||||
ALSA_PCM_CARD
|
||||
ALSA_CARD
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.card
|
||||
}
|
||||
}
|
||||
device {
|
||||
@func igetenv
|
||||
vars [
|
||||
ALSA_PCM_DEVICE
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.device
|
||||
}
|
||||
}
|
||||
subdevice {
|
||||
@func refer
|
||||
name defaults.pcm.subdevice
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# redirect to load-on-demand extended pcm definitions
|
||||
pcm.cards cards.pcm
|
||||
# some links for easy use
|
||||
pcm.front cards.pcm.front
|
||||
pcm.rear cards.pcm.rear
|
||||
pcm.center_lfe cards.pcm.center_lfe
|
||||
pcm.surround40 cards.pcm.surround40
|
||||
pcm.surround51 cards.pcm.surround51
|
||||
|
||||
#
|
||||
# Control interface
|
||||
#
|
||||
|
||||
ctl.hw {
|
||||
@args[ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
default {
|
||||
@func getenv
|
||||
vars [
|
||||
ALSA_CTL_CARD
|
||||
ALSA_CARD
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.ctl.card
|
||||
}
|
||||
}
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
|
||||
ctl.shm {
|
||||
@args [ SOCKET CTL ]
|
||||
@args.SOCKET {
|
||||
type string
|
||||
}
|
||||
@args.CTL {
|
||||
type string
|
||||
}
|
||||
type shm
|
||||
server $SOCKET
|
||||
ctl $CTL
|
||||
}
|
||||
|
||||
ctl.default {
|
||||
type hw
|
||||
card {
|
||||
@func getenv
|
||||
vars [
|
||||
ALSA_CTL_CARD
|
||||
ALSA_CARD
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.ctl.card
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#
|
||||
# RawMidi interface
|
||||
#
|
||||
|
||||
rawmidi.hw {
|
||||
@args [ CARD DEV SUBDEV ]
|
||||
@args.CARD {
|
||||
type string
|
||||
default {
|
||||
@func getenv
|
||||
vars [
|
||||
ALSA_RAWMIDI_CARD
|
||||
ALSA_CARD
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.rawmidi.card
|
||||
}
|
||||
}
|
||||
}
|
||||
@args.DEV {
|
||||
type integer
|
||||
default {
|
||||
@func igetenv
|
||||
vars [
|
||||
ALSA_RAWMIDI_DEVICE
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.rawmidi.device
|
||||
}
|
||||
}
|
||||
}
|
||||
@args.SUBDEV {
|
||||
type integer
|
||||
default -1
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
device $DEV
|
||||
subdevice $SUBDEV
|
||||
}
|
||||
|
||||
rawmidi.default {
|
||||
type hw
|
||||
card {
|
||||
@func getenv
|
||||
vars [
|
||||
ALSA_RAWMIDI_CARD
|
||||
ALSA_CARD
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.rawmidi.card
|
||||
}
|
||||
}
|
||||
device {
|
||||
@func igetenv
|
||||
vars [
|
||||
ALSA_RAWMIDI_DEVICE
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.rawmidi.device
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#
|
||||
# Sequencer interface
|
||||
#
|
||||
|
||||
seq.default {
|
||||
type hw
|
||||
}
|
||||
|
||||
seq.hw {
|
||||
type hw
|
||||
}
|
||||
76
src/conf/cards.conf
Normal file
76
src/conf/cards.conf
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
#
|
||||
# Card ID translation table from string to numeric.
|
||||
#
|
||||
|
||||
card.GUS_CLASSIC = 0; # GUS Classic
|
||||
card.GUS_EXTREME = 1; # GUS Extreme
|
||||
card.GUS_ACE = 2; # GUS ACE
|
||||
card.GUS_MAX = 3; # GUS MAX
|
||||
card.AMD_INTERWAVE = 4; # AMD InterWave
|
||||
card.SB_10 = 5; # SoundBlaster v1.0
|
||||
card.SB_20 = 6; # SoundBlaster v2.0
|
||||
card.SB_PRO = 7; # SoundBlaster Pro
|
||||
card.SB_16 = 8; # SoundBlaster 16
|
||||
card.SB_AWE = 9; # SoundBlaster AWE
|
||||
card.ESS_ES1688 = 10; # ESS AudioDrive ESx688
|
||||
card.OPL3_SA2 = 11; # Yamaha OPL3 SA2/SA3
|
||||
card.MOZART = 12; # OAK Mozart
|
||||
card.S3_SONICVIBES = 13; # S3 SonicVibes
|
||||
card.ENS1370 = 14; # Ensoniq ES1370
|
||||
card.ENS1371 = 15; # Ensoniq ES1371
|
||||
card.CS4232 = 16; # CS4232/CS4232A
|
||||
card.CS4236 = 17; # CS4235/CS4236B/CS4237B/CS4238B/CS4239
|
||||
card.AMD_INTERWAVE_STB = 18; # AMD InterWave + TEA6330T
|
||||
card.ESS_ES1938 = 19; # ESS Solo-1 ES1938
|
||||
card.ESS_ES18XX = 20; # ESS AudioDrive ES18XX
|
||||
card.CS4231 = 21; # CS4231
|
||||
card.OPTI92X = 22; # OPTi 92x chipset
|
||||
card.SERIAL = 23; # Serial MIDI driver
|
||||
card.AD1848 = 24; # Generic AD1848 driver
|
||||
card.TRID4DWAVEDX = 25; # Trident 4DWave DX
|
||||
card.TRID4DWAVENX = 26; # Trident 4DWave NX
|
||||
card.SGALAXY = 27; # Aztech Sound Galaxy
|
||||
card.CS46XX = 28; # Sound Fusion CS4610/12/15
|
||||
card.WAVEFRONT = 29; # TB WaveFront generic
|
||||
card.TROPEZ = 30; # TB Tropez
|
||||
card.TROPEZPLUS = 31; # TB Tropez+
|
||||
card.MAUI = 32; # TB Maui
|
||||
card.CMI8330 = 33; # C-Media CMI8330
|
||||
card.DUMMY = 34; # dummy soundcard
|
||||
card.ALS100 = 35; # Avance Logic ALS100
|
||||
card.SHARE = 36; # share soundcard
|
||||
card.SI_7018 = 37; # SiS 7018
|
||||
card.OPTI93X = 38; # OPTi 93x chipset
|
||||
card.MTPAV = 39; # MOTU MidiTimePiece AV multiport MIDI
|
||||
card.VIRMIDI = 40; # Virtual MIDI
|
||||
card.EMU10K1 = 41; # EMU10K1
|
||||
card.HAMMERFALL = 42; # RME Digi9652
|
||||
card.HAMMERFALL_LIGHT = 43; # RME Digi9652, but no expansion card
|
||||
card.ICE1712 = 44; # ICE1712
|
||||
card.CMI8338 = 45; # C-Media CMI8338
|
||||
card.CMI8738 = 46; # C-Media CMI8738
|
||||
card.AD1816A = 47; # ADI SoundPort AD1816A
|
||||
card.INTEL8X0 = 48; # Intel 810/820/830/840/MX440
|
||||
card.ESS_ESOLDM1 = 49; # Maestro 1
|
||||
card.ESS_ES1968 = 50; # Maestro 2
|
||||
card.ESS_ES1978 = 51; # Maestro 2E
|
||||
card.DIGI96 = 52; # RME Digi96
|
||||
card.VIA82C686A = 53; # VIA 82C686A
|
||||
card.FM801 = 54; # FM801
|
||||
card.AZT2320 = 55; # AZT2320
|
||||
card.PRODIF_PLUS = 56; # Marian/Sek'D Prodif Plus
|
||||
card.YMFPCI = 57; # YMF724/740/744/754
|
||||
card.CS4281 = 58; # CS4281
|
||||
card.MPU401_UART = 59; # MPU-401 UART
|
||||
card.ALS4000 = 60; # Avance Logic ALS4000
|
||||
card.ALLEGRO_1 = 61; # ESS Allegro-1
|
||||
card.ALLEGRO = 62; # ESS Allegro
|
||||
card.MAESTRO3 = 63; # ESS Maestro3
|
||||
card.AWACS = 64; # PMac AWACS
|
||||
card.NM256AV = 65; # NM256AV
|
||||
card.NM256ZX = 66; # NM256ZX
|
||||
card.VIA8233 = 67; # VIA VT8233
|
||||
card.PMAC_AWACS = 68; # PMac AWACS
|
||||
card.PMAC_BURGUNDY = 69; # PMac Burgundy
|
||||
card.PMAC_DACA = 70; # PMac DACA
|
||||
card.ALI5451 = 71; # ALi PCI Audio M5451
|
||||
107
src/conf/cards/CMIPCI.conf
Normal file
107
src/conf/cards/CMIPCI.conf
Normal file
|
|
@ -0,0 +1,107 @@
|
|||
#
|
||||
# Configuration for the CMIPCI chip
|
||||
#
|
||||
|
||||
CMIPCI.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
device 0
|
||||
}
|
||||
|
||||
# 2nd DAC
|
||||
# FIXME: we need a volume attenuator for rear channel.
|
||||
CMIPCI.pcm.rear.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
device 1
|
||||
}
|
||||
|
||||
# for the recent CM8738 chips
|
||||
# cards.CMIPCI.pcm.surround40.0 "cards.CMIPCI.pcm.front.0"
|
||||
CMIPCI.pcm.surround51.0 "cards.CMIPCI.pcm.front.0"
|
||||
|
||||
# for the old CM8738 with 2nd DAC for rear
|
||||
CMIPCI.pcm.surround40.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type multi
|
||||
master 1
|
||||
slaves [
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.CMIPCI.pcm.front.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.CMIPCI.pcm.rear.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
]
|
||||
bindings [
|
||||
{ slave 0 channel 0 }
|
||||
{ slave 0 channel 1 }
|
||||
{ slave 1 channel 0 }
|
||||
{ slave 1 channel 1 }
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
CMIPCI.pcm.iec958.0 {
|
||||
@args [ CARD DEV AES0 AES1 AES2 AES3 ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
@args.DEV {
|
||||
type integer
|
||||
}
|
||||
@args.AES0 {
|
||||
type integer
|
||||
}
|
||||
@args.AES1 {
|
||||
type integer
|
||||
}
|
||||
@args.AES2 {
|
||||
type integer
|
||||
}
|
||||
@args.AES3 {
|
||||
type integer
|
||||
}
|
||||
type hooks
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "IEC958 Enable"
|
||||
value 1
|
||||
lock true
|
||||
preserve true
|
||||
}
|
||||
{
|
||||
interface PCM
|
||||
name "IEC958 Playback PCM Stream"
|
||||
lock true
|
||||
preserve true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
221
src/conf/cards/EMU10K1.conf
Normal file
221
src/conf/cards/EMU10K1.conf
Normal file
|
|
@ -0,0 +1,221 @@
|
|||
#
|
||||
# Configuration for the EMU10K1 chip
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
EMU10K1.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
device 0
|
||||
}
|
||||
|
||||
<confdir:pcm/rear.conf>
|
||||
|
||||
EMU10K1.pcm.rear.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 0
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "Wave Surround Playback Volume"
|
||||
preserve true
|
||||
lock true
|
||||
value [ 0 0 ]
|
||||
}
|
||||
{
|
||||
name "EMU10K1 PCM Send Volume"
|
||||
index { @func private_pcm_subdevice }
|
||||
lock true
|
||||
value [ 0 0 0 0 0 0 255 0 0 0 0 255 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/center_lfe.conf>
|
||||
|
||||
EMU10K1.pcm.center_lfe.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 0
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "Headphone Center Playback Switch"
|
||||
preserve true
|
||||
lock true
|
||||
value true
|
||||
}
|
||||
{
|
||||
name "Headphone LFE Playback Switch"
|
||||
preserve true
|
||||
lock true
|
||||
value true
|
||||
}
|
||||
{
|
||||
name "EMU10K1 PCM Send Volume"
|
||||
index { @func private_pcm_subdevice }
|
||||
lock true
|
||||
value [ 0 0 0 0 255 0 0 0 0 255 0 0 ]
|
||||
}
|
||||
{
|
||||
name "EMU10K1 PCM Send Routing"
|
||||
index { @func private_pcm_subdevice }
|
||||
lock true
|
||||
value [ 0 1 2 3 6 7 0 1 6 7 0 1 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/surround40.conf>
|
||||
|
||||
EMU10K1.pcm.surround40.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type multi
|
||||
slaves [
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.EMU10K1.pcm.front.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.EMU10K1.pcm.rear.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
]
|
||||
bindings [
|
||||
{ slave 0 channel 0 }
|
||||
{ slave 0 channel 1 }
|
||||
{ slave 1 channel 0 }
|
||||
{ slave 1 channel 1 }
|
||||
]
|
||||
}
|
||||
|
||||
<confdir:pcm/surround51.conf>
|
||||
|
||||
EMU10K1.pcm.surround51.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type multi
|
||||
slaves [
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.EMU10K1.pcm.front.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.EMU10K1.pcm.rear.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.EMU10K1.pcm.center_lfe.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
]
|
||||
bindings [
|
||||
{ slave 0 channel 0 }
|
||||
{ slave 0 channel 1 }
|
||||
{ slave 1 channel 0 }
|
||||
{ slave 1 channel 1 }
|
||||
{ slave 2 channel 0 }
|
||||
{ slave 2 channel 1 }
|
||||
]
|
||||
}
|
||||
|
||||
<confdir:pcm/iec958.conf>
|
||||
|
||||
EMU10K1.pcm.iec958.0 {
|
||||
@args [ CARD DEV AES0 AES1 AES2 AES3 ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
@args.DEV {
|
||||
type integer
|
||||
}
|
||||
@args.AES0 {
|
||||
type integer
|
||||
}
|
||||
@args.AES1 {
|
||||
type integer
|
||||
}
|
||||
@args.AES2 {
|
||||
type integer
|
||||
}
|
||||
@args.AES3 {
|
||||
type integer
|
||||
}
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 3
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "IEC958 Playback Default"
|
||||
lock true
|
||||
preserve true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
{
|
||||
name "IEC958 Optical Raw Playback Switch"
|
||||
lock true
|
||||
preserve true
|
||||
value [ 1 1 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
84
src/conf/cards/ENS1370.conf
Normal file
84
src/conf/cards/ENS1370.conf
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
#
|
||||
# Configuration for the ENS1370 chip
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
ENS1370.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
device 1
|
||||
}
|
||||
|
||||
<confdir:pcm/rear.conf>
|
||||
|
||||
ENS1370.pcm.rear.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 0
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "PCM 0 Output also on Line-In Jack"
|
||||
preserve true
|
||||
lock true
|
||||
value true
|
||||
}
|
||||
{
|
||||
name "PCM Switch"
|
||||
preserve true
|
||||
lock true
|
||||
value [ false false ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/surround40.conf>
|
||||
|
||||
ENS1370.pcm.surround40.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type multi
|
||||
master 1
|
||||
slaves [
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.ENS1370.pcm.front.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.ENS1370.pcm.rear.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
]
|
||||
bindings [
|
||||
{ slave 0 channel 0 }
|
||||
{ slave 0 channel 1 }
|
||||
{ slave 1 channel 0 }
|
||||
{ slave 1 channel 1 }
|
||||
]
|
||||
}
|
||||
67
src/conf/cards/FM801.conf
Normal file
67
src/conf/cards/FM801.conf
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
#
|
||||
# Configuration for the FM801 chip
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
FM801.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
device 0
|
||||
}
|
||||
|
||||
<confdir:pcm/surround40.conf>
|
||||
|
||||
FM801.pcm.surround40.0 "cards.FM801.pcm.front.0"
|
||||
|
||||
<confdir:pcm/surround51.conf>
|
||||
|
||||
FM801.pcm.surround51.0 "cards.FM801.pcm.front.0"
|
||||
|
||||
<confdir:pcm/iec958.conf>
|
||||
|
||||
FM801.pcm.iec958.0 {
|
||||
@args [ CARD DEV AES0 AES1 AES2 AES3 ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
@args.DEV {
|
||||
type integer
|
||||
}
|
||||
@args.AES0 {
|
||||
type integer
|
||||
}
|
||||
@args.AES1 {
|
||||
type integer
|
||||
}
|
||||
@args.AES2 {
|
||||
type integer
|
||||
}
|
||||
@args.AES3 {
|
||||
type integer
|
||||
}
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 0
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
# {
|
||||
# name "IEC958 Playback Default"
|
||||
# value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
# }
|
||||
{
|
||||
name "IEC958 Raw Data Playback Switch"
|
||||
preserve true
|
||||
value true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
100
src/conf/cards/ICE1712.conf
Normal file
100
src/conf/cards/ICE1712.conf
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
#
|
||||
# Configuration for the ICE1712 (Envy24) chip
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
ICE1712.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type route
|
||||
ttable.0.0 1
|
||||
ttable.1.1 1
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/surround40.conf>
|
||||
|
||||
ICE1712.pcm.surround40.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type route
|
||||
ttable.0.0 1
|
||||
ttable.1.1 1
|
||||
ttable.2.2 1
|
||||
ttable.3.3 1
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/surround51.conf>
|
||||
|
||||
ICE1712.pcm.surround51.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type route
|
||||
ttable.0.0 1
|
||||
ttable.1.1 1
|
||||
ttable.2.2 1
|
||||
ttable.3.3 1
|
||||
ttable.4.4 1
|
||||
ttable.5.5 1
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/iec958.conf>
|
||||
|
||||
ICE1712.pcm.iec958.0 {
|
||||
@args [ CARD DEV AES0 AES1 AES2 AES3 ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
@args.DEV {
|
||||
type integer
|
||||
}
|
||||
@args.AES0 {
|
||||
type integer
|
||||
}
|
||||
@args.AES1 {
|
||||
type integer
|
||||
}
|
||||
@args.AES2 {
|
||||
type integer
|
||||
}
|
||||
@args.AES3 {
|
||||
type integer
|
||||
}
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type plug
|
||||
ttable.0.8 1
|
||||
ttable.1.9 1
|
||||
card $CARD
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
interface PCM
|
||||
name "IEC958 Playback PCM Stream"
|
||||
lock true
|
||||
preserve true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
101
src/conf/cards/INTEL8X0.conf
Normal file
101
src/conf/cards/INTEL8X0.conf
Normal file
|
|
@ -0,0 +1,101 @@
|
|||
#
|
||||
# Configuration for the INTEL8X0 chip
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
INTEL8X0.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
device 0
|
||||
}
|
||||
|
||||
<confdir:pcm/surround40.conf>
|
||||
|
||||
INTEL8X0.pcm.surround40.0 "cards.INTEL8X0.pcm.front.0"
|
||||
|
||||
<confdir:pcm/surround51.conf>
|
||||
|
||||
INTEL8X0.pcm.surround51.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type multi
|
||||
slaves [
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.INTEL8X0.pcm.front.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 6
|
||||
}
|
||||
]
|
||||
bindings [
|
||||
{ slave 0 channel 0 }
|
||||
{ slave 0 channel 1 }
|
||||
{ slave 2 channel 0 }
|
||||
{ slave 2 channel 1 }
|
||||
{ slave 1 channel 0 }
|
||||
{ slave 1 channel 1 }
|
||||
]
|
||||
}
|
||||
|
||||
<confdir:pcm/iec958.conf>
|
||||
|
||||
INTEL8X0.pcm.iec958.0 {
|
||||
@args [ CARD DEV AES0 AES1 AES2 AES3 ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
@args.DEV {
|
||||
type integer
|
||||
}
|
||||
@args.AES0 {
|
||||
type integer
|
||||
}
|
||||
@args.AES1 {
|
||||
type integer
|
||||
}
|
||||
@args.AES2 {
|
||||
type integer
|
||||
}
|
||||
@args.AES3 {
|
||||
type integer
|
||||
}
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 0
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "IEC958 Playback AC97-SPSA"
|
||||
lock true
|
||||
preserve true
|
||||
value 0
|
||||
}
|
||||
{
|
||||
name "IEC958 Playback Default"
|
||||
lock true
|
||||
preserve true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
{
|
||||
name "IEC958 Playback Switch"
|
||||
lock true
|
||||
preserve true
|
||||
value true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
6
src/conf/cards/Makefile.am
Normal file
6
src/conf/cards/Makefile.am
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
alsadir = $(datadir)/alsa/cards
|
||||
cfg_files = SI_7018.conf EMU10K1.conf TRID4DWAVENX.conf ENS1370.conf \
|
||||
INTEL8X0.conf YMFPCI.conf FM801.conf ICE1712.conf CMIPCI.conf
|
||||
|
||||
EXTRA_DIST = $(cfg_files)
|
||||
alsa_DATA = $(cfg_files)
|
||||
77
src/conf/cards/SI_7018.conf
Normal file
77
src/conf/cards/SI_7018.conf
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
#
|
||||
# Configuration for the SI7018 chip
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
SI_7018.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
device 0
|
||||
}
|
||||
|
||||
<confdir:pcm/rear.conf>
|
||||
|
||||
SI_7018.pcm.rear.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 0
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "PCM Playback Volume"
|
||||
preserve true
|
||||
lock true
|
||||
value [ 24 24 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/surround40.conf>
|
||||
|
||||
SI_7018.pcm.surround40.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type multi
|
||||
slaves [
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.SI_7018.pcm.front.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.SI_7018.pcm.rear.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
]
|
||||
bindings [
|
||||
{ slave 0 channel 0 }
|
||||
{ slave 0 channel 1 }
|
||||
{ slave 1 channel 0 }
|
||||
{ slave 1 channel 1 }
|
||||
]
|
||||
}
|
||||
131
src/conf/cards/TRID4DWAVENX.conf
Normal file
131
src/conf/cards/TRID4DWAVENX.conf
Normal file
|
|
@ -0,0 +1,131 @@
|
|||
#
|
||||
# Configuration for the Trident 4D-Wave NX chip
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
TRID4DWAVENX.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
device 0
|
||||
}
|
||||
|
||||
<confdir:pcm/rear.conf>
|
||||
|
||||
TRID4DWAVENX.pcm.rear.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 0
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "Rear Path"
|
||||
lock true
|
||||
preserve true
|
||||
value true
|
||||
}
|
||||
{
|
||||
name "PCM Front Playback Volume"
|
||||
index { @func private_pcm_subdevice }
|
||||
lock true
|
||||
preserve true
|
||||
value 0
|
||||
}
|
||||
{
|
||||
name "PCM Reverb Playback Volume"
|
||||
index { @func private_pcm_subdevice }
|
||||
lock true
|
||||
preserve true
|
||||
value 127
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/surround40.conf>
|
||||
|
||||
TRID4DWAVENX.pcm.surround40.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type multi
|
||||
slaves [
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.TRID4DWAVENX.pcm.front.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.TRID4DWAVENX.pcm.rear.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
]
|
||||
bindings [
|
||||
{ slave 0 channel 0 }
|
||||
{ slave 0 channel 1 }
|
||||
{ slave 1 channel 0 }
|
||||
{ slave 1 channel 1 }
|
||||
]
|
||||
}
|
||||
|
||||
<confdir:pcm/iec958.conf>
|
||||
|
||||
TRID4DWAVENX.pcm.iec958.0 {
|
||||
@args [ CARD AES0 AES1 AES2 AES3 ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
@args.AES0 {
|
||||
type integer
|
||||
}
|
||||
@args.AES1 {
|
||||
type integer
|
||||
}
|
||||
@args.AES2 {
|
||||
type integer
|
||||
}
|
||||
@args.AES3 {
|
||||
type integer
|
||||
}
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 2
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
interface PCM
|
||||
name "IEC958 Playback PCM Stream"
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
device 2
|
||||
lock true
|
||||
preserve true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
105
src/conf/cards/YMFPCI.conf
Normal file
105
src/conf/cards/YMFPCI.conf
Normal file
|
|
@ -0,0 +1,105 @@
|
|||
#
|
||||
# Configuration for the YMFPCI chip
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
YMFPCI.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
device 0
|
||||
}
|
||||
|
||||
<confdir:pcm/rear.conf>
|
||||
|
||||
YMFPCI.pcm.rear.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
device 2
|
||||
}
|
||||
|
||||
<confdir:pcm/surround40.conf>
|
||||
|
||||
YMFPCI.pcm.surround40.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type multi
|
||||
slaves [
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.YMFPCI.pcm.front.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.YMFPCI.pcm.rear.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
]
|
||||
bindings [
|
||||
{ slave 0 channel 0 }
|
||||
{ slave 0 channel 1 }
|
||||
{ slave 1 channel 0 }
|
||||
{ slave 1 channel 1 }
|
||||
]
|
||||
}
|
||||
|
||||
<confdir:pcm/iec958.conf>
|
||||
|
||||
YMFPCI.pcm.iec958.0 {
|
||||
@args [ CARD DEV AES0 AES1 AES2 AES3 ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
@args.DEV {
|
||||
type integer
|
||||
}
|
||||
@args.AES0 {
|
||||
type integer
|
||||
}
|
||||
@args.AES1 {
|
||||
type integer
|
||||
}
|
||||
@args.AES2 {
|
||||
type integer
|
||||
}
|
||||
@args.AES3 {
|
||||
type integer
|
||||
}
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 1
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
interface PCM
|
||||
name "IEC958 Playback PCM Stream"
|
||||
lock true
|
||||
preserve true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
7
src/conf/pcm/Makefile.am
Normal file
7
src/conf/pcm/Makefile.am
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
cfg_files = front.conf rear.conf center_lfe.conf surround40.conf \
|
||||
surround51.conf
|
||||
|
||||
EXTRA_DIST = $(cfg_files)
|
||||
|
||||
alsadir = $(datadir)/alsa/pcm
|
||||
alsa_DATA = $(cfg_files)
|
||||
47
src/conf/pcm/center_lfe.conf
Normal file
47
src/conf/pcm/center_lfe.conf
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
#
|
||||
# Hardware output from center & lfe speakers
|
||||
#
|
||||
|
||||
pcm.!center_lfe {
|
||||
@args [ CARD DEV ]
|
||||
@args.CARD {
|
||||
type string
|
||||
default {
|
||||
@func getenv
|
||||
vars [
|
||||
ALSA_CENTER_LFE_CARD
|
||||
ALSA_PCM_CARD
|
||||
ALSA_CARD
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.center_lfe.card
|
||||
}
|
||||
}
|
||||
}
|
||||
@args.DEV {
|
||||
type integer
|
||||
default {
|
||||
@func igetenv
|
||||
vars [
|
||||
ALSA_CENTER_LFE_DEVICE
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.center_lfe.device
|
||||
}
|
||||
}
|
||||
}
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"cards."
|
||||
{
|
||||
@func card_strtype
|
||||
card $CARD
|
||||
}
|
||||
".pcm.center_lfe." $DEV ":CARD=" $CARD
|
||||
]
|
||||
}
|
||||
}
|
||||
47
src/conf/pcm/front.conf
Normal file
47
src/conf/pcm/front.conf
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
#
|
||||
# Hardware output from front speakers
|
||||
#
|
||||
|
||||
pcm.!front {
|
||||
@args [ CARD DEV ]
|
||||
@args.CARD {
|
||||
type string
|
||||
default {
|
||||
@func getenv
|
||||
vars [
|
||||
ALSA_FRONT_CARD
|
||||
ALSA_PCM_CARD
|
||||
ALSA_CARD
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.front.card
|
||||
}
|
||||
}
|
||||
}
|
||||
@args.DEV {
|
||||
type integer
|
||||
default {
|
||||
@func igetenv
|
||||
vars [
|
||||
ALSA_FRONT_DEVICE
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.front.device
|
||||
}
|
||||
}
|
||||
}
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"cards."
|
||||
{
|
||||
@func card_strtype
|
||||
card $CARD
|
||||
}
|
||||
".pcm.front." $DEV ":CARD=" $CARD
|
||||
]
|
||||
}
|
||||
}
|
||||
47
src/conf/pcm/rear.conf
Normal file
47
src/conf/pcm/rear.conf
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
#
|
||||
# Hardware output from rear speakers
|
||||
#
|
||||
|
||||
pcm.!rear {
|
||||
@args [ CARD DEV ]
|
||||
@args.CARD {
|
||||
type string
|
||||
default {
|
||||
@func getenv
|
||||
vars [
|
||||
ALSA_REAR_CARD
|
||||
ALSA_PCM_CARD
|
||||
ALSA_CARD
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.rear.card
|
||||
}
|
||||
}
|
||||
}
|
||||
@args.DEV {
|
||||
type integer
|
||||
default {
|
||||
@func igetenv
|
||||
vars [
|
||||
ALSA_REAR_DEVICE
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.rear.device
|
||||
}
|
||||
}
|
||||
}
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"cards."
|
||||
{
|
||||
@func card_strtype
|
||||
card $CARD
|
||||
}
|
||||
".pcm.rear." $DEV ":CARD=" $CARD
|
||||
]
|
||||
}
|
||||
}
|
||||
52
src/conf/pcm/surround40.conf
Normal file
52
src/conf/pcm/surround40.conf
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
#
|
||||
# Hardware output from 4.0 speakers.
|
||||
# Samples must be positioned:
|
||||
# chn0 - front left
|
||||
# chn1 - front right
|
||||
# chn2 - rear left
|
||||
# chn3 - rear right
|
||||
#
|
||||
|
||||
pcm.!surround40 {
|
||||
@args [ CARD DEV ]
|
||||
@args.CARD {
|
||||
type string
|
||||
default {
|
||||
@func getenv
|
||||
vars [
|
||||
ALSA_SURROUND40_CARD
|
||||
ALSA_PCM_CARD
|
||||
ALSA_CARD
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.surround40.card
|
||||
}
|
||||
}
|
||||
}
|
||||
@args.DEV {
|
||||
type integer
|
||||
default {
|
||||
@func igetenv
|
||||
vars [
|
||||
ALSA_SURROUND40_DEVICE
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.surround40.device
|
||||
}
|
||||
}
|
||||
}
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"cards."
|
||||
{
|
||||
@func card_strtype
|
||||
card $CARD
|
||||
}
|
||||
".pcm.surround40." $DEV ":CARD=" $CARD
|
||||
]
|
||||
}
|
||||
}
|
||||
54
src/conf/pcm/surround51.conf
Normal file
54
src/conf/pcm/surround51.conf
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
#
|
||||
# Hardware output from 5.1 speakers
|
||||
# Samples must be positioned:
|
||||
# chn0 - front left
|
||||
# chn1 - front right
|
||||
# chn2 - rear left
|
||||
# chn3 - rear right
|
||||
# chn4 - center
|
||||
# chn5 - lfe
|
||||
#
|
||||
|
||||
pcm.!surround51 {
|
||||
@args [ CARD DEV ]
|
||||
@args.CARD {
|
||||
type string
|
||||
default {
|
||||
@func getenv
|
||||
vars [
|
||||
ALSA_SURROUND51_CARD
|
||||
ALSA_PCM_CARD
|
||||
ALSA_CARD
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.surround51.card
|
||||
}
|
||||
}
|
||||
}
|
||||
@args.DEV {
|
||||
type integer
|
||||
default {
|
||||
@func igetenv
|
||||
vars [
|
||||
ALSA_SURROUND51_DEVICE
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.surround51.device
|
||||
}
|
||||
}
|
||||
}
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"cards."
|
||||
{
|
||||
@func card_strtype
|
||||
card $CARD
|
||||
}
|
||||
".pcm.surround51." $DEV ":CARD=" $CARD
|
||||
]
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue