gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, TRUE, 6);
}
- adj = gtk_adjustment_new(0, -127, 0, 1, 16, 0);
+ adj = gtk_adjustment_new(0, -(envy_adc_max()), 0, 1, 16, 0);
av_adc_volume_adj[i] = adj;
vscale = gtk_vscale_new(GTK_ADJUSTMENT(adj));
gtk_scale_set_draw_value(GTK_SCALE(vscale), FALSE);
int envy_dac_volumes(void);
int envy_dac_max(void);
int envy_adc_volumes(void);
+int envy_adc_max(void);
int envy_ipga_volumes(void);
int envy_dac_senses(void);
int envy_adc_senses(void);
static int dac_volumes;
static int dac_max = 127;
+static int adc_max = 127;
static int adc_volumes;
static int ipga_volumes;
static int dac_senses;
return adc_volumes;
}
+int envy_adc_max(void)
+{
+ return adc_max;
+}
+
int envy_ipga_volumes(void)
{
return ipga_volumes;
g_print("Unable to read ipga volume: %s\n", snd_strerror(err));
return;
}
- gtk_adjustment_set_value(GTK_ADJUSTMENT(av_ipga_volume_adj[idx]),
- -0);
+ if (ipga_volumes > 0)
+ gtk_adjustment_set_value(GTK_ADJUSTMENT(av_ipga_volume_adj[idx]),
+ -0);
}
void ipga_volume_update(int idx)
// set ADC volume to max if IPGA volume greater 0
if (ipga_vol)
gtk_adjustment_set_value(GTK_ADJUSTMENT(av_adc_volume_adj[idx]),
- -127);
+ -adc_max);
}
void dac_sense_update(int idx)
snd_ctl_elem_info_set_index(info, i);
if (snd_ctl_elem_info(ctl, info) < 0)
break;
+ adc_max = snd_ctl_elem_info_get_max(info);
}
if (i < input_channels - 1)
adc_volumes = i;