[alsa-devel] [PATCH 0/3] alsa-lib: UCM - Use Case Manager
Jaroslav Kysela
perex at perex.cz
Tue Sep 7 16:42:57 CEST 2010
On Tue, 7 Sep 2010, Liam Girdwood wrote:
> Hi Jaroslav,
>
> Any update on this ? I have someone scheduled to write new use case
> files and someone else ready to add PA support.
Hi,
I'm working on this. Unfortunately, I have other things which interrupts
this work. The actual code is at:
http://git.alsa-project.org/?p=alsa-lib.git;a=shortlog;h=ucm
During coding, it appears that even the handling of controls might be
changed. Your code has everything build-in. I'm not sure why to restrict
the card/verb/modifier/transition definitions only for the universal
control API. I think that it might be more "easy to understand" and
universal to define just sequence of commands like:
SectionDefaults [
exec "amixer cset name='Master Playback Switch',index=2 1,1"
exec "amixer cset name='Master Playback Volume',index=2 25,25"
exec "amixer cset name='Master Mono Playback',index=1 0"
exec "amixer cset name='Master Mono Playback Volume',index=1 0"
msleep 50 # or: exec "usleep 50000"
exec "amixer cset name='PCM Switch',index=2 1,1"
........
]
Because "amixer cset" command will be probably most used command, we can
eventually move the amixer code to alsa-lib to not create so much
processes and speed-up things.
It means that the ucm should not track card controls, but commands for
transitions.
The only thing which might "broke" things is calling fork from a pthread:
http://unix.derkeiler.com/Newsgroups/comp.unix.programmer/2003-09/0672.html
But it seems that fork/immediate-exec is an acceptable way.
Comments?
Jaroslav
-----
Jaroslav Kysela <perex at perex.cz>
Linux Kernel Sound Maintainer
ALSA Project, Red Hat, Inc.
More information about the Alsa-devel
mailing list