[alsa-devel] [ALSA UCM] Help me obtain complete document of alsa ucm

Liam Girdwood liam.r.girdwood at linux.intel.com
Thu Nov 14 20:23:05 CET 2013


On Thu, 2013-11-07 at 16:55 +0800, Xavier Hsu wrote:
> Hi,
> When I develop ALSA UCM for my target platform. 
> I've stocked by lack syntax description.
> 
> 
> 
> I already know how to use some syntax of alsa ucm like
> "EnableSequence" and "DisableSequence" in "SectionVerb".
> So I can use alsa commands like
> 
> alsaucm -c EVB set _verb HiFi set _enadev Headphones
> 
> alsaucm -c EVB set _verb HiFi set _disdev Headphones
> 
> 
> 
> to enable or disable our Headphones devices.
> 
> 
> In addition to, I add some setting like
> ATTRS{id}=="EVBsnd", RUN+="/usr/bin/alsaucm -c MB8AC0300 set _verb
> HiFi"
> ATTRS{id}=="EVBsnd", RUN+="/usr/bin/alsaucm -c MB8AC0300 set _verb
> Record"
> in 90-alsa-ucm.rules file.
> 
> 
> But I don't know how to correctly use some syntax (such as
> "ConflictingDevice", "TransitionSequence", "Value" and so on) of alsa
> ucm.

ConflictingDevice means that the current Device/Modifier is not
compatible with the specified device.

TransitionSequence is a sequence of commands (mixer settings etc) that
can be used to transition from one verb/device/modifier to another.

Value is used to set default values for verb, devices and modifier.

Arun has created some UCM config file for the Galaxy Nexus:-

http://cgit.collabora.com/git/android/platform/external/collabora/pulseaudio-android.git/tree/data/alsa/ucm/Tuna/HiFi

Best to use these files as an example atm.

> I refer to Use Case Manager in ALSA document.
> 
> http://www.alsa-project.org/main/index.php/Use_Case_Manager
> 
> Unfortunately, it cannot resolve my questions.
> 

Sorry, documentation is lacking atm. I'm currently writing some more
detailed docs but there are not yet finished. 
> 
> Do you have more detail information about ALSA UCM syntax usage
> documentation or example?
> Thank you very much.
> 
The best place to look at the moment is in alsa-lib/src/ucm/parser.c

http://git.alsa-project.org/?p=alsa-lib.git;a=blob;f=src/ucm/parser.c;h=d7517f69e84b2467d24d4331580ae5be374ff58f;hb=refs/heads/master

The source has examples of what the parser is looking for.

Liam
> 
> -Xavier Hsu-





More information about the Alsa-devel mailing list