From a068cf08ad67447893b707cddfce31c9cafee643 Mon Sep 17 00:00:00 2001 From: Mike Gilbert Date: Mon, 8 Dec 2025 23:46:17 -0500 Subject: [PATCH 01/43] ucm: use closefrom instead of close_range closefrom is a library function with a fallback mechanism for when the kernel does not support the close_range syscall. Also check for the function properly instead of assuming it is available with _GNU_SOURCE defined. Closes: https://github.com/alsa-project/alsa-lib/pull/486 Fixes: https://github.com/alsa-project/alsa-lib/issues/485 Signed-off-by: Mike Gilbert Signed-off-by: Jaroslav Kysela --- configure.ac | 1 + src/ucm/ucm_exec.c | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index 8f4bd0de..f4862f64 100644 --- a/configure.ac +++ b/configure.ac @@ -52,6 +52,7 @@ dnl Checks for library functions. AC_PROG_GCC_TRADITIONAL AC_CHECK_FUNCS([uselocale]) AC_CHECK_FUNCS([eaccess]) +AC_CHECK_DECLS([closefrom]) dnl Enable largefile support AC_SYS_LARGEFILE diff --git a/src/ucm/ucm_exec.c b/src/ucm/ucm_exec.c index b5a22023..713039b4 100644 --- a/src/ucm/ucm_exec.c +++ b/src/ucm/ucm_exec.c @@ -259,8 +259,8 @@ int uc_mgr_exec(const char *prog) close(f); -#if defined(_GNU_SOURCE) - close_range(3, maxfd, 0); +#if HAVE_DECL_CLOSEFROM + closefrom(3); #else for (f = 3; f < maxfd; f++) close(f); -- 2.51.1 From 813ffe34ff6c720dcc56e4549338bf9e9184af1f Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Tue, 9 Dec 2025 17:48:34 +0100 Subject: [PATCH 02/43] ucm: exec - fix maxfd used warning Fixes: a068cf08 ("ucm: use closefrom instead of close_range") Signed-off-by: Jaroslav Kysela --- src/ucm/ucm_exec.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/ucm/ucm_exec.c b/src/ucm/ucm_exec.c index 713039b4..c16a4cfd 100644 --- a/src/ucm/ucm_exec.c +++ b/src/ucm/ucm_exec.c @@ -183,7 +183,7 @@ static int parse_args(char ***argv, int argc, const char *cmd) */ int uc_mgr_exec(const char *prog) { - pid_t p, f, maxfd; + pid_t p, f; int err = 0, status; char bin[PATH_MAX]; struct sigaction sa; @@ -212,8 +212,6 @@ int uc_mgr_exec(const char *prog) prog = bin; } - maxfd = sysconf(_SC_OPEN_MAX); - /* * block SIGCHLD signal * ignore SIGINT and SIGQUIT in parent @@ -262,8 +260,11 @@ int uc_mgr_exec(const char *prog) #if HAVE_DECL_CLOSEFROM closefrom(3); #else - for (f = 3; f < maxfd; f++) - close(f); + { + pid_t maxfd = sysconf(_SC_OPEN_MAX); + for (f = 3; f < maxfd; f++) + close(f); + } #endif /* install default handlers for the forked process */ -- 2.51.1 From a6238053c4fa518b214f99d91a01b96c5ef6e3ca Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Tue, 9 Dec 2025 18:04:07 +0100 Subject: [PATCH 03/43] conf: merge card specific contents per file (whole) after parsing Unfortunately, mentioned fix caused a regression for items stored in one file. Merge the file contents after parsing not inside parsing process. BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=2420645 Fixes: eda76146 ("conf: fix load_for_all_cards() - do not merge the card specific contents") Signed-off-by: Jaroslav Kysela --- src/conf.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/conf.c b/src/conf.c index 49499ecd..b1ec9b38 100644 --- a/src/conf.c +++ b/src/conf.c @@ -4119,14 +4119,21 @@ static int config_filename_filter(const struct dirent64 *dirent) static int config_file_open(snd_config_t *root, const char *filename, int merge) { snd_input_t *in; + snd_config_t *top; int err; err = snd_input_stdio_open(&in, filename, "r"); if (err >= 0) { - if (merge) + if (merge) { err = snd_config_load(root, in); - else - err = snd_config_load_override(root, in); + } else { + err = snd_config_top(&top); + if (err >= 0) { + err = snd_config_load(top, in); + if (err >= 0) + err = snd_config_merge(root, top, 1); + } + } snd_input_close(in); if (err < 0) snd_error(CORE, "%s may be old or corrupted: consider to remove or fix it", filename); -- 2.51.1 From 2f59398c83b8065fb9ff58939df3a9187746068e Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Tue, 9 Dec 2025 18:39:52 +0100 Subject: [PATCH 04/43] conf: fix possible memory leak in config_file_open() - error path Fixes: a6238053 ("conf: merge card specific contents per file (whole) after parsing") Signed-off-by: Jaroslav Kysela --- src/conf.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/conf.c b/src/conf.c index b1ec9b38..d90f6dc3 100644 --- a/src/conf.c +++ b/src/conf.c @@ -4130,8 +4130,11 @@ static int config_file_open(snd_config_t *root, const char *filename, int merge) err = snd_config_top(&top); if (err >= 0) { err = snd_config_load(top, in); - if (err >= 0) + if (err >= 0) { err = snd_config_merge(root, top, 1); + if (err < 0) + snd_config_delete(top); + } } } snd_input_close(in); -- 2.51.1 From 2ef8952b46a46b97a6df2f29bcd182f895ebf9e4 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 10 Dec 2025 12:03:29 +0100 Subject: [PATCH 05/43] Revert "conf: fix load_for_all_cards() - do not merge the card specific contents" This reverts commit eda76146c5653ff1d5bc4b4c53f7a2d5ccc17da2. Also, revert additional related commits: Revert "conf: fix possible memory leak in config_file_open() - error path" This reverts commit 2f59398c83b8065fb9ff58939df3a9187746068e. Revert "conf: merge card specific contents per file (whole) after parsing" This reverts commit a6238053c4fa518b214f99d91a01b96c5ef6e3ca. Signed-off-by: Jaroslav Kysela --- src/conf.c | 42 ++++++++++++------------------------------ 1 file changed, 12 insertions(+), 30 deletions(-) diff --git a/src/conf.c b/src/conf.c index d90f6dc3..fb9f0658 100644 --- a/src/conf.c +++ b/src/conf.c @@ -4116,27 +4116,14 @@ static int config_filename_filter(const struct dirent64 *dirent) return 0; } -static int config_file_open(snd_config_t *root, const char *filename, int merge) +static int config_file_open(snd_config_t *root, const char *filename) { snd_input_t *in; - snd_config_t *top; int err; err = snd_input_stdio_open(&in, filename, "r"); if (err >= 0) { - if (merge) { - err = snd_config_load(root, in); - } else { - err = snd_config_top(&top); - if (err >= 0) { - err = snd_config_load(top, in); - if (err >= 0) { - err = snd_config_merge(root, top, 1); - if (err < 0) - snd_config_delete(top); - } - } - } + err = snd_config_load(root, in); snd_input_close(in); if (err < 0) snd_error(CORE, "%s may be old or corrupted: consider to remove or fix it", filename); @@ -4146,7 +4133,7 @@ static int config_file_open(snd_config_t *root, const char *filename, int merge) return err; } -static int config_file_load(snd_config_t *root, const char *fn, int errors, int merge) +static int config_file_load(snd_config_t *root, const char *fn, int errors) { struct stat64 st; struct dirent64 **namelist; @@ -4159,7 +4146,7 @@ static int config_file_load(snd_config_t *root, const char *fn, int errors, int return 1; } if (!S_ISDIR(st.st_mode)) - return config_file_open(root, fn, merge); + return config_file_open(root, fn); #ifndef DOC_HIDDEN #if defined(_GNU_SOURCE) && \ !defined(__NetBSD__) && \ @@ -4185,7 +4172,7 @@ static int config_file_load(snd_config_t *root, const char *fn, int errors, int snprintf(filename, sl, "%s/%s", fn, namelist[j]->d_name); filename[sl-1] = '\0'; - err = config_file_open(root, filename, merge); + err = config_file_open(root, filename); free(filename); } free(namelist[j]); @@ -4197,20 +4184,20 @@ static int config_file_load(snd_config_t *root, const char *fn, int errors, int return 0; } -static int config_file_load_user(snd_config_t *root, const char *fn, int errors, int merge) +static int config_file_load_user(snd_config_t *root, const char *fn, int errors) { char *fn2; int err; err = snd_user_file(fn, &fn2); if (err < 0) - return config_file_load(root, fn, errors, merge); - err = config_file_load(root, fn2, errors, merge); + return config_file_load(root, fn, errors); + err = config_file_load(root, fn2, errors); free(fn2); return err; } -static int config_file_load_user_all(snd_config_t *_root, snd_config_t *_file, int errors, int merge) +static int config_file_load_user_all(snd_config_t *_root, snd_config_t *_file, int errors) { snd_config_t *file = _file, *root = _root, *n; char *name, *name2, *remain, *rname = NULL; @@ -4241,7 +4228,7 @@ static int config_file_load_user_all(snd_config_t *_root, snd_config_t *_file, i *remain = '\0'; remain += 3; } - err = config_file_load_user(root, name2, errors, merge); + err = config_file_load_user(root, name2, errors); if (err < 0) goto _err; if (err == 0) /* first hit wins */ @@ -4290,7 +4277,7 @@ int snd_config_hook_load(snd_config_t *root, snd_config_t *config, snd_config_t { snd_config_t *n; snd_config_iterator_t i, next; - int err, idx = 0, errors = 1, merge = 1, hit; + int err, idx = 0, errors = 1, hit; assert(root && dst); if ((err = snd_config_search(config, "errors", &n)) >= 0) { @@ -4300,10 +4287,6 @@ int snd_config_hook_load(snd_config_t *root, snd_config_t *config, snd_config_t return errors; } } - /* special case, we know the card number (may be multiple times) */ - if (private_data && snd_config_search(private_data, "integer", &n) >= 0) { - merge = 0; - } if ((err = snd_config_search(config, "files", &n)) < 0) { snd_error(CORE, "Unable to find field files in the pre-load section"); return -EINVAL; @@ -4316,7 +4299,6 @@ int snd_config_hook_load(snd_config_t *root, snd_config_t *config, snd_config_t snd_error(CORE, "Invalid type for field filenames"); goto _err; } - do { hit = 0; snd_config_for_each(i, next, n) { @@ -4330,7 +4312,7 @@ int snd_config_hook_load(snd_config_t *root, snd_config_t *config, snd_config_t goto _err; } if (i == idx) { - err = config_file_load_user_all(root, n, errors, merge); + err = config_file_load_user_all(root, n, errors); if (err < 0) goto _err; idx++; -- 2.51.1 From 16ab43db6ed6f71424d5ad78e62f85baaeae5051 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 10 Dec 2025 12:12:47 +0100 Subject: [PATCH 06/43] conf: USB-Audio: define pcm configuration block only one time There may be multiple USB soundcards in the system. Overwrite the PCM configurations when loaded multiple times. Signed-off-by: Jaroslav Kysela --- src/conf/cards/USB-Audio.conf | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/conf/cards/USB-Audio.conf b/src/conf/cards/USB-Audio.conf index 2f6d2ee0..1fc540e2 100644 --- a/src/conf/cards/USB-Audio.conf +++ b/src/conf/cards/USB-Audio.conf @@ -99,7 +99,7 @@ USB-Audio.pcm.iec958_2_device { # 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 { +USB-Audio."Audiophile USB (tm)".pcm.!default { @args [ CARD ] @args.CARD { type string } type asym @@ -120,7 +120,7 @@ USB-Audio."Audiophile USB (tm)".pcm.default { } } USB-Audio."AudioPhile".pcm.iec958 "cards.USB-Audio.Audiophile USB (tm).pcm.iec958" -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 } @@ -142,7 +142,7 @@ USB-Audio."Audiophile USB (tm)".pcm.iec958 { # 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 { +USB-Audio."Audio Advantage MicroII".pcm.!iec958 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @@ -180,7 +180,7 @@ USB-Audio."Audio Advantage MicroII".pcm.iec958 { -USB-Audio.pcm.front.0 { +USB-Audio.pcm.front.!0 { @args [ CARD ] @args.CARD { type string } @func refer @@ -201,7 +201,7 @@ USB-Audio.pcm.front.0 { } } -USB-Audio.pcm.default { +USB-Audio.pcm.!default { @args [ CARD ] @args.CARD { type string } @func refer @@ -249,14 +249,14 @@ USB-Audio.pcm.default { } } -USB-Audio.pcm.default_playback_dmix_yes { +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 { +USB-Audio.pcm.!default_playback_dmix_no { @args [ CARD ] @args.CARD { type string } type hw @@ -266,7 +266,7 @@ USB-Audio.pcm.default_playback_dmix_no { -USB-Audio.pcm.surround40.0 { +USB-Audio.pcm.surround40.!0 { @args [ CARD ] @args.CARD { type string } @func refer @@ -301,7 +301,7 @@ USB-Audio.pcm.surround40.0 { } } -USB-Audio.pcm.surround40_default { +USB-Audio.pcm.!surround40_default { @args [ CARD ] @args.CARD { type string } type hw @@ -309,7 +309,7 @@ USB-Audio.pcm.surround40_default { device 0 } -USB-Audio.pcm.surround40_six_channels { +USB-Audio.pcm.!surround40_six_channels { @args [ CARD ] @args.CARD { type string } type route @@ -327,7 +327,7 @@ USB-Audio.pcm.surround40_six_channels { } } -USB-Audio.pcm.surround40_two_stereo_devices { +USB-Audio.pcm.!surround40_two_stereo_devices { @args [ CARD ] @args.CARD { type string } type route @@ -369,7 +369,7 @@ USB-Audio.pcm.surround40_two_stereo_devices { -USB-Audio.pcm.surround51.0 { +USB-Audio.pcm.surround51.!0 { @args [ CARD ] @args.CARD { type string } @func refer @@ -402,7 +402,7 @@ USB-Audio.pcm.surround51.0 { -USB-Audio.pcm.surround71.0 { +USB-Audio.pcm.surround71.!0 { @args [ CARD ] @args.CARD { type string } @func refer @@ -437,7 +437,7 @@ USB-Audio.pcm.surround71.0 { -USB-Audio.pcm.iec958.0 { +USB-Audio.pcm.iec958.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @@ -472,7 +472,7 @@ USB-Audio.pcm.iec958.0 { } } -USB-Audio.pcm.iec958.1 { +USB-Audio.pcm.iec958.!1 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } -- 2.51.1 From 010b699c92a9a6ffdca1874cd2e3c6c054d212e0 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 10 Dec 2025 12:12:47 +0100 Subject: [PATCH 07/43] conf: HDA-Intel: define pcm configuration block only one time There may be multiple HDA-Intel soundcards in the system. Overwrite the PCM configurations when loaded multiple times. Signed-off-by: Jaroslav Kysela --- src/conf/cards/HDA-Intel.conf | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/src/conf/cards/HDA-Intel.conf b/src/conf/cards/HDA-Intel.conf index 5451606f..76775b97 100644 --- a/src/conf/cards/HDA-Intel.conf +++ b/src/conf/cards/HDA-Intel.conf @@ -4,7 +4,7 @@ -HDA-Intel.pcm.front.0 { +HDA-Intel.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -29,7 +29,7 @@ HDA-Intel.pcm.front.0 { } # default with dmix+softvol & dsnoop -HDA-Intel.pcm.default { +HDA-Intel.pcm.!default { @args [ CARD ] @args.CARD { type string @@ -84,7 +84,7 @@ HDA-Intel.pcm.surround71.0 cards.HDA-Intel.pcm.front.0 -HDA-Intel.pcm.iec958.0 { +HDA-Intel.pcm.iec958.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string @@ -163,7 +163,7 @@ HDA-Intel.pcm.iec958.0 { hint.device 1 } -HDA-Intel.pcm.hdmi.common { +HDA-Intel.pcm.hdmi.!common { @args [ CARD DEVICE CTLINDEX AES0 AES1 AES2 AES3 ] @args.CARD { type string @@ -212,7 +212,7 @@ HDA-Intel.pcm.hdmi.common { hint.device $DEVICE } -HDA-Intel.pcm.hdmi.0 { +HDA-Intel.pcm.hdmi.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @@ -235,7 +235,7 @@ HDA-Intel.pcm.hdmi.0 { } } -HDA-Intel.pcm.hdmi.1 { +HDA-Intel.pcm.hdmi.!1 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @@ -258,7 +258,7 @@ HDA-Intel.pcm.hdmi.1 { } } -HDA-Intel.pcm.hdmi.2 { +HDA-Intel.pcm.hdmi.!2 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @@ -281,7 +281,7 @@ HDA-Intel.pcm.hdmi.2 { } } -HDA-Intel.pcm.hdmi.3 { +HDA-Intel.pcm.hdmi.!3 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @@ -304,7 +304,7 @@ HDA-Intel.pcm.hdmi.3 { } } -HDA-Intel.pcm.hdmi.4 { +HDA-Intel.pcm.hdmi.!4 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @@ -327,7 +327,7 @@ HDA-Intel.pcm.hdmi.4 { } } -HDA-Intel.pcm.hdmi.5 { +HDA-Intel.pcm.hdmi.!5 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @@ -350,7 +350,7 @@ HDA-Intel.pcm.hdmi.5 { } } -HDA-Intel.pcm.hdmi.6 { +HDA-Intel.pcm.hdmi.!6 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @@ -373,7 +373,7 @@ HDA-Intel.pcm.hdmi.6 { } } -HDA-Intel.pcm.hdmi.7 { +HDA-Intel.pcm.hdmi.!7 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @@ -396,7 +396,7 @@ HDA-Intel.pcm.hdmi.7 { } } -HDA-Intel.pcm.hdmi.8 { +HDA-Intel.pcm.hdmi.!8 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @@ -419,7 +419,7 @@ HDA-Intel.pcm.hdmi.8 { } } -HDA-Intel.pcm.hdmi.9 { +HDA-Intel.pcm.hdmi.!9 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @@ -442,7 +442,7 @@ HDA-Intel.pcm.hdmi.9 { } } -HDA-Intel.pcm.hdmi.10 { +HDA-Intel.pcm.hdmi.!10 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @@ -467,7 +467,7 @@ HDA-Intel.pcm.hdmi.10 { -HDA-Intel.pcm.modem.0 { +HDA-Intel.pcm.modem.!0 { @args [ CARD ] @args.CARD { type string -- 2.51.1 From d83af363f1fc17e2b3e7cf2a0f848722f6643a9a Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 10 Dec 2025 12:12:47 +0100 Subject: [PATCH 08/43] conf: vc4-hdmi: define pcm configuration block only one time There may be multiple vc4-hdmi soundcards in the system. Overwrite the PCM configurations when loaded multiple times. BugLink: https://github.com/alsa-project/alsa-lib/issues/488 Signed-off-by: Jaroslav Kysela --- src/conf/cards/vc4-hdmi.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/conf/cards/vc4-hdmi.conf b/src/conf/cards/vc4-hdmi.conf index 0f313d82..7041d185 100644 --- a/src/conf/cards/vc4-hdmi.conf +++ b/src/conf/cards/vc4-hdmi.conf @@ -3,7 +3,7 @@ # subframe conversion # -vc4-hdmi.pcm.hdmi.0 { +vc4-hdmi.pcm.hdmi.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string @@ -50,7 +50,7 @@ vc4-hdmi.pcm.hdmi.0 { } # default with plug and softvol -vc4-hdmi.pcm.default { +vc4-hdmi.pcm.!default { @args [ CARD ] @args.CARD { type string -- 2.51.1 From 3969e458124f6933e2f440c2b0b39b29de791a78 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 10 Dec 2025 12:12:47 +0100 Subject: [PATCH 09/43] conf: AACI,ATIIXP: define pcm configuration block only one time There may be multiple AACI,ATIIXP soundcards in the system. Overwrite the PCM configurations when loaded multiple times. Signed-off-by: Jaroslav Kysela --- src/conf/cards/AACI.conf | 4 ++-- src/conf/cards/ATIIXP-MODEM.conf | 2 +- src/conf/cards/ATIIXP-SPDMA.conf | 10 +++++----- src/conf/cards/ATIIXP.conf | 10 +++++----- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/conf/cards/AACI.conf b/src/conf/cards/AACI.conf index 748586a0..ff4778b4 100644 --- a/src/conf/cards/AACI.conf +++ b/src/conf/cards/AACI.conf @@ -4,7 +4,7 @@ -AACI.pcm.front.0 { +AACI.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -19,7 +19,7 @@ AACI.pcm.surround40.0 "cards.AACI.pcm.front.0" -AACI.pcm.surround51.0 { +AACI.pcm.surround51.!0 { @args [ CARD ] @args.CARD { type string diff --git a/src/conf/cards/ATIIXP-MODEM.conf b/src/conf/cards/ATIIXP-MODEM.conf index 6e52af05..1f69b735 100644 --- a/src/conf/cards/ATIIXP-MODEM.conf +++ b/src/conf/cards/ATIIXP-MODEM.conf @@ -4,7 +4,7 @@ -ATIIXP-MODEM.pcm.modem.0 { +ATIIXP-MODEM.pcm.modem.!0 { @args [ CARD ] @args.CARD { type string diff --git a/src/conf/cards/ATIIXP-SPDMA.conf b/src/conf/cards/ATIIXP-SPDMA.conf index 42540d68..12c40efc 100644 --- a/src/conf/cards/ATIIXP-SPDMA.conf +++ b/src/conf/cards/ATIIXP-SPDMA.conf @@ -4,7 +4,7 @@ -ATIIXP-SPDMA.pcm.front.0 { +ATIIXP-SPDMA.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -14,7 +14,7 @@ ATIIXP-SPDMA.pcm.front.0 { } # default with dmix/dsnoop -ATIIXP.pcm.default { +ATIIXP.pcm.!default { @args [ CARD ] @args.CARD { type string @@ -38,7 +38,7 @@ ATIIXP.pcm.default { -ATIIXP-SPDMA.pcm.surround40.0 { +ATIIXP-SPDMA.pcm.surround40.!0 { @args [ CARD ] @args.CARD { type string @@ -82,7 +82,7 @@ ATIIXP-SPDMA.pcm.surround40.0 { -ATIIXP-SPDMA.pcm.surround51.0 { +ATIIXP-SPDMA.pcm.surround51.!0 { @args [ CARD ] @args.CARD { type string @@ -136,7 +136,7 @@ ATIIXP-SPDMA.pcm.surround51.0 { -ATIIXP-SPDMA.pcm.iec958.0 { +ATIIXP-SPDMA.pcm.iec958.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string diff --git a/src/conf/cards/ATIIXP.conf b/src/conf/cards/ATIIXP.conf index c4d33ef3..13e01c48 100644 --- a/src/conf/cards/ATIIXP.conf +++ b/src/conf/cards/ATIIXP.conf @@ -4,7 +4,7 @@ -ATIIXP.pcm.front.0 { +ATIIXP.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -14,7 +14,7 @@ ATIIXP.pcm.front.0 { } # default with dmix/dsnoop -ATIIXP.pcm.default { +ATIIXP.pcm.!default { @args [ CARD ] @args.CARD { type string @@ -38,7 +38,7 @@ ATIIXP.pcm.default { -ATIIXP.pcm.surround40.0 { +ATIIXP.pcm.surround40.!0 { @args [ CARD ] @args.CARD { type string @@ -82,7 +82,7 @@ ATIIXP.pcm.surround40.0 { -ATIIXP.pcm.surround51.0 { +ATIIXP.pcm.surround51.!0 { @args [ CARD ] @args.CARD { type string @@ -136,7 +136,7 @@ ATIIXP.pcm.surround51.0 { -ATIIXP.pcm.iec958.0 { +ATIIXP.pcm.iec958.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string -- 2.51.1 From e5dbefdff1254fb66ffa82983c6fed08ba8e37df Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 10 Dec 2025 12:12:47 +0100 Subject: [PATCH 10/43] conf: Audigy: define pcm configuration block only one time There may be multiple Audigy soundcards in the system. Overwrite the PCM configurations when loaded multiple times. Signed-off-by: Jaroslav Kysela --- src/conf/cards/Audigy.conf | 12 ++++++------ src/conf/cards/Audigy2.conf | 16 ++++++++-------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/conf/cards/Audigy.conf b/src/conf/cards/Audigy.conf index 42692cfd..a353c624 100644 --- a/src/conf/cards/Audigy.conf +++ b/src/conf/cards/Audigy.conf @@ -4,7 +4,7 @@ -Audigy.pcm.front.0 { +Audigy.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -40,7 +40,7 @@ Audigy.pcm.front.0 { -Audigy.pcm.rear.0 { +Audigy.pcm.rear.!0 { @args [ CARD ] @args.CARD { type string @@ -68,7 +68,7 @@ Audigy.pcm.rear.0 { -Audigy.pcm.center_lfe.0 { +Audigy.pcm.center_lfe.!0 { @args [ CARD ] @args.CARD { type string @@ -107,7 +107,7 @@ Audigy.pcm.center_lfe.0 { -Audigy.pcm.surround40.0 { +Audigy.pcm.surround40.!0 { @args [ CARD ] @args.CARD { type string @@ -143,7 +143,7 @@ Audigy.pcm.surround40.0 { -Audigy.pcm.surround51.0 { +Audigy.pcm.surround51.!0 { @args [ CARD ] @args.CARD { type string @@ -190,7 +190,7 @@ Audigy.pcm.surround51.0 { -Audigy.pcm.iec958.0 { +Audigy.pcm.iec958.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string diff --git a/src/conf/cards/Audigy2.conf b/src/conf/cards/Audigy2.conf index 35126d23..3c15fd1d 100644 --- a/src/conf/cards/Audigy2.conf +++ b/src/conf/cards/Audigy2.conf @@ -4,7 +4,7 @@ -Audigy2.pcm.front.0 { +Audigy2.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -41,7 +41,7 @@ Audigy2.pcm.front.0 { -Audigy2.pcm.rear.0 { +Audigy2.pcm.rear.!0 { @args [ CARD ] @args.CARD { type string @@ -69,7 +69,7 @@ Audigy2.pcm.rear.0 { -Audigy2.pcm.center_lfe.0 { +Audigy2.pcm.center_lfe.!0 { @args [ CARD ] @args.CARD { type string @@ -105,7 +105,7 @@ Audigy2.pcm.center_lfe.0 { -Audigy2.pcm.side.0 { +Audigy2.pcm.side.!0 { @args [ CARD ] @args.CARD { type string @@ -144,7 +144,7 @@ Audigy2.pcm.side.0 { -Audigy2.pcm.surround40.0 { +Audigy2.pcm.surround40.!0 { @args [ CARD ] @args.CARD { type string @@ -180,7 +180,7 @@ Audigy2.pcm.surround40.0 { -Audigy2.pcm.surround51.0 { +Audigy2.pcm.surround51.!0 { @args [ CARD ] @args.CARD { type string @@ -227,7 +227,7 @@ Audigy2.pcm.surround51.0 { -Audigy2.pcm.surround71.0 { +Audigy2.pcm.surround71.!0 { @args [ CARD ] @args.CARD { type string @@ -285,7 +285,7 @@ Audigy2.pcm.surround71.0 { -Audigy2.pcm.iec958.0 { +Audigy2.pcm.iec958.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string -- 2.51.1 From 7079887cd21077fe9569a0d910b11e40f7e5153d Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 10 Dec 2025 12:12:47 +0100 Subject: [PATCH 11/43] conf: Aureon: define pcm configuration block only one time There may be multiple Aureon soundcards in the system. Overwrite the PCM configurations when loaded multiple times. Signed-off-by: Jaroslav Kysela --- src/conf/cards/Aureon51.conf | 14 +++++++------- src/conf/cards/Aureon71.conf | 18 +++++++++--------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/conf/cards/Aureon51.conf b/src/conf/cards/Aureon51.conf index 07be4a77..9bf34661 100644 --- a/src/conf/cards/Aureon51.conf +++ b/src/conf/cards/Aureon51.conf @@ -3,7 +3,7 @@ # # default with dmix & dsnoop -Aureon51.pcm.default { +Aureon51.pcm.!default { @args [ CARD ] @args.CARD { type string @@ -27,7 +27,7 @@ Aureon51.pcm.default { -Aureon51.pcm.front.0 { +Aureon51.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -38,7 +38,7 @@ Aureon51.pcm.front.0 { -Aureon51.pcm.rear.0 { +Aureon51.pcm.rear.!0 { @args [ CARD ] @args.CARD { type string @@ -51,7 +51,7 @@ Aureon51.pcm.rear.0 { -Aureon51.pcm.center_lfe.0 { +Aureon51.pcm.center_lfe.!0 { @args [ CARD ] @args.CARD { type string @@ -63,7 +63,7 @@ Aureon51.pcm.center_lfe.0 { -Aureon51.pcm.side.0 { +Aureon51.pcm.side.!0 { @args [ CARD ] @args.CARD { type string @@ -91,7 +91,7 @@ Aureon51.pcm.surround40.0 { -Aureon51.pcm.surround51.0 { +Aureon51.pcm.surround51.!0 { @args [ CARD ] @args.CARD { type string @@ -103,7 +103,7 @@ Aureon51.pcm.surround51.0 { -Aureon51.pcm.iec958.0 { +Aureon51.pcm.iec958.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string diff --git a/src/conf/cards/Aureon71.conf b/src/conf/cards/Aureon71.conf index a43ce2ce..f29bc297 100644 --- a/src/conf/cards/Aureon71.conf +++ b/src/conf/cards/Aureon71.conf @@ -3,7 +3,7 @@ # # default with dmix & dsnoop -Aureon71.pcm.default { +Aureon71.pcm.!default { @args [ CARD ] @args.CARD { type string @@ -27,7 +27,7 @@ Aureon71.pcm.default { -Aureon71.pcm.front.0 { +Aureon71.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -38,7 +38,7 @@ Aureon71.pcm.front.0 { -Aureon71.pcm.rear.0 { +Aureon71.pcm.rear.!0 { @args [ CARD ] @args.CARD { type string @@ -50,7 +50,7 @@ Aureon71.pcm.rear.0 { -Aureon71.pcm.center_lfe.0 { +Aureon71.pcm.center_lfe.!0 { @args [ CARD ] @args.CARD { type string @@ -63,7 +63,7 @@ Aureon71.pcm.center_lfe.0 { -Aureon71.pcm.side.0 { +Aureon71.pcm.side.!0 { @args [ CARD ] @args.CARD { type string @@ -76,7 +76,7 @@ Aureon71.pcm.side.0 { -Aureon71.pcm.surround40.0 { +Aureon71.pcm.surround40.!0 { @args [ CARD ] @args.CARD { type string @@ -91,7 +91,7 @@ Aureon71.pcm.surround40.0 { -Aureon71.pcm.surround51.0 { +Aureon71.pcm.surround51.!0 { @args [ CARD ] @args.CARD { type string @@ -103,7 +103,7 @@ Aureon71.pcm.surround51.0 { -Aureon71.pcm.surround71.0 { +Aureon71.pcm.surround71.!0 { @args [ CARD ] @args.CARD { type string @@ -114,7 +114,7 @@ Aureon71.pcm.surround71.0 { -Aureon71.pcm.iec958.0 { +Aureon71.pcm.iec958.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string -- 2.51.1 From ea984c3a7d6fbc3613c72614f5fce18ad2c7f9b1 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 10 Dec 2025 12:12:47 +0100 Subject: [PATCH 12/43] conf: AU88[123]0: define pcm configuration block only one time There may be multiple AU88[123]0 soundcards in the system. Overwrite the PCM configurations when loaded multiple times. Signed-off-by: Jaroslav Kysela --- src/conf/cards/AU8810.conf | 4 ++-- src/conf/cards/AU8820.conf | 2 +- src/conf/cards/AU8830.conf | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/conf/cards/AU8810.conf b/src/conf/cards/AU8810.conf index 24d46c34..6b596b68 100644 --- a/src/conf/cards/AU8810.conf +++ b/src/conf/cards/AU8810.conf @@ -4,7 +4,7 @@ -AU8810.pcm.front.0 { +AU8810.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -15,7 +15,7 @@ AU8810.pcm.front.0 { -AU8810.pcm.iec958.0 { +AU8810.pcm.iec958.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string diff --git a/src/conf/cards/AU8820.conf b/src/conf/cards/AU8820.conf index 07890254..fe2cbc11 100644 --- a/src/conf/cards/AU8820.conf +++ b/src/conf/cards/AU8820.conf @@ -4,7 +4,7 @@ -AU8820.pcm.front.0 { +AU8820.pcm.front.!0 { @args [ CARD ] @args.CARD { type string diff --git a/src/conf/cards/AU8830.conf b/src/conf/cards/AU8830.conf index 39e66d50..9cd78b3e 100644 --- a/src/conf/cards/AU8830.conf +++ b/src/conf/cards/AU8830.conf @@ -4,7 +4,7 @@ -AU8830.pcm.front.0 { +AU8830.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -19,7 +19,7 @@ AU8830.pcm.surround40.0 "cards.AU8830.pcm.front.0" -AU8830.pcm.iec958.0 { +AU8830.pcm.iec958.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string -- 2.51.1 From 68b8b435416ea734dda55c39f59bea90ea4b0dd6 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 10 Dec 2025 12:12:47 +0100 Subject: [PATCH 13/43] conf: CA0106: define pcm configuration block only one time There may be multiple CA0106 soundcards in the system. Overwrite the PCM configurations when loaded multiple times. Signed-off-by: Jaroslav Kysela --- src/conf/cards/CA0106.conf | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/conf/cards/CA0106.conf b/src/conf/cards/CA0106.conf index 2f0eaf0a..1fea79f5 100644 --- a/src/conf/cards/CA0106.conf +++ b/src/conf/cards/CA0106.conf @@ -3,7 +3,7 @@ # # default with dmix & dsnoop -CA0106.pcm.default { +CA0106.pcm.!default { @args [ CARD ] @args.CARD { type string @@ -27,7 +27,7 @@ CA0106.pcm.default { -CA0106.pcm.front.0 { +CA0106.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -38,7 +38,7 @@ CA0106.pcm.front.0 { -CA0106.pcm.rear.0 { +CA0106.pcm.rear.!0 { @args [ CARD ] @args.CARD { type string @@ -50,7 +50,7 @@ CA0106.pcm.rear.0 { -CA0106.pcm.center_lfe.0 { +CA0106.pcm.center_lfe.!0 { @args [ CARD ] @args.CARD { type string @@ -62,7 +62,7 @@ CA0106.pcm.center_lfe.0 { -CA0106.pcm.side.0 { +CA0106.pcm.side.!0 { @args [ CARD ] @args.CARD { type string @@ -74,7 +74,7 @@ CA0106.pcm.side.0 { -CA0106.pcm.surround40.0 { +CA0106.pcm.surround40.!0 { @args [ CARD ] @args.CARD { type string @@ -114,7 +114,7 @@ CA0106.pcm.surround40.0 { -CA0106.pcm.surround51.0 { +CA0106.pcm.surround51.!0 { @args [ CARD ] @args.CARD { type string @@ -159,7 +159,7 @@ CA0106.pcm.surround51.0 { ] } -CA0106.pcm.surround71.0 { +CA0106.pcm.surround71.!0 { @args [ CARD ] @args.CARD { type string @@ -220,7 +220,7 @@ CA0106.pcm.surround71.0 { -CA0106.pcm.iec958.0 { +CA0106.pcm.iec958.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string -- 2.51.1 From 041299ea39a7a8d2cb55cb8c2cb5a2e985d38fc3 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 10 Dec 2025 12:12:47 +0100 Subject: [PATCH 14/43] conf: CMI8xxx: define pcm configuration block only one time There may be multiple CMI8xxx soundcards in the system. Overwrite the PCM configurations when loaded multiple times. Signed-off-by: Jaroslav Kysela --- src/conf/cards/CMI8338-SWIEC.conf | 10 +++++----- src/conf/cards/CMI8338.conf | 10 +++++----- src/conf/cards/CMI8738-MC6.conf | 12 ++++++------ src/conf/cards/CMI8738-MC8.conf | 14 +++++++------- src/conf/cards/CMI8788.conf | 12 ++++++------ 5 files changed, 29 insertions(+), 29 deletions(-) diff --git a/src/conf/cards/CMI8338-SWIEC.conf b/src/conf/cards/CMI8338-SWIEC.conf index af3a579f..ca86c466 100644 --- a/src/conf/cards/CMI8338-SWIEC.conf +++ b/src/conf/cards/CMI8338-SWIEC.conf @@ -5,7 +5,7 @@ -CMI8338-SWIEC.pcm.front.0 { +CMI8338-SWIEC.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -15,7 +15,7 @@ CMI8338-SWIEC.pcm.front.0 { } # default with dmix/dsnoop -CMI8338-SWIEC.pcm.default { +CMI8338-SWIEC.pcm.!default { @args [ CARD ] @args.CARD { type string @@ -41,7 +41,7 @@ CMI8338-SWIEC.pcm.default { # 2nd DAC # FIXME: we need a volume attenuator for rear channel. -CMI8338-SWIEC.pcm.rear.0 { +CMI8338-SWIEC.pcm.rear.!0 { @args [ CARD ] @args.CARD { type string @@ -54,7 +54,7 @@ CMI8338-SWIEC.pcm.rear.0 { # for the old CM8738 with 2nd DAC for rear -CMI8338-SWIEC.pcm.surround40.0 { +CMI8338-SWIEC.pcm.surround40.!0 { @args [ CARD ] @args.CARD { type string @@ -91,7 +91,7 @@ CMI8338-SWIEC.pcm.surround40.0 { -CMI8338-SWIEC.pcm.iec958.0 { +CMI8338-SWIEC.pcm.iec958.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string diff --git a/src/conf/cards/CMI8338.conf b/src/conf/cards/CMI8338.conf index 144fc9b0..0f92ad0b 100644 --- a/src/conf/cards/CMI8338.conf +++ b/src/conf/cards/CMI8338.conf @@ -4,7 +4,7 @@ -CMI8338.pcm.front.0 { +CMI8338.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -14,7 +14,7 @@ CMI8338.pcm.front.0 { } # default with dmix/dsnoop -CMI8338.pcm.default { +CMI8338.pcm.!default { @args [ CARD ] @args.CARD { type string @@ -40,7 +40,7 @@ CMI8338.pcm.default { # 2nd DAC # FIXME: we need a volume attenuator for rear channel. -CMI8338.pcm.rear.0 { +CMI8338.pcm.rear.!0 { @args [ CARD ] @args.CARD { type string @@ -53,7 +53,7 @@ CMI8338.pcm.rear.0 { # for the old CM8738 with 2nd DAC for rear -CMI8338.pcm.surround40.0 { +CMI8338.pcm.surround40.!0 { @args [ CARD ] @args.CARD { type string @@ -90,7 +90,7 @@ CMI8338.pcm.surround40.0 { -CMI8338.pcm.iec958.0 { +CMI8338.pcm.iec958.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string diff --git a/src/conf/cards/CMI8738-MC6.conf b/src/conf/cards/CMI8738-MC6.conf index edc67d44..2b1c7d05 100644 --- a/src/conf/cards/CMI8738-MC6.conf +++ b/src/conf/cards/CMI8738-MC6.conf @@ -4,7 +4,7 @@ -CMI8738-MC6.pcm.front.0 { +CMI8738-MC6.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -14,7 +14,7 @@ CMI8738-MC6.pcm.front.0 { } # default with dmix/dsnoop -CMI8738-MC6.pcm.default { +CMI8738-MC6.pcm.!default { @args [ CARD ] @args.CARD { type string @@ -40,7 +40,7 @@ CMI8738-MC6.pcm.default { # 2nd DAC # FIXME: we need a volume attenuator for rear channel. -CMI8738-MC6.pcm.rear.0 { +CMI8738-MC6.pcm.rear.!0 { @args [ CARD ] @args.CARD { type string @@ -52,7 +52,7 @@ CMI8738-MC6.pcm.rear.0 { -CMI8738-MC6.pcm.surround40.0 { +CMI8738-MC6.pcm.surround40.!0 { @args [ CARD ] @args.CARD { type string @@ -82,7 +82,7 @@ CMI8738-MC6.pcm.surround40.0 { -CMI8738-MC6.pcm.surround51.0 { +CMI8738-MC6.pcm.surround51.!0 { @args [ CARD ] @args.CARD { type string @@ -109,7 +109,7 @@ CMI8738-MC6.pcm.surround51.0 { -CMI8738-MC6.pcm.iec958.0 { +CMI8738-MC6.pcm.iec958.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string diff --git a/src/conf/cards/CMI8738-MC8.conf b/src/conf/cards/CMI8738-MC8.conf index ddff7530..96cb3f10 100644 --- a/src/conf/cards/CMI8738-MC8.conf +++ b/src/conf/cards/CMI8738-MC8.conf @@ -4,7 +4,7 @@ -CMI8738-MC8.pcm.front.0 { +CMI8738-MC8.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -21,7 +21,7 @@ CMI8738-MC8.pcm.front.0 { } # default with dmix+softvol & dsnoop -CMI8738-MC8.pcm.default { +CMI8738-MC8.pcm.!default { @args [ CARD ] @args.CARD { type string @@ -53,7 +53,7 @@ CMI8738-MC8.pcm.default { # 2nd DAC -CMI8738-MC8.pcm.rear.0 { +CMI8738-MC8.pcm.rear.!0 { @args [ CARD ] @args.CARD { type string @@ -72,7 +72,7 @@ CMI8738-MC8.pcm.rear.0 { -CMI8738-MC8.pcm.surround40.0 { +CMI8738-MC8.pcm.surround40.!0 { @args [ CARD ] @args.CARD { type string @@ -110,7 +110,7 @@ CMI8738-MC8.pcm.surround40.0 { -CMI8738-MC8.pcm.surround51.0 { +CMI8738-MC8.pcm.surround51.!0 { @args [ CARD ] @args.CARD { type string @@ -144,7 +144,7 @@ CMI8738-MC8.pcm.surround51.0 { -CMI8738-MC8.pcm.surround71.0 { +CMI8738-MC8.pcm.surround71.!0 { @args [ CARD ] @args.CARD { type string @@ -178,7 +178,7 @@ CMI8738-MC8.pcm.surround71.0 { -CMI8738-MC8.pcm.iec958.0 { +CMI8738-MC8.pcm.iec958.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string diff --git a/src/conf/cards/CMI8788.conf b/src/conf/cards/CMI8788.conf index edcb0c9c..c4ad9f48 100644 --- a/src/conf/cards/CMI8788.conf +++ b/src/conf/cards/CMI8788.conf @@ -4,7 +4,7 @@ -CMI8788.pcm.front.0 { +CMI8788.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -14,7 +14,7 @@ CMI8788.pcm.front.0 { } # default with dmix & dsnoop -CMI8788.pcm.default { +CMI8788.pcm.!default { @args [ CARD ] @args.CARD { type string @@ -38,7 +38,7 @@ CMI8788.pcm.default { -CMI8788.pcm.surround40.0 { +CMI8788.pcm.surround40.!0 { @args [ CARD ] @args.CARD { type string @@ -53,7 +53,7 @@ CMI8788.pcm.surround40.0 { -CMI8788.pcm.surround51.0 { +CMI8788.pcm.surround51.!0 { @args [ CARD ] @args.CARD { type string @@ -65,7 +65,7 @@ CMI8788.pcm.surround51.0 { -CMI8788.pcm.surround71.0 { +CMI8788.pcm.surround71.!0 { @args [ CARD ] @args.CARD { type string @@ -77,7 +77,7 @@ CMI8788.pcm.surround71.0 { -CMI8788.pcm.iec958.0 { +CMI8788.pcm.iec958.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string -- 2.51.1 From 1e29ff18400e9b219159f9d0cb9aaf4be3b82efa Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 10 Dec 2025 12:12:47 +0100 Subject: [PATCH 15/43] conf: CS46xx: define pcm configuration block only one time There may be multiple CS46xx soundcards in the system. Overwrite the PCM configurations when loaded multiple times. Signed-off-by: Jaroslav Kysela --- src/conf/cards/CS46xx.conf | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/conf/cards/CS46xx.conf b/src/conf/cards/CS46xx.conf index b71c30aa..478cbf3e 100644 --- a/src/conf/cards/CS46xx.conf +++ b/src/conf/cards/CS46xx.conf @@ -4,7 +4,7 @@ -CS46xx.pcm.front.0 { +CS46xx.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -15,7 +15,7 @@ CS46xx.pcm.front.0 { # default with plughw # CS46xx supports multi-playback -CS46xx.pcm.default { +CS46xx.pcm.!default { @args [ CARD ] @args.CARD { type string @@ -39,7 +39,7 @@ CS46xx.pcm.default { -CS46xx.pcm.rear.0 { +CS46xx.pcm.rear.!0 { @args [ CARD ] @args.CARD { type string @@ -66,7 +66,7 @@ CS46xx.pcm.rear.0 { -CS46xx.pcm.center_lfe.0 { +CS46xx.pcm.center_lfe.!0 { @args [ CARD ] @args.CARD { type string @@ -78,7 +78,7 @@ CS46xx.pcm.center_lfe.0 { -CS46xx.pcm.surround40.0 { +CS46xx.pcm.surround40.!0 { @args [ CARD ] @args.CARD { type string @@ -117,7 +117,7 @@ CS46xx.pcm.surround40.0 { -CS46xx.pcm.surround51.0 { +CS46xx.pcm.surround51.!0 { @args [ CARD ] @args.CARD { type string @@ -164,7 +164,7 @@ CS46xx.pcm.surround51.0 { -CS46xx.pcm.iec958.0 { +CS46xx.pcm.iec958.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string -- 2.51.1 From 0ba7c2716567875d207b71b61e1205b855c7fd9c Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 10 Dec 2025 12:12:47 +0100 Subject: [PATCH 16/43] conf: Echo3G: define pcm configuration block only one time There may be multiple Echo3G soundcards in the system. Overwrite the PCM configurations when loaded multiple times. Signed-off-by: Jaroslav Kysela --- src/conf/cards/Echo_Echo3G.conf | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/conf/cards/Echo_Echo3G.conf b/src/conf/cards/Echo_Echo3G.conf index 766f13f7..fb2a7b67 100644 --- a/src/conf/cards/Echo_Echo3G.conf +++ b/src/conf/cards/Echo_Echo3G.conf @@ -3,7 +3,7 @@ # -Echo_Echo3G.pcm.front.0 { +Echo_Echo3G.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -15,7 +15,7 @@ Echo_Echo3G.pcm.front.0 { } -Echo_Echo3G.pcm.rear.0 { +Echo_Echo3G.pcm.rear.!0 { @args [ CARD ] @args.CARD { type string @@ -27,7 +27,7 @@ Echo_Echo3G.pcm.rear.0 { } -Echo_Echo3G.pcm.center_lfe.0 { +Echo_Echo3G.pcm.center_lfe.!0 { @args [ CARD ] @args.CARD { type string @@ -39,7 +39,7 @@ Echo_Echo3G.pcm.center_lfe.0 { } -Echo_Echo3G.pcm.side.0 { +Echo_Echo3G.pcm.side.!0 { @args [ CARD ] @args.CARD { type string @@ -51,7 +51,7 @@ Echo_Echo3G.pcm.side.0 { } -Echo_Echo3G.pcm.surround40.0 { +Echo_Echo3G.pcm.surround40.!0 { @args [ CARD ] @args.CARD { type string @@ -86,7 +86,7 @@ Echo_Echo3G.pcm.surround40.0 { } -Echo_Echo3G.pcm.surround41.0 { +Echo_Echo3G.pcm.surround41.!0 { @args [ CARD ] @args.CARD { type string @@ -131,7 +131,7 @@ Echo_Echo3G.pcm.surround41.0 { } -Echo_Echo3G.pcm.surround50.0 { +Echo_Echo3G.pcm.surround50.!0 { @args [ CARD ] @args.CARD { type string @@ -176,7 +176,7 @@ Echo_Echo3G.pcm.surround50.0 { } -Echo_Echo3G.pcm.surround51.0 { +Echo_Echo3G.pcm.surround51.!0 { @args [ CARD ] @args.CARD { type string @@ -222,7 +222,7 @@ Echo_Echo3G.pcm.surround51.0 { } -Echo_Echo3G.pcm.surround71.0 { +Echo_Echo3G.pcm.surround71.!0 { @args [ CARD ] @args.CARD { type string @@ -279,7 +279,7 @@ Echo_Echo3G.pcm.surround71.0 { } -Echo_Echo3G.pcm.iec958.0 { +Echo_Echo3G.pcm.iec958.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string -- 2.51.1 From 8c1005624495b61919080959088dc744d6d213ea Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 10 Dec 2025 16:08:42 +0100 Subject: [PATCH 17/43] conf: Aureon51: define pcm configuration block only one time There may be multiple Aureon51 soundcards in the system. Overwrite the PCM configurations when loaded multiple times. Signed-off-by: Jaroslav Kysela --- src/conf/cards/Aureon51.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/conf/cards/Aureon51.conf b/src/conf/cards/Aureon51.conf index 9bf34661..db907f82 100644 --- a/src/conf/cards/Aureon51.conf +++ b/src/conf/cards/Aureon51.conf @@ -76,7 +76,7 @@ Aureon51.pcm.side.!0 { -Aureon51.pcm.surround40.0 { +Aureon51.pcm.surround40.!0 { @args [ CARD ] @args.CARD { type string -- 2.51.1 From ed4884cbe179f42a10771584ebe9fff844b90d4f Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 10 Dec 2025 16:08:42 +0100 Subject: [PATCH 18/43] conf: EMU10K1: define pcm configuration block only one time There may be multiple EMU10K1 soundcards in the system. Overwrite the PCM configurations when loaded multiple times. Signed-off-by: Jaroslav Kysela --- src/conf/cards/EMU10K1.conf | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/conf/cards/EMU10K1.conf b/src/conf/cards/EMU10K1.conf index 430926c7..5ef12c03 100644 --- a/src/conf/cards/EMU10K1.conf +++ b/src/conf/cards/EMU10K1.conf @@ -4,7 +4,7 @@ -EMU10K1.pcm.front.0 { +EMU10K1.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -47,7 +47,7 @@ EMU10K1.pcm.front.0 { -EMU10K1.pcm.rear.0 { +EMU10K1.pcm.rear.!0 { @args [ CARD ] @args.CARD { type string @@ -78,7 +78,7 @@ EMU10K1.pcm.rear.0 { -EMU10K1.pcm.center_lfe.0 { +EMU10K1.pcm.center_lfe.!0 { @args [ CARD ] @args.CARD { type string @@ -143,7 +143,7 @@ EMU10K1.pcm.center_lfe.0 { -EMU10K1.pcm.surround40.0 { +EMU10K1.pcm.surround40.!0 { @args [ CARD ] @args.CARD { type string @@ -182,7 +182,7 @@ EMU10K1.pcm.surround40.0 { -EMU10K1.pcm.surround51.0 { +EMU10K1.pcm.surround51.!0 { @args [ CARD ] @args.CARD { type string @@ -229,7 +229,7 @@ EMU10K1.pcm.surround51.0 { -EMU10K1.pcm.iec958.0 { +EMU10K1.pcm.iec958.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string -- 2.51.1 From dba724706a6eec70e52e31595b3ff1ec055bf50c Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 10 Dec 2025 16:17:45 +0100 Subject: [PATCH 19/43] conf: EMU10K1X: define pcm configuration block only one time There may be multiple EMU10K1X soundcards in the system. Overwrite the PCM configurations when loaded multiple times. Signed-off-by: Jaroslav Kysela --- src/conf/cards/EMU10K1X.conf | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/conf/cards/EMU10K1X.conf b/src/conf/cards/EMU10K1X.conf index f7428636..334f897d 100644 --- a/src/conf/cards/EMU10K1X.conf +++ b/src/conf/cards/EMU10K1X.conf @@ -3,7 +3,7 @@ # # default with dmix & dsnoop -EMU10K1X.pcm.default { +EMU10K1X.pcm.!default { @args [ CARD ] @args.CARD { type string @@ -27,7 +27,7 @@ EMU10K1X.pcm.default { -EMU10K1X.pcm.front.0 { +EMU10K1X.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -38,7 +38,7 @@ EMU10K1X.pcm.front.0 { -EMU10K1X.pcm.rear.0 { +EMU10K1X.pcm.rear.!0 { @args [ CARD ] @args.CARD { type string @@ -50,7 +50,7 @@ EMU10K1X.pcm.rear.0 { -EMU10K1X.pcm.center_lfe.0 { +EMU10K1X.pcm.center_lfe.!0 { @args [ CARD ] @args.CARD { type string @@ -62,7 +62,7 @@ EMU10K1X.pcm.center_lfe.0 { -EMU10K1X.pcm.surround40.0 { +EMU10K1X.pcm.surround40.!0 { @args [ CARD ] @args.CARD { type string @@ -101,7 +101,7 @@ EMU10K1X.pcm.surround40.0 { -EMU10K1X.pcm.surround51.0 { +EMU10K1X.pcm.surround51.!0 { @args [ CARD ] @args.CARD { type string @@ -148,7 +148,7 @@ EMU10K1X.pcm.surround51.0 { -EMU10K1X.pcm.iec958.0 { +EMU10K1X.pcm.iec958.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string -- 2.51.1 From 7cf26f603823cccd3e89eb57f459642c890b79af Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 10 Dec 2025 16:17:45 +0100 Subject: [PATCH 20/43] conf: ENS137[01]: define pcm configuration block only one time There may be multiple ENS137[01] soundcards in the system. Overwrite the PCM configurations when loaded multiple times. Signed-off-by: Jaroslav Kysela --- src/conf/cards/ENS1370.conf | 8 ++++---- src/conf/cards/ENS1371.conf | 10 +++++----- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/conf/cards/ENS1370.conf b/src/conf/cards/ENS1370.conf index 32e4782e..c65e224f 100644 --- a/src/conf/cards/ENS1370.conf +++ b/src/conf/cards/ENS1370.conf @@ -4,7 +4,7 @@ -ENS1370.pcm.front.0 { +ENS1370.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -15,7 +15,7 @@ ENS1370.pcm.front.0 { } # default with dmix/dsnoop -ENS1370.pcm.default { +ENS1370.pcm.!default { @args [ CARD ] @args.CARD { type string @@ -39,7 +39,7 @@ ENS1370.pcm.default { -ENS1370.pcm.rear.0 { +ENS1370.pcm.rear.!0 { @args [ CARD ] @args.CARD { type string @@ -71,7 +71,7 @@ ENS1370.pcm.rear.0 { -ENS1370.pcm.surround40.0 { +ENS1370.pcm.surround40.!0 { @args [ CARD ] @args.CARD { type string diff --git a/src/conf/cards/ENS1371.conf b/src/conf/cards/ENS1371.conf index a6df4251..560fda9f 100644 --- a/src/conf/cards/ENS1371.conf +++ b/src/conf/cards/ENS1371.conf @@ -4,7 +4,7 @@ -ENS1371.pcm.front.0 { +ENS1371.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -14,7 +14,7 @@ ENS1371.pcm.front.0 { } # default with dmix/dsnoop -ENS1371.pcm.default { +ENS1371.pcm.!default { @args [ CARD ] @args.CARD { type string @@ -38,7 +38,7 @@ ENS1371.pcm.default { -ENS1371.pcm.rear.0 { +ENS1371.pcm.rear.!0 { @args [ CARD ] @args.CARD { type string @@ -65,7 +65,7 @@ ENS1371.pcm.rear.0 { -ENS1371.pcm.surround40.0 { +ENS1371.pcm.surround40.!0 { @args [ CARD ] @args.CARD { type string @@ -97,7 +97,7 @@ ENS1371.pcm.surround40.0 { -ENS1371.pcm.iec958.0 { +ENS1371.pcm.iec958.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string -- 2.51.1 From 001a2f3809865d071b53e802d4fbc89bb37a2fe1 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 10 Dec 2025 16:17:45 +0100 Subject: [PATCH 21/43] conf: ES1968: define pcm configuration block only one time There may be multiple ES1968 soundcards in the system. Overwrite the PCM configurations when loaded multiple times. Signed-off-by: Jaroslav Kysela --- src/conf/cards/ES1968.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/conf/cards/ES1968.conf b/src/conf/cards/ES1968.conf index a6ee1192..296baa13 100644 --- a/src/conf/cards/ES1968.conf +++ b/src/conf/cards/ES1968.conf @@ -2,7 +2,7 @@ -ES1968.pcm.front.0 { +ES1968.pcm.front.!0 { @args [ CARD ] @args.CARD { type string -- 2.51.1 From 2d5aa02738faf79895fa7457182810bee2ce7b90 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 10 Dec 2025 16:17:46 +0100 Subject: [PATCH 22/43] conf: FireWave: define pcm configuration block only one time There may be multiple FireWave soundcards in the system. Overwrite the PCM configurations when loaded multiple times. Signed-off-by: Jaroslav Kysela --- src/conf/cards/FireWave.conf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/conf/cards/FireWave.conf b/src/conf/cards/FireWave.conf index fcfc83cc..786169f2 100644 --- a/src/conf/cards/FireWave.conf +++ b/src/conf/cards/FireWave.conf @@ -2,7 +2,7 @@ # Configuration for the Griffin FireWave Surround # -FireWave.pcm.default { +FireWave.pcm.!default { @args [ CARD ] @args.CARD { type string @@ -16,7 +16,7 @@ FireWave.pcm.default { -FireWave.pcm.front.0 { +FireWave.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -30,7 +30,7 @@ FireWave.pcm.front.0 { -FireWave.pcm.surround51.0 { +FireWave.pcm.surround51.!0 { @args [ CARD ] @args.CARD { type string -- 2.51.1 From 9f46e1a5a48f863e38794aa5b7c350d291078924 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 10 Dec 2025 16:17:46 +0100 Subject: [PATCH 23/43] conf: FM801: define pcm configuration block only one time There may be multiple FM801 soundcards in the system. Overwrite the PCM configurations when loaded multiple times. Signed-off-by: Jaroslav Kysela --- src/conf/cards/FM801.conf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/conf/cards/FM801.conf b/src/conf/cards/FM801.conf index 0ddf799c..14cfdbe8 100644 --- a/src/conf/cards/FM801.conf +++ b/src/conf/cards/FM801.conf @@ -4,7 +4,7 @@ -FM801.pcm.front.0 { +FM801.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -14,7 +14,7 @@ FM801.pcm.front.0 { } # default with dmix/dsnoop -FM801.pcm.default { +FM801.pcm.!default { @args [ CARD ] @args.CARD { type string @@ -49,7 +49,7 @@ FM801.pcm.surround51.0 "cards.FM801.pcm.front.0" -FM801.pcm.iec958.0 { +FM801.pcm.iec958.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string -- 2.51.1 From ea939799299ff88c254344c7a89e86ffa159e5a7 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 10 Dec 2025 16:17:46 +0100 Subject: [PATCH 24/43] conf: FWSpeakers: define pcm configuration block only one time There may be multiple FWSpeakers soundcards in the system. Overwrite the PCM configurations when loaded multiple times. Signed-off-by: Jaroslav Kysela --- src/conf/cards/FWSpeakers.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/conf/cards/FWSpeakers.conf b/src/conf/cards/FWSpeakers.conf index cd6fa605..96ab5cb9 100644 --- a/src/conf/cards/FWSpeakers.conf +++ b/src/conf/cards/FWSpeakers.conf @@ -2,7 +2,7 @@ # Configuration for the LaCie Firewire speakers # -FWSpeakers.pcm.default { +FWSpeakers.pcm.!default { @args [ CARD ] @args.CARD { type string @@ -16,7 +16,7 @@ FWSpeakers.pcm.default { -FWSpeakers.pcm.front.0 { +FWSpeakers.pcm.front.!0 { @args [ CARD ] @args.CARD { type string -- 2.51.1 From a87570df7247d979eb5106ca549fa776e4c51ab3 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 10 Dec 2025 16:17:47 +0100 Subject: [PATCH 25/43] conf: GUS: define pcm configuration block only one time There may be multiple GUS soundcards in the system. Overwrite the PCM configurations when loaded multiple times. Signed-off-by: Jaroslav Kysela --- src/conf/cards/GUS.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/conf/cards/GUS.conf b/src/conf/cards/GUS.conf index d744c548..a1ccd0e9 100644 --- a/src/conf/cards/GUS.conf +++ b/src/conf/cards/GUS.conf @@ -4,7 +4,7 @@ -GUS.pcm.front.0 { +GUS.pcm.front.!0 { @args [ CARD ] @args.CARD { type string -- 2.51.1 From dded72a687e8e8210b276ab13f4e26b63bfa782b Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 10 Dec 2025 16:17:47 +0100 Subject: [PATCH 26/43] conf: HdmiLpeAudio: define pcm configuration block only one time There may be multiple HdmiLpeAudio soundcards in the system. Overwrite the PCM configurations when loaded multiple times. Signed-off-by: Jaroslav Kysela --- src/conf/cards/HdmiLpeAudio.conf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/conf/cards/HdmiLpeAudio.conf b/src/conf/cards/HdmiLpeAudio.conf index a9104f43..799946a2 100644 --- a/src/conf/cards/HdmiLpeAudio.conf +++ b/src/conf/cards/HdmiLpeAudio.conf @@ -2,7 +2,7 @@ # Configuration for the Intel HDMI/DP LPE audio # -HdmiLpeAudio.pcm.hdmi.0 { +HdmiLpeAudio.pcm.hdmi.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string @@ -39,7 +39,7 @@ HdmiLpeAudio.pcm.hdmi.0 { } } -HdmiLpeAudio.pcm.hdmi.1 { +HdmiLpeAudio.pcm.hdmi.!1 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string @@ -77,7 +77,7 @@ HdmiLpeAudio.pcm.hdmi.1 { } } -HdmiLpeAudio.pcm.hdmi.2 { +HdmiLpeAudio.pcm.hdmi.!2 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string -- 2.51.1 From 1f52b57ff8f023b396b459407e60d8498c69f6e7 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 10 Dec 2025 16:17:57 +0100 Subject: [PATCH 27/43] conf: ICE17[12][24]: define pcm configuration block only one time There may be multiple ICE17[12][24] soundcards in the system. Overwrite the PCM configurations when loaded multiple times. Signed-off-by: Jaroslav Kysela --- src/conf/cards/ICE1712.conf | 12 ++++++------ src/conf/cards/ICE1724.conf | 18 +++++++++--------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/conf/cards/ICE1712.conf b/src/conf/cards/ICE1712.conf index db62684e..190d2c59 100644 --- a/src/conf/cards/ICE1712.conf +++ b/src/conf/cards/ICE1712.conf @@ -3,7 +3,7 @@ # # default with dmix & dsnoop -ICE1712.pcm.default { +ICE1712.pcm.!default { @args [ CARD ] @args.CARD { type string @@ -27,7 +27,7 @@ ICE1712.pcm.default { -ICE1712.pcm.front.0 { +ICE1712.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -57,7 +57,7 @@ ICE1712.pcm.front.0 { -ICE1712.pcm.surround40.0 { +ICE1712.pcm.surround40.!0 { @args [ CARD ] @args.CARD { type string @@ -80,7 +80,7 @@ ICE1712.pcm.surround40.0 { -ICE1712.pcm.surround51.0 { +ICE1712.pcm.surround51.!0 { @args [ CARD ] @args.CARD { type string @@ -99,7 +99,7 @@ ICE1712.pcm.surround51.0 { slave.channels 10 } -ICE1712.pcm.surround71.0 { +ICE1712.pcm.surround71.!0 { @args [ CARD ] @args.CARD { type string @@ -122,7 +122,7 @@ ICE1712.pcm.surround71.0 { -ICE1712.pcm.iec958.0 { +ICE1712.pcm.iec958.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string diff --git a/src/conf/cards/ICE1724.conf b/src/conf/cards/ICE1724.conf index 61cac013..16045dc4 100644 --- a/src/conf/cards/ICE1724.conf +++ b/src/conf/cards/ICE1724.conf @@ -3,7 +3,7 @@ # # default with dmix & dsnoop -ICE1724.pcm.default { +ICE1724.pcm.!default { @args [ CARD ] @args.CARD { type string @@ -27,7 +27,7 @@ ICE1724.pcm.default { -ICE1724.pcm.front.0 { +ICE1724.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -38,7 +38,7 @@ ICE1724.pcm.front.0 { -ICE1724.pcm.rear.0 { +ICE1724.pcm.rear.!0 { @args [ CARD ] @args.CARD { type string @@ -51,7 +51,7 @@ ICE1724.pcm.rear.0 { -ICE1724.pcm.center_lfe.0 { +ICE1724.pcm.center_lfe.!0 { @args [ CARD ] @args.CARD { type string @@ -63,7 +63,7 @@ ICE1724.pcm.center_lfe.0 { -ICE1724.pcm.side.0 { +ICE1724.pcm.side.!0 { @args [ CARD ] @args.CARD { type string @@ -76,7 +76,7 @@ ICE1724.pcm.side.0 { -ICE1724.pcm.surround40.0 { +ICE1724.pcm.surround40.!0 { @args [ CARD ] @args.CARD { type string @@ -100,7 +100,7 @@ ICE1724.pcm.surround40.0 { -ICE1724.pcm.surround51.0 { +ICE1724.pcm.surround51.!0 { @args [ CARD ] @args.CARD { type string @@ -123,7 +123,7 @@ ICE1724.pcm.surround51.0 { -ICE1724.pcm.surround71.0 { +ICE1724.pcm.surround71.!0 { @args [ CARD ] @args.CARD { type string @@ -148,7 +148,7 @@ ICE1724.pcm.surround71.0 { -ICE1724.pcm.iec958.0 { +ICE1724.pcm.iec958.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string -- 2.51.1 From 99f1987a1e864523a7a423f1840ca6a76045d619 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 10 Dec 2025 16:17:57 +0100 Subject: [PATCH 28/43] conf: ICH,ICH4,ICH-MODEM: define pcm configuration block only one time There may be multiple ICH soundcards in the system. Overwrite the PCM configurations when loaded multiple times. Signed-off-by: Jaroslav Kysela --- src/conf/cards/ICH-MODEM.conf | 2 +- src/conf/cards/ICH.conf | 10 +++++----- src/conf/cards/ICH4.conf | 10 +++++----- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/conf/cards/ICH-MODEM.conf b/src/conf/cards/ICH-MODEM.conf index b96b5aaf..855f3a96 100644 --- a/src/conf/cards/ICH-MODEM.conf +++ b/src/conf/cards/ICH-MODEM.conf @@ -4,7 +4,7 @@ -ICH-MODEM.pcm.modem.0 { +ICH-MODEM.pcm.modem.!0 { @args [ CARD ] @args.CARD { type string diff --git a/src/conf/cards/ICH.conf b/src/conf/cards/ICH.conf index 6fc9a5a2..c35c8d02 100644 --- a/src/conf/cards/ICH.conf +++ b/src/conf/cards/ICH.conf @@ -4,7 +4,7 @@ -ICH.pcm.front.0 { +ICH.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -21,7 +21,7 @@ ICH.pcm.front.0 { } # default with dmix+softvol & dsnoop -ICH.pcm.default { +ICH.pcm.!default { @args [ CARD ] @args.CARD { type string @@ -52,7 +52,7 @@ ICH.pcm.default { -ICH.pcm.surround40.0 { +ICH.pcm.surround40.!0 { @args [ CARD ] @args.CARD { type string @@ -103,7 +103,7 @@ ICH.pcm.surround40.0 { -ICH.pcm.surround51.0 { +ICH.pcm.surround51.!0 { @args [ CARD ] @args.CARD { type string @@ -174,7 +174,7 @@ ICH.pcm.surround51.0 { -ICH.pcm.iec958.0 { +ICH.pcm.iec958.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string diff --git a/src/conf/cards/ICH4.conf b/src/conf/cards/ICH4.conf index 64ec883d..11c85a6e 100644 --- a/src/conf/cards/ICH4.conf +++ b/src/conf/cards/ICH4.conf @@ -4,7 +4,7 @@ -ICH4.pcm.front.0 { +ICH4.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -21,7 +21,7 @@ ICH4.pcm.front.0 { } # default with dmix+softvol & dsnoop -ICH4.pcm.default { +ICH4.pcm.!default { @args [ CARD ] @args.CARD { type string @@ -52,7 +52,7 @@ ICH4.pcm.default { -ICH4.pcm.surround40.0 { +ICH4.pcm.surround40.!0 { @args [ CARD ] @args.CARD { type string @@ -103,7 +103,7 @@ ICH4.pcm.surround40.0 { -ICH4.pcm.surround51.0 { +ICH4.pcm.surround51.!0 { @args [ CARD ] @args.CARD { type string @@ -164,7 +164,7 @@ ICH4.pcm.surround51.0 { -ICH4.pcm.iec958.0 { +ICH4.pcm.iec958.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string -- 2.51.1 From ff4fb7f8c98157010c44f7335a32a09e9fc085d6 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 10 Dec 2025 16:17:57 +0100 Subject: [PATCH 29/43] conf: Loopback: define pcm configuration block only one time There may be multiple Loopback soundcards in the system. Overwrite the PCM configurations when loaded multiple times. Signed-off-by: Jaroslav Kysela --- src/conf/cards/Loopback.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/conf/cards/Loopback.conf b/src/conf/cards/Loopback.conf index 1ae6d453..21c8429c 100644 --- a/src/conf/cards/Loopback.conf +++ b/src/conf/cards/Loopback.conf @@ -4,7 +4,7 @@ -Loopback.pcm.front.0 { +Loopback.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -21,7 +21,7 @@ Loopback.pcm.front.0 { } # default with dmix+softvol & dsnoop -Loopback.pcm.default { +Loopback.pcm.!default { @args [ CARD ] @args.CARD { type string -- 2.51.1 From de72d657281c043c8d48d23cb8da9b1c4c5f31de Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 10 Dec 2025 16:17:57 +0100 Subject: [PATCH 30/43] conf: Maestro3: define pcm configuration block only one time There may be multiple Maestro3 soundcards in the system. Overwrite the PCM configurations when loaded multiple times. Signed-off-by: Jaroslav Kysela --- src/conf/cards/Maestro3.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/conf/cards/Maestro3.conf b/src/conf/cards/Maestro3.conf index 94323227..a8d89a48 100644 --- a/src/conf/cards/Maestro3.conf +++ b/src/conf/cards/Maestro3.conf @@ -2,7 +2,7 @@ -Maestro3.pcm.front.0 { +Maestro3.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -12,7 +12,7 @@ Maestro3.pcm.front.0 { } # default with dmix/dsnoop -Maestro3.pcm.default { +Maestro3.pcm.!default { @args [ CARD ] @args.CARD { type string -- 2.51.1 From ebb5ab7d846e2702640a7d754127083412b15816 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 10 Dec 2025 16:18:06 +0100 Subject: [PATCH 31/43] conf: NFORCE: define pcm configuration block only one time There may be multiple NFORCE soundcards in the system. Overwrite the PCM configurations when loaded multiple times. Signed-off-by: Jaroslav Kysela --- src/conf/cards/NFORCE.conf | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/conf/cards/NFORCE.conf b/src/conf/cards/NFORCE.conf index 64d15479..088cd8ce 100644 --- a/src/conf/cards/NFORCE.conf +++ b/src/conf/cards/NFORCE.conf @@ -4,7 +4,7 @@ -NFORCE.pcm.front.0 { +NFORCE.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -21,7 +21,7 @@ NFORCE.pcm.front.0 { } # default with dmix+softvol & dsnoop -NFORCE.pcm.default { +NFORCE.pcm.!default { @args [ CARD ] @args.CARD { type string @@ -52,7 +52,7 @@ NFORCE.pcm.default { -NFORCE.pcm.surround40.0 { +NFORCE.pcm.surround40.!0 { @args [ CARD ] @args.CARD { type string @@ -103,7 +103,7 @@ NFORCE.pcm.surround40.0 { -NFORCE.pcm.surround51.0 { +NFORCE.pcm.surround51.!0 { @args [ CARD ] @args.CARD { type string @@ -174,7 +174,7 @@ NFORCE.pcm.surround51.0 { -NFORCE.pcm.surround71.0 { +NFORCE.pcm.surround71.!0 { @args [ CARD ] @args.CARD { type string @@ -247,7 +247,7 @@ NFORCE.pcm.surround71.0 { -NFORCE.pcm.iec958.0 { +NFORCE.pcm.iec958.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string -- 2.51.1 From 3d636ff5309e3672c0acc784c9539af4396d2dfb Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 10 Dec 2025 16:18:06 +0100 Subject: [PATCH 32/43] conf: PC-Speaker: define pcm configuration block only one time There may be multiple PC-Speaker soundcards in the system. Overwrite the PCM configurations when loaded multiple times. Signed-off-by: Jaroslav Kysela --- src/conf/cards/PC-Speaker.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/conf/cards/PC-Speaker.conf b/src/conf/cards/PC-Speaker.conf index c82654d8..8a40a139 100644 --- a/src/conf/cards/PC-Speaker.conf +++ b/src/conf/cards/PC-Speaker.conf @@ -4,7 +4,7 @@ -PC-Speaker.pcm.front.0 { +PC-Speaker.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -23,7 +23,7 @@ PC-Speaker.pcm.front.0 { } # default with dmix & null -PC-Speaker.pcm.default { +PC-Speaker.pcm.!default { @args [ CARD ] @args.CARD { type string -- 2.51.1 From a3028a492a641d5077640294d1fb655c4b4aa84a Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 10 Dec 2025 16:18:06 +0100 Subject: [PATCH 33/43] conf: PMac,PMacToonie: define pcm configuration block only one time There may be multiple PMac soundcards in the system. Overwrite the PCM configurations when loaded multiple times. Signed-off-by: Jaroslav Kysela --- src/conf/cards/PMac.conf | 4 ++-- src/conf/cards/PMacToonie.conf | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/conf/cards/PMac.conf b/src/conf/cards/PMac.conf index d1fdb17b..00f3bc89 100644 --- a/src/conf/cards/PMac.conf +++ b/src/conf/cards/PMac.conf @@ -4,7 +4,7 @@ -PMac.pcm.front.0 { +PMac.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -14,7 +14,7 @@ PMac.pcm.front.0 { } # default with dmix/dsnoop -PMac.pcm.default { +PMac.pcm.!default { @args [ CARD ] @args.CARD { type string diff --git a/src/conf/cards/PMacToonie.conf b/src/conf/cards/PMacToonie.conf index 1e0eb59c..aff1ea65 100644 --- a/src/conf/cards/PMacToonie.conf +++ b/src/conf/cards/PMacToonie.conf @@ -4,7 +4,7 @@ -PMacToonie.pcm.front.0 { +PMacToonie.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -21,7 +21,7 @@ PMacToonie.pcm.front.0 { } # default with dmix+softvol & dsnoop -PMacToonie.pcm.default { +PMacToonie.pcm.!default { @args [ CARD ] @args.CARD { type string -- 2.51.1 From 8340b3c6b31a4e4c02f69bf36f3958d390c724b9 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 10 Dec 2025 16:18:06 +0100 Subject: [PATCH 34/43] conf: PS3: define pcm configuration block only one time There may be multiple PS3 soundcards in the system. Overwrite the PCM configurations when loaded multiple times. Signed-off-by: Jaroslav Kysela --- src/conf/cards/PS3.conf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/conf/cards/PS3.conf b/src/conf/cards/PS3.conf index b642f0dc..486d790c 100644 --- a/src/conf/cards/PS3.conf +++ b/src/conf/cards/PS3.conf @@ -4,7 +4,7 @@ -PS3.pcm.front.0 { +PS3.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -22,7 +22,7 @@ PS3.pcm.front.0 { } # default with dmix+softvol -PS3.pcm.default { +PS3.pcm.!default { @args [ CARD ] @args.CARD { type string @@ -47,7 +47,7 @@ PS3.pcm.default { -PS3.pcm.iec958.0 { +PS3.pcm.iec958.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string -- 2.51.1 From f03528daf2ee177d2003b4d40824506f3a3558f4 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 10 Dec 2025 16:18:15 +0100 Subject: [PATCH 35/43] conf: RME96[35][26]: define pcm configuration block only one time There may be multiple RME96[35][26] soundcards in the system. Overwrite the PCM configurations when loaded multiple times. Signed-off-by: Jaroslav Kysela --- src/conf/cards/RME9636.conf | 4 ++-- src/conf/cards/RME9652.conf | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/conf/cards/RME9636.conf b/src/conf/cards/RME9636.conf index e8dc5fad..17b3a1ab 100644 --- a/src/conf/cards/RME9636.conf +++ b/src/conf/cards/RME9636.conf @@ -4,7 +4,7 @@ -RME9636.pcm.front.0 { +RME9636.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -17,7 +17,7 @@ RME9636.pcm.front.0 { -RME9636.pcm.iec958.0 { +RME9636.pcm.iec958.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string diff --git a/src/conf/cards/RME9652.conf b/src/conf/cards/RME9652.conf index 1147d810..a11e42b2 100644 --- a/src/conf/cards/RME9652.conf +++ b/src/conf/cards/RME9652.conf @@ -4,7 +4,7 @@ -RME9652.pcm.front.0 { +RME9652.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -17,7 +17,7 @@ RME9652.pcm.front.0 { -RME9652.pcm.iec958.0 { +RME9652.pcm.iec958.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string -- 2.51.1 From 1cd87775c5d9d46e418dc67a4d9c93fe5104ee3f Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 10 Dec 2025 16:18:15 +0100 Subject: [PATCH 36/43] conf: SB-XFi: define pcm configuration block only one time There may be multiple SB-XFi soundcards in the system. Overwrite the PCM configurations when loaded multiple times. Signed-off-by: Jaroslav Kysela --- src/conf/cards/SB-XFi.conf | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/conf/cards/SB-XFi.conf b/src/conf/cards/SB-XFi.conf index eb2218bf..9ce9c8ac 100644 --- a/src/conf/cards/SB-XFi.conf +++ b/src/conf/cards/SB-XFi.conf @@ -4,7 +4,7 @@ -SB-XFi.pcm.front.0 { +SB-XFi.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -16,7 +16,7 @@ SB-XFi.pcm.front.0 { -SB-XFi.pcm.rear.0 { +SB-XFi.pcm.rear.!0 { @args [ CARD ] @args.CARD { type string @@ -29,7 +29,7 @@ SB-XFi.pcm.rear.0 { -SB-XFi.pcm.center_lfe.0 { +SB-XFi.pcm.center_lfe.!0 { @args [ CARD ] @args.CARD { type string @@ -42,7 +42,7 @@ SB-XFi.pcm.center_lfe.0 { -SB-XFi.pcm.side.0 { +SB-XFi.pcm.side.!0 { @args [ CARD ] @args.CARD { type string @@ -66,7 +66,7 @@ SB-XFi.pcm.surround71.0 cards.SB-XFi.pcm.front.0 -SB-XFi.pcm.iec958.0 { +SB-XFi.pcm.iec958.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string -- 2.51.1 From 51d75e5f072698d6ec03957cf87b735117f05ab4 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 10 Dec 2025 16:18:15 +0100 Subject: [PATCH 37/43] conf: SI7018: define pcm configuration block only one time There may be multiple SI7018 soundcards in the system. Overwrite the PCM configurations when loaded multiple times. Signed-off-by: Jaroslav Kysela --- src/conf/cards/SI7018.conf | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/conf/cards/SI7018.conf b/src/conf/cards/SI7018.conf index 02b8fc87..33d19085 100644 --- a/src/conf/cards/SI7018.conf +++ b/src/conf/cards/SI7018.conf @@ -6,7 +6,7 @@ -SI7018.pcm.front.0 { +SI7018.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -18,7 +18,7 @@ SI7018.pcm.front.0 { -SI7018.pcm.rear.0 { +SI7018.pcm.rear.!0 { @args [ CARD ] @args.CARD { type string @@ -44,7 +44,7 @@ SI7018.pcm.rear.0 { -SI7018.pcm.surround40.0 { +SI7018.pcm.surround40.!0 { @args [ CARD ] @args.CARD { type string @@ -83,7 +83,7 @@ SI7018.pcm.surround40.0 { -SI7018.pcm.surround51.0 { +SI7018.pcm.surround51.!0 { @args [ CARD ] @args.CARD { type string @@ -130,7 +130,7 @@ SI7018.pcm.surround51.0 { -SI7018.pcm.iec958.0 { +SI7018.pcm.iec958.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string -- 2.51.1 From 4c74f3a568583744dddab01e4cce5a2e8f207067 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 10 Dec 2025 16:18:15 +0100 Subject: [PATCH 38/43] conf: TRID4DWAVENX: define pcm configuration block only one time There may be multiple TRID4DWAVENX soundcards in the system. Overwrite the PCM configurations when loaded multiple times. Signed-off-by: Jaroslav Kysela --- src/conf/cards/TRID4DWAVENX.conf | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/conf/cards/TRID4DWAVENX.conf b/src/conf/cards/TRID4DWAVENX.conf index 717b1408..5001297e 100644 --- a/src/conf/cards/TRID4DWAVENX.conf +++ b/src/conf/cards/TRID4DWAVENX.conf @@ -4,7 +4,7 @@ -TRID4DWAVENX.pcm.front.0 { +TRID4DWAVENX.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -16,7 +16,7 @@ TRID4DWAVENX.pcm.front.0 { -TRID4DWAVENX.pcm.rear.0 { +TRID4DWAVENX.pcm.rear.!0 { @args [ CARD ] @args.CARD { type string @@ -56,7 +56,7 @@ TRID4DWAVENX.pcm.rear.0 { -TRID4DWAVENX.pcm.surround40.0 { +TRID4DWAVENX.pcm.surround40.!0 { @args [ CARD ] @args.CARD { type string @@ -92,7 +92,7 @@ TRID4DWAVENX.pcm.surround40.0 { -TRID4DWAVENX.pcm.iec958.0 { +TRID4DWAVENX.pcm.iec958.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string -- 2.51.1 From d6b9d7e0bef5ca8a019881b06de7183528ec5bd5 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 10 Dec 2025 16:18:22 +0100 Subject: [PATCH 39/43] conf: VIA686A,VIA82xx: define pcm configuration block only one time There may be multiple VIA soundcards in the system. Overwrite the PCM configurations when loaded multiple times. Signed-off-by: Jaroslav Kysela --- src/conf/cards/VIA686A.conf | 6 +++--- src/conf/cards/VIA8233.conf | 10 +++++----- src/conf/cards/VIA8233A.conf | 10 +++++----- src/conf/cards/VIA8237.conf | 10 +++++----- 4 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/conf/cards/VIA686A.conf b/src/conf/cards/VIA686A.conf index e4a06f23..c53dd71b 100644 --- a/src/conf/cards/VIA686A.conf +++ b/src/conf/cards/VIA686A.conf @@ -7,7 +7,7 @@ -VIA686A.pcm.front.0 { +VIA686A.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -17,7 +17,7 @@ VIA686A.pcm.front.0 { } # default with dmix/dsnoop -VIA686A.pcm.default { +VIA686A.pcm.!default { @args [ CARD ] @args.CARD { type string @@ -41,7 +41,7 @@ VIA686A.pcm.default { -VIA686A.pcm.iec958.0 { +VIA686A.pcm.iec958.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string diff --git a/src/conf/cards/VIA8233.conf b/src/conf/cards/VIA8233.conf index 9ad321f7..3c25a11b 100644 --- a/src/conf/cards/VIA8233.conf +++ b/src/conf/cards/VIA8233.conf @@ -4,7 +4,7 @@ -VIA8233.pcm.front.0 { +VIA8233.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -15,7 +15,7 @@ VIA8233.pcm.front.0 { # default with softvol/dsnoop # VIA8233 supports multi-playback -VIA8233.pcm.default { +VIA8233.pcm.!default { @args [ CARD ] @args.CARD { type string @@ -46,7 +46,7 @@ VIA8233.pcm.default { -VIA8233.pcm.surround40.0 { +VIA8233.pcm.surround40.!0 { @args [ CARD ] @args.CARD { type string @@ -91,7 +91,7 @@ VIA8233.pcm.surround40.0 { -VIA8233.pcm.surround51.0 { +VIA8233.pcm.surround51.!0 { @args [ CARD ] @args.CARD { type string @@ -146,7 +146,7 @@ VIA8233.pcm.surround51.0 { -VIA8233.pcm.iec958.0 { +VIA8233.pcm.iec958.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string diff --git a/src/conf/cards/VIA8233A.conf b/src/conf/cards/VIA8233A.conf index 679fccf3..c9e56e20 100644 --- a/src/conf/cards/VIA8233A.conf +++ b/src/conf/cards/VIA8233A.conf @@ -4,7 +4,7 @@ -VIA8233A.pcm.front.0 { +VIA8233A.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -14,7 +14,7 @@ VIA8233A.pcm.front.0 { } # default with dmix/dsnoop -VIA8233A.pcm.default { +VIA8233A.pcm.!default { @args [ CARD ] @args.CARD { type string @@ -38,7 +38,7 @@ VIA8233A.pcm.default { -VIA8233A.pcm.surround40.0 { +VIA8233A.pcm.surround40.!0 { @args [ CARD ] @args.CARD { type string @@ -89,7 +89,7 @@ VIA8233A.pcm.surround40.0 { -VIA8233A.pcm.surround51.0 { +VIA8233A.pcm.surround51.!0 { @args [ CARD ] @args.CARD { type string @@ -150,7 +150,7 @@ VIA8233A.pcm.surround51.0 { -VIA8233A.pcm.iec958.0 { +VIA8233A.pcm.iec958.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string diff --git a/src/conf/cards/VIA8237.conf b/src/conf/cards/VIA8237.conf index 29d8e00f..49fd6f2c 100644 --- a/src/conf/cards/VIA8237.conf +++ b/src/conf/cards/VIA8237.conf @@ -4,7 +4,7 @@ -VIA8237.pcm.front.0 { +VIA8237.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -15,7 +15,7 @@ VIA8237.pcm.front.0 { # default with softvol/dsnoop # VIA8237 supports multi-playback -VIA8237.pcm.default { +VIA8237.pcm.!default { @args [ CARD ] @args.CARD { type string @@ -46,7 +46,7 @@ VIA8237.pcm.default { -VIA8237.pcm.surround40.0 { +VIA8237.pcm.surround40.!0 { @args [ CARD ] @args.CARD { type string @@ -84,7 +84,7 @@ VIA8237.pcm.surround40.0 { -VIA8237.pcm.surround51.0 { +VIA8237.pcm.surround51.!0 { @args [ CARD ] @args.CARD { type string @@ -136,7 +136,7 @@ VIA8237.pcm.surround51.0 { -VIA8237.pcm.iec958.0 { +VIA8237.pcm.iec958.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string -- 2.51.1 From 4bcd33ef9dc6d8439cc6573575907ecf89271fe2 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 10 Dec 2025 16:18:22 +0100 Subject: [PATCH 40/43] conf: VX222,VXPocket: define pcm configuration block only one time There may be multiple VX soundcards in the system. Overwrite the PCM configurations when loaded multiple times. Signed-off-by: Jaroslav Kysela --- src/conf/cards/VX222.conf | 4 ++-- src/conf/cards/VXPocket.conf | 4 ++-- src/conf/cards/VXPocket440.conf | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/conf/cards/VX222.conf b/src/conf/cards/VX222.conf index 3385f25b..2c6e2297 100644 --- a/src/conf/cards/VX222.conf +++ b/src/conf/cards/VX222.conf @@ -4,7 +4,7 @@ -VX222.pcm.front.0 { +VX222.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -15,7 +15,7 @@ VX222.pcm.front.0 { -VX222.pcm.iec958.0 { +VX222.pcm.iec958.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string diff --git a/src/conf/cards/VXPocket.conf b/src/conf/cards/VXPocket.conf index fe44ff53..90b13347 100644 --- a/src/conf/cards/VXPocket.conf +++ b/src/conf/cards/VXPocket.conf @@ -4,7 +4,7 @@ -VXPocket.pcm.front.0 { +VXPocket.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -15,7 +15,7 @@ VXPocket.pcm.front.0 { -VXPocket.pcm.iec958.0 { +VXPocket.pcm.iec958.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string diff --git a/src/conf/cards/VXPocket440.conf b/src/conf/cards/VXPocket440.conf index 197c2d6c..87a0855a 100644 --- a/src/conf/cards/VXPocket440.conf +++ b/src/conf/cards/VXPocket440.conf @@ -4,7 +4,7 @@ -VXPocket440.pcm.front.0 { +VXPocket440.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -15,7 +15,7 @@ VXPocket440.pcm.front.0 { -VXPocket440.pcm.rear.0 { +VXPocket440.pcm.rear.!0 { @args [ CARD ] @args.CARD { type string @@ -27,7 +27,7 @@ VXPocket440.pcm.rear.0 { -VXPocket440.pcm.surround40.0 { +VXPocket440.pcm.surround40.!0 { @args [ CARD ] @args.CARD { type string @@ -64,7 +64,7 @@ VXPocket440.pcm.surround40.0 { -VXPocket440.pcm.iec958.0 { +VXPocket440.pcm.iec958.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string -- 2.51.1 From 29fa26b4b5e0d3b7ab539b38d6604d83430bf70b Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 10 Dec 2025 16:18:22 +0100 Subject: [PATCH 41/43] conf: YMF744: define pcm configuration block only one time There may be multiple YMF744 soundcards in the system. Overwrite the PCM configurations when loaded multiple times. Signed-off-by: Jaroslav Kysela --- src/conf/cards/YMF744.conf | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/conf/cards/YMF744.conf b/src/conf/cards/YMF744.conf index 84dbcbec..ad1f2132 100644 --- a/src/conf/cards/YMF744.conf +++ b/src/conf/cards/YMF744.conf @@ -4,7 +4,7 @@ -YMF744.pcm.front.0 { +YMF744.pcm.front.!0 { @args [ CARD ] @args.CARD { type string @@ -15,7 +15,7 @@ YMF744.pcm.front.0 { -YMF744.pcm.rear.0 { +YMF744.pcm.rear.!0 { @args [ CARD ] @args.CARD { type string @@ -27,7 +27,7 @@ YMF744.pcm.rear.0 { -YMF744.pcm.surround40.0 { +YMF744.pcm.surround40.!0 { @args [ CARD ] @args.CARD { type string @@ -63,7 +63,7 @@ YMF744.pcm.surround40.0 { -YMF744.pcm.iec958.0 { +YMF744.pcm.iec958.!0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string -- 2.51.1 From 17ffe17f0356f333f8bf8734a02ab419bd19cd99 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 10 Dec 2025 16:25:34 +0100 Subject: [PATCH 42/43] conf: pistachio-card: define pcm configuration block only one time There may be multiple pistachio-card soundcards in the system. Overwrite the PCM configurations when loaded multiple times. Signed-off-by: Jaroslav Kysela --- src/conf/cards/pistachio-card.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/conf/cards/pistachio-card.conf b/src/conf/cards/pistachio-card.conf index f68865eb..15cfd60b 100644 --- a/src/conf/cards/pistachio-card.conf +++ b/src/conf/cards/pistachio-card.conf @@ -29,7 +29,7 @@ https://docs.creatordev.io/ci40/guides/hardwaredocs/MIPS_Creator_cXT200_Technica # Subdevice #0: subdevice #0 # -pistachio-card.pcm.default{ +pistachio-card.pcm.!default { @args [ CARD ] @args.CARD { type string -- 2.51.1 From f30c355278cf9c86420b49ab9efc7eee890b658c Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 10 Dec 2025 16:44:12 +0100 Subject: [PATCH 43/43] conf: cards: unify whitespace - use tabs and remove trailing spaces Convert leading spaces to tabs for consistent indentation, remove trailing whitespace from all lines, and normalize file endings across all card configuration files. Signed-off-by: Jaroslav Kysela --- src/conf/cards/AACI.conf | 2 +- src/conf/cards/ATIIXP-SPDMA.conf | 2 +- src/conf/cards/ATIIXP.conf | 2 +- src/conf/cards/AU8810.conf | 2 +- src/conf/cards/AU8820.conf | 2 +- src/conf/cards/AU8830.conf | 2 +- src/conf/cards/Audigy.conf | 6 +- src/conf/cards/Audigy2.conf | 4 +- src/conf/cards/Aureon51.conf | 8 +- src/conf/cards/Aureon71.conf | 8 +- src/conf/cards/CA0106.conf | 8 +- src/conf/cards/CMI8338-SWIEC.conf | 2 +- src/conf/cards/CMI8338.conf | 2 +- src/conf/cards/CMI8738-MC6.conf | 6 +- src/conf/cards/CMI8738-MC8.conf | 8 +- src/conf/cards/CMI8788.conf | 8 +- src/conf/cards/CS46xx.conf | 6 +- src/conf/cards/EMU10K1.conf | 6 +- src/conf/cards/EMU10K1X.conf | 6 +- src/conf/cards/ENS1370.conf | 4 +- src/conf/cards/ENS1371.conf | 10 +-- src/conf/cards/ES1968.conf | 2 +- src/conf/cards/FM801.conf | 2 +- src/conf/cards/GUS.conf | 2 +- src/conf/cards/HDA-Intel.conf | 2 +- src/conf/cards/ICE1712.conf | 4 +- src/conf/cards/ICE1724.conf | 10 +-- src/conf/cards/ICH.conf | 2 +- src/conf/cards/ICH4.conf | 2 +- src/conf/cards/Loopback.conf | 2 +- src/conf/cards/Maestro3.conf | 3 +- src/conf/cards/NFORCE.conf | 138 ++++++++++++++--------------- src/conf/cards/PC-Speaker.conf | 3 +- src/conf/cards/PMac.conf | 2 +- src/conf/cards/PMacToonie.conf | 2 +- src/conf/cards/PS3.conf | 6 +- src/conf/cards/RME9636.conf | 2 +- src/conf/cards/RME9652.conf | 2 +- src/conf/cards/SB-XFi.conf | 8 +- src/conf/cards/SI7018.conf | 6 +- src/conf/cards/TRID4DWAVENX.conf | 4 +- src/conf/cards/USB-Audio.conf | 2 +- src/conf/cards/VIA686A.conf | 2 +- src/conf/cards/VIA8233.conf | 2 +- src/conf/cards/VIA8233A.conf | 2 +- src/conf/cards/VIA8237.conf | 2 +- src/conf/cards/VX222.conf | 2 +- src/conf/cards/VXPocket.conf | 2 +- src/conf/cards/VXPocket440.conf | 2 +- src/conf/cards/YMF744.conf | 4 +- src/conf/cards/pistachio-card.conf | 54 +++++------ 51 files changed, 190 insertions(+), 192 deletions(-) diff --git a/src/conf/cards/AACI.conf b/src/conf/cards/AACI.conf index ff4778b4..2f036dd6 100644 --- a/src/conf/cards/AACI.conf +++ b/src/conf/cards/AACI.conf @@ -11,7 +11,7 @@ AACI.pcm.front.!0 { } type hw card $CARD -} +} diff --git a/src/conf/cards/ATIIXP-SPDMA.conf b/src/conf/cards/ATIIXP-SPDMA.conf index 12c40efc..6d7344e8 100644 --- a/src/conf/cards/ATIIXP-SPDMA.conf +++ b/src/conf/cards/ATIIXP-SPDMA.conf @@ -11,7 +11,7 @@ ATIIXP-SPDMA.pcm.front.!0 { } type hw card $CARD -} +} # default with dmix/dsnoop ATIIXP.pcm.!default { diff --git a/src/conf/cards/ATIIXP.conf b/src/conf/cards/ATIIXP.conf index 13e01c48..d2736c3c 100644 --- a/src/conf/cards/ATIIXP.conf +++ b/src/conf/cards/ATIIXP.conf @@ -11,7 +11,7 @@ ATIIXP.pcm.front.!0 { } type hw card $CARD -} +} # default with dmix/dsnoop ATIIXP.pcm.!default { diff --git a/src/conf/cards/AU8810.conf b/src/conf/cards/AU8810.conf index 6b596b68..46de6dbc 100644 --- a/src/conf/cards/AU8810.conf +++ b/src/conf/cards/AU8810.conf @@ -11,7 +11,7 @@ AU8810.pcm.front.!0 { } type hw card $CARD -} +} diff --git a/src/conf/cards/AU8820.conf b/src/conf/cards/AU8820.conf index fe2cbc11..8e262a6f 100644 --- a/src/conf/cards/AU8820.conf +++ b/src/conf/cards/AU8820.conf @@ -11,4 +11,4 @@ AU8820.pcm.front.!0 { } type hw card $CARD -} +} diff --git a/src/conf/cards/AU8830.conf b/src/conf/cards/AU8830.conf index 9cd78b3e..a31d8a57 100644 --- a/src/conf/cards/AU8830.conf +++ b/src/conf/cards/AU8830.conf @@ -11,7 +11,7 @@ AU8830.pcm.front.!0 { } type hw card $CARD -} +} diff --git a/src/conf/cards/Audigy.conf b/src/conf/cards/Audigy.conf index a353c624..d2b54d3b 100644 --- a/src/conf/cards/Audigy.conf +++ b/src/conf/cards/Audigy.conf @@ -36,7 +36,7 @@ Audigy.pcm.front.!0 { } ] } -} +} @@ -64,7 +64,7 @@ Audigy.pcm.rear.!0 { } ] } -} +} @@ -100,7 +100,7 @@ Audigy.pcm.center_lfe.!0 { } ] } -} +} diff --git a/src/conf/cards/Audigy2.conf b/src/conf/cards/Audigy2.conf index 3c15fd1d..47d75680 100644 --- a/src/conf/cards/Audigy2.conf +++ b/src/conf/cards/Audigy2.conf @@ -37,7 +37,7 @@ Audigy2.pcm.front.!0 { ] } -} +} @@ -65,7 +65,7 @@ Audigy2.pcm.rear.!0 { } ] } -} +} diff --git a/src/conf/cards/Aureon51.conf b/src/conf/cards/Aureon51.conf index db907f82..da7e26dc 100644 --- a/src/conf/cards/Aureon51.conf +++ b/src/conf/cards/Aureon51.conf @@ -34,7 +34,7 @@ Aureon51.pcm.front.!0 { } type hw card $CARD -} +} @@ -47,7 +47,7 @@ Aureon51.pcm.rear.!0 { card $CARD device 2 subdevice 1 -} +} @@ -59,7 +59,7 @@ Aureon51.pcm.center_lfe.!0 { type hw card $CARD device 2 -} +} @@ -84,7 +84,7 @@ Aureon51.pcm.surround40.!0 { type hw card $CARD channels 4 -} +} diff --git a/src/conf/cards/Aureon71.conf b/src/conf/cards/Aureon71.conf index f29bc297..98e65ab0 100644 --- a/src/conf/cards/Aureon71.conf +++ b/src/conf/cards/Aureon71.conf @@ -34,7 +34,7 @@ Aureon71.pcm.front.!0 { } type hw card $CARD -} +} @@ -46,7 +46,7 @@ Aureon71.pcm.rear.!0 { type hw card $CARD device 2 -} +} @@ -59,7 +59,7 @@ Aureon71.pcm.center_lfe.!0 { card $CARD device 2 subdevice 1 -} +} @@ -84,7 +84,7 @@ Aureon71.pcm.surround40.!0 { type hw card $CARD channels 4 -} +} diff --git a/src/conf/cards/CA0106.conf b/src/conf/cards/CA0106.conf index 1fea79f5..bf90c3c6 100644 --- a/src/conf/cards/CA0106.conf +++ b/src/conf/cards/CA0106.conf @@ -34,7 +34,7 @@ CA0106.pcm.front.!0 { } type hw card $CARD -} +} @@ -46,7 +46,7 @@ CA0106.pcm.rear.!0 { type hw card $CARD device 1 -} +} @@ -58,7 +58,7 @@ CA0106.pcm.center_lfe.!0 { type hw card $CARD device 2 -} +} @@ -70,7 +70,7 @@ CA0106.pcm.side.!0 { type hw card $CARD device 3 -} +} diff --git a/src/conf/cards/CMI8338-SWIEC.conf b/src/conf/cards/CMI8338-SWIEC.conf index ca86c466..2a9b777c 100644 --- a/src/conf/cards/CMI8338-SWIEC.conf +++ b/src/conf/cards/CMI8338-SWIEC.conf @@ -12,7 +12,7 @@ CMI8338-SWIEC.pcm.front.!0 { } type hw card $CARD -} +} # default with dmix/dsnoop CMI8338-SWIEC.pcm.!default { diff --git a/src/conf/cards/CMI8338.conf b/src/conf/cards/CMI8338.conf index 0f92ad0b..8bd1159d 100644 --- a/src/conf/cards/CMI8338.conf +++ b/src/conf/cards/CMI8338.conf @@ -11,7 +11,7 @@ CMI8338.pcm.front.!0 { } type hw card $CARD -} +} # default with dmix/dsnoop CMI8338.pcm.!default { diff --git a/src/conf/cards/CMI8738-MC6.conf b/src/conf/cards/CMI8738-MC6.conf index 2b1c7d05..6bb17712 100644 --- a/src/conf/cards/CMI8738-MC6.conf +++ b/src/conf/cards/CMI8738-MC6.conf @@ -11,7 +11,7 @@ CMI8738-MC6.pcm.front.!0 { } type hw card $CARD -} +} # default with dmix/dsnoop CMI8738-MC6.pcm.!default { @@ -75,7 +75,7 @@ CMI8738-MC6.pcm.surround40.!0 { } ] } -} +} @@ -105,7 +105,7 @@ CMI8738-MC6.pcm.surround51.!0 { } ] } -} +} diff --git a/src/conf/cards/CMI8738-MC8.conf b/src/conf/cards/CMI8738-MC8.conf index 96cb3f10..239014d4 100644 --- a/src/conf/cards/CMI8738-MC8.conf +++ b/src/conf/cards/CMI8738-MC8.conf @@ -18,7 +18,7 @@ CMI8738-MC8.pcm.front.!0 { name "PCM Playback Volume" card $CARD } -} +} # default with dmix+softvol & dsnoop CMI8738-MC8.pcm.!default { @@ -102,7 +102,7 @@ CMI8738-MC8.pcm.surround40.!0 { name "PCM Playback Volume" card $CARD } -} +} @@ -140,7 +140,7 @@ CMI8738-MC8.pcm.surround51.!0 { name "PCM Playback Volume" card $CARD } -} +} @@ -174,7 +174,7 @@ CMI8738-MC8.pcm.surround71.!0 { name "PCM Playback Volume" card $CARD } -} +} diff --git a/src/conf/cards/CMI8788.conf b/src/conf/cards/CMI8788.conf index c4ad9f48..32ab8fb4 100644 --- a/src/conf/cards/CMI8788.conf +++ b/src/conf/cards/CMI8788.conf @@ -11,7 +11,7 @@ CMI8788.pcm.front.!0 { } type hw card $CARD -} +} # default with dmix & dsnoop CMI8788.pcm.!default { @@ -46,7 +46,7 @@ CMI8788.pcm.surround40.!0 { type hw card $CARD channels 4 -} +} @@ -61,7 +61,7 @@ CMI8788.pcm.surround51.!0 { type hw card $CARD channels 6 -} +} @@ -73,7 +73,7 @@ CMI8788.pcm.surround71.!0 { type hw card $CARD channels 8 -} +} diff --git a/src/conf/cards/CS46xx.conf b/src/conf/cards/CS46xx.conf index 478cbf3e..ad6a2218 100644 --- a/src/conf/cards/CS46xx.conf +++ b/src/conf/cards/CS46xx.conf @@ -11,7 +11,7 @@ CS46xx.pcm.front.!0 { } type hw card $CARD -} +} # default with plughw # CS46xx supports multi-playback @@ -62,7 +62,7 @@ CS46xx.pcm.rear.!0 { } ] } -} +} @@ -74,7 +74,7 @@ CS46xx.pcm.center_lfe.!0 { type hw card $CARD device 3 -} +} diff --git a/src/conf/cards/EMU10K1.conf b/src/conf/cards/EMU10K1.conf index 5ef12c03..c2dc7590 100644 --- a/src/conf/cards/EMU10K1.conf +++ b/src/conf/cards/EMU10K1.conf @@ -43,7 +43,7 @@ EMU10K1.pcm.front.!0 { type hw card $CARD } -} +} @@ -74,7 +74,7 @@ EMU10K1.pcm.rear.!0 { ] } } -} +} @@ -139,7 +139,7 @@ EMU10K1.pcm.center_lfe.!0 { ] } } -} +} diff --git a/src/conf/cards/EMU10K1X.conf b/src/conf/cards/EMU10K1X.conf index 334f897d..7d73ba44 100644 --- a/src/conf/cards/EMU10K1X.conf +++ b/src/conf/cards/EMU10K1X.conf @@ -34,7 +34,7 @@ EMU10K1X.pcm.front.!0 { } type hw card $CARD -} +} @@ -46,7 +46,7 @@ EMU10K1X.pcm.rear.!0 { type hw card $CARD device 1 -} +} @@ -58,7 +58,7 @@ EMU10K1X.pcm.center_lfe.!0 { type hw card $CARD device 2 -} +} diff --git a/src/conf/cards/ENS1370.conf b/src/conf/cards/ENS1370.conf index c65e224f..446c2f7d 100644 --- a/src/conf/cards/ENS1370.conf +++ b/src/conf/cards/ENS1370.conf @@ -12,7 +12,7 @@ ENS1370.pcm.front.!0 { type hw card $CARD device 1 -} +} # default with dmix/dsnoop ENS1370.pcm.!default { @@ -67,7 +67,7 @@ ENS1370.pcm.rear.!0 { } ] } -} +} diff --git a/src/conf/cards/ENS1371.conf b/src/conf/cards/ENS1371.conf index 560fda9f..549fd7c9 100644 --- a/src/conf/cards/ENS1371.conf +++ b/src/conf/cards/ENS1371.conf @@ -11,7 +11,7 @@ ENS1371.pcm.front.!0 { } type hw card $CARD -} +} # default with dmix/dsnoop ENS1371.pcm.!default { @@ -61,7 +61,7 @@ ENS1371.pcm.rear.!0 { } ] } -} +} @@ -78,11 +78,11 @@ ENS1371.pcm.surround40.!0 { strings [ "cards.ENS1371.pcm.front.0:CARD=" $CARD ] } channels 2 - } + } { pcm { @func concat - strings [ "cards.ENS1371.pcm.rear.0:CARD=" $CARD ] + strings [ "cards.ENS1371.pcm.rear.0:CARD=" $CARD ] } channels 2 } @@ -94,7 +94,7 @@ ENS1371.pcm.surround40.!0 { { slave 1 channel 1 } ] } - + ENS1371.pcm.iec958.!0 { diff --git a/src/conf/cards/ES1968.conf b/src/conf/cards/ES1968.conf index 296baa13..83dcf93b 100644 --- a/src/conf/cards/ES1968.conf +++ b/src/conf/cards/ES1968.conf @@ -9,4 +9,4 @@ ES1968.pcm.front.!0 { } type hw card $CARD -} +} diff --git a/src/conf/cards/FM801.conf b/src/conf/cards/FM801.conf index 14cfdbe8..b8bed781 100644 --- a/src/conf/cards/FM801.conf +++ b/src/conf/cards/FM801.conf @@ -11,7 +11,7 @@ FM801.pcm.front.!0 { } type hw card $CARD -} +} # default with dmix/dsnoop FM801.pcm.!default { diff --git a/src/conf/cards/GUS.conf b/src/conf/cards/GUS.conf index a1ccd0e9..42a612a6 100644 --- a/src/conf/cards/GUS.conf +++ b/src/conf/cards/GUS.conf @@ -16,4 +16,4 @@ GUS.pcm.front.!0 { type hw card $CARD } -} +} diff --git a/src/conf/cards/HDA-Intel.conf b/src/conf/cards/HDA-Intel.conf index 76775b97..cacd2815 100644 --- a/src/conf/cards/HDA-Intel.conf +++ b/src/conf/cards/HDA-Intel.conf @@ -26,7 +26,7 @@ HDA-Intel.pcm.front.!0 { type hw card $CARD } -} +} # default with dmix+softvol & dsnoop HDA-Intel.pcm.!default { diff --git a/src/conf/cards/ICE1712.conf b/src/conf/cards/ICE1712.conf index 190d2c59..08b84f30 100644 --- a/src/conf/cards/ICE1712.conf +++ b/src/conf/cards/ICE1712.conf @@ -53,7 +53,7 @@ ICE1712.pcm.front.!0 { } slave.channels 12 } -} +} @@ -72,7 +72,7 @@ ICE1712.pcm.surround40.!0 { card $CARD } slave.channels 10 -} +} diff --git a/src/conf/cards/ICE1724.conf b/src/conf/cards/ICE1724.conf index 16045dc4..678df41d 100644 --- a/src/conf/cards/ICE1724.conf +++ b/src/conf/cards/ICE1724.conf @@ -34,7 +34,7 @@ ICE1724.pcm.front.!0 { } type hw card $CARD -} +} @@ -47,7 +47,7 @@ ICE1724.pcm.rear.!0 { card $CARD device 2 subdevice 1 -} +} @@ -59,7 +59,7 @@ ICE1724.pcm.center_lfe.!0 { type hw card $CARD device 2 -} +} @@ -93,7 +93,7 @@ ICE1724.pcm.surround40.!0 { card $CARD } } -} +} @@ -114,7 +114,7 @@ ICE1724.pcm.surround51.!0 { ttable.5.3 1 slave { channels 6 - pcm { + pcm { type hw card $CARD } diff --git a/src/conf/cards/ICH.conf b/src/conf/cards/ICH.conf index c35c8d02..573b9e26 100644 --- a/src/conf/cards/ICH.conf +++ b/src/conf/cards/ICH.conf @@ -18,7 +18,7 @@ ICH.pcm.front.!0 { name "PCM Playback Volume" card $CARD } -} +} # default with dmix+softvol & dsnoop ICH.pcm.!default { diff --git a/src/conf/cards/ICH4.conf b/src/conf/cards/ICH4.conf index 11c85a6e..5641c9c4 100644 --- a/src/conf/cards/ICH4.conf +++ b/src/conf/cards/ICH4.conf @@ -18,7 +18,7 @@ ICH4.pcm.front.!0 { name "PCM Playback Volume" card $CARD } -} +} # default with dmix+softvol & dsnoop ICH4.pcm.!default { diff --git a/src/conf/cards/Loopback.conf b/src/conf/cards/Loopback.conf index 21c8429c..3911aed5 100644 --- a/src/conf/cards/Loopback.conf +++ b/src/conf/cards/Loopback.conf @@ -18,7 +18,7 @@ Loopback.pcm.front.!0 { name "PCM Playback Volume" card $CARD } -} +} # default with dmix+softvol & dsnoop Loopback.pcm.!default { diff --git a/src/conf/cards/Maestro3.conf b/src/conf/cards/Maestro3.conf index a8d89a48..c0e3da31 100644 --- a/src/conf/cards/Maestro3.conf +++ b/src/conf/cards/Maestro3.conf @@ -9,7 +9,7 @@ Maestro3.pcm.front.!0 { } type hw card $CARD -} +} # default with dmix/dsnoop Maestro3.pcm.!default { @@ -35,4 +35,3 @@ Maestro3.pcm.!default { } } } - diff --git a/src/conf/cards/NFORCE.conf b/src/conf/cards/NFORCE.conf index 088cd8ce..aeef6b40 100644 --- a/src/conf/cards/NFORCE.conf +++ b/src/conf/cards/NFORCE.conf @@ -18,7 +18,7 @@ NFORCE.pcm.front.!0 { name "PCM Playback Volume" card $CARD } -} +} # default with dmix+softvol & dsnoop NFORCE.pcm.!default { @@ -175,74 +175,74 @@ NFORCE.pcm.surround51.!0 { 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 - } + @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 + } } diff --git a/src/conf/cards/PC-Speaker.conf b/src/conf/cards/PC-Speaker.conf index 8a40a139..97cb0d5d 100644 --- a/src/conf/cards/PC-Speaker.conf +++ b/src/conf/cards/PC-Speaker.conf @@ -20,7 +20,7 @@ PC-Speaker.pcm.front.!0 { } min_dB -10.0 max_dB 20.0 -} +} # default with dmix & null PC-Speaker.pcm.!default { @@ -49,4 +49,3 @@ PC-Speaker.pcm.!default { type null } } - diff --git a/src/conf/cards/PMac.conf b/src/conf/cards/PMac.conf index 00f3bc89..67dfabc6 100644 --- a/src/conf/cards/PMac.conf +++ b/src/conf/cards/PMac.conf @@ -11,7 +11,7 @@ PMac.pcm.front.!0 { } type hw card $CARD -} +} # default with dmix/dsnoop PMac.pcm.!default { diff --git a/src/conf/cards/PMacToonie.conf b/src/conf/cards/PMacToonie.conf index aff1ea65..c45cf12b 100644 --- a/src/conf/cards/PMacToonie.conf +++ b/src/conf/cards/PMacToonie.conf @@ -18,7 +18,7 @@ PMacToonie.pcm.front.!0 { name "PCM Playback Volume" card $CARD } -} +} # default with dmix+softvol & dsnoop PMacToonie.pcm.!default { diff --git a/src/conf/cards/PS3.conf b/src/conf/cards/PS3.conf index 486d790c..8a165fc3 100644 --- a/src/conf/cards/PS3.conf +++ b/src/conf/cards/PS3.conf @@ -19,7 +19,7 @@ PS3.pcm.front.!0 { name "PCM Playback Volume" card $CARD } -} +} # default with dmix+softvol PS3.pcm.!default { @@ -34,8 +34,8 @@ PS3.pcm.!default { type softvol slave.pcm { @func concat - #strings [ "dmix:CARD=" $CARD ] - strings [ "dmix:CARD=" $CARD ",FORMAT=S16" ] + #strings [ "dmix:CARD=" $CARD ] + strings [ "dmix:CARD=" $CARD ",FORMAT=S16" ] } control { name "PCM Playback Volume" diff --git a/src/conf/cards/RME9636.conf b/src/conf/cards/RME9636.conf index 17b3a1ab..c5c74ee9 100644 --- a/src/conf/cards/RME9636.conf +++ b/src/conf/cards/RME9636.conf @@ -11,7 +11,7 @@ RME9636.pcm.front.!0 { } type hw card $CARD -} +} # FIXME: This configuration is not valid for double-speed rates. diff --git a/src/conf/cards/RME9652.conf b/src/conf/cards/RME9652.conf index a11e42b2..34ef91bb 100644 --- a/src/conf/cards/RME9652.conf +++ b/src/conf/cards/RME9652.conf @@ -11,7 +11,7 @@ RME9652.pcm.front.!0 { } type hw card $CARD -} +} # FIXME: This configuration is not valid for double-speed rates. diff --git a/src/conf/cards/SB-XFi.conf b/src/conf/cards/SB-XFi.conf index 9ce9c8ac..64e3d082 100644 --- a/src/conf/cards/SB-XFi.conf +++ b/src/conf/cards/SB-XFi.conf @@ -12,7 +12,7 @@ SB-XFi.pcm.front.!0 { type hw card $CARD device 0 -} +} @@ -25,7 +25,7 @@ SB-XFi.pcm.rear.!0 { card $CARD device 1 hint.device 1 -} +} @@ -38,7 +38,7 @@ SB-XFi.pcm.center_lfe.!0 { card $CARD device 2 hint.device 2 -} +} @@ -51,7 +51,7 @@ SB-XFi.pcm.side.!0 { card $CARD device 3 hint.device 3 -} +} diff --git a/src/conf/cards/SI7018.conf b/src/conf/cards/SI7018.conf index 33d19085..3a22107c 100644 --- a/src/conf/cards/SI7018.conf +++ b/src/conf/cards/SI7018.conf @@ -14,7 +14,7 @@ SI7018.pcm.front.!0 { type hw card $CARD chmap [ "UNKNOWN" "FL,FR" ] -} +} @@ -23,7 +23,7 @@ SI7018.pcm.rear.!0 { @args.CARD { type string } - type hooks + type hooks slave.pcm { type hw card $CARD @@ -40,7 +40,7 @@ SI7018.pcm.rear.!0 { } ] } -} +} diff --git a/src/conf/cards/TRID4DWAVENX.conf b/src/conf/cards/TRID4DWAVENX.conf index 5001297e..3c25515e 100644 --- a/src/conf/cards/TRID4DWAVENX.conf +++ b/src/conf/cards/TRID4DWAVENX.conf @@ -12,7 +12,7 @@ TRID4DWAVENX.pcm.front.!0 { type hw card $CARD chmap [ "UNKNOWN" "FL,FR" ] -} +} @@ -52,7 +52,7 @@ TRID4DWAVENX.pcm.rear.!0 { } ] } -} +} diff --git a/src/conf/cards/USB-Audio.conf b/src/conf/cards/USB-Audio.conf index 1fc540e2..33d856f2 100644 --- a/src/conf/cards/USB-Audio.conf +++ b/src/conf/cards/USB-Audio.conf @@ -47,7 +47,7 @@ USB-Audio.pcm.iec958_device { "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 diff --git a/src/conf/cards/VIA686A.conf b/src/conf/cards/VIA686A.conf index c53dd71b..40c2f89e 100644 --- a/src/conf/cards/VIA686A.conf +++ b/src/conf/cards/VIA686A.conf @@ -14,7 +14,7 @@ VIA686A.pcm.front.!0 { } type hw card $CARD -} +} # default with dmix/dsnoop VIA686A.pcm.!default { diff --git a/src/conf/cards/VIA8233.conf b/src/conf/cards/VIA8233.conf index 3c25a11b..ccc7fe2f 100644 --- a/src/conf/cards/VIA8233.conf +++ b/src/conf/cards/VIA8233.conf @@ -11,7 +11,7 @@ VIA8233.pcm.front.!0 { } type hw card $CARD -} +} # default with softvol/dsnoop # VIA8233 supports multi-playback diff --git a/src/conf/cards/VIA8233A.conf b/src/conf/cards/VIA8233A.conf index c9e56e20..e566edeb 100644 --- a/src/conf/cards/VIA8233A.conf +++ b/src/conf/cards/VIA8233A.conf @@ -11,7 +11,7 @@ VIA8233A.pcm.front.!0 { } type hw card $CARD -} +} # default with dmix/dsnoop VIA8233A.pcm.!default { diff --git a/src/conf/cards/VIA8237.conf b/src/conf/cards/VIA8237.conf index 49fd6f2c..074e342c 100644 --- a/src/conf/cards/VIA8237.conf +++ b/src/conf/cards/VIA8237.conf @@ -11,7 +11,7 @@ VIA8237.pcm.front.!0 { } type hw card $CARD -} +} # default with softvol/dsnoop # VIA8237 supports multi-playback diff --git a/src/conf/cards/VX222.conf b/src/conf/cards/VX222.conf index 2c6e2297..96ea32f6 100644 --- a/src/conf/cards/VX222.conf +++ b/src/conf/cards/VX222.conf @@ -11,7 +11,7 @@ VX222.pcm.front.!0 { } type hw card $CARD -} +} diff --git a/src/conf/cards/VXPocket.conf b/src/conf/cards/VXPocket.conf index 90b13347..81260a7d 100644 --- a/src/conf/cards/VXPocket.conf +++ b/src/conf/cards/VXPocket.conf @@ -11,7 +11,7 @@ VXPocket.pcm.front.!0 { } type hw card $CARD -} +} diff --git a/src/conf/cards/VXPocket440.conf b/src/conf/cards/VXPocket440.conf index 87a0855a..6b3aea40 100644 --- a/src/conf/cards/VXPocket440.conf +++ b/src/conf/cards/VXPocket440.conf @@ -11,7 +11,7 @@ VXPocket440.pcm.front.!0 { } type hw card $CARD -} +} diff --git a/src/conf/cards/YMF744.conf b/src/conf/cards/YMF744.conf index ad1f2132..974bf791 100644 --- a/src/conf/cards/YMF744.conf +++ b/src/conf/cards/YMF744.conf @@ -11,7 +11,7 @@ YMF744.pcm.front.!0 { } type hw card $CARD -} +} @@ -23,7 +23,7 @@ YMF744.pcm.rear.!0 { type hw card $CARD device 2 -} +} diff --git a/src/conf/cards/pistachio-card.conf b/src/conf/cards/pistachio-card.conf index 15cfd60b..d92c019a 100644 --- a/src/conf/cards/pistachio-card.conf +++ b/src/conf/cards/pistachio-card.conf @@ -1,10 +1,10 @@ # # Configuration for the pistachio chip. # -# The data sheet of the chip and technical reference manual can be -found at +# 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 +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: @@ -30,30 +30,30 @@ https://docs.creatordev.io/ci40/guides/hardwaredocs/MIPS_Creator_cXT200_Technica # pistachio-card.pcm.!default { - @args [ CARD ] - @args.CARD { - type string - default "pistachio" - } - @args.DEVICE { - type integer - default 2 - } + @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 - } + 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 - } + playback.pcm { + type hw + card $CARD + device $DEVICE + } } -- 2.51.1