On Sat, Oct 17, 2020 at 05:52:58PM +0200, Jan Stary wrote:
> Currently, mixerctl.conf(5) says
>
> Most devices have a number of digital to analogue converters
> (DACs), used for sound playback, and each DAC has a corresponding
> output mixer. The mixers are labelled “mix” or “sel”.
>
> That doesn't seem to be the case, at least not universaly
> as the wording seems to imply. For example, this is
> mixerctl output on a Thinkpad T400:
>
> inputs.dac-0:1=222,222
> inputs.dac-2:3=222,222
> inputs.beep=0
> record.adc-2:3_source=mic2
> record.adc-2:3=219,219
> record.adc-0:1_source=mic
> record.adc-0:1=219,219
> outputs.hp_source=dac-0:1
> outputs.hp_boost=on
> inputs.mic=189,189
> outputs.mic_dir=input-vr80
> outputs.spkr_source=dac-2:3
> outputs.spkr_eapd=on
> inputs.mic2=189,189
> outputs.hp_sense=unplugged
> outputs.mic_sense=unplugged
> outputs.master=240,240
> outputs.master.mute=off
> outputs.master.slaves=
> record.volume=240,240
> record.volume.mute=off
> record.volume.slaves=
> record.enable=sysctl
>
> Apparently, it has two DACS (for the speakers and the headphones).
> The current wording might confuse the user into thinking he has
> no output mixer, but the
>
> inputs.dac-0:1=222,222
> inputs.dac-2:3=222,222
>
> do control the respective volumes,
> while no "mix" or "sel" exists.
>
> Similarly for recording via the two ADCs.
>
It depends on the hardware. Basically, azalia exposes the schematic of
the mixer and, in turn, the driver exposes all "widgets" to the upper
layers, with a generated name. This is very similar to uaudio.
Certain devices have no "mix_xxx" widgets others have. On one of my
machines:
$ doas mixerctl | egrep '(inputs|outputs).mix' | wc -l
20
desktop computers have many jacks and tend to have many
mixers. The "sel_xxx" widgets are rare but still exist.