# HG changeset patch
# User mf0102 <0102@gmx.at>
# Date 1199367627 -3600
# Node ID aa9d33c28eef5f058a0d3e616b9e4c65692fa942
# Parent f444f000ae00e14ea0fd431fe20405eb5ec99498
separated audio category from the create_prefs_window() blob
diff -r f444f000ae00 -r aa9d33c28eef src/audacious/ui_preferences.c
--- a/src/audacious/ui_preferences.c Thu Jan 03 14:21:47 2008 +0100
+++ b/src/audacious/ui_preferences.c Thu Jan 03 14:40:27 2008 +0100
@@ -2045,6 +2045,322 @@
titlestring_tag_menu);
}
+static void
+create_audio_category(void)
+{
+ GtkWidget *label96;
+ GtkWidget *audio_scrolled_window;
+ GtkWidget *audio_page_viewport;
+ GtkWidget *audio_page_vbox;
+ GtkWidget *alignment74;
+ GtkWidget *label77;
+ GtkWidget *alignment73;
+ GtkWidget *vbox33;
+ GtkWidget *table11;
+ GtkWidget *image7;
+ GtkWidget *label79;
+ GtkWidget *label82;
+ GtkObject *output_plugin_bufsize_adj;
+ GtkWidget *output_plugin_bufsize;
+ GtkWidget *output_plugin_cbox;
+ GtkWidget *label78;
+ GtkWidget *alignment82;
+ GtkWidget *output_plugin_button_box;
+ GtkWidget *output_plugin_prefs;
+ GtkWidget *alignment76;
+ GtkWidget *hbox7;
+ GtkWidget *image5;
+ GtkWidget *label80;
+ GtkWidget *output_plugin_info;
+ GtkWidget *alignment77;
+ GtkWidget *hbox8;
+ GtkWidget *image6;
+ GtkWidget *label81;
+ GtkWidget *alignment90;
+ GtkWidget *label93;
+ GtkWidget *alignment92;
+ GtkWidget *enable_src;
+ GtkWidget *alignment91;
+ GtkWidget *vbox36;
+ GtkWidget *table13;
+ GtkWidget *src_converter_type;
+ GtkWidget *label94;
+ GtkWidget *label92;
+ GtkWidget *image9;
+ GtkObject *src_rate_adj;
+ GtkWidget *src_rate;
+ GtkWidget *label91;
+ GtkWidget *alignment4;
+ GtkWidget *label2;
+ GtkWidget *alignment7;
+ GtkWidget *software_volume_control;
+ GtkWidget *empty_notebook_page;
+
+
+ empty_notebook_page = gtk_vbox_new (FALSE, 0);
+ gtk_container_add (GTK_CONTAINER (category_notebook), empty_notebook_page);
+
+ label96 = gtk_label_new ("");
+ gtk_notebook_set_tab_label (GTK_NOTEBOOK (category_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (category_notebook), 6), label96);
+
+ audio_scrolled_window = gtk_scrolled_window_new (NULL, NULL);
+ gtk_container_add (GTK_CONTAINER (empty_notebook_page), audio_scrolled_window);
+ gtk_notebook_set_tab_label_packing (GTK_NOTEBOOK (category_notebook), audio_scrolled_window,
+ TRUE, TRUE, GTK_PACK_START);
+ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (audio_scrolled_window), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS);
+
+ audio_page_viewport = gtk_viewport_new (NULL, NULL);
+ gtk_container_add (GTK_CONTAINER (audio_scrolled_window), audio_page_viewport);
+ gtk_widget_set_events (audio_page_viewport, GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK);
+ gtk_viewport_set_shadow_type (GTK_VIEWPORT (audio_page_viewport), GTK_SHADOW_NONE);
+
+ audio_page_vbox = gtk_vbox_new (FALSE, 0);
+ gtk_container_add (GTK_CONTAINER (audio_page_viewport), audio_page_vbox);
+
+ alignment74 = gtk_alignment_new (0.5, 0.5, 1, 1);
+ gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment74, FALSE, FALSE, 0);
+ gtk_alignment_set_padding (GTK_ALIGNMENT (alignment74), 0, 12, 0, 0);
+
+ label77 = gtk_label_new (_("Audio System"));
+ gtk_container_add (GTK_CONTAINER (alignment74), label77);
+ gtk_label_set_use_markup (GTK_LABEL (label77), TRUE);
+ gtk_misc_set_alignment (GTK_MISC (label77), 0, 0.5);
+
+ alignment73 = gtk_alignment_new (0.5, 0.5, 1, 1);
+ gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment73, FALSE, FALSE, 0);
+ gtk_alignment_set_padding (GTK_ALIGNMENT (alignment73), 0, 6, 12, 0);
+
+ vbox33 = gtk_vbox_new (FALSE, 0);
+ gtk_container_add (GTK_CONTAINER (alignment73), vbox33);
+
+ table11 = gtk_table_new (3, 2, FALSE);
+ gtk_box_pack_start (GTK_BOX (vbox33), table11, FALSE, FALSE, 0);
+ gtk_table_set_row_spacings (GTK_TABLE (table11), 6);
+ gtk_table_set_col_spacings (GTK_TABLE (table11), 6);
+
+ image7 = gtk_image_new_from_stock ("gtk-info", GTK_ICON_SIZE_BUTTON);
+ gtk_table_attach (GTK_TABLE (table11), image7, 0, 1, 2, 3,
+ (GtkAttachOptions) (0),
+ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
+ gtk_misc_set_alignment (GTK_MISC (image7), 1, 0);
+
+ label79 = gtk_label_new (_("Buffer size:"));
+ gtk_table_attach (GTK_TABLE (table11), label79, 0, 1, 1, 2,
+ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_misc_set_alignment (GTK_MISC (label79), 1, 0.5);
+
+ label82 = gtk_label_new (_("This is the amount of time to prebuffer audio streams by, in milliseconds.\nIncrease this value if you are experiencing audio skipping.\nPlease note however, that high values will result in Audacious performing poorly."));
+ gtk_table_attach (GTK_TABLE (table11), label82, 1, 2, 2, 3,
+ (GtkAttachOptions) (0),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_label_set_use_markup (GTK_LABEL (label82), TRUE);
+ gtk_label_set_line_wrap (GTK_LABEL (label82), TRUE);
+ gtk_misc_set_alignment (GTK_MISC (label82), 0, 0.5);
+
+ output_plugin_bufsize_adj = gtk_adjustment_new (0, 0, 600000, 100, 1000, 1000);
+ output_plugin_bufsize = gtk_spin_button_new (GTK_ADJUSTMENT (output_plugin_bufsize_adj), 1, 0);
+ gtk_table_attach (GTK_TABLE (table11), output_plugin_bufsize, 1, 2, 1, 2,
+ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+
+ output_plugin_cbox = gtk_combo_box_new_text ();
+ gtk_table_attach (GTK_TABLE (table11), output_plugin_cbox, 1, 2, 0, 1,
+ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+
+ label78 = gtk_label_new (_("Current output plugin:"));
+ gtk_table_attach (GTK_TABLE (table11), label78, 0, 1, 0, 1,
+ (GtkAttachOptions) (0),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_misc_set_alignment (GTK_MISC (label78), 0, 0.5);
+
+ alignment82 = gtk_alignment_new (0.5, 0.5, 1, 1);
+ gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment82, FALSE, FALSE, 0);
+ gtk_alignment_set_padding (GTK_ALIGNMENT (alignment82), 0, 0, 12, 0);
+
+ output_plugin_button_box = gtk_hbutton_box_new ();
+ gtk_container_add (GTK_CONTAINER (alignment82), output_plugin_button_box);
+ gtk_button_box_set_layout (GTK_BUTTON_BOX (output_plugin_button_box), GTK_BUTTONBOX_START);
+ gtk_box_set_spacing (GTK_BOX (output_plugin_button_box), 8);
+
+ output_plugin_prefs = gtk_button_new ();
+ gtk_container_add (GTK_CONTAINER (output_plugin_button_box), output_plugin_prefs);
+ gtk_widget_set_sensitive (output_plugin_prefs, FALSE);
+ GTK_WIDGET_SET_FLAGS (output_plugin_prefs, GTK_CAN_DEFAULT);
+
+ alignment76 = gtk_alignment_new (0.5, 0.5, 0, 0);
+ gtk_container_add (GTK_CONTAINER (output_plugin_prefs), alignment76);
+
+ hbox7 = gtk_hbox_new (FALSE, 2);
+ gtk_container_add (GTK_CONTAINER (alignment76), hbox7);
+
+ image5 = gtk_image_new_from_stock ("gtk-preferences", GTK_ICON_SIZE_BUTTON);
+ gtk_box_pack_start (GTK_BOX (hbox7), image5, FALSE, FALSE, 0);
+
+ label80 = gtk_label_new_with_mnemonic (_("Output Plugin Preferences"));
+ gtk_box_pack_start (GTK_BOX (hbox7), label80, FALSE, FALSE, 0);
+
+ output_plugin_info = gtk_button_new ();
+ gtk_container_add (GTK_CONTAINER (output_plugin_button_box), output_plugin_info);
+ gtk_widget_set_sensitive (output_plugin_info, FALSE);
+ GTK_WIDGET_SET_FLAGS (output_plugin_info, GTK_CAN_DEFAULT);
+
+ alignment77 = gtk_alignment_new (0.5, 0.5, 0, 0);
+ gtk_container_add (GTK_CONTAINER (output_plugin_info), alignment77);
+
+ hbox8 = gtk_hbox_new (FALSE, 2);
+ gtk_container_add (GTK_CONTAINER (alignment77), hbox8);
+
+ image6 = gtk_image_new_from_stock ("gtk-about", GTK_ICON_SIZE_BUTTON);
+ gtk_box_pack_start (GTK_BOX (hbox8), image6, FALSE, FALSE, 0);
+
+ label81 = gtk_label_new_with_mnemonic (_("Output Plugin Information"));
+ gtk_box_pack_start (GTK_BOX (hbox8), label81, FALSE, FALSE, 0);
+
+ create_widgets(GTK_BOX(audio_page_vbox), audio_page_widgets, G_N_ELEMENTS(audio_page_widgets));
+
+ alignment90 = gtk_alignment_new (0.5, 0.5, 1, 1);
+ gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment90, FALSE, FALSE, 0);
+ gtk_alignment_set_padding (GTK_ALIGNMENT (alignment90), 12, 12, 0, 0);
+
+ label93 = gtk_label_new (_("Sampling Rate Converter"));
+ gtk_container_add (GTK_CONTAINER (alignment90), label93);
+ gtk_label_set_use_markup (GTK_LABEL (label93), TRUE);
+ gtk_misc_set_alignment (GTK_MISC (label93), 0, 0.5);
+
+ alignment92 = gtk_alignment_new (0.5, 0.5, 1, 1);
+ gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment92, FALSE, FALSE, 0);
+ gtk_alignment_set_padding (GTK_ALIGNMENT (alignment92), 0, 0, 12, 0);
+
+ enable_src = gtk_check_button_new_with_mnemonic (_("Enable Sampling Rate Converter"));
+ gtk_container_add (GTK_CONTAINER (alignment92), enable_src);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (enable_src), TRUE);
+
+ alignment91 = gtk_alignment_new (0.5, 0.5, 1, 1);
+ gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment91, FALSE, FALSE, 0);
+ gtk_alignment_set_padding (GTK_ALIGNMENT (alignment91), 0, 6, 12, 0);
+
+ vbox36 = gtk_vbox_new (FALSE, 0);
+ gtk_container_add (GTK_CONTAINER (alignment91), vbox36);
+
+ table13 = gtk_table_new (3, 2, FALSE);
+ gtk_box_pack_start (GTK_BOX (vbox36), table13, FALSE, FALSE, 0);
+ gtk_table_set_row_spacings (GTK_TABLE (table13), 6);
+ gtk_table_set_col_spacings (GTK_TABLE (table13), 6);
+
+ src_converter_type = gtk_combo_box_new_text ();
+ gtk_table_attach (GTK_TABLE (table13), src_converter_type, 1, 2, 1, 2,
+ (GtkAttachOptions) (0),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_combo_box_append_text (GTK_COMBO_BOX (src_converter_type), _("Best Sinc Interpolation"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (src_converter_type), _("Medium Sinc Interpolation"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (src_converter_type), _("Fastest Sinc Interpolation"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (src_converter_type), _("ZOH Interpolation"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (src_converter_type), _("Linear Interpolation"));
+
+ label94 = gtk_label_new (_("Interpolation Engine:"));
+ gtk_table_attach (GTK_TABLE (table13), label94, 0, 1, 1, 2,
+ (GtkAttachOptions) (0),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_misc_set_alignment (GTK_MISC (label94), 0, 0.5);
+
+ label92 = gtk_label_new (_("All streams will be converted to this sampling rate.\nThis should be the max supported sampling rate of\nthe sound card or output plugin."));
+ gtk_table_attach (GTK_TABLE (table13), label92, 1, 2, 2, 3,
+ (GtkAttachOptions) (0),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_label_set_use_markup (GTK_LABEL (label92), TRUE);
+ gtk_label_set_line_wrap (GTK_LABEL (label92), TRUE);
+ gtk_misc_set_alignment (GTK_MISC (label92), 0, 0.5);
+
+ image9 = gtk_image_new_from_stock ("gtk-info", GTK_ICON_SIZE_BUTTON);
+ gtk_table_attach (GTK_TABLE (table13), image9, 0, 1, 2, 3,
+ (GtkAttachOptions) (0),
+ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
+ gtk_misc_set_alignment (GTK_MISC (image9), 1, 0);
+
+ src_rate_adj = gtk_adjustment_new (96000, 1000, 768000, 1000, 1000, 1000);
+ src_rate = gtk_spin_button_new (GTK_ADJUSTMENT (src_rate_adj), 1, 0);
+ gtk_table_attach (GTK_TABLE (table13), src_rate, 1, 2, 0, 1,
+ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+
+ label91 = gtk_label_new (_("Sampling Rate [Hz]:"));
+ gtk_table_attach (GTK_TABLE (table13), label91, 0, 1, 0, 1,
+ (GtkAttachOptions) (0),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_misc_set_alignment (GTK_MISC (label91), 0, 0.5);
+
+ alignment4 = gtk_alignment_new (0.5, 0.5, 1, 1);
+ gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment4, FALSE, FALSE, 0);
+ gtk_alignment_set_padding (GTK_ALIGNMENT (alignment4), 12, 12, 0, 0);
+
+ label2 = gtk_label_new (_("Volume Control"));
+ gtk_container_add (GTK_CONTAINER (alignment4), label2);
+ gtk_label_set_use_markup (GTK_LABEL (label2), TRUE);
+ gtk_misc_set_alignment (GTK_MISC (label2), 0, 0.5);
+
+ alignment7 = gtk_alignment_new (0.5, 0.5, 1, 1);
+ gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment7, FALSE, FALSE, 0);
+ gtk_alignment_set_padding (GTK_ALIGNMENT (alignment7), 0, 0, 12, 0);
+
+ software_volume_control = gtk_check_button_new_with_mnemonic (_("Use software volume control"));
+ gtk_container_add (GTK_CONTAINER (alignment7), software_volume_control);
+ gtk_tooltips_set_tip (tooltips, software_volume_control, _("Use software volume control. This may be useful for situations where your audio system does not support controlling the playback volume."), NULL);
+
+
+ g_signal_connect(G_OBJECT(output_plugin_bufsize), "value_changed",
+ G_CALLBACK(on_output_plugin_bufsize_value_changed),
+ NULL);
+ g_signal_connect_after(G_OBJECT(output_plugin_bufsize), "realize",
+ G_CALLBACK(on_output_plugin_bufsize_realize),
+ NULL);
+ g_signal_connect_after(G_OBJECT(output_plugin_cbox), "realize",
+ G_CALLBACK(on_output_plugin_cbox_realize),
+ NULL);
+ g_signal_connect(G_OBJECT(enable_src), "toggled",
+ G_CALLBACK(on_enable_src_toggled),
+ NULL);
+ g_signal_connect(G_OBJECT(enable_src), "realize",
+ G_CALLBACK(on_enable_src_realize),
+ NULL);
+ g_signal_connect(G_OBJECT(src_converter_type), "changed",
+ G_CALLBACK(on_src_converter_type_changed),
+ NULL);
+ g_signal_connect_after(G_OBJECT(src_converter_type), "realize",
+ G_CALLBACK(on_src_converter_type_realize),
+ NULL);
+ g_signal_connect(G_OBJECT(src_rate), "value_changed",
+ G_CALLBACK(on_src_rate_value_changed),
+ NULL);
+ g_signal_connect(G_OBJECT(src_rate), "realize",
+ G_CALLBACK(on_src_rate_realize),
+ NULL);
+ g_signal_connect(G_OBJECT(software_volume_control), "toggled",
+ G_CALLBACK(on_software_volume_control_toggled),
+ NULL);
+ g_signal_connect(G_OBJECT(software_volume_control), "realize",
+ G_CALLBACK(on_software_volume_control_realize),
+ NULL);
+
+ /* plugin->output page */
+
+ g_signal_connect(G_OBJECT(output_plugin_cbox), "changed",
+ G_CALLBACK(output_plugin_enable_prefs),
+ output_plugin_prefs);
+ g_signal_connect_swapped(G_OBJECT(output_plugin_prefs), "clicked",
+ G_CALLBACK(output_plugin_open_prefs),
+ output_plugin_cbox);
+
+ g_signal_connect(G_OBJECT(output_plugin_cbox), "changed",
+ G_CALLBACK(output_plugin_enable_info),
+ output_plugin_info);
+ g_signal_connect_swapped(G_OBJECT(output_plugin_info), "clicked",
+ G_CALLBACK(output_plugin_open_info),
+ output_plugin_cbox);
+
+}
+
void
create_prefs_window(void)
{
@@ -2118,53 +2434,6 @@
GtkWidget *image4;
GtkWidget *label75;
GtkWidget *label95;
- GtkWidget *empty_notebook_page;
- GtkWidget *label96;
- GtkWidget *audio_scrolled_window;
- GtkWidget *audio_page_viewport;
- GtkWidget *audio_page_vbox;
- GtkWidget *alignment74;
- GtkWidget *label77;
- GtkWidget *alignment73;
- GtkWidget *vbox33;
- GtkWidget *table11;
- GtkWidget *image7;
- GtkWidget *label79;
- GtkWidget *label82;
- GtkObject *output_plugin_bufsize_adj;
- GtkWidget *output_plugin_bufsize;
- GtkWidget *output_plugin_cbox;
- GtkWidget *label78;
- GtkWidget *alignment82;
- GtkWidget *output_plugin_button_box;
- GtkWidget *output_plugin_prefs;
- GtkWidget *alignment76;
- GtkWidget *hbox7;
- GtkWidget *image5;
- GtkWidget *label80;
- GtkWidget *output_plugin_info;
- GtkWidget *alignment77;
- GtkWidget *hbox8;
- GtkWidget *image6;
- GtkWidget *label81;
- GtkWidget *alignment90;
- GtkWidget *label93;
- GtkWidget *alignment92;
- GtkWidget *enable_src;
- GtkWidget *alignment91;
- GtkWidget *vbox36;
- GtkWidget *table13;
- GtkWidget *src_converter_type;
- GtkWidget *label94;
- GtkWidget *label92;
- GtkWidget *image9;
- GtkObject *src_rate_adj;
- GtkWidget *src_rate;
- GtkWidget *label91;
- GtkWidget *alignment4;
- GtkWidget *label2;
- GtkWidget *alignment7;
- GtkWidget *software_volume_control;
GtkWidget *hseparator1;
GtkWidget *hbox4;
GtkWidget *audversionlabel;
@@ -2175,6 +2444,7 @@
GtkWidget *image10;
GtkWidget *label102;
GtkWidget *close;
+ GtkWidget *empty_notebook_page;
GtkAccelGroup *accel_group;
tooltips = gtk_tooltips_new ();
@@ -2507,216 +2777,11 @@
label95 = gtk_label_new ("");
gtk_notebook_set_tab_label (GTK_NOTEBOOK (category_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (category_notebook), 5), label95);
- empty_notebook_page = gtk_vbox_new (FALSE, 0);
- gtk_container_add (GTK_CONTAINER (category_notebook), empty_notebook_page);
-
- label96 = gtk_label_new ("");
- gtk_notebook_set_tab_label (GTK_NOTEBOOK (category_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (category_notebook), 6), label96);
-
- audio_scrolled_window = gtk_scrolled_window_new (NULL, NULL);
- gtk_container_add (GTK_CONTAINER (empty_notebook_page), audio_scrolled_window);
- gtk_notebook_set_tab_label_packing (GTK_NOTEBOOK (category_notebook), audio_scrolled_window,
- TRUE, TRUE, GTK_PACK_START);
- gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (audio_scrolled_window), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS);
-
- audio_page_viewport = gtk_viewport_new (NULL, NULL);
- gtk_container_add (GTK_CONTAINER (audio_scrolled_window), audio_page_viewport);
- gtk_widget_set_events (audio_page_viewport, GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK);
- gtk_viewport_set_shadow_type (GTK_VIEWPORT (audio_page_viewport), GTK_SHADOW_NONE);
-
- audio_page_vbox = gtk_vbox_new (FALSE, 0);
- gtk_container_add (GTK_CONTAINER (audio_page_viewport), audio_page_vbox);
-
- alignment74 = gtk_alignment_new (0.5, 0.5, 1, 1);
- gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment74, FALSE, FALSE, 0);
- gtk_alignment_set_padding (GTK_ALIGNMENT (alignment74), 0, 12, 0, 0);
-
- label77 = gtk_label_new (_("Audio System"));
- gtk_container_add (GTK_CONTAINER (alignment74), label77);
- gtk_label_set_use_markup (GTK_LABEL (label77), TRUE);
- gtk_misc_set_alignment (GTK_MISC (label77), 0, 0.5);
-
- alignment73 = gtk_alignment_new (0.5, 0.5, 1, 1);
- gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment73, FALSE, FALSE, 0);
- gtk_alignment_set_padding (GTK_ALIGNMENT (alignment73), 0, 6, 12, 0);
-
- vbox33 = gtk_vbox_new (FALSE, 0);
- gtk_container_add (GTK_CONTAINER (alignment73), vbox33);
-
- table11 = gtk_table_new (3, 2, FALSE);
- gtk_box_pack_start (GTK_BOX (vbox33), table11, FALSE, FALSE, 0);
- gtk_table_set_row_spacings (GTK_TABLE (table11), 6);
- gtk_table_set_col_spacings (GTK_TABLE (table11), 6);
-
- image7 = gtk_image_new_from_stock ("gtk-info", GTK_ICON_SIZE_BUTTON);
- gtk_table_attach (GTK_TABLE (table11), image7, 0, 1, 2, 3,
- (GtkAttachOptions) (0),
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
- gtk_misc_set_alignment (GTK_MISC (image7), 1, 0);
-
- label79 = gtk_label_new (_("Buffer size:"));
- gtk_table_attach (GTK_TABLE (table11), label79, 0, 1, 1, 2,
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_misc_set_alignment (GTK_MISC (label79), 1, 0.5);
-
- label82 = gtk_label_new (_("This is the amount of time to prebuffer audio streams by, in milliseconds.\nIncrease this value if you are experiencing audio skipping.\nPlease note however, that high values will result in Audacious performing poorly."));
- gtk_table_attach (GTK_TABLE (table11), label82, 1, 2, 2, 3,
- (GtkAttachOptions) (0),
- (GtkAttachOptions) (0), 0, 0);
- gtk_label_set_use_markup (GTK_LABEL (label82), TRUE);
- gtk_label_set_line_wrap (GTK_LABEL (label82), TRUE);
- gtk_misc_set_alignment (GTK_MISC (label82), 0, 0.5);
-
- output_plugin_bufsize_adj = gtk_adjustment_new (0, 0, 600000, 100, 1000, 1000);
- output_plugin_bufsize = gtk_spin_button_new (GTK_ADJUSTMENT (output_plugin_bufsize_adj), 1, 0);
- gtk_table_attach (GTK_TABLE (table11), output_plugin_bufsize, 1, 2, 1, 2,
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
-
- output_plugin_cbox = gtk_combo_box_new_text ();
- gtk_table_attach (GTK_TABLE (table11), output_plugin_cbox, 1, 2, 0, 1,
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
-
- label78 = gtk_label_new (_("Current output plugin:"));
- gtk_table_attach (GTK_TABLE (table11), label78, 0, 1, 0, 1,
- (GtkAttachOptions) (0),
- (GtkAttachOptions) (0), 0, 0);
- gtk_misc_set_alignment (GTK_MISC (label78), 0, 0.5);
-
- alignment82 = gtk_alignment_new (0.5, 0.5, 1, 1);
- gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment82, FALSE, FALSE, 0);
- gtk_alignment_set_padding (GTK_ALIGNMENT (alignment82), 0, 0, 12, 0);
-
- output_plugin_button_box = gtk_hbutton_box_new ();
- gtk_container_add (GTK_CONTAINER (alignment82), output_plugin_button_box);
- gtk_button_box_set_layout (GTK_BUTTON_BOX (output_plugin_button_box), GTK_BUTTONBOX_START);
- gtk_box_set_spacing (GTK_BOX (output_plugin_button_box), 8);
-
- output_plugin_prefs = gtk_button_new ();
- gtk_container_add (GTK_CONTAINER (output_plugin_button_box), output_plugin_prefs);
- gtk_widget_set_sensitive (output_plugin_prefs, FALSE);
- GTK_WIDGET_SET_FLAGS (output_plugin_prefs, GTK_CAN_DEFAULT);
-
- alignment76 = gtk_alignment_new (0.5, 0.5, 0, 0);
- gtk_container_add (GTK_CONTAINER (output_plugin_prefs), alignment76);
-
- hbox7 = gtk_hbox_new (FALSE, 2);
- gtk_container_add (GTK_CONTAINER (alignment76), hbox7);
-
- image5 = gtk_image_new_from_stock ("gtk-preferences", GTK_ICON_SIZE_BUTTON);
- gtk_box_pack_start (GTK_BOX (hbox7), image5, FALSE, FALSE, 0);
-
- label80 = gtk_label_new_with_mnemonic (_("Output Plugin Preferences"));
- gtk_box_pack_start (GTK_BOX (hbox7), label80, FALSE, FALSE, 0);
-
- output_plugin_info = gtk_button_new ();
- gtk_container_add (GTK_CONTAINER (output_plugin_button_box), output_plugin_info);
- gtk_widget_set_sensitive (output_plugin_info, FALSE);
- GTK_WIDGET_SET_FLAGS (output_plugin_info, GTK_CAN_DEFAULT);
-
- alignment77 = gtk_alignment_new (0.5, 0.5, 0, 0);
- gtk_container_add (GTK_CONTAINER (output_plugin_info), alignment77);
-
- hbox8 = gtk_hbox_new (FALSE, 2);
- gtk_container_add (GTK_CONTAINER (alignment77), hbox8);
-
- image6 = gtk_image_new_from_stock ("gtk-about", GTK_ICON_SIZE_BUTTON);
- gtk_box_pack_start (GTK_BOX (hbox8), image6, FALSE, FALSE, 0);
-
- label81 = gtk_label_new_with_mnemonic (_("Output Plugin Information"));
- gtk_box_pack_start (GTK_BOX (hbox8), label81, FALSE, FALSE, 0);
-
- create_widgets(GTK_BOX(audio_page_vbox), audio_page_widgets, G_N_ELEMENTS(audio_page_widgets));
-
- alignment90 = gtk_alignment_new (0.5, 0.5, 1, 1);
- gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment90, FALSE, FALSE, 0);
- gtk_alignment_set_padding (GTK_ALIGNMENT (alignment90), 12, 12, 0, 0);
-
- label93 = gtk_label_new (_("Sampling Rate Converter"));
- gtk_container_add (GTK_CONTAINER (alignment90), label93);
- gtk_label_set_use_markup (GTK_LABEL (label93), TRUE);
- gtk_misc_set_alignment (GTK_MISC (label93), 0, 0.5);
-
- alignment92 = gtk_alignment_new (0.5, 0.5, 1, 1);
- gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment92, FALSE, FALSE, 0);
- gtk_alignment_set_padding (GTK_ALIGNMENT (alignment92), 0, 0, 12, 0);
-
- enable_src = gtk_check_button_new_with_mnemonic (_("Enable Sampling Rate Converter"));
- gtk_container_add (GTK_CONTAINER (alignment92), enable_src);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (enable_src), TRUE);
-
- alignment91 = gtk_alignment_new (0.5, 0.5, 1, 1);
- gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment91, FALSE, FALSE, 0);
- gtk_alignment_set_padding (GTK_ALIGNMENT (alignment91), 0, 6, 12, 0);
-
- vbox36 = gtk_vbox_new (FALSE, 0);
- gtk_container_add (GTK_CONTAINER (alignment91), vbox36);
-
- table13 = gtk_table_new (3, 2, FALSE);
- gtk_box_pack_start (GTK_BOX (vbox36), table13, FALSE, FALSE, 0);
- gtk_table_set_row_spacings (GTK_TABLE (table13), 6);
- gtk_table_set_col_spacings (GTK_TABLE (table13), 6);
-
- src_converter_type = gtk_combo_box_new_text ();
- gtk_table_attach (GTK_TABLE (table13), src_converter_type, 1, 2, 1, 2,
- (GtkAttachOptions) (0),
- (GtkAttachOptions) (0), 0, 0);
- gtk_combo_box_append_text (GTK_COMBO_BOX (src_converter_type), _("Best Sinc Interpolation"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (src_converter_type), _("Medium Sinc Interpolation"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (src_converter_type), _("Fastest Sinc Interpolation"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (src_converter_type), _("ZOH Interpolation"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (src_converter_type), _("Linear Interpolation"));
-
- label94 = gtk_label_new (_("Interpolation Engine:"));
- gtk_table_attach (GTK_TABLE (table13), label94, 0, 1, 1, 2,
- (GtkAttachOptions) (0),
- (GtkAttachOptions) (0), 0, 0);
- gtk_misc_set_alignment (GTK_MISC (label94), 0, 0.5);
-
- label92 = gtk_label_new (_("All streams will be converted to this sampling rate.\nThis should be the max supported sampling rate of\nthe sound card or output plugin."));
- gtk_table_attach (GTK_TABLE (table13), label92, 1, 2, 2, 3,
- (GtkAttachOptions) (0),
- (GtkAttachOptions) (0), 0, 0);
- gtk_label_set_use_markup (GTK_LABEL (label92), TRUE);
- gtk_label_set_line_wrap (GTK_LABEL (label92), TRUE);
- gtk_misc_set_alignment (GTK_MISC (label92), 0, 0.5);
-
- image9 = gtk_image_new_from_stock ("gtk-info", GTK_ICON_SIZE_BUTTON);
- gtk_table_attach (GTK_TABLE (table13), image9, 0, 1, 2, 3,
- (GtkAttachOptions) (0),
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
- gtk_misc_set_alignment (GTK_MISC (image9), 1, 0);
-
- src_rate_adj = gtk_adjustment_new (96000, 1000, 768000, 1000, 1000, 1000);
- src_rate = gtk_spin_button_new (GTK_ADJUSTMENT (src_rate_adj), 1, 0);
- gtk_table_attach (GTK_TABLE (table13), src_rate, 1, 2, 0, 1,
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
-
- label91 = gtk_label_new (_("Sampling Rate [Hz]:"));
- gtk_table_attach (GTK_TABLE (table13), label91, 0, 1, 0, 1,
- (GtkAttachOptions) (0),
- (GtkAttachOptions) (0), 0, 0);
- gtk_misc_set_alignment (GTK_MISC (label91), 0, 0.5);
-
- alignment4 = gtk_alignment_new (0.5, 0.5, 1, 1);
- gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment4, FALSE, FALSE, 0);
- gtk_alignment_set_padding (GTK_ALIGNMENT (alignment4), 12, 12, 0, 0);
-
- label2 = gtk_label_new (_("Volume Control"));
- gtk_container_add (GTK_CONTAINER (alignment4), label2);
- gtk_label_set_use_markup (GTK_LABEL (label2), TRUE);
- gtk_misc_set_alignment (GTK_MISC (label2), 0, 0.5);
-
- alignment7 = gtk_alignment_new (0.5, 0.5, 1, 1);
- gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment7, FALSE, FALSE, 0);
- gtk_alignment_set_padding (GTK_ALIGNMENT (alignment7), 0, 0, 12, 0);
-
- software_volume_control = gtk_check_button_new_with_mnemonic (_("Use software volume control"));
- gtk_container_add (GTK_CONTAINER (alignment7), software_volume_control);
- gtk_tooltips_set_tip (tooltips, software_volume_control, _("Use software volume control. This may be useful for situations where your audio system does not support controlling the playback volume."), NULL);
+
+
+ create_audio_category();
+
+
empty_notebook_page = gtk_vbox_new (FALSE, 0);
gtk_container_add (GTK_CONTAINER (category_notebook), empty_notebook_page);
@@ -2834,39 +2899,6 @@
g_signal_connect(G_OBJECT(proxy_user), "realize",
G_CALLBACK(on_proxy_entry_realize),
"proxy_user");
- g_signal_connect(G_OBJECT(output_plugin_bufsize), "value_changed",
- G_CALLBACK(on_output_plugin_bufsize_value_changed),
- NULL);
- g_signal_connect_after(G_OBJECT(output_plugin_bufsize), "realize",
- G_CALLBACK(on_output_plugin_bufsize_realize),
- NULL);
- g_signal_connect_after(G_OBJECT(output_plugin_cbox), "realize",
- G_CALLBACK(on_output_plugin_cbox_realize),
- NULL);
- g_signal_connect(G_OBJECT(enable_src), "toggled",
- G_CALLBACK(on_enable_src_toggled),
- NULL);
- g_signal_connect(G_OBJECT(enable_src), "realize",
- G_CALLBACK(on_enable_src_realize),
- NULL);
- g_signal_connect(G_OBJECT(src_converter_type), "changed",
- G_CALLBACK(on_src_converter_type_changed),
- NULL);
- g_signal_connect_after(G_OBJECT(src_converter_type), "realize",
- G_CALLBACK(on_src_converter_type_realize),
- NULL);
- g_signal_connect(G_OBJECT(src_rate), "value_changed",
- G_CALLBACK(on_src_rate_value_changed),
- NULL);
- g_signal_connect(G_OBJECT(src_rate), "realize",
- G_CALLBACK(on_src_rate_realize),
- NULL);
- g_signal_connect(G_OBJECT(software_volume_control), "toggled",
- G_CALLBACK(on_software_volume_control_toggled),
- NULL);
- g_signal_connect(G_OBJECT(software_volume_control), "realize",
- G_CALLBACK(on_software_volume_control_realize),
- NULL);
g_signal_connect(G_OBJECT(reload_plugins), "clicked",
G_CALLBACK(on_reload_plugins_clicked),
NULL);
@@ -2899,21 +2931,6 @@
G_CALLBACK(plugin_treeview_open_info),
input_plugin_view);
- /* plugin->output page */
-
- g_signal_connect(G_OBJECT(output_plugin_cbox), "changed",
- G_CALLBACK(output_plugin_enable_prefs),
- output_plugin_prefs);
- g_signal_connect_swapped(G_OBJECT(output_plugin_prefs), "clicked",
- G_CALLBACK(output_plugin_open_prefs),
- output_plugin_cbox);
-
- g_signal_connect(G_OBJECT(output_plugin_cbox), "changed",
- G_CALLBACK(output_plugin_enable_info),
- output_plugin_info);
- g_signal_connect_swapped(G_OBJECT(output_plugin_info), "clicked",
- G_CALLBACK(output_plugin_open_info),
- output_plugin_cbox);
/* plugin->general page */