On Tue, 9 Nov 2010, abraham duenas wrote:
Hello, I think this is missing:
diff --git a/src/ucm/main.c b/src/ucm/main.c index e233f41..a73595d 100644 --- a/src/ucm/main.c +++ b/src/ucm/main.c @@ -774,9 +774,9 @@ int snd_use_case_get_list(snd_use_case_mgr_t *uc_mgr, pthread_mutex_lock(&uc_mgr->mutex); if (strcmp(identifier, "_verbs") == 0) err = get_verb_list(uc_mgr, list);
else if (strcmp(identifier, "_enadevs"))
else if (strcmp(identifier, "_enadevs") == 0) err = get_enabled_device_list(uc_mgr, list);
else if (strcmp(identifier, "_enamods"))
else if (strcmp(identifier, "_enamods") == 0) err = get_enabled_modifier_list(uc_mgr, list); else { str1 = strchr(identifier, '/');
I added this fix to my ucm tree. Thaks.
And changing the "[" for a "{" in the SectionVerb and SectionDevice like this: SectionVerb { EnableSequence { cset "name='DL1 Media Playback Volume' 90" cset "name='DL2 Media Playback Volume' 90" } .......... SectionDevice."Headset".0 { Comment "SDP4430 3.5mm Headset"
EnableSequence { cset "name='DL1 Mixer Multimedia' 0" cset "name='Sidetone Mixer Playback' 1" cset "name='HS Right Playback' 0" cset "name='HS Left Playback' 0" cset "name='MUX_UL11' 9" cset "name='MUX_UL10' 10" }
...........
I'm getting the expected error ONLY for the last element: listed in the EnableSequence field: e.g: ALSA lib main.c:137:(execute_sequence) cset not yet implemented: 'name='DL2 Media Playback Volume' 90' ALSA lib main.c:137:(execute_sequence) cset not yet implemented: 'name='MUX_UL10' 10'
i'll keep on digging as time permits :)
I fixed the sequence parser. It should work now ok. So the only missing part is to add the 'snd_ctl_*' backend for cset commands. The parsing functions for ctl strings are available in my ucm branch now:
char *snd_ctl_ascii_elem_id_get(snd_ctl_elem_id_t *id); int snd_ctl_ascii_elem_id_parse(snd_ctl_elem_id_t *dst, const char *str); int snd_ctl_ascii_value_parse(snd_ctl_t *handle, snd_ctl_elem_value_t *dst, snd_ctl_elem_info_t *info, const char *value);
Jaroslav
----- Jaroslav Kysela perex@perex.cz Linux Kernel Sound Maintainer ALSA Project, Red Hat, Inc.