Been so long since I studied envy24 stuff that I was in danger of
messing up facts and wishing for something that might not be
possible. So I pulled my card out and looked at the ICs and their
datsheets, and looked at envy24control coding.
The ADC chip on my particular card is AK4524 from AKM.
Although the gain and attenuation stages are separate,
the control of them is not. Values from 0-127 control
the IATT stage, and values above 127 control the IPGA stage.
envy24control still has code to show both the IPGA and IATT controls.
I don't remember why they were separate in the first place.
Possibly some (AKM) chips allow *separate* control of gain and attenuation.
But it was ALSA where the two controls were combined into one ADC.
So I think envy24control just shows the one ADC control now.
This seems to open the door for other kinds of ADC chips, which
don't have separate gain and attenuation stages, and/or which
could have other value ranges. Say a range which doesn't go above 0dB.
So... I was going to say this means envy24control (or other mixer) has no
way of knowing what value corresponds to what dB, or where the 0dB point is.
But then I saw that amixer prints out the dB values.
Can't remember where amixer gets that from... Was it trickery or true values?
And do we have access to these values?
I think this was the difficulty I was remembering last post.
One moment... Checking...
Here we go! snd_mixer_selem_get_playback_dB( )
Problem solved? Accurate or not?
On July 16, 2010 03:13:17 am you wrote:
Linux-audio-dev mailing list