diff options
Diffstat (limited to 'gtk/src')
-rw-r--r-- | gtk/src/audiohandler.c | 22 | ||||
-rw-r--r-- | gtk/src/ghb.ui | 97 | ||||
-rw-r--r-- | gtk/src/main.c | 1 | ||||
-rw-r--r-- | gtk/src/settings.c | 12 |
4 files changed, 86 insertions, 46 deletions
diff --git a/gtk/src/audiohandler.c b/gtk/src/audiohandler.c index c018445ae..ba250020c 100644 --- a/gtk/src/audiohandler.c +++ b/gtk/src/audiohandler.c @@ -402,13 +402,25 @@ drc_widget_changed_cb(GtkWidget *widget, signal_user_data_t *ud) { GValue *asettings; gdouble val; + GtkLabel *label; + gchar *drc; g_debug("drc_widget_changed_cb ()"); - val = gtk_range_get_value(GTK_RANGE(widget)); - if (val < 0.5) - gtk_range_set_value(GTK_RANGE(widget), 0.0); - else if (val < 1.0) - gtk_range_set_value(GTK_RANGE(widget), 1.0); + val = gtk_scale_button_get_value(GTK_SCALE_BUTTON(widget)); + if (val > 0.8 && val < 1.0) + gtk_scale_button_set_value(GTK_SCALE_BUTTON(widget), 1.0); + if (val <= 0.8 && val > 0.5) + gtk_scale_button_set_value(GTK_SCALE_BUTTON(widget), 0.0); + else if (val > 0.0 && val <= 0.5) + gtk_scale_button_set_value(GTK_SCALE_BUTTON(widget), 1.0); + + label = GTK_LABEL(GHB_WIDGET(ud->builder, "drc_label")); + if (val < 1.0) + drc = g_strdup_printf("Off"); + else + drc = g_strdup_printf("%.1f", val); + gtk_label_set_text(label, drc); + g_free(drc); ghb_check_dependency(ud, widget); asettings = get_selected_asettings(ud); if (asettings != NULL) diff --git a/gtk/src/ghb.ui b/gtk/src/ghb.ui index 95d95caca..3495cbb76 100644 --- a/gtk/src/ghb.ui +++ b/gtk/src/ghb.ui @@ -217,6 +217,14 @@ <property name="page_size">0</property> <property name="value">1</property> </object> + <object class="GtkAdjustment" id="adjustment28"> + <property name="upper">4</property> + <property name="lower">0</property> + <property name="page_increment">1</property> + <property name="step_increment">0.2</property> + <property name="page_size">0</property> + <property name="value">2.6</property> + </object> <object class="GtkAdjustment" id="preview_progress_adj"> <property name="upper">100</property> <property name="lower">0</property> @@ -1904,46 +1912,6 @@ <property name="position">1</property> </packing> </child> - <child> - <object class="GtkAlignment" id="alignment42"> - <property name="visible">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - <property name="xalign">0.98000001907348633</property> - <property name="xscale">0.40000000596046448</property> - <child> - <object class="GtkVBox" id="vbox18"> - <property name="visible">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - <child> - <object class="GtkLabel" id="label2"> - <property name="visible">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - <property name="label" translatable="yes">Dynamic Range Compression</property> - </object> - </child> - <child> - <object class="GtkHScale" id="AudioTrackDRCSlider"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - <property name="adjustment">adjustment6</property> - <property name="restrict_to_fill_level">False</property> - <property name="fill_level">3823.35009765625</property> - <property name="value_pos">GTK_POS_RIGHT</property> - <signal handler="drc_widget_changed_cb" name="value_changed"/> - <signal name="format_value" handler="format_drc_cb"/> - </object> - <packing> - <property name="position">1</property> - </packing> - </child> - </object> - </child> - </object> - <packing> - <property name="position">2</property> - </packing> - </child> </object> <packing> <property name="expand">False</property> @@ -1954,7 +1922,7 @@ <property name="visible">True</property> <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> <property name="n_rows">2</property> - <property name="n_columns">5</property> + <property name="n_columns">7</property> <child> <object class="GtkComboBox" id="AudioTrack"> <property name="width_request">215</property> @@ -2058,6 +2026,18 @@ </packing> </child> <child> + <object class="GtkLabel" id="label39"> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="label" translatable="yes">DRC</property> + </object> + <packing> + <property name="left_attach">5</property> + <property name="right_attach">7</property> + <property name="x_options">GTK_FILL</property> + </packing> + </child> + <child> <object class="GtkComboBox" id="AudioMixdown"> <property name="visible">True</property> <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> @@ -2072,6 +2052,41 @@ </packing> </child> <child> + <object class="GtkScaleButton" id="AudioTrackDRCSlider"> + <property name="visible">True</property> + <property name="orientation">1</property> + <property name="icons">audio-volume-muted +audio-volume-high +audio-volume-low +audio-volume-medium</property> + <property name="adjustment">adjustment28</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <signal handler="drc_widget_changed_cb" name="value_changed"/> + </object> + <packing> + <property name="left_attach">5</property> + <property name="right_attach">6</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options">GTK_FILL</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="drc_label"> + <property name="visible">True</property> + <property name="width-chars">3</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="label" translatable="yes">Off</property> + </object> + <packing> + <property name="left_attach">6</property> + <property name="right_attach">7</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options">GTK_FILL</property> + </packing> + </child> + <child> <object class="GtkComboBox" id="AudioBitrate"> <property name="visible">True</property> <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> diff --git a/gtk/src/main.c b/gtk/src/main.c index e60ffbc39..043c4c6b3 100644 --- a/gtk/src/main.c +++ b/gtk/src/main.c @@ -625,6 +625,7 @@ const gchar *hud_rcstyle = "fg[PRELIGHT]=\"white\"\n" "}\n" "widget_class \"*.GtkComboBox.GtkToggleButton\" style \"ghb-combo\"\n" +"widget_class \"*.GtkScaleButton\" style \"ghb-combo\"\n" "widget_class \"*.GtkEntry\" style \"ghb-entry\"\n" "widget \"preview_window.*.preview_hud.*\" style \"ghb-hud\"\n" "widget \"preview_window\" style \"ghb-preview\"\n"; diff --git a/gtk/src/settings.c b/gtk/src/settings.c index 41dd26ba2..f392bc281 100644 --- a/gtk/src/settings.c +++ b/gtk/src/settings.c @@ -322,6 +322,13 @@ ghb_widget_value(GtkWidget *widget) value = ghb_int_value_new(dval); } } + else if (type == GTK_TYPE_SCALE_BUTTON) + { + gdouble dval; + + dval = gtk_scale_button_get_value(GTK_SCALE_BUTTON(widget)); + value = ghb_double_value_new(dval); + } else if (type == GTK_TYPE_TEXT_VIEW) { GtkTextBuffer *buffer; @@ -588,6 +595,11 @@ update_widget(GtkWidget *widget, const GValue *value) g_debug("hscale"); gtk_range_set_value(GTK_RANGE(widget), dval); } + else if (type == GTK_TYPE_SCALE_BUTTON) + { + g_debug("scale_button"); + gtk_scale_button_set_value(GTK_SCALE_BUTTON(widget), dval); + } else if (type == GTK_TYPE_TEXT_VIEW) { g_debug("textview (%s)", str); |