mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2025-11-05 13:30:00 -05:00
Added snd_func_macro and added 'defaults.*' definitions to alsa.conf.
Changed arguments CARD to string (to accept card IDs). Enhanced function card_strtype to accept card IDs.
This commit is contained in:
parent
455edb9e21
commit
0c5b3434a8
9 changed files with 220 additions and 77 deletions
193
src/alsa.conf
193
src/alsa.conf
|
|
@ -11,6 +11,18 @@ preload {
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# defaults
|
||||||
|
|
||||||
|
defaults.ctl.card 0
|
||||||
|
defaults.pcm.card 0
|
||||||
|
defaults.pcm.device 0
|
||||||
|
defaults.pcm.subdevice -1
|
||||||
|
defaults.pcm.front.card defaults.pcm.card
|
||||||
|
defaults.pcm.front.device defaults.pcm.device
|
||||||
|
defaults.rawmidi.card 0
|
||||||
|
defaults.rawmidi.device 0
|
||||||
|
defaults.rawmidi.subdevice -1
|
||||||
|
|
||||||
#
|
#
|
||||||
# PCM interface
|
# PCM interface
|
||||||
#
|
#
|
||||||
|
|
@ -18,14 +30,17 @@ preload {
|
||||||
pcm.hw {
|
pcm.hw {
|
||||||
@args [ CARD DEV SUBDEV ]
|
@args [ CARD DEV SUBDEV ]
|
||||||
@args.CARD {
|
@args.CARD {
|
||||||
type integer
|
type string
|
||||||
default {
|
default {
|
||||||
@func igetenv
|
@func getenv
|
||||||
vars [
|
vars [
|
||||||
ALSA_PCM_CARD
|
ALSA_PCM_CARD
|
||||||
ALSA_CARD
|
ALSA_CARD
|
||||||
]
|
]
|
||||||
default 0
|
default {
|
||||||
|
@func macro
|
||||||
|
name defaults.pcm.card
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@args.DEV {
|
@args.DEV {
|
||||||
|
|
@ -35,12 +50,18 @@ pcm.hw {
|
||||||
vars [
|
vars [
|
||||||
ALSA_PCM_DEVICE
|
ALSA_PCM_DEVICE
|
||||||
]
|
]
|
||||||
default 0
|
default {
|
||||||
|
@func macro
|
||||||
|
name defaults.pcm.device
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@args.SUBDEV {
|
@args.SUBDEV {
|
||||||
type integer
|
type integer
|
||||||
default -1
|
default {
|
||||||
|
@func macro
|
||||||
|
name defaults.pcm.subdevice
|
||||||
|
}
|
||||||
}
|
}
|
||||||
type hw
|
type hw
|
||||||
card $CARD
|
card $CARD
|
||||||
|
|
@ -51,14 +72,17 @@ pcm.hw {
|
||||||
pcm.plughw {
|
pcm.plughw {
|
||||||
@args [ CARD DEV SUBDEV ]
|
@args [ CARD DEV SUBDEV ]
|
||||||
@args.CARD {
|
@args.CARD {
|
||||||
type integer
|
type string
|
||||||
default {
|
default {
|
||||||
@func igetenv
|
@func getenv
|
||||||
vars [
|
vars [
|
||||||
ALSA_PCM_CARD
|
ALSA_PCM_CARD
|
||||||
ALSA_CARD
|
ALSA_CARD
|
||||||
]
|
]
|
||||||
default 0
|
default {
|
||||||
|
@func macro
|
||||||
|
name defaults.pcm.card
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@args.DEV {
|
@args.DEV {
|
||||||
|
|
@ -68,12 +92,18 @@ pcm.plughw {
|
||||||
vars [
|
vars [
|
||||||
ALSA_PCM_DEVICE
|
ALSA_PCM_DEVICE
|
||||||
]
|
]
|
||||||
default 0
|
default {
|
||||||
|
@func macro
|
||||||
|
name defaults.pcm.device
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@args.SUBDEV {
|
@args.SUBDEV {
|
||||||
type integer
|
type integer
|
||||||
default -1
|
default {
|
||||||
|
@func macro
|
||||||
|
name defaults.pcm.subdevice
|
||||||
|
}
|
||||||
}
|
}
|
||||||
type plug
|
type plug
|
||||||
slave.pcm {
|
slave.pcm {
|
||||||
|
|
@ -148,36 +178,48 @@ pcm.default {
|
||||||
slave.pcm {
|
slave.pcm {
|
||||||
type hw
|
type hw
|
||||||
card {
|
card {
|
||||||
@func igetenv
|
@func getenv
|
||||||
vars [
|
vars [
|
||||||
ALSA_PCM_CARD
|
ALSA_PCM_CARD
|
||||||
ALSA_CARD
|
ALSA_CARD
|
||||||
]
|
]
|
||||||
default 0
|
default {
|
||||||
|
@func macro
|
||||||
|
name defaults.pcm.card
|
||||||
|
}
|
||||||
}
|
}
|
||||||
device {
|
device {
|
||||||
@func igetenv
|
@func igetenv
|
||||||
vars [
|
vars [
|
||||||
ALSA_PCM_DEVICE
|
ALSA_PCM_DEVICE
|
||||||
]
|
]
|
||||||
default 0
|
default {
|
||||||
|
@func macro
|
||||||
|
name defaults.pcm.device
|
||||||
|
}
|
||||||
|
}
|
||||||
|
subdevice {
|
||||||
|
@func macro
|
||||||
|
name defaults.pcm.subdevice
|
||||||
}
|
}
|
||||||
subdevice -1
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pcm.front {
|
pcm.front {
|
||||||
@args [ CARD DEV ]
|
@args [ CARD DEV ]
|
||||||
@args.CARD {
|
@args.CARD {
|
||||||
type integer
|
type string
|
||||||
default {
|
default {
|
||||||
@func igetenv
|
@func getenv
|
||||||
vars [
|
vars [
|
||||||
ALSA_FRONT_CARD
|
ALSA_FRONT_CARD
|
||||||
ALSA_PCM_CARD
|
ALSA_PCM_CARD
|
||||||
ALSA_CARD
|
ALSA_CARD
|
||||||
]
|
]
|
||||||
default 0
|
default {
|
||||||
|
@func macro
|
||||||
|
name defaults.pcm.front.card
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@args.DEV {
|
@args.DEV {
|
||||||
|
|
@ -187,7 +229,10 @@ pcm.front {
|
||||||
vars [
|
vars [
|
||||||
ALSA_FRONT_DEVICE
|
ALSA_FRONT_DEVICE
|
||||||
]
|
]
|
||||||
default 0
|
default {
|
||||||
|
@func macro
|
||||||
|
name defaults.pcm.front.device
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@func refer
|
@func refer
|
||||||
|
|
@ -221,15 +266,18 @@ pcm.front {
|
||||||
pcm.rear {
|
pcm.rear {
|
||||||
@args [ CARD DEV ]
|
@args [ CARD DEV ]
|
||||||
@args.CARD {
|
@args.CARD {
|
||||||
type integer
|
type string
|
||||||
default {
|
default {
|
||||||
@func igetenv
|
@func getenv
|
||||||
vars [
|
vars [
|
||||||
ALSA_REAR_CARD
|
ALSA_REAR_CARD
|
||||||
ALSA_PCM_CARD
|
ALSA_PCM_CARD
|
||||||
ALSA_CARD
|
ALSA_CARD
|
||||||
]
|
]
|
||||||
default 0
|
default {
|
||||||
|
@func macro
|
||||||
|
name defaults.pcm.rear.card
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@args.DEV {
|
@args.DEV {
|
||||||
|
|
@ -239,7 +287,10 @@ pcm.rear {
|
||||||
vars [
|
vars [
|
||||||
ALSA_REAR_DEVICE
|
ALSA_REAR_DEVICE
|
||||||
]
|
]
|
||||||
default 0
|
default {
|
||||||
|
@func macro
|
||||||
|
name defaults.pcm.rear.device
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@func refer
|
@func refer
|
||||||
|
|
@ -273,15 +324,18 @@ pcm.rear {
|
||||||
pcm.center_lfe {
|
pcm.center_lfe {
|
||||||
@args [ CARD DEV ]
|
@args [ CARD DEV ]
|
||||||
@args.CARD {
|
@args.CARD {
|
||||||
type integer
|
type string
|
||||||
default {
|
default {
|
||||||
@func igetenv
|
@func getenv
|
||||||
vars [
|
vars [
|
||||||
ALSA_CENTER_LFE_CARD
|
ALSA_CENTER_LFE_CARD
|
||||||
ALSA_PCM_CARD
|
ALSA_PCM_CARD
|
||||||
ALSA_CARD
|
ALSA_CARD
|
||||||
]
|
]
|
||||||
default 0
|
default {
|
||||||
|
@func macro
|
||||||
|
name defaults.pcm.center_lfe.card
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@args.DEV {
|
@args.DEV {
|
||||||
|
|
@ -291,7 +345,10 @@ pcm.center_lfe {
|
||||||
vars [
|
vars [
|
||||||
ALSA_CENTER_LFE_DEVICE
|
ALSA_CENTER_LFE_DEVICE
|
||||||
]
|
]
|
||||||
default 0
|
default {
|
||||||
|
@func macro
|
||||||
|
name defaults.pcm.center_lfe.device
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@func refer
|
@func refer
|
||||||
|
|
@ -325,15 +382,18 @@ pcm.center_lfe {
|
||||||
pcm.surround40 {
|
pcm.surround40 {
|
||||||
@args [ CARD DEV ]
|
@args [ CARD DEV ]
|
||||||
@args.CARD {
|
@args.CARD {
|
||||||
type integer
|
type string
|
||||||
default {
|
default {
|
||||||
@func igetenv
|
@func getenv
|
||||||
vars [
|
vars [
|
||||||
ALSA_SURROUND40_CARD
|
ALSA_SURROUND40_CARD
|
||||||
ALSA_PCM_CARD
|
ALSA_PCM_CARD
|
||||||
ALSA_CARD
|
ALSA_CARD
|
||||||
]
|
]
|
||||||
default 0
|
default {
|
||||||
|
@func macro
|
||||||
|
name defaults.pcm.surround40.card
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@args.DEV {
|
@args.DEV {
|
||||||
|
|
@ -343,7 +403,10 @@ pcm.surround40 {
|
||||||
vars [
|
vars [
|
||||||
ALSA_SURROUND40_DEVICE
|
ALSA_SURROUND40_DEVICE
|
||||||
]
|
]
|
||||||
default 0
|
default {
|
||||||
|
@func macro
|
||||||
|
name defaults.pcm.surround40.device
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@func refer
|
@func refer
|
||||||
|
|
@ -377,15 +440,18 @@ pcm.surround40 {
|
||||||
pcm.surround51 {
|
pcm.surround51 {
|
||||||
@args [ CARD DEV ]
|
@args [ CARD DEV ]
|
||||||
@args.CARD {
|
@args.CARD {
|
||||||
type integer
|
type string
|
||||||
default {
|
default {
|
||||||
@func igetenv
|
@func getenv
|
||||||
vars [
|
vars [
|
||||||
ALSA_SURROUND51_CARD
|
ALSA_SURROUND51_CARD
|
||||||
ALSA_PCM_CARD
|
ALSA_PCM_CARD
|
||||||
ALSA_CARD
|
ALSA_CARD
|
||||||
]
|
]
|
||||||
default 0
|
default {
|
||||||
|
@func macro
|
||||||
|
name defaults.pcm.surround51.card
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@args.DEV {
|
@args.DEV {
|
||||||
|
|
@ -395,7 +461,10 @@ pcm.surround51 {
|
||||||
vars [
|
vars [
|
||||||
ALSA_SURROUND51_DEVICE
|
ALSA_SURROUND51_DEVICE
|
||||||
]
|
]
|
||||||
default 0
|
default {
|
||||||
|
@func macro
|
||||||
|
name defaults.pcm.surround51.device
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@func refer
|
@func refer
|
||||||
|
|
@ -429,15 +498,18 @@ pcm.surround51 {
|
||||||
pcm.iec958 {
|
pcm.iec958 {
|
||||||
@args [ CARD DEV AES0 AES1 AES2 AES3 ]
|
@args [ CARD DEV AES0 AES1 AES2 AES3 ]
|
||||||
@args.CARD {
|
@args.CARD {
|
||||||
type integer
|
type string
|
||||||
default {
|
default {
|
||||||
@func igetenv
|
@func getenv
|
||||||
vars [
|
vars [
|
||||||
ALSA_IEC958_CARD
|
ALSA_IEC958_CARD
|
||||||
ALSA_PCM_CARD
|
ALSA_PCM_CARD
|
||||||
ALSA_CARD
|
ALSA_CARD
|
||||||
]
|
]
|
||||||
default 0
|
default {
|
||||||
|
@func macro
|
||||||
|
name defaults.pcm.iec958.card
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@args.DEV {
|
@args.DEV {
|
||||||
|
|
@ -447,7 +519,10 @@ pcm.iec958 {
|
||||||
vars [
|
vars [
|
||||||
ALSA_IEC958_DEVICE
|
ALSA_IEC958_DEVICE
|
||||||
]
|
]
|
||||||
default 0
|
default {
|
||||||
|
@func macro
|
||||||
|
name defaults.pcm.iec958.device
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@args.AES0 {
|
@args.AES0 {
|
||||||
|
|
@ -512,14 +587,17 @@ pcm.spdif pcm.iec958
|
||||||
ctl.hw {
|
ctl.hw {
|
||||||
@args[ CARD ]
|
@args[ CARD ]
|
||||||
@args.CARD {
|
@args.CARD {
|
||||||
type integer
|
type string
|
||||||
default {
|
default {
|
||||||
@func igetenv
|
@func getenv
|
||||||
vars [
|
vars [
|
||||||
ALSA_CTL_CARD
|
ALSA_CTL_CARD
|
||||||
ALSA_CARD
|
ALSA_CARD
|
||||||
]
|
]
|
||||||
default 0
|
default {
|
||||||
|
@func macro
|
||||||
|
name defaults.ctl.card
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
type hw
|
type hw
|
||||||
|
|
@ -542,12 +620,15 @@ ctl.shm {
|
||||||
ctl.default {
|
ctl.default {
|
||||||
type hw
|
type hw
|
||||||
card {
|
card {
|
||||||
@func igetenv
|
@func getenv
|
||||||
vars [
|
vars [
|
||||||
ALSA_CTL_CARD
|
ALSA_CTL_CARD
|
||||||
ALSA_CARD
|
ALSA_CARD
|
||||||
]
|
]
|
||||||
default 0
|
default {
|
||||||
|
@func macro
|
||||||
|
name defaults.ctl.card
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -558,14 +639,17 @@ ctl.default {
|
||||||
rawmidi.hw {
|
rawmidi.hw {
|
||||||
@args [ CARD DEV SUBDEV ]
|
@args [ CARD DEV SUBDEV ]
|
||||||
@args.CARD {
|
@args.CARD {
|
||||||
type integer
|
type string
|
||||||
default {
|
default {
|
||||||
@func igetenv
|
@func getenv
|
||||||
vars [
|
vars [
|
||||||
ALSA_RAWMIDI_CARD
|
ALSA_RAWMIDI_CARD
|
||||||
ALSA_CARD
|
ALSA_CARD
|
||||||
]
|
]
|
||||||
default 0
|
default {
|
||||||
|
@func macro
|
||||||
|
name defaults.rawmidi.card
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@args.DEV {
|
@args.DEV {
|
||||||
|
|
@ -575,7 +659,10 @@ rawmidi.hw {
|
||||||
vars [
|
vars [
|
||||||
ALSA_RAWMIDI_DEVICE
|
ALSA_RAWMIDI_DEVICE
|
||||||
]
|
]
|
||||||
default 0
|
default {
|
||||||
|
@func macro
|
||||||
|
name defaults.rawmidi.device
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@args.SUBDEV {
|
@args.SUBDEV {
|
||||||
|
|
@ -591,19 +678,25 @@ rawmidi.hw {
|
||||||
rawmidi.default {
|
rawmidi.default {
|
||||||
type hw
|
type hw
|
||||||
card {
|
card {
|
||||||
@func igetenv
|
@func getenv
|
||||||
vars [
|
vars [
|
||||||
ALSA_RAWMIDI_CARD
|
ALSA_RAWMIDI_CARD
|
||||||
ALSA_CARD
|
ALSA_CARD
|
||||||
]
|
]
|
||||||
default 0
|
default {
|
||||||
|
@func macro
|
||||||
|
name defaults.rawmidi.card
|
||||||
|
}
|
||||||
}
|
}
|
||||||
device {
|
device {
|
||||||
@func igetenv
|
@func igetenv
|
||||||
vars [
|
vars [
|
||||||
ALSA_RAWMIDI_DEVICE
|
ALSA_RAWMIDI_DEVICE
|
||||||
]
|
]
|
||||||
default 0
|
default {
|
||||||
|
@func macro
|
||||||
|
name defaults.rawmidi.device
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
cards.EMU10K1.pcm.front.0 {
|
cards.EMU10K1.pcm.front.0 {
|
||||||
@args [ CARD ]
|
@args [ CARD ]
|
||||||
@args.CARD {
|
@args.CARD {
|
||||||
type integer
|
type string
|
||||||
}
|
}
|
||||||
type hw
|
type hw
|
||||||
card $CARD
|
card $CARD
|
||||||
|
|
@ -15,7 +15,7 @@ cards.EMU10K1.pcm.front.0 {
|
||||||
cards.EMU10K1.pcm.rear.0 {
|
cards.EMU10K1.pcm.rear.0 {
|
||||||
@args [ CARD ]
|
@args [ CARD ]
|
||||||
@args.CARD {
|
@args.CARD {
|
||||||
type integer
|
type string
|
||||||
}
|
}
|
||||||
type hooks
|
type hooks
|
||||||
slave.pcm {
|
slave.pcm {
|
||||||
|
|
@ -44,6 +44,9 @@ cards.EMU10K1.pcm.rear.0 {
|
||||||
|
|
||||||
cards.EMU10K1.pcm.center_lfe {
|
cards.EMU10K1.pcm.center_lfe {
|
||||||
@args [ CARD ]
|
@args [ CARD ]
|
||||||
|
@args.CARD {
|
||||||
|
type string
|
||||||
|
}
|
||||||
type hooks
|
type hooks
|
||||||
slave.pcm {
|
slave.pcm {
|
||||||
type hw
|
type hw
|
||||||
|
|
@ -84,7 +87,7 @@ cards.EMU10K1.pcm.center_lfe {
|
||||||
cards.EMU10K1.pcm.surround40.0 {
|
cards.EMU10K1.pcm.surround40.0 {
|
||||||
@args [ CARD ]
|
@args [ CARD ]
|
||||||
@args.CARD {
|
@args.CARD {
|
||||||
type integer
|
type string
|
||||||
}
|
}
|
||||||
type multi
|
type multi
|
||||||
slaves [
|
slaves [
|
||||||
|
|
@ -118,7 +121,7 @@ cards.EMU10K1.pcm.surround40.0 {
|
||||||
cards.EMU10K1.pcm.surround51.0 {
|
cards.EMU10K1.pcm.surround51.0 {
|
||||||
@args [ CARD ]
|
@args [ CARD ]
|
||||||
@args.CARD {
|
@args.CARD {
|
||||||
type integer
|
type string
|
||||||
}
|
}
|
||||||
type multi
|
type multi
|
||||||
slaves [
|
slaves [
|
||||||
|
|
@ -163,7 +166,7 @@ cards.EMU10K1.pcm.surround51.0 {
|
||||||
cards.EMU10K1.pcm.iec958.0 {
|
cards.EMU10K1.pcm.iec958.0 {
|
||||||
@args [ CARD DEV AES0 AES1 AES2 AES3 ]
|
@args [ CARD DEV AES0 AES1 AES2 AES3 ]
|
||||||
@args.CARD {
|
@args.CARD {
|
||||||
type integer
|
type string
|
||||||
}
|
}
|
||||||
@args.DEV {
|
@args.DEV {
|
||||||
type integer
|
type integer
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
cards.ENS1370.pcm.front.0 {
|
cards.ENS1370.pcm.front.0 {
|
||||||
@args [ CARD ]
|
@args [ CARD ]
|
||||||
@args.CARD {
|
@args.CARD {
|
||||||
type integer
|
type string
|
||||||
}
|
}
|
||||||
type hw
|
type hw
|
||||||
card $CARD
|
card $CARD
|
||||||
|
|
@ -15,7 +15,7 @@ cards.ENS1370.pcm.front.0 {
|
||||||
cards.ENS1370.pcm.rear.0 {
|
cards.ENS1370.pcm.rear.0 {
|
||||||
@args [ CARD ]
|
@args [ CARD ]
|
||||||
@args.CARD {
|
@args.CARD {
|
||||||
type integer
|
type string
|
||||||
}
|
}
|
||||||
type hooks
|
type hooks
|
||||||
slave.pcm {
|
slave.pcm {
|
||||||
|
|
@ -45,7 +45,7 @@ cards.ENS1370.pcm.rear.0 {
|
||||||
cards.ENS1370.pcm.surround40.0 {
|
cards.ENS1370.pcm.surround40.0 {
|
||||||
@args [ CARD ]
|
@args [ CARD ]
|
||||||
@args.CARD {
|
@args.CARD {
|
||||||
type integer
|
type string
|
||||||
}
|
}
|
||||||
type multi
|
type multi
|
||||||
master 1
|
master 1
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
cards.FM801.front.0 {
|
cards.FM801.front.0 {
|
||||||
@args [ CARD ]
|
@args [ CARD ]
|
||||||
@args.CARD {
|
@args.CARD {
|
||||||
type integer
|
type string
|
||||||
}
|
}
|
||||||
type hw
|
type hw
|
||||||
card $CARD
|
card $CARD
|
||||||
|
|
@ -18,7 +18,7 @@ cards.FM801.surround51.0 "cards.FM801.front.0"
|
||||||
cards.FM801.iec958.0 {
|
cards.FM801.iec958.0 {
|
||||||
@args [ CARD DEV AES0 AES1 AES2 AES3 ]
|
@args [ CARD DEV AES0 AES1 AES2 AES3 ]
|
||||||
@args.CARD {
|
@args.CARD {
|
||||||
type integer
|
type string
|
||||||
}
|
}
|
||||||
@args.DEV {
|
@args.DEV {
|
||||||
type integer
|
type integer
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
cards.INTEL8X0.pcm.front.0 {
|
cards.INTEL8X0.pcm.front.0 {
|
||||||
@args [ CARD ]
|
@args [ CARD ]
|
||||||
@args.CARD {
|
@args.CARD {
|
||||||
type integer
|
type string
|
||||||
}
|
}
|
||||||
type hw
|
type hw
|
||||||
card $CARD
|
card $CARD
|
||||||
|
|
@ -15,7 +15,7 @@ cards.INTEL8X0.pcm.front.0 {
|
||||||
cards.INTEL8X0.pcm.surround40.0 {
|
cards.INTEL8X0.pcm.surround40.0 {
|
||||||
@args [ CARD ]
|
@args [ CARD ]
|
||||||
@args.CARD {
|
@args.CARD {
|
||||||
type integer
|
type string
|
||||||
}
|
}
|
||||||
type multi
|
type multi
|
||||||
slaves [
|
slaves [
|
||||||
|
|
@ -40,7 +40,7 @@ cards.INTEL8X0.pcm.surround40.0 {
|
||||||
cards.INTEL8X0.pcm.surround51.0 {
|
cards.INTEL8X0.pcm.surround51.0 {
|
||||||
@args [ CARD ]
|
@args [ CARD ]
|
||||||
@args.CARD {
|
@args.CARD {
|
||||||
type integer
|
type string
|
||||||
}
|
}
|
||||||
type multi
|
type multi
|
||||||
slaves [
|
slaves [
|
||||||
|
|
@ -67,7 +67,7 @@ cards.INTEL8X0.pcm.surround51.0 {
|
||||||
cards.INTEL8X0.pcm.iec958.0 {
|
cards.INTEL8X0.pcm.iec958.0 {
|
||||||
@args [ CARD DEV AES0 AES1 AES2 AES3 ]
|
@args [ CARD DEV AES0 AES1 AES2 AES3 ]
|
||||||
@args.CARD {
|
@args.CARD {
|
||||||
type integer
|
type string
|
||||||
}
|
}
|
||||||
@args.DEV {
|
@args.DEV {
|
||||||
type integer
|
type integer
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
cards.SI_7018.pcm.front.0 {
|
cards.SI_7018.pcm.front.0 {
|
||||||
@args [ CARD ]
|
@args [ CARD ]
|
||||||
@args.CARD {
|
@args.CARD {
|
||||||
type integer
|
type string
|
||||||
}
|
}
|
||||||
type hw
|
type hw
|
||||||
card $CARD
|
card $CARD
|
||||||
|
|
@ -15,7 +15,7 @@ cards.SI_7018.pcm.front.0 {
|
||||||
cards.SI_7018.pcm.rear.0 {
|
cards.SI_7018.pcm.rear.0 {
|
||||||
@args [ CARD ]
|
@args [ CARD ]
|
||||||
@args.CARD {
|
@args.CARD {
|
||||||
type integer
|
type string
|
||||||
}
|
}
|
||||||
type hooks
|
type hooks
|
||||||
slave.pcm {
|
slave.pcm {
|
||||||
|
|
@ -39,7 +39,7 @@ cards.SI_7018.pcm.rear.0 {
|
||||||
cards.SI_7018.pcm.surround40.0 {
|
cards.SI_7018.pcm.surround40.0 {
|
||||||
@args [ CARD ]
|
@args [ CARD ]
|
||||||
@args.CARD {
|
@args.CARD {
|
||||||
type integer
|
type string
|
||||||
}
|
}
|
||||||
type multi
|
type multi
|
||||||
slaves [
|
slaves [
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
cards.TRID4DWAVENX.pcm.front.0 {
|
cards.TRID4DWAVENX.pcm.front.0 {
|
||||||
@args [ CARD ]
|
@args [ CARD ]
|
||||||
@args.CARD {
|
@args.CARD {
|
||||||
type integer
|
type string
|
||||||
}
|
}
|
||||||
type hw
|
type hw
|
||||||
card $CARD
|
card $CARD
|
||||||
|
|
@ -15,7 +15,7 @@ cards.TRID4DWAVENX.pcm.front.0 {
|
||||||
cards.TRID4DWAVENX.pcm.rear.0 {
|
cards.TRID4DWAVENX.pcm.rear.0 {
|
||||||
@args [ CARD ]
|
@args [ CARD ]
|
||||||
@args.CARD {
|
@args.CARD {
|
||||||
type integer
|
type string
|
||||||
}
|
}
|
||||||
type hooks
|
type hooks
|
||||||
slave.pcm {
|
slave.pcm {
|
||||||
|
|
@ -53,7 +53,7 @@ cards.TRID4DWAVENX.pcm.rear.0 {
|
||||||
cards.TRID4DWAVENX.pcm.surround40.0 {
|
cards.TRID4DWAVENX.pcm.surround40.0 {
|
||||||
@args [ CARD ]
|
@args [ CARD ]
|
||||||
@args.CARD {
|
@args.CARD {
|
||||||
type integer
|
type string
|
||||||
}
|
}
|
||||||
type multi
|
type multi
|
||||||
slaves [
|
slaves [
|
||||||
|
|
@ -87,7 +87,7 @@ cards.TRID4DWAVENX.pcm.surround40.0 {
|
||||||
cards.TRID4DWAVENX.pcm.iec958.0 {
|
cards.TRID4DWAVENX.pcm.iec958.0 {
|
||||||
@args [ CARD AES0 AES1 AES2 AES3 ]
|
@args [ CARD AES0 AES1 AES2 AES3 ]
|
||||||
@args.CARD {
|
@args.CARD {
|
||||||
type integer
|
type string
|
||||||
}
|
}
|
||||||
@args.AES0 {
|
@args.AES0 {
|
||||||
type integer
|
type integer
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
cards.YMFPCI.front.0 {
|
cards.YMFPCI.front.0 {
|
||||||
@args [ CARD ]
|
@args [ CARD ]
|
||||||
@args.CARD {
|
@args.CARD {
|
||||||
type integer
|
type string
|
||||||
}
|
}
|
||||||
type hw
|
type hw
|
||||||
card $CARD
|
card $CARD
|
||||||
|
|
@ -15,7 +15,7 @@ cards.YMFPCI.front.0 {
|
||||||
cards.YMFPCI.rear.0 {
|
cards.YMFPCI.rear.0 {
|
||||||
@args [ CARD ]
|
@args [ CARD ]
|
||||||
@args.CARD {
|
@args.CARD {
|
||||||
type integer
|
type string
|
||||||
}
|
}
|
||||||
type hw
|
type hw
|
||||||
card $CARD
|
card $CARD
|
||||||
|
|
@ -25,7 +25,7 @@ cards.YMFPCI.rear.0 {
|
||||||
cards.YMFPCI.surround40.0 {
|
cards.YMFPCI.surround40.0 {
|
||||||
@args [ CARD ]
|
@args [ CARD ]
|
||||||
@args.CARD {
|
@args.CARD {
|
||||||
type integer
|
type string
|
||||||
}
|
}
|
||||||
type multi
|
type multi
|
||||||
slaves [
|
slaves [
|
||||||
|
|
@ -59,7 +59,7 @@ cards.YMFPCI.surround40.0 {
|
||||||
cards.YMFPCI.iec958.0 {
|
cards.YMFPCI.iec958.0 {
|
||||||
@args [ CARD DEV AES0 AES1 AES2 AES3 ]
|
@args [ CARD DEV AES0 AES1 AES2 AES3 ]
|
||||||
@args.CARD {
|
@args.CARD {
|
||||||
type integer
|
type string
|
||||||
}
|
}
|
||||||
@args.DEV {
|
@args.DEV {
|
||||||
type integer
|
type integer
|
||||||
|
|
|
||||||
|
|
@ -432,6 +432,7 @@ int snd_func_card_strtype(snd_config_t **dst, snd_config_t *root, snd_config_t *
|
||||||
{
|
{
|
||||||
snd_config_t *n;
|
snd_config_t *n;
|
||||||
char *res = NULL;
|
char *res = NULL;
|
||||||
|
char *str;
|
||||||
snd_ctl_t *ctl = NULL;
|
snd_ctl_t *ctl = NULL;
|
||||||
snd_ctl_card_info_t *info;
|
snd_ctl_card_info_t *info;
|
||||||
long v;
|
long v;
|
||||||
|
|
@ -447,11 +448,19 @@ int snd_func_card_strtype(snd_config_t **dst, snd_config_t *root, snd_config_t *
|
||||||
SNDERR("error evaluating card");
|
SNDERR("error evaluating card");
|
||||||
goto __error;
|
goto __error;
|
||||||
}
|
}
|
||||||
err = snd_config_get_integer(n, &v);
|
err = snd_config_get_ascii(n, &str);
|
||||||
if (err < 0) {
|
if (err < 0) {
|
||||||
SNDERR("field card is not an integer");
|
SNDERR("field card is not an integer or a string");
|
||||||
goto __error;
|
goto __error;
|
||||||
}
|
}
|
||||||
|
v = snd_card_get_index(str);
|
||||||
|
if (v < 0) {
|
||||||
|
SNDERR("cannot find card '%s'", str);
|
||||||
|
free(str);
|
||||||
|
err = v;
|
||||||
|
goto __error;
|
||||||
|
}
|
||||||
|
free(str);
|
||||||
err = open_ctl(v, &ctl);
|
err = open_ctl(v, &ctl);
|
||||||
if (err < 0) {
|
if (err < 0) {
|
||||||
SNDERR("could not open control for card %li", v);
|
SNDERR("could not open control for card %li", v);
|
||||||
|
|
@ -682,3 +691,41 @@ int snd_func_refer(snd_config_t **dst, snd_config_t *root, snd_config_t *src, vo
|
||||||
_end:
|
_end:
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int snd_func_macro(snd_config_t **dst, snd_config_t *root, snd_config_t *src, void *private_data)
|
||||||
|
{
|
||||||
|
snd_config_t *n;
|
||||||
|
const char *name;
|
||||||
|
char *buf = NULL;
|
||||||
|
int err;
|
||||||
|
|
||||||
|
err = snd_config_search(src, "name", &n);
|
||||||
|
if (err >= 0) {
|
||||||
|
err = snd_config_evaluate(n, root, private_data, NULL);
|
||||||
|
if (err < 0) {
|
||||||
|
SNDERR("error evaluating name");
|
||||||
|
goto _end;
|
||||||
|
}
|
||||||
|
err = snd_config_get_string(n, &name);
|
||||||
|
if (err < 0) {
|
||||||
|
SNDERR("name is not a string");
|
||||||
|
goto _end;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (strchr(name, '.') == NULL) {
|
||||||
|
buf = malloc(6 + strlen(name) + 1);
|
||||||
|
if (buf == NULL) {
|
||||||
|
err = -ENOMEM;
|
||||||
|
goto _end;
|
||||||
|
}
|
||||||
|
strcpy(buf, "macro.");
|
||||||
|
strcat(buf, name);
|
||||||
|
}
|
||||||
|
err = snd_config_search_definition(root, NULL, name, dst);
|
||||||
|
if (err < 0)
|
||||||
|
SNDERR("Unable to find macro definition '%s'", name);
|
||||||
|
_end:
|
||||||
|
if (buf)
|
||||||
|
free(buf);
|
||||||
|
return err;
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue