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...
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=d751...
The source has examples of what the parser is looking for.
Liam
-Xavier Hsu-