# HG changeset patch # User Eugene Zagidullin # Date 1201805031 -10800 # Node ID 1ab015fe2ade72a444973fed320d740163c4ea3b # Parent 2d4b4f13d10d7b4a71814bdd9fb93ede610fa983 RG icon added. some changes diff -r 2d4b4f13d10d -r 1ab015fe2ade src/audacious/images/replay_gain.png Binary file src/audacious/images/replay_gain.png has changed diff -r 2d4b4f13d10d -r 1ab015fe2ade src/audacious/main.c --- a/src/audacious/main.c Thu Jan 31 14:15:12 2008 +0300 +++ b/src/audacious/main.c Thu Jan 31 21:43:51 2008 +0300 @@ -232,6 +232,13 @@ FALSE, /* disable inline themes */ TRUE, /* remember jtf text entry */ 16, /* output bit depth */ + TRUE, /* enable replay gain */ + TRUE, /* enable clipping prevention */ + TRUE, /* track mode */ + FALSE, /* album mode */ + FALSE, /* enable hard limiter */ + 0.0, /* preamp */ + -9.0, /* default gain */ }; typedef struct bmp_cfg_boolent_t { @@ -343,6 +350,11 @@ {"warn_about_broken_gtk_engines", &cfg.warn_about_broken_gtk_engines, TRUE}, {"disable_inline_gtk", &cfg.disable_inline_gtk, TRUE}, {"remember_jtf_entry", &cfg.remember_jtf_entry, TRUE}, + {"enable_replay_gain", &cfg.enable_replay_gain, TRUE}, + {"enable_clipping_prevention", &cfg.enable_clipping_prevention, TRUE}, + {"replay_gain_track", &cfg.replay_gain_track, TRUE}, + {"replay_gain_album", &cfg.replay_gain_album, TRUE}, + {"enable_hard_limiter", &cfg.enable_hard_limiter, TRUE}, }; static gint ncfgbent = G_N_ELEMENTS(bmp_boolents); @@ -631,6 +643,10 @@ } } + /* RG settings */ + cfg_db_get_float(db, NULL, "replay_gain_preamp", &cfg.replay_gain_preamp); + cfg_db_get_float(db, NULL, "default_gain", &cfg.default_gain); + cfg_db_close(db); @@ -883,6 +899,10 @@ } cfg_db_set_float(db, NULL, "equalizer_preamp", cfg.equalizer_preamp); + + /* RG settings */ + cfg_db_set_float(db, NULL, "replay_gain_preamp", cfg.replay_gain_preamp); + cfg_db_set_float(db, NULL, "default_gain", cfg.default_gain); for (i = 0; i < 10; i++) { str = g_strdup_printf("equalizer_band%d", i); diff -r 2d4b4f13d10d -r 1ab015fe2ade src/audacious/main.h --- a/src/audacious/main.h Thu Jan 31 14:15:12 2008 +0300 +++ b/src/audacious/main.h Thu Jan 31 21:43:51 2008 +0300 @@ -143,6 +143,13 @@ gboolean disable_inline_gtk; gboolean remember_jtf_entry; gint output_bit_depth; + gboolean enable_replay_gain; + gboolean enable_clipping_prevention; + gboolean replay_gain_track; + gboolean replay_gain_album; + gboolean enable_hard_limiter; + gfloat replay_gain_preamp; + gfloat default_gain; }; typedef struct _BmpConfig BmpConfig; diff -r 2d4b4f13d10d -r 1ab015fe2ade src/audacious/ui_preferences.c --- a/src/audacious/ui_preferences.c Thu Jan 31 14:15:12 2008 +0300 +++ b/src/audacious/ui_preferences.c Thu Jan 31 21:43:51 2008 +0300 @@ -218,6 +218,12 @@ N_("When checked, Audacious will detect file formats based by extension. Only files with extensions of supported formats will be loaded."), FALSE}, {WIDGET_LABEL, N_("Bit Depth"), NULL, NULL, NULL, FALSE}, {WIDGET_CUSTOM, NULL, NULL, NULL, NULL, TRUE, ui_preferences_bit_depth}, + {WIDGET_LABEL, N_("Replay Gain"), NULL, NULL, NULL, FALSE}, + {WIDGET_CHK_BTN, N_("Enable Replay Gain"), &cfg.enable_replay_gain, NULL, NULL, FALSE}, + {WIDGET_RADIO_BTN, N_("Use track gain/peak"), &cfg.replay_gain_track, NULL, NULL, TRUE}, + {WIDGET_RADIO_BTN, N_("Use album gain/peak"), &cfg.replay_gain_album, NULL, NULL, TRUE}, + {WIDGET_CHK_BTN, N_("Enable clipping prevention"), &cfg.enable_clipping_prevention, NULL, NULL, TRUE}, + {WIDGET_CHK_BTN, N_("Enable 6 dB hard limiter"), &cfg.enable_hard_limiter, NULL, NULL, TRUE}, }; static PreferencesWidget playback_page_widgets[] = { @@ -1714,6 +1720,7 @@ gtk_misc_set_alignment(GTK_MISC(widget), 0, 0.5); break; case WIDGET_RADIO_BTN: + gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 0, 12, 0); widget = gtk_radio_button_new_with_mnemonic(radio_btn_group, _(widgets[x].label)); radio_btn_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (widget)); g_signal_connect(G_OBJECT(widget), "toggled",