mirror of
https://github.com/alsa-project/alsa-tools.git
synced 2025-11-01 22:58:48 -04:00
Added value label for analog volume
This commit is contained in:
parent
378d5c5c99
commit
0ce4d14906
3 changed files with 38 additions and 10 deletions
|
|
@ -78,6 +78,8 @@ GtkWidget *hw_spdif_input_optical_radio;
|
|||
|
||||
GtkObject *av_dac_volume_adj[10];
|
||||
GtkObject *av_adc_volume_adj[10];
|
||||
GtkLabel *av_dac_volume_label[10];
|
||||
GtkLabel *av_adc_volume_label[10];
|
||||
GtkWidget *av_dac_sense_radio[10][4];
|
||||
GtkWidget *av_adc_sense_radio[10][4];
|
||||
|
||||
|
|
@ -1061,12 +1063,19 @@ static void create_analog_volume(GtkWidget *main, GtkWidget *notebook, int page)
|
|||
gtk_scale_set_draw_value(GTK_SCALE(vscale), FALSE);
|
||||
gtk_widget_show(vscale);
|
||||
gtk_fixed_put(GTK_FIXED(fixed1), vscale, 2, 2);
|
||||
gtk_widget_set_usize(vscale, 66, 200);
|
||||
|
||||
gtk_widget_set_usize(vscale, 66, 180);
|
||||
gtk_scale_set_value_pos(GTK_SCALE(vscale), GTK_POS_BOTTOM);
|
||||
gtk_scale_set_digits(GTK_SCALE(vscale), 0);
|
||||
gtk_signal_connect(GTK_OBJECT(adj), "value_changed",
|
||||
GTK_SIGNAL_FUNC(dac_volume_adjust), (gpointer)(i));
|
||||
|
||||
label = gtk_label_new("100 (-000dB)");
|
||||
av_dac_volume_label[i] = (GtkLabel *)label;
|
||||
gtk_widget_show(label);
|
||||
gtk_fixed_put(GTK_FIXED(fixed1), label, 0, 182);
|
||||
gtk_widget_set_uposition(label, 0, 182);
|
||||
gtk_widget_set_usize(label, 66, 16);
|
||||
|
||||
if (i >= envy_dac_senses())
|
||||
continue;
|
||||
group = NULL;
|
||||
|
|
@ -1103,12 +1112,19 @@ static void create_analog_volume(GtkWidget *main, GtkWidget *notebook, int page)
|
|||
gtk_scale_set_draw_value(GTK_SCALE(vscale), FALSE);
|
||||
gtk_widget_show(vscale);
|
||||
gtk_fixed_put(GTK_FIXED(fixed1), vscale, 2, 2);
|
||||
gtk_widget_set_usize(vscale, 66, 200);
|
||||
|
||||
gtk_widget_set_usize(vscale, 66, 180);
|
||||
gtk_scale_set_value_pos(GTK_SCALE(vscale), GTK_POS_BOTTOM);
|
||||
gtk_scale_set_digits(GTK_SCALE(vscale), 0);
|
||||
gtk_signal_connect(GTK_OBJECT(adj), "value_changed",
|
||||
GTK_SIGNAL_FUNC(adc_volume_adjust), (gpointer)(i));
|
||||
|
||||
label = gtk_label_new("100 (-000dB)");
|
||||
av_adc_volume_label[i] = (GtkLabel *)label;
|
||||
gtk_widget_show(label);
|
||||
gtk_fixed_put(GTK_FIXED(fixed1), label, 0, 182);
|
||||
gtk_widget_set_uposition(label, 0, 182);
|
||||
gtk_widget_set_usize(label, 66, 16);
|
||||
|
||||
if (i >= envy_adc_senses())
|
||||
continue;
|
||||
group = NULL;
|
||||
|
|
|
|||
|
|
@ -87,6 +87,8 @@ extern GtkWidget *hw_spdif_input_optical_radio;
|
|||
|
||||
extern GtkObject *av_dac_volume_adj[];
|
||||
extern GtkObject *av_adc_volume_adj[];
|
||||
extern GtkLabel *av_dac_volume_label[];
|
||||
extern GtkLabel *av_adc_volume_label[];
|
||||
extern GtkWidget *av_dac_sense_radio[][4];
|
||||
extern GtkWidget *av_adc_sense_radio[][4];
|
||||
|
||||
|
|
|
|||
|
|
@ -162,13 +162,16 @@ void dac_volume_adjust(GtkAdjustment *adj, gpointer data)
|
|||
{
|
||||
int idx = (int)data;
|
||||
snd_ctl_elem_value_t *val;
|
||||
int err;
|
||||
int err, ival = -(int)adj->value;
|
||||
char text[16];
|
||||
|
||||
snd_ctl_elem_value_alloca(&val);
|
||||
snd_ctl_elem_value_set_interface(val, SND_CTL_ELEM_IFACE_MIXER);
|
||||
snd_ctl_elem_value_set_name(val, DAC_VOLUME_NAME);
|
||||
snd_ctl_elem_value_set_index(val, idx);
|
||||
snd_ctl_elem_value_set_integer(val, 0, -(int)adj->value);
|
||||
snd_ctl_elem_value_set_integer(val, 0, ival);
|
||||
sprintf(text, "%03i %s", ival, ival == 127 ? "consum" : (ival == 111 ? "-10dB" : ""));
|
||||
gtk_label_set_text(av_dac_volume_label[idx], text);
|
||||
if ((err = snd_ctl_elem_write(ctl, val)) < 0)
|
||||
g_print("Unable to write dac volume: %s\n", snd_strerror(err));
|
||||
}
|
||||
|
|
@ -177,13 +180,16 @@ void adc_volume_adjust(GtkAdjustment *adj, gpointer data)
|
|||
{
|
||||
int idx = (int)data;
|
||||
snd_ctl_elem_value_t *val;
|
||||
int err;
|
||||
int err, ival = -(int)adj->value;
|
||||
char text[16];
|
||||
|
||||
snd_ctl_elem_value_alloca(&val);
|
||||
snd_ctl_elem_value_set_interface(val, SND_CTL_ELEM_IFACE_MIXER);
|
||||
snd_ctl_elem_value_set_name(val, ADC_VOLUME_NAME);
|
||||
snd_ctl_elem_value_set_index(val, idx);
|
||||
snd_ctl_elem_value_set_integer(val, 0, -(int)adj->value);
|
||||
snd_ctl_elem_value_set_integer(val, 0, ival);
|
||||
sprintf(text, "%03i %s", ival, ival == 127 ? "consum" : (ival == 111 ? "-10dB" : ""));
|
||||
gtk_label_set_text(av_adc_volume_label[idx], text);
|
||||
if ((err = snd_ctl_elem_write(ctl, val)) < 0)
|
||||
g_print("Unable to write adc volume: %s\n", snd_strerror(err));
|
||||
}
|
||||
|
|
@ -292,10 +298,14 @@ void analog_volume_postinit(void)
|
|||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < dac_volumes; i++)
|
||||
for (i = 0; i < dac_volumes; i++) {
|
||||
dac_volume_update(i);
|
||||
for (i = 0; i < adc_volumes; i++)
|
||||
dac_volume_adjust((GtkAdjustment *)av_dac_volume_adj[i], (gpointer)i);
|
||||
}
|
||||
for (i = 0; i < adc_volumes; i++) {
|
||||
adc_volume_update(i);
|
||||
adc_volume_adjust((GtkAdjustment *)av_adc_volume_adj[i], (gpointer)i);
|
||||
}
|
||||
for (i = 0; i < dac_senses; i++)
|
||||
dac_sense_update(i);
|
||||
for (i = 0; i < adc_senses; i++)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue