summaryrefslogtreecommitdiff
path: root/src/libaudgui/prefs-window.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/libaudgui/prefs-window.cc')
-rw-r--r--src/libaudgui/prefs-window.cc39
1 files changed, 29 insertions, 10 deletions
diff --git a/src/libaudgui/prefs-window.cc b/src/libaudgui/prefs-window.cc
index 948119c..5ba9a09 100644
--- a/src/libaudgui/prefs-window.cc
+++ b/src/libaudgui/prefs-window.cc
@@ -125,12 +125,20 @@ static const ComboItem chardet_detector_presets[] = {
};
static const ComboItem bitdepth_elements[] = {
+ ComboItem (N_("Automatic"), -1),
ComboItem ("16", 16),
ComboItem ("24", 24),
ComboItem ("32", 32),
ComboItem (N_("Floating point"), 0)
};
+static const ComboItem record_elements[] = {
+ ComboItem (N_("As decoded"), (int) OutputStream::AsDecoded),
+ ComboItem (N_("After applying ReplayGain"), (int) OutputStream::AfterReplayGain),
+ ComboItem (N_("After applying effects"), (int) OutputStream::AfterEffects),
+ ComboItem (N_("After applying equalization"), (int) OutputStream::AfterEqualizer)
+};
+
static Index<ComboItem> iface_combo_elements;
static int iface_combo_selected;
static GtkWidget * iface_prefs_box;
@@ -160,7 +168,7 @@ static void output_bit_depth_changed ();
static const PreferencesWidget output_combo_widgets[] = {
WidgetCombo (N_("Output plugin:"),
- WidgetInt (output_combo_selected, output_combo_changed),
+ WidgetInt (output_combo_selected, output_combo_changed, "audgui update output combo"),
{0, output_combo_fill}),
WidgetCustomGTK (output_create_config_button),
WidgetCustomGTK (output_create_about_button)
@@ -199,15 +207,19 @@ static const PreferencesWidget audio_page_widgets[] = {
WidgetSpin (N_("Buffer size:"),
WidgetInt (0, "output_buffer_size"),
{100, 10000, 1000, N_("ms")}),
- WidgetCustomGTK (record_create_checkbox),
- WidgetBox ({{record_buttons}, true},
- WIDGET_CHILD),
WidgetCheck (N_("Soft clipping"),
WidgetBool (0, "soft_clipping")),
WidgetCheck (N_("Use software volume control (not recommended)"),
WidgetBool (0, "software_volume_control")),
- WidgetLabel (N_("<b>Replay Gain</b>")),
- WidgetCheck (N_("Enable Replay Gain"),
+ WidgetLabel (N_("<b>Recording Settings</b>")),
+ WidgetCustomGTK (record_create_checkbox),
+ WidgetBox ({{record_buttons}, true},
+ WIDGET_CHILD),
+ WidgetCombo (N_("Record stream:"),
+ WidgetInt (0, "record_stream"),
+ {{record_elements}}),
+ WidgetLabel (N_("<b>ReplayGain</b>")),
+ WidgetCheck (N_("Enable ReplayGain"),
WidgetBool (0, "enable_replay_gain")),
WidgetCheck (N_("Album mode"),
WidgetBool (0, "replay_gain_album"),
@@ -215,8 +227,6 @@ static const PreferencesWidget audio_page_widgets[] = {
WidgetCheck (N_("Prevent clipping (recommended)"),
WidgetBool (0, "enable_clipping_prevention"),
WIDGET_CHILD),
- WidgetLabel (N_("<b>Adjust Levels</b>"),
- WIDGET_CHILD),
WidgetTable ({{gain_table}},
WIDGET_CHILD)
};
@@ -279,8 +289,10 @@ static const PreferencesWidget playlist_page_widgets[] = {
WidgetLabel (N_("<b>Song Display</b>")),
WidgetCheck (N_("Show song numbers"),
WidgetBool (0, "show_numbers_in_pl", send_title_change)),
- WidgetCheck (N_("Show leading zeroes (02:00 instead of 2:00)"),
+ WidgetCheck (N_("Show leading zeroes (02:00 vs. 2:00)"),
WidgetBool (0, "leading_zero", send_title_change)),
+ WidgetCheck (N_("Show hours separately (1:30:00 vs. 90:00)"),
+ WidgetBool (0, "show_hours", send_title_change)),
WidgetCustomGTK (create_titlestring_table),
WidgetLabel (N_("<b>Compatibility</b>")),
WidgetCheck (N_("Interpret \\ (backward slash) as a folder delimiter"),
@@ -617,13 +629,20 @@ static void create_appearance_category ()
static void output_combo_changed ()
{
- PluginHandle * plugin = aud_plugin_list (PluginType::Output)[output_combo_selected];
+ auto & list = aud_plugin_list (PluginType::Output);
+ PluginHandle * plugin = list[output_combo_selected];
if (aud_plugin_enable (plugin, true))
{
gtk_widget_set_sensitive (output_config_button, aud_plugin_has_configure (plugin));
gtk_widget_set_sensitive (output_about_button, aud_plugin_has_about (plugin));
}
+ else
+ {
+ /* set combo box back to current output */
+ output_combo_selected = list.find (aud_plugin_get_current (PluginType::Output));
+ hook_call ("audgui update output combo", nullptr);
+ }
}
static ArrayRef<ComboItem> output_combo_fill ()