this is one of those stupid codecs that has hardwired connections
between ADCs and the mics. Lenovo and Dell use these. stupid
you can do this:
$ aucat -l -s default -c 0:1 -C 0:1 -s internal -c 2:3 -C 2:3
that gives you two sub-devices, "default", and "internal". you
can then specify which device to use with the AUDIODEVICE environment
variable. "default" is the default device if not specified. so,
$ aucat -o junk.wav
$ aucat -i junk.wav
will record from the external mic (record.adc-0:1_source=mic)
and play it on the headphones (outputs.hp_source=dac-0:1), while
$ AUDIODEVICE=internal aucat -o junk.wav
$ AUDIODEVICE=internal aucat -i junk.wav
will record from the internal mic (record.adc-2:3_source=mic2) and
play it back on the speaker (outputs.spkr_source=dac-2:3).
and I know mic2 is the internal speaker because there is a
'mic_sense' control, which means 'mic' is a jack.
I'm working on making mic switching automatic when a mic jack is
plugged/unplugged, but there are still some issues to be worked out.
SDF Public Access UNIX System - http://sdf.lonestar.org