[linux-audio-dev] when to implement controlC0/hwD0C0/mixerC0, and what for ?

Paul Davis paul at linuxaudiosystems.com
Fri Jan 31 09:09:01 UTC 2003


>I'm getting a bit confused about how mixers and special harware controls (like
> GPIOs) are implemented in ALSA(0.9.0) :
>
>What is the difference between /proc/asound/dev/controlC0 and /proc/asound/dev
>/mixerC0 ? 

the mixer is a device/API that is specifically tailored to controlling
aspects of signal routing, gain etc.

the control is a device/API that is a general purpose method of
controlling any and all aspects of the interface's configuration.

the mixer device/API is built on top of the control API.

which controls are available is decided by the author of the device
driver. 

>Basically, what for should I open the controlC0 device ? (mixer settings, powe
>r management ? )and do I need to implement a mixerCx device ?

you do not need a mixer device. application developers are warned that
ALSA devices are not guaranteed to have any or all of PCM devices,
MIDI, mixers, etc.etc.

>Should controlC0 be used for lowlevel settings global to the board, while hwC?
>D? would be for proprietary hardware control on a given IO ?

the control interface is used for things that fit neatly into the
control paradigm of N-valued switches and settings.

the hwdep interface is used for other stuff (h/w specific sample
loading, firmware reloads, etc. etc.)

--p



More information about the Linux-audio-dev mailing list