mirror of
https://github.com/sipeed/LicheeRV-Nano-Build.git
synced 2026-09-11 05:09:56 -05:00
licheervnano: add alsa utils
This commit is contained in:
@@ -74,4 +74,4 @@ CONFIG_TARGET_PACKAGE_P7ZIP=y
|
||||
CONFIG_TARGET_PACKAGE_RAMSPEED=y
|
||||
CONFIG_TARGET_PACKAGE_UDPCAST=y
|
||||
CONFIG_TARGET_PACKAGE_UNRAR=y
|
||||
|
||||
CONFIG_TARGET_PACKAGE_ALSA=y
|
||||
|
||||
@@ -65,4 +65,5 @@ source "../ramdisk/rootfs/public/mmc-utils/Kconfig"
|
||||
source "../ramdisk/rootfs/public/p7zip/Kconfig"
|
||||
source "../ramdisk/rootfs/public/ramspeed/Kconfig"
|
||||
source "../ramdisk/rootfs/public/udpcast/Kconfig"
|
||||
source "../ramdisk/rootfs/public/unrar/Kconfig"
|
||||
source "../ramdisk/rootfs/public/unrar/Kconfig"
|
||||
source "../ramdisk/rootfs/public/alsa/Kconfig"
|
||||
5
ramdisk/rootfs/public/alsa/Kconfig
Normal file
5
ramdisk/rootfs/public/alsa/Kconfig
Normal file
@@ -0,0 +1,5 @@
|
||||
config TARGET_PACKAGE_ALSA
|
||||
bool "Target alsa"
|
||||
default n
|
||||
help
|
||||
target alsa
|
||||
9
ramdisk/rootfs/public/alsa/musl_riscv64/etc/alsa/conf.d
Normal file
9
ramdisk/rootfs/public/alsa/musl_riscv64/etc/alsa/conf.d
Normal file
@@ -0,0 +1,9 @@
|
||||
pcm.!default {
|
||||
type hw
|
||||
card 0
|
||||
}
|
||||
|
||||
ctl.!default {
|
||||
type hw
|
||||
card 0
|
||||
}
|
||||
9
ramdisk/rootfs/public/alsa/musl_riscv64/etc/asound.conf
Normal file
9
ramdisk/rootfs/public/alsa/musl_riscv64/etc/asound.conf
Normal file
@@ -0,0 +1,9 @@
|
||||
pcm.!default {
|
||||
type hw
|
||||
card 0
|
||||
}
|
||||
|
||||
ctl.!default {
|
||||
type hw
|
||||
card 0
|
||||
}
|
||||
9
ramdisk/rootfs/public/alsa/musl_riscv64/root/.asoundrc
Normal file
9
ramdisk/rootfs/public/alsa/musl_riscv64/root/.asoundrc
Normal file
@@ -0,0 +1,9 @@
|
||||
pcm.!default {
|
||||
type hw
|
||||
card 0
|
||||
}
|
||||
|
||||
ctl.!default {
|
||||
type hw
|
||||
card 0
|
||||
}
|
||||
1451
ramdisk/rootfs/public/alsa/musl_riscv64/usr/bin/alsaconf
Executable file
1451
ramdisk/rootfs/public/alsa/musl_riscv64/usr/bin/alsaconf
Executable file
File diff suppressed because it is too large
Load Diff
BIN
ramdisk/rootfs/public/alsa/musl_riscv64/usr/bin/alsactl
Executable file
BIN
ramdisk/rootfs/public/alsa/musl_riscv64/usr/bin/alsactl
Executable file
Binary file not shown.
BIN
ramdisk/rootfs/public/alsa/musl_riscv64/usr/bin/alsamixer
Executable file
BIN
ramdisk/rootfs/public/alsa/musl_riscv64/usr/bin/alsamixer
Executable file
Binary file not shown.
BIN
ramdisk/rootfs/public/alsa/musl_riscv64/usr/bin/alsaucm
Executable file
BIN
ramdisk/rootfs/public/alsa/musl_riscv64/usr/bin/alsaucm
Executable file
Binary file not shown.
BIN
ramdisk/rootfs/public/alsa/musl_riscv64/usr/bin/amixer
Executable file
BIN
ramdisk/rootfs/public/alsa/musl_riscv64/usr/bin/amixer
Executable file
Binary file not shown.
BIN
ramdisk/rootfs/public/alsa/musl_riscv64/usr/bin/aplay
Executable file
BIN
ramdisk/rootfs/public/alsa/musl_riscv64/usr/bin/aplay
Executable file
Binary file not shown.
BIN
ramdisk/rootfs/public/alsa/musl_riscv64/usr/bin/arecord
Executable file
BIN
ramdisk/rootfs/public/alsa/musl_riscv64/usr/bin/arecord
Executable file
Binary file not shown.
BIN
ramdisk/rootfs/public/alsa/musl_riscv64/usr/bin/aserver
Executable file
BIN
ramdisk/rootfs/public/alsa/musl_riscv64/usr/bin/aserver
Executable file
Binary file not shown.
BIN
ramdisk/rootfs/public/alsa/musl_riscv64/usr/bin/speaker-test
Executable file
BIN
ramdisk/rootfs/public/alsa/musl_riscv64/usr/bin/speaker-test
Executable file
Binary file not shown.
643
ramdisk/rootfs/public/alsa/musl_riscv64/usr/share/alsa/alsa.conf
Normal file
643
ramdisk/rootfs/public/alsa/musl_riscv64/usr/share/alsa/alsa.conf
Normal file
@@ -0,0 +1,643 @@
|
||||
#
|
||||
# ALSA library configuration file
|
||||
#
|
||||
|
||||
# pre-load the configuration files
|
||||
|
||||
@hooks [
|
||||
{
|
||||
func load
|
||||
files [
|
||||
"/usr/etc/alsa/conf.d"
|
||||
"/etc/alsa/conf.d"
|
||||
"/etc/asound.conf|||/usr/etc/asound.conf"
|
||||
"~/.asoundrc"
|
||||
{
|
||||
@func concat
|
||||
strings [
|
||||
{
|
||||
@func getenv
|
||||
vars [
|
||||
XDG_CONFIG_HOME
|
||||
]
|
||||
default "~/.config"
|
||||
}
|
||||
"/alsa/asoundrc"
|
||||
]
|
||||
}
|
||||
]
|
||||
errors false
|
||||
}
|
||||
]
|
||||
|
||||
# load card-specific configuration files (on request)
|
||||
|
||||
cards.@hooks [
|
||||
{
|
||||
func load
|
||||
files [
|
||||
{
|
||||
@func concat
|
||||
strings [
|
||||
{ @func datadir }
|
||||
"/cards/aliases.conf"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
{
|
||||
func load_for_all_cards
|
||||
files [
|
||||
{
|
||||
@func concat
|
||||
strings [
|
||||
{ @func datadir }
|
||||
"/cards/"
|
||||
{ @func private_string }
|
||||
".conf"
|
||||
]
|
||||
}
|
||||
]
|
||||
errors false
|
||||
}
|
||||
]
|
||||
|
||||
#
|
||||
# defaults
|
||||
#
|
||||
|
||||
# show all name hints also for definitions without hint {} section
|
||||
defaults.namehint.showall off
|
||||
# show just basic name hints
|
||||
defaults.namehint.basic on
|
||||
# show extended name hints
|
||||
defaults.namehint.extended off
|
||||
#
|
||||
defaults.ctl.card 0
|
||||
defaults.pcm.card 0
|
||||
defaults.pcm.device 0
|
||||
defaults.pcm.subdevice -1
|
||||
defaults.pcm.nonblock 1
|
||||
defaults.pcm.compat 0
|
||||
defaults.pcm.minperiodtime 5000 # in us
|
||||
defaults.pcm.ipc_key 5678293
|
||||
defaults.pcm.ipc_gid audio
|
||||
defaults.pcm.ipc_perm 0660
|
||||
defaults.pcm.tstamp_type default
|
||||
defaults.pcm.dmix.max_periods 0
|
||||
defaults.pcm.dmix.channels 2
|
||||
defaults.pcm.dmix.rate 48000
|
||||
defaults.pcm.dmix.format unchanged
|
||||
defaults.pcm.dmix.card defaults.pcm.card
|
||||
defaults.pcm.dmix.device defaults.pcm.device
|
||||
defaults.pcm.dsnoop.card defaults.pcm.card
|
||||
defaults.pcm.dsnoop.device defaults.pcm.device
|
||||
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.center_lfe.card defaults.pcm.card
|
||||
defaults.pcm.center_lfe.device defaults.pcm.device
|
||||
defaults.pcm.side.card defaults.pcm.card
|
||||
defaults.pcm.side.device defaults.pcm.device
|
||||
defaults.pcm.surround21.card defaults.pcm.card
|
||||
defaults.pcm.surround21.device defaults.pcm.device
|
||||
defaults.pcm.surround40.card defaults.pcm.card
|
||||
defaults.pcm.surround40.device defaults.pcm.device
|
||||
defaults.pcm.surround41.card defaults.pcm.card
|
||||
defaults.pcm.surround41.device defaults.pcm.device
|
||||
defaults.pcm.surround50.card defaults.pcm.card
|
||||
defaults.pcm.surround50.device defaults.pcm.device
|
||||
defaults.pcm.surround51.card defaults.pcm.card
|
||||
defaults.pcm.surround51.device defaults.pcm.device
|
||||
defaults.pcm.surround71.card defaults.pcm.card
|
||||
defaults.pcm.surround71.device defaults.pcm.device
|
||||
defaults.pcm.iec958.card defaults.pcm.card
|
||||
defaults.pcm.iec958.device defaults.pcm.device
|
||||
defaults.pcm.modem.card defaults.pcm.card
|
||||
defaults.pcm.modem.device defaults.pcm.device
|
||||
defaults.pcm.file_format raw
|
||||
defaults.pcm.file_truncate true # truncate files via file or tee PCM
|
||||
defaults.rawmidi.card 0
|
||||
defaults.rawmidi.device 0
|
||||
defaults.rawmidi.subdevice -1
|
||||
defaults.hwdep.card 0
|
||||
defaults.hwdep.device 0
|
||||
defaults.timer.class 2
|
||||
defaults.timer.sclass 0
|
||||
defaults.timer.card 0
|
||||
defaults.timer.device 0
|
||||
defaults.timer.subdevice 0
|
||||
|
||||
#
|
||||
# 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
|
||||
hint {
|
||||
show {
|
||||
@func refer
|
||||
name defaults.namehint.extended
|
||||
}
|
||||
description "Direct hardware device without any conversions"
|
||||
}
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
hint {
|
||||
show {
|
||||
@func refer
|
||||
name defaults.namehint.extended
|
||||
}
|
||||
description "Hardware device with all software conversions"
|
||||
}
|
||||
}
|
||||
|
||||
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 {
|
||||
@func refer
|
||||
name defaults.pcm.file_format
|
||||
}
|
||||
}
|
||||
type file
|
||||
slave.pcm $SLAVE
|
||||
file $FILE
|
||||
format $FORMAT
|
||||
truncate {
|
||||
@func refer
|
||||
name defaults.pcm.file_truncate
|
||||
}
|
||||
}
|
||||
|
||||
pcm.file {
|
||||
@args [ FILE FORMAT ]
|
||||
@args.FILE {
|
||||
type string
|
||||
}
|
||||
@args.FORMAT {
|
||||
type string
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.file_format
|
||||
}
|
||||
}
|
||||
type file
|
||||
slave.pcm null
|
||||
file $FILE
|
||||
format $FORMAT
|
||||
truncate {
|
||||
@func refer
|
||||
name defaults.pcm.file_truncate
|
||||
}
|
||||
}
|
||||
|
||||
pcm.null {
|
||||
type null
|
||||
hint {
|
||||
show {
|
||||
@func refer
|
||||
name defaults.namehint.basic
|
||||
}
|
||||
description "Discard all samples (playback) or generate zero samples (capture)"
|
||||
}
|
||||
}
|
||||
|
||||
# redirect to load-on-demand extended pcm definitions
|
||||
pcm.cards cards.pcm
|
||||
|
||||
pcm.default cards.pcm.default
|
||||
pcm.sysdefault cards.pcm.default
|
||||
pcm.front cards.pcm.front
|
||||
pcm.rear cards.pcm.rear
|
||||
pcm.center_lfe cards.pcm.center_lfe
|
||||
pcm.side cards.pcm.side
|
||||
pcm.surround21 cards.pcm.surround21
|
||||
pcm.surround40 cards.pcm.surround40
|
||||
pcm.surround41 cards.pcm.surround41
|
||||
pcm.surround50 cards.pcm.surround50
|
||||
pcm.surround51 cards.pcm.surround51
|
||||
pcm.surround71 cards.pcm.surround71
|
||||
pcm.iec958 cards.pcm.iec958
|
||||
pcm.spdif iec958
|
||||
pcm.hdmi cards.pcm.hdmi
|
||||
pcm.dmix cards.pcm.dmix
|
||||
pcm.dsnoop cards.pcm.dsnoop
|
||||
pcm.modem cards.pcm.modem
|
||||
pcm.phoneline cards.pcm.phoneline
|
||||
|
||||
#
|
||||
# Control interface
|
||||
#
|
||||
|
||||
ctl.sysdefault {
|
||||
type hw
|
||||
card {
|
||||
@func getenv
|
||||
vars [
|
||||
ALSA_CTL_CARD
|
||||
ALSA_CARD
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.ctl.card
|
||||
}
|
||||
}
|
||||
hint.description "Default control device"
|
||||
}
|
||||
ctl.default ctl.sysdefault
|
||||
|
||||
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
|
||||
hint.description "Direct control device"
|
||||
}
|
||||
|
||||
ctl.shm {
|
||||
@args [ SOCKET CTL ]
|
||||
@args.SOCKET {
|
||||
type string
|
||||
}
|
||||
@args.CTL {
|
||||
type string
|
||||
}
|
||||
type shm
|
||||
server $SOCKET
|
||||
ctl $CTL
|
||||
}
|
||||
|
||||
#
|
||||
# RawMidi interface
|
||||
#
|
||||
|
||||
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
|
||||
}
|
||||
}
|
||||
hint.description "Default raw MIDI device"
|
||||
}
|
||||
|
||||
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
|
||||
hint {
|
||||
description "Direct rawmidi driver device"
|
||||
device $DEV
|
||||
}
|
||||
}
|
||||
|
||||
rawmidi.virtual {
|
||||
@args [ MERGE ]
|
||||
@args.MERGE {
|
||||
type string
|
||||
default 1
|
||||
}
|
||||
type virtual
|
||||
merge $MERGE
|
||||
}
|
||||
|
||||
#
|
||||
# Sequencer interface
|
||||
#
|
||||
|
||||
seq.default {
|
||||
type hw
|
||||
hint.description "Default sequencer device"
|
||||
}
|
||||
|
||||
seq.hw {
|
||||
type hw
|
||||
}
|
||||
|
||||
#
|
||||
# HwDep interface
|
||||
#
|
||||
|
||||
hwdep.default {
|
||||
type hw
|
||||
card {
|
||||
@func getenv
|
||||
vars [
|
||||
ALSA_HWDEP_CARD
|
||||
ALSA_CARD
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.hwdep.card
|
||||
}
|
||||
}
|
||||
device {
|
||||
@func igetenv
|
||||
vars [
|
||||
ALSA_HWDEP_DEVICE
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.hwdep.device
|
||||
}
|
||||
}
|
||||
hint.description "Default hardware dependent device"
|
||||
}
|
||||
|
||||
hwdep.hw {
|
||||
@args [ CARD DEV ]
|
||||
@args.CARD {
|
||||
type string
|
||||
default {
|
||||
@func getenv
|
||||
vars [
|
||||
ALSA_HWDEP_CARD
|
||||
ALSA_CARD
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.hwdep.card
|
||||
}
|
||||
}
|
||||
}
|
||||
@args.DEV {
|
||||
type integer
|
||||
default {
|
||||
@func igetenv
|
||||
vars [
|
||||
ALSA_HWDEP_DEVICE
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.hwdep.device
|
||||
}
|
||||
}
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
device $DEV
|
||||
hint {
|
||||
description "Direct hardware dependent device"
|
||||
device $DEV
|
||||
}
|
||||
}
|
||||
|
||||
#
|
||||
# Timer interface
|
||||
#
|
||||
|
||||
timer_query.default {
|
||||
type hw
|
||||
}
|
||||
|
||||
timer_query.hw {
|
||||
type hw
|
||||
}
|
||||
|
||||
timer.default {
|
||||
type hw
|
||||
class {
|
||||
@func refer
|
||||
name defaults.timer.class
|
||||
}
|
||||
sclass {
|
||||
@func refer
|
||||
name defaults.timer.sclass
|
||||
}
|
||||
card {
|
||||
@func refer
|
||||
name defaults.timer.card
|
||||
}
|
||||
device {
|
||||
@func refer
|
||||
name defaults.timer.device
|
||||
}
|
||||
subdevice {
|
||||
@func refer
|
||||
name defaults.timer.subdevice
|
||||
}
|
||||
hint.description "Default timer device"
|
||||
}
|
||||
|
||||
timer.hw {
|
||||
@args [ CLASS SCLASS CARD DEV SUBDEV ]
|
||||
@args.CLASS {
|
||||
type integer
|
||||
default {
|
||||
@func refer
|
||||
name defaults.timer.class
|
||||
}
|
||||
}
|
||||
@args.SCLASS {
|
||||
type integer
|
||||
default {
|
||||
@func refer
|
||||
name defaults.timer.sclass
|
||||
}
|
||||
}
|
||||
@args.CARD {
|
||||
type string
|
||||
default {
|
||||
@func refer
|
||||
name defaults.timer.card
|
||||
}
|
||||
}
|
||||
@args.DEV {
|
||||
type integer
|
||||
default {
|
||||
@func refer
|
||||
name defaults.timer.device
|
||||
}
|
||||
}
|
||||
@args.SUBDEV {
|
||||
type integer
|
||||
default {
|
||||
@func refer
|
||||
name defaults.timer.subdevice
|
||||
}
|
||||
}
|
||||
type hw
|
||||
class $CLASS
|
||||
sclass $SCLASS
|
||||
card $CARD
|
||||
device $DEV
|
||||
subdevice $SUBDEV
|
||||
hint {
|
||||
description "Direct timer device"
|
||||
device $DEV
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
#
|
||||
# ALSA library configuration for ARM AACI Primecell PL-041
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
AACI.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
|
||||
<confdir:pcm/surround40.conf>
|
||||
|
||||
AACI.pcm.surround40.0 "cards.AACI.pcm.front.0"
|
||||
|
||||
<confdir:pcm/surround51.conf>
|
||||
|
||||
AACI.pcm.surround51.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type multi
|
||||
slaves [
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.AACI.pcm.front.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 6
|
||||
}
|
||||
]
|
||||
bindings [
|
||||
{ slave 0 channel 0 }
|
||||
{ slave 0 channel 1 }
|
||||
{ slave 0 channel 3 }
|
||||
{ slave 0 channel 4 }
|
||||
{ slave 0 channel 2 }
|
||||
{ slave 0 channel 5 }
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
#
|
||||
# Configuration for the ATI IXP 150/200/250 modem controllers
|
||||
#
|
||||
|
||||
<confdir:pcm/modem.conf>
|
||||
|
||||
ATIIXP-MODEM.pcm.modem.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type route
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
slave.channels 2
|
||||
slave.format S16_LE
|
||||
ttable.0.1 1
|
||||
ttable.1.0 0
|
||||
hint.show off
|
||||
}
|
||||
@@ -0,0 +1,166 @@
|
||||
#
|
||||
# Configuration for the ATI IXP 150/200/250 chips
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
ATIIXP-SPDMA.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
|
||||
# default with dmix/dsnoop
|
||||
ATIIXP.pcm.default {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type asym
|
||||
playback.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dmix:" $CARD ]
|
||||
}
|
||||
}
|
||||
capture.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dsnoop:" $CARD ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/surround40.conf>
|
||||
|
||||
ATIIXP-SPDMA.pcm.surround40.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
channels 4
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "Channel Mode"
|
||||
preserve true
|
||||
value "4ch"
|
||||
lock true
|
||||
optional true
|
||||
}
|
||||
# for old drivers
|
||||
{
|
||||
name "Line-In As Surround"
|
||||
preserve true
|
||||
value true
|
||||
optional true
|
||||
}
|
||||
{
|
||||
name "Surround Down Mix"
|
||||
preserve true
|
||||
value off
|
||||
lock true
|
||||
optional true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/surround21.conf>
|
||||
<confdir:pcm/surround41.conf>
|
||||
<confdir:pcm/surround50.conf>
|
||||
<confdir:pcm/surround51.conf>
|
||||
|
||||
ATIIXP-SPDMA.pcm.surround51.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
channels 6
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "Channel Mode"
|
||||
preserve true
|
||||
value "6ch"
|
||||
lock true
|
||||
optional true
|
||||
}
|
||||
# for old drivers
|
||||
{
|
||||
name "Line-In As Surround"
|
||||
preserve true
|
||||
value true
|
||||
optional true
|
||||
}
|
||||
{
|
||||
name "Mic As Center/LFE"
|
||||
preserve true
|
||||
value true
|
||||
optional true
|
||||
}
|
||||
{
|
||||
name "Surround Down Mix"
|
||||
preserve true
|
||||
value off
|
||||
lock true
|
||||
optional true
|
||||
}
|
||||
{
|
||||
name "Center/LFE Down Mix"
|
||||
preserve true
|
||||
value off
|
||||
lock true
|
||||
optional true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/iec958.conf>
|
||||
|
||||
ATIIXP-SPDMA.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 iec958
|
||||
slave {
|
||||
pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 1
|
||||
}
|
||||
format IEC958_SUBFRAME_LE
|
||||
}
|
||||
status [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
@@ -0,0 +1,185 @@
|
||||
#
|
||||
# Configuration for the ATI IXP 150/200/250 chips
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
ATIIXP.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
|
||||
# default with dmix/dsnoop
|
||||
ATIIXP.pcm.default {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type asym
|
||||
playback.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dmix:" $CARD ]
|
||||
}
|
||||
}
|
||||
capture.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dsnoop:" $CARD ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/surround40.conf>
|
||||
|
||||
ATIIXP.pcm.surround40.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
channels 4
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "Channel Mode"
|
||||
preserve true
|
||||
value "4ch"
|
||||
lock true
|
||||
optional true
|
||||
}
|
||||
# for old drivers
|
||||
{
|
||||
name "Line-In As Surround"
|
||||
preserve true
|
||||
value true
|
||||
optional true
|
||||
}
|
||||
{
|
||||
name "Surround Down Mix"
|
||||
preserve true
|
||||
value off
|
||||
lock true
|
||||
optional true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/surround21.conf>
|
||||
<confdir:pcm/surround41.conf>
|
||||
<confdir:pcm/surround50.conf>
|
||||
<confdir:pcm/surround51.conf>
|
||||
|
||||
ATIIXP.pcm.surround51.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
channels 6
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "Channel Mode"
|
||||
preserve true
|
||||
value "6ch"
|
||||
lock true
|
||||
optional true
|
||||
}
|
||||
# for old drivers
|
||||
{
|
||||
name "Line-In As Surround"
|
||||
preserve true
|
||||
value true
|
||||
optional true
|
||||
}
|
||||
{
|
||||
name "Mic As Center/LFE"
|
||||
preserve true
|
||||
value true
|
||||
optional true
|
||||
}
|
||||
{
|
||||
name "Surround Down Mix"
|
||||
preserve true
|
||||
value off
|
||||
lock true
|
||||
optional true
|
||||
}
|
||||
{
|
||||
name "Center/LFE Down Mix"
|
||||
preserve true
|
||||
value off
|
||||
lock true
|
||||
optional true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/iec958.conf>
|
||||
|
||||
ATIIXP.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 1
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "IEC958 Playback AC97-SPSA"
|
||||
lock true
|
||||
preserve true
|
||||
value 3
|
||||
}
|
||||
{
|
||||
name "IEC958 Playback Default"
|
||||
lock true
|
||||
preserve true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
{
|
||||
name "IEC958 Playback Switch"
|
||||
lock true
|
||||
preserve true
|
||||
value true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
#
|
||||
# Configuration for the AU8810 chip
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
AU8810.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
|
||||
<confdir:pcm/iec958.conf>
|
||||
|
||||
AU8810.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 hw
|
||||
card $CARD
|
||||
device 1
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
#
|
||||
# Configuration for the AU8820 chip
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
AU8820.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
#
|
||||
# Configuration for the AU8830 chip
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
AU8830.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
|
||||
<confdir:pcm/surround40.conf>
|
||||
|
||||
AU8830.pcm.surround40.0 "cards.AU8830.pcm.front.0"
|
||||
|
||||
<confdir:pcm/iec958.conf>
|
||||
|
||||
AU8830.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 hw
|
||||
card $CARD
|
||||
device 1
|
||||
}
|
||||
@@ -0,0 +1,322 @@
|
||||
#
|
||||
# Configuration for the Audigy chip
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
Audigy.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
chmap [ "UNKNOWN" "FL,FR" ]
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
interface PCM
|
||||
name "EMU10K1 PCM Send Volume"
|
||||
index { @func private_pcm_subdevice }
|
||||
lock true
|
||||
optional true
|
||||
value [ 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 ]
|
||||
}
|
||||
{
|
||||
# for compatibility with older drivers
|
||||
name "EMU10K1 PCM Send Volume"
|
||||
index { @func private_pcm_subdevice }
|
||||
lock true
|
||||
optional true
|
||||
value [ 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 ]
|
||||
}
|
||||
{
|
||||
interface PCM
|
||||
name "EMU10K1 PCM Send Routing"
|
||||
index { @func private_pcm_subdevice }
|
||||
lock true
|
||||
optional true
|
||||
value [ 8 9 0 0 0 0 0 0 8 9 0 0 0 0 0 0 8 9 0 0 0 0 0 0 ]
|
||||
}
|
||||
{
|
||||
# for compatibility with older drivers
|
||||
name "EMU10K1 PCM Send Routing"
|
||||
index { @func private_pcm_subdevice }
|
||||
lock true
|
||||
optional true
|
||||
value [ 8 9 0 0 0 0 0 0 8 9 0 0 0 0 0 0 8 9 0 0 0 0 0 0 ]
|
||||
}
|
||||
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/rear.conf>
|
||||
|
||||
Audigy.pcm.rear.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
chmap [ "UNKNOWN" "RL,RR" ]
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
interface PCM
|
||||
name "EMU10K1 PCM Send Volume"
|
||||
index { @func private_pcm_subdevice }
|
||||
lock true
|
||||
optional true
|
||||
value [ 0 0 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 ]
|
||||
}
|
||||
{
|
||||
# for compatibility with older drivers
|
||||
name "EMU10K1 PCM Send Volume"
|
||||
index { @func private_pcm_subdevice }
|
||||
lock true
|
||||
optional true
|
||||
value [ 0 0 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/center_lfe.conf>
|
||||
|
||||
Audigy.pcm.center_lfe.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
chmap [ "UNKNOWN" "FC,LFE" ]
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
interface PCM
|
||||
name "EMU10K1 PCM Send Volume"
|
||||
index { @func private_pcm_subdevice }
|
||||
lock true
|
||||
optional true
|
||||
value [ 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 ]
|
||||
}
|
||||
{
|
||||
# for compatibility with older drivers
|
||||
name "EMU10K1 PCM Send Volume"
|
||||
index { @func private_pcm_subdevice }
|
||||
lock true
|
||||
optional true
|
||||
value [ 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 ]
|
||||
}
|
||||
{
|
||||
interface PCM
|
||||
name "EMU10K1 PCM Send Routing"
|
||||
index { @func private_pcm_subdevice }
|
||||
lock true
|
||||
optional true
|
||||
value [ 6 7 0 0 0 0 0 0 6 7 0 0 0 0 0 0 6 7 0 0 0 0 0 0 ]
|
||||
}
|
||||
{
|
||||
# for compatibility with older drivers
|
||||
name "EMU10K1 PCM Send Routing"
|
||||
index { @func private_pcm_subdevice }
|
||||
lock true
|
||||
optional true
|
||||
value [ 6 7 0 0 0 0 0 0 6 7 0 0 0 0 0 0 6 7 0 0 0 0 0 0 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/surround21.conf>
|
||||
<confdir:pcm/surround40.conf>
|
||||
<confdir:pcm/surround41.conf>
|
||||
<confdir:pcm/surround50.conf>
|
||||
|
||||
Audigy.pcm.surround40.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type multi
|
||||
slaves [
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.Audigy.pcm.front.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.Audigy.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>
|
||||
|
||||
Audigy.pcm.surround51.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type multi
|
||||
slaves [
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.Audigy.pcm.front.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.Audigy.pcm.rear.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.Audigy.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>
|
||||
|
||||
Audigy.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
|
||||
}
|
||||
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
interface PCM
|
||||
name "IEC958 Playback Default"
|
||||
lock true
|
||||
preserve true
|
||||
optional true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
{
|
||||
# for compatibility with older drivers
|
||||
name "IEC958 Playback Default"
|
||||
lock true
|
||||
preserve true
|
||||
optional true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
{
|
||||
name "IEC958 Optical Raw Playback Switch"
|
||||
lock true
|
||||
preserve true
|
||||
value [ 1 1 ]
|
||||
}
|
||||
{
|
||||
interface PCM
|
||||
name "EMU10K1 PCM Send Volume"
|
||||
index { @func private_pcm_subdevice }
|
||||
lock true
|
||||
optional true
|
||||
value [ 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 ]
|
||||
}
|
||||
{
|
||||
# for compatibility with older drivers
|
||||
name "EMU10K1 PCM Send Volume"
|
||||
index { @func private_pcm_subdevice }
|
||||
lock true
|
||||
optional true
|
||||
value [ 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 ]
|
||||
}
|
||||
{
|
||||
interface PCM
|
||||
name "EMU10K1 PCM Send Routing"
|
||||
index { @func private_pcm_subdevice }
|
||||
lock true
|
||||
optional true
|
||||
value [ 20 21 0 0 0 0 0 0 20 21 0 0 0 0 0 0 20 21 0 0 0 0 0 0 ]
|
||||
}
|
||||
{
|
||||
# for compatibility with older drivers
|
||||
name "EMU10K1 PCM Send Routing"
|
||||
index { @func private_pcm_subdevice }
|
||||
lock true
|
||||
optional true
|
||||
value [ 20 21 0 0 0 0 0 0 20 21 0 0 0 0 0 0 20 21 0 0 0 0 0 0 ]
|
||||
}
|
||||
{
|
||||
name "Audigy Analog/Digital Output Jack"
|
||||
lock true
|
||||
preserve true
|
||||
value 1
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,430 @@
|
||||
#
|
||||
# Configuration for the Audigy2 chip
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
Audigy2.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
chmap [ "UNKNOWN" "FL,FR" ]
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
interface PCM
|
||||
name "EMU10K1 PCM Send Volume"
|
||||
index { @func private_pcm_subdevice }
|
||||
lock true
|
||||
optional true
|
||||
value [ 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 ]
|
||||
}
|
||||
{
|
||||
# for compatibility with older drivers
|
||||
name "EMU10K1 PCM Send Volume"
|
||||
index { @func private_pcm_subdevice }
|
||||
lock true
|
||||
optional true
|
||||
value [ 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 ]
|
||||
}
|
||||
{
|
||||
interface PCM
|
||||
name "EMU10K1 PCM Send Routing"
|
||||
index { @func private_pcm_subdevice }
|
||||
lock true
|
||||
optional true
|
||||
value [ 8 9 0 0 0 0 0 0 8 9 0 0 0 0 0 0 8 9 0 0 0 0 0 0 ]
|
||||
}
|
||||
{
|
||||
# for compatibility with older drivers
|
||||
name "EMU10K1 PCM Send Routing"
|
||||
index { @func private_pcm_subdevice }
|
||||
lock true
|
||||
optional true
|
||||
value [ 8 9 0 0 0 0 0 0 8 9 0 0 0 0 0 0 8 9 0 0 0 0 0 0 ]
|
||||
}
|
||||
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/rear.conf>
|
||||
|
||||
Audigy2.pcm.rear.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
chmap [ "UNKNOWN" "RL,RR" ]
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
interface PCM
|
||||
name "EMU10K1 PCM Send Volume"
|
||||
index { @func private_pcm_subdevice }
|
||||
lock true
|
||||
optional true
|
||||
value [ 0 0 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 ]
|
||||
}
|
||||
{
|
||||
# for compatibility with older drivers
|
||||
name "EMU10K1 PCM Send Volume"
|
||||
index { @func private_pcm_subdevice }
|
||||
lock true
|
||||
optional true
|
||||
value [ 0 0 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/center_lfe.conf>
|
||||
|
||||
Audigy2.pcm.center_lfe.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
chmap [ "UNKNOWN" "FC,LFE" ]
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
interface PCM
|
||||
name "EMU10K1 PCM Send Volume"
|
||||
index { @func private_pcm_subdevice }
|
||||
lock true
|
||||
optional true
|
||||
value [ 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 ]
|
||||
}
|
||||
{
|
||||
# for compatibility with older drivers
|
||||
name "EMU10K1 PCM Send Volume"
|
||||
index { @func private_pcm_subdevice }
|
||||
lock true
|
||||
optional true
|
||||
value [ 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 ]
|
||||
}
|
||||
{
|
||||
interface PCM
|
||||
name "EMU10K1 PCM Send Routing"
|
||||
index { @func private_pcm_subdevice }
|
||||
lock true
|
||||
optional true
|
||||
value [ 6 7 0 0 0 0 0 0 6 7 0 0 0 0 0 0 6 7 0 0 0 0 0 0 ]
|
||||
}
|
||||
{
|
||||
# for compatibility with older drivers
|
||||
name "EMU10K1 PCM Send Routing"
|
||||
index { @func private_pcm_subdevice }
|
||||
lock true
|
||||
optional true
|
||||
value [ 6 7 0 0 0 0 0 0 6 7 0 0 0 0 0 0 6 7 0 0 0 0 0 0 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/side.conf>
|
||||
|
||||
Audigy2.pcm.side.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
chmap [ "UNKNOWN" "SL,SR" ]
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
interface PCM
|
||||
name "EMU10K1 PCM Send Volume"
|
||||
index { @func private_pcm_subdevice }
|
||||
lock true
|
||||
optional true
|
||||
value [ 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 ]
|
||||
}
|
||||
{
|
||||
# for compatibility with older drivers
|
||||
name "EMU10K1 PCM Send Volume"
|
||||
index { @func private_pcm_subdevice }
|
||||
lock true
|
||||
optional true
|
||||
value [ 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 ]
|
||||
}
|
||||
{
|
||||
interface PCM
|
||||
name "EMU10K1 PCM Send Routing"
|
||||
index { @func private_pcm_subdevice }
|
||||
lock true
|
||||
optional true
|
||||
value [ 14 15 0 0 0 0 0 0 14 15 0 0 0 0 0 0 14 15 0 0 0 0 0 0 ]
|
||||
}
|
||||
{
|
||||
# for compatibility with older drivers
|
||||
name "EMU10K1 PCM Send Routing"
|
||||
index { @func private_pcm_subdevice }
|
||||
lock true
|
||||
optional true
|
||||
value [ 14 15 0 0 0 0 0 0 14 15 0 0 0 0 0 0 14 15 0 0 0 0 0 0 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/surround21.conf>
|
||||
<confdir:pcm/surround40.conf>
|
||||
<confdir:pcm/surround41.conf>
|
||||
<confdir:pcm/surround50.conf>
|
||||
|
||||
Audigy2.pcm.surround40.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type multi
|
||||
slaves [
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.Audigy2.pcm.front.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.Audigy2.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>
|
||||
|
||||
Audigy2.pcm.surround51.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type multi
|
||||
slaves [
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.Audigy2.pcm.front.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.Audigy2.pcm.rear.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.Audigy2.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/surround71.conf>
|
||||
|
||||
Audigy2.pcm.surround71.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type multi
|
||||
slaves [
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.Audigy2.pcm.front.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.Audigy2.pcm.rear.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.Audigy2.pcm.center_lfe.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.Audigy2.pcm.side.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 }
|
||||
{ slave 3 channel 0 }
|
||||
{ slave 3 channel 1 }
|
||||
]
|
||||
}
|
||||
|
||||
<confdir:pcm/iec958.conf>
|
||||
|
||||
Audigy2.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
|
||||
}
|
||||
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
interface PCM
|
||||
name "IEC958 Playback Default"
|
||||
preserve true
|
||||
optional true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
{
|
||||
# for compatibility with older drivers
|
||||
name "IEC958 Playback Default"
|
||||
preserve true
|
||||
optional true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
{
|
||||
name "IEC958 Optical Raw Playback Switch"
|
||||
lock true
|
||||
preserve true
|
||||
value [ 1 1 ]
|
||||
}
|
||||
{
|
||||
interface PCM
|
||||
name "EMU10K1 PCM Send Volume"
|
||||
index { @func private_pcm_subdevice }
|
||||
lock true
|
||||
optional true
|
||||
value [ 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 ]
|
||||
}
|
||||
{
|
||||
# for compatibility with older drivers
|
||||
name "EMU10K1 PCM Send Volume"
|
||||
index { @func private_pcm_subdevice }
|
||||
lock true
|
||||
optional true
|
||||
value [ 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 ]
|
||||
}
|
||||
{
|
||||
interface PCM
|
||||
name "EMU10K1 PCM Send Routing"
|
||||
index { @func private_pcm_subdevice }
|
||||
lock true
|
||||
optional true
|
||||
value [ 20 21 0 0 0 0 0 0 20 21 0 0 0 0 0 0 20 21 0 0 0 0 0 0 ]
|
||||
}
|
||||
{
|
||||
# for compatibility with older drivers
|
||||
name "EMU10K1 PCM Send Routing"
|
||||
index { @func private_pcm_subdevice }
|
||||
lock true
|
||||
optional true
|
||||
value [ 20 21 0 0 0 0 0 0 20 21 0 0 0 0 0 0 20 21 0 0 0 0 0 0 ]
|
||||
}
|
||||
{
|
||||
name "Audigy Analog/Digital Output Jack"
|
||||
lock true
|
||||
preserve true
|
||||
value 1
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,180 @@
|
||||
#
|
||||
# Configuration for the Aureon51 (Envy24HT) chip
|
||||
#
|
||||
|
||||
# default with dmix & dsnoop
|
||||
Aureon51.pcm.default {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type asym
|
||||
playback.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dmix:" $CARD ",FORMAT=S32_LE" ]
|
||||
}
|
||||
}
|
||||
capture.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dsnoop:" $CARD ",FORMAT=S32_LE" ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
Aureon51.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
|
||||
<confdir:pcm/rear.conf>
|
||||
|
||||
Aureon51.pcm.rear.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
device 2
|
||||
subdevice 1
|
||||
}
|
||||
|
||||
<confdir:pcm/center_lfe.conf>
|
||||
|
||||
Aureon51.pcm.center_lfe.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
device 2
|
||||
}
|
||||
|
||||
<confdir:pcm/side.conf>
|
||||
|
||||
Aureon51.pcm.side.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
device 2
|
||||
subdevice 2
|
||||
}
|
||||
|
||||
<confdir:pcm/surround40.conf>
|
||||
|
||||
Aureon51.pcm.surround40.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
channels 4
|
||||
}
|
||||
|
||||
<confdir:pcm/surround21.conf>
|
||||
<confdir:pcm/surround41.conf>
|
||||
<confdir:pcm/surround50.conf>
|
||||
<confdir:pcm/surround51.conf>
|
||||
|
||||
Aureon51.pcm.surround51.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
channels 6
|
||||
}
|
||||
|
||||
<confdir:pcm/iec958.conf>
|
||||
|
||||
Aureon51.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 asym
|
||||
playback.pcm {
|
||||
type linear
|
||||
slave.pcm {
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 1
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
interface MIXER
|
||||
name "IEC958 Output Switch"
|
||||
lock true
|
||||
preserve true
|
||||
value true
|
||||
}
|
||||
{
|
||||
interface PCM
|
||||
name "IEC958 Playback Default"
|
||||
device 1
|
||||
lock true
|
||||
preserve true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
slave.format S32_LE
|
||||
}
|
||||
capture.pcm {
|
||||
type linear
|
||||
slave.pcm {
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 1
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
interface MIXER
|
||||
name "IEC958 Capture Switch"
|
||||
lock true
|
||||
preserve true
|
||||
value true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
slave.format S32_LE
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,191 @@
|
||||
#
|
||||
# Configuration for the Aureon71 (Envy24HT) chip
|
||||
#
|
||||
|
||||
# default with dmix & dsnoop
|
||||
Aureon71.pcm.default {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type asym
|
||||
playback.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dmix:" $CARD ",FORMAT=S32_LE" ]
|
||||
}
|
||||
}
|
||||
capture.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dsnoop:" $CARD ",FORMAT=S32_LE" ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
Aureon71.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
|
||||
<confdir:pcm/rear.conf>
|
||||
|
||||
Aureon71.pcm.rear.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
device 2
|
||||
}
|
||||
|
||||
<confdir:pcm/center_lfe.conf>
|
||||
|
||||
Aureon71.pcm.center_lfe.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
device 2
|
||||
subdevice 1
|
||||
}
|
||||
|
||||
<confdir:pcm/side.conf>
|
||||
|
||||
Aureon71.pcm.side.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
device 2
|
||||
subdevice 2
|
||||
}
|
||||
|
||||
<confdir:pcm/surround40.conf>
|
||||
|
||||
Aureon71.pcm.surround40.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
channels 4
|
||||
}
|
||||
|
||||
<confdir:pcm/surround21.conf>
|
||||
<confdir:pcm/surround41.conf>
|
||||
<confdir:pcm/surround50.conf>
|
||||
<confdir:pcm/surround51.conf>
|
||||
|
||||
Aureon71.pcm.surround51.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
channels 6
|
||||
}
|
||||
|
||||
<confdir:pcm/surround71.conf>
|
||||
|
||||
Aureon71.pcm.surround71.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
|
||||
<confdir:pcm/iec958.conf>
|
||||
|
||||
Aureon71.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 asym
|
||||
playback.pcm {
|
||||
type linear
|
||||
slave.pcm {
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 1
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
interface MIXER
|
||||
name "IEC958 Output Switch"
|
||||
lock true
|
||||
preserve true
|
||||
value true
|
||||
}
|
||||
{
|
||||
interface PCM
|
||||
name "IEC958 Playback Default"
|
||||
device 1
|
||||
lock true
|
||||
preserve true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
slave.format S32_LE
|
||||
}
|
||||
capture.pcm {
|
||||
type linear
|
||||
slave.pcm {
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 1
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
interface MIXER
|
||||
name "IEC958 Capture Switch"
|
||||
lock true
|
||||
preserve true
|
||||
value true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
slave.format S32_LE
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,281 @@
|
||||
#
|
||||
# Configuration for the CA0106 chip
|
||||
#
|
||||
|
||||
# default with dmix & dsnoop
|
||||
CA0106.pcm.default {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type asym
|
||||
playback.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dmix:" $CARD ]
|
||||
}
|
||||
}
|
||||
capture.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dsnoop:" $CARD ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
CA0106.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
|
||||
<confdir:pcm/rear.conf>
|
||||
|
||||
CA0106.pcm.rear.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
device 1
|
||||
}
|
||||
|
||||
<confdir:pcm/center_lfe.conf>
|
||||
|
||||
CA0106.pcm.center_lfe.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
device 2
|
||||
}
|
||||
|
||||
<confdir:pcm/side.conf>
|
||||
|
||||
CA0106.pcm.side.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
device 3
|
||||
}
|
||||
|
||||
<confdir:pcm/surround40.conf>
|
||||
|
||||
CA0106.pcm.surround40.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type multi
|
||||
slaves [
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.CA0106.pcm.front.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.CA0106.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/surround21.conf>
|
||||
<confdir:pcm/surround41.conf>
|
||||
<confdir:pcm/surround50.conf>
|
||||
<confdir:pcm/surround51.conf>
|
||||
<confdir:pcm/surround71.conf>
|
||||
|
||||
CA0106.pcm.surround51.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type multi
|
||||
slaves [
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.CA0106.pcm.front.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.CA0106.pcm.rear.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.CA0106.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 }
|
||||
]
|
||||
}
|
||||
|
||||
CA0106.pcm.surround71.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type multi
|
||||
slaves [
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.CA0106.pcm.front.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.CA0106.pcm.rear.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.CA0106.pcm.center_lfe.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.CA0106.pcm.side.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 }
|
||||
{ slave 3 channel 0 }
|
||||
{ slave 3 channel 1 }
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
<confdir:pcm/iec958.conf>
|
||||
|
||||
CA0106.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
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "IEC958 Front Playback Volume"
|
||||
index 0
|
||||
lock true
|
||||
preserve true
|
||||
value [ 207 207 ] # Puts 0x30303030 in the Volume register. 0xff - 0x30 = 0xcf = 207
|
||||
}
|
||||
{
|
||||
name "IEC958 Playback Switch"
|
||||
lock true
|
||||
preserve true
|
||||
value 1
|
||||
}
|
||||
{
|
||||
interface PCM
|
||||
name "IEC958 Playback Default"
|
||||
index 1
|
||||
lock true
|
||||
preserve true
|
||||
optional true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
{
|
||||
# for compatibility with older drivers
|
||||
name "IEC958 Playback Default"
|
||||
index 1
|
||||
lock true
|
||||
preserve true
|
||||
optional true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,129 @@
|
||||
#
|
||||
# Configuration for the CMI8338/8738 chip (w/o multi-channel support)
|
||||
# using software IEC958 subframe conversion
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
CMI8338-SWIEC.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
|
||||
# default with dmix/dsnoop
|
||||
CMI8338-SWIEC.pcm.default {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type asym
|
||||
playback.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dmix:" $CARD ]
|
||||
}
|
||||
}
|
||||
capture.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dsnoop:" $CARD ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/rear.conf>
|
||||
|
||||
# 2nd DAC
|
||||
# FIXME: we need a volume attenuator for rear channel.
|
||||
CMI8338-SWIEC.pcm.rear.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
device 1
|
||||
}
|
||||
|
||||
<confdir:pcm/surround40.conf>
|
||||
|
||||
# for the old CM8738 with 2nd DAC for rear
|
||||
CMI8338-SWIEC.pcm.surround40.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type multi
|
||||
master 1
|
||||
slaves [
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.CMI8338-SWIEC.pcm.front.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.CMI8338-SWIEC.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>
|
||||
|
||||
CMI8338-SWIEC.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 asym
|
||||
playback.pcm {
|
||||
type iec958
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 2
|
||||
}
|
||||
status [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
preamble.z 3
|
||||
preamble.y 5
|
||||
preamble.x 9
|
||||
}
|
||||
capture.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 2
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,143 @@
|
||||
#
|
||||
# Configuration for the CMI8338/8738 chip (w/o multi-channel support)
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
CMI8338.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
|
||||
# default with dmix/dsnoop
|
||||
CMI8338.pcm.default {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type asym
|
||||
playback.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dmix:" $CARD ]
|
||||
}
|
||||
}
|
||||
capture.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dsnoop:" $CARD ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/rear.conf>
|
||||
|
||||
# 2nd DAC
|
||||
# FIXME: we need a volume attenuator for rear channel.
|
||||
CMI8338.pcm.rear.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
device 1
|
||||
}
|
||||
|
||||
<confdir:pcm/surround40.conf>
|
||||
|
||||
# for the old CM8738 with 2nd DAC for rear
|
||||
CMI8338.pcm.surround40.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type multi
|
||||
master 1
|
||||
slaves [
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.CMI8338.pcm.front.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.CMI8338.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>
|
||||
|
||||
CMI8338.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 asym
|
||||
playback.pcm {
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 2
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
interface PCM
|
||||
name "IEC958 Playback PCM Stream"
|
||||
device 2
|
||||
lock true
|
||||
preserve true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
{
|
||||
name "IEC958 Loop"
|
||||
lock true
|
||||
preserve true
|
||||
value off
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
capture.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 2
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,162 @@
|
||||
#
|
||||
# Configuration for the CMI8738 chip with 4/6 multi-channel support
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
CMI8738-MC6.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
|
||||
# default with dmix/dsnoop
|
||||
CMI8738-MC6.pcm.default {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type asym
|
||||
playback.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dmix:" $CARD ]
|
||||
}
|
||||
}
|
||||
capture.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dsnoop:" $CARD ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/rear.conf>
|
||||
|
||||
# 2nd DAC
|
||||
# FIXME: we need a volume attenuator for rear channel.
|
||||
CMI8738-MC6.pcm.rear.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
device 1
|
||||
}
|
||||
|
||||
<confdir:pcm/surround40.conf>
|
||||
|
||||
CMI8738-MC6.pcm.surround40.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 1
|
||||
channels 4
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "Four Channel Mode"
|
||||
lock true
|
||||
preserve true
|
||||
value false
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/surround21.conf>
|
||||
<confdir:pcm/surround41.conf>
|
||||
<confdir:pcm/surround50.conf>
|
||||
<confdir:pcm/surround51.conf>
|
||||
|
||||
CMI8738-MC6.pcm.surround51.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 1
|
||||
channels 6
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "Four Channel Mode"
|
||||
lock true
|
||||
preserve true
|
||||
value false
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/iec958.conf>
|
||||
|
||||
CMI8738-MC6.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 asym
|
||||
playback.pcm {
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 2
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
interface PCM
|
||||
name "IEC958 Playback PCM Stream"
|
||||
device 2
|
||||
lock true
|
||||
preserve true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
{
|
||||
name "IEC958 Loop"
|
||||
lock true
|
||||
preserve true
|
||||
value off
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
capture.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 2
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,231 @@
|
||||
#
|
||||
# Configuration for the CMI8768 chip with 8 multi-channel support
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
CMI8738-MC8.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type softvol
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
control {
|
||||
name "PCM Playback Volume"
|
||||
card $CARD
|
||||
}
|
||||
}
|
||||
|
||||
# default with dmix+softvol & dsnoop
|
||||
CMI8738-MC8.pcm.default {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type asym
|
||||
playback.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
type softvol
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dmix:" $CARD ]
|
||||
}
|
||||
control {
|
||||
name "PCM Playback Volume"
|
||||
card $CARD
|
||||
}
|
||||
}
|
||||
}
|
||||
capture.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dsnoop:" $CARD ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/rear.conf>
|
||||
|
||||
# 2nd DAC
|
||||
CMI8738-MC8.pcm.rear.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type softvol
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 1
|
||||
}
|
||||
control {
|
||||
name "PCM Playback Volume"
|
||||
card $CARD
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/surround40.conf>
|
||||
|
||||
CMI8738-MC8.pcm.surround40.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type softvol
|
||||
slave.pcm {
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 1
|
||||
channels 4
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "Four Channel Mode"
|
||||
lock true
|
||||
preserve true
|
||||
value false
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
control {
|
||||
name "PCM Playback Volume"
|
||||
card $CARD
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
<confdir:pcm/surround21.conf>
|
||||
<confdir:pcm/surround41.conf>
|
||||
<confdir:pcm/surround50.conf>
|
||||
<confdir:pcm/surround51.conf>
|
||||
|
||||
CMI8738-MC8.pcm.surround51.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type softvol
|
||||
slave.pcm {
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 1
|
||||
channels 6
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "Four Channel Mode"
|
||||
lock true
|
||||
preserve true
|
||||
value false
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
control {
|
||||
name "PCM Playback Volume"
|
||||
card $CARD
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/surround71.conf>
|
||||
|
||||
CMI8738-MC8.pcm.surround71.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type softvol
|
||||
slave.pcm {
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 1
|
||||
channels 8
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "Four Channel Mode"
|
||||
lock true
|
||||
preserve true
|
||||
value false
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
control {
|
||||
name "PCM Playback Volume"
|
||||
card $CARD
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/iec958.conf>
|
||||
|
||||
CMI8738-MC8.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 asym
|
||||
playback.pcm {
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 2
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
interface PCM
|
||||
name "IEC958 Playback PCM Stream"
|
||||
device 2
|
||||
lock true
|
||||
preserve true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
{
|
||||
name "IEC958 Loop"
|
||||
lock true
|
||||
preserve true
|
||||
value off
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
capture.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 2
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,126 @@
|
||||
#
|
||||
# Configuration for the CMI8788 chip
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
CMI8788.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
|
||||
# default with dmix & dsnoop
|
||||
CMI8788.pcm.default {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type asym
|
||||
playback.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dmix:" $CARD ",FORMAT=S32_LE" ]
|
||||
}
|
||||
}
|
||||
capture.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dsnoop:" $CARD ",FORMAT=S32_LE" ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/surround40.conf>
|
||||
|
||||
CMI8788.pcm.surround40.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
channels 4
|
||||
}
|
||||
|
||||
<confdir:pcm/surround21.conf>
|
||||
<confdir:pcm/surround41.conf>
|
||||
<confdir:pcm/surround50.conf>
|
||||
<confdir:pcm/surround51.conf>
|
||||
|
||||
CMI8788.pcm.surround51.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
channels 6
|
||||
}
|
||||
|
||||
<confdir:pcm/surround71.conf>
|
||||
|
||||
CMI8788.pcm.surround71.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
channels 8
|
||||
}
|
||||
|
||||
<confdir:pcm/iec958.conf>
|
||||
|
||||
CMI8788.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 asym
|
||||
playback.pcm {
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 1
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
interface PCM
|
||||
device 1
|
||||
name "IEC958 Playback PCM Stream"
|
||||
lock true
|
||||
preserve true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
capture.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 1
|
||||
}
|
||||
}
|
||||
|
||||
# vim: ft=alsaconf
|
||||
@@ -0,0 +1,219 @@
|
||||
#
|
||||
# Configuration for the CS46xx chip
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
CS46xx.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
|
||||
# default with plughw
|
||||
# CS46xx supports multi-playback
|
||||
CS46xx.pcm.default {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type asym
|
||||
playback.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "hw:" $CARD ]
|
||||
}
|
||||
}
|
||||
capture.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "hw:" $CARD ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/rear.conf>
|
||||
|
||||
CS46xx.pcm.rear.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 1
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "Duplicate Front"
|
||||
lock true
|
||||
preserve true
|
||||
value 0
|
||||
optional true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/center_lfe.conf>
|
||||
|
||||
CS46xx.pcm.center_lfe.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
device 3
|
||||
}
|
||||
|
||||
<confdir:pcm/surround40.conf>
|
||||
|
||||
CS46xx.pcm.surround40.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type multi
|
||||
slaves [
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.CS46xx.pcm.front.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.CS46xx.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/surround21.conf>
|
||||
<confdir:pcm/surround41.conf>
|
||||
<confdir:pcm/surround50.conf>
|
||||
<confdir:pcm/surround51.conf>
|
||||
|
||||
CS46xx.pcm.surround51.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type multi
|
||||
slaves [
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.CS46xx.pcm.front.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.CS46xx.pcm.rear.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.CS46xx.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>
|
||||
|
||||
CS46xx.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 [
|
||||
{
|
||||
name "IEC958 Output Switch"
|
||||
lock true
|
||||
preserve true
|
||||
value 1
|
||||
}
|
||||
{
|
||||
interface PCM
|
||||
name "IEC958 Playback PCM Stream"
|
||||
device 2
|
||||
lock true
|
||||
preserve true
|
||||
optional true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
{
|
||||
# for compatibility with older drivers
|
||||
interface PCM
|
||||
name "IEC958 Playback PCM Stream"
|
||||
lock true
|
||||
preserve true
|
||||
optional true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,329 @@
|
||||
#
|
||||
# Configuration for the EMU10K1 chip
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
EMU10K1.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type asym
|
||||
playback.pcm {
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
chmap [ "UNKNOWN" "FL,FR" ]
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
interface PCM
|
||||
name "EMU10K1 PCM Send Volume"
|
||||
index { @func private_pcm_subdevice }
|
||||
# lock true
|
||||
optional true
|
||||
value [ 255 255 0 0 255 0 0 0 0 255 0 0 ]
|
||||
}
|
||||
{
|
||||
# for compatibility with older drivers
|
||||
name "EMU10K1 PCM Send Volume"
|
||||
index { @func private_pcm_subdevice }
|
||||
# lock true
|
||||
optional true
|
||||
value [ 255 255 0 0 255 0 0 0 0 255 0 0 ]
|
||||
}
|
||||
{
|
||||
interface PCM
|
||||
name "EMU10K1 PCM Send Routing"
|
||||
index { @func private_pcm_subdevice }
|
||||
# lock true
|
||||
optional true
|
||||
value [ 8 9 0 0 8 9 0 0 8 9 0 0 ]
|
||||
}
|
||||
{
|
||||
# for compatibility with older drivers
|
||||
name "EMU10K1 PCM Send Routing"
|
||||
index { @func private_pcm_subdevice }
|
||||
# lock true
|
||||
optional true
|
||||
value [ 8 9 0 0 8 9 0 0 8 9 0 0 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
capture.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/rear.conf>
|
||||
|
||||
EMU10K1.pcm.rear.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type asym
|
||||
playback.pcm {
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
chmap [ "UNKNOWN" "RL,RR" ]
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
interface PCM
|
||||
name "EMU10K1 PCM Send Volume"
|
||||
index { @func private_pcm_subdevice }
|
||||
# lock true
|
||||
optional true
|
||||
value [ 0 0 255 255 0 0 255 0 0 0 0 255 ]
|
||||
}
|
||||
{
|
||||
# for compatibility with older drivers
|
||||
name "EMU10K1 PCM Send Volume"
|
||||
index { @func private_pcm_subdevice }
|
||||
# lock true
|
||||
optional true
|
||||
value [ 0 0 255 255 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 asym
|
||||
playback.pcm {
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
chmap [ "UNKNOWN" "FC,LFE" ]
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "Headphone Center Playback Switch"
|
||||
index 1
|
||||
preserve true
|
||||
# lock true
|
||||
optional true
|
||||
value true
|
||||
}
|
||||
{
|
||||
name "Headphone LFE Playback Switch"
|
||||
index 1
|
||||
preserve true
|
||||
# lock true
|
||||
optional true
|
||||
value true
|
||||
}
|
||||
# if you have a creative's digital receiver, you can get surround/center/lfe
|
||||
# output through the digital jack. so, the following is commented out.
|
||||
# pay attention in case of analog output from the shared center/digital
|
||||
# jack!
|
||||
# {
|
||||
# name "SB Live Analog/Digital Output Jack"
|
||||
# preserve true
|
||||
# lock true
|
||||
# value 0
|
||||
# }
|
||||
{
|
||||
interface PCM
|
||||
name "EMU10K1 PCM Send Volume"
|
||||
index { @func private_pcm_subdevice }
|
||||
# lock true
|
||||
optional true
|
||||
value [ 255 255 0 0 255 0 0 0 0 255 0 0 ]
|
||||
}
|
||||
{
|
||||
# for compatibility with older drivers
|
||||
name "EMU10K1 PCM Send Volume"
|
||||
index { @func private_pcm_subdevice }
|
||||
# lock true
|
||||
optional true
|
||||
value [ 255 255 0 0 255 0 0 0 0 255 0 0 ]
|
||||
}
|
||||
{
|
||||
interface PCM
|
||||
name "EMU10K1 PCM Send Routing"
|
||||
index { @func private_pcm_subdevice }
|
||||
# lock true
|
||||
optional true
|
||||
value [ 6 7 0 0 6 7 0 0 6 7 0 0 ]
|
||||
}
|
||||
{
|
||||
# for compatibility with older drivers
|
||||
name "EMU10K1 PCM Send Routing"
|
||||
index { @func private_pcm_subdevice }
|
||||
# lock true
|
||||
optional true
|
||||
value [ 6 7 0 0 6 7 0 0 6 7 0 0 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<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/surround21.conf>
|
||||
<confdir:pcm/surround41.conf>
|
||||
<confdir:pcm/surround50.conf>
|
||||
<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 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 Default"
|
||||
device 2
|
||||
lock true
|
||||
preserve true
|
||||
optional true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
{
|
||||
# for compatibility with older drivers
|
||||
name "IEC958 Playback Default"
|
||||
lock true
|
||||
preserve true
|
||||
optional true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
{
|
||||
name "IEC958 Optical Raw Playback Switch"
|
||||
lock true
|
||||
preserve true
|
||||
value [ 1 1 ]
|
||||
}
|
||||
{
|
||||
name "SB Live Analog/Digital Output Jack"
|
||||
lock true
|
||||
preserve true
|
||||
value 1
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,202 @@
|
||||
#
|
||||
# Configuration for the EMU10K1X chip
|
||||
#
|
||||
|
||||
# default with dmix & dsnoop
|
||||
EMU10K1X.pcm.default {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type asym
|
||||
playback.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dmix:" $CARD ]
|
||||
}
|
||||
}
|
||||
capture.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dsnoop:" $CARD ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
EMU10K1X.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
|
||||
<confdir:pcm/rear.conf>
|
||||
|
||||
EMU10K1X.pcm.rear.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
device 1
|
||||
}
|
||||
|
||||
<confdir:pcm/center_lfe.conf>
|
||||
|
||||
EMU10K1X.pcm.center_lfe.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
device 2
|
||||
}
|
||||
|
||||
<confdir:pcm/surround40.conf>
|
||||
|
||||
EMU10K1X.pcm.surround40.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type multi
|
||||
slaves [
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.EMU10K1X.pcm.front.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.EMU10K1X.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/surround21.conf>
|
||||
<confdir:pcm/surround41.conf>
|
||||
<confdir:pcm/surround50.conf>
|
||||
<confdir:pcm/surround51.conf>
|
||||
|
||||
EMU10K1X.pcm.surround51.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type multi
|
||||
slaves [
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.EMU10K1X.pcm.front.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.EMU10K1X.pcm.rear.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.EMU10K1X.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>
|
||||
|
||||
EMU10K1X.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
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "Analog/Digital Output Jack"
|
||||
lock true
|
||||
preserve true
|
||||
value 0
|
||||
}
|
||||
{
|
||||
interface PCM
|
||||
name "IEC958 Playback Default"
|
||||
index 0
|
||||
lock true
|
||||
preserve true
|
||||
optional true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
{
|
||||
# for compatibility with older drivers
|
||||
name "IEC958 Playback Default"
|
||||
index 0
|
||||
lock true
|
||||
preserve true
|
||||
optional true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,107 @@
|
||||
#
|
||||
# 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
|
||||
}
|
||||
|
||||
# default with dmix/dsnoop
|
||||
ENS1370.pcm.default {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type asym
|
||||
playback.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dmix:" $CARD ]
|
||||
}
|
||||
}
|
||||
capture.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dsnoop:" $CARD ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/rear.conf>
|
||||
|
||||
ENS1370.pcm.rear.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
interface CARD
|
||||
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 }
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,134 @@
|
||||
#
|
||||
# Configuration for the ENS1370 chip
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
ENS1371.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
|
||||
# default with dmix/dsnoop
|
||||
ENS1371.pcm.default {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type asym
|
||||
playback.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dmix:" $CARD ]
|
||||
}
|
||||
}
|
||||
capture.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dsnoop:" $CARD ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/rear.conf>
|
||||
|
||||
ENS1371.pcm.rear.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 1
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
interface MIXER
|
||||
name "AC97 2ch->4ch Copy Switch"
|
||||
lock true
|
||||
preserve true
|
||||
value 0
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/surround40.conf>
|
||||
|
||||
ENS1371.pcm.surround40.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type multi
|
||||
slaves [
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [ "cards.ENS1371.pcm.front.0:CARD=" $CARD ]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [ "cards.ENS1371.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>
|
||||
|
||||
ENS1371.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
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
interface PCM
|
||||
name "IEC958 Playback PCM Stream"
|
||||
lock true
|
||||
preserve true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
# configuration for ESS Maestro2
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
ES1968.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
@@ -0,0 +1,318 @@
|
||||
#
|
||||
# Configuration for the Echo3G driver
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
Echo_Echo3G.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
device 0
|
||||
subdevice 0
|
||||
}
|
||||
|
||||
<confdir:pcm/rear.conf>
|
||||
Echo_Echo3G.pcm.rear.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
device 0
|
||||
subdevice 4
|
||||
}
|
||||
|
||||
<confdir:pcm/center_lfe.conf>
|
||||
Echo_Echo3G.pcm.center_lfe.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
device 0
|
||||
subdevice 2
|
||||
}
|
||||
|
||||
<confdir:pcm/side.conf>
|
||||
Echo_Echo3G.pcm.side.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
device 0
|
||||
subdevice 6
|
||||
}
|
||||
|
||||
<confdir:pcm/surround40.conf>
|
||||
Echo_Echo3G.pcm.surround40.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type multi
|
||||
slaves [
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.Echo_Echo3G.pcm.front.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.Echo_Echo3G.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/surround41.conf>
|
||||
Echo_Echo3G.pcm.surround41.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type multi
|
||||
slaves [
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.Echo_Echo3G.pcm.front.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.Echo_Echo3G.pcm.rear.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.Echo_Echo3G.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 }
|
||||
]
|
||||
}
|
||||
|
||||
<confdir:pcm/surround50.conf>
|
||||
Echo_Echo3G.pcm.surround50.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type multi
|
||||
slaves [
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.Echo_Echo3G.pcm.front.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.Echo_Echo3G.pcm.rear.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.Echo_Echo3G.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 1 }
|
||||
]
|
||||
}
|
||||
|
||||
<confdir:pcm/surround51.conf>
|
||||
Echo_Echo3G.pcm.surround51.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type multi
|
||||
slaves [
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.Echo_Echo3G.pcm.front.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.Echo_Echo3G.pcm.rear.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.Echo_Echo3G.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/surround71.conf>
|
||||
Echo_Echo3G.pcm.surround71.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type multi
|
||||
slaves [
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.Echo_Echo3G.pcm.front.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.Echo_Echo3G.pcm.rear.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.Echo_Echo3G.pcm.center_lfe.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.Echo_Echo3G.pcm.side.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 }
|
||||
{ slave 3 channel 0 }
|
||||
{ slave 3 channel 1 }
|
||||
]
|
||||
}
|
||||
|
||||
<confdir:pcm/iec958.conf>
|
||||
Echo_Echo3G.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 1
|
||||
}
|
||||
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
interface PCM
|
||||
name "IEC958 Playback Default"
|
||||
preserve true
|
||||
optional true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
#
|
||||
# Configuration for the FM801 chip
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
FM801.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
|
||||
# default with dmix/dsnoop
|
||||
FM801.pcm.default {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type asym
|
||||
playback.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dmix:" $CARD ]
|
||||
}
|
||||
}
|
||||
capture.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dsnoop:" $CARD ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/surround40.conf>
|
||||
|
||||
FM801.pcm.surround40.0 "cards.FM801.pcm.front.0"
|
||||
|
||||
<confdir:pcm/surround21.conf>
|
||||
<confdir:pcm/surround41.conf>
|
||||
<confdir:pcm/surround50.conf>
|
||||
<confdir:pcm/surround51.conf>
|
||||
|
||||
FM801.pcm.surround51.0 "cards.FM801.pcm.front.0"
|
||||
|
||||
<confdir:pcm/iec958.conf>
|
||||
|
||||
FM801.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
|
||||
}
|
||||
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
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
#
|
||||
# Configuration for the LaCie Firewire speakers
|
||||
#
|
||||
|
||||
FWSpeakers.pcm.default {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dmix:" $CARD ",FORMAT=S32" ]
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
FWSpeakers.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
#
|
||||
# Configuration for the Griffin FireWave Surround
|
||||
#
|
||||
|
||||
FireWave.pcm.default {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dmix:" $CARD ",FORMAT=S32" ]
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
FireWave.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
|
||||
<confdir:pcm/surround21.conf>
|
||||
<confdir:pcm/surround41.conf>
|
||||
<confdir:pcm/surround50.conf>
|
||||
<confdir:pcm/surround51.conf>
|
||||
|
||||
FireWave.pcm.surround51.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type route
|
||||
ttable [
|
||||
[ 1 0 0 0 0 0 ]
|
||||
[ 0 1 0 0 0 0 ]
|
||||
[ 0 0 0 0 1 0 ]
|
||||
[ 0 0 0 0 0 1 ]
|
||||
[ 0 0 1 0 0 0 ]
|
||||
[ 0 0 0 1 0 0 ]
|
||||
]
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
#
|
||||
# Configuration for the GUS soundcards
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
GUS.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
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,412 @@
|
||||
#
|
||||
# Configuration for the Intel HD audio (ICH6/ICH7)
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
HDA-Intel.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type asym
|
||||
playback.pcm {
|
||||
type softvol
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
subdevice 0
|
||||
}
|
||||
control {
|
||||
name "PCM Playback Volume"
|
||||
card $CARD
|
||||
}
|
||||
}
|
||||
capture.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
}
|
||||
|
||||
# default with dmix+softvol & dsnoop
|
||||
HDA-Intel.pcm.default {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type asym
|
||||
playback.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
type softvol
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dmix:" $CARD ]
|
||||
}
|
||||
control {
|
||||
name "PCM Playback Volume"
|
||||
card $CARD
|
||||
}
|
||||
}
|
||||
}
|
||||
capture.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
type softvol
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dsnoop:" $CARD ]
|
||||
}
|
||||
control {
|
||||
name "Digital Capture Volume"
|
||||
card $CARD
|
||||
}
|
||||
min_dB -30.0
|
||||
max_dB 30.0
|
||||
resolution 121
|
||||
}
|
||||
# to avoid possible phase inversions with digital mics
|
||||
route_policy copy
|
||||
}
|
||||
hint.device 0
|
||||
}
|
||||
|
||||
<confdir:pcm/surround21.conf>
|
||||
<confdir:pcm/surround40.conf>
|
||||
<confdir:pcm/surround41.conf>
|
||||
<confdir:pcm/surround50.conf>
|
||||
<confdir:pcm/surround51.conf>
|
||||
<confdir:pcm/surround71.conf>
|
||||
|
||||
HDA-Intel.pcm.surround40.0 cards.HDA-Intel.pcm.front.0
|
||||
HDA-Intel.pcm.surround51.0 cards.HDA-Intel.pcm.front.0
|
||||
HDA-Intel.pcm.surround71.0 cards.HDA-Intel.pcm.front.0
|
||||
|
||||
<confdir:pcm/iec958.conf>
|
||||
|
||||
HDA-Intel.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 asym
|
||||
playback.pcm {
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 1
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "IEC958 Playback Default"
|
||||
index 16
|
||||
optional true
|
||||
lock true
|
||||
preserve true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
{
|
||||
name "IEC958 Playback Switch"
|
||||
index 16
|
||||
optional true
|
||||
value true
|
||||
# if this element is present, skip the rest
|
||||
skip_rest true
|
||||
}
|
||||
{
|
||||
name "IEC958 Playback Default"
|
||||
lock true
|
||||
preserve true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
{
|
||||
name "IEC958 Playback Switch"
|
||||
value true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
capture.pcm {
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 1
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "IEC958 Capture Switch"
|
||||
lock true
|
||||
preserve true
|
||||
value true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
hint.device 1
|
||||
}
|
||||
|
||||
<confdir:pcm/hdmi.conf>
|
||||
|
||||
HDA-Intel.pcm.hdmi.common {
|
||||
@args [ CARD DEVICE CTLINDEX AES0 AES1 AES2 AES3 ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
@args.DEVICE {
|
||||
type integer
|
||||
}
|
||||
@args.CTLINDEX {
|
||||
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 $DEVICE
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "IEC958 Playback Default"
|
||||
index $CTLINDEX
|
||||
lock true
|
||||
preserve true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
{
|
||||
name "IEC958 Playback Switch"
|
||||
index $CTLINDEX
|
||||
value true
|
||||
}
|
||||
]
|
||||
}
|
||||
hint.device $DEVICE
|
||||
}
|
||||
|
||||
HDA-Intel.pcm.hdmi.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 }
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.HDA-Intel.pcm.hdmi.common:"
|
||||
"CARD=" $CARD ","
|
||||
"DEVICE=3,"
|
||||
"CTLINDEX=0,"
|
||||
"AES0=" $AES0 ","
|
||||
"AES1=" $AES1 ","
|
||||
"AES2=" $AES2 ","
|
||||
"AES3=" $AES3
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
HDA-Intel.pcm.hdmi.1 {
|
||||
@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 }
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.HDA-Intel.pcm.hdmi.common:"
|
||||
"CARD=" $CARD ","
|
||||
"DEVICE=7,"
|
||||
"CTLINDEX=1,"
|
||||
"AES0=" $AES0 ","
|
||||
"AES1=" $AES1 ","
|
||||
"AES2=" $AES2 ","
|
||||
"AES3=" $AES3
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
HDA-Intel.pcm.hdmi.2 {
|
||||
@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 }
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.HDA-Intel.pcm.hdmi.common:"
|
||||
"CARD=" $CARD ","
|
||||
"DEVICE=8,"
|
||||
"CTLINDEX=2,"
|
||||
"AES0=" $AES0 ","
|
||||
"AES1=" $AES1 ","
|
||||
"AES2=" $AES2 ","
|
||||
"AES3=" $AES3
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
HDA-Intel.pcm.hdmi.3 {
|
||||
@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 }
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.HDA-Intel.pcm.hdmi.common:"
|
||||
"CARD=" $CARD ","
|
||||
"DEVICE=9,"
|
||||
"CTLINDEX=3,"
|
||||
"AES0=" $AES0 ","
|
||||
"AES1=" $AES1 ","
|
||||
"AES2=" $AES2 ","
|
||||
"AES3=" $AES3
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
HDA-Intel.pcm.hdmi.4 {
|
||||
@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 }
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.HDA-Intel.pcm.hdmi.common:"
|
||||
"CARD=" $CARD ","
|
||||
"DEVICE=10,"
|
||||
"CTLINDEX=4,"
|
||||
"AES0=" $AES0 ","
|
||||
"AES1=" $AES1 ","
|
||||
"AES2=" $AES2 ","
|
||||
"AES3=" $AES3
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
HDA-Intel.pcm.hdmi.5 {
|
||||
@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 }
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.HDA-Intel.pcm.hdmi.common:"
|
||||
"CARD=" $CARD ","
|
||||
"DEVICE=11,"
|
||||
"CTLINDEX=5,"
|
||||
"AES0=" $AES0 ","
|
||||
"AES1=" $AES1 ","
|
||||
"AES2=" $AES2 ","
|
||||
"AES3=" $AES3
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
HDA-Intel.pcm.hdmi.6 {
|
||||
@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 }
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.HDA-Intel.pcm.hdmi.common:"
|
||||
"CARD=" $CARD ","
|
||||
"DEVICE=12,"
|
||||
"CTLINDEX=6,"
|
||||
"AES0=" $AES0 ","
|
||||
"AES1=" $AES1 ","
|
||||
"AES2=" $AES2 ","
|
||||
"AES3=" $AES3
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
HDA-Intel.pcm.hdmi.7 {
|
||||
@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 }
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.HDA-Intel.pcm.hdmi.common:"
|
||||
"CARD=" $CARD ","
|
||||
"DEVICE=13,"
|
||||
"CTLINDEX=7,"
|
||||
"AES0=" $AES0 ","
|
||||
"AES1=" $AES1 ","
|
||||
"AES2=" $AES2 ","
|
||||
"AES3=" $AES3
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/modem.conf>
|
||||
|
||||
HDA-Intel.pcm.modem.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
device 6
|
||||
hint.show off
|
||||
}
|
||||
@@ -0,0 +1,118 @@
|
||||
#
|
||||
# Configuration for the Intel HDMI/DP LPE audio
|
||||
#
|
||||
|
||||
<confdir:pcm/hdmi.conf>
|
||||
|
||||
HdmiLpeAudio.pcm.hdmi.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
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
interface PCM
|
||||
name "IEC958 Playback Default"
|
||||
device 0
|
||||
lock true
|
||||
preserve true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
HdmiLpeAudio.pcm.hdmi.1 {
|
||||
@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 1
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
interface PCM
|
||||
name "IEC958 Playback Default"
|
||||
device 1
|
||||
lock true
|
||||
preserve true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
HdmiLpeAudio.pcm.hdmi.2 {
|
||||
@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 Default"
|
||||
device 2
|
||||
lock true
|
||||
preserve true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,180 @@
|
||||
#
|
||||
# Configuration for the ICE1712 (Envy24) chip
|
||||
#
|
||||
|
||||
# default with dmix & dsnoop
|
||||
ICE1712.pcm.default {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type asym
|
||||
playback.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dmix:" $CARD ",FORMAT=S32_LE" ]
|
||||
}
|
||||
}
|
||||
capture.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dsnoop:" $CARD ",FORMAT=S32_LE" ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
ICE1712.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type asym
|
||||
playback.pcm {
|
||||
type route
|
||||
ttable.0.0 1
|
||||
ttable.1.1 1
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
slave.channels 10
|
||||
}
|
||||
capture.pcm {
|
||||
type route
|
||||
ttable.0.0 1
|
||||
ttable.1.1 1
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
slave.channels 12
|
||||
}
|
||||
}
|
||||
|
||||
<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
|
||||
}
|
||||
slave.channels 10
|
||||
}
|
||||
|
||||
<confdir:pcm/surround21.conf>
|
||||
<confdir:pcm/surround41.conf>
|
||||
<confdir:pcm/surround50.conf>
|
||||
<confdir:pcm/surround51.conf>
|
||||
<confdir:pcm/surround71.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
|
||||
}
|
||||
slave.channels 10
|
||||
}
|
||||
|
||||
ICE1712.pcm.surround71.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
|
||||
ttable.6.6 1
|
||||
ttable.7.7 1
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
slave.channels 10
|
||||
}
|
||||
|
||||
<confdir:pcm/iec958.conf>
|
||||
|
||||
ICE1712.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 asym
|
||||
playback.pcm {
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type route
|
||||
ttable.0.8 1
|
||||
ttable.1.9 1
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
slave.format S32_LE
|
||||
slave.channels 10
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
interface PCM
|
||||
name "IEC958 Playback PCM Stream"
|
||||
lock true
|
||||
preserve true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
capture.pcm {
|
||||
type route
|
||||
ttable.0.8 1
|
||||
ttable.1.9 1
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
slave.format S32_LE
|
||||
slave.channels 12
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,225 @@
|
||||
#
|
||||
# Configuration for the ICE1724 (Envy24HT) chip
|
||||
#
|
||||
|
||||
# default with dmix & dsnoop
|
||||
ICE1724.pcm.default {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type asym
|
||||
playback.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dmix:" $CARD ",FORMAT=S32_LE" ]
|
||||
}
|
||||
}
|
||||
capture.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dsnoop:" $CARD ",FORMAT=S32_LE" ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
ICE1724.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
|
||||
<confdir:pcm/rear.conf>
|
||||
|
||||
ICE1724.pcm.rear.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
device 2
|
||||
subdevice 1
|
||||
}
|
||||
|
||||
<confdir:pcm/center_lfe.conf>
|
||||
|
||||
ICE1724.pcm.center_lfe.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
device 2
|
||||
}
|
||||
|
||||
<confdir:pcm/side.conf>
|
||||
|
||||
ICE1724.pcm.side.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
device 2
|
||||
subdevice 2
|
||||
}
|
||||
|
||||
<confdir:pcm/surround40.conf>
|
||||
|
||||
ICE1724.pcm.surround40.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type route
|
||||
ttable.0.0 1
|
||||
ttable.1.1 1
|
||||
ttable.2.4 1
|
||||
ttable.3.5 1
|
||||
slave {
|
||||
channels 6
|
||||
pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/surround21.conf>
|
||||
<confdir:pcm/surround41.conf>
|
||||
<confdir:pcm/surround50.conf>
|
||||
<confdir:pcm/surround51.conf>
|
||||
|
||||
ICE1724.pcm.surround51.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type route
|
||||
ttable.0.0 1
|
||||
ttable.1.1 1
|
||||
ttable.2.4 1
|
||||
ttable.3.5 1
|
||||
ttable.4.2 1
|
||||
ttable.5.3 1
|
||||
slave {
|
||||
channels 6
|
||||
pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/surround71.conf>
|
||||
|
||||
ICE1724.pcm.surround71.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type route
|
||||
ttable.0.0 1
|
||||
ttable.1.1 1
|
||||
ttable.2.4 1
|
||||
ttable.3.5 1
|
||||
ttable.4.2 1
|
||||
ttable.5.3 1
|
||||
ttable.6.6 1
|
||||
ttable.7.7 1
|
||||
slave {
|
||||
channels 8
|
||||
pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/iec958.conf>
|
||||
|
||||
ICE1724.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 asym
|
||||
playback.pcm {
|
||||
type linear
|
||||
slave.pcm {
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 1
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
interface MIXER
|
||||
name "IEC958 Output Switch"
|
||||
lock true
|
||||
preserve true
|
||||
value true
|
||||
}
|
||||
{
|
||||
interface PCM
|
||||
name "IEC958 Playback Default"
|
||||
device 1
|
||||
lock true
|
||||
preserve true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
slave.format S32_LE
|
||||
}
|
||||
capture.pcm {
|
||||
type linear
|
||||
slave.pcm {
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 1
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
interface MIXER
|
||||
name "IEC958 Capture Switch"
|
||||
lock true
|
||||
preserve true
|
||||
value true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
slave.format S32_LE
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
#
|
||||
# Configuration for the Intel/AMD modem controllers
|
||||
#
|
||||
|
||||
<confdir:pcm/modem.conf>
|
||||
|
||||
ICH-MODEM.pcm.modem.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
hint.show off
|
||||
}
|
||||
@@ -0,0 +1,223 @@
|
||||
#
|
||||
# Configuration for the Intel ICH/ICH2/ICH3 chips
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
ICH.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type softvol
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
control {
|
||||
name "PCM Playback Volume"
|
||||
card $CARD
|
||||
}
|
||||
}
|
||||
|
||||
# default with dmix+softvol & dsnoop
|
||||
ICH.pcm.default {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type asym
|
||||
playback.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
type softvol
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dmix:" $CARD ]
|
||||
}
|
||||
control {
|
||||
name "PCM Playback Volume"
|
||||
card $CARD
|
||||
}
|
||||
}
|
||||
}
|
||||
capture.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dsnoop:" $CARD ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/surround40.conf>
|
||||
|
||||
ICH.pcm.surround40.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type softvol
|
||||
slave.pcm {
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
channels 4
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "Channel Mode"
|
||||
preserve true
|
||||
value "4ch"
|
||||
lock true
|
||||
optional true
|
||||
}
|
||||
# for old drivers
|
||||
{
|
||||
name "Line-In As Surround"
|
||||
preserve true
|
||||
value true
|
||||
optional true
|
||||
}
|
||||
{
|
||||
name "Surround Down Mix"
|
||||
preserve true
|
||||
value off
|
||||
lock true
|
||||
optional true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
control {
|
||||
name "PCM Playback Volume"
|
||||
card $CARD
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/surround21.conf>
|
||||
<confdir:pcm/surround41.conf>
|
||||
<confdir:pcm/surround50.conf>
|
||||
<confdir:pcm/surround51.conf>
|
||||
|
||||
ICH.pcm.surround51.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type softvol
|
||||
slave.pcm {
|
||||
type route
|
||||
ttable.0.0 1
|
||||
ttable.1.1 1
|
||||
ttable.2.4 1
|
||||
ttable.3.5 1
|
||||
ttable.4.2 1
|
||||
ttable.5.3 1
|
||||
slave.pcm {
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
channels 6
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "Channel Mode"
|
||||
preserve true
|
||||
value "6ch"
|
||||
lock true
|
||||
optional true
|
||||
}
|
||||
# for old drivers
|
||||
{
|
||||
name "Line-In As Surround"
|
||||
preserve true
|
||||
value true
|
||||
optional true
|
||||
}
|
||||
{
|
||||
name "Mic As Center/LFE"
|
||||
preserve true
|
||||
value true
|
||||
optional true
|
||||
}
|
||||
{
|
||||
name "Surround Down Mix"
|
||||
preserve true
|
||||
value off
|
||||
lock true
|
||||
optional true
|
||||
}
|
||||
{
|
||||
name "Center/LFE Down Mix"
|
||||
preserve true
|
||||
value off
|
||||
lock true
|
||||
optional true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
slave.channels 6
|
||||
}
|
||||
control {
|
||||
name "PCM Playback Volume"
|
||||
card $CARD
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/iec958.conf>
|
||||
|
||||
ICH.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
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "IEC958 Playback AC97-SPSA"
|
||||
lock true
|
||||
preserve true
|
||||
value 0
|
||||
optional true
|
||||
}
|
||||
{
|
||||
name "IEC958 Playback Default"
|
||||
lock true
|
||||
preserve true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
{
|
||||
name "IEC958 Playback Switch"
|
||||
lock true
|
||||
preserve true
|
||||
value true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,214 @@
|
||||
#
|
||||
# Configuration for the Intel ICH4/ICH5/ICH6 chips
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
ICH4.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type softvol
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
control {
|
||||
name "PCM Playback Volume"
|
||||
card $CARD
|
||||
}
|
||||
}
|
||||
|
||||
# default with dmix+softvol & dsnoop
|
||||
ICH4.pcm.default {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type asym
|
||||
playback.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
type softvol
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dmix:" $CARD ]
|
||||
}
|
||||
control {
|
||||
name "PCM Playback Volume"
|
||||
card $CARD
|
||||
}
|
||||
}
|
||||
}
|
||||
capture.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dsnoop:" $CARD ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/surround40.conf>
|
||||
|
||||
ICH4.pcm.surround40.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type softvol
|
||||
slave.pcm {
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
channels 4
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "Channel Mode"
|
||||
preserve true
|
||||
value "4ch"
|
||||
lock true
|
||||
optional true
|
||||
}
|
||||
# for old drivers
|
||||
{
|
||||
name "Line-In As Surround"
|
||||
preserve true
|
||||
value true
|
||||
optional true
|
||||
}
|
||||
{
|
||||
name "Surround Down Mix"
|
||||
preserve true
|
||||
value off
|
||||
lock true
|
||||
optional true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
control {
|
||||
name "PCM Playback Volume"
|
||||
card $CARD
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/surround21.conf>
|
||||
<confdir:pcm/surround41.conf>
|
||||
<confdir:pcm/surround50.conf>
|
||||
<confdir:pcm/surround51.conf>
|
||||
|
||||
ICH4.pcm.surround51.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type softvol
|
||||
slave.pcm {
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
channels 6
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "Channel Mode"
|
||||
preserve true
|
||||
value "6ch"
|
||||
lock true
|
||||
optional true
|
||||
}
|
||||
# for old drivers
|
||||
{
|
||||
name "Line-In As Surround"
|
||||
preserve true
|
||||
value true
|
||||
optional true
|
||||
}
|
||||
{
|
||||
name "Mic As Center/LFE"
|
||||
preserve true
|
||||
value true
|
||||
optional true
|
||||
}
|
||||
{
|
||||
name "Surround Down Mix"
|
||||
preserve true
|
||||
value off
|
||||
lock true
|
||||
optional true
|
||||
}
|
||||
{
|
||||
name "Center/LFE Down Mix"
|
||||
preserve true
|
||||
value off
|
||||
lock true
|
||||
optional true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
control {
|
||||
name "PCM Playback Volume"
|
||||
card $CARD
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/iec958.conf>
|
||||
|
||||
ICH4.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 4
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "IEC958 Playback AC97-SPSA"
|
||||
lock true
|
||||
preserve true
|
||||
value 3
|
||||
optional true
|
||||
}
|
||||
{
|
||||
name "IEC958 Playback Default"
|
||||
lock true
|
||||
preserve true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
{
|
||||
name "IEC958 Playback Switch"
|
||||
lock true
|
||||
preserve true
|
||||
value true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
#
|
||||
# Configuration for the virtual loopback driver (snd-aloop)
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
Loopback.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type softvol
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
control {
|
||||
name "PCM Playback Volume"
|
||||
card $CARD
|
||||
}
|
||||
}
|
||||
|
||||
# default with dmix+softvol & dsnoop
|
||||
Loopback.pcm.default {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type asym
|
||||
playback.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
type softvol
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dmix:" $CARD ]
|
||||
}
|
||||
control {
|
||||
name "PCM Playback Volume"
|
||||
card $CARD
|
||||
}
|
||||
}
|
||||
}
|
||||
capture.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
type softvol
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dsnoop:" $CARD ]
|
||||
}
|
||||
control {
|
||||
name "Digital Capture Volume"
|
||||
card $CARD
|
||||
}
|
||||
min_dB -30.0
|
||||
max_dB 30.0
|
||||
resolution 121
|
||||
}
|
||||
# to avoid possible phase inversions with digital mics
|
||||
route_policy copy
|
||||
}
|
||||
hint.device 0
|
||||
}
|
||||
|
||||
<confdir:pcm/surround21.conf>
|
||||
<confdir:pcm/surround40.conf>
|
||||
<confdir:pcm/surround41.conf>
|
||||
<confdir:pcm/surround50.conf>
|
||||
<confdir:pcm/surround51.conf>
|
||||
<confdir:pcm/surround71.conf>
|
||||
|
||||
Loopback.pcm.surround40.0 cards.Loopback.pcm.front.0
|
||||
Loopback.pcm.surround51.0 cards.Loopback.pcm.front.0
|
||||
Loopback.pcm.surround71.0 cards.Loopback.pcm.front.0
|
||||
@@ -0,0 +1,38 @@
|
||||
# configuration for ESS Maestro3
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
Maestro3.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
|
||||
# default with dmix/dsnoop
|
||||
Maestro3.pcm.default {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type asym
|
||||
playback.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
# we need to specify device and subdevice numbers
|
||||
# for a device with multiple substreams
|
||||
@func concat
|
||||
strings [ "dmix:" $CARD ",0,0" ]
|
||||
}
|
||||
}
|
||||
capture.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dsnoop:" $CARD ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,296 @@
|
||||
#
|
||||
# Configuration for the nVIDIA nForce/2/3
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
NFORCE.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type softvol
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
control {
|
||||
name "PCM Playback Volume"
|
||||
card $CARD
|
||||
}
|
||||
}
|
||||
|
||||
# default with dmix+softvol & dsnoop
|
||||
NFORCE.pcm.default {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type asym
|
||||
playback.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
type softvol
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dmix:" $CARD ]
|
||||
}
|
||||
control {
|
||||
name "PCM Playback Volume"
|
||||
card $CARD
|
||||
}
|
||||
}
|
||||
}
|
||||
capture.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dsnoop:" $CARD ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/surround40.conf>
|
||||
|
||||
NFORCE.pcm.surround40.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type softvol
|
||||
slave.pcm {
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
channels 4
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "Channel Mode"
|
||||
preserve true
|
||||
value "4ch"
|
||||
lock true
|
||||
optional true
|
||||
}
|
||||
# for old drivers
|
||||
{
|
||||
name "Line-In As Surround"
|
||||
preserve true
|
||||
value true
|
||||
optional true
|
||||
}
|
||||
{
|
||||
name "Surround Down Mix"
|
||||
preserve true
|
||||
value off
|
||||
lock true
|
||||
optional true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
control {
|
||||
name "PCM Playback Volume"
|
||||
card $CARD
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/surround21.conf>
|
||||
<confdir:pcm/surround41.conf>
|
||||
<confdir:pcm/surround50.conf>
|
||||
<confdir:pcm/surround51.conf>
|
||||
|
||||
NFORCE.pcm.surround51.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type softvol
|
||||
slave.pcm {
|
||||
type route
|
||||
ttable.0.0 1
|
||||
ttable.1.1 1
|
||||
ttable.2.4 1
|
||||
ttable.3.5 1
|
||||
ttable.4.2 1
|
||||
ttable.5.3 1
|
||||
slave.pcm {
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
channels 6
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "Channel Mode"
|
||||
preserve true
|
||||
value "6ch"
|
||||
lock true
|
||||
optional true
|
||||
}
|
||||
# for old drivers
|
||||
{
|
||||
name "Line-In As Surround"
|
||||
preserve true
|
||||
value true
|
||||
optional true
|
||||
}
|
||||
{
|
||||
name "Mic As Center/LFE"
|
||||
preserve true
|
||||
value true
|
||||
optional true
|
||||
}
|
||||
{
|
||||
name "Surround Down Mix"
|
||||
preserve true
|
||||
value off
|
||||
lock true
|
||||
optional true
|
||||
}
|
||||
{
|
||||
name "Center/LFE Down Mix"
|
||||
preserve true
|
||||
value off
|
||||
lock true
|
||||
optional true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
slave.channels 6
|
||||
}
|
||||
control {
|
||||
name "PCM Playback Volume"
|
||||
card $CARD
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/surround71.conf>
|
||||
|
||||
NFORCE.pcm.surround71.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type softvol
|
||||
slave.pcm {
|
||||
type route
|
||||
ttable.0.0 1
|
||||
ttable.1.1 1
|
||||
ttable.2.4 1
|
||||
ttable.3.5 1
|
||||
ttable.4.2 1
|
||||
ttable.5.3 1
|
||||
ttable.6.6 1
|
||||
ttable.7.7 1
|
||||
slave.pcm {
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 0
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "Channel Mode"
|
||||
preserve true
|
||||
value "8ch"
|
||||
lock true
|
||||
optional true
|
||||
}
|
||||
# for old drivers
|
||||
{
|
||||
name "Line-In As Surround"
|
||||
preserve true
|
||||
value true
|
||||
optional true
|
||||
}
|
||||
{
|
||||
name "Mic As Center/LFE"
|
||||
preserve true
|
||||
value true
|
||||
optional true
|
||||
}
|
||||
{
|
||||
name "Surround Down Mix"
|
||||
preserve true
|
||||
value off
|
||||
lock true
|
||||
optional true
|
||||
}
|
||||
{
|
||||
name "Center/LFE Down Mix"
|
||||
preserve true
|
||||
value off
|
||||
lock true
|
||||
optional true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
slave.channels 8
|
||||
}
|
||||
control {
|
||||
name "PCM Playback Volume"
|
||||
card $CARD
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/iec958.conf>
|
||||
|
||||
NFORCE.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 [
|
||||
{
|
||||
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
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
#
|
||||
# Configuration for PC-Speaker driver
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
PC-Speaker.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type softvol
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
control {
|
||||
name "Master Playback Volume"
|
||||
card $CARD
|
||||
}
|
||||
min_dB -10.0
|
||||
max_dB 20.0
|
||||
}
|
||||
|
||||
# default with dmix & null
|
||||
PC-Speaker.pcm.default {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type asym
|
||||
playback.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
type softvol
|
||||
control {
|
||||
name "Master Playback Volume"
|
||||
card $CARD
|
||||
}
|
||||
min_dB -10.0
|
||||
max_dB 20.0
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dmix:" $CARD ]
|
||||
}
|
||||
}
|
||||
}
|
||||
capture.pcm {
|
||||
type null
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
#
|
||||
# Configuration for PMac
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
PMac.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
|
||||
# default with dmix/dsnoop
|
||||
PMac.pcm.default {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type asym
|
||||
playback.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dmix:CARD=" $CARD ",FORMAT=S16_BE" ]
|
||||
}
|
||||
}
|
||||
capture.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dsnoop:CARD=" $CARD ",FORMAT=S16_BE" ]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
#
|
||||
# Configuration for PMac Toonie
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
PMacToonie.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type softvol
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
control {
|
||||
name "PCM Playback Volume"
|
||||
card $CARD
|
||||
}
|
||||
}
|
||||
|
||||
# default with dmix+softvol & dsnoop
|
||||
PMacToonie.pcm.default {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type asym
|
||||
playback.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
type softvol
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dmix:CARD=" $CARD ",FORMAT=S16_BE" ]
|
||||
}
|
||||
control {
|
||||
name "PCM Playback Volume"
|
||||
card $CARD
|
||||
}
|
||||
}
|
||||
}
|
||||
capture.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dsnoop:CARD=" $CARD ",FORMAT=S16_BE" ]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,85 @@
|
||||
#
|
||||
# Configuration for PS3
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
PS3.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type softvol
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 0
|
||||
}
|
||||
control {
|
||||
name "PCM Playback Volume"
|
||||
card $CARD
|
||||
}
|
||||
}
|
||||
|
||||
# default with dmix+softvol
|
||||
PS3.pcm.default {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type asym
|
||||
playback.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
type softvol
|
||||
slave.pcm {
|
||||
@func concat
|
||||
#strings [ "dmix:CARD=" $CARD ]
|
||||
strings [ "dmix:CARD=" $CARD ",FORMAT=S16" ]
|
||||
}
|
||||
control {
|
||||
name "PCM Playback Volume"
|
||||
card $CARD
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/iec958.conf>
|
||||
|
||||
PS3.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
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
interface PCM
|
||||
name "IEC958 Playback Default"
|
||||
lock true
|
||||
preserve true
|
||||
optional true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
#
|
||||
# Configuration for the RME9636
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
RME9636.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
|
||||
# FIXME: This configuration is not valid for double-speed rates.
|
||||
|
||||
<confdir:pcm/iec958.conf>
|
||||
|
||||
RME9636.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 route
|
||||
slave {
|
||||
pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
channels 18
|
||||
}
|
||||
ttable.0.16 1
|
||||
ttable.1.17 1
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
interface PCM
|
||||
name "IEC958 Playback PCM Stream"
|
||||
lock true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
#
|
||||
# Configuration for the RME9652
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
RME9652.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
|
||||
# FIXME: This configuration is not valid for double-speed rates.
|
||||
|
||||
<confdir:pcm/iec958.conf>
|
||||
|
||||
RME9652.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 route
|
||||
slave {
|
||||
pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
channels 26
|
||||
}
|
||||
ttable.0.24 1
|
||||
ttable.1.25 1
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
interface PCM
|
||||
name "IEC958 Playback PCM Stream"
|
||||
lock true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,109 @@
|
||||
#
|
||||
# Configuration for the SB X-Fi driver
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
SB-XFi.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
device 0
|
||||
}
|
||||
|
||||
<confdir:pcm/rear.conf>
|
||||
|
||||
SB-XFi.pcm.rear.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
device 1
|
||||
hint.device 1
|
||||
}
|
||||
|
||||
<confdir:pcm/center_lfe.conf>
|
||||
|
||||
SB-XFi.pcm.center_lfe.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
device 2
|
||||
hint.device 2
|
||||
}
|
||||
|
||||
<confdir:pcm/side.conf>
|
||||
|
||||
SB-XFi.pcm.side.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
device 3
|
||||
hint.device 3
|
||||
}
|
||||
|
||||
<confdir:pcm/surround21.conf>
|
||||
<confdir:pcm/surround40.conf>
|
||||
<confdir:pcm/surround41.conf>
|
||||
<confdir:pcm/surround50.conf>
|
||||
<confdir:pcm/surround51.conf>
|
||||
<confdir:pcm/surround71.conf>
|
||||
|
||||
SB-XFi.pcm.surround40.0 cards.SB-XFi.pcm.front.0
|
||||
SB-XFi.pcm.surround51.0 cards.SB-XFi.pcm.front.0
|
||||
SB-XFi.pcm.surround71.0 cards.SB-XFi.pcm.front.0
|
||||
|
||||
<confdir:pcm/iec958.conf>
|
||||
|
||||
SB-XFi.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 asym
|
||||
playback.pcm {
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 4
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
interface PCM
|
||||
name "IEC958 Playback PCM Stream"
|
||||
device 4
|
||||
lock true
|
||||
preserve true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
hint.device 4
|
||||
}
|
||||
@@ -0,0 +1,169 @@
|
||||
#
|
||||
# Configuration for the SI7018 chip
|
||||
#
|
||||
# This configuration does not reflect hardware.
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
SI7018.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
chmap [ "UNKNOWN" "FL,FR" ]
|
||||
}
|
||||
|
||||
<confdir:pcm/rear.conf>
|
||||
|
||||
SI7018.pcm.rear.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
chmap [ "UNKNOWN" "RL,RR" ]
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "PCM Playback Volume"
|
||||
preserve true
|
||||
lock true
|
||||
value [ 24 24 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/surround40.conf>
|
||||
|
||||
SI7018.pcm.surround40.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type multi
|
||||
slaves [
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.SI7018.pcm.front.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.SI7018.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/surround21.conf>
|
||||
<confdir:pcm/surround41.conf>
|
||||
<confdir:pcm/surround50.conf>
|
||||
<confdir:pcm/surround51.conf>
|
||||
|
||||
SI7018.pcm.surround51.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type multi
|
||||
slaves [
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.SI7018.pcm.front.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.SI7018.pcm.rear.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.SI7018.pcm.front.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>
|
||||
|
||||
SI7018.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 1
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
interface PCM
|
||||
name "IEC958 Playback PCM Stream"
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
device 1
|
||||
lock true
|
||||
preserve true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
chmap [ "UNKNOWN" "FL,FR" ]
|
||||
}
|
||||
|
||||
<confdir:pcm/rear.conf>
|
||||
|
||||
TRID4DWAVENX.pcm.rear.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
chmap [ "UNKNOWN" "RL,RR" ]
|
||||
}
|
||||
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
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,498 @@
|
||||
#
|
||||
# USB-Audio.conf - configuration for USB Audio devices
|
||||
#
|
||||
#
|
||||
# DO NO EDIT; this is an internal ALSA file.
|
||||
# If you want to add your own definitions, put them into /etc/asound.conf or
|
||||
# ~/.asoundrc, with "cards." before the "USB-Audio", e.g.:
|
||||
#
|
||||
# cards.USB-Audio.pcm.use_dmix."NoiseBlaster 3000" no
|
||||
#
|
||||
# If your device requires such a definition to work correctly, please report it
|
||||
# to <alsa-devel@alsa-project.org>.
|
||||
|
||||
|
||||
# If a device has sample formats not supported by dmix, dmix can be disabled
|
||||
# here.
|
||||
USB-Audio.pcm.use_dmix {
|
||||
"AudioPhile" no # uses big-endian 24-bit samples
|
||||
"Audiophile USB (tm)" no
|
||||
}
|
||||
|
||||
# If a device does not have a four-channel mode for the front/rear outputs,
|
||||
# other modes can be selected here.
|
||||
# six_channels - for devices that route the last two of the four channels
|
||||
# to the center/LFE outputs
|
||||
# two_stereo_devices - for devices that have two stereo audio interfaces
|
||||
USB-Audio.pcm.surround40_type {
|
||||
"AudioPhile" two_stereo_devices
|
||||
"Audiophile USB (tm)" two_stereo_devices
|
||||
"OmniStudio" two_stereo_devices
|
||||
"Quattro" two_stereo_devices
|
||||
"SB Audigy 2 NX" six_channels
|
||||
"USB AudioSport Quattro (tm)" two_stereo_devices
|
||||
}
|
||||
|
||||
# If a device does not use the first PCM device for digital data, the device
|
||||
# number for the iec958 device can be changed here.
|
||||
USB-Audio.pcm.iec958_device {
|
||||
# "NoiseBlaster 3000" 42
|
||||
"USB Sound Blaster HD" 1
|
||||
"Xonar U7" 1
|
||||
"ASUS XONAR U5" 1
|
||||
"XONAR U5" 1
|
||||
"XONAR SOUND CARD" 1
|
||||
"Xonar SoundCard" 2
|
||||
|
||||
# The below don't have digital in/out, so prevent them from being opened.
|
||||
"Andrea PureAudio USB-SA Headset" 999
|
||||
"Blue Snowball" 999
|
||||
"C-Media USB Headphone Set" 999
|
||||
"HP Digital Stereo Headset" 999
|
||||
"GN 9330" 999
|
||||
"Logitech Speaker Lapdesk N700" 999
|
||||
"Logitech G35 Headset" 999
|
||||
"Logitech USB Headset" 999
|
||||
"Logitech USB Headset H540" 999
|
||||
"Logitech Wireless Headset" 999
|
||||
"Plantronics GameCom 780" 999
|
||||
"Plantronics USB Headset" 999
|
||||
"Plantronics Wireless Audio" 999
|
||||
"SB WoW Headset" 999
|
||||
"Scarlett 2i2 USB" 999
|
||||
"Scarlett 2i4 USB" 999
|
||||
"Sennheiser USB headset" 999
|
||||
"SWTOR Gaming Headset by Razer" 999
|
||||
"ThinkStation P620 Main" 999
|
||||
"ThinkStation P620 Rear" 999
|
||||
"Thunderbolt Dock Audio Headset" 999
|
||||
"Thunderbolt Dock Audio Module" 999
|
||||
"USB Device 0x46d_0x821" 999
|
||||
"USB Device 0x46d_0x992" 999
|
||||
"WD15 Dock" 999
|
||||
"WD19 Dock" 999
|
||||
}
|
||||
|
||||
# Second iec958 device number, if any.
|
||||
USB-Audio.pcm.iec958_2_device {
|
||||
"PHIREE U2" 1 # 0 = PCM S/PDIF, 1 = non-PCM S/PDIF
|
||||
"PHIREE U2SX" 1 # 0 = PCM S/PDIF, 1 = non-PCM S/PDIF
|
||||
}
|
||||
|
||||
|
||||
# If a device requires non-standard definitions for front, default, surround40,
|
||||
# surround51, surround71 or iec958, they can be defined here.
|
||||
|
||||
# M-Audio AudioPhile USB:
|
||||
# device 0: analog output, digital input
|
||||
# device 1: digital output, analog input
|
||||
USB-Audio."AudioPhile".pcm.default "cards.USB-Audio.Audiophile USB (tm).pcm.default"
|
||||
USB-Audio."Audiophile USB (tm)".pcm.default {
|
||||
@args [ CARD ]
|
||||
@args.CARD { type string }
|
||||
type asym
|
||||
playback.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 0
|
||||
}
|
||||
}
|
||||
capture.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dsnoop:DEV=1,CARD=" $CARD ]
|
||||
}
|
||||
}
|
||||
}
|
||||
USB-Audio."AudioPhile".pcm.iec958 "cards.USB-Audio.Audiophile USB (tm).pcm.iec958"
|
||||
USB-Audio."Audiophile USB (tm)".pcm.iec958 {
|
||||
@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 asym
|
||||
playback.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 1
|
||||
}
|
||||
capture.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 0
|
||||
}
|
||||
}
|
||||
|
||||
# For this card we can (and must to get IEC61937) set AES bits
|
||||
USB-Audio."MicroII".pcm.iec958 "cards.USB-Audio.Audio Advantage MicroII.pcm.iec958"
|
||||
USB-Audio."Audio Advantage MicroII".pcm.iec958 {
|
||||
@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
|
||||
}
|
||||
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
interface PCM
|
||||
name "IEC958 Playback Default"
|
||||
preserve true
|
||||
optional true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
{
|
||||
name "IEC958 Playback Switch"
|
||||
lock true
|
||||
preserve true
|
||||
value 1
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
################################################################################
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
USB-Audio.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD { type string }
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.USB-Audio."
|
||||
{ @func card_name card $CARD }
|
||||
".pcm.front:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
default {
|
||||
# We could use softvol, but the driver might have guessed a
|
||||
# wrong name for the real volume control.
|
||||
type hw
|
||||
card $CARD
|
||||
device 0
|
||||
}
|
||||
}
|
||||
|
||||
USB-Audio.pcm.default {
|
||||
@args [ CARD ]
|
||||
@args.CARD { type string }
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.USB-Audio."
|
||||
{ @func card_name card $CARD }
|
||||
".pcm.default:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
default {
|
||||
type asym
|
||||
playback.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.USB-Audio.pcm.default_playback_dmix_"
|
||||
{
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.USB-Audio.pcm.use_dmix."
|
||||
{ @func card_name card $CARD }
|
||||
]
|
||||
}
|
||||
default yes
|
||||
}
|
||||
":CARD=" $CARD
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
capture.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dsnoop:" $CARD ]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
USB-Audio.pcm.default_playback_dmix_yes {
|
||||
@args [ CARD ]
|
||||
@args.CARD { type string }
|
||||
@func concat
|
||||
strings [ "dmix:" $CARD ]
|
||||
}
|
||||
|
||||
USB-Audio.pcm.default_playback_dmix_no {
|
||||
@args [ CARD ]
|
||||
@args.CARD { type string }
|
||||
type hw
|
||||
card $CARD
|
||||
device 0
|
||||
}
|
||||
|
||||
<confdir:pcm/surround40.conf>
|
||||
|
||||
USB-Audio.pcm.surround40.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD { type string }
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.USB-Audio."
|
||||
{ @func card_name card $CARD }
|
||||
".pcm.surround40:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
default {
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.USB-Audio.pcm.surround40_"
|
||||
{
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.USB-Audio.pcm.surround40_type."
|
||||
{ @func card_name card $CARD }
|
||||
]
|
||||
}
|
||||
default default
|
||||
}
|
||||
":CARD=" $CARD
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
USB-Audio.pcm.surround40_default {
|
||||
@args [ CARD ]
|
||||
@args.CARD { type string }
|
||||
type hw
|
||||
card $CARD
|
||||
device 0
|
||||
}
|
||||
|
||||
USB-Audio.pcm.surround40_six_channels {
|
||||
@args [ CARD ]
|
||||
@args.CARD { type string }
|
||||
type route
|
||||
ttable.0.0 1
|
||||
ttable.1.1 1
|
||||
ttable.2.4 1
|
||||
ttable.3.5 1
|
||||
slave {
|
||||
pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 0
|
||||
}
|
||||
channels 6
|
||||
}
|
||||
}
|
||||
|
||||
USB-Audio.pcm.surround40_two_stereo_devices {
|
||||
@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 multi
|
||||
slaves {
|
||||
a {
|
||||
pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 0
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
b {
|
||||
pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 1
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
}
|
||||
bindings [
|
||||
{ slave a channel 0 }
|
||||
{ slave a channel 1 }
|
||||
{ slave b channel 0 }
|
||||
{ slave b channel 1 }
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/surround21.conf>
|
||||
<confdir:pcm/surround41.conf>
|
||||
<confdir:pcm/surround50.conf>
|
||||
<confdir:pcm/surround51.conf>
|
||||
|
||||
USB-Audio.pcm.surround51.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD { type string }
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.USB-Audio."
|
||||
{ @func card_name card $CARD }
|
||||
".pcm.surround51:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
default {
|
||||
type route
|
||||
ttable.0.0 1
|
||||
ttable.1.1 1
|
||||
ttable.2.4 1
|
||||
ttable.3.5 1
|
||||
ttable.4.2 1
|
||||
ttable.5.3 1
|
||||
slave {
|
||||
pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 0
|
||||
}
|
||||
channels 6
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/surround71.conf>
|
||||
|
||||
USB-Audio.pcm.surround71.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD { type string }
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.USB-Audio."
|
||||
{ @func card_name card $CARD }
|
||||
".pcm.surround71:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
default {
|
||||
type route
|
||||
ttable.0.0 1
|
||||
ttable.1.1 1
|
||||
ttable.2.4 1
|
||||
ttable.3.5 1
|
||||
ttable.4.2 1
|
||||
ttable.5.3 1
|
||||
ttable.6.6 1
|
||||
ttable.7.7 1
|
||||
slave {
|
||||
pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 0
|
||||
}
|
||||
channels 8
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/iec958.conf>
|
||||
|
||||
USB-Audio.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 }
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.USB-Audio."
|
||||
{ @func card_name card $CARD }
|
||||
".pcm.iec958:CARD=" $CARD
|
||||
",AES0=" $AES0 ",AES1=" $AES1 ",AES2=" $AES2 ",AES3=" $AES3
|
||||
]
|
||||
}
|
||||
default {
|
||||
# FIXME: we cannot set the AES parameters
|
||||
type hw
|
||||
card $CARD
|
||||
device {
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.USB-Audio.pcm.iec958_device."
|
||||
{ @func card_name card $CARD }
|
||||
]
|
||||
}
|
||||
default 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
USB-Audio.pcm.iec958.1 {
|
||||
@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 }
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.USB-Audio."
|
||||
{ @func card_name card $CARD }
|
||||
".pcm.iec958_2:CARD=" $CARD
|
||||
",AES0=" $AES0 ",AES1=" $AES1 ",AES2=" $AES2 ",AES3=" $AES3
|
||||
]
|
||||
}
|
||||
default {
|
||||
# FIXME: we cannot set the AES parameters
|
||||
type hw
|
||||
card $CARD
|
||||
device {
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.USB-Audio.pcm.iec958_2_device."
|
||||
{ @func card_name card $CARD }
|
||||
]
|
||||
}
|
||||
default 999
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# vim: ft=alsaconf
|
||||
@@ -0,0 +1,89 @@
|
||||
#
|
||||
# Configuration for the VIA686A chip
|
||||
#
|
||||
# SPDIF support is not complete - it might not work, especially with AC3
|
||||
# passthru mode...
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
VIA686A.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
|
||||
# default with dmix/dsnoop
|
||||
VIA686A.pcm.default {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type asym
|
||||
playback.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dmix:" $CARD ]
|
||||
}
|
||||
}
|
||||
capture.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dsnoop:" $CARD ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/iec958.conf>
|
||||
|
||||
VIA686A.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
|
||||
}
|
||||
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
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,201 @@
|
||||
#
|
||||
# Configuration for the VIA8233/VIA8233C/VIA8235 chip with 4/6 multi-channel support
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
VIA8233.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
|
||||
# default with softvol/dsnoop
|
||||
# VIA8233 supports multi-playback
|
||||
VIA8233.pcm.default {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type asym
|
||||
playback.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
type softvol
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
control {
|
||||
name "PCM Playback Volume"
|
||||
card $CARD
|
||||
}
|
||||
}
|
||||
}
|
||||
capture.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dsnoop:" $CARD ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/surround40.conf>
|
||||
|
||||
VIA8233.pcm.surround40.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 1
|
||||
channels 4
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "Channel Mode"
|
||||
preserve true
|
||||
value "4ch"
|
||||
lock true
|
||||
optional true
|
||||
}
|
||||
# for old drivers
|
||||
{
|
||||
name "Line-In As Surround"
|
||||
preserve true
|
||||
value true
|
||||
optional true
|
||||
}
|
||||
{
|
||||
name "Surround Down Mix"
|
||||
preserve true
|
||||
value off
|
||||
lock true
|
||||
optional true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/surround21.conf>
|
||||
<confdir:pcm/surround41.conf>
|
||||
<confdir:pcm/surround50.conf>
|
||||
<confdir:pcm/surround51.conf>
|
||||
|
||||
VIA8233.pcm.surround51.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 1
|
||||
channels 6
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "Channel Mode"
|
||||
preserve true
|
||||
value "6ch"
|
||||
lock true
|
||||
optional true
|
||||
}
|
||||
# for old drivers
|
||||
{
|
||||
name "Line-In As Surround"
|
||||
preserve true
|
||||
value true
|
||||
optional true
|
||||
}
|
||||
{
|
||||
name "Mic As Center/LFE"
|
||||
preserve true
|
||||
value true
|
||||
optional true
|
||||
}
|
||||
{
|
||||
name "Surround Down Mix"
|
||||
preserve true
|
||||
value off
|
||||
lock true
|
||||
optional true
|
||||
}
|
||||
{
|
||||
name "Center/LFE Down Mix"
|
||||
preserve true
|
||||
value off
|
||||
lock true
|
||||
optional true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/iec958.conf>
|
||||
|
||||
VIA8233.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
|
||||
subdevice 3
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "IEC958 Playback AC97-SPSA"
|
||||
lock true
|
||||
preserve true
|
||||
value 3
|
||||
}
|
||||
{
|
||||
name "IEC958 Playback Default"
|
||||
lock true
|
||||
preserve true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
{
|
||||
name "IEC958 Playback Switch"
|
||||
lock true
|
||||
preserve true
|
||||
value true
|
||||
}
|
||||
{
|
||||
name "IEC958 Output Switch"
|
||||
lock true
|
||||
preserve true
|
||||
value true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,205 @@
|
||||
#
|
||||
# Configuration for the VIA8233A chip with 4/6 multi-channel support
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
VIA8233A.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
|
||||
# default with dmix/dsnoop
|
||||
VIA8233A.pcm.default {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type asym
|
||||
playback.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dmix:" $CARD ]
|
||||
}
|
||||
}
|
||||
capture.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dsnoop:" $CARD ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/surround40.conf>
|
||||
|
||||
VIA8233A.pcm.surround40.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
channels 4
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "Swap Surround Slot"
|
||||
lock true
|
||||
preserve true
|
||||
value false
|
||||
optional true
|
||||
}
|
||||
{
|
||||
name "Channel Mode"
|
||||
preserve true
|
||||
value "4ch"
|
||||
lock true
|
||||
optional true
|
||||
}
|
||||
# for old drivers
|
||||
{
|
||||
name "Line-In As Surround"
|
||||
preserve true
|
||||
value true
|
||||
optional true
|
||||
}
|
||||
{
|
||||
name "Surround Down Mix"
|
||||
preserve true
|
||||
value off
|
||||
lock true
|
||||
optional true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/surround21.conf>
|
||||
<confdir:pcm/surround41.conf>
|
||||
<confdir:pcm/surround50.conf>
|
||||
<confdir:pcm/surround51.conf>
|
||||
|
||||
VIA8233A.pcm.surround51.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
channels 6
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "Swap Surround Slot"
|
||||
lock true
|
||||
preserve true
|
||||
value true
|
||||
optional true
|
||||
}
|
||||
{
|
||||
name "Channel Mode"
|
||||
preserve true
|
||||
value "6ch"
|
||||
lock true
|
||||
optional true
|
||||
}
|
||||
# for old drivers
|
||||
{
|
||||
name "Line-In As Surround"
|
||||
preserve true
|
||||
value true
|
||||
optional true
|
||||
}
|
||||
{
|
||||
name "Mic As Center/LFE"
|
||||
preserve true
|
||||
value true
|
||||
optional true
|
||||
}
|
||||
{
|
||||
name "Surround Down Mix"
|
||||
preserve true
|
||||
value off
|
||||
lock true
|
||||
optional true
|
||||
}
|
||||
{
|
||||
name "Center/LFE Down Mix"
|
||||
preserve true
|
||||
value off
|
||||
lock true
|
||||
optional true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/iec958.conf>
|
||||
|
||||
VIA8233A.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 1
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "IEC958 Playback AC97-SPSA"
|
||||
lock true
|
||||
preserve true
|
||||
value 3
|
||||
}
|
||||
{
|
||||
name "IEC958 Playback Default"
|
||||
lock true
|
||||
preserve true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
{
|
||||
name "IEC958 Playback Switch"
|
||||
lock true
|
||||
preserve true
|
||||
value true
|
||||
}
|
||||
{
|
||||
name "IEC958 Output Switch"
|
||||
lock true
|
||||
preserve true
|
||||
value true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,191 @@
|
||||
#
|
||||
# Configuration for the VIA8237 chip with 4/6 multi-channel support
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
VIA8237.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
|
||||
# default with softvol/dsnoop
|
||||
# VIA8237 supports multi-playback
|
||||
VIA8237.pcm.default {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type asym
|
||||
playback.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
type softvol
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
control {
|
||||
name "PCM Playback Volume"
|
||||
card $CARD
|
||||
}
|
||||
}
|
||||
}
|
||||
capture.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dsnoop:" $CARD ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/surround40.conf>
|
||||
|
||||
VIA8237.pcm.surround40.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 1
|
||||
channels 4
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "Channel Mode"
|
||||
preserve true
|
||||
value "4ch"
|
||||
lock true
|
||||
optional true
|
||||
}
|
||||
{
|
||||
name "Surround Down Mix"
|
||||
preserve true
|
||||
value off
|
||||
lock true
|
||||
optional true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/surround21.conf>
|
||||
<confdir:pcm/surround41.conf>
|
||||
<confdir:pcm/surround50.conf>
|
||||
<confdir:pcm/surround51.conf>
|
||||
|
||||
VIA8237.pcm.surround51.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type route
|
||||
ttable.0.0 1
|
||||
ttable.1.1 1
|
||||
ttable.2.4 1
|
||||
ttable.3.5 1
|
||||
ttable.4.2 1
|
||||
ttable.5.3 1
|
||||
slave.pcm {
|
||||
type hooks
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device 1
|
||||
channels 6
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "Channel Mode"
|
||||
preserve true
|
||||
value "6ch"
|
||||
lock true
|
||||
optional true
|
||||
}
|
||||
{
|
||||
name "Surround Down Mix"
|
||||
preserve true
|
||||
value off
|
||||
lock true
|
||||
optional true
|
||||
}
|
||||
{
|
||||
name "Center/LFE Down Mix"
|
||||
preserve true
|
||||
value off
|
||||
lock true
|
||||
optional true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
slave.channels 6
|
||||
}
|
||||
|
||||
<confdir:pcm/iec958.conf>
|
||||
|
||||
VIA8237.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
|
||||
subdevice 3
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "IEC958 Playback AC97-SPSA"
|
||||
lock true
|
||||
preserve true
|
||||
value 3
|
||||
}
|
||||
{
|
||||
name "IEC958 Playback Default"
|
||||
lock true
|
||||
preserve true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
{
|
||||
name "IEC958 Playback Switch"
|
||||
lock true
|
||||
preserve true
|
||||
value true
|
||||
}
|
||||
{
|
||||
name "IEC958 Output Switch"
|
||||
lock true
|
||||
preserve true
|
||||
value true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
#
|
||||
# Configuration for Digigram VX222
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
VX222.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
|
||||
<confdir:pcm/iec958.conf>
|
||||
|
||||
VX222.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
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
interface PCM
|
||||
name "IEC958 Playback Default"
|
||||
lock true
|
||||
preserve true
|
||||
optional true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
{
|
||||
# for compatibility with older drivers
|
||||
name "IEC958 Playback Default"
|
||||
lock true
|
||||
preserve true
|
||||
optional true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
#
|
||||
# Configuration for Digigram VXpocket
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
VXPocket.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
|
||||
<confdir:pcm/iec958.conf>
|
||||
|
||||
VXPocket.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
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
interface PCM
|
||||
name "IEC958 Playback Default"
|
||||
lock true
|
||||
preserve true
|
||||
optional true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
{
|
||||
# for compatibility with older drivers
|
||||
name "IEC958 Playback Default"
|
||||
lock true
|
||||
preserve true
|
||||
optional true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,110 @@
|
||||
#
|
||||
# Configuration for Digigram VXpocket440
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
VXPocket440.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
|
||||
<confdir:pcm/rear.conf>
|
||||
|
||||
VXPocket440.pcm.rear.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
device 1
|
||||
}
|
||||
|
||||
<confdir:pcm/surround40.conf>
|
||||
|
||||
VXPocket440.pcm.surround40.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type multi
|
||||
master 1
|
||||
slaves [
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.VXPocket440.pcm.front.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.VXPocket440.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>
|
||||
|
||||
VXPocket440.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
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
interface PCM
|
||||
name "IEC958 Playback Default"
|
||||
lock true
|
||||
preserve true
|
||||
optional true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
{
|
||||
# for compatibility with older drivers
|
||||
name "IEC958 Playback Default"
|
||||
lock true
|
||||
preserve true
|
||||
optional true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,108 @@
|
||||
#
|
||||
# Configuration for the YMF744 chip
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
YMF744.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
|
||||
<confdir:pcm/rear.conf>
|
||||
|
||||
YMF744.pcm.rear.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
device 2
|
||||
}
|
||||
|
||||
<confdir:pcm/surround40.conf>
|
||||
|
||||
YMF744.pcm.surround40.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type multi
|
||||
slaves [
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.YMF744.pcm.front.0:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
channels 2
|
||||
}
|
||||
{
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.YMF744.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>
|
||||
|
||||
YMF744.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 1
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "IEC958 Playback Switch"
|
||||
lock true
|
||||
preserve true
|
||||
value 1
|
||||
}
|
||||
{
|
||||
interface PCM
|
||||
name "IEC958 Playback PCM Stream"
|
||||
device 1
|
||||
lock true
|
||||
preserve true
|
||||
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
#
|
||||
# Define aliases for various drivers
|
||||
#
|
||||
|
||||
YMF724 cards.YMF744
|
||||
YMF724F cards.YMF744
|
||||
YMF740 cards.YMF744
|
||||
YMF740C cards.YMF744
|
||||
YMF754 cards.YMF744
|
||||
CMIPCI cards.CMI8338
|
||||
CMI8738 cards.CMI8338
|
||||
CMI8738-SWIEC cards.CMI8338-SWIEC
|
||||
CMI8738-MC4 cards.CMI8738-MC6
|
||||
'E-mu APS' cards.EMU10K1
|
||||
'GUS MAX' cards.GUS
|
||||
'GUS ACE' cards.GUS
|
||||
'GUS Extreme' cards.GUS
|
||||
'AMD InterWave' cards.GUS
|
||||
'Dynasonic 3-D' cards.GUS
|
||||
'InterWave STB' cards.GUS
|
||||
au8810 cards.AU8810
|
||||
au8820 cards.AU8820
|
||||
au8830 cards.AU8830
|
||||
Prodigy71 cards.Aureon71
|
||||
Prodigy71LT cards.Aureon71
|
||||
Prodigy71HIFI cards.Aureon71
|
||||
Aureon71Univ cards.Aureon71
|
||||
VIA82XX-MODEM cards.ICH-MODEM
|
||||
'MPU-401 UART' cards.MPU-401
|
||||
'VX222/Old' cards.VX222
|
||||
'VX222/v2' cards.VX222
|
||||
'VX222/Mic' cards.VX222
|
||||
'CMI8330/C3D' cards.CMI8330
|
||||
'SB AWE' cards.SBAWE
|
||||
'SB Pro' cards.SBPro
|
||||
'PMac Burgundy' cards.PMac
|
||||
'PMac DACA' cards.PMac
|
||||
'PMac Tumbler' cards.PMac
|
||||
'PMac Snapper' cards.PMac
|
||||
'PMac Screamer' cards.PMac
|
||||
'PMac AWACS' cards.PMac
|
||||
'PMac Toonie' cards.PMacToonie
|
||||
AppleOnbdAudio cards.PMacToonie
|
||||
'USB US-X2Y' cards.US-X2Y
|
||||
'Serial MIDI' cards.SerialMIDI
|
||||
'Prodif Plus' cards.ProdifPlus
|
||||
ESM1 cards.ES1968
|
||||
ES1978 cards.ES1968
|
||||
Allegro cards.Maestro3
|
||||
Canyon3D-2 cards.Maestro3
|
||||
Azalia cards.HDA-Intel
|
||||
aaci-pl041 cards.AACI
|
||||
AV66 cards.CMI8788
|
||||
AV100 cards.CMI8788
|
||||
AV200 cards.CMI8788
|
||||
CMI8786 cards.CMI8788
|
||||
CMI8787 cards.CMI8788
|
||||
pistachio cards.pistachio-card
|
||||
VC4-HDMI cards.vc4-hdmi
|
||||
|
||||
<confdir:pcm/default.conf>
|
||||
<confdir:pcm/dmix.conf>
|
||||
<confdir:pcm/dsnoop.conf>
|
||||
@@ -0,0 +1,58 @@
|
||||
#
|
||||
# Configuration for the pistachio chip.
|
||||
#
|
||||
# The data sheet of the chip and technical reference manual can be
|
||||
found at
|
||||
https://docs.creatordev.io/ci40/guides/hardwaredocs/cXT200_datasheet2.p
|
||||
df # and
|
||||
https://docs.creatordev.io/ci40/guides/hardwaredocs/MIPS_Creator_cXT200_Technical_Reference_Manual_1.0.112.pdf.
|
||||
#
|
||||
# The list of hardware devices is as per below:
|
||||
#
|
||||
# root@OpenWrt:/# arecord -l
|
||||
# **** List of CAPTURE Hardware Devices **** card 0: pistachiocard [pistachio-card], device 1: pistachio-spdif-in snd-soc-dummy-dai-1 []
|
||||
# Subdevices: 1/1
|
||||
# Subdevice #0: subdevice #0
|
||||
# card 0: pistachiocard [pistachio-card], device 4: pistachio-i2s-in-0 snd-soc-dummy-dai-4 []
|
||||
# Subdevices: 1/1
|
||||
# Subdevice #0: subdevice #0
|
||||
#
|
||||
# root@OpenWrt:/# aplay -l
|
||||
# **** List of PLAYBACK Hardware Devices **** card 0: pistachiocard [pistachio-card], device 0: pistachio-spdif-out snd-soc-dummy-dai-0 []
|
||||
# Subdevices: 1/1
|
||||
# Subdevice #0: subdevice #0
|
||||
# card 0: pistachiocard [pistachio-card], device 2: pistachio-parallel-out pistachio_internal_dac-2 []
|
||||
# Subdevices: 1/1
|
||||
# Subdevice #0: subdevice #0
|
||||
# card 0: pistachiocard [pistachio-card], device 3: pistachio-i2s-out snd-soc-dummy-dai-3 []
|
||||
# Subdevices: 1/1
|
||||
# Subdevice #0: subdevice #0
|
||||
#
|
||||
|
||||
pistachio-card.pcm.default{
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
default "pistachio"
|
||||
}
|
||||
@args.DEVICE {
|
||||
type integer
|
||||
default 2
|
||||
}
|
||||
|
||||
type asym
|
||||
capture.pcm {
|
||||
type multi
|
||||
slaves.a.pcm "hw:0,4"
|
||||
slaves.a.channels 12
|
||||
bindings.0.slave a
|
||||
bindings.0.channel 4
|
||||
bindings.1.slave a
|
||||
bindings.1.channel 5
|
||||
}
|
||||
|
||||
playback.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device $DEVICE
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
#
|
||||
# Configuration for the VC4-HDMI sound card using software IEC958
|
||||
# subframe conversion
|
||||
#
|
||||
|
||||
<confdir:pcm/front.conf>
|
||||
|
||||
vc4-hdmi.pcm.front.0 {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
|
||||
# default with dmix
|
||||
vc4-hdmi.pcm.default {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
}
|
||||
type asym
|
||||
playback.pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
@func concat
|
||||
strings [ "dmix:" $CARD ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<confdir:pcm/iec958.conf>
|
||||
|
||||
vc4-hdmi.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 iec958
|
||||
slave {
|
||||
format IEC958_SUBFRAME_LE
|
||||
pcm {
|
||||
type plug
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
}
|
||||
}
|
||||
status [ $AES0 $AES1 $AES2 $AES3 ]
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
# This is toplevel configuration for for 'alsactl init'.
|
||||
# See 'man alsactl_init' for syntax.
|
||||
|
||||
# set root device directory in sysfs for soundcard for ATTR{} command
|
||||
CONFIG{sysfs_device}="/class/sound/card$cardinfo{card}/device"
|
||||
ACCESS!="$sysfsroot$config{sysfs_device}", \
|
||||
CONFIG{sysfs_device}="/class/sound/controlC$cardinfo{card}/device"
|
||||
|
||||
# test for extra commands
|
||||
ENV{CMD}=="help", INCLUDE="help", GOTO="00main_end"
|
||||
ENV{CMD}=="info", INCLUDE="info", GOTO="00main_end"
|
||||
ENV{CMD}=="default", INCLUDE="default", GOTO="00main_end"
|
||||
ENV{CMD}=="test", INCLUDE="test", GOTO="00main_end"
|
||||
ENV{CMD}=="*", ERROR="Unknown command '$env{CMD}'\n", GOTO="00main_end"
|
||||
|
||||
# include files with real configuration
|
||||
#
|
||||
# steps are:
|
||||
# 1) look for preinit subdirectory and parse all files in it
|
||||
# 2) if RESULT=="skip", skip ALSA standard configuration files
|
||||
# 3) do ALSA standard configuration
|
||||
# 4) look for postinit subdirectory and parse all files in it
|
||||
# 5) if RESULT!="true", initialize hardware using a guess method,
|
||||
# print an error message and return with exit code 99
|
||||
# 6) return with exit code 0 (success)
|
||||
#
|
||||
|
||||
RESULT="unknown"
|
||||
ACCESS=="preinit", INCLUDE="preinit"
|
||||
RESULT=="skip", GOTO="init_end"
|
||||
|
||||
# real ALSA configuration database
|
||||
CARDINFO{driver}=="HDA-Intel", INCLUDE="hda", GOTO="init_end"
|
||||
CARDINFO{driver}=="CA0106", INCLUDE="ca0106", GOTO="init_end"
|
||||
CARDINFO{driver}=="Test", INCLUDE="test", GOTO="init_end"
|
||||
|
||||
LABEL="init_end"
|
||||
ACCESS=="postinit", INCLUDE="postinit"
|
||||
RESULT=="true", GOTO="00main_end"
|
||||
ERROR="Found hardware: \"$cardinfo{driver}\" \"$cardinfo{mixername}\" \"$cardinfo{components}\" \"$attr{subsystem_vendor}\" \"$attr{subsystem_device}\"\n"
|
||||
ERROR="Hardware is initialized using a generic method\n"
|
||||
INCLUDE="default"
|
||||
EXIT="99"
|
||||
|
||||
#
|
||||
# label identifying end of main file
|
||||
#
|
||||
|
||||
LABEL="00main_end"
|
||||
@@ -0,0 +1,31 @@
|
||||
# Configuration for CA0106 driver
|
||||
|
||||
CTL{reset}="mixer"
|
||||
CTL{name}="Master Playback Volume", CTL{values}="-20dB"
|
||||
CTL{name}="Master Playback Switch", CTL{values}="on"
|
||||
CTL{name}="Analog Front Playback Volume", CTL{values}="0dB"
|
||||
CTL{name}="Analog Front Playback Switch", CTL{values}="on"
|
||||
CTL{name}="Analog Rear Playback Volume", CTL{values}="0dB"
|
||||
CTL{name}="Analog Rear Playback Switch", CTL{values}="on"
|
||||
CTL{name}="Analog Center/LFE Playback Volume", CTL{values}="0dB"
|
||||
CTL{name}="Analog Center/LFE Playback Switch", CTL{values}="on"
|
||||
CTL{name}="Analog Side Playback Volume", CTL{values}="0dB"
|
||||
CTL{name}="Analog Side Playback Switch", CTL{values}="on"
|
||||
CTL{name}="IEC958 Front Playback Volume", CTL{values}="0dB"
|
||||
CTL{name}="IEC958 Rear Playback Volume", CTL{values}="0dB"
|
||||
CTL{name}="IEC958 Center/LFE Playback Volume", CTL{values}="0dB"
|
||||
# capture
|
||||
CTL{name}="Analog Source Capture Enum", CTL{value}="Mic"
|
||||
CTL{name}="Mic Capture Volume", CTL{values}="6dB"
|
||||
CTL{name}="Shared Mic/Line in Capture Switch", CTL{values}="Mic in"
|
||||
|
||||
# some variants have also AC97 mixer
|
||||
|
||||
CTL{reset}="mixer"
|
||||
CTL{name}="AC97 Line Capture Volume",PROGRAM!="__ctl_search",GOTO="ac97_end"
|
||||
CTL{name}="Analog Source Capture Enum", CTL{value}="AC97 in"
|
||||
CTL{name}="AC97 Mic Capture Switch", "on"
|
||||
CTL{name}="AC97 Mic Capture Value", "6dB"
|
||||
LABEL="ac97_end"
|
||||
|
||||
RESULT="true", EXIT="return"
|
||||
@@ -0,0 +1,284 @@
|
||||
#
|
||||
# Default ALSA volume levels and setting when initialization database fails.
|
||||
#
|
||||
# Basic rules are:
|
||||
# - keep volumes at minimal level, but sound should be hearable
|
||||
# - enable standard outputs for playback and main microphone for recording
|
||||
#
|
||||
|
||||
# **************************************************************************
|
||||
# playback
|
||||
# **************************************************************************
|
||||
|
||||
ENV{ppercent}:="75%"
|
||||
ENV{cpercent}:="75%"
|
||||
ENV{pvolume}:="-20dB"
|
||||
ENV{cvolume}:="12dB"
|
||||
ENV{has_pmaster_vol}:="false"
|
||||
|
||||
CTL{reset}="mixer"
|
||||
CTL{name}="Playback Volume",CTL{do_search}=="1", \
|
||||
CTL{write}!="$env{pvolume}",CTL{values}="$env{ppercent}"
|
||||
CTL{name}="Playback Switch",CTL{do_search}=="1", \
|
||||
CTL{values}="on"
|
||||
|
||||
CTL{reset}="mixer"
|
||||
CTL{name}="Master Playback Volume",CTL{do_search}=="1", \
|
||||
ENV{has_pmaster_vol}:="true", \
|
||||
CTL{write}!="$env{pvolume}",CTL{values}="$env{ppercent}"
|
||||
CTL{name}="Master Playback Switch",CTL{do_search}=="1", \
|
||||
CTL{values}="on"
|
||||
|
||||
CTL{reset}="mixer"
|
||||
CTL{name}="Master Front Playback Volume",CTL{do_search}=="1", \
|
||||
ENV{has_pmaster_vol}:="true", \
|
||||
CTL{write}!="$env{pvolume}",CTL{values}="$env{ppercent}"
|
||||
CTL{name}="Master Front Playback Switch",CTL{do_search}=="1", \
|
||||
CTL{values}="on"
|
||||
|
||||
CTL{reset}="mixer"
|
||||
CTL{name}="Master Digital Playback Volume",CTL{do_search}=="1", \
|
||||
CTL{write}!="$env{pvolume}",CTL{values}="$env{ppercent}"
|
||||
CTL{name}="Master Digital Playback Switch",CTL{do_search}=="1", \
|
||||
CTL{values}="on"
|
||||
|
||||
CTL{reset}="mixer"
|
||||
CTL{name}="Line Out Playback Volume",PROGRAM!="__ctl_search",GOTO=""
|
||||
# if master volume control is present, turn line out volume to max
|
||||
ENV{has_pmaster_vol}=="true",CTL{write}=="0dB",GOTO=""
|
||||
ENV{has_pmaster_vol}=="true",CTL{write}=="100%",GOTO=""
|
||||
CTL{write}!="$env{pvolume}",CTL{values}="$env{ppercent}"
|
||||
LABEL=""
|
||||
CTL{name}="Line Out Playback Switch",CTL{do_search}=="1", \
|
||||
CTL{values}="on"
|
||||
|
||||
CTL{reset}="mixer"
|
||||
CTL{name}="Front Playback Volume",PROGRAM!="__ctl_search",GOTO=""
|
||||
# if master volume control is present, turn front volume to max
|
||||
ENV{has_pmaster_vol}=="true",CTL{write}=="0dB",GOTO=""
|
||||
ENV{has_pmaster_vol}=="true",CTL{write}=="100%",GOTO=""
|
||||
CTL{write}!="$env{pvolume}",CTL{values}="$env{ppercent}"
|
||||
LABEL=""
|
||||
CTL{name}="Front Playback Switch",CTL{do_search}=="1", \
|
||||
CTL{values}="on"
|
||||
|
||||
CTL{reset}="mixer"
|
||||
CTL{name}="Surround Playback Volume",PROGRAM!="__ctl_search",GOTO=""
|
||||
# if master volume control is present, turn front volume to max
|
||||
ENV{has_pmaster_vol}=="true",CTL{write}=="0dB",GOTO=""
|
||||
ENV{has_pmaster_vol}=="true",CTL{write}=="100%",GOTO=""
|
||||
CTL{write}!="$env{pvolume}",CTL{values}="$env{ppercent}"
|
||||
LABEL=""
|
||||
CTL{name}="Surround Playback Switch",CTL{do_search}=="1", \
|
||||
CTL{values}="on"
|
||||
|
||||
CTL{reset}="mixer"
|
||||
CTL{name}="Center Playback Volume",PROGRAM!="__ctl_search",GOTO=""
|
||||
# if master volume control is present, turn front volume to max
|
||||
ENV{has_pmaster_vol}=="true",CTL{write}=="0dB",GOTO=""
|
||||
ENV{has_pmaster_vol}=="true",CTL{write}=="100%",GOTO=""
|
||||
CTL{write}!="$env{pvolume}",CTL{values}="$env{ppercent}"
|
||||
LABEL=""
|
||||
CTL{name}="Center Playback Switch",CTL{do_search}=="1", \
|
||||
CTL{values}="on"
|
||||
|
||||
CTL{reset}="mixer"
|
||||
CTL{name}="LFE Playback Volume",PROGRAM!="__ctl_search",GOTO=""
|
||||
# if master volume control is present, turn front volume to max
|
||||
ENV{has_pmaster_vol}=="true",CTL{write}=="0dB",GOTO=""
|
||||
ENV{has_pmaster_vol}=="true",CTL{write}=="100%",GOTO=""
|
||||
CTL{write}!="$env{pvolume}",CTL{values}="$env{ppercent}"
|
||||
LABEL=""
|
||||
CTL{name}="LFE Playback Switch",CTL{do_search}=="1", \
|
||||
CTL{values}="on"
|
||||
|
||||
CTL{reset}="mixer"
|
||||
CTL{name}="Headphone Playback Volume",PROGRAM!="__ctl_search",GOTO=""
|
||||
# if master volume control is present, turn headphone volume to max
|
||||
ENV{has_pmaster_vol}=="true",CTL{write}=="0dB",GOTO=""
|
||||
ENV{has_pmaster_vol}=="true",CTL{write}=="100%",GOTO=""
|
||||
CTL{write}!="$env{pvolume}",CTL{values}="$env{ppercent}"
|
||||
LABEL=""
|
||||
CTL{name}="Headphone Playback Switch",CTL{do_search}=="1", \
|
||||
CTL{values}="on"
|
||||
|
||||
CTL{reset}="mixer"
|
||||
CTL{name}="Headphone Playback Volume",CTL{index}="1",PROGRAM!="__ctl_search",\
|
||||
GOTO=""
|
||||
# if master volume control is present, turn headphone volume to max
|
||||
ENV{has_pmaster_vol}=="true",CTL{write}=="0dB",GOTO=""
|
||||
ENV{has_pmaster_vol}=="true",CTL{write}=="100%",GOTO=""
|
||||
CTL{write}!="$env{pvolume}",CTL{values}="$env{ppercent}"
|
||||
LABEL=""
|
||||
CTL{name}="Headphone Playback Switch",CTL{index}="1",CTL{do_search}=="1", \
|
||||
CTL{values}="on"
|
||||
|
||||
CTL{reset}="mixer"
|
||||
CTL{name}="Speaker Playback Volume",PROGRAM!="__ctl_search",GOTO=""
|
||||
# if master volume control is present, turn speaker volume to max
|
||||
ENV{has_pmaster_vol}=="true",CTL{write}=="0dB",GOTO=""
|
||||
ENV{has_pmaster_vol}=="true",CTL{write}=="100%",GOTO=""
|
||||
CTL{write}!="$env{pvolume}",CTL{values}="$env{ppercent}"
|
||||
LABEL=""
|
||||
CTL{name}="Speaker Playback Switch",CTL{do_search}=="1", \
|
||||
CTL{values}="on"
|
||||
|
||||
CTL{reset}="mixer"
|
||||
CTL{name}="Front Speaker Playback Volume",PROGRAM!="__ctl_search",GOTO=""
|
||||
# if master volume control is present, turn speaker volume to max
|
||||
ENV{has_pmaster_vol}=="true",CTL{write}=="0dB",GOTO=""
|
||||
ENV{has_pmaster_vol}=="true",CTL{write}=="100%",GOTO=""
|
||||
CTL{write}!="$env{pvolume}",CTL{values}="$env{ppercent}"
|
||||
LABEL=""
|
||||
CTL{name}="Front Speaker Playback Switch",CTL{do_search}=="1", \
|
||||
CTL{values}="on"
|
||||
|
||||
CTL{reset}="mixer"
|
||||
CTL{name}="Surround Speaker Playback Volume",PROGRAM!="__ctl_search",GOTO=""
|
||||
# if master volume control is present, turn speaker volume to max
|
||||
ENV{has_pmaster_vol}=="true",CTL{write}=="0dB",GOTO=""
|
||||
ENV{has_pmaster_vol}=="true",CTL{write}=="100%",GOTO=""
|
||||
CTL{write}!="$env{pvolume}",CTL{values}="$env{ppercent}"
|
||||
LABEL=""
|
||||
CTL{name}="Surround Speaker Playback Switch",CTL{do_search}=="1", \
|
||||
CTL{values}="on"
|
||||
|
||||
CTL{reset}="mixer"
|
||||
CTL{name}="Center Speaker Playback Volume",PROGRAM!="__ctl_search",GOTO=""
|
||||
# if master volume control is present, turn speaker volume to max
|
||||
ENV{has_pmaster_vol}=="true",CTL{write}=="0dB",GOTO=""
|
||||
ENV{has_pmaster_vol}=="true",CTL{write}=="100%",GOTO=""
|
||||
CTL{write}!="$env{pvolume}",CTL{values}="$env{ppercent}"
|
||||
LABEL=""
|
||||
CTL{name}="Center Speaker Playback Switch",CTL{do_search}=="1", \
|
||||
CTL{values}="on"
|
||||
|
||||
CTL{reset}="mixer"
|
||||
CTL{name}="LFE Speaker Playback Volume",PROGRAM!="__ctl_search",GOTO=""
|
||||
# if master volume control is present, turn speaker volume to max
|
||||
ENV{has_pmaster_vol}=="true",CTL{write}=="0dB",GOTO=""
|
||||
ENV{has_pmaster_vol}=="true",CTL{write}=="100%",GOTO=""
|
||||
CTL{write}!="$env{pvolume}",CTL{values}="$env{ppercent}"
|
||||
LABEL=""
|
||||
CTL{name}="LFE Speaker Playback Switch",CTL{do_search}=="1", \
|
||||
CTL{values}="on"
|
||||
|
||||
CTL{reset}="mixer"
|
||||
CTL{name}="PC Speaker Playback Volume",CTL{do_search}=="1", \
|
||||
CTL{values}="$env{pvolume}",RESULT!="0",CTL{values}="$env{ppercent}"
|
||||
CTL{name}="PC Speaker Playback Switch",CTL{do_search}=="1", \
|
||||
CTL{values}="on"
|
||||
|
||||
CTL{reset}="mixer"
|
||||
CTL{name}="PCM Playback Volume",PROGRAM!="__ctl_search", \
|
||||
CTL{name}="PCM Volume",PROGRAM!="__ctl_search", GOTO=""
|
||||
# if master volume control is present, turn PCM volume to max
|
||||
ENV{has_pmaster_vol}=="true",CTL{write}=="0dB",GOTO=""
|
||||
ENV{has_pmaster_vol}=="true",CTL{write}=="100%",GOTO=""
|
||||
# exception - some HDA codecs have shifted dB range
|
||||
CTL{dBmin}=="-34.50dB",CTL{dBmax}=="12.00dB",CTL{write}=="0dB",GOTO=""
|
||||
CTL{dBmin}=="-30.00dB",CTL{dBmax}=="0dB",CTL{write}=="0dB",GOTO=""
|
||||
CTL{write}!="$env{pvolume}",CTL{values}="75%"
|
||||
LABEL=""
|
||||
CTL{name}="PCM Playback Switch",CTL{do_search}=="1", CTL{values}="on"
|
||||
CTL{name}="PCM Switch",CTL{do_search}=="1",CTL{values}="on"
|
||||
|
||||
CTL{reset}="mixer"
|
||||
CTL{name}="PCM Playback Volume",CTL{index}="1",PROGRAM!="__ctl_search", \
|
||||
CTL{name}="PCM Volume",PROGRAM!="__ctl_search",GOTO=""
|
||||
# if master volume control is present, turn PCM volume to max
|
||||
ENV{has_pmaster_vol}=="true",CTL{write}=="0dB",GOTO=""
|
||||
ENV{has_pmaster_vol}=="true",CTL{write}=="100%",GOTO=""
|
||||
# exception - some HDA codecs have shifted dB range
|
||||
CTL{dBmin}=="-34.50dB",CTL{dBmax}=="12.00dB",CTL{write}=="0dB",GOTO=""
|
||||
CTL{dBmin}=="-30.00dB",CTL{dBmax}=="0dB",CTL{write}=="0dB",GOTO=""
|
||||
CTL{write}!="$env{pvolume}",CTL{values}="75%"
|
||||
LABEL=""
|
||||
CTL{name}="PCM Playback Switch",CTL{index}="1",CTL{do_search}=="1", \
|
||||
CTL{values}="on"
|
||||
CTL{name}="PCM Switch",CTL{index}="1",CTL{do_search}=="1", \
|
||||
CTL{values}="on"
|
||||
|
||||
CTL{reset}="mixer"
|
||||
CTL{name}="DAC Playback Volume",CTL{do_search}=="1", \
|
||||
CTL{values}="$env{pvolume}",RESULT!="0",CTL{values}="$env{ppercent}"
|
||||
CTL{name}="DAC Playback Switch",CTL{do_search}=="1", \
|
||||
CTL{values}="on"
|
||||
|
||||
CTL{reset}="mixer"
|
||||
CTL{name}="Synth Playback Volume",CTL{do_search}=="1", \
|
||||
CTL{values}="$env{pvolume}",RESULT!="0",CTL{values}="$env{ppercent}"
|
||||
CTL{name}="Synth Playback Switch",CTL{do_search}=="1", \
|
||||
CTL{values}="on"
|
||||
|
||||
CTL{reset}="mixer"
|
||||
CTL{name}="Wave Playback Volume",CTL{do_search}=="1", \
|
||||
CTL{values}="100%"
|
||||
CTL{name}="Wave Playback Switch",CTL{do_search}=="1", \
|
||||
CTL{values}="on"
|
||||
|
||||
CTL{reset}="mixer"
|
||||
CTL{name}="Music Playback Volume",CTL{do_search}=="1", \
|
||||
CTL{values}="100%"
|
||||
CTL{name}="Music Playback Switch",CTL{do_search}=="1", \
|
||||
CTL{values}="on"
|
||||
|
||||
CTL{reset}="mixer"
|
||||
CTL{name}="CD Playback Volume",CTL{do_search}=="1", \
|
||||
CTL{values}="0%"
|
||||
CTL{name}="CD Playback Switch",CTL{do_search}=="1", \
|
||||
CTL{values}="off"
|
||||
|
||||
CTL{reset}="mixer"
|
||||
CTL{name}="Mono Playback Volume",CTL{do_search}=="1", \
|
||||
CTL{values}="$env{pvolume}",RESULT!="0",CTL{values}="$env{ppercent}"
|
||||
CTL{name}="Mono Playback Switch",CTL{do_search}=="1", \
|
||||
CTL{values}="on"
|
||||
|
||||
CTL{reset}="mixer"
|
||||
CTL{name}="Master Mono Playback Volume",CTL{do_search}=="1", \
|
||||
CTL{values}="$env{pvolume}",RESULT!="0",CTL{values}="$env{ppercent}"
|
||||
CTL{name}="Master Mono Playback Switch",CTL{do_search}=="1", \
|
||||
CTL{values}="on"
|
||||
|
||||
CTL{reset}="mixer"
|
||||
CTL{name}="AC97 Playback Volume",CTL{do_search}=="1", \
|
||||
CTL{values}="100%"
|
||||
CTL{name}="AC97 Playback Switch",CTL{do_search}=="1", \
|
||||
CTL{values}="on"
|
||||
|
||||
#
|
||||
# Powermacs
|
||||
#
|
||||
|
||||
CTL{reset}="mixer"
|
||||
CTL{name}="DRC Range",CTL{do_search}=="1", \
|
||||
CTL{write}!="$env{pvolume}",CTL{values}="$env{ppercent}"
|
||||
|
||||
# **************************************************************************
|
||||
# capture
|
||||
# **************************************************************************
|
||||
|
||||
CTL{reset}="mixer"
|
||||
CTL{name}="Capture Volume",CTL{do_search}=="1", \
|
||||
CTL{write}!="$env{cvolume}",CTL{values}="$env{cpercent}"
|
||||
CTL{name}="Capture Switch",CTL{do_search}=="1", \
|
||||
CTL{values}="on"
|
||||
|
||||
CTL{name}="Capture Source",PROGRAM!="__ctl_search", GOTO=""
|
||||
CTL{enums}=="*|Internal Mic|*",CTL{values}="Internal Mic", GOTO=""
|
||||
CTL{enums}=="*|Mic|*",CTL{values}="Mic"
|
||||
LABEL=""
|
||||
|
||||
CTL{name}="Input Source",PROGRAM!="__ctl_search", GOTO=""
|
||||
CTL{enums}=="*|Internal Mic|*",CTL{values}="Internal Mic", GOTO=""
|
||||
CTL{enums}=="*|Mic|*",CTL{values}="Mic"
|
||||
LABEL=""
|
||||
|
||||
CTL{name}="Digital Input Source",PROGRAM!="__ctl_search", GOTO=""
|
||||
CTL{enums}=="*|Digital Mic 1|*",CTL{values}="Digital Mic 1", GOTO=""
|
||||
CTL{enums}=="*|Mic|*",CTL{values}="Mic"
|
||||
LABEL=""
|
||||
|
||||
CTL{name}="Mic Boost",CTL{do_search}=="1", CTL{values}="on"
|
||||
CTL{name}="Internal Mic Boost",CTL{do_search}=="1", CTL{values}="on"
|
||||
@@ -0,0 +1,39 @@
|
||||
# Configuration for HDA Intel driver (High Definition Audio - Azalia)
|
||||
|
||||
CARDINFO{mixername}=="Realtek ALC880", \
|
||||
ATTR{subsystem_vendor}=="0x1025", ATTR{subsystem_device}=="0x0070", \
|
||||
GOTO="Acer Travelmate 8100"
|
||||
CARDINFO{mixername}=="Analog Devices AD1984", \
|
||||
ATTR{subsystem_vendor}=="0x17aa", ATTR{subsystem_device}=="0x20ac", \
|
||||
GOTO="Lenovo T61"
|
||||
RESULT="false", EXIT="return"
|
||||
|
||||
LABEL="Acer Travelmate 8100"
|
||||
# playback
|
||||
CTL{reset}="mixer"
|
||||
CTL{name}="Master Playback Volume", CTL{values}="-21dB"
|
||||
CTL{name}="Master Playback Switch", CTL{values}="on"
|
||||
CTL{name}="Headphone Playback Switch", CTL{values}="on"
|
||||
CTL{name}="Front Playback Volume", CTL{values}="-29dB"
|
||||
CTL{name}="Front Playback Switch", CTL{values}="on"
|
||||
CTL{name}="PCM Playback Volume", CTL{values}="0dB"
|
||||
# capture
|
||||
CTL{name}="Input Source", CTL{value}="Mic"
|
||||
CTL{name}="Capture Volume", CTL{values}="20dB"
|
||||
CTL{name}="Capture Switch", CTL{values}="on"
|
||||
RESULT="true", EXIT="return"
|
||||
|
||||
LABEL="Lenovo T61"
|
||||
# playback
|
||||
CTL{reset}="mixer"
|
||||
CTL{name}="Master Playback Volume", CTL{values}="-13.5dB"
|
||||
CTL{name}="Master Playback Switch", CTL{values}="on"
|
||||
CTL{name}="Headphone Playback Switch", CTL{values}="on"
|
||||
CTL{name}="Speaker Playback Switch", CTL{values}="on"
|
||||
CTL{name}="PCM Playback Volume", CTL{values}="0dB"
|
||||
# capture
|
||||
CTL{name}="Input Source", CTL{value}="Internal Mic"
|
||||
CTL{name}="Internal Mic Boost", CTL{values}="1"
|
||||
CTL{name}="Capture Volume", CTL{values}="9dB"
|
||||
CTL{name}="Capture Switch", CTL{values}="on"
|
||||
RESULT="true", EXIT="return"
|
||||
@@ -0,0 +1,8 @@
|
||||
# help page
|
||||
|
||||
PRINT="Available commands (identified by the environment variable CMD):\n\n"
|
||||
PRINT=" (not set) Do a soundcard initialization\n"
|
||||
PRINT=" default Do a default (guess method) initialization\n"
|
||||
PRINT=" help Show this information\n"
|
||||
PRINT=" info Print all available hardware identification\n"
|
||||
PRINT=" test Do alsactl utility parser tests\n"
|
||||
@@ -0,0 +1,22 @@
|
||||
# show information about card
|
||||
|
||||
PRINT="CARDINFO:\n"
|
||||
PRINT=" CARDINFO{id}=\"$CARDINFO{id}\"\n"
|
||||
PRINT=" CARDINFO{card}=\"$CARDINFO{card}\"\n"
|
||||
PRINT=" CARDINFO{driver}=\"$CARDINFO{driver}\"\n"
|
||||
PRINT=" CARDINFO{name}=\"$CARDINFO{name}\"\n"
|
||||
PRINT=" CARDINFO{longname}=\"$CARDINFO{longname}\"\n"
|
||||
PRINT=" CARDINFO{mixername}=\"$CARDINFO{mixername}\"\n"
|
||||
PRINT=" CARDINFO{components}=\"$CARDINFO{components}\"\n"
|
||||
|
||||
# sysfs stuff
|
||||
PRINT="sysfs:\n"
|
||||
ATTR{bus}=="*", PRINT=" ATTR{bus}=\"$ATTR{bus}\"\n"
|
||||
ATTR{class}=="*", PRINT=" ATTR{class}=\"$ATTR{class}\"\n"
|
||||
ATTR{driver}=="*", PRINT=" ATTR{driver}=\"$ATTR{driver}\"\n"
|
||||
ATTR{vendor}=="*", PRINT=" ATTR{vendor}=\"$ATTR{vendor}\"\n"
|
||||
ATTR{device}=="*", PRINT=" ATTR{device}=\"$ATTR{device}\"\n"
|
||||
ATTR{subsystem_vendor}=="*", \
|
||||
PRINT=" ATTR{subsystem_vendor}=\"$ATTR{subsystem_vendor}\"\n"
|
||||
ATTR{subsystem_device}=="*", \
|
||||
PRINT=" ATTR{subsystem_device}=\"$ATTR{subsystem_device}\"\n"
|
||||
270
ramdisk/rootfs/public/alsa/musl_riscv64/usr/share/alsa/init/test
Normal file
270
ramdisk/rootfs/public/alsa/musl_riscv64/usr/share/alsa/init/test
Normal file
@@ -0,0 +1,270 @@
|
||||
# Test code
|
||||
# Just for debugging purposes
|
||||
|
||||
PRINT="Default CTL:\n"
|
||||
PRINT=" CTL{numid}=\"$ctl{numid}\"\n"
|
||||
PRINT=" CTL{iface}=\"$ctl{iface}\"\n"
|
||||
PRINT=" CTL{device}=\"$ctl{device}\"\n"
|
||||
PRINT=" CTL{subdevice}=\"$ctl{subdevice}\"\n"
|
||||
PRINT=" CTL{name}=\"$ctl{name}\"\n"
|
||||
PRINT=" CTL{index}=\"$ctl{index}\"\n"
|
||||
|
||||
CTL{reset}="mixer"
|
||||
|
||||
PRINT="After CTL{reset}=\"mixer\":\n"
|
||||
PRINT=" CTL{numid}=\"$ctl{numid}\"\n"
|
||||
PRINT=" CTL{iface}=\"$ctl{iface}\"\n"
|
||||
PRINT=" CTL{device}=\"$ctl{device}\"\n"
|
||||
PRINT=" CTL{subdevice}=\"$ctl{subdevice}\"\n"
|
||||
PRINT=" CTL{name}=\"$ctl{name}\"\n"
|
||||
PRINT=" CTL{index}=\"$ctl{index}\"\n"
|
||||
|
||||
CTL{numid}="987"
|
||||
CTL{iface}="sequencer"
|
||||
CTL{device}="10"
|
||||
CTL{subdevice}="20"
|
||||
CTL{name}="Just Test"
|
||||
CTL{index}="999"
|
||||
|
||||
PRINT="After test sequence:\n"
|
||||
PRINT=" CTL{numid}=\"$ctl{numid}\"\n"
|
||||
PRINT=" CTL{iface}=\"$ctl{iface}\"\n"
|
||||
PRINT=" CTL{device}=\"$ctl{device}\"\n"
|
||||
PRINT=" CTL{subdevice}=\"$ctl{subdevice}\"\n"
|
||||
PRINT=" CTL{name}=\"$ctl{name}\"\n"
|
||||
PRINT=" CTL{index}=\"$ctl{index}\"\n"
|
||||
|
||||
ERROR="Ignore following error:\n "
|
||||
PROGRAM="__just_test"
|
||||
|
||||
PRINT="CTL{do_count} test:\n"
|
||||
CTL{search}="mixer", CTL{name}="*Switch*", \
|
||||
PRINT=" *Switch* count result: $ctl{do_count}\n"
|
||||
|
||||
PRINT="__ctl_search test:\n"
|
||||
CTL{search}="mixer", CTL{name}="*Switch*", PROGRAM!="__ctl_search", GOTO="skip_switch_search"
|
||||
PRINT=" *Switch 0* search result: $result\n"
|
||||
PRINT=" CTL{numid}=\"$ctl{numid}\"\n"
|
||||
PRINT=" CTL{iface}=\"$ctl{iface}\"\n"
|
||||
PRINT=" CTL{device}=\"$ctl{device}\"\n"
|
||||
PRINT=" CTL{subdevice}=\"$ctl{subdevice}\"\n"
|
||||
PRINT=" CTL{name}=\"$ctl{name}\"\n"
|
||||
PRINT=" CTL{index}=\"$ctl{index}\"\n"
|
||||
CTL{search}="mixer", CTL{name}="*Switch*", PROGRAM!="__ctl_search 1", GOTO="skip_switch_search"
|
||||
PRINT=" *Switch 1* search result: $result\n"
|
||||
PRINT=" CTL{numid}=\"$ctl{numid}\"\n"
|
||||
PRINT=" CTL{iface}=\"$ctl{iface}\"\n"
|
||||
PRINT=" CTL{device}=\"$ctl{device}\"\n"
|
||||
PRINT=" CTL{subdevice}=\"$ctl{subdevice}\"\n"
|
||||
PRINT=" CTL{name}=\"$ctl{name}\"\n"
|
||||
PRINT=" CTL{index}=\"$ctl{index}\"\n"
|
||||
|
||||
PRINT="First ten elements:\n"
|
||||
CTL{search}="mixer", CTL{name}="*", CTL{do_search 0}!="1", GOTO="skip_first_ten_search"
|
||||
PRINT=" Element #0:\n"
|
||||
PRINT=" CTL{numid}=\"$ctl{numid}\"\n"
|
||||
PRINT=" CTL{iface}=\"$ctl{iface}\"\n"
|
||||
PRINT=" CTL{device}=\"$ctl{device}\"\n"
|
||||
PRINT=" CTL{subdevice}=\"$ctl{subdevice}\"\n"
|
||||
PRINT=" CTL{name}=\"$ctl{name}\"\n"
|
||||
PRINT=" CTL{index}=\"$ctl{index}\"\n"
|
||||
PRINT=" CTL{type}=\"$ctl{type}\"\n"
|
||||
PRINT=" CTL{attr}=\"$ctl{attr}\"\n"
|
||||
PRINT=" CTL{owner}=\"$ctl{owner}\"\n"
|
||||
PRINT=" CTL{count}=\"$ctl{count}\"\n"
|
||||
PRINT=" CTL{min}=\"$ctl{min}\"\n"
|
||||
PRINT=" CTL{max}=\"$ctl{max}\"\n"
|
||||
PRINT=" CTL{step}=\"$ctl{step}\"\n"
|
||||
PRINT=" CTL{dBmin}=\"$ctl{dBmin}\"\n"
|
||||
PRINT=" CTL{dBmax}=\"$ctl{dBmax}\"\n"
|
||||
PRINT=" CTL{items}=\"$ctl{items}\"\n"
|
||||
PRINT=" CTL{value}=\"$ctl{value}\"\n"
|
||||
CTL{search}="mixer", CTL{name}="*", CTL{do_search 1}!="1", GOTO="skip_first_ten_search"
|
||||
PRINT=" Element #1:\n"
|
||||
PRINT=" CTL{numid}=\"$ctl{numid}\"\n"
|
||||
PRINT=" CTL{iface}=\"$ctl{iface}\"\n"
|
||||
PRINT=" CTL{device}=\"$ctl{device}\"\n"
|
||||
PRINT=" CTL{subdevice}=\"$ctl{subdevice}\"\n"
|
||||
PRINT=" CTL{name}=\"$ctl{name}\"\n"
|
||||
PRINT=" CTL{index}=\"$ctl{index}\"\n"
|
||||
PRINT=" CTL{type}=\"$ctl{type}\"\n"
|
||||
PRINT=" CTL{attr}=\"$ctl{attr}\"\n"
|
||||
PRINT=" CTL{owner}=\"$ctl{owner}\"\n"
|
||||
PRINT=" CTL{count}=\"$ctl{count}\"\n"
|
||||
PRINT=" CTL{min}=\"$ctl{min}\"\n"
|
||||
PRINT=" CTL{max}=\"$ctl{max}\"\n"
|
||||
PRINT=" CTL{step}=\"$ctl{step}\"\n"
|
||||
PRINT=" CTL{dBmin}=\"$ctl{dBmin}\"\n"
|
||||
PRINT=" CTL{dBmax}=\"$ctl{dBmax}\"\n"
|
||||
PRINT=" CTL{items}=\"$ctl{items}\"\n"
|
||||
PRINT=" CTL{value}=\"$ctl{value}\"\n"
|
||||
CTL{search}="mixer", CTL{name}="*", CTL{do_search 2}!="1", GOTO="skip_first_ten_search"
|
||||
PRINT=" Element #2:\n"
|
||||
PRINT=" CTL{numid}=\"$ctl{numid}\"\n"
|
||||
PRINT=" CTL{iface}=\"$ctl{iface}\"\n"
|
||||
PRINT=" CTL{device}=\"$ctl{device}\"\n"
|
||||
PRINT=" CTL{subdevice}=\"$ctl{subdevice}\"\n"
|
||||
PRINT=" CTL{name}=\"$ctl{name}\"\n"
|
||||
PRINT=" CTL{index}=\"$ctl{index}\"\n"
|
||||
PRINT=" CTL{type}=\"$ctl{type}\"\n"
|
||||
PRINT=" CTL{attr}=\"$ctl{attr}\"\n"
|
||||
PRINT=" CTL{owner}=\"$ctl{owner}\"\n"
|
||||
PRINT=" CTL{count}=\"$ctl{count}\"\n"
|
||||
PRINT=" CTL{min}=\"$ctl{min}\"\n"
|
||||
PRINT=" CTL{max}=\"$ctl{max}\"\n"
|
||||
PRINT=" CTL{step}=\"$ctl{step}\"\n"
|
||||
PRINT=" CTL{dBmin}=\"$ctl{dBmin}\"\n"
|
||||
PRINT=" CTL{dBmax}=\"$ctl{dBmax}\"\n"
|
||||
PRINT=" CTL{items}=\"$ctl{items}\"\n"
|
||||
PRINT=" CTL{value}=\"$ctl{value}\"\n"
|
||||
CTL{search}="mixer", CTL{name}="*", CTL{do_search 3}!="3", GOTO="skip_first_ten_search"
|
||||
PRINT=" Element #3:\n"
|
||||
PRINT=" CTL{numid}=\"$ctl{numid}\"\n"
|
||||
PRINT=" CTL{iface}=\"$ctl{iface}\"\n"
|
||||
PRINT=" CTL{device}=\"$ctl{device}\"\n"
|
||||
PRINT=" CTL{subdevice}=\"$ctl{subdevice}\"\n"
|
||||
PRINT=" CTL{name}=\"$ctl{name}\"\n"
|
||||
PRINT=" CTL{index}=\"$ctl{index}\"\n"
|
||||
PRINT=" CTL{type}=\"$ctl{type}\"\n"
|
||||
PRINT=" CTL{attr}=\"$ctl{attr}\"\n"
|
||||
PRINT=" CTL{owner}=\"$ctl{owner}\"\n"
|
||||
PRINT=" CTL{count}=\"$ctl{count}\"\n"
|
||||
PRINT=" CTL{min}=\"$ctl{min}\"\n"
|
||||
PRINT=" CTL{max}=\"$ctl{max}\"\n"
|
||||
PRINT=" CTL{dBmin}=\"$ctl{dBmin}\"\n"
|
||||
PRINT=" CTL{dBmax}=\"$ctl{dBmax}\"\n"
|
||||
PRINT=" CTL{step}=\"$ctl{step}\"\n"
|
||||
PRINT=" CTL{items}=\"$ctl{items}\"\n"
|
||||
PRINT=" CTL{value}=\"$ctl{value}\"\n"
|
||||
CTL{search}="mixer", CTL{name}="*", CTL{do_search 4}!="1", GOTO="skip_first_ten_search"
|
||||
PRINT=" Element #4:\n"
|
||||
PRINT=" CTL{numid}=\"$ctl{numid}\"\n"
|
||||
PRINT=" CTL{iface}=\"$ctl{iface}\"\n"
|
||||
PRINT=" CTL{device}=\"$ctl{device}\"\n"
|
||||
PRINT=" CTL{subdevice}=\"$ctl{subdevice}\"\n"
|
||||
PRINT=" CTL{name}=\"$ctl{name}\"\n"
|
||||
PRINT=" CTL{index}=\"$ctl{index}\"\n"
|
||||
PRINT=" CTL{type}=\"$ctl{type}\"\n"
|
||||
PRINT=" CTL{attr}=\"$ctl{attr}\"\n"
|
||||
PRINT=" CTL{owner}=\"$ctl{owner}\"\n"
|
||||
PRINT=" CTL{count}=\"$ctl{count}\"\n"
|
||||
PRINT=" CTL{min}=\"$ctl{min}\"\n"
|
||||
PRINT=" CTL{max}=\"$ctl{max}\"\n"
|
||||
PRINT=" CTL{step}=\"$ctl{step}\"\n"
|
||||
PRINT=" CTL{dBmin}=\"$ctl{dBmin}\"\n"
|
||||
PRINT=" CTL{dBmax}=\"$ctl{dBmax}\"\n"
|
||||
PRINT=" CTL{items}=\"$ctl{items}\"\n"
|
||||
PRINT=" CTL{value}=\"$ctl{value}\"\n"
|
||||
CTL{search}="mixer", CTL{name}="*", CTL{do_search 5}!="1", GOTO="skip_first_ten_search"
|
||||
PRINT=" Element #5:\n"
|
||||
PRINT=" CTL{numid}=\"$ctl{numid}\"\n"
|
||||
PRINT=" CTL{iface}=\"$ctl{iface}\"\n"
|
||||
PRINT=" CTL{device}=\"$ctl{device}\"\n"
|
||||
PRINT=" CTL{subdevice}=\"$ctl{subdevice}\"\n"
|
||||
PRINT=" CTL{name}=\"$ctl{name}\"\n"
|
||||
PRINT=" CTL{index}=\"$ctl{index}\"\n"
|
||||
PRINT=" CTL{type}=\"$ctl{type}\"\n"
|
||||
PRINT=" CTL{attr}=\"$ctl{attr}\"\n"
|
||||
PRINT=" CTL{owner}=\"$ctl{owner}\"\n"
|
||||
PRINT=" CTL{count}=\"$ctl{count}\"\n"
|
||||
PRINT=" CTL{min}=\"$ctl{min}\"\n"
|
||||
PRINT=" CTL{max}=\"$ctl{max}\"\n"
|
||||
PRINT=" CTL{step}=\"$ctl{step}\"\n"
|
||||
PRINT=" CTL{dBmin}=\"$ctl{dBmin}\"\n"
|
||||
PRINT=" CTL{dBmax}=\"$ctl{dBmax}\"\n"
|
||||
PRINT=" CTL{items}=\"$ctl{items}\"\n"
|
||||
PRINT=" CTL{value}=\"$ctl{value}\"\n"
|
||||
CTL{search}="mixer", CTL{name}="*", CTL{do_search 6}!="1", GOTO="skip_first_ten_search"
|
||||
PRINT=" Element #6:\n"
|
||||
PRINT=" CTL{numid}=\"$ctl{numid}\"\n"
|
||||
PRINT=" CTL{iface}=\"$ctl{iface}\"\n"
|
||||
PRINT=" CTL{device}=\"$ctl{device}\"\n"
|
||||
PRINT=" CTL{subdevice}=\"$ctl{subdevice}\"\n"
|
||||
PRINT=" CTL{name}=\"$ctl{name}\"\n"
|
||||
PRINT=" CTL{index}=\"$ctl{index}\"\n"
|
||||
PRINT=" CTL{type}=\"$ctl{type}\"\n"
|
||||
PRINT=" CTL{attr}=\"$ctl{attr}\"\n"
|
||||
PRINT=" CTL{owner}=\"$ctl{owner}\"\n"
|
||||
PRINT=" CTL{count}=\"$ctl{count}\"\n"
|
||||
PRINT=" CTL{min}=\"$ctl{min}\"\n"
|
||||
PRINT=" CTL{max}=\"$ctl{max}\"\n"
|
||||
PRINT=" CTL{step}=\"$ctl{step}\"\n"
|
||||
PRINT=" CTL{dBmin}=\"$ctl{dBmin}\"\n"
|
||||
PRINT=" CTL{dBmax}=\"$ctl{dBmax}\"\n"
|
||||
PRINT=" CTL{items}=\"$ctl{items}\"\n"
|
||||
PRINT=" CTL{value}=\"$ctl{value}\"\n"
|
||||
CTL{search}="mixer", CTL{name}="*", CTL{do_search 7}!="1", GOTO="skip_first_ten_search"
|
||||
PRINT=" Element #7:\n"
|
||||
PRINT=" CTL{numid}=\"$ctl{numid}\"\n"
|
||||
PRINT=" CTL{iface}=\"$ctl{iface}\"\n"
|
||||
PRINT=" CTL{device}=\"$ctl{device}\"\n"
|
||||
PRINT=" CTL{subdevice}=\"$ctl{subdevice}\"\n"
|
||||
PRINT=" CTL{name}=\"$ctl{name}\"\n"
|
||||
PRINT=" CTL{index}=\"$ctl{index}\"\n"
|
||||
PRINT=" CTL{type}=\"$ctl{type}\"\n"
|
||||
PRINT=" CTL{attr}=\"$ctl{attr}\"\n"
|
||||
PRINT=" CTL{owner}=\"$ctl{owner}\"\n"
|
||||
PRINT=" CTL{count}=\"$ctl{count}\"\n"
|
||||
PRINT=" CTL{min}=\"$ctl{min}\"\n"
|
||||
PRINT=" CTL{max}=\"$ctl{max}\"\n"
|
||||
PRINT=" CTL{step}=\"$ctl{step}\"\n"
|
||||
PRINT=" CTL{dBmin}=\"$ctl{dBmin}\"\n"
|
||||
PRINT=" CTL{dBmax}=\"$ctl{dBmax}\"\n"
|
||||
PRINT=" CTL{items}=\"$ctl{items}\"\n"
|
||||
PRINT=" CTL{value}=\"$ctl{value}\"\n"
|
||||
CTL{search}="mixer", CTL{name}="*", CTL{do_search 8}!="1", GOTO="skip_first_ten_search"
|
||||
PRINT=" Element #8:\n"
|
||||
PRINT=" CTL{numid}=\"$ctl{numid}\"\n"
|
||||
PRINT=" CTL{iface}=\"$ctl{iface}\"\n"
|
||||
PRINT=" CTL{device}=\"$ctl{device}\"\n"
|
||||
PRINT=" CTL{subdevice}=\"$ctl{subdevice}\"\n"
|
||||
PRINT=" CTL{name}=\"$ctl{name}\"\n"
|
||||
PRINT=" CTL{index}=\"$ctl{index}\"\n"
|
||||
PRINT=" CTL{type}=\"$ctl{type}\"\n"
|
||||
PRINT=" CTL{attr}=\"$ctl{attr}\"\n"
|
||||
PRINT=" CTL{owner}=\"$ctl{owner}\"\n"
|
||||
PRINT=" CTL{count}=\"$ctl{count}\"\n"
|
||||
PRINT=" CTL{min}=\"$ctl{min}\"\n"
|
||||
PRINT=" CTL{max}=\"$ctl{max}\"\n"
|
||||
PRINT=" CTL{step}=\"$ctl{step}\"\n"
|
||||
PRINT=" CTL{dBmin}=\"$ctl{dBmin}\"\n"
|
||||
PRINT=" CTL{dBmax}=\"$ctl{dBmax}\"\n"
|
||||
PRINT=" CTL{items}=\"$ctl{items}\"\n"
|
||||
PRINT=" CTL{value}=\"$ctl{value}\"\n"
|
||||
CTL{search}="mixer", CTL{name}="*", CTL{do_search 9}!="1", GOTO="skip_first_ten_search"
|
||||
PRINT=" Element #9:\n"
|
||||
PRINT=" CTL{numid}=\"$ctl{numid}\"\n"
|
||||
PRINT=" CTL{iface}=\"$ctl{iface}\"\n"
|
||||
PRINT=" CTL{device}=\"$ctl{device}\"\n"
|
||||
PRINT=" CTL{subdevice}=\"$ctl{subdevice}\"\n"
|
||||
PRINT=" CTL{name}=\"$ctl{name}\"\n"
|
||||
PRINT=" CTL{index}=\"$ctl{index}\"\n"
|
||||
PRINT=" CTL{type}=\"$ctl{type}\"\n"
|
||||
PRINT=" CTL{attr}=\"$ctl{attr}\"\n"
|
||||
PRINT=" CTL{owner}=\"$ctl{owner}\"\n"
|
||||
PRINT=" CTL{count}=\"$ctl{count}\"\n"
|
||||
PRINT=" CTL{min}=\"$ctl{min}\"\n"
|
||||
PRINT=" CTL{max}=\"$ctl{max}\"\n"
|
||||
PRINT=" CTL{step}=\"$ctl{step}\"\n"
|
||||
PRINT=" CTL{dBmin}=\"$ctl{dBmin}\"\n"
|
||||
PRINT=" CTL{dBmax}=\"$ctl{dBmax}\"\n"
|
||||
PRINT=" CTL{items}=\"$ctl{items}\"\n"
|
||||
PRINT=" CTL{value}=\"$ctl{value}\"\n"
|
||||
LABEL="skip_first_ten_search"
|
||||
|
||||
PRINT="Elements write test #1:\n", \
|
||||
CTL{search}="mixer", CTL{name}="Front Playback Switch", \
|
||||
CTL{do_search}=="1", CTL{value}="on,on", \
|
||||
PRINT=" result=$result\n"
|
||||
PRINT="Elements write test #2:\n", \
|
||||
CTL{search}="mixer", CTL{name}="Front Playback Volume", \
|
||||
CTL{do_search}=="1", CTL{value}="32,32", \
|
||||
PRINT=" result=$result\n"
|
||||
PRINT="Elements write test #3:\n", \
|
||||
CTL{search}="mixer", CTL{name}="Front Playback Volume Error", \
|
||||
CTL{do_search}=="1", \
|
||||
PRINT=" result=$result\n"
|
||||
|
||||
#CTL{reset}="mixer", CTL{name}="Input Source", PRINT="***$ctl{enums}\n"
|
||||
|
||||
PRINT="\nAll tests done..\n"
|
||||
@@ -0,0 +1,58 @@
|
||||
#
|
||||
# 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
|
||||
}
|
||||
}
|
||||
}
|
||||
type empty
|
||||
slave.pcm {
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"cards."
|
||||
{
|
||||
@func card_driver
|
||||
card $CARD
|
||||
}
|
||||
".pcm.center_lfe." $DEV ":CARD=" $CARD
|
||||
]
|
||||
}
|
||||
}
|
||||
hint {
|
||||
show {
|
||||
@func refer
|
||||
name defaults.namehint.basic
|
||||
}
|
||||
description "Center and Subwoofer speakers"
|
||||
device $DEV
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
#
|
||||
# Default output
|
||||
#
|
||||
|
||||
pcm.!default {
|
||||
@args [ CARD ]
|
||||
@args.CARD {
|
||||
type string
|
||||
default {
|
||||
@func getenv
|
||||
vars [
|
||||
ALSA_PCM_CARD
|
||||
ALSA_CARD
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.card
|
||||
}
|
||||
}
|
||||
}
|
||||
type empty
|
||||
slave.pcm {
|
||||
# use card-specific definition if exists
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"cards."
|
||||
{
|
||||
@func card_driver
|
||||
card $CARD
|
||||
}
|
||||
".pcm.default:CARD=" $CARD
|
||||
]
|
||||
}
|
||||
default {
|
||||
# use plughw as default
|
||||
type plug
|
||||
slave.pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
}
|
||||
hint.device 0
|
||||
}
|
||||
}
|
||||
hint {
|
||||
description "Default Audio Device"
|
||||
device_output {
|
||||
@func refer
|
||||
name defaults.pcm.dmix.device
|
||||
}
|
||||
device_input {
|
||||
@func refer
|
||||
name defaults.pcm.dsnoop.device
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,127 @@
|
||||
#
|
||||
# dmix output
|
||||
#
|
||||
|
||||
pcm.!dmix {
|
||||
@args [ CARD DEV SUBDEV FORMAT RATE CHANNELS ]
|
||||
@args.CARD {
|
||||
type string
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.dmix.card
|
||||
}
|
||||
}
|
||||
@args.DEV {
|
||||
type integer
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.dmix.device
|
||||
}
|
||||
}
|
||||
@args.SUBDEV {
|
||||
type integer
|
||||
default 0
|
||||
}
|
||||
@args.FORMAT {
|
||||
type string
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.dmix.format
|
||||
}
|
||||
}
|
||||
@args.RATE {
|
||||
type integer
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.dmix.rate
|
||||
}
|
||||
}
|
||||
@args.CHANNELS {
|
||||
type integer
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.dmix.channels
|
||||
}
|
||||
}
|
||||
type dmix
|
||||
ipc_key {
|
||||
@func refer
|
||||
name defaults.pcm.ipc_key
|
||||
}
|
||||
ipc_gid {
|
||||
@func refer
|
||||
name defaults.pcm.ipc_gid
|
||||
}
|
||||
ipc_perm {
|
||||
@func refer
|
||||
name defaults.pcm.ipc_perm
|
||||
}
|
||||
tstamp_type {
|
||||
@func refer
|
||||
name defaults.pcm.tstamp_type
|
||||
}
|
||||
slave {
|
||||
pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device $DEV
|
||||
subdevice $SUBDEV
|
||||
}
|
||||
format $FORMAT
|
||||
rate $RATE
|
||||
channels $CHANNELS
|
||||
period_size {
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"defaults.dmix."
|
||||
{
|
||||
@func card_driver
|
||||
card $CARD
|
||||
}
|
||||
".period_size"
|
||||
]
|
||||
}
|
||||
default 1024
|
||||
}
|
||||
period_time {
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"defaults.dmix."
|
||||
{
|
||||
@func card_driver
|
||||
card $CARD
|
||||
}
|
||||
".period_time"
|
||||
]
|
||||
}
|
||||
default -1
|
||||
}
|
||||
periods {
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"defaults.dmix."
|
||||
{
|
||||
@func card_driver
|
||||
card $CARD
|
||||
}
|
||||
".periods"
|
||||
]
|
||||
}
|
||||
default 16
|
||||
}
|
||||
}
|
||||
hint {
|
||||
show {
|
||||
@func refer
|
||||
name defaults.namehint.extended
|
||||
}
|
||||
description "Direct sample mixing device"
|
||||
device_output $DEV
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
pcm.!dpl {
|
||||
@args [ SLAVE ]
|
||||
@args.SLAVE {
|
||||
type string
|
||||
}
|
||||
type route
|
||||
slave.pcm $SLAVE
|
||||
slave.channels 2
|
||||
# input: FL/FR/SL/SR/C/LFE
|
||||
# S=SL+SR, LFE not used
|
||||
ttable.0.0 1
|
||||
ttable.1.1 1
|
||||
ttable.2.0 0.707
|
||||
ttable.2.1 -0.707
|
||||
ttable.3.0 0.707
|
||||
ttable.3.1 -0.707
|
||||
ttable.4.0 0.707
|
||||
ttable.4.1 0.707
|
||||
ttable.5.0 0
|
||||
ttable.5.1 0
|
||||
}
|
||||
|
||||
pcm.!dpl2 {
|
||||
@args [SLAVE]
|
||||
@args.SLAVE {
|
||||
type string
|
||||
}
|
||||
type route
|
||||
slave.pcm $SLAVE
|
||||
slave.channels 2
|
||||
# input: FL/FR/SL/SR/C/LFE
|
||||
# LFE not used
|
||||
ttable.0.0 1
|
||||
ttable.1.1 1
|
||||
ttable.2.0 0.866
|
||||
ttable.2.1 -0.5
|
||||
ttable.3.0 0.5
|
||||
ttable.3.1 -0.866
|
||||
ttable.4.0 0.707
|
||||
ttable.4.1 0.707
|
||||
ttable.5.0 0
|
||||
ttable.5.1 0
|
||||
}
|
||||
@@ -0,0 +1,119 @@
|
||||
#
|
||||
# dsnoop
|
||||
#
|
||||
|
||||
pcm.!dsnoop {
|
||||
@args [ CARD DEV SUBDEV FORMAT RATE ]
|
||||
@args.CARD {
|
||||
type string
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.dsnoop.card
|
||||
}
|
||||
}
|
||||
@args.DEV {
|
||||
type integer
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.dsnoop.device
|
||||
}
|
||||
}
|
||||
@args.SUBDEV {
|
||||
type integer
|
||||
default 0
|
||||
}
|
||||
@args.FORMAT {
|
||||
type string
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.dmix.format
|
||||
}
|
||||
}
|
||||
@args.RATE {
|
||||
type integer
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.dmix.rate
|
||||
}
|
||||
}
|
||||
type dsnoop
|
||||
ipc_key {
|
||||
@func refer
|
||||
name defaults.pcm.ipc_key
|
||||
}
|
||||
ipc_gid {
|
||||
@func refer
|
||||
name defaults.pcm.ipc_gid
|
||||
}
|
||||
ipc_perm {
|
||||
@func refer
|
||||
name defaults.pcm.ipc_perm
|
||||
}
|
||||
tstamp_type {
|
||||
@func refer
|
||||
name defaults.pcm.tstamp_type
|
||||
}
|
||||
slave {
|
||||
pcm {
|
||||
type hw
|
||||
card $CARD
|
||||
device $DEV
|
||||
subdevice $SUBDEV
|
||||
}
|
||||
format $FORMAT
|
||||
rate $RATE
|
||||
period_size {
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"cards."
|
||||
{
|
||||
@func card_driver
|
||||
card $CARD
|
||||
}
|
||||
".pcm.dsnoop.period_size"
|
||||
]
|
||||
}
|
||||
default 1024
|
||||
}
|
||||
period_time {
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"cards."
|
||||
{
|
||||
@func card_driver
|
||||
card $CARD
|
||||
}
|
||||
".pcm.dsnoop.period_time"
|
||||
]
|
||||
}
|
||||
default -1
|
||||
}
|
||||
periods {
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"cards."
|
||||
{
|
||||
@func card_driver
|
||||
card $CARD
|
||||
}
|
||||
".pcm.dsnoop.periods"
|
||||
]
|
||||
}
|
||||
default 16
|
||||
}
|
||||
}
|
||||
hint {
|
||||
show {
|
||||
@func refer
|
||||
name defaults.namehint.extended
|
||||
}
|
||||
description "Direct sample snooping device"
|
||||
device_input $DEV
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
#
|
||||
# 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
|
||||
}
|
||||
}
|
||||
}
|
||||
type empty
|
||||
slave.pcm {
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"cards."
|
||||
{
|
||||
@func card_driver
|
||||
card $CARD
|
||||
}
|
||||
".pcm.front." $DEV ":CARD=" $CARD
|
||||
]
|
||||
}
|
||||
}
|
||||
hint {
|
||||
show {
|
||||
@func refer
|
||||
name defaults.namehint.basic
|
||||
}
|
||||
description "Front output / input"
|
||||
device_output $DEV
|
||||
device_input $DEV
|
||||
omit_noargs true
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,83 @@
|
||||
#
|
||||
# Hardware output from HDMI
|
||||
#
|
||||
|
||||
pcm.!hdmi {
|
||||
@args [ CARD DEV AES0 AES1 AES2 AES3 ]
|
||||
@args.CARD {
|
||||
type string
|
||||
default {
|
||||
@func getenv
|
||||
vars [
|
||||
ALSA_IEC958_CARD
|
||||
ALSA_PCM_CARD
|
||||
ALSA_CARD
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.iec958.card
|
||||
}
|
||||
}
|
||||
}
|
||||
@args.DEV {
|
||||
type integer
|
||||
default {
|
||||
@func igetenv
|
||||
vars [
|
||||
ALSA_IEC958_DEVICE
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.iec958.device
|
||||
}
|
||||
}
|
||||
}
|
||||
@args.AES0 {
|
||||
type integer
|
||||
# consumer, not-copyright, emphasis-none, mode=0
|
||||
default 0x04
|
||||
}
|
||||
@args.AES1 {
|
||||
type integer
|
||||
# original, PCM coder
|
||||
default 0x82
|
||||
}
|
||||
@args.AES2 {
|
||||
type integer
|
||||
# source and channel
|
||||
default 0x00
|
||||
}
|
||||
@args.AES3 {
|
||||
type integer
|
||||
# fs=48000Hz, clock accuracy=1000ppm
|
||||
default 0x02
|
||||
}
|
||||
type empty
|
||||
slave.pcm {
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"cards."
|
||||
{
|
||||
@func card_driver
|
||||
card $CARD
|
||||
}
|
||||
".pcm.hdmi." $DEV ":"
|
||||
"CARD=" $CARD ","
|
||||
"AES0=" $AES0 ","
|
||||
"AES1=" $AES1 ","
|
||||
"AES2=" $AES2 ","
|
||||
"AES3=" $AES3
|
||||
]
|
||||
}
|
||||
}
|
||||
hint {
|
||||
show {
|
||||
@func refer
|
||||
name defaults.namehint.basic
|
||||
}
|
||||
description "HDMI Audio Output"
|
||||
device $DEV
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,83 @@
|
||||
#
|
||||
# Hardware output from iec958
|
||||
#
|
||||
|
||||
pcm.!iec958 {
|
||||
@args [ CARD DEV AES0 AES1 AES2 AES3 ]
|
||||
@args.CARD {
|
||||
type string
|
||||
default {
|
||||
@func getenv
|
||||
vars [
|
||||
ALSA_IEC958_CARD
|
||||
ALSA_PCM_CARD
|
||||
ALSA_CARD
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.iec958.card
|
||||
}
|
||||
}
|
||||
}
|
||||
@args.DEV {
|
||||
type integer
|
||||
default {
|
||||
@func igetenv
|
||||
vars [
|
||||
ALSA_IEC958_DEVICE
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.iec958.device
|
||||
}
|
||||
}
|
||||
}
|
||||
@args.AES0 {
|
||||
type integer
|
||||
# consumer, not-copyright, emphasis-none, mode=0
|
||||
default 0x04
|
||||
}
|
||||
@args.AES1 {
|
||||
type integer
|
||||
# original, PCM coder
|
||||
default 0x82
|
||||
}
|
||||
@args.AES2 {
|
||||
type integer
|
||||
# source and channel
|
||||
default 0x00
|
||||
}
|
||||
@args.AES3 {
|
||||
type integer
|
||||
# fs=48000Hz, clock accuracy=1000ppm
|
||||
default 0x02
|
||||
}
|
||||
type empty
|
||||
slave.pcm {
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"cards."
|
||||
{
|
||||
@func card_driver
|
||||
card $CARD
|
||||
}
|
||||
".pcm.iec958." $DEV ":"
|
||||
"CARD=" $CARD ","
|
||||
"AES0=" $AES0 ","
|
||||
"AES1=" $AES1 ","
|
||||
"AES2=" $AES2 ","
|
||||
"AES3=" $AES3
|
||||
]
|
||||
}
|
||||
}
|
||||
hint {
|
||||
show {
|
||||
@func refer
|
||||
name defaults.namehint.basic
|
||||
}
|
||||
description "IEC958 (S/PDIF) Digital Audio Output"
|
||||
device_output $DEV
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,106 @@
|
||||
#
|
||||
# "raw" modem - phoneline
|
||||
#
|
||||
|
||||
pcm.!phoneline {
|
||||
@args [ CARD DEV ]
|
||||
@args.CARD {
|
||||
type string
|
||||
default {
|
||||
@func getenv
|
||||
vars [
|
||||
ALSA_MODEM_CARD
|
||||
ALSA_PCM_CARD
|
||||
ALSA_CARD
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.modem.card
|
||||
}
|
||||
}
|
||||
}
|
||||
@args.DEV {
|
||||
type integer
|
||||
default {
|
||||
@func igetenv
|
||||
vars [
|
||||
ALSA_MODEM_DEVICE
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.modem.device
|
||||
}
|
||||
}
|
||||
}
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"cards."
|
||||
{
|
||||
@func card_driver
|
||||
card $CARD
|
||||
}
|
||||
".pcm.modem." $DEV ":CARD=" $CARD
|
||||
]
|
||||
}
|
||||
hint.show off
|
||||
}
|
||||
|
||||
#
|
||||
# "autohooked" modem
|
||||
#
|
||||
|
||||
pcm.!modem {
|
||||
@args [ CARD DEV ]
|
||||
@args.CARD {
|
||||
type string
|
||||
default {
|
||||
@func getenv
|
||||
vars [
|
||||
ALSA_MODEM_CARD
|
||||
ALSA_PCM_CARD
|
||||
ALSA_CARD
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.modem.card
|
||||
}
|
||||
}
|
||||
}
|
||||
@args.DEV {
|
||||
type integer
|
||||
default {
|
||||
@func igetenv
|
||||
vars [
|
||||
ALSA_MODEM_DEVICE
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.modem.device
|
||||
}
|
||||
}
|
||||
}
|
||||
type hooks
|
||||
slave {
|
||||
pcm {
|
||||
@func concat
|
||||
strings [
|
||||
"cards.pcm.phoneline:CARD=" $CARD ",DEV=" $DEV
|
||||
]
|
||||
}
|
||||
}
|
||||
hooks.0 {
|
||||
type ctl_elems
|
||||
hook_args [
|
||||
{
|
||||
name "Off-hook Switch"
|
||||
preserve true
|
||||
value "on"
|
||||
lock false
|
||||
optional true
|
||||
}
|
||||
]
|
||||
}
|
||||
hint.show off
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
#
|
||||
# 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
|
||||
}
|
||||
}
|
||||
}
|
||||
type empty
|
||||
slave.pcm {
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"cards."
|
||||
{
|
||||
@func card_driver
|
||||
card $CARD
|
||||
}
|
||||
".pcm.rear." $DEV ":CARD=" $CARD
|
||||
]
|
||||
}
|
||||
}
|
||||
hint {
|
||||
show {
|
||||
@func refer
|
||||
name defaults.namehint.basic
|
||||
}
|
||||
description "Rear speakers"
|
||||
device $DEV
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
#
|
||||
# Hardware output from side speakers
|
||||
#
|
||||
|
||||
pcm.!side {
|
||||
@args [ CARD DEV ]
|
||||
@args.CARD {
|
||||
type string
|
||||
default {
|
||||
@func getenv
|
||||
vars [
|
||||
ALSA_SIDE_CARD
|
||||
ALSA_PCM_CARD
|
||||
ALSA_CARD
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.side.card
|
||||
}
|
||||
}
|
||||
}
|
||||
@args.DEV {
|
||||
type integer
|
||||
default {
|
||||
@func igetenv
|
||||
vars [
|
||||
ALSA_SIDE_DEVICE
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.side.device
|
||||
}
|
||||
}
|
||||
}
|
||||
type empty
|
||||
slave.pcm {
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"cards."
|
||||
{
|
||||
@func card_driver
|
||||
card $CARD
|
||||
}
|
||||
".pcm.side." $DEV ":CARD=" $CARD
|
||||
]
|
||||
}
|
||||
}
|
||||
hint {
|
||||
show {
|
||||
@func refer
|
||||
name defaults.namehint.basic
|
||||
}
|
||||
description "Side speakers"
|
||||
device $DEV
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
#
|
||||
# Hardware output from 2.1 speakers.
|
||||
# Samples must be positioned:
|
||||
# chn0 - front left
|
||||
# chn1 - front right
|
||||
# chn2 - LFE
|
||||
#
|
||||
|
||||
pcm.!surround21 {
|
||||
@args [ CARD DEV ]
|
||||
@args.CARD {
|
||||
type string
|
||||
default {
|
||||
@func getenv
|
||||
vars [
|
||||
ALSA_SURROUND21_CARD
|
||||
ALSA_PCM_CARD
|
||||
ALSA_CARD
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.surround21.card
|
||||
}
|
||||
}
|
||||
}
|
||||
@args.DEV {
|
||||
type integer
|
||||
default {
|
||||
@func igetenv
|
||||
vars [
|
||||
ALSA_SURROUND21_DEVICE
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.surround21.device
|
||||
}
|
||||
}
|
||||
}
|
||||
type route
|
||||
slave.pcm {
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"cards."
|
||||
{
|
||||
@func card_driver
|
||||
card $CARD
|
||||
}
|
||||
".pcm.surround51." $DEV ":CARD=" $CARD
|
||||
]
|
||||
}
|
||||
}
|
||||
ttable.0.FL 1
|
||||
ttable.1.FR 1
|
||||
ttable.2.LFE 1
|
||||
hint {
|
||||
description "2.1 Surround output to Front and Subwoofer speakers"
|
||||
device_output $DEV
|
||||
omit_noargs true
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
#
|
||||
# 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
|
||||
}
|
||||
}
|
||||
}
|
||||
type empty
|
||||
slave.pcm {
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"cards."
|
||||
{
|
||||
@func card_driver
|
||||
card $CARD
|
||||
}
|
||||
".pcm.surround40." $DEV ":CARD=" $CARD
|
||||
]
|
||||
}
|
||||
}
|
||||
hint {
|
||||
description "4.0 Surround output to Front and Rear speakers"
|
||||
device_output $DEV
|
||||
omit_noargs true
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
#
|
||||
# Hardware output from 4.1 speakers.
|
||||
# Samples must be positioned:
|
||||
# chn0 - front left
|
||||
# chn1 - front right
|
||||
# chn2 - rear left
|
||||
# chn3 - rear right
|
||||
# chn4 - LFE
|
||||
#
|
||||
|
||||
pcm.!surround41 {
|
||||
@args [ CARD DEV ]
|
||||
@args.CARD {
|
||||
type string
|
||||
default {
|
||||
@func getenv
|
||||
vars [
|
||||
ALSA_SURROUND41_CARD
|
||||
ALSA_PCM_CARD
|
||||
ALSA_CARD
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.surround41.card
|
||||
}
|
||||
}
|
||||
}
|
||||
@args.DEV {
|
||||
type integer
|
||||
default {
|
||||
@func igetenv
|
||||
vars [
|
||||
ALSA_SURROUND41_DEVICE
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.surround41.device
|
||||
}
|
||||
}
|
||||
}
|
||||
type route
|
||||
slave.pcm {
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"cards."
|
||||
{
|
||||
@func card_driver
|
||||
card $CARD
|
||||
}
|
||||
".pcm.surround51." $DEV ":CARD=" $CARD
|
||||
]
|
||||
}
|
||||
}
|
||||
ttable.0.FL 1
|
||||
ttable.1.FR 1
|
||||
ttable.2.RL 1
|
||||
ttable.3.RR 1
|
||||
ttable.4.LFE 1
|
||||
hint {
|
||||
description "4.1 Surround output to Front, Rear and Subwoofer speakers"
|
||||
device_output $DEV
|
||||
omit_noargs true
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
#
|
||||
# Hardware output from 5.0 speakers.
|
||||
# Samples must be positioned:
|
||||
# chn0 - front left
|
||||
# chn1 - front right
|
||||
# chn2 - rear left
|
||||
# chn3 - rear right
|
||||
# chn4 - center
|
||||
#
|
||||
|
||||
pcm.!surround50 {
|
||||
@args [ CARD DEV ]
|
||||
@args.CARD {
|
||||
type string
|
||||
default {
|
||||
@func getenv
|
||||
vars [
|
||||
ALSA_SURROUND50_CARD
|
||||
ALSA_PCM_CARD
|
||||
ALSA_CARD
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.surround50.card
|
||||
}
|
||||
}
|
||||
}
|
||||
@args.DEV {
|
||||
type integer
|
||||
default {
|
||||
@func igetenv
|
||||
vars [
|
||||
ALSA_SURROUND50_DEVICE
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.surround50.device
|
||||
}
|
||||
}
|
||||
}
|
||||
type route
|
||||
slave.pcm {
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"cards."
|
||||
{
|
||||
@func card_driver
|
||||
card $CARD
|
||||
}
|
||||
".pcm.surround51." $DEV ":CARD=" $CARD
|
||||
]
|
||||
}
|
||||
}
|
||||
ttable.0.FL 1
|
||||
ttable.1.FR 1
|
||||
ttable.2.RL 1
|
||||
ttable.3.RR 1
|
||||
ttable.4.FC 1
|
||||
hint {
|
||||
description "5.0 Surround output to Front, Center and Rear speakers"
|
||||
device_output $DEV
|
||||
omit_noargs true
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
#
|
||||
# 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
|
||||
}
|
||||
}
|
||||
}
|
||||
type empty
|
||||
slave.pcm {
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"cards."
|
||||
{
|
||||
@func card_driver
|
||||
card $CARD
|
||||
}
|
||||
".pcm.surround51." $DEV ":CARD=" $CARD
|
||||
]
|
||||
}
|
||||
}
|
||||
hint {
|
||||
description "5.1 Surround output to Front, Center, Rear and Subwoofer speakers"
|
||||
device_output $DEV
|
||||
omit_noargs true
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
#
|
||||
# Hardware output from 7.1 speakers
|
||||
# Samples must be positioned:
|
||||
# chn0 - front left
|
||||
# chn1 - front right
|
||||
# chn2 - rear left
|
||||
# chn3 - rear right
|
||||
# chn4 - center
|
||||
# chn5 - lfe
|
||||
# chn6 - side left
|
||||
# chn7 - side right
|
||||
#
|
||||
|
||||
pcm.!surround71 {
|
||||
@args [ CARD DEV ]
|
||||
@args.CARD {
|
||||
type string
|
||||
default {
|
||||
@func getenv
|
||||
vars [
|
||||
ALSA_SURROUND71_CARD
|
||||
ALSA_PCM_CARD
|
||||
ALSA_CARD
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.surround71.card
|
||||
}
|
||||
}
|
||||
}
|
||||
@args.DEV {
|
||||
type integer
|
||||
default {
|
||||
@func igetenv
|
||||
vars [
|
||||
ALSA_SURROUND71_DEVICE
|
||||
]
|
||||
default {
|
||||
@func refer
|
||||
name defaults.pcm.surround71.device
|
||||
}
|
||||
}
|
||||
}
|
||||
type empty
|
||||
slave.pcm {
|
||||
@func refer
|
||||
name {
|
||||
@func concat
|
||||
strings [
|
||||
"cards."
|
||||
{
|
||||
@func card_driver
|
||||
card $CARD
|
||||
}
|
||||
".pcm.surround71." $DEV ":CARD=" $CARD
|
||||
]
|
||||
}
|
||||
}
|
||||
hint {
|
||||
description "7.1 Surround output to Front, Center, Side, Rear and Woofer speakers"
|
||||
device_output $DEV
|
||||
omit_noargs true
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
0, "Front Left", "/usr/share/alsa/samples/Front_Left.wav"
|
||||
1, "Front Right", "/usr/share/alsa/samples/Front_Right.wav"
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user