2010/2/23 Clemens Ladisch clemens@ladisch.de
Lennart Poettering wrote:
On Sun, 21.02.10 12:01, Raymond Yau (superquad.vortex2@gmail.com) wrote:
However Simple Mixer API cannot know the subdevice number , you have to
use
control API ( the lower level API used by Simple Mixer API )
Unfortunately there is no way from the simple mixer to the lower level mixer.
Often, there is no 1:1 correspondence between mixer elements and PCM devices. Only mixer controls with interface PCM (not MIXER) have (sub-) device numbers, and at the moment this is used only for controls that are associated with the streams of hardware-mixing-capable cards.
But there is really 1:1 correspondence for HDA capture sudevices and the control related to capturing
card 1: Intel [HDA Intel], device 0: AD198x Analog [AD198x Analog] Subdevices: 3/3 Subdevice #0: subdevice #0 Subdevice #1: subdevice #1 Subdevice #2: subdevice #2
Card hw:1 'Intel'/'HDA Intel at 0xff9f4000 irq 22' Mixer name : 'Analog Devices AD1988' Components : 'HDA:11d41988' Controls : 48 Simple ctrls : 26
Simple mixer control 'Capture',0 Capabilities: cvolume cswitch Capture channels: Front Left - Front Right Limits: Capture 0 - 54 Front Left: Capture 39 [72%] [0.00dB] [off] Front Right: Capture 39 [72%] [0.00dB] [off] Simple mixer control 'Capture',1 Capabilities: cvolume cswitch Capture channels: Front Left - Front Right Limits: Capture 0 - 54 Front Left: Capture 39 [72%] [0.00dB] [off] Front Right: Capture 39 [72%] [0.00dB] [off] Simple mixer control 'Capture',2 Capabilities: cvolume cswitch Capture channels: Front Left - Front Right Limits: Capture 0 - 54 Front Left: Capture 39 [72%] [0.00dB] [off] Front Right: Capture 39 [72%] [0.00dB] [off]
Simple mixer control 'Input Source',0 Capabilities: cenum Items: 'Front Mic' 'Line' 'Mic' 'CD' 'Mix' Item0: 'Mic' Simple mixer control 'Input Source',1 Capabilities: cenum Items: 'Front Mic' 'Line' 'Mic' 'CD' 'Mix' Item0: 'Front Mic' Simple mixer control 'Input Source',2 Capabilities: cenum Items: 'Front Mic' 'Line' 'Mic' 'CD' 'Mix' Item0: 'Front Mic'
control.28 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'Capture Switch' value.0 false value.1 false } control.29 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 54' comment.dbmin -5850 comment.dbmax 2250 iface MIXER name 'Capture Volume' index 1 value.0 39 value.1 39 } control.30 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'Capture Switch' index 1 value.0 false value.1 false } control.31 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 54' comment.dbmin -5850 comment.dbmax 2250 iface MIXER name 'Capture Volume' index 2 value.0 39 value.1 39 } control.32 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'Capture Switch' index 2 value.0 false value.1 false } control.33 { comment.access 'read write' comment.type ENUMERATED comment.count 1 comment.item.0 'Front Mic' comment.item.1 Line comment.item.2 Mic comment.item.3 CD comment.item.4 Mix iface MIXER name 'Input Source' value Mic } control.34 { comment.access 'read write' comment.type ENUMERATED comment.count 1 comment.item.0 'Front Mic' comment.item.1 Line comment.item.2 Mic comment.item.3 CD comment.item.4 Mix iface MIXER name 'Input Source' index 1 value 'Front Mic' } control.35 { comment.access 'read write' comment.type ENUMERATED comment.count 1 comment.item.0 'Front Mic' comment.item.1 Line comment.item.2 Mic comment.item.3 CD comment.item.4 Mix iface MIXER name 'Input Source' index 2 value 'Front Mic' }
Getting information about the mixer layout (like the nodes reported by HDA and USB devices) is on the TODO list; the only reason it isn't being implemented is lack of time.
Regards, Clemens