Add page argument to gtk_dial_new_with_range()
Make gain widget page_incr 3dB.
This commit is contained in:
@@ -477,13 +477,18 @@ GtkWidget *gtk_dial_new(GtkAdjustment *adjustment) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
GtkWidget *gtk_dial_new_with_range(double min, double max, double step) {
|
GtkWidget *gtk_dial_new_with_range(
|
||||||
|
double min,
|
||||||
|
double max,
|
||||||
|
double step,
|
||||||
|
double page
|
||||||
|
) {
|
||||||
GtkAdjustment *adj;
|
GtkAdjustment *adj;
|
||||||
int digits;
|
int digits;
|
||||||
|
|
||||||
g_return_val_if_fail(min < max, NULL);
|
g_return_val_if_fail(min < max, NULL);
|
||||||
|
|
||||||
adj = gtk_adjustment_new(min, min, max, step, 10 * step, 0);
|
adj = gtk_adjustment_new(min, min, max, step, page, 0);
|
||||||
|
|
||||||
if (step == 0.0) {
|
if (step == 0.0) {
|
||||||
digits = -1;
|
digits = -1;
|
||||||
|
|||||||
@@ -43,7 +43,12 @@ GType gtk_dial_get_type(void) G_GNUC_CONST;
|
|||||||
|
|
||||||
GtkWidget *gtk_dial_new(GtkAdjustment *adjustment);
|
GtkWidget *gtk_dial_new(GtkAdjustment *adjustment);
|
||||||
|
|
||||||
GtkWidget *gtk_dial_new_with_range(double min, double max, double step);
|
GtkWidget *gtk_dial_new_with_range(
|
||||||
|
double min,
|
||||||
|
double max,
|
||||||
|
double step,
|
||||||
|
double page
|
||||||
|
);
|
||||||
|
|
||||||
void gtk_dial_set_has_origin(GtkDial *dial, gboolean has_origin);
|
void gtk_dial_set_has_origin(GtkDial *dial, gboolean has_origin);
|
||||||
gboolean gtk_dial_get_has_origin(GtkDial *dial);
|
gboolean gtk_dial_get_has_origin(GtkDial *dial);
|
||||||
|
|||||||
@@ -63,11 +63,16 @@ GtkWidget *make_gain_alsa_elem(struct alsa_elem *elem, int zero_is_off) {
|
|||||||
data->vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
|
data->vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
|
||||||
gtk_widget_set_hexpand(data->vbox, TRUE);
|
gtk_widget_set_hexpand(data->vbox, TRUE);
|
||||||
|
|
||||||
data->dial = gtk_dial_new_with_range(elem->min_val, elem->max_val, 1);
|
|
||||||
|
|
||||||
data->scale = (float)(elem->max_dB - elem->min_dB) /
|
data->scale = (float)(elem->max_dB - elem->min_dB) /
|
||||||
(elem->max_val - elem->min_val);
|
(elem->max_val - elem->min_val);
|
||||||
|
|
||||||
|
data->dial = gtk_dial_new_with_range(
|
||||||
|
elem->min_val,
|
||||||
|
elem->max_val,
|
||||||
|
1,
|
||||||
|
3 / data->scale
|
||||||
|
);
|
||||||
|
|
||||||
// calculate 0dB value
|
// calculate 0dB value
|
||||||
int zero_db_value = (int)((0 - elem->min_dB) / data->scale + elem->min_val);
|
int zero_db_value = (int)((0 - elem->min_dB) / data->scale + elem->min_val);
|
||||||
|
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ GtkWidget *create_levels_controls(struct alsa_card *card) {
|
|||||||
count_labels[j] = add_count_label(grid, j);
|
count_labels[j] = add_count_label(grid, j);
|
||||||
|
|
||||||
// create the meter widget and attach to the grid
|
// create the meter widget and attach to the grid
|
||||||
GtkWidget *meter = gtk_dial_new_with_range(-80, 0, 0);
|
GtkWidget *meter = gtk_dial_new_with_range(-80, 0, 0, 0);
|
||||||
gtk_widget_set_sensitive(meter, FALSE);
|
gtk_widget_set_sensitive(meter, FALSE);
|
||||||
card->meters[meter_num++] = meter;
|
card->meters[meter_num++] = meter;
|
||||||
gtk_grid_attach(GTK_GRID(grid), meter, j + 1, i + 1, 1, 1);
|
gtk_grid_attach(GTK_GRID(grid), meter, j + 1, i + 1, 1, 1);
|
||||||
|
|||||||
Reference in New Issue
Block a user