This commit is contained in:
2025-09-27 22:09:23 +03:00
commit 914c0295ac
2468 changed files with 204262 additions and 0 deletions

View File

@@ -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
}
}

View File

@@ -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
}
}
}

View File

@@ -0,0 +1,115 @@
#
# dmix output
#
pcm.!dmix {
@args [ CARD DEV SUBDEV FORMAT RATE ]
@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
}
}
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
}
slave {
pcm {
type hw
card $CARD
device $DEV
subdevice $SUBDEV
}
format $FORMAT
rate $RATE
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
}
}

View File

@@ -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
}

View File

@@ -0,0 +1,115 @@
#
# 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
}
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
}
}

View File

@@ -0,0 +1,58 @@
#
# 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 speakers"
device $DEV
}
}

View File

@@ -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
}
}

View File

@@ -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 $DEV
}
}

View File

@@ -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
}

View File

@@ -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
}
}

View File

@@ -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
}
}

View File

@@ -0,0 +1,61 @@
#
# 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
}
}

View File

@@ -0,0 +1,59 @@
#
# 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
}
}

View File

@@ -0,0 +1,65 @@
#
# 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
}
}

View File

@@ -0,0 +1,65 @@
#
# 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
}
}

View File

@@ -0,0 +1,61 @@
#
# 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
}
}

View File

@@ -0,0 +1,63 @@
#
# 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
}
}