From 3288fb651c00eea3b0aba9870c851a99156408e3 Mon Sep 17 00:00:00 2001 From: waker Date: Sat, 12 Mar 2011 15:49:41 +0100 Subject: added replaygain preamp --- plugins/gtkui/callbacks.c | 1 + plugins/gtkui/callbacks.h | 4 ++ plugins/gtkui/deadbeef.glade | 107 +++++++++++++++++++++++++++++++++++++++++++ plugins/gtkui/interface.c | 35 ++++++++++++++ plugins/gtkui/prefwin.c | 12 +++++ 5 files changed, 159 insertions(+) (limited to 'plugins') diff --git a/plugins/gtkui/callbacks.c b/plugins/gtkui/callbacks.c index 71ad353f..00ff70c6 100644 --- a/plugins/gtkui/callbacks.c +++ b/plugins/gtkui/callbacks.c @@ -1170,3 +1170,4 @@ create_plugin_weblink (gchar *widget_name, gchar *string1, gchar *string2, gtk_widget_set_sensitive (link, FALSE); return link; } + diff --git a/plugins/gtkui/callbacks.h b/plugins/gtkui/callbacks.h index 2e4c8ce6..b5aff3e3 100644 --- a/plugins/gtkui/callbacks.h +++ b/plugins/gtkui/callbacks.h @@ -1099,3 +1099,7 @@ gboolean on_prefwin_map_event (GtkWidget *widget, GdkEvent *event, gpointer user_data); + +void +on_replaygain_preamp_value_changed (GtkRange *range, + gpointer user_data); diff --git a/plugins/gtkui/deadbeef.glade b/plugins/gtkui/deadbeef.glade index bcbcd487..a9fbf8ba 100644 --- a/plugins/gtkui/deadbeef.glade +++ b/plugins/gtkui/deadbeef.glade @@ -2646,6 +2646,113 @@ Album + + + True + False + 8 + + + + True + Replaygain preamp: + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + + True + -12 dB + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + + True + True + True + GTK_POS_BOTTOM + 0 + GTK_UPDATE_CONTINUOUS + False + 0 -12 12 0 0 0 + + + + 0 + True + True + + + + + + True + +12 dB + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + 0 + False + False + + + True diff --git a/plugins/gtkui/interface.c b/plugins/gtkui/interface.c index 9df16523..9240a0fb 100644 --- a/plugins/gtkui/interface.c +++ b/plugins/gtkui/interface.c @@ -1656,6 +1656,11 @@ create_prefwin (void) GtkWidget *label8; GtkWidget *pref_replaygain_mode; GtkWidget *pref_replaygain_scale; + GtkWidget *hbox100; + GtkWidget *label124; + GtkWidget *label125; + GtkWidget *replaygain_preamp; + GtkWidget *label126; GtkWidget *hbox66; GtkWidget *cli_add_to_playlist; GtkWidget *cli_playlist_name; @@ -1846,6 +1851,28 @@ create_prefwin (void) gtk_widget_show (pref_replaygain_scale); gtk_box_pack_start (GTK_BOX (vbox8), pref_replaygain_scale, FALSE, FALSE, 0); + hbox100 = gtk_hbox_new (FALSE, 8); + gtk_widget_show (hbox100); + gtk_box_pack_start (GTK_BOX (vbox8), hbox100, FALSE, FALSE, 0); + + label124 = gtk_label_new (_("Replaygain preamp:")); + gtk_widget_show (label124); + gtk_box_pack_start (GTK_BOX (hbox100), label124, FALSE, FALSE, 0); + + label125 = gtk_label_new (_("-12 dB")); + gtk_widget_show (label125); + gtk_box_pack_start (GTK_BOX (hbox100), label125, FALSE, FALSE, 0); + + replaygain_preamp = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, -12, 12, 0, 0, 0))); + gtk_widget_show (replaygain_preamp); + gtk_box_pack_start (GTK_BOX (hbox100), replaygain_preamp, TRUE, TRUE, 0); + gtk_scale_set_value_pos (GTK_SCALE (replaygain_preamp), GTK_POS_BOTTOM); + gtk_scale_set_digits (GTK_SCALE (replaygain_preamp), 0); + + label126 = gtk_label_new (_("+12 dB")); + gtk_widget_show (label126); + gtk_box_pack_start (GTK_BOX (hbox100), label126, FALSE, FALSE, 0); + hbox66 = gtk_hbox_new (FALSE, 8); gtk_widget_show (hbox66); gtk_box_pack_start (GTK_BOX (vbox8), hbox66, FALSE, FALSE, 0); @@ -2423,6 +2450,9 @@ create_prefwin (void) g_signal_connect ((gpointer) pref_replaygain_scale, "clicked", G_CALLBACK (on_pref_replaygain_scale_clicked), NULL); + g_signal_connect ((gpointer) replaygain_preamp, "value_changed", + G_CALLBACK (on_replaygain_preamp_value_changed), + NULL); g_signal_connect ((gpointer) cli_add_to_playlist, "toggled", G_CALLBACK (on_cli_add_to_playlist_toggled), NULL); @@ -2570,6 +2600,11 @@ create_prefwin (void) GLADE_HOOKUP_OBJECT (prefwin, label8, "label8"); GLADE_HOOKUP_OBJECT (prefwin, pref_replaygain_mode, "pref_replaygain_mode"); GLADE_HOOKUP_OBJECT (prefwin, pref_replaygain_scale, "pref_replaygain_scale"); + GLADE_HOOKUP_OBJECT (prefwin, hbox100, "hbox100"); + GLADE_HOOKUP_OBJECT (prefwin, label124, "label124"); + GLADE_HOOKUP_OBJECT (prefwin, label125, "label125"); + GLADE_HOOKUP_OBJECT (prefwin, replaygain_preamp, "replaygain_preamp"); + GLADE_HOOKUP_OBJECT (prefwin, label126, "label126"); GLADE_HOOKUP_OBJECT (prefwin, hbox66, "hbox66"); GLADE_HOOKUP_OBJECT (prefwin, cli_add_to_playlist, "cli_add_to_playlist"); GLADE_HOOKUP_OBJECT (prefwin, cli_playlist_name, "cli_playlist_name"); diff --git a/plugins/gtkui/prefwin.c b/plugins/gtkui/prefwin.c index 45467eff..980f5765 100644 --- a/plugins/gtkui/prefwin.c +++ b/plugins/gtkui/prefwin.c @@ -489,6 +489,9 @@ on_preferences_activate (GtkMenuItem *menuitem, // replaygain_scale gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (lookup_widget (w, "pref_replaygain_scale")), deadbeef->conf_get_int ("replaygain_scale", 1)); + // replaygain_preamp + gtk_range_set_value (GTK_RANGE (lookup_widget (w, "replaygain_preamp")), deadbeef->conf_get_int ("replaygain_preamp", 0)); + // dsp dsp_setup_init (prefwin); @@ -681,6 +684,15 @@ on_pref_replaygain_scale_clicked (GtkButton *button, deadbeef->sendmessage (M_CONFIG_CHANGED, 0, 0, 0); } +void +on_replaygain_preamp_value_changed (GtkRange *range, + gpointer user_data) +{ + float val = gtk_range_get_value (range); + deadbeef->conf_set_float ("replaygain_preamp", val); + deadbeef->sendmessage (M_CONFIG_CHANGED, 0, 0, 0); +} + void on_pref_close_send_to_tray_clicked (GtkButton *button, -- cgit v1.2.3