mirror of
https://github.com/alsa-project/alsa-tools.git
synced 2025-10-29 05:40:25 -04:00
echomixer update 2/4
- Bugfix: Makes sure that the "changed" event will be triggered when we will set the right value (the trick of setting an out of range value do not work anymore with gtk+-2.x). - Bugfix: Same as above for toggle buttons. Signed-off-by: Giuliano Pochini <pochini@shiny.it>
This commit is contained in:
parent
08916c0027
commit
6d36219735
1 changed files with 12 additions and 7 deletions
|
|
@ -1865,7 +1865,7 @@ int main(int argc, char *argv[]) {
|
|||
GtkWidget *vbsel, *frame, *button;
|
||||
GtkWidget *label, *menu, *menuitem;
|
||||
GSList *bgroup;
|
||||
int err, i, o, n, cardnum;
|
||||
int err, i, o, n, cardnum, value;
|
||||
char hwname[8], cardname[32], load, save;
|
||||
snd_ctl_card_info_t *hw_info;
|
||||
|
||||
|
|
@ -2049,6 +2049,7 @@ printf("components = %s\n", snd_ctl_card_info_get_components(hw_info));*/
|
|||
p4dbuIn[i]=gtk_toggle_button_new_with_label(str);
|
||||
gtk_box_pack_start(GTK_BOX(hbox), p4dbuIn[i], TRUE, FALSE, 1);
|
||||
gtk_widget_show(p4dbuIn[i]);
|
||||
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(p4dbuIn[i]), NominalIn[i]); // Forces handler call
|
||||
gtk_signal_connect(GTK_OBJECT(p4dbuIn[i]), "toggled", GTK_SIGNAL_FUNC(Nominal_level_toggled), (gpointer)i);
|
||||
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(p4dbuIn[i]), !NominalIn[i]);
|
||||
}
|
||||
|
|
@ -2069,6 +2070,7 @@ printf("components = %s\n", snd_ctl_card_info_get_components(hw_info));*/
|
|||
p4dbuOut[i]=gtk_toggle_button_new_with_label(str);
|
||||
gtk_box_pack_start(GTK_BOX(hbox), p4dbuOut[i], TRUE, FALSE, 1);
|
||||
gtk_widget_show(p4dbuOut[i]);
|
||||
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(p4dbuOut[i]), NominalOut[i]);
|
||||
gtk_signal_connect(GTK_OBJECT(p4dbuOut[i]), "toggled", GTK_SIGNAL_FUNC(Nominal_level_toggled), (gpointer)(i+ECHO_MAXAUDIOINPUTS));
|
||||
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(p4dbuOut[i]), !NominalOut[i]);
|
||||
}
|
||||
|
|
@ -2209,7 +2211,8 @@ printf("components = %s\n", snd_ctl_card_info_get_components(hw_info));*/
|
|||
gtk_widget_show(label);
|
||||
gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
|
||||
// Volume
|
||||
pcmoutControl.adj[i]=gtk_adjustment_new(999, ECHOGAIN_MINOUT, ECHOGAIN_MAXOUT, SHORTSTEP, LONGSTEP, 0);
|
||||
value = INVERT(pcmoutControl.Gain[i]);
|
||||
pcmoutControl.adj[i]=gtk_adjustment_new(!value, ECHOGAIN_MINOUT, ECHOGAIN_MAXOUT, SHORTSTEP, LONGSTEP, 0);
|
||||
pcmoutControl.volume[i]=gtk_vscale_new(GTK_ADJUSTMENT(pcmoutControl.adj[i]));
|
||||
gtk_widget_show(pcmoutControl.volume[i]);
|
||||
gtk_box_pack_start(GTK_BOX(vbox), pcmoutControl.volume[i], TRUE, TRUE, 0);
|
||||
|
|
@ -2219,7 +2222,7 @@ printf("components = %s\n", snd_ctl_card_info_get_components(hw_info));*/
|
|||
pcmoutControl.label[i]=gtk_label_new("xxx");
|
||||
gtk_widget_show(pcmoutControl.label[i]);
|
||||
gtk_box_pack_start(GTK_BOX(vbox), pcmoutControl.label[i], FALSE, FALSE, 0);
|
||||
gtk_adjustment_set_value(GTK_ADJUSTMENT(pcmoutControl.adj[i]), INVERT(pcmoutControl.Gain[i]));
|
||||
gtk_adjustment_set_value(GTK_ADJUSTMENT(pcmoutControl.adj[i]), value);
|
||||
}
|
||||
gtk_widget_set_usize(GTK_WIDGET(pcmoutControl.volume[0]), 0, 170); // Set minimum y size
|
||||
}
|
||||
|
|
@ -2261,7 +2264,8 @@ printf("components = %s\n", snd_ctl_card_info_get_components(hw_info));*/
|
|||
gtk_widget_show(label);
|
||||
gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
|
||||
// Volume (resolution is 0.5 dB)
|
||||
lineinControl.adj[i]=gtk_adjustment_new(999, ECHOGAIN_MININP, ECHOGAIN_MAXINP, SHORTSTEP, LONGSTEP*2, 0);
|
||||
value = IN_INVERT(lineinControl.Gain[i]);
|
||||
lineinControl.adj[i]=gtk_adjustment_new(!value, ECHOGAIN_MININP, ECHOGAIN_MAXINP, SHORTSTEP, LONGSTEP*2, 0);
|
||||
lineinControl.volume[i]=gtk_vscale_new(GTK_ADJUSTMENT(lineinControl.adj[i]));
|
||||
gtk_widget_show(lineinControl.volume[i]);
|
||||
gtk_box_pack_start(GTK_BOX(vbox), lineinControl.volume[i], TRUE, TRUE, 0);
|
||||
|
|
@ -2271,7 +2275,7 @@ printf("components = %s\n", snd_ctl_card_info_get_components(hw_info));*/
|
|||
lineinControl.label[i]=gtk_label_new("xxx");
|
||||
gtk_widget_show(lineinControl.label[i]);
|
||||
gtk_box_pack_start(GTK_BOX(vbox), lineinControl.label[i], FALSE, FALSE, 0);
|
||||
gtk_adjustment_set_value(GTK_ADJUSTMENT(lineinControl.adj[i]), IN_INVERT(lineinControl.Gain[i]));
|
||||
gtk_adjustment_set_value(GTK_ADJUSTMENT(lineinControl.adj[i]), value);
|
||||
}
|
||||
gtk_widget_set_usize(GTK_WIDGET(lineinControl.volume[0]), 0, 170); // Set minimum y size
|
||||
}
|
||||
|
|
@ -2299,7 +2303,8 @@ printf("components = %s\n", snd_ctl_card_info_get_components(hw_info));*/
|
|||
gtk_widget_show(label);
|
||||
gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
|
||||
// Volume
|
||||
lineoutControl.adj[i]=gtk_adjustment_new(0, ECHOGAIN_MINOUT, ECHOGAIN_MAXOUT, SHORTSTEP, LONGSTEP, 0);
|
||||
value = INVERT(lineoutControl.Gain[i]);
|
||||
lineoutControl.adj[i]=gtk_adjustment_new(!value, ECHOGAIN_MINOUT, ECHOGAIN_MAXOUT, SHORTSTEP, LONGSTEP, 0);
|
||||
lineoutControl.volume[i]=gtk_vscale_new(GTK_ADJUSTMENT(lineoutControl.adj[i]));
|
||||
gtk_widget_show(lineoutControl.volume[i]);
|
||||
gtk_box_pack_start(GTK_BOX(vbox), lineoutControl.volume[i], TRUE, TRUE, 0);
|
||||
|
|
@ -2309,7 +2314,7 @@ printf("components = %s\n", snd_ctl_card_info_get_components(hw_info));*/
|
|||
lineoutControl.label[i]=gtk_label_new("xxx");
|
||||
gtk_widget_show(lineoutControl.label[i]);
|
||||
gtk_box_pack_start(GTK_BOX(vbox), lineoutControl.label[i], FALSE, FALSE, 0);
|
||||
gtk_adjustment_set_value(GTK_ADJUSTMENT(lineoutControl.adj[i]), INVERT(lineoutControl.Gain[i]));
|
||||
gtk_adjustment_set_value(GTK_ADJUSTMENT(lineoutControl.adj[i]), value);
|
||||
}
|
||||
gtk_widget_set_usize(GTK_WIDGET(lineoutControl.volume[0]), 0, 170); // Set minimum y size
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue