Hi,
I used alsaucm to test mixer use cases for an Intel Baytrail tablet, I wanted to use bare alsa before bringing pulseaudio in, and it took some time to get my head around it.
The output from the "alsaucm --help" is too terse, I had to look at the alsa-lib code[1] to see the possible IDENTIFIERs, and even then it was not clear to me that some operations, like for instance "list _devices", can only work after setting a _verb in the same _execution_, for instance this sequence doesn't work:
# alsaucm -c bytcr-rt5640 set _verb HiFi # alsaucm -c bytcr-rt5640 list _devices
But this command does:
# alsaucm -c bytcr-rt5640 -b - <<EOM set _verb HiFi list _devces EOM
Now that I know something more it makes sense: UCM just operates on mixer settings, it does not have its own external state.
However, my point is that a man page explaining these things can make the life easier to new users.
It would be better if alsa/UCM developers wrote the man page, but if no one steps up I guess I could draft a first version myself.
Thanks, Antonio
[1] http://git.alsa-project.org/?p=alsa-lib.git;a=blob;f=include/use-case.h