[alsa-devel] [PATCH 0/3] alsa-lib: UCM - Use Case Manager

Jaroslav Kysela perex at perex.cz
Wed Aug 25 10:28:14 CEST 2010

On Tue, 24 Aug 2010, Liam Girdwood wrote:

> On Mon, 2010-08-23 at 19:47 +0200, Jaroslav Kysela wrote:
>> Unfortunately, I have many ideas to improve the API before I can approve
>> or recommend the inclusion to the alsa-lib's tree.
> I wish you had shared your API ideas with us at the time of the RFC. A
> lot of time and effort has since went into UCM development :-/

I too. My big problem is the lack of time.

I tried to rethink the API to be more universal for future extensions (but 
the implementation will not dramatically change and the mechanisms you 
want to expose are not touched at all). I just wanted to add the 
possibility to create the virtual cards combining resources from any 
PCM/control/mixer device available in system. The proper device evaluation 
and mixer control assignments is something which is wanted by PulseAudio 

My proposed header file with reduced function set but not reduced 
functionality is available at:


The syntax of your proposed files is very close to the other alsa-lib's 
syntax. For example:

 	Name "Capture Voice"
 		seq1 1
 	QoS Voice

Can be written in alsa-lib's syntax:

SectionModifier."Capture Voice" [
 	EnableSequence [
 		seq1 1
 	QoS Voice

So I'm thinking to recode all parsers to use the alsa-lib configuration 
parsers. As bonus, the alsa-lib configuration routines give us some 
runtime evaluation and possibility to reference (include) other files.

Next step may be to support the 'amixer' like syntax for the control and 
mixer element handling.


Jaroslav Kysela <perex at perex.cz>
Linux Kernel Sound Maintainer
ALSA Project, Red Hat, Inc.

More information about the Alsa-devel mailing list