>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
