
At Mon, 17 Sep 2012 09:39:01 +0200, David Henningsson wrote:
But the jack detection controls don't follow this yet. Maybe we can set such a jack control as inactive state when the jack detection is disabled.
(And this reminds me that we can cut off "Phantom" name hack by following the same rule -- just set the control inactive when it has no real detection. But it still appears in control list.)
Looking at the alsa-lib API, this seems doable. It seems possible to figure out using snd_hctl_elem_info and then snd_ctl_elem_info_is_inactive. If it is also runtime changeable (i e depending on some other mixer control), we need a callback to fire on the hctl.
Why are you using snd_hctl? For looking over jack controls, using snd_ctl_* is more straightforward.
Also, which callback are you thinking of? The phantom jack is basically just a placeholder, so there should be no activity from itself.
Takashi