[alsa-devel] ALSA UCM

abraham duenas aduejazz at gmail.com
Tue Nov 9 17:54:49 CET 2010


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, '/');

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 :)

On Sat, Nov 6, 2010 at 6:26 AM, Liam Girdwood <lrg at slimlogic.co.uk> wrote:
> On Fri, 2010-11-05 at 15:23 -0600, abraham duenas wrote:
>> ok I changed to this form in the SectionDefaults at SDP4430.conf:
>> cset "name='Capture Preamplifier Volume' 0,0"
>> cset "name='Capture Volume' 0,0"
>> cset "name='Aux FM Volume' 0,0"
>> ...
>> and so on....  and on "hifi" is remove all "index=X" references...
>>
>> Some things I noticed is that at parse_sequence function in
>> /ucm/parser.c the 'const char *id' never matches 'cset' or 'sleep' or
>> 'exec' when parsing SectionDevice of the verb file. And in
>> "execute_sequence" function of the the /ucm/main.c it never gets into
>> the "list_for_each" cycle which in turn would show me the "
>> uc_error("cset not yet implemented: '%s'", s->data.cset);"
>
> Ok, so either your config is different compared to Jaroslav's or there
> is a bug in the parser. I'd expect you to see the "cset not implemented"
> warning so can you try your Jaroslav's config with your debug trace.
>
> Thanks
>
> Liam
> --
> Freelance Developer, SlimLogic Ltd
> ASoC and Voltage Regulator Maintainer.
> http://www.slimlogic.co.uk
>
>


More information about the Alsa-devel mailing list