On Fri, 21 Jan 2011, pl bossart wrote:
Originally, verbs were mapped 1:1 with cards, however Jaroslav recently added support for multiple cards per verb.
Does this mean for a given verb UCM will return a list of devices on different cards that can be used, and the application will choose from the list? Or are these multiple cards supposed to be used simultaneously? I probably need more expresso here..
You may have for example USB microphone and USB speakers plugged to the system (each represents one card for the ALSA driver with different USB physical links). UCM can join these two cards as one "virtual", so if an app asks for playback device, USB speakers are returned and for capture device, USB MIC is returned. Only one alsa-lib's device should be returned for given verb/device/modifier identifiers. I admit that the PCM configuration for alsa-lib allows this too, but UCM handles also the mixer control mapping.
Anyway, your questions are mostly about the abstract mapping. The purpose of UCM is to allow any abstraction, so strings in the header file like "HiFi" or so are just common cases. But anyone can create own abstraction for different purposes.
Jaroslav
----- Jaroslav Kysela perex@perex.cz Linux Kernel Sound Maintainer ALSA Project, Red Hat, Inc.