From: Jaroslav Kysela Date: Wed, 6 Nov 2019 09:21:40 +0000 (+0100) Subject: ucm: add ${CardComponents} substitution to the value string processing X-Git-Tag: v1.2.1~13 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=900638ff4d4fafa1eff3d6be10356ee6d8f8e2a5;p=alsa-lib.git ucm: add ${CardComponents} substitution to the value string processing Signed-off-by: Jaroslav Kysela --- diff --git a/src/ucm/ucm_subs.c b/src/ucm/ucm_subs.c index b5173718..c26fe08b 100644 --- a/src/ucm/ucm_subs.c +++ b/src/ucm/ucm_subs.c @@ -63,6 +63,16 @@ static char *rval_card_longname(snd_use_case_mgr_t *uc_mgr) return strdup(snd_ctl_card_info_get_longname(ctl_list->ctl_info)); } +static char *rval_card_components(snd_use_case_mgr_t *uc_mgr) +{ + struct ctl_list *ctl_list; + + ctl_list = uc_mgr_get_one_ctl(uc_mgr); + if (ctl_list == NULL) + return NULL; + return strdup(snd_ctl_card_info_get_components(ctl_list->ctl_info)); +} + static char *rval_env(snd_use_case_mgr_t *uc_mgr ATTRIBUTE_UNUSED, const char *id) { char *e; @@ -121,6 +131,7 @@ int uc_mgr_get_substituted_value(snd_use_case_mgr_t *uc_mgr, MATCH_VARIABLE(value, "${CardId}", rval_card_id); MATCH_VARIABLE(value, "${CardName}", rval_card_name); MATCH_VARIABLE(value, "${CardLongName}", rval_card_longname); + MATCH_VARIABLE(value, "${CardComponents}", rval_card_components); MATCH_VARIABLE2(value, "${env:", rval_env); err = -EINVAL; tmp = strchr(value, '}');