On Mon, Jul 26, 2010 at 10:25 PM, Tim E. Real <termtech(a)rogers.com> wrote:
For now here's the code, throw it inside
dac_volume_to_db() and
adc_volume_to_db() but *replace* DAC_VOLUME_NAME with ADC_VOLUME_NAME,
and I believe mixer_volume_to_db() and wherever else required.
Do you need a patch?
No patch needed... I've made the suggested change and it works identically.
I still need to make a similar change in mixer_volume_to_db() and get
the value of my MAX_MIXER_ATTENUATION_DB constant out of ALSA , even
though this is an unchanging aspect across all ICE1712 chips per
architecture:
http://nielsmayer.com/envy24control/envy24mixer-architecture.png
#define MAX_MIXER_ATTENUATION_DB 144.0 /* for -144dB */
#define MIN_MIXER_ATTENUATION_DB 0.0 /* for 0dB */
/* NPM: the control values for the digital mixer are 0-96 and not the
dB attenuation values of MAX_MIXER_ATTENUATION_DB/MIN_MIXER_ATTENUATION_DB
The following values comprise all the signals mixed in the ice1712's digital
mixer: MULTI_PLAYBACK_VOLUME, HW_MULTI_CAPTURE_VOLUME,
IEC958_MULTI_CAPTURE_VOLUME:
amixer -c M66 cget iface=MIXER,name='Multi
Playback Volume'
numid=11,iface=MIXER,name='Multi Playback Volume'
; type=INTEGER,access=rw---R--,values=2,min=0,max=96,step=0
: values=78,67
| dBscale-min=-144.00dB,step=1.50dB,mute=0
amixer -c M66 cget iface=MIXER,name="H/W Multi
Capture Volume"
numid=27,iface=MIXER,name='H/W Multi Capture
Volume'
; type=INTEGER,access=rw---R--,values=2,min=0,max=96,step=0
: values=0,0
| dBscale-min=-144.00dB,step=1.50dB,mute=0
amixer -c M66 cget iface=MIXER,name="IEC958 Multi
Capture Volume"
numid=31,iface=MIXER,name='IEC958 Multi Capture
Volume'
; type=INTEGER,access=rw------,values=2,min=0,max=96,step=0
: values=16,0
*/
-- Niels
http://nielsmayer.com