changeset 3993:8d8699eb659d

say goodbye to libglade
author Tomasz Mon <desowin@gmail.com>
date Sat, 24 Nov 2007 17:09:11 +0100
parents 50bf02b4f048
children 78a6f3ba9f34
files configure.ac src/audacious/Makefile src/audacious/glade.c src/audacious/glade.h src/audacious/glade/prefswin.glade src/audacious/ui_preferences.c src/audacious/ui_urlopener.c src/audacious/util.c
diffstat 8 files changed, 1811 insertions(+), 5358 deletions(-) [+]
line wrap: on
line diff
--- a/configure.ac	Sat Nov 24 14:48:01 2007 +0100
+++ b/configure.ac	Sat Nov 24 17:09:11 2007 +0100
@@ -106,13 +106,6 @@
     [AC_MSG_ERROR([Cannot find libmowgli: try http://www.atheme-project.org/projects/mowgli.shtml])]
 )
 
-dnl Check for libglade
-
-PKG_CHECK_MODULES(LIBGLADE, [libglade-2.0 >= 2.3.1],
-    [],
-    [AC_MSG_ERROR([Cannot find libglade])]
-)
-
 # Check if socklen_t is defined
 
 AC_CACHE_CHECK(for socklen_t, beep_cv_type_socklen_t,
--- a/src/audacious/Makefile	Sat Nov 24 14:48:01 2007 +0100
+++ b/src/audacious/Makefile	Sat Nov 24 17:09:11 2007 +0100
@@ -16,7 +16,6 @@
        flow.c				\
        formatter.c			\
        general.c			\
-       glade.c				\
        hints.c				\
        hook.c				\
        iir.c				\
@@ -119,8 +118,7 @@
 	   vfs_buffered_file.h	\
 	   xconvert.h
 
-DATA = glade/prefswin.glade			\
-       images/about-logo.png			\
+DATA = images/about-logo.png			\
        images/appearance.png			\
        images/audacious_eq.xpm			\
        images/audacious_player.xpm		\
@@ -167,7 +165,6 @@
 CPPFLAGS += -DHAVE_CONFIG_H		\
 	    ${MOWGLI_CFLAGS}		\
 	    ${GTK_CFLAGS}		\
-	    ${LIBGLADE_CFLAGS}		\
 	    ${BEEP_DEFINES}		\
 	    ${ARCH_DEFINES}		\
 	    ${DBUS_CFLAGS}		\
@@ -186,7 +183,6 @@
 	${DBUS_LIBS}		\
 	${MOWGLI_LIBS}		\
 	${LIBMCS_LIBS}		\
-	${LIBGLADE_LIBS}	\
 	${REGEX_LIBS}
 
 LDFLAGS += ${PROG_IMPLIB_LDFLAGS}
--- a/src/audacious/glade.c	Sat Nov 24 14:48:01 2007 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,162 +0,0 @@
-/*  Audacious - Cross-platform multimedia player
- *  Copyright (C) 2005-2007  Audacious development team
- *
- *  Based on BMP:
- *  Copyright (C) 2003-2004  BMP development team.
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; under version 3 of the License.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program.  If not, see <http://www.gnu.org/licenses>.
- *
- *  The Audacious team does not consider modular code linking to
- *  Audacious or using our public API to be a derived work.
- */
-
-#ifndef HAVE_CONFIG_H
-#  include "config.h"
-#endif
-
-#include <glib.h>
-#include <glib/gi18n.h>
-#include <gmodule.h>
-#include <gtk/gtk.h>
-#include <glade/glade.h>
-
-#include <stdlib.h>
-
-#include "glade.h"
-
-
-GladeXML *
-glade_xml_new_or_die(const gchar * name,
-                     const gchar * path,
-                     const gchar * root,
-                     const gchar * domain)
-{
-    const gchar *markup =
-        N_("<b><big>Unable to create %s.</big></b>\n"
-           "\n"
-           "Could not open glade file (%s). Please check your "
-           "installation.\n");
-
-    GladeXML *xml = glade_xml_new(path, root, domain);
-
-    if (!xml) {
-        GtkWidget *dialog =
-            gtk_message_dialog_new_with_markup(NULL,
-                                               GTK_DIALOG_MODAL,
-                                               GTK_MESSAGE_ERROR,
-                                               GTK_BUTTONS_CLOSE,
-                                               _(markup),
-                                               name, path);
-        gtk_dialog_run(GTK_DIALOG(dialog));
-        gtk_widget_destroy(dialog);
-
-        exit(EXIT_FAILURE);
-    }
-
-    return xml;
-}
-
-GtkWidget *
-glade_xml_get_widget_warn(GladeXML * xml, const gchar * name)
-{
-    GtkWidget *widget = glade_xml_get_widget(xml, name);
-
-    if (!widget) {
-        g_warning("Widget not found (%s)", name);
-        return NULL;
-    }
-
-    return widget;
-}
-
-
-static GCallback
-self_symbol_lookup(const gchar * symbol_name)
-{
-    static GModule *module = NULL;
-    gpointer symbol = NULL;
-
-    if (!module)
-        module = g_module_open(NULL, 0);
-
-    g_module_symbol(module, symbol_name, &symbol);
-    return (GCallback) symbol;
-}
-
-static GHashTable *
-func_map_to_hash(FuncMap * map)
-{
-    GHashTable *hash;
-    FuncMap *current;
-
-    g_return_val_if_fail(map != NULL, NULL);
-
-    hash = g_hash_table_new(g_str_hash, g_str_equal);
-
-    for (current = map; current->name; current++)
-        g_hash_table_insert(hash, current->name, (gpointer) current->function);
-
-    return hash;
-}
-
-static void
-map_connect_func(const gchar * handler_name,
-                 GObject * object,
-                 const gchar * signal_name,
-                 const gchar * signal_data,
-                 GObject * connect_object,
-                 gboolean after,
-                 gpointer data)
-{
-    GHashTable *hash = data;
-    GCallback callback;
-
-    g_return_if_fail(object != NULL);
-    g_return_if_fail(handler_name != NULL);
-    g_return_if_fail(signal_name != NULL);
-
-    if (!(callback = self_symbol_lookup(handler_name)))
-        callback = (GCallback) g_hash_table_lookup(hash, handler_name);
-
-    if (!callback) {
-        g_message("Signal handler (%s) not found", handler_name);
-        return;
-    }
-
-    if (connect_object) {
-        g_signal_connect_object(object, signal_name, callback,
-                                connect_object,
-                                (after ? G_CONNECT_AFTER : 0) |
-                                G_CONNECT_SWAPPED);
-    }
-    else {
-        if (after)
-            g_signal_connect_after(object, signal_name, callback, NULL);
-        else
-            g_signal_connect(object, signal_name, callback, NULL);
-    }
-}
-
-void
-glade_xml_signal_autoconnect_map(GladeXML * xml,
-                                 FuncMap * map)
-{
-    GHashTable *hash;
-
-    g_return_if_fail(xml != NULL);
-    g_return_if_fail(map != NULL);
-
-    hash = func_map_to_hash(map);
-    glade_xml_signal_autoconnect_full(xml, map_connect_func, hash);
-    g_hash_table_destroy(hash);
-}
--- a/src/audacious/glade.h	Sat Nov 24 14:48:01 2007 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*  Audacious - Cross-platform multimedia player
- *  Copyright (C) 2005-2007  Audacious development team
- *
- *  Based on BMP:
- *  Copyright (C) 2003-2004  BMP development team.
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; under version 3 of the License.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program.  If not, see <http://www.gnu.org/licenses>.
- *
- *  The Audacious team does not consider modular code linking to
- *  Audacious or using our public API to be a derived work.
- */
-
-#ifndef BMP_GLADE_H
-#define BMP_GLADE_H
-
-#include <glib.h>
-#include <gtk/gtk.h>
-#include <glade/glade.h>
-
-
-typedef struct _FuncMap FuncMap;
-
-struct _FuncMap {
-    gchar *name;
-    GCallback function;
-};
-
-
-#define FUNC_MAP_BEGIN(map)       static FuncMap map[] = {
-#define FUNC_MAP_ENTRY(function)  { #function, (GCallback) function },
-#define FUNC_MAP_END              { NULL, NULL } };
-
-
-GladeXML *glade_xml_new_or_die(const gchar * name, const gchar * path,
-                               const gchar * root, const gchar * domain);
-
-GtkWidget *glade_xml_get_widget_warn(GladeXML * xml, const gchar * name);
-
-void glade_xml_signal_autoconnect_map(GladeXML * xml, FuncMap * map);
-
-#endif
--- a/src/audacious/glade/prefswin.glade	Sat Nov 24 14:48:01 2007 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,4804 +0,0 @@
-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
-<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
-
-<glade-interface>
-
-<widget class="GtkWindow" id="prefswin">
-  <property name="border_width">12</property>
-  <property name="title" translatable="yes">Audacious Preferences</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_CENTER</property>
-  <property name="modal">False</property>
-  <property name="default_width">680</property>
-  <property name="default_height">400</property>
-  <property name="resizable">True</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="decorated">True</property>
-  <property name="skip_taskbar_hint">False</property>
-  <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-  <property name="focus_on_map">True</property>
-  <property name="urgency_hint">False</property>
-  <signal name="delete_event" handler="gtk_widget_hide_on_delete"/>
-
-  <child>
-    <widget class="GtkVBox" id="vbox1">
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">0</property>
-
-      <child>
-	<widget class="GtkHBox" id="hbox1">
-	  <property name="visible">True</property>
-	  <property name="homogeneous">False</property>
-	  <property name="spacing">8</property>
-
-	  <child>
-	    <widget class="GtkScrolledWindow" id="scrolledwindow6">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-	      <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-	      <property name="shadow_type">GTK_SHADOW_IN</property>
-	      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-	      <child>
-		<widget class="GtkTreeView" id="category_view">
-		  <property name="width_request">172</property>
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="headers_visible">False</property>
-		  <property name="rules_hint">False</property>
-		  <property name="reorderable">False</property>
-		  <property name="enable_search">True</property>
-		  <property name="fixed_height_mode">False</property>
-		  <property name="hover_selection">False</property>
-		  <property name="hover_expand">False</property>
-		</widget>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">True</property>
-	      <property name="fill">True</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkNotebook" id="category_notebook">
-	      <property name="visible">True</property>
-	      <property name="show_tabs">False</property>
-	      <property name="show_border">False</property>
-	      <property name="tab_pos">GTK_POS_TOP</property>
-	      <property name="scrollable">True</property>
-	      <property name="enable_popup">False</property>
-
-	      <child>
-		<widget class="GtkVBox" id="plugin_page_vbox">
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">0</property>
-
-		  <child>
-		    <widget class="GtkNotebook" id="plugin_notebook">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="show_tabs">True</property>
-		      <property name="show_border">False</property>
-		      <property name="tab_pos">GTK_POS_TOP</property>
-		      <property name="scrollable">False</property>
-		      <property name="enable_popup">False</property>
-
-		      <child>
-			<widget class="GtkVBox" id="plugin_input_vbox">
-			  <property name="border_width">12</property>
-			  <property name="visible">True</property>
-			  <property name="homogeneous">False</property>
-			  <property name="spacing">0</property>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment43">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xscale">1</property>
-			      <property name="yscale">1</property>
-			      <property name="top_padding">0</property>
-			      <property name="bottom_padding">6</property>
-			      <property name="left_padding">0</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkLabel" id="input_plugin_list_label">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">_Decoder list:</property>
-				  <property name="use_underline">True</property>
-				  <property name="use_markup">True</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				  <property name="mnemonic_widget">category_notebook</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">4</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkScrolledWindow" id="scrolledwindow3">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-			      <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-			      <property name="shadow_type">GTK_SHADOW_IN</property>
-			      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-			      <child>
-				<widget class="GtkTreeView" id="input_plugin_view">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="headers_visible">True</property>
-				  <property name="rules_hint">True</property>
-				  <property name="reorderable">True</property>
-				  <property name="enable_search">True</property>
-				  <property name="fixed_height_mode">False</property>
-				  <property name="hover_selection">False</property>
-				  <property name="hover_expand">False</property>
-				  <signal name="realize" handler="on_input_plugin_view_realize" after="yes"/>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">True</property>
-			      <property name="fill">True</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkHButtonBox" id="input_plugin_button_box">
-			      <property name="visible">True</property>
-			      <property name="layout_style">GTK_BUTTONBOX_START</property>
-			      <property name="spacing">8</property>
-
-			      <child>
-				<widget class="GtkButton" id="input_plugin_prefs">
-				  <property name="visible">True</property>
-				  <property name="sensitive">False</property>
-				  <property name="can_default">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label">gtk-preferences</property>
-				  <property name="use_stock">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				</widget>
-			      </child>
-
-			      <child>
-				<widget class="GtkButton" id="input_plugin_info">
-				  <property name="visible">True</property>
-				  <property name="sensitive">False</property>
-				  <property name="can_default">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label">gtk-dialog-info</property>
-				  <property name="use_stock">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">8</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="tab_expand">False</property>
-			  <property name="tab_fill">True</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkLabel" id="plugin_input_label">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">&lt;span size=&quot;medium&quot;&gt;&lt;b&gt;Decoders&lt;/b&gt;&lt;/span&gt;</property>
-			  <property name="use_underline">False</property>
-			  <property name="use_markup">True</property>
-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
-			  <property name="wrap">False</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">0</property>
-			  <property name="yalign">0</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			  <property name="width_chars">-1</property>
-			  <property name="single_line_mode">False</property>
-			  <property name="angle">0</property>
-			</widget>
-			<packing>
-			  <property name="type">tab</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkVBox" id="plugin_general_vbox">
-			  <property name="border_width">12</property>
-			  <property name="visible">True</property>
-			  <property name="homogeneous">False</property>
-			  <property name="spacing">0</property>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment45">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xscale">1</property>
-			      <property name="yscale">1</property>
-			      <property name="top_padding">0</property>
-			      <property name="bottom_padding">6</property>
-			      <property name="left_padding">0</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkLabel" id="label11">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">_General plugin list:</property>
-				  <property name="use_underline">True</property>
-				  <property name="use_markup">True</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				  <property name="mnemonic_widget">category_notebook</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">4</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkScrolledWindow" id="scrolledwindow5">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-			      <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-			      <property name="shadow_type">GTK_SHADOW_IN</property>
-			      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-			      <child>
-				<widget class="GtkTreeView" id="general_plugin_view">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="headers_visible">True</property>
-				  <property name="rules_hint">True</property>
-				  <property name="reorderable">True</property>
-				  <property name="enable_search">True</property>
-				  <property name="fixed_height_mode">False</property>
-				  <property name="hover_selection">False</property>
-				  <property name="hover_expand">False</property>
-				  <signal name="realize" handler="on_general_plugin_view_realize" after="yes"/>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">True</property>
-			      <property name="fill">True</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkHButtonBox" id="general_plugin_button_box">
-			      <property name="visible">True</property>
-			      <property name="layout_style">GTK_BUTTONBOX_START</property>
-			      <property name="spacing">8</property>
-
-			      <child>
-				<widget class="GtkButton" id="general_plugin_prefs">
-				  <property name="visible">True</property>
-				  <property name="sensitive">False</property>
-				  <property name="can_default">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label">gtk-preferences</property>
-				  <property name="use_stock">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				</widget>
-			      </child>
-
-			      <child>
-				<widget class="GtkButton" id="general_plugin_info">
-				  <property name="visible">True</property>
-				  <property name="sensitive">False</property>
-				  <property name="can_default">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label">gtk-dialog-info</property>
-				  <property name="use_stock">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">8</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="tab_expand">False</property>
-			  <property name="tab_fill">True</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkLabel" id="plugin_general_label">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">&lt;span size=&quot;medium&quot;&gt;&lt;b&gt;General&lt;/b&gt;&lt;/span&gt;</property>
-			  <property name="use_underline">False</property>
-			  <property name="use_markup">True</property>
-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
-			  <property name="wrap">False</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			  <property name="width_chars">-1</property>
-			  <property name="single_line_mode">False</property>
-			  <property name="angle">0</property>
-			</widget>
-			<packing>
-			  <property name="type">tab</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkVBox" id="vbox21">
-			  <property name="border_width">12</property>
-			  <property name="visible">True</property>
-			  <property name="homogeneous">False</property>
-			  <property name="spacing">0</property>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment46">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xscale">1</property>
-			      <property name="yscale">1</property>
-			      <property name="top_padding">0</property>
-			      <property name="bottom_padding">6</property>
-			      <property name="left_padding">0</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkLabel" id="label53">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">_Visualization plugin list:</property>
-				  <property name="use_underline">True</property>
-				  <property name="use_markup">True</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				  <property name="mnemonic_widget">category_notebook</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">4</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkScrolledWindow" id="scrolledwindow7">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-			      <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-			      <property name="shadow_type">GTK_SHADOW_IN</property>
-			      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-			      <child>
-				<widget class="GtkTreeView" id="vis_plugin_view">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="headers_visible">True</property>
-				  <property name="rules_hint">True</property>
-				  <property name="reorderable">True</property>
-				  <property name="enable_search">True</property>
-				  <property name="fixed_height_mode">False</property>
-				  <property name="hover_selection">False</property>
-				  <property name="hover_expand">False</property>
-				  <signal name="realize" handler="on_vis_plugin_view_realize" after="yes"/>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">True</property>
-			      <property name="fill">True</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkHButtonBox" id="hbuttonbox6">
-			      <property name="visible">True</property>
-			      <property name="layout_style">GTK_BUTTONBOX_START</property>
-			      <property name="spacing">8</property>
-
-			      <child>
-				<widget class="GtkButton" id="vis_plugin_prefs">
-				  <property name="visible">True</property>
-				  <property name="sensitive">False</property>
-				  <property name="can_default">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label">gtk-preferences</property>
-				  <property name="use_stock">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				</widget>
-			      </child>
-
-			      <child>
-				<widget class="GtkButton" id="vis_plugin_info">
-				  <property name="visible">True</property>
-				  <property name="sensitive">False</property>
-				  <property name="can_default">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label">gtk-dialog-info</property>
-				  <property name="use_stock">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">8</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="tab_expand">False</property>
-			  <property name="tab_fill">True</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkLabel" id="vis_label">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">&lt;b&gt;Visualization&lt;/b&gt;</property>
-			  <property name="use_underline">False</property>
-			  <property name="use_markup">True</property>
-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
-			  <property name="wrap">False</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			  <property name="width_chars">-1</property>
-			  <property name="single_line_mode">False</property>
-			  <property name="angle">0</property>
-			</widget>
-			<packing>
-			  <property name="type">tab</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkVBox" id="vbox25">
-			  <property name="border_width">12</property>
-			  <property name="visible">True</property>
-			  <property name="homogeneous">False</property>
-			  <property name="spacing">0</property>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment58">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xscale">1</property>
-			      <property name="yscale">1</property>
-			      <property name="top_padding">0</property>
-			      <property name="bottom_padding">6</property>
-			      <property name="left_padding">0</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkLabel" id="label64">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">_Effect plugin list:</property>
-				  <property name="use_underline">True</property>
-				  <property name="use_markup">True</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				  <property name="mnemonic_widget">category_notebook</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">4</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkScrolledWindow" id="scrolledwindow9">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-			      <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-			      <property name="shadow_type">GTK_SHADOW_IN</property>
-			      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-			      <child>
-				<widget class="GtkTreeView" id="effect_plugin_view">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="headers_visible">True</property>
-				  <property name="rules_hint">True</property>
-				  <property name="reorderable">True</property>
-				  <property name="enable_search">True</property>
-				  <property name="fixed_height_mode">False</property>
-				  <property name="hover_selection">False</property>
-				  <property name="hover_expand">False</property>
-				  <signal name="realize" handler="on_effect_plugin_view_realize" after="yes"/>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">True</property>
-			      <property name="fill">True</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkHButtonBox" id="hbuttonbox9">
-			      <property name="visible">True</property>
-			      <property name="layout_style">GTK_BUTTONBOX_START</property>
-			      <property name="spacing">8</property>
-
-			      <child>
-				<widget class="GtkButton" id="effect_plugin_prefs">
-				  <property name="visible">True</property>
-				  <property name="sensitive">False</property>
-				  <property name="can_default">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label">gtk-preferences</property>
-				  <property name="use_stock">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				</widget>
-			      </child>
-
-			      <child>
-				<widget class="GtkButton" id="effect_plugin_info">
-				  <property name="visible">True</property>
-				  <property name="sensitive">False</property>
-				  <property name="can_default">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label">gtk-dialog-info</property>
-				  <property name="use_stock">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">8</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="tab_expand">False</property>
-			  <property name="tab_fill">True</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkLabel" id="effects_label">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">&lt;b&gt;Effects&lt;/b&gt;</property>
-			  <property name="use_underline">False</property>
-			  <property name="use_markup">True</property>
-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
-			  <property name="wrap">False</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			  <property name="width_chars">-1</property>
-			  <property name="single_line_mode">False</property>
-			  <property name="angle">0</property>
-			</widget>
-			<packing>
-			  <property name="type">tab</property>
-			</packing>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">True</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="tab_expand">False</property>
-		  <property name="tab_fill">True</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkLabel" id="plugin_label">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">Plugins</property>
-		  <property name="use_underline">False</property>
-		  <property name="use_markup">False</property>
-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0.5</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		  <property name="width_chars">-1</property>
-		  <property name="single_line_mode">False</property>
-		  <property name="angle">0</property>
-		</widget>
-		<packing>
-		  <property name="type">tab</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkVBox" id="appearance_page_vbox">
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">0</property>
-
-		  <child>
-		    <widget class="GtkVBox" id="vbox37">
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">0</property>
-
-		      <child>
-			<widget class="GtkVBox" id="vbox38">
-			  <property name="visible">True</property>
-			  <property name="homogeneous">False</property>
-			  <property name="spacing">0</property>
-
-			  <child>
-			    <widget class="GtkHBox" id="hbox12">
-			      <property name="visible">True</property>
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">0</property>
-
-			      <child>
-				<widget class="GtkAlignment" id="alignment94">
-				  <property name="visible">True</property>
-				  <property name="xalign">0.5</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xscale">1</property>
-				  <property name="yscale">1</property>
-				  <property name="top_padding">0</property>
-				  <property name="bottom_padding">4</property>
-				  <property name="left_padding">0</property>
-				  <property name="right_padding">0</property>
-
-				  <child>
-				    <widget class="GtkHBox" id="hbox13">
-				      <property name="visible">True</property>
-				      <property name="homogeneous">False</property>
-				      <property name="spacing">0</property>
-
-				      <child>
-					<widget class="GtkLabel" id="label103">
-					  <property name="visible">True</property>
-					  <property name="label" translatable="yes">&lt;b&gt;_Skin&lt;/b&gt;</property>
-					  <property name="use_underline">True</property>
-					  <property name="use_markup">True</property>
-					  <property name="justify">GTK_JUSTIFY_LEFT</property>
-					  <property name="wrap">False</property>
-					  <property name="selectable">False</property>
-					  <property name="xalign">0</property>
-					  <property name="yalign">0</property>
-					  <property name="xpad">0</property>
-					  <property name="ypad">0</property>
-					  <property name="mnemonic_widget">category_notebook</property>
-					  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-					  <property name="width_chars">-1</property>
-					  <property name="single_line_mode">False</property>
-					  <property name="angle">0</property>
-					</widget>
-					<packing>
-					  <property name="padding">0</property>
-					  <property name="expand">True</property>
-					  <property name="fill">True</property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkButton" id="colorspace_button">
-					  <property name="visible">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="relief">GTK_RELIEF_NORMAL</property>
-					  <property name="focus_on_click">True</property>
-					  <signal name="clicked" handler="on_colorize_button_clicked"/>
-
-					  <child>
-					    <widget class="GtkImage" id="image11">
-					      <property name="visible">True</property>
-					      <property name="stock">gtk-properties</property>
-					      <property name="icon_size">4</property>
-					      <property name="xalign">0.5</property>
-					      <property name="yalign">0.5</property>
-					      <property name="xpad">0</property>
-					      <property name="ypad">0</property>
-					    </widget>
-					  </child>
-					</widget>
-					<packing>
-					  <property name="padding">0</property>
-					  <property name="expand">False</property>
-					  <property name="fill">False</property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkButton" id="skin_refresh_button">
-					  <property name="visible">True</property>
-					  <property name="tooltip" translatable="yes">Refresh skin list</property>
-					  <property name="relief">GTK_RELIEF_HALF</property>
-					  <property name="focus_on_click">False</property>
-					  <signal name="clicked" handler="on_skin_refresh_button_clicked" object="prefswin"/>
-
-					  <child>
-					    <widget class="GtkImage" id="image12">
-					      <property name="visible">True</property>
-					      <property name="stock">gtk-refresh</property>
-					      <property name="icon_size">4</property>
-					      <property name="xalign">0.5</property>
-					      <property name="yalign">0.5</property>
-					      <property name="xpad">0</property>
-					      <property name="ypad">0</property>
-					    </widget>
-					  </child>
-					</widget>
-					<packing>
-					  <property name="padding">0</property>
-					  <property name="expand">False</property>
-					  <property name="fill">False</property>
-					</packing>
-				      </child>
-				    </widget>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">True</property>
-				  <property name="fill">True</property>
-				</packing>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">True</property>
-			      <property name="fill">True</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment95">
-			      <property name="height_request">172</property>
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xscale">1</property>
-			      <property name="yscale">1</property>
-			      <property name="top_padding">0</property>
-			      <property name="bottom_padding">0</property>
-			      <property name="left_padding">12</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkScrolledWindow" id="skin_view_scrolled_window">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
-				  <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
-				  <property name="shadow_type">GTK_SHADOW_IN</property>
-				  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-				  <child>
-				    <widget class="GtkTreeView" id="skin_view">
-				      <property name="height_request">100</property>
-				      <property name="visible">True</property>
-				      <property name="can_focus">True</property>
-				      <property name="headers_visible">True</property>
-				      <property name="rules_hint">False</property>
-				      <property name="reorderable">False</property>
-				      <property name="enable_search">True</property>
-				      <property name="fixed_height_mode">False</property>
-				      <property name="hover_selection">False</property>
-				      <property name="hover_expand">False</property>
-				      <signal name="realize" handler="on_skin_view_realize" after="yes"/>
-				    </widget>
-				  </child>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">True</property>
-			      <property name="fill">True</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkVBox" id="vbox39">
-			  <property name="visible">True</property>
-			  <property name="homogeneous">False</property>
-			  <property name="spacing">0</property>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment96">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xscale">1</property>
-			      <property name="yscale">1</property>
-			      <property name="top_padding">12</property>
-			      <property name="bottom_padding">6</property>
-			      <property name="left_padding">0</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkLabel" id="label104">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">&lt;b&gt;_Fonts&lt;/b&gt;</property>
-				  <property name="use_underline">True</property>
-				  <property name="use_markup">True</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				  <property name="mnemonic_widget">category_notebook</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">True</property>
-			      <property name="fill">True</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkTable" id="table14">
-			      <property name="visible">True</property>
-			      <property name="n_rows">2</property>
-			      <property name="n_columns">2</property>
-			      <property name="homogeneous">False</property>
-			      <property name="row_spacing">8</property>
-			      <property name="column_spacing">2</property>
-
-			      <child>
-				<widget class="GtkAlignment" id="alignment97">
-				  <property name="visible">True</property>
-				  <property name="xalign">0.5</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xscale">1</property>
-				  <property name="yscale">1</property>
-				  <property name="top_padding">0</property>
-				  <property name="bottom_padding">0</property>
-				  <property name="left_padding">12</property>
-				  <property name="right_padding">6</property>
-
-				  <child>
-				    <widget class="GtkLabel" id="label105">
-				      <property name="visible">True</property>
-				      <property name="label" translatable="yes">_Player:</property>
-				      <property name="use_underline">True</property>
-				      <property name="use_markup">True</property>
-				      <property name="justify">GTK_JUSTIFY_LEFT</property>
-				      <property name="wrap">False</property>
-				      <property name="selectable">False</property>
-				      <property name="xalign">1</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xpad">0</property>
-				      <property name="ypad">0</property>
-				      <property name="mnemonic_widget">fontbutton1</property>
-				      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				      <property name="width_chars">-1</property>
-				      <property name="single_line_mode">False</property>
-				      <property name="angle">0</property>
-				    </widget>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="left_attach">0</property>
-				  <property name="right_attach">1</property>
-				  <property name="top_attach">0</property>
-				  <property name="bottom_attach">1</property>
-				  <property name="x_options"></property>
-				  <property name="y_options"></property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkAlignment" id="alignment98">
-				  <property name="visible">True</property>
-				  <property name="xalign">0.5</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xscale">1</property>
-				  <property name="yscale">1</property>
-				  <property name="top_padding">0</property>
-				  <property name="bottom_padding">0</property>
-				  <property name="left_padding">12</property>
-				  <property name="right_padding">6</property>
-
-				  <child>
-				    <widget class="GtkLabel" id="label106">
-				      <property name="visible">True</property>
-				      <property name="label" translatable="yes">_Playlist:</property>
-				      <property name="use_underline">True</property>
-				      <property name="use_markup">True</property>
-				      <property name="justify">GTK_JUSTIFY_RIGHT</property>
-				      <property name="wrap">False</property>
-				      <property name="selectable">False</property>
-				      <property name="xalign">1</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xpad">0</property>
-				      <property name="ypad">0</property>
-				      <property name="mnemonic_widget">fontbutton2</property>
-				      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				      <property name="width_chars">-1</property>
-				      <property name="single_line_mode">False</property>
-				      <property name="angle">0</property>
-				    </widget>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="left_attach">0</property>
-				  <property name="right_attach">1</property>
-				  <property name="top_attach">1</property>
-				  <property name="bottom_attach">2</property>
-				  <property name="x_options"></property>
-				  <property name="y_options"></property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkFontButton" id="fontbutton1">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="title" translatable="yes">Select main player window font:</property>
-				  <property name="show_style">True</property>
-				  <property name="show_size">True</property>
-				  <property name="use_font">True</property>
-				  <property name="use_size">True</property>
-				  <property name="focus_on_click">True</property>
-				  <signal name="realize" handler="on_mainwin_font_button_realize" after="yes"/>
-				  <signal name="font_set" handler="on_mainwin_font_button_font_set"/>
-				</widget>
-				<packing>
-				  <property name="left_attach">1</property>
-				  <property name="right_attach">2</property>
-				  <property name="top_attach">0</property>
-				  <property name="bottom_attach">1</property>
-				  <property name="y_options"></property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkFontButton" id="fontbutton2">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="title" translatable="yes">Select playlist font:</property>
-				  <property name="show_style">True</property>
-				  <property name="show_size">True</property>
-				  <property name="use_font">True</property>
-				  <property name="use_size">True</property>
-				  <property name="focus_on_click">True</property>
-				  <signal name="realize" handler="on_playlist_font_button_realize" after="yes"/>
-				  <signal name="font_set" handler="on_playlist_font_button_font_set"/>
-				</widget>
-				<packing>
-				  <property name="left_attach">1</property>
-				  <property name="right_attach">2</property>
-				  <property name="top_attach">1</property>
-				  <property name="bottom_attach">2</property>
-				  <property name="y_options"></property>
-				</packing>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">True</property>
-			      <property name="fill">True</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment99">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xscale">1</property>
-			      <property name="yscale">1</property>
-			      <property name="top_padding">4</property>
-			      <property name="bottom_padding">0</property>
-			      <property name="left_padding">12</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkCheckButton" id="checkbutton11">
-				  <property name="visible">True</property>
-				  <property name="tooltip" translatable="yes">Use bitmap fonts if they are available. Bitmap fonts do not support Unicode strings.</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Use Bitmap fonts if available</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_use_bitmap_fonts_toggled"/>
-				  <signal name="realize" handler="on_use_bitmap_fonts_realize" after="yes"/>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">True</property>
-			      <property name="fill">True</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkVBox" id="vbox40">
-			  <property name="visible">True</property>
-			  <property name="homogeneous">False</property>
-			  <property name="spacing">0</property>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment100">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xscale">1</property>
-			      <property name="yscale">1</property>
-			      <property name="top_padding">12</property>
-			      <property name="bottom_padding">6</property>
-			      <property name="left_padding">0</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkLabel" id="label107">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">&lt;b&gt;_Miscellaneous&lt;/b&gt;</property>
-				  <property name="use_underline">True</property>
-				  <property name="use_markup">True</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				  <property name="mnemonic_widget">category_notebook</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">True</property>
-			      <property name="fill">True</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment101">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xscale">1</property>
-			      <property name="yscale">1</property>
-			      <property name="top_padding">2</property>
-			      <property name="bottom_padding">0</property>
-			      <property name="left_padding">12</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkCheckButton" id="playlist_show_pl_numbers">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Show track numbers in playlist</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_playlist_show_pl_numbers_toggled"/>
-				  <signal name="realize" handler="on_playlist_show_pl_numbers_realize" after="yes"/>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">True</property>
-			      <property name="fill">True</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment102">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xscale">1</property>
-			      <property name="yscale">1</property>
-			      <property name="top_padding">0</property>
-			      <property name="bottom_padding">0</property>
-			      <property name="left_padding">12</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkCheckButton" id="playlist_show_pl_separator">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Show separators in playlist</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_playlist_show_pl_separator_toggled"/>
-				  <signal name="realize" handler="on_playlist_show_pl_separator_realize" after="yes"/>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">True</property>
-			      <property name="fill">True</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment103">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xscale">1</property>
-			      <property name="yscale">1</property>
-			      <property name="top_padding">0</property>
-			      <property name="bottom_padding">0</property>
-			      <property name="left_padding">12</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkCheckButton" id="checkbutton14">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Use custom cursors</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_custom_cursors_toggled"/>
-				  <signal name="realize" handler="on_custom_cursors_realize" after="yes"/>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">True</property>
-			      <property name="fill">True</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment104">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xscale">1</property>
-			      <property name="yscale">1</property>
-			      <property name="top_padding">0</property>
-			      <property name="bottom_padding">0</property>
-			      <property name="left_padding">12</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkCheckButton" id="show_wm_decorations">
-				  <property name="visible">True</property>
-				  <property name="tooltip" translatable="yes">This enables the window manager to show decorations for windows.</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Show window manager decoration</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_show_wm_decorations_toggled"/>
-				  <signal name="realize" handler="on_show_wm_decorations_realize"/>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">True</property>
-			      <property name="fill">True</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment105">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xscale">1</property>
-			      <property name="yscale">1</property>
-			      <property name="top_padding">0</property>
-			      <property name="bottom_padding">0</property>
-			      <property name="left_padding">12</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkCheckButton" id="xmms_style_fileselector_cb1">
-				  <property name="visible">True</property>
-				  <property name="tooltip" translatable="yes">This enables the XMMS/GTK1-style file selection dialogs. This selector is provided by Audacious itself and is faster than the default GTK2 selector (but sadly not as user-friendly).</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Use XMMS-style file selector instead of the default selector</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_xmms_style_fileselector_toggled"/>
-				  <signal name="realize" handler="on_xmms_style_fileselector_realize"/>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">True</property>
-			      <property name="fill">True</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment106">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xscale">1</property>
-			      <property name="yscale">1</property>
-			      <property name="top_padding">0</property>
-			      <property name="bottom_padding">0</property>
-			      <property name="left_padding">12</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkCheckButton" id="checkbutton17">
-				  <property name="visible">True</property>
-				  <property name="tooltip" translatable="yes">If selected, the file information text in the main window will scroll back and forth. If not selected, the text will only scroll in one direction.</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Use two-way text scroller</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_twoway_scroller_toggled" last_modification_time="Thu, 27 Sep 2007 07:44:27 GMT"/>
-				  <signal name="realize" handler="on_twoway_scroller_realize" last_modification_time="Thu, 27 Sep 2007 07:44:51 GMT"/>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">True</property>
-			      <property name="fill">True</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">True</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="tab_expand">False</property>
-		  <property name="tab_fill">True</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkLabel" id="appearance_label">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">Appearance</property>
-		  <property name="use_underline">False</property>
-		  <property name="use_markup">False</property>
-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0.5</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		  <property name="width_chars">-1</property>
-		  <property name="single_line_mode">False</property>
-		  <property name="angle">0</property>
-		</widget>
-		<packing>
-		  <property name="type">tab</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkVBox" id="mouse_page_vbox">
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">0</property>
-
-		  <child>
-		    <widget class="GtkVBox" id="vbox20">
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">0</property>
-
-		      <child>
-			<widget class="GtkAlignment" id="alignment36">
-			  <property name="visible">True</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xscale">1</property>
-			  <property name="yscale">1</property>
-			  <property name="top_padding">0</property>
-			  <property name="bottom_padding">12</property>
-			  <property name="left_padding">0</property>
-			  <property name="right_padding">0</property>
-
-			  <child>
-			    <widget class="GtkLabel" id="label51">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">&lt;b&gt;Mouse wheel&lt;/b&gt;</property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">True</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
-			      <property name="xalign">0</property>
-			      <property name="yalign">0</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			      <property name="width_chars">-1</property>
-			      <property name="single_line_mode">False</property>
-			      <property name="angle">0</property>
-			    </widget>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkAlignment" id="alignment34">
-			  <property name="visible">True</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xscale">1</property>
-			  <property name="yscale">1</property>
-			  <property name="top_padding">0</property>
-			  <property name="bottom_padding">0</property>
-			  <property name="left_padding">12</property>
-			  <property name="right_padding">0</property>
-
-			  <child>
-			    <widget class="GtkTable" id="table4">
-			      <property name="visible">True</property>
-			      <property name="n_rows">2</property>
-			      <property name="n_columns">3</property>
-			      <property name="homogeneous">False</property>
-			      <property name="row_spacing">6</property>
-			      <property name="column_spacing">0</property>
-
-			      <child>
-				<widget class="GtkSpinButton" id="mouse_wheel_volume">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="climb_rate">1</property>
-				  <property name="digits">0</property>
-				  <property name="numeric">True</property>
-				  <property name="update_policy">GTK_UPDATE_ALWAYS</property>
-				  <property name="snap_to_ticks">False</property>
-				  <property name="wrap">False</property>
-				  <property name="adjustment">5 0 100 1 10 10</property>
-				  <signal name="value_changed" handler="on_mouse_wheel_volume_changed"/>
-				  <signal name="realize" handler="on_mouse_wheel_volume_realize" after="yes"/>
-				</widget>
-				<packing>
-				  <property name="left_attach">1</property>
-				  <property name="right_attach">2</property>
-				  <property name="top_attach">0</property>
-				  <property name="bottom_attach">1</property>
-				  <property name="x_padding">4</property>
-				  <property name="x_options"></property>
-				  <property name="y_options"></property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkLabel" id="label35">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">lines</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">4</property>
-				  <property name="ypad">0</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-				<packing>
-				  <property name="left_attach">2</property>
-				  <property name="right_attach">3</property>
-				  <property name="top_attach">1</property>
-				  <property name="bottom_attach">2</property>
-				  <property name="x_options"></property>
-				  <property name="y_options"></property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkSpinButton" id="mouse_wheel_scroll_pl">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="climb_rate">1</property>
-				  <property name="digits">0</property>
-				  <property name="numeric">False</property>
-				  <property name="update_policy">GTK_UPDATE_ALWAYS</property>
-				  <property name="snap_to_ticks">False</property>
-				  <property name="wrap">False</property>
-				  <property name="adjustment">1 0 100 1 10 10</property>
-				  <signal name="value_changed" handler="on_mouse_wheel_scroll_pl_changed"/>
-				  <signal name="realize" handler="on_mouse_wheel_scroll_pl_realize" after="yes"/>
-				</widget>
-				<packing>
-				  <property name="left_attach">1</property>
-				  <property name="right_attach">2</property>
-				  <property name="top_attach">1</property>
-				  <property name="bottom_attach">2</property>
-				  <property name="x_padding">4</property>
-				  <property name="x_options"></property>
-				  <property name="y_options"></property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkLabel" id="label34">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">Scrolls playlist by</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">4</property>
-				  <property name="ypad">0</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-				<packing>
-				  <property name="left_attach">0</property>
-				  <property name="right_attach">1</property>
-				  <property name="top_attach">1</property>
-				  <property name="bottom_attach">2</property>
-				  <property name="x_options"></property>
-				  <property name="y_options"></property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkLabel" id="label33">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">percent</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">4</property>
-				  <property name="ypad">0</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-				<packing>
-				  <property name="left_attach">2</property>
-				  <property name="right_attach">3</property>
-				  <property name="top_attach">0</property>
-				  <property name="bottom_attach">1</property>
-				  <property name="x_options"></property>
-				  <property name="y_options"></property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkLabel" id="label32">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">Changes volume by</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">4</property>
-				  <property name="ypad">0</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-				<packing>
-				  <property name="left_attach">0</property>
-				  <property name="right_attach">1</property>
-				  <property name="top_attach">0</property>
-				  <property name="bottom_attach">1</property>
-				  <property name="x_options"></property>
-				  <property name="y_options"></property>
-				</packing>
-			      </child>
-			    </widget>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">True</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="tab_expand">False</property>
-		  <property name="tab_fill">True</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkLabel" id="mouse_label">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">Mouse</property>
-		  <property name="use_underline">False</property>
-		  <property name="use_markup">False</property>
-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0.5</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		  <property name="width_chars">-1</property>
-		  <property name="single_line_mode">False</property>
-		  <property name="angle">0</property>
-		</widget>
-		<packing>
-		  <property name="type">tab</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkVBox" id="playlist_page_vbox">
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">0</property>
-
-		  <child>
-		    <widget class="GtkVBox" id="vbox15">
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">0</property>
-
-		      <child>
-			<widget class="GtkAlignment" id="alignment14">
-			  <property name="visible">True</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xscale">1</property>
-			  <property name="yscale">1</property>
-			  <property name="top_padding">0</property>
-			  <property name="bottom_padding">12</property>
-			  <property name="left_padding">0</property>
-			  <property name="right_padding">0</property>
-
-			  <child>
-			    <widget class="GtkLabel" id="label38">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">&lt;b&gt;Filename&lt;/b&gt;</property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">True</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
-			      <property name="xalign">0</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			      <property name="width_chars">-1</property>
-			      <property name="single_line_mode">False</property>
-			      <property name="angle">0</property>
-			    </widget>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkAlignment" id="alignment12">
-			  <property name="visible">True</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xscale">1</property>
-			  <property name="yscale">1</property>
-			  <property name="top_padding">0</property>
-			  <property name="bottom_padding">0</property>
-			  <property name="left_padding">12</property>
-			  <property name="right_padding">0</property>
-
-			  <child>
-			    <widget class="GtkCheckButton" id="playlist_convert_underscore">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">Convert underscores to blanks</property>
-			      <property name="use_underline">True</property>
-			      <property name="relief">GTK_RELIEF_NORMAL</property>
-			      <property name="focus_on_click">True</property>
-			      <property name="active">False</property>
-			      <property name="inconsistent">False</property>
-			      <property name="draw_indicator">True</property>
-			      <signal name="toggled" handler="on_playlist_convert_underscore_toggled"/>
-			      <signal name="realize" handler="on_playlist_convert_underscore_realize" after="yes"/>
-			    </widget>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkAlignment" id="alignment13">
-			  <property name="visible">True</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xscale">1</property>
-			  <property name="yscale">1</property>
-			  <property name="top_padding">0</property>
-			  <property name="bottom_padding">0</property>
-			  <property name="left_padding">12</property>
-			  <property name="right_padding">0</property>
-
-			  <child>
-			    <widget class="GtkCheckButton" id="playlist_convert_twenty">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">Convert %20 to blanks</property>
-			      <property name="use_underline">True</property>
-			      <property name="relief">GTK_RELIEF_NORMAL</property>
-			      <property name="focus_on_click">True</property>
-			      <property name="active">False</property>
-			      <property name="inconsistent">False</property>
-			      <property name="draw_indicator">True</property>
-			      <signal name="toggled" handler="on_playlist_convert_twenty_toggled"/>
-			      <signal name="realize" handler="on_playlist_convert_twenty_realize" after="yes"/>
-			    </widget>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkAlignment" id="alignment88">
-			  <property name="visible">True</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xscale">1</property>
-			  <property name="yscale">1</property>
-			  <property name="top_padding">0</property>
-			  <property name="bottom_padding">0</property>
-			  <property name="left_padding">12</property>
-			  <property name="right_padding">0</property>
-
-			  <child>
-			    <widget class="GtkCheckButton" id="playlist_convert_slash">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">Convert backslash '\' to forward slash '/'</property>
-			      <property name="use_underline">True</property>
-			      <property name="relief">GTK_RELIEF_NORMAL</property>
-			      <property name="focus_on_click">True</property>
-			      <property name="active">False</property>
-			      <property name="inconsistent">False</property>
-			      <property name="draw_indicator">True</property>
-			      <signal name="toggled" handler="on_playlist_convert_slash_toggled"/>
-			      <signal name="realize" handler="on_playlist_convert_slash_realize" after="yes"/>
-			    </widget>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkAlignment" id="alignment15">
-			  <property name="visible">True</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xscale">1</property>
-			  <property name="yscale">1</property>
-			  <property name="top_padding">12</property>
-			  <property name="bottom_padding">12</property>
-			  <property name="left_padding">0</property>
-			  <property name="right_padding">0</property>
-
-			  <child>
-			    <widget class="GtkLabel" id="label39">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">&lt;b&gt;Metadata&lt;/b&gt;</property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">True</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
-			      <property name="xalign">0</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			      <property name="width_chars">-1</property>
-			      <property name="single_line_mode">False</property>
-			      <property name="angle">0</property>
-			    </widget>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkAlignment" id="alignment16">
-			  <property name="visible">True</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xscale">1</property>
-			  <property name="yscale">1</property>
-			  <property name="top_padding">0</property>
-			  <property name="bottom_padding">0</property>
-			  <property name="left_padding">12</property>
-			  <property name="right_padding">0</property>
-
-			  <child>
-			    <widget class="GtkCheckButton" id="playlist_use_metadata">
-			      <property name="visible">True</property>
-			      <property name="tooltip" translatable="yes">Load metadata (tag information) from music files.</property>
-			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">Load metadata from playlists and files</property>
-			      <property name="use_underline">True</property>
-			      <property name="relief">GTK_RELIEF_NORMAL</property>
-			      <property name="focus_on_click">True</property>
-			      <property name="active">False</property>
-			      <property name="inconsistent">False</property>
-			      <property name="draw_indicator">True</property>
-			    </widget>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkAlignment" id="alignment18">
-			  <property name="visible">True</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xscale">1</property>
-			  <property name="yscale">1</property>
-			  <property name="top_padding">0</property>
-			  <property name="bottom_padding">0</property>
-			  <property name="left_padding">24</property>
-			  <property name="right_padding">0</property>
-
-			  <child>
-			    <widget class="GtkVBox" id="playlist_use_metadata_box">
-			      <property name="visible">True</property>
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">0</property>
-
-			      <child>
-				<widget class="GtkRadioButton" id="playlist_metadata_on_load">
-				  <property name="visible">True</property>
-				  <property name="tooltip" translatable="yes">Load metadata when adding the file to the playlist or opening it</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">On load</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_pl_metadata_on_load_toggled"/>
-				  <signal name="realize" handler="on_pl_metadata_on_load_realize" after="yes"/>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkRadioButton" id="playlist_metadata_on_display">
-				  <property name="visible">True</property>
-				  <property name="tooltip" translatable="yes">Load metadata on demand when displaying the file in the playlist. You may need to set &quot;Detect file formats on demand&quot; in Audio page for full benefit.</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">On display</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <property name="group">playlist_metadata_on_load</property>
-				  <signal name="toggled" handler="on_pl_metadata_on_display_toggled"/>
-				  <signal name="realize" handler="on_pl_metadata_on_display_realize" after="yes"/>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkTable" id="table10">
-				  <property name="visible">True</property>
-				  <property name="n_rows">2</property>
-				  <property name="n_columns">2</property>
-				  <property name="homogeneous">False</property>
-				  <property name="row_spacing">0</property>
-				  <property name="column_spacing">0</property>
-
-				  <child>
-				    <widget class="GtkLabel" id="label73">
-				      <property name="visible">True</property>
-				      <property name="label" translatable="yes">Auto character encoding detector for:</property>
-				      <property name="use_underline">False</property>
-				      <property name="use_markup">False</property>
-				      <property name="justify">GTK_JUSTIFY_RIGHT</property>
-				      <property name="wrap">False</property>
-				      <property name="selectable">False</property>
-				      <property name="xalign">1</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xpad">0</property>
-				      <property name="ypad">0</property>
-				      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				      <property name="width_chars">-1</property>
-				      <property name="single_line_mode">False</property>
-				      <property name="angle">0</property>
-				    </widget>
-				    <packing>
-				      <property name="left_attach">0</property>
-				      <property name="right_attach">1</property>
-				      <property name="top_attach">0</property>
-				      <property name="bottom_attach">1</property>
-				      <property name="x_options"></property>
-				      <property name="y_options"></property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkComboBox" id="combobox1">
-				      <property name="visible">True</property>
-				      <property name="items" translatable="yes"></property>
-				      <property name="add_tearoffs">False</property>
-				      <property name="focus_on_click">True</property>
-				      <signal name="realize" handler="on_chardet_detector_cbox_realize" after="yes"/>
-				    </widget>
-				    <packing>
-				      <property name="left_attach">1</property>
-				      <property name="right_attach">2</property>
-				      <property name="top_attach">0</property>
-				      <property name="bottom_attach">1</property>
-				      <property name="y_options"></property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkEntry" id="entry1">
-				      <property name="visible">True</property>
-				      <property name="tooltip" translatable="yes">List of character encodings used for fall back conversion of metadata. If automatic character encoding detector failed or has been disabled, encodings in this list would be treated as candidates of the encoding of metadata, and fall back conversion from these encodings to UTF-8 would be attempted.</property>
-				      <property name="can_focus">True</property>
-				      <property name="editable">True</property>
-				      <property name="visibility">True</property>
-				      <property name="max_length">0</property>
-				      <property name="text" translatable="yes"></property>
-				      <property name="has_frame">True</property>
-				      <property name="invisible_char">*</property>
-				      <property name="activates_default">False</property>
-				      <signal name="changed" handler="on_chardet_fallback_changed"/>
-				      <signal name="realize" handler="on_chardet_fallback_realize" after="yes"/>
-				    </widget>
-				    <packing>
-				      <property name="left_attach">1</property>
-				      <property name="right_attach">2</property>
-				      <property name="top_attach">1</property>
-				      <property name="bottom_attach">2</property>
-				      <property name="y_options"></property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkLabel" id="label74">
-				      <property name="visible">True</property>
-				      <property name="label" translatable="yes">Fallback character encodings:</property>
-				      <property name="use_underline">False</property>
-				      <property name="use_markup">False</property>
-				      <property name="justify">GTK_JUSTIFY_RIGHT</property>
-				      <property name="wrap">False</property>
-				      <property name="selectable">False</property>
-				      <property name="xalign">1</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xpad">0</property>
-				      <property name="ypad">0</property>
-				      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				      <property name="width_chars">-1</property>
-				      <property name="single_line_mode">False</property>
-				      <property name="angle">0</property>
-				    </widget>
-				    <packing>
-				      <property name="left_attach">0</property>
-				      <property name="right_attach">1</property>
-				      <property name="top_attach">1</property>
-				      <property name="bottom_attach">2</property>
-				      <property name="x_options"></property>
-				      <property name="y_options"></property>
-				    </packing>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">True</property>
-				  <property name="fill">True</property>
-				</packing>
-			      </child>
-			    </widget>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkAlignment" id="alignment19">
-			  <property name="visible">True</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xscale">1</property>
-			  <property name="yscale">1</property>
-			  <property name="top_padding">12</property>
-			  <property name="bottom_padding">12</property>
-			  <property name="left_padding">0</property>
-			  <property name="right_padding">0</property>
-
-			  <child>
-			    <widget class="GtkLabel" id="label40">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">&lt;b&gt;File Dialog&lt;/b&gt;</property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">True</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
-			      <property name="xalign">0</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			      <property name="width_chars">-1</property>
-			      <property name="single_line_mode">False</property>
-			      <property name="angle">0</property>
-			    </widget>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkAlignment" id="alignment20">
-			  <property name="visible">True</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xscale">1</property>
-			  <property name="yscale">1</property>
-			  <property name="top_padding">0</property>
-			  <property name="bottom_padding">0</property>
-			  <property name="left_padding">12</property>
-			  <property name="right_padding">0</property>
-
-			  <child>
-			    <widget class="GtkCheckButton" id="refresh_file_list">
-			      <property name="visible">True</property>
-			      <property name="tooltip" translatable="yes">Always refresh the file dialog (this will slow opening the dialog on large directories, and Gnome VFS should handle automatically).</property>
-			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">Always refresh directory when opening file dialog</property>
-			      <property name="use_underline">True</property>
-			      <property name="relief">GTK_RELIEF_NORMAL</property>
-			      <property name="focus_on_click">True</property>
-			      <property name="active">False</property>
-			      <property name="inconsistent">False</property>
-			      <property name="draw_indicator">True</property>
-			      <signal name="toggled" handler="on_refresh_file_list_toggled"/>
-			      <signal name="realize" handler="on_refresh_file_list_realize" after="yes"/>
-			    </widget>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkAlignment" id="alignment55">
-			  <property name="visible">True</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xscale">1</property>
-			  <property name="yscale">1</property>
-			  <property name="top_padding">12</property>
-			  <property name="bottom_padding">12</property>
-			  <property name="left_padding">0</property>
-			  <property name="right_padding">0</property>
-
-			  <child>
-			    <widget class="GtkLabel" id="label60">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">&lt;b&gt;Song Display&lt;/b&gt;</property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">True</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
-			      <property name="xalign">0</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			      <property name="width_chars">-1</property>
-			      <property name="single_line_mode">False</property>
-			      <property name="angle">0</property>
-			    </widget>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkAlignment" id="alignment56">
-			  <property name="visible">True</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xscale">1</property>
-			  <property name="yscale">1</property>
-			  <property name="top_padding">0</property>
-			  <property name="bottom_padding">0</property>
-			  <property name="left_padding">12</property>
-			  <property name="right_padding">0</property>
-
-			  <child>
-			    <widget class="GtkTable" id="table6">
-			      <property name="visible">True</property>
-			      <property name="n_rows">2</property>
-			      <property name="n_columns">3</property>
-			      <property name="homogeneous">False</property>
-			      <property name="row_spacing">4</property>
-			      <property name="column_spacing">12</property>
-
-			      <child>
-				<widget class="GtkButton" id="titlestring_help_button">
-				  <property name="visible">True</property>
-				  <property name="tooltip" translatable="yes">Show information about titlestring format</property>
-				  <property name="relief">GTK_RELIEF_HALF</property>
-				  <property name="focus_on_click">False</property>
-
-				  <child>
-				    <widget class="GtkImage" id="image1">
-				      <property name="visible">True</property>
-				      <property name="stock">gtk-index</property>
-				      <property name="icon_size">4</property>
-				      <property name="xalign">0.5</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xpad">0</property>
-				      <property name="ypad">0</property>
-				    </widget>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="left_attach">2</property>
-				  <property name="right_attach">3</property>
-				  <property name="top_attach">1</property>
-				  <property name="bottom_attach">2</property>
-				  <property name="x_options"></property>
-				  <property name="y_options"></property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkComboBox" id="titlestring_cbox">
-				  <property name="visible">True</property>
-				  <property name="items" translatable="yes">TITLE
-ARTIST - TITLE
-ARTIST - ALBUM - TITLE
-ARTIST - ALBUM - TRACK. TITLE
-ARTIST [ ALBUM ] - TRACK. TITLE
-ALBUM - TITLE
-Custom</property>
-				  <property name="add_tearoffs">False</property>
-				  <property name="focus_on_click">True</property>
-				</widget>
-				<packing>
-				  <property name="left_attach">1</property>
-				  <property name="right_attach">3</property>
-				  <property name="top_attach">0</property>
-				  <property name="bottom_attach">1</property>
-				  <property name="y_options"></property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkEntry" id="titlestring_entry">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="editable">True</property>
-				  <property name="visibility">True</property>
-				  <property name="max_length">0</property>
-				  <property name="text" translatable="yes"></property>
-				  <property name="has_frame">True</property>
-				  <property name="invisible_char">*</property>
-				  <property name="activates_default">False</property>
-				  <signal name="changed" handler="on_titlestring_entry_changed"/>
-				  <signal name="realize" handler="on_titlestring_entry_realize" after="yes"/>
-				</widget>
-				<packing>
-				  <property name="left_attach">1</property>
-				  <property name="right_attach">2</property>
-				  <property name="top_attach">1</property>
-				  <property name="bottom_attach">2</property>
-				  <property name="y_options"></property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkLabel" id="label62">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">Custom string:</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_RIGHT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">1</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-				<packing>
-				  <property name="left_attach">0</property>
-				  <property name="right_attach">1</property>
-				  <property name="top_attach">1</property>
-				  <property name="bottom_attach">2</property>
-				  <property name="x_options"></property>
-				  <property name="y_options"></property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkLabel" id="label61">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">Title format:</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_RIGHT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">1</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-				<packing>
-				  <property name="left_attach">0</property>
-				  <property name="right_attach">1</property>
-				  <property name="top_attach">0</property>
-				  <property name="bottom_attach">1</property>
-				  <property name="x_options"></property>
-				  <property name="y_options"></property>
-				</packing>
-			      </child>
-			    </widget>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkAlignment" id="alignment85">
-			  <property name="visible">True</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xscale">1</property>
-			  <property name="yscale">1</property>
-			  <property name="top_padding">12</property>
-			  <property name="bottom_padding">12</property>
-			  <property name="left_padding">0</property>
-			  <property name="right_padding">0</property>
-
-			  <child>
-			    <widget class="GtkLabel" id="label84">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">&lt;b&gt;Popup Information&lt;/b&gt;</property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">True</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
-			      <property name="xalign">0</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			      <property name="width_chars">-1</property>
-			      <property name="single_line_mode">False</property>
-			      <property name="angle">0</property>
-			    </widget>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkAlignment" id="alignment86">
-			  <property name="visible">True</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xscale">1</property>
-			  <property name="yscale">1</property>
-			  <property name="top_padding">0</property>
-			  <property name="bottom_padding">0</property>
-			  <property name="left_padding">12</property>
-			  <property name="right_padding">0</property>
-
-			  <child>
-			    <widget class="GtkHBox" id="hbox9">
-			      <property name="visible">True</property>
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">12</property>
-
-			      <child>
-				<widget class="GtkVBox" id="vbox34">
-				  <property name="visible">True</property>
-				  <property name="homogeneous">False</property>
-				  <property name="spacing">0</property>
-
-				  <child>
-				    <widget class="GtkCheckButton" id="checkbutton10">
-				      <property name="visible">True</property>
-				      <property name="tooltip" translatable="yes">Toggles popup information window for the pointed entry in the playlist. The window shows title of song, name of album, genre, year of publish, track number, track length, and artwork.</property>
-				      <property name="can_focus">True</property>
-				      <property name="label" translatable="yes">Show popup information for playlist entries</property>
-				      <property name="use_underline">True</property>
-				      <property name="relief">GTK_RELIEF_NORMAL</property>
-				      <property name="focus_on_click">True</property>
-				      <property name="active">False</property>
-				      <property name="inconsistent">False</property>
-				      <property name="draw_indicator">True</property>
-				      <signal name="toggled" handler="on_show_filepopup_for_tuple_toggled"/>
-				      <signal name="realize" handler="on_show_filepopup_for_tuple_realize" after="yes"/>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">True</property>
-				      <property name="fill">False</property>
-				    </packing>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">True</property>
-				  <property name="fill">True</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkButton" id="filepopup_for_tuple_settings_button">
-				  <property name="visible">True</property>
-				  <property name="tooltip" translatable="yes">Edit settings for popup information</property>
-				  <property name="relief">GTK_RELIEF_HALF</property>
-				  <property name="focus_on_click">True</property>
-				  <signal name="clicked" handler="on_filepopup_for_tuple_settings_clicked"/>
-
-				  <child>
-				    <widget class="GtkImage" id="image8">
-				      <property name="visible">True</property>
-				      <property name="stock">gtk-properties</property>
-				      <property name="icon_size">4</property>
-				      <property name="xalign">0.5</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xpad">0</property>
-				      <property name="ypad">0</property>
-				    </widget>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-			    </widget>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">True</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="tab_expand">False</property>
-		  <property name="tab_fill">True</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkLabel" id="playlist_label">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">Playlist</property>
-		  <property name="use_underline">False</property>
-		  <property name="use_markup">False</property>
-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0.5</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		  <property name="width_chars">-1</property>
-		  <property name="single_line_mode">False</property>
-		  <property name="angle">0</property>
-		</widget>
-		<packing>
-		  <property name="type">tab</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkVBox" id="equalizer_page_vbox">
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">0</property>
-
-		  <child>
-		    <widget class="GtkAlignment" id="alignment28">
-		      <property name="visible">True</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xscale">1</property>
-		      <property name="yscale">1</property>
-		      <property name="top_padding">0</property>
-		      <property name="bottom_padding">0</property>
-		      <property name="left_padding">0</property>
-		      <property name="right_padding">0</property>
-
-		      <child>
-			<widget class="GtkVBox" id="vbox22">
-			  <property name="visible">True</property>
-			  <property name="homogeneous">False</property>
-			  <property name="spacing">0</property>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment30">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xscale">1</property>
-			      <property name="yscale">1</property>
-			      <property name="top_padding">0</property>
-			      <property name="bottom_padding">12</property>
-			      <property name="left_padding">0</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkLabel" id="equalizer_page_label">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">&lt;b&gt;Presets&lt;/b&gt;</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">True</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkVBox" id="vbox23">
-			      <property name="visible">True</property>
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">0</property>
-
-			      <child>
-				<widget class="GtkAlignment" id="alignment33">
-				  <property name="visible">True</property>
-				  <property name="xalign">0.5</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xscale">1</property>
-				  <property name="yscale">1</property>
-				  <property name="top_padding">0</property>
-				  <property name="bottom_padding">12</property>
-				  <property name="left_padding">0</property>
-				  <property name="right_padding">0</property>
-
-				  <child>
-				    <widget class="GtkTable" id="table5">
-				      <property name="visible">True</property>
-				      <property name="n_rows">2</property>
-				      <property name="n_columns">2</property>
-				      <property name="homogeneous">False</property>
-				      <property name="row_spacing">6</property>
-				      <property name="column_spacing">6</property>
-
-				      <child>
-					<widget class="GtkLabel" id="label58">
-					  <property name="visible">True</property>
-					  <property name="label" translatable="yes">File preset extension:</property>
-					  <property name="use_underline">False</property>
-					  <property name="use_markup">False</property>
-					  <property name="justify">GTK_JUSTIFY_LEFT</property>
-					  <property name="wrap">False</property>
-					  <property name="selectable">False</property>
-					  <property name="xalign">0</property>
-					  <property name="yalign">0.5</property>
-					  <property name="xpad">0</property>
-					  <property name="ypad">0</property>
-					  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-					  <property name="width_chars">-1</property>
-					  <property name="single_line_mode">False</property>
-					  <property name="angle">0</property>
-					</widget>
-					<packing>
-					  <property name="left_attach">0</property>
-					  <property name="right_attach">1</property>
-					  <property name="top_attach">1</property>
-					  <property name="bottom_attach">2</property>
-					  <property name="x_options"></property>
-					  <property name="y_options"></property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkLabel" id="label57">
-					  <property name="visible">True</property>
-					  <property name="label" translatable="yes">Directory preset file:</property>
-					  <property name="use_underline">False</property>
-					  <property name="use_markup">False</property>
-					  <property name="justify">GTK_JUSTIFY_LEFT</property>
-					  <property name="wrap">False</property>
-					  <property name="selectable">False</property>
-					  <property name="xalign">0</property>
-					  <property name="yalign">0.5</property>
-					  <property name="xpad">0</property>
-					  <property name="ypad">0</property>
-					  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-					  <property name="width_chars">-1</property>
-					  <property name="single_line_mode">False</property>
-					  <property name="angle">0</property>
-					</widget>
-					<packing>
-					  <property name="left_attach">0</property>
-					  <property name="right_attach">1</property>
-					  <property name="top_attach">0</property>
-					  <property name="bottom_attach">1</property>
-					  <property name="x_options"></property>
-					  <property name="y_options"></property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkEntry" id="eq_file_preset_entry">
-					  <property name="visible">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="editable">True</property>
-					  <property name="visibility">True</property>
-					  <property name="max_length">0</property>
-					  <property name="text" translatable="yes"></property>
-					  <property name="has_frame">True</property>
-					  <property name="invisible_char">*</property>
-					  <property name="activates_default">False</property>
-					  <signal name="changed" handler="on_eq_file_preset_entry_changed"/>
-					  <signal name="realize" handler="on_eq_file_preset_entry_realize"/>
-					</widget>
-					<packing>
-					  <property name="left_attach">1</property>
-					  <property name="right_attach">2</property>
-					  <property name="top_attach">1</property>
-					  <property name="bottom_attach">2</property>
-					  <property name="y_options"></property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkEntry" id="eq_dir_preset_entry">
-					  <property name="visible">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="editable">True</property>
-					  <property name="visibility">True</property>
-					  <property name="max_length">0</property>
-					  <property name="text" translatable="yes"></property>
-					  <property name="has_frame">True</property>
-					  <property name="invisible_char">*</property>
-					  <property name="activates_default">False</property>
-					  <signal name="changed" handler="on_eq_dir_preset_entry_changed"/>
-					  <signal name="realize" handler="on_eq_dir_preset_entry_realize"/>
-					</widget>
-					<packing>
-					  <property name="left_attach">1</property>
-					  <property name="right_attach">2</property>
-					  <property name="top_attach">0</property>
-					  <property name="bottom_attach">1</property>
-					  <property name="y_options"></property>
-					</packing>
-				      </child>
-				    </widget>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkAlignment" id="alignment32">
-				  <property name="visible">True</property>
-				  <property name="xalign">0.5</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xscale">1</property>
-				  <property name="yscale">1</property>
-				  <property name="top_padding">0</property>
-				  <property name="bottom_padding">6</property>
-				  <property name="left_padding">0</property>
-				  <property name="right_padding">0</property>
-
-				  <child>
-				    <widget class="GtkLabel" id="label56">
-				      <property name="label" translatable="yes">Available _Presets:</property>
-				      <property name="use_underline">True</property>
-				      <property name="use_markup">False</property>
-				      <property name="justify">GTK_JUSTIFY_LEFT</property>
-				      <property name="wrap">False</property>
-				      <property name="selectable">False</property>
-				      <property name="xalign">0</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xpad">0</property>
-				      <property name="ypad">0</property>
-				      <property name="mnemonic_widget">category_notebook</property>
-				      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				      <property name="width_chars">-1</property>
-				      <property name="single_line_mode">False</property>
-				      <property name="angle">0</property>
-				    </widget>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkScrolledWindow" id="scrolledwindow8">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-				  <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-				  <property name="shadow_type">GTK_SHADOW_NONE</property>
-				  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-				  <child>
-				    <widget class="GtkTreeView" id="eq_preset_view">
-				      <property name="sensitive">False</property>
-				      <property name="can_focus">True</property>
-				      <property name="headers_visible">True</property>
-				      <property name="rules_hint">False</property>
-				      <property name="reorderable">False</property>
-				      <property name="enable_search">True</property>
-				      <property name="fixed_height_mode">False</property>
-				      <property name="hover_selection">False</property>
-				      <property name="hover_expand">False</property>
-				      <signal name="realize" handler="on_eq_preset_view_realize"/>
-				    </widget>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">True</property>
-				  <property name="fill">True</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkHBox" id="hbox3">
-				  <property name="visible">True</property>
-				  <property name="homogeneous">False</property>
-				  <property name="spacing">0</property>
-
-				  <child>
-				    <widget class="GtkHButtonBox" id="eq_preset_button_box">
-				      <property name="sensitive">False</property>
-				      <property name="layout_style">GTK_BUTTONBOX_END</property>
-				      <property name="spacing">6</property>
-
-				      <child>
-					<widget class="GtkButton" id="eq_preset_add">
-					  <property name="visible">True</property>
-					  <property name="can_default">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="label">gtk-add</property>
-					  <property name="use_stock">True</property>
-					  <property name="relief">GTK_RELIEF_NORMAL</property>
-					  <property name="focus_on_click">True</property>
-					  <signal name="clicked" handler="on_eq_preset_add_clicked"/>
-					</widget>
-				      </child>
-
-				      <child>
-					<widget class="GtkButton" id="eq_preset_remove">
-					  <property name="visible">True</property>
-					  <property name="can_default">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="label">gtk-remove</property>
-					  <property name="use_stock">True</property>
-					  <property name="relief">GTK_RELIEF_NORMAL</property>
-					  <property name="focus_on_click">True</property>
-					  <signal name="clicked" handler="on_eq_preset_remove_clicked"/>
-					</widget>
-				      </child>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">True</property>
-				      <property name="fill">True</property>
-				    </packing>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">6</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">True</property>
-			      <property name="fill">True</property>
-			    </packing>
-			  </child>
-			</widget>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">True</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="tab_expand">False</property>
-		  <property name="tab_fill">True</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkLabel" id="equalizer_label">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">Equalizer</property>
-		  <property name="use_underline">False</property>
-		  <property name="use_markup">False</property>
-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0.5</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		  <property name="width_chars">-1</property>
-		  <property name="single_line_mode">False</property>
-		  <property name="angle">0</property>
-		</widget>
-		<packing>
-		  <property name="type">tab</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkVBox" id="connectivity_page_vbox">
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">0</property>
-
-		  <child>
-		    <widget class="GtkVBox" id="vbox29">
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">0</property>
-
-		      <child>
-			<widget class="GtkAlignment" id="alignment63">
-			  <property name="visible">True</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xscale">1</property>
-			  <property name="yscale">1</property>
-			  <property name="top_padding">0</property>
-			  <property name="bottom_padding">12</property>
-			  <property name="left_padding">0</property>
-			  <property name="right_padding">0</property>
-
-			  <child>
-			    <widget class="GtkLabel" id="connectivity_page_label">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">&lt;b&gt;Proxy Configuration&lt;/b&gt;</property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">True</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
-			      <property name="xalign">0</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			      <property name="width_chars">-1</property>
-			      <property name="single_line_mode">False</property>
-			      <property name="angle">0</property>
-			    </widget>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkAlignment" id="alignment68">
-			  <property name="visible">True</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xscale">1</property>
-			  <property name="yscale">1</property>
-			  <property name="top_padding">0</property>
-			  <property name="bottom_padding">0</property>
-			  <property name="left_padding">12</property>
-			  <property name="right_padding">0</property>
-
-			  <child>
-			    <widget class="GtkVBox" id="vbox30">
-			      <property name="visible">True</property>
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">0</property>
-
-			      <child>
-				<widget class="GtkAlignment" id="alignment65">
-				  <property name="visible">True</property>
-				  <property name="xalign">0.5</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xscale">1</property>
-				  <property name="yscale">1</property>
-				  <property name="top_padding">0</property>
-				  <property name="bottom_padding">12</property>
-				  <property name="left_padding">0</property>
-				  <property name="right_padding">0</property>
-
-				  <child>
-				    <widget class="GtkCheckButton" id="proxy_use">
-				      <property name="visible">True</property>
-				      <property name="can_focus">True</property>
-				      <property name="label" translatable="yes">Enable proxy usage</property>
-				      <property name="use_underline">True</property>
-				      <property name="relief">GTK_RELIEF_NORMAL</property>
-				      <property name="focus_on_click">True</property>
-				      <property name="active">False</property>
-				      <property name="inconsistent">False</property>
-				      <property name="draw_indicator">True</property>
-				      <signal name="toggled" handler="on_proxy_use_toggled"/>
-				      <signal name="realize" handler="on_proxy_use_realize"/>
-				    </widget>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkTable" id="table8">
-				  <property name="visible">True</property>
-				  <property name="n_rows">2</property>
-				  <property name="n_columns">2</property>
-				  <property name="homogeneous">False</property>
-				  <property name="row_spacing">6</property>
-				  <property name="column_spacing">6</property>
-
-				  <child>
-				    <widget class="GtkEntry" id="proxy_port">
-				      <property name="visible">True</property>
-				      <property name="can_focus">True</property>
-				      <property name="editable">True</property>
-				      <property name="visibility">True</property>
-				      <property name="max_length">0</property>
-				      <property name="text" translatable="yes"></property>
-				      <property name="has_frame">True</property>
-				      <property name="invisible_char">*</property>
-				      <property name="activates_default">False</property>
-				      <signal name="changed" handler="on_proxy_port_changed"/>
-				      <signal name="realize" handler="on_proxy_port_realize"/>
-				    </widget>
-				    <packing>
-				      <property name="left_attach">1</property>
-				      <property name="right_attach">2</property>
-				      <property name="top_attach">1</property>
-				      <property name="bottom_attach">2</property>
-				      <property name="y_options"></property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkEntry" id="proxy_host">
-				      <property name="visible">True</property>
-				      <property name="can_focus">True</property>
-				      <property name="editable">True</property>
-				      <property name="visibility">True</property>
-				      <property name="max_length">0</property>
-				      <property name="text" translatable="yes"></property>
-				      <property name="has_frame">True</property>
-				      <property name="invisible_char">*</property>
-				      <property name="activates_default">False</property>
-				      <signal name="changed" handler="on_proxy_host_changed"/>
-				      <signal name="realize" handler="on_proxy_host_realize"/>
-				    </widget>
-				    <packing>
-				      <property name="left_attach">1</property>
-				      <property name="right_attach">2</property>
-				      <property name="top_attach">0</property>
-				      <property name="bottom_attach">1</property>
-				      <property name="y_options"></property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkLabel" id="label69">
-				      <property name="visible">True</property>
-				      <property name="label" translatable="yes">Proxy port:</property>
-				      <property name="use_underline">False</property>
-				      <property name="use_markup">False</property>
-				      <property name="justify">GTK_JUSTIFY_LEFT</property>
-				      <property name="wrap">False</property>
-				      <property name="selectable">False</property>
-				      <property name="xalign">0</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xpad">0</property>
-				      <property name="ypad">0</property>
-				      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				      <property name="width_chars">-1</property>
-				      <property name="single_line_mode">False</property>
-				      <property name="angle">0</property>
-				    </widget>
-				    <packing>
-				      <property name="left_attach">0</property>
-				      <property name="right_attach">1</property>
-				      <property name="top_attach">1</property>
-				      <property name="bottom_attach">2</property>
-				      <property name="x_options"></property>
-				      <property name="y_options"></property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkLabel" id="label68">
-				      <property name="visible">True</property>
-				      <property name="label" translatable="yes">Proxy hostname:</property>
-				      <property name="use_underline">False</property>
-				      <property name="use_markup">False</property>
-				      <property name="justify">GTK_JUSTIFY_LEFT</property>
-				      <property name="wrap">False</property>
-				      <property name="selectable">False</property>
-				      <property name="xalign">0</property>
-				      <property name="yalign">0</property>
-				      <property name="xpad">0</property>
-				      <property name="ypad">0</property>
-				      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				      <property name="width_chars">-1</property>
-				      <property name="single_line_mode">False</property>
-				      <property name="angle">0</property>
-				    </widget>
-				    <packing>
-				      <property name="left_attach">0</property>
-				      <property name="right_attach">1</property>
-				      <property name="top_attach">0</property>
-				      <property name="bottom_attach">1</property>
-				      <property name="x_options"></property>
-				      <property name="y_options"></property>
-				    </packing>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkAlignment" id="alignment67">
-				  <property name="visible">True</property>
-				  <property name="xalign">0.5</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xscale">1</property>
-				  <property name="yscale">1</property>
-				  <property name="top_padding">12</property>
-				  <property name="bottom_padding">12</property>
-				  <property name="left_padding">0</property>
-				  <property name="right_padding">0</property>
-
-				  <child>
-				    <widget class="GtkCheckButton" id="proxy_auth">
-				      <property name="visible">True</property>
-				      <property name="can_focus">True</property>
-				      <property name="label" translatable="yes">Use authentication with proxy</property>
-				      <property name="use_underline">True</property>
-				      <property name="relief">GTK_RELIEF_NORMAL</property>
-				      <property name="focus_on_click">True</property>
-				      <property name="active">False</property>
-				      <property name="inconsistent">False</property>
-				      <property name="draw_indicator">True</property>
-				      <signal name="toggled" handler="on_proxy_auth_toggled"/>
-				      <signal name="realize" handler="on_proxy_auth_realize"/>
-				    </widget>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkTable" id="table9">
-				  <property name="visible">True</property>
-				  <property name="n_rows">2</property>
-				  <property name="n_columns">2</property>
-				  <property name="homogeneous">False</property>
-				  <property name="row_spacing">6</property>
-				  <property name="column_spacing">6</property>
-
-				  <child>
-				    <widget class="GtkEntry" id="proxy_pass">
-				      <property name="visible">True</property>
-				      <property name="can_focus">True</property>
-				      <property name="editable">True</property>
-				      <property name="visibility">False</property>
-				      <property name="max_length">0</property>
-				      <property name="text" translatable="yes"></property>
-				      <property name="has_frame">True</property>
-				      <property name="invisible_char">*</property>
-				      <property name="activates_default">False</property>
-				      <signal name="changed" handler="on_proxy_pass_changed"/>
-				      <signal name="realize" handler="on_proxy_pass_realize"/>
-				    </widget>
-				    <packing>
-				      <property name="left_attach">1</property>
-				      <property name="right_attach">2</property>
-				      <property name="top_attach">1</property>
-				      <property name="bottom_attach">2</property>
-				      <property name="y_options"></property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkEntry" id="proxy_user">
-				      <property name="visible">True</property>
-				      <property name="can_focus">True</property>
-				      <property name="editable">True</property>
-				      <property name="visibility">True</property>
-				      <property name="max_length">0</property>
-				      <property name="text" translatable="yes"></property>
-				      <property name="has_frame">True</property>
-				      <property name="invisible_char">*</property>
-				      <property name="activates_default">False</property>
-				      <signal name="changed" handler="on_proxy_user_changed"/>
-				      <signal name="realize" handler="on_proxy_user_realize"/>
-				    </widget>
-				    <packing>
-				      <property name="left_attach">1</property>
-				      <property name="right_attach">2</property>
-				      <property name="top_attach">0</property>
-				      <property name="bottom_attach">1</property>
-				      <property name="y_options"></property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkLabel" id="label71">
-				      <property name="visible">True</property>
-				      <property name="label" translatable="yes">Proxy password:</property>
-				      <property name="use_underline">False</property>
-				      <property name="use_markup">False</property>
-				      <property name="justify">GTK_JUSTIFY_LEFT</property>
-				      <property name="wrap">False</property>
-				      <property name="selectable">False</property>
-				      <property name="xalign">0</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xpad">0</property>
-				      <property name="ypad">0</property>
-				      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				      <property name="width_chars">-1</property>
-				      <property name="single_line_mode">False</property>
-				      <property name="angle">0</property>
-				    </widget>
-				    <packing>
-				      <property name="left_attach">0</property>
-				      <property name="right_attach">1</property>
-				      <property name="top_attach">1</property>
-				      <property name="bottom_attach">2</property>
-				      <property name="x_options"></property>
-				      <property name="y_options"></property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkLabel" id="label70">
-				      <property name="visible">True</property>
-				      <property name="label" translatable="yes">Proxy username:</property>
-				      <property name="use_underline">False</property>
-				      <property name="use_markup">False</property>
-				      <property name="justify">GTK_JUSTIFY_LEFT</property>
-				      <property name="wrap">False</property>
-				      <property name="selectable">False</property>
-				      <property name="xalign">0</property>
-				      <property name="yalign">0</property>
-				      <property name="xpad">0</property>
-				      <property name="ypad">0</property>
-				      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				      <property name="width_chars">-1</property>
-				      <property name="single_line_mode">False</property>
-				      <property name="angle">0</property>
-				    </widget>
-				    <packing>
-				      <property name="left_attach">0</property>
-				      <property name="right_attach">1</property>
-				      <property name="top_attach">0</property>
-				      <property name="bottom_attach">1</property>
-				      <property name="x_options"></property>
-				      <property name="y_options"></property>
-				    </packing>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkAlignment" id="alignment72">
-				  <property name="visible">True</property>
-				  <property name="xalign">0.5</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xscale">1</property>
-				  <property name="yscale">1</property>
-				  <property name="top_padding">6</property>
-				  <property name="bottom_padding">0</property>
-				  <property name="left_padding">0</property>
-				  <property name="right_padding">0</property>
-
-				  <child>
-				    <widget class="GtkHBox" id="hbox6">
-				      <property name="visible">True</property>
-				      <property name="homogeneous">False</property>
-				      <property name="spacing">0</property>
-
-				      <child>
-					<widget class="GtkImage" id="image4">
-					  <property name="visible">True</property>
-					  <property name="stock">gtk-dialog-warning</property>
-					  <property name="icon_size">4</property>
-					  <property name="xalign">0.5</property>
-					  <property name="yalign">0.5</property>
-					  <property name="xpad">3</property>
-					  <property name="ypad">0</property>
-					</widget>
-					<packing>
-					  <property name="padding">0</property>
-					  <property name="expand">False</property>
-					  <property name="fill">False</property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkLabel" id="label75">
-					  <property name="visible">True</property>
-					  <property name="label" translatable="yes">&lt;span size=&quot;small&quot;&gt;Changing these settings will require a restart of Audacious.&lt;/span&gt;</property>
-					  <property name="use_underline">False</property>
-					  <property name="use_markup">True</property>
-					  <property name="justify">GTK_JUSTIFY_LEFT</property>
-					  <property name="wrap">False</property>
-					  <property name="selectable">False</property>
-					  <property name="xalign">0.5</property>
-					  <property name="yalign">0.5</property>
-					  <property name="xpad">0</property>
-					  <property name="ypad">0</property>
-					  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-					  <property name="width_chars">-1</property>
-					  <property name="single_line_mode">False</property>
-					  <property name="angle">0</property>
-					</widget>
-					<packing>
-					  <property name="padding">0</property>
-					  <property name="expand">False</property>
-					  <property name="fill">False</property>
-					</packing>
-				      </child>
-				    </widget>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-			    </widget>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">True</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">True</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="tab_expand">False</property>
-		  <property name="tab_fill">True</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkLabel" id="label95">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes"></property>
-		  <property name="use_underline">False</property>
-		  <property name="use_markup">False</property>
-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0.5</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		  <property name="width_chars">-1</property>
-		  <property name="single_line_mode">False</property>
-		  <property name="angle">0</property>
-		</widget>
-		<packing>
-		  <property name="type">tab</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<placeholder/>
-	      </child>
-
-	      <child>
-		<widget class="GtkLabel" id="label96">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes"></property>
-		  <property name="use_underline">False</property>
-		  <property name="use_markup">False</property>
-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0.5</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		  <property name="width_chars">-1</property>
-		  <property name="single_line_mode">False</property>
-		  <property name="angle">0</property>
-		</widget>
-		<packing>
-		  <property name="type">tab</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkScrolledWindow" id="audio_scrolled_window">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
-		  <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
-		  <property name="shadow_type">GTK_SHADOW_NONE</property>
-		  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-		  <child>
-		    <widget class="GtkViewport" id="audio_page_viewport">
-		      <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="shadow_type">GTK_SHADOW_NONE</property>
-
-		      <child>
-			<widget class="GtkVBox" id="audio_page_vbox">
-			  <property name="visible">True</property>
-			  <property name="homogeneous">False</property>
-			  <property name="spacing">0</property>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment74">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xscale">1</property>
-			      <property name="yscale">1</property>
-			      <property name="top_padding">0</property>
-			      <property name="bottom_padding">12</property>
-			      <property name="left_padding">0</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkLabel" id="label77">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">&lt;b&gt;Audio System&lt;/b&gt;</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">True</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment73">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xscale">1</property>
-			      <property name="yscale">1</property>
-			      <property name="top_padding">0</property>
-			      <property name="bottom_padding">6</property>
-			      <property name="left_padding">12</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkVBox" id="vbox33">
-				  <property name="visible">True</property>
-				  <property name="homogeneous">False</property>
-				  <property name="spacing">0</property>
-
-				  <child>
-				    <widget class="GtkTable" id="table11">
-				      <property name="visible">True</property>
-				      <property name="n_rows">3</property>
-				      <property name="n_columns">2</property>
-				      <property name="homogeneous">False</property>
-				      <property name="row_spacing">6</property>
-				      <property name="column_spacing">6</property>
-
-				      <child>
-					<widget class="GtkImage" id="image7">
-					  <property name="visible">True</property>
-					  <property name="stock">gtk-info</property>
-					  <property name="icon_size">4</property>
-					  <property name="xalign">1</property>
-					  <property name="yalign">0</property>
-					  <property name="xpad">0</property>
-					  <property name="ypad">0</property>
-					</widget>
-					<packing>
-					  <property name="left_attach">0</property>
-					  <property name="right_attach">1</property>
-					  <property name="top_attach">2</property>
-					  <property name="bottom_attach">3</property>
-					  <property name="x_options"></property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkLabel" id="label79">
-					  <property name="visible">True</property>
-					  <property name="label" translatable="yes">Buffer size:</property>
-					  <property name="use_underline">False</property>
-					  <property name="use_markup">False</property>
-					  <property name="justify">GTK_JUSTIFY_LEFT</property>
-					  <property name="wrap">False</property>
-					  <property name="selectable">False</property>
-					  <property name="xalign">1</property>
-					  <property name="yalign">0.5</property>
-					  <property name="xpad">0</property>
-					  <property name="ypad">0</property>
-					  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-					  <property name="width_chars">-1</property>
-					  <property name="single_line_mode">False</property>
-					  <property name="angle">0</property>
-					</widget>
-					<packing>
-					  <property name="left_attach">0</property>
-					  <property name="right_attach">1</property>
-					  <property name="top_attach">1</property>
-					  <property name="bottom_attach">2</property>
-					  <property name="y_options"></property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkLabel" id="label82">
-					  <property name="visible">True</property>
-					  <property name="label" translatable="yes">&lt;span size=&quot;small&quot;&gt;This is the amount of time to prebuffer audio streams by, in milliseconds.
-Increase this value if you are experiencing audio skipping.
-Please note however, that high values will result in Audacious performing poorly.&lt;/span&gt;</property>
-					  <property name="use_underline">False</property>
-					  <property name="use_markup">True</property>
-					  <property name="justify">GTK_JUSTIFY_LEFT</property>
-					  <property name="wrap">True</property>
-					  <property name="selectable">False</property>
-					  <property name="xalign">0</property>
-					  <property name="yalign">0.5</property>
-					  <property name="xpad">0</property>
-					  <property name="ypad">0</property>
-					  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-					  <property name="width_chars">-1</property>
-					  <property name="single_line_mode">False</property>
-					  <property name="angle">0</property>
-					</widget>
-					<packing>
-					  <property name="left_attach">1</property>
-					  <property name="right_attach">2</property>
-					  <property name="top_attach">2</property>
-					  <property name="bottom_attach">3</property>
-					  <property name="x_options"></property>
-					  <property name="y_options"></property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkSpinButton" id="output_plugin_bufsize">
-					  <property name="visible">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="climb_rate">1</property>
-					  <property name="digits">0</property>
-					  <property name="numeric">False</property>
-					  <property name="update_policy">GTK_UPDATE_ALWAYS</property>
-					  <property name="snap_to_ticks">False</property>
-					  <property name="wrap">False</property>
-					  <property name="adjustment">0 0 600000 100 1000 1000</property>
-					  <signal name="value_changed" handler="on_output_plugin_bufsize_value_changed"/>
-					  <signal name="realize" handler="on_output_plugin_bufsize_realize" after="yes"/>
-					</widget>
-					<packing>
-					  <property name="left_attach">1</property>
-					  <property name="right_attach">2</property>
-					  <property name="top_attach">1</property>
-					  <property name="bottom_attach">2</property>
-					  <property name="y_options"></property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkComboBox" id="output_plugin_cbox">
-					  <property name="visible">True</property>
-					  <property name="items" translatable="yes"></property>
-					  <property name="add_tearoffs">False</property>
-					  <property name="focus_on_click">True</property>
-					  <signal name="realize" handler="on_output_plugin_cbox_realize" after="yes"/>
-					</widget>
-					<packing>
-					  <property name="left_attach">1</property>
-					  <property name="right_attach">2</property>
-					  <property name="top_attach">0</property>
-					  <property name="bottom_attach">1</property>
-					  <property name="y_options"></property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkLabel" id="label78">
-					  <property name="visible">True</property>
-					  <property name="label" translatable="yes">Current output plugin:</property>
-					  <property name="use_underline">False</property>
-					  <property name="use_markup">False</property>
-					  <property name="justify">GTK_JUSTIFY_LEFT</property>
-					  <property name="wrap">False</property>
-					  <property name="selectable">False</property>
-					  <property name="xalign">0</property>
-					  <property name="yalign">0.5</property>
-					  <property name="xpad">0</property>
-					  <property name="ypad">0</property>
-					  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-					  <property name="width_chars">-1</property>
-					  <property name="single_line_mode">False</property>
-					  <property name="angle">0</property>
-					</widget>
-					<packing>
-					  <property name="left_attach">0</property>
-					  <property name="right_attach">1</property>
-					  <property name="top_attach">0</property>
-					  <property name="bottom_attach">1</property>
-					  <property name="x_options"></property>
-					  <property name="y_options"></property>
-					</packing>
-				      </child>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">False</property>
-				      <property name="fill">False</property>
-				    </packing>
-				  </child>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment82">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xscale">1</property>
-			      <property name="yscale">1</property>
-			      <property name="top_padding">0</property>
-			      <property name="bottom_padding">0</property>
-			      <property name="left_padding">12</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkHButtonBox" id="output_plugin_button_box">
-				  <property name="visible">True</property>
-				  <property name="layout_style">GTK_BUTTONBOX_START</property>
-				  <property name="spacing">8</property>
-
-				  <child>
-				    <widget class="GtkButton" id="output_plugin_prefs">
-				      <property name="visible">True</property>
-				      <property name="sensitive">False</property>
-				      <property name="can_default">True</property>
-				      <property name="can_focus">True</property>
-				      <property name="relief">GTK_RELIEF_NORMAL</property>
-				      <property name="focus_on_click">True</property>
-
-				      <child>
-					<widget class="GtkAlignment" id="alignment76">
-					  <property name="visible">True</property>
-					  <property name="xalign">0.5</property>
-					  <property name="yalign">0.5</property>
-					  <property name="xscale">0</property>
-					  <property name="yscale">0</property>
-					  <property name="top_padding">0</property>
-					  <property name="bottom_padding">0</property>
-					  <property name="left_padding">0</property>
-					  <property name="right_padding">0</property>
-
-					  <child>
-					    <widget class="GtkHBox" id="hbox7">
-					      <property name="visible">True</property>
-					      <property name="homogeneous">False</property>
-					      <property name="spacing">2</property>
-
-					      <child>
-						<widget class="GtkImage" id="image5">
-						  <property name="visible">True</property>
-						  <property name="stock">gtk-preferences</property>
-						  <property name="icon_size">4</property>
-						  <property name="xalign">0.5</property>
-						  <property name="yalign">0.5</property>
-						  <property name="xpad">0</property>
-						  <property name="ypad">0</property>
-						</widget>
-						<packing>
-						  <property name="padding">0</property>
-						  <property name="expand">False</property>
-						  <property name="fill">False</property>
-						</packing>
-					      </child>
-
-					      <child>
-						<widget class="GtkLabel" id="label80">
-						  <property name="visible">True</property>
-						  <property name="label" translatable="yes">Output Plugin Preferences</property>
-						  <property name="use_underline">True</property>
-						  <property name="use_markup">False</property>
-						  <property name="justify">GTK_JUSTIFY_LEFT</property>
-						  <property name="wrap">False</property>
-						  <property name="selectable">False</property>
-						  <property name="xalign">0.5</property>
-						  <property name="yalign">0.5</property>
-						  <property name="xpad">0</property>
-						  <property name="ypad">0</property>
-						  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-						  <property name="width_chars">-1</property>
-						  <property name="single_line_mode">False</property>
-						  <property name="angle">0</property>
-						</widget>
-						<packing>
-						  <property name="padding">0</property>
-						  <property name="expand">False</property>
-						  <property name="fill">False</property>
-						</packing>
-					      </child>
-					    </widget>
-					  </child>
-					</widget>
-				      </child>
-				    </widget>
-				  </child>
-
-				  <child>
-				    <widget class="GtkButton" id="output_plugin_info">
-				      <property name="visible">True</property>
-				      <property name="sensitive">False</property>
-				      <property name="can_default">True</property>
-				      <property name="can_focus">True</property>
-				      <property name="relief">GTK_RELIEF_NORMAL</property>
-				      <property name="focus_on_click">True</property>
-
-				      <child>
-					<widget class="GtkAlignment" id="alignment77">
-					  <property name="visible">True</property>
-					  <property name="xalign">0.5</property>
-					  <property name="yalign">0.5</property>
-					  <property name="xscale">0</property>
-					  <property name="yscale">0</property>
-					  <property name="top_padding">0</property>
-					  <property name="bottom_padding">0</property>
-					  <property name="left_padding">0</property>
-					  <property name="right_padding">0</property>
-
-					  <child>
-					    <widget class="GtkHBox" id="hbox8">
-					      <property name="visible">True</property>
-					      <property name="homogeneous">False</property>
-					      <property name="spacing">2</property>
-
-					      <child>
-						<widget class="GtkImage" id="image6">
-						  <property name="visible">True</property>
-						  <property name="stock">gtk-about</property>
-						  <property name="icon_size">4</property>
-						  <property name="xalign">0.5</property>
-						  <property name="yalign">0.5</property>
-						  <property name="xpad">0</property>
-						  <property name="ypad">0</property>
-						</widget>
-						<packing>
-						  <property name="padding">0</property>
-						  <property name="expand">False</property>
-						  <property name="fill">False</property>
-						</packing>
-					      </child>
-
-					      <child>
-						<widget class="GtkLabel" id="label81">
-						  <property name="visible">True</property>
-						  <property name="label" translatable="yes">Output Plugin Information</property>
-						  <property name="use_underline">True</property>
-						  <property name="use_markup">False</property>
-						  <property name="justify">GTK_JUSTIFY_LEFT</property>
-						  <property name="wrap">False</property>
-						  <property name="selectable">False</property>
-						  <property name="xalign">0.5</property>
-						  <property name="yalign">0.5</property>
-						  <property name="xpad">0</property>
-						  <property name="ypad">0</property>
-						  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-						  <property name="width_chars">-1</property>
-						  <property name="single_line_mode">False</property>
-						  <property name="angle">0</property>
-						</widget>
-						<packing>
-						  <property name="padding">0</property>
-						  <property name="expand">False</property>
-						  <property name="fill">False</property>
-						</packing>
-					      </child>
-					    </widget>
-					  </child>
-					</widget>
-				      </child>
-				    </widget>
-				  </child>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment78">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xscale">1</property>
-			      <property name="yscale">1</property>
-			      <property name="top_padding">12</property>
-			      <property name="bottom_padding">12</property>
-			      <property name="left_padding">0</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkLabel" id="label83">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">&lt;b&gt;Format Detection&lt;/b&gt;</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">True</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment84">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xscale">1</property>
-			      <property name="yscale">1</property>
-			      <property name="top_padding">0</property>
-			      <property name="bottom_padding">0</property>
-			      <property name="left_padding">12</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkCheckButton" id="audio_format_det_cb">
-				  <property name="visible">True</property>
-				  <property name="tooltip" translatable="yes">When checked, Audacious will detect file formats on demand. This can result in a messier playlist, but delivers a major speed benefit.</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Detect file formats on demand, instead of immediately.</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_audio_format_det_cb_toggled"/>
-				  <signal name="realize" handler="on_audio_format_det_cb_realize"/>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment89">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xscale">1</property>
-			      <property name="yscale">1</property>
-			      <property name="top_padding">0</property>
-			      <property name="bottom_padding">0</property>
-			      <property name="left_padding">12</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkCheckButton" id="detect_by_extension_cb">
-				  <property name="visible">True</property>
-				  <property name="tooltip" translatable="yes">When checked, Audacious will detect file formats based by extension. Only files with extensions of supported formats will be loaded.</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Detect file formats by extension.</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_detect_by_extension_cb_toggled"/>
-				  <signal name="realize" handler="on_detect_by_extension_cb_realize"/>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment19">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xscale">1</property>
-			      <property name="yscale">1</property>
-			      <property name="top_padding">12</property>
-			      <property name="bottom_padding">12</property>
-			      <property name="left_padding">0</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkLabel" id="label40">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">&lt;b&gt;Playback&lt;/b&gt;</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">True</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment83">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xscale">1</property>
-			      <property name="yscale">1</property>
-			      <property name="top_padding">0</property>
-			      <property name="bottom_padding">0</property>
-			      <property name="left_padding">12</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkCheckButton" id="continue_playback_on_startup">
-				  <property name="visible">True</property>
-				  <property name="tooltip" translatable="yes">When Audacious starts, automatically begin playing from the point where we stopped before.</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Continue playback on startup</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_continue_playback_on_startup_toggled"/>
-				  <signal name="realize" handler="on_continue_playback_on_startup_realize"/>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment79">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xscale">1</property>
-			      <property name="yscale">1</property>
-			      <property name="top_padding">0</property>
-			      <property name="bottom_padding">0</property>
-			      <property name="left_padding">12</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkCheckButton" id="playlist_no_advance">
-				  <property name="visible">True</property>
-				  <property name="tooltip" translatable="yes">When finished playing a song, don't automatically advance to the next.</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Don't advance in the playlist</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_playlist_no_advance_toggled"/>
-				  <signal name="realize" handler="on_playlist_no_advance_realize" after="yes"/>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment80">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xscale">1</property>
-			      <property name="yscale">1</property>
-			      <property name="top_padding">0</property>
-			      <property name="bottom_padding">0</property>
-			      <property name="left_padding">12</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkCheckButton" id="pause_between_songs">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Pause between songs</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment22">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xscale">1</property>
-			      <property name="yscale">1</property>
-			      <property name="top_padding">0</property>
-			      <property name="bottom_padding">0</property>
-			      <property name="left_padding">45</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkHBox" id="pause_between_songs_box">
-				  <property name="visible">True</property>
-				  <property name="homogeneous">False</property>
-				  <property name="spacing">0</property>
-
-				  <child>
-				    <widget class="GtkLabel" id="label41">
-				      <property name="visible">True</property>
-				      <property name="label" translatable="yes">Pause for</property>
-				      <property name="use_underline">False</property>
-				      <property name="use_markup">False</property>
-				      <property name="justify">GTK_JUSTIFY_LEFT</property>
-				      <property name="wrap">False</property>
-				      <property name="selectable">False</property>
-				      <property name="xalign">0.5</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xpad">4</property>
-				      <property name="ypad">0</property>
-				      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				      <property name="width_chars">-1</property>
-				      <property name="single_line_mode">False</property>
-				      <property name="angle">0</property>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">False</property>
-				      <property name="fill">False</property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkSpinButton" id="pause_between_songs_time">
-				      <property name="visible">True</property>
-				      <property name="can_focus">True</property>
-				      <property name="climb_rate">1</property>
-				      <property name="digits">0</property>
-				      <property name="numeric">False</property>
-				      <property name="update_policy">GTK_UPDATE_ALWAYS</property>
-				      <property name="snap_to_ticks">False</property>
-				      <property name="wrap">False</property>
-				      <property name="adjustment">2 0 100 1 10 10</property>
-				      <signal name="value_changed" handler="on_pause_between_songs_time_changed"/>
-				      <signal name="realize" handler="on_pause_between_songs_time_realize" after="yes"/>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">False</property>
-				      <property name="fill">False</property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkLabel" id="label42">
-				      <property name="visible">True</property>
-				      <property name="label" translatable="yes">seconds</property>
-				      <property name="use_underline">False</property>
-				      <property name="use_markup">False</property>
-				      <property name="justify">GTK_JUSTIFY_LEFT</property>
-				      <property name="wrap">False</property>
-				      <property name="selectable">False</property>
-				      <property name="xalign">0.5</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xpad">4</property>
-				      <property name="ypad">0</property>
-				      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				      <property name="width_chars">-1</property>
-				      <property name="single_line_mode">False</property>
-				      <property name="angle">0</property>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">False</property>
-				      <property name="fill">False</property>
-				    </packing>
-				  </child>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment90">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xscale">1</property>
-			      <property name="yscale">1</property>
-			      <property name="top_padding">12</property>
-			      <property name="bottom_padding">12</property>
-			      <property name="left_padding">0</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkLabel" id="label93">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">&lt;b&gt;Sampling Rate Converter&lt;/b&gt;</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">True</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment92">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xscale">1</property>
-			      <property name="yscale">1</property>
-			      <property name="top_padding">0</property>
-			      <property name="bottom_padding">0</property>
-			      <property name="left_padding">12</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkCheckButton" id="enable_src">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Enable Sampling Rate Converter</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">True</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_enable_src_toggled"/>
-				  <signal name="realize" handler="on_enable_src_realize"/>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment91">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xscale">1</property>
-			      <property name="yscale">1</property>
-			      <property name="top_padding">0</property>
-			      <property name="bottom_padding">6</property>
-			      <property name="left_padding">12</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkVBox" id="vbox36">
-				  <property name="visible">True</property>
-				  <property name="homogeneous">False</property>
-				  <property name="spacing">0</property>
-
-				  <child>
-				    <widget class="GtkTable" id="table13">
-				      <property name="visible">True</property>
-				      <property name="n_rows">3</property>
-				      <property name="n_columns">2</property>
-				      <property name="homogeneous">False</property>
-				      <property name="row_spacing">6</property>
-				      <property name="column_spacing">6</property>
-
-				      <child>
-					<widget class="GtkComboBox" id="src_converter_type">
-					  <property name="visible">True</property>
-					  <property name="items" translatable="yes">Best Sinc Interpolation
-Medium Sinc Interpolation
-Fastest Sinc Interpolation
-ZOH Interpolation
-Linear Interpolation</property>
-					  <property name="add_tearoffs">False</property>
-					  <property name="focus_on_click">True</property>
-					  <signal name="changed" handler="on_src_converter_type_changed"/>
-					  <signal name="realize" handler="on_src_converter_type_realize" after="yes"/>
-					</widget>
-					<packing>
-					  <property name="left_attach">1</property>
-					  <property name="right_attach">2</property>
-					  <property name="top_attach">1</property>
-					  <property name="bottom_attach">2</property>
-					  <property name="x_options"></property>
-					  <property name="y_options"></property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkLabel" id="label94">
-					  <property name="visible">True</property>
-					  <property name="label" translatable="yes">Interpolation Engine:</property>
-					  <property name="use_underline">False</property>
-					  <property name="use_markup">False</property>
-					  <property name="justify">GTK_JUSTIFY_LEFT</property>
-					  <property name="wrap">False</property>
-					  <property name="selectable">False</property>
-					  <property name="xalign">0</property>
-					  <property name="yalign">0.5</property>
-					  <property name="xpad">0</property>
-					  <property name="ypad">0</property>
-					  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-					  <property name="width_chars">-1</property>
-					  <property name="single_line_mode">False</property>
-					  <property name="angle">0</property>
-					</widget>
-					<packing>
-					  <property name="left_attach">0</property>
-					  <property name="right_attach">1</property>
-					  <property name="top_attach">1</property>
-					  <property name="bottom_attach">2</property>
-					  <property name="x_options"></property>
-					  <property name="y_options"></property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkLabel" id="label92">
-					  <property name="visible">True</property>
-					  <property name="label" translatable="yes">&lt;span size=&quot;small&quot;&gt;All streams will be converted to this sampling rate.
-This should be the max supported sampling rate of
-the sound card or output plugin.&lt;/span&gt;</property>
-					  <property name="use_underline">False</property>
-					  <property name="use_markup">True</property>
-					  <property name="justify">GTK_JUSTIFY_LEFT</property>
-					  <property name="wrap">True</property>
-					  <property name="selectable">False</property>
-					  <property name="xalign">0</property>
-					  <property name="yalign">0.5</property>
-					  <property name="xpad">0</property>
-					  <property name="ypad">0</property>
-					  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-					  <property name="width_chars">-1</property>
-					  <property name="single_line_mode">False</property>
-					  <property name="angle">0</property>
-					</widget>
-					<packing>
-					  <property name="left_attach">1</property>
-					  <property name="right_attach">2</property>
-					  <property name="top_attach">2</property>
-					  <property name="bottom_attach">3</property>
-					  <property name="x_options"></property>
-					  <property name="y_options"></property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkImage" id="image9">
-					  <property name="visible">True</property>
-					  <property name="stock">gtk-info</property>
-					  <property name="icon_size">4</property>
-					  <property name="xalign">1</property>
-					  <property name="yalign">0</property>
-					  <property name="xpad">0</property>
-					  <property name="ypad">0</property>
-					</widget>
-					<packing>
-					  <property name="left_attach">0</property>
-					  <property name="right_attach">1</property>
-					  <property name="top_attach">2</property>
-					  <property name="bottom_attach">3</property>
-					  <property name="x_options"></property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkSpinButton" id="src_rate">
-					  <property name="visible">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="climb_rate">1</property>
-					  <property name="digits">0</property>
-					  <property name="numeric">False</property>
-					  <property name="update_policy">GTK_UPDATE_ALWAYS</property>
-					  <property name="snap_to_ticks">False</property>
-					  <property name="wrap">False</property>
-					  <property name="adjustment">96000 1000 768000 1000 1000 1000</property>
-					  <signal name="value_changed" handler="on_src_rate_value_changed"/>
-					  <signal name="realize" handler="on_src_rate_realize"/>
-					</widget>
-					<packing>
-					  <property name="left_attach">1</property>
-					  <property name="right_attach">2</property>
-					  <property name="top_attach">0</property>
-					  <property name="bottom_attach">1</property>
-					  <property name="y_options"></property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkLabel" id="label91">
-					  <property name="visible">True</property>
-					  <property name="label" translatable="yes">Sampling Rate [Hz]:</property>
-					  <property name="use_underline">False</property>
-					  <property name="use_markup">False</property>
-					  <property name="justify">GTK_JUSTIFY_LEFT</property>
-					  <property name="wrap">False</property>
-					  <property name="selectable">False</property>
-					  <property name="xalign">0</property>
-					  <property name="yalign">0.5</property>
-					  <property name="xpad">0</property>
-					  <property name="ypad">0</property>
-					  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-					  <property name="width_chars">-1</property>
-					  <property name="single_line_mode">False</property>
-					  <property name="angle">0</property>
-					</widget>
-					<packing>
-					  <property name="left_attach">0</property>
-					  <property name="right_attach">1</property>
-					  <property name="top_attach">0</property>
-					  <property name="bottom_attach">1</property>
-					  <property name="x_options"></property>
-					  <property name="y_options"></property>
-					</packing>
-				      </child>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">False</property>
-				      <property name="fill">False</property>
-				    </packing>
-				  </child>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment4">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xscale">1</property>
-			      <property name="yscale">1</property>
-			      <property name="top_padding">12</property>
-			      <property name="bottom_padding">12</property>
-			      <property name="left_padding">0</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkLabel" id="label2">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">&lt;b&gt;Volume Control&lt;/b&gt;</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">True</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment7">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xscale">1</property>
-			      <property name="yscale">1</property>
-			      <property name="top_padding">0</property>
-			      <property name="bottom_padding">0</property>
-			      <property name="left_padding">12</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkCheckButton" id="software_volume_control">
-				  <property name="visible">True</property>
-				  <property name="tooltip" translatable="yes">Use software volume control. This may be useful for situations where your audio system does not support controlling the playback volume.</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Use software volume control</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_software_volume_control_toggled"/>
-				  <signal name="realize" handler="on_software_volume_control_realize"/>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="tab_expand">True</property>
-		  <property name="tab_fill">True</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkLabel" id="label97">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes"></property>
-		  <property name="use_underline">False</property>
-		  <property name="use_markup">False</property>
-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0.5</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		  <property name="width_chars">-1</property>
-		  <property name="single_line_mode">False</property>
-		  <property name="angle">0</property>
-		</widget>
-		<packing>
-		  <property name="type">tab</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<placeholder/>
-	      </child>
-
-	      <child>
-		<widget class="GtkLabel" id="label98">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes"></property>
-		  <property name="use_underline">False</property>
-		  <property name="use_markup">False</property>
-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0.5</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		  <property name="width_chars">-1</property>
-		  <property name="single_line_mode">False</property>
-		  <property name="angle">0</property>
-		</widget>
-		<packing>
-		  <property name="type">tab</property>
-		</packing>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">True</property>
-	      <property name="fill">True</property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkHSeparator" id="hseparator1">
-	  <property name="visible">True</property>
-	</widget>
-	<packing>
-	  <property name="padding">6</property>
-	  <property name="expand">False</property>
-	  <property name="fill">False</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkHBox" id="hbox4">
-	  <property name="visible">True</property>
-	  <property name="homogeneous">False</property>
-	  <property name="spacing">0</property>
-
-	  <child>
-	    <widget class="GtkLabel" id="audversionlabel">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes"></property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">True</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0.5</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">False</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkHButtonBox" id="prefswin_button_box">
-	      <property name="visible">True</property>
-	      <property name="layout_style">GTK_BUTTONBOX_END</property>
-	      <property name="spacing">6</property>
-
-	      <child>
-		<widget class="GtkButton" id="reload_plugins">
-		  <property name="can_default">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		  <signal name="clicked" handler="on_reload_plugins_clicked"/>
-
-		  <child>
-		    <widget class="GtkAlignment" id="alignment93">
-		      <property name="visible">True</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xscale">0</property>
-		      <property name="yscale">0</property>
-		      <property name="top_padding">0</property>
-		      <property name="bottom_padding">0</property>
-		      <property name="left_padding">0</property>
-		      <property name="right_padding">0</property>
-
-		      <child>
-			<widget class="GtkHBox" id="hbox11">
-			  <property name="visible">True</property>
-			  <property name="homogeneous">False</property>
-			  <property name="spacing">2</property>
-
-			  <child>
-			    <widget class="GtkImage" id="image10">
-			      <property name="visible">True</property>
-			      <property name="stock">gtk-refresh</property>
-			      <property name="icon_size">4</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkLabel" id="label102">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Reload Plugins</property>
-			      <property name="use_underline">True</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			      <property name="width_chars">-1</property>
-			      <property name="single_line_mode">False</property>
-			      <property name="angle">0</property>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-		</widget>
-	      </child>
-
-	      <child>
-		<widget class="GtkButton" id="close">
-		  <property name="visible">True</property>
-		  <property name="can_default">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="label">gtk-close</property>
-		  <property name="use_stock">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		  <signal name="clicked" handler="gtk_widget_hide" object="prefswin"/>
-		  <accelerator key="Escape" modifiers="0" signal="clicked"/>
-		</widget>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">True</property>
-	      <property name="fill">True</property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">False</property>
-	</packing>
-      </child>
-    </widget>
-  </child>
-</widget>
-
-</glade-interface>
--- a/src/audacious/ui_preferences.c	Sat Nov 24 14:48:01 2007 +0100
+++ b/src/audacious/ui_preferences.c	Sat Nov 24 17:09:11 2007 +0100
@@ -27,7 +27,6 @@
 #include <glib.h>
 #include <glib/gi18n.h>
 #include <gtk/gtk.h>
-#include <glade/glade.h>
 #include <string.h>
 #include <stddef.h>
 #include <stdio.h>
@@ -37,8 +36,7 @@
 #include <errno.h>
 #include <sys/types.h>
 #include <sys/stat.h>
-
-#include "glade.h"
+#include <gdk/gdkkeysyms.h>
 
 #include "plugin.h"
 #include "pluginenum.h"
@@ -122,6 +120,12 @@
 GtkWidget *filepopup_settings_showprogressbar;
 GtkWidget *filepopup_settings_delay;
 
+/* prefswin widgets */
+GtkWidget *titlestring_entry;
+GtkWidget *skin_view;
+GtkWidget *skin_refresh_button;
+GtkWidget *filepopup_for_tuple_settings_button;
+
 static Category categories[] = {
     {DATA_DIR "/images/appearance.png", N_("Appearance"), 1},
     {DATA_DIR "/images/audio.png", N_("Audio"), 6},
@@ -176,12 +180,6 @@
 static void create_colorize_settings(void);
 static void prefswin_page_queue_destroy(CategoryQueueEntry *ent);
 
-static GladeXML *
-prefswin_get_xml(void)
-{
-    return GLADE_XML(g_object_get_data(G_OBJECT(prefswin), "glade-xml"));
-}
-
 static void
 change_category(GtkNotebook * notebook,
                 GtkTreeSelection * selection)
@@ -200,14 +198,9 @@
 void
 prefswin_set_category(gint index)
 {
-    GladeXML *xml;
-    GtkWidget *notebook;
-    
     g_return_if_fail(index >= 0 && index < n_categories);
 
-    xml = prefswin_get_xml();
-    notebook = glade_xml_get_widget(xml, "category_view");
-    gtk_notebook_set_current_page(GTK_NOTEBOOK(notebook), index);
+    gtk_notebook_set_current_page(GTK_NOTEBOOK(category_treeview), index);
 }
 
 static void
@@ -448,24 +441,19 @@
                               gpointer data)
 {
     const gchar *separator = " - ";
-    GladeXML *xml;
-    GtkWidget *entry;
     gint item = GPOINTER_TO_INT(data);
     gint pos;
-    
-    xml = prefswin_get_xml();
-    entry = glade_xml_get_widget(xml, "titlestring_entry");
-
-    pos = gtk_editable_get_position(GTK_EDITABLE(entry));
+
+    pos = gtk_editable_get_position(GTK_EDITABLE(titlestring_entry));
 
     /* insert separator as needed */
-    if (g_utf8_strlen(gtk_entry_get_text(GTK_ENTRY(entry)), -1) > 0)
-        editable_insert_text(GTK_EDITABLE(entry), separator, &pos);
-
-    editable_insert_text(GTK_EDITABLE(entry), _(title_field_tags[item].tag),
+    if (g_utf8_strlen(gtk_entry_get_text(GTK_ENTRY(titlestring_entry)), -1) > 0)
+        editable_insert_text(GTK_EDITABLE(titlestring_entry), separator, &pos);
+
+    editable_insert_text(GTK_EDITABLE(titlestring_entry), _(title_field_tags[item].tag),
                          &pos);
 
-    gtk_editable_set_position(GTK_EDITABLE(entry), pos);
+    gtk_editable_set_position(GTK_EDITABLE(titlestring_entry), pos);
 }
 
 static void
@@ -1284,58 +1272,29 @@
 }
 
 
-/* FIXME: implement these */
-
-static void
-on_eq_preset_view_realize(GtkTreeView * treeview,
-                          gpointer data)
-{}
-
-static void
-on_eq_preset_add_clicked(GtkButton * button,
-                         gpointer data)
-{}
-
-static void
-on_eq_preset_remove_clicked(GtkButton * button,
-                            gpointer data)
-{}
-
 static void
 on_skin_refresh_button_clicked(GtkButton * button,
                                gpointer data)
 {
-    GladeXML *xml;
-    GtkWidget *widget, *widget2;
-
     const mode_t mode755 = S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH;
 
     del_directory(bmp_paths[BMP_PATH_SKIN_THUMB_DIR]);
     make_directory(bmp_paths[BMP_PATH_SKIN_THUMB_DIR], mode755);
 
-    xml = prefswin_get_xml();
-
-    widget = glade_xml_get_widget(xml, "skin_view");
-    widget2 = glade_xml_get_widget(xml, "skin_refresh_button");
-    skin_view_update(GTK_TREE_VIEW(widget), GTK_WIDGET(widget2));
+    skin_view_update(GTK_TREE_VIEW(skin_view), GTK_WIDGET(skin_refresh_button));
 }
 
 static gboolean
 on_skin_view_realize(GtkTreeView * treeview,
                      gpointer data)
 {
-    GladeXML *xml;
-    GtkWidget *widget;
-
-    xml = prefswin_get_xml();
-    widget = glade_xml_get_widget(xml, "skin_refresh_button");
     skin_view_realize(treeview);
 
     return TRUE;
 }
 
 static void
-on_category_view_realize(GtkTreeView * treeview,
+on_category_treeview_realize(GtkTreeView * treeview,
                          GtkNotebook * notebook)
 {
     GtkListStore *store;
@@ -1404,9 +1363,6 @@
     ConfigDb *db;
     gchar *path;
 
-    GladeXML *xml;
-    GtkWidget *widget2;
-
     if (!selection_data->data) {
         g_warning("DND data string is NULL");
         return;
@@ -1427,9 +1383,7 @@
     if (file_is_archive(path)) {
         bmp_active_skin_load(path);
         skin_install_skin(path);
-        xml = prefswin_get_xml();
-        widget2 = glade_xml_get_widget(xml, "skin_refresh_button");
-	skin_view_update(GTK_TREE_VIEW(widget), GTK_WIDGET(widget2));
+	skin_view_update(GTK_TREE_VIEW(widget), GTK_WIDGET(skin_refresh_button));
         /* Change skin name in the config file */
         db = cfg_db_open();
         cfg_db_set_string(db, NULL, "skin", path);
@@ -1544,24 +1498,18 @@
 static void
 on_show_filepopup_for_tuple_realize(GtkToggleButton * button, gpointer data)
 {
-    GladeXML *xml = prefswin_get_xml();
-    GtkWidget *settings_button = glade_xml_get_widget(xml, "filepopup_for_tuple_settings_button");
-
     gtk_toggle_button_set_active(button, cfg.show_filepopup_for_tuple);
-    filepopupbutton = (GtkWidget *)button;
-
-    gtk_widget_set_sensitive(settings_button, cfg.show_filepopup_for_tuple);
+    filepopupbutton = GTK_WIDGET(button);
+
+    gtk_widget_set_sensitive(filepopup_for_tuple_settings_button, cfg.show_filepopup_for_tuple);
 }
 
 static void
 on_show_filepopup_for_tuple_toggled(GtkToggleButton * button, gpointer data)
 {
-    GladeXML *xml = prefswin_get_xml();
-    GtkWidget *settings_button = glade_xml_get_widget(xml, "filepopup_for_tuple_settings_button");
-
     cfg.show_filepopup_for_tuple = gtk_toggle_button_get_active(button);
 
-    gtk_widget_set_sensitive(settings_button, cfg.show_filepopup_for_tuple);
+    gtk_widget_set_sensitive(filepopup_for_tuple_settings_button, cfg.show_filepopup_for_tuple);
 }
 
 static void
@@ -1719,110 +1667,6 @@
     //XXX need to redraw textbox? --yaz
 }
 
-/* FIXME: complete the map */
-FUNC_MAP_BEGIN(prefswin_func_map)
-    FUNC_MAP_ENTRY(on_input_plugin_view_realize)
-    FUNC_MAP_ENTRY(on_output_plugin_cbox_realize)
-    FUNC_MAP_ENTRY(on_general_plugin_view_realize)
-    FUNC_MAP_ENTRY(on_vis_plugin_view_realize)
-    FUNC_MAP_ENTRY(on_effect_plugin_view_realize)
-    FUNC_MAP_ENTRY(on_custom_cursors_realize)
-    FUNC_MAP_ENTRY(on_custom_cursors_toggled)
-    FUNC_MAP_ENTRY(on_mainwin_font_button_realize)
-    FUNC_MAP_ENTRY(on_mainwin_font_button_font_set)
-    FUNC_MAP_ENTRY(on_use_bitmap_fonts_realize)
-    FUNC_MAP_ENTRY(on_use_bitmap_fonts_toggled)
-    FUNC_MAP_ENTRY(on_mouse_wheel_volume_realize)
-    FUNC_MAP_ENTRY(on_mouse_wheel_volume_changed)
-    FUNC_MAP_ENTRY(on_mouse_wheel_scroll_pl_realize)
-    FUNC_MAP_ENTRY(on_mouse_wheel_scroll_pl_changed)
-    FUNC_MAP_ENTRY(on_pause_between_songs_time_realize)
-    FUNC_MAP_ENTRY(on_pause_between_songs_time_changed)
-    FUNC_MAP_ENTRY(on_enable_src_realize)
-    FUNC_MAP_ENTRY(on_enable_src_toggled)
-    FUNC_MAP_ENTRY(on_src_rate_realize)
-    FUNC_MAP_ENTRY(on_src_rate_value_changed)
-    FUNC_MAP_ENTRY(on_src_converter_type_realize)
-    FUNC_MAP_ENTRY(on_src_converter_type_changed)
-    FUNC_MAP_ENTRY(on_pl_metadata_on_load_realize)
-    FUNC_MAP_ENTRY(on_pl_metadata_on_load_toggled)
-    FUNC_MAP_ENTRY(on_pl_metadata_on_display_realize)
-    FUNC_MAP_ENTRY(on_pl_metadata_on_display_toggled)
-    FUNC_MAP_ENTRY(on_playlist_show_pl_numbers_realize)
-    FUNC_MAP_ENTRY(on_playlist_show_pl_numbers_toggled)
-    FUNC_MAP_ENTRY(on_playlist_show_pl_separator_realize)
-    FUNC_MAP_ENTRY(on_playlist_show_pl_separator_toggled)
-    FUNC_MAP_ENTRY(on_playlist_convert_twenty_realize)
-    FUNC_MAP_ENTRY(on_playlist_convert_twenty_toggled)
-    FUNC_MAP_ENTRY(on_playlist_convert_underscore_realize)
-    FUNC_MAP_ENTRY(on_playlist_convert_underscore_toggled)
-    FUNC_MAP_ENTRY(on_playlist_convert_slash_realize)
-    FUNC_MAP_ENTRY(on_playlist_convert_slash_toggled)
-    FUNC_MAP_ENTRY(on_playlist_font_button_realize)
-    FUNC_MAP_ENTRY(on_playlist_font_button_font_set)
-    FUNC_MAP_ENTRY(on_playlist_no_advance_realize)
-    FUNC_MAP_ENTRY(on_playlist_no_advance_toggled)
-    FUNC_MAP_ENTRY(on_refresh_file_list_realize)
-    FUNC_MAP_ENTRY(on_refresh_file_list_toggled)
-    FUNC_MAP_ENTRY(on_skin_view_realize)
-    FUNC_MAP_ENTRY(on_titlestring_entry_realize)
-    FUNC_MAP_ENTRY(on_titlestring_entry_changed)
-    FUNC_MAP_ENTRY(on_eq_dir_preset_entry_realize)
-    FUNC_MAP_ENTRY(on_eq_dir_preset_entry_changed)
-    FUNC_MAP_ENTRY(on_eq_file_preset_entry_realize)
-    FUNC_MAP_ENTRY(on_eq_file_preset_entry_changed)
-    FUNC_MAP_ENTRY(on_eq_preset_view_realize)
-    FUNC_MAP_ENTRY(on_eq_preset_add_clicked)
-    FUNC_MAP_ENTRY(on_eq_preset_remove_clicked)
-    FUNC_MAP_ENTRY(on_skin_refresh_button_clicked)
-    FUNC_MAP_ENTRY(on_proxy_use_toggled)
-    FUNC_MAP_ENTRY(on_proxy_use_realize)
-    FUNC_MAP_ENTRY(on_proxy_auth_toggled)
-    FUNC_MAP_ENTRY(on_proxy_auth_realize)
-    FUNC_MAP_ENTRY(on_proxy_host_realize)
-    FUNC_MAP_ENTRY(on_proxy_host_changed)
-    FUNC_MAP_ENTRY(on_proxy_port_realize)
-    FUNC_MAP_ENTRY(on_proxy_port_changed)
-    FUNC_MAP_ENTRY(on_proxy_user_realize)
-    FUNC_MAP_ENTRY(on_proxy_user_changed)
-    FUNC_MAP_ENTRY(on_proxy_pass_realize)
-    FUNC_MAP_ENTRY(on_proxy_pass_changed)
-    FUNC_MAP_ENTRY(on_chardet_detector_cbox_realize)
-    FUNC_MAP_ENTRY(on_chardet_detector_cbox_changed)
-    FUNC_MAP_ENTRY(on_chardet_fallback_realize)
-    FUNC_MAP_ENTRY(on_chardet_fallback_changed)
-    FUNC_MAP_ENTRY(on_output_plugin_bufsize_realize)
-    FUNC_MAP_ENTRY(on_output_plugin_bufsize_value_changed)
-    FUNC_MAP_ENTRY(on_audio_format_det_cb_toggled)
-    FUNC_MAP_ENTRY(on_audio_format_det_cb_realize)
-    FUNC_MAP_ENTRY(on_detect_by_extension_cb_toggled)
-    FUNC_MAP_ENTRY(on_detect_by_extension_cb_realize)
-    FUNC_MAP_ENTRY(on_show_filepopup_for_tuple_realize)
-    FUNC_MAP_ENTRY(on_show_filepopup_for_tuple_toggled)
-    FUNC_MAP_ENTRY(on_filepopup_for_tuple_settings_clicked)
-    FUNC_MAP_ENTRY(on_continue_playback_on_startup_realize)
-    FUNC_MAP_ENTRY(on_continue_playback_on_startup_toggled)
-    FUNC_MAP_ENTRY(on_software_volume_control_realize)
-    FUNC_MAP_ENTRY(on_software_volume_control_toggled)
-
-    /* XMMS fileselector option -nenolod */
-    FUNC_MAP_ENTRY(on_xmms_style_fileselector_toggled)
-    FUNC_MAP_ENTRY(on_xmms_style_fileselector_realize)
-
-    /* show window manager decorations */
-    FUNC_MAP_ENTRY(on_show_wm_decorations_toggled)
-    FUNC_MAP_ENTRY(on_show_wm_decorations_realize)
-
-    /* two-way scroller */
-    FUNC_MAP_ENTRY(on_twoway_scroller_toggled)
-    FUNC_MAP_ENTRY(on_twoway_scroller_realize)
-
-    /* colorize */
-    FUNC_MAP_ENTRY(on_colorize_button_clicked)
-
-    FUNC_MAP_ENTRY(on_reload_plugins_clicked)
-FUNC_MAP_END
-
 void
 create_colorize_settings(void)
 {
@@ -1907,7 +1751,7 @@
     GTK_WIDGET_SET_FLAGS(colorize_close, GTK_CAN_DEFAULT);
 
     g_signal_connect((gpointer) red_scale, "value_changed",
-                     G_CALLBACK (on_red_scale_value_changed),
+                     G_CALLBACK(on_red_scale_value_changed),
                      NULL);
     g_signal_connect((gpointer) green_scale, "value_changed",
                      G_CALLBACK(on_green_scale_value_changed),
@@ -2094,200 +1938,1852 @@
 void
 create_prefs_window(void)
 {
-    const gchar *glade_file = DATA_DIR "/glade/prefswin.glade";
-
-    GladeXML *xml;
-    GtkWidget *widget, *widget2;
     gchar *aud_version_string;
 
     GtkWidget *titlestring_tag_menu, *menu_item;
     guint i;
-        
-    /* load the interface */
-    xml = glade_xml_new_or_die(_("Preferences Window"), glade_file, NULL,
-                               NULL);
-
-
-    /* connect the signals in the interface */
-    glade_xml_signal_autoconnect_map(xml, prefswin_func_map);
-
-    prefswin = glade_xml_get_widget(xml, "prefswin");
-    g_object_set_data(G_OBJECT(prefswin), "glade-xml", xml);
+
+  GtkWidget *vbox;
+  GtkWidget *hbox1;
+  GtkWidget *scrolledwindow6;
+  GtkWidget *category_notebook;
+  GtkWidget *plugin_page_vbox;
+  GtkWidget *plugin_notebook;
+  GtkWidget *plugin_input_vbox;
+  GtkWidget *alignment43;
+  GtkWidget *input_plugin_list_label;
+  GtkWidget *scrolledwindow3;
+  GtkWidget *input_plugin_view;
+  GtkWidget *input_plugin_button_box;
+  GtkWidget *input_plugin_prefs;
+  GtkWidget *input_plugin_info;
+  GtkWidget *plugin_input_label;
+  GtkWidget *plugin_general_vbox;
+  GtkWidget *alignment45;
+  GtkWidget *label11;
+  GtkWidget *scrolledwindow5;
+  GtkWidget *general_plugin_view;
+  GtkWidget *general_plugin_button_box;
+  GtkWidget *general_plugin_prefs;
+  GtkWidget *general_plugin_info;
+  GtkWidget *plugin_general_label;
+  GtkWidget *vbox21;
+  GtkWidget *alignment46;
+  GtkWidget *label53;
+  GtkWidget *scrolledwindow7;
+  GtkWidget *vis_plugin_view;
+  GtkWidget *hbuttonbox6;
+  GtkWidget *vis_plugin_prefs;
+  GtkWidget *vis_plugin_info;
+  GtkWidget *vis_label;
+  GtkWidget *vbox25;
+  GtkWidget *alignment58;
+  GtkWidget *label64;
+  GtkWidget *scrolledwindow9;
+  GtkWidget *effect_plugin_view;
+  GtkWidget *hbuttonbox9;
+  GtkWidget *effect_plugin_prefs;
+  GtkWidget *effect_plugin_info;
+  GtkWidget *effects_label;
+  GtkWidget *plugin_label;
+  GtkWidget *appearance_page_vbox;
+  GtkWidget *vbox37;
+  GtkWidget *vbox38;
+  GtkWidget *hbox12;
+  GtkWidget *alignment94;
+  GtkWidget *hbox13;
+  GtkWidget *label103;
+  GtkWidget *colorspace_button;
+  GtkWidget *image11;
+  GtkWidget *image12;
+  GtkWidget *alignment95;
+  GtkWidget *skin_view_scrolled_window;
+  GtkWidget *vbox39;
+  GtkWidget *alignment96;
+  GtkWidget *label104;
+  GtkWidget *table14;
+  GtkWidget *alignment97;
+  GtkWidget *label105;
+  GtkWidget *alignment98;
+  GtkWidget *label106;
+  GtkWidget *fontbutton1;
+  GtkWidget *fontbutton2;
+  GtkWidget *alignment99;
+  GtkWidget *checkbutton11;
+  GtkWidget *vbox40;
+  GtkWidget *alignment100;
+  GtkWidget *label107;
+  GtkWidget *alignment101;
+  GtkWidget *playlist_show_pl_numbers;
+  GtkWidget *alignment102;
+  GtkWidget *playlist_show_pl_separator;
+  GtkWidget *alignment103;
+  GtkWidget *checkbutton14;
+  GtkWidget *alignment104;
+  GtkWidget *show_wm_decorations;
+  GtkWidget *alignment105;
+  GtkWidget *xmms_style_fileselector_cb1;
+  GtkWidget *alignment106;
+  GtkWidget *checkbutton17;
+  GtkWidget *appearance_label;
+  GtkWidget *mouse_page_vbox;
+  GtkWidget *vbox20;
+  GtkWidget *alignment36;
+  GtkWidget *label51;
+  GtkWidget *alignment34;
+  GtkWidget *table4;
+  GtkObject *mouse_wheel_volume_adj;
+  GtkWidget *mouse_wheel_volume;
+  GtkWidget *label35;
+  GtkObject *mouse_wheel_scroll_pl_adj;
+  GtkWidget *mouse_wheel_scroll_pl;
+  GtkWidget *label34;
+  GtkWidget *label33;
+  GtkWidget *label32;
+  GtkWidget *mouse_label;
+  GtkWidget *playlist_page_vbox;
+  GtkWidget *vbox5;
+  GtkWidget *alignment14;
+  GtkWidget *label38;
+  GtkWidget *alignment12;
+  GtkWidget *playlist_convert_underscore;
+  GtkWidget *alignment13;
+  GtkWidget *playlist_convert_twenty;
+  GtkWidget *alignment88;
+  GtkWidget *playlist_convert_slash;
+  GtkWidget *alignment15;
+  GtkWidget *label39;
+  GtkWidget *alignment16;
+  GtkWidget *playlist_use_metadata;
+  GtkWidget *alignment18;
+  GtkWidget *playlist_use_metadata_box;
+  GtkWidget *playlist_metadata_on_load;
+  GSList *playlist_metadata_on_load_group = NULL;
+  GtkWidget *playlist_metadata_on_display;
+  GtkWidget *table10;
+  GtkWidget *label73;
+  GtkWidget *combobox1;
+  GtkWidget *entry1;
+  GtkWidget *label74;
+  GtkWidget *alignment19;
+  GtkWidget *label40;
+  GtkWidget *alignment20;
+  GtkWidget *refresh_file_list;
+  GtkWidget *alignment55;
+  GtkWidget *label60;
+  GtkWidget *alignment56;
+  GtkWidget *table6;
+  GtkWidget *titlestring_help_button;
+  GtkWidget *image1;
+  GtkWidget *titlestring_cbox;
+  GtkWidget *label62;
+  GtkWidget *label61;
+  GtkWidget *alignment85;
+  GtkWidget *label84;
+  GtkWidget *alignment86;
+  GtkWidget *hbox9;
+  GtkWidget *vbox34;
+  GtkWidget *checkbutton10;
+  GtkWidget *image8;
+  GtkWidget *playlist_label;
+  GtkWidget *equalizer_page_vbox;
+  GtkWidget *alignment28;
+  GtkWidget *vbox22;
+  GtkWidget *alignment30;
+  GtkWidget *equalizer_page_label;
+  GtkWidget *vbox23;
+  GtkWidget *alignment33;
+  GtkWidget *table5;
+  GtkWidget *label58;
+  GtkWidget *label57;
+  GtkWidget *eq_file_preset_entry;
+  GtkWidget *eq_dir_preset_entry;
+  GtkWidget *equalizer_label;
+  GtkWidget *connectivity_page_vbox;
+  GtkWidget *vbox29;
+  GtkWidget *alignment63;
+  GtkWidget *connectivity_page_label;
+  GtkWidget *alignment68;
+  GtkWidget *vbox30;
+  GtkWidget *alignment65;
+  GtkWidget *proxy_use;
+  GtkWidget *table8;
+  GtkWidget *proxy_port;
+  GtkWidget *proxy_host;
+  GtkWidget *label69;
+  GtkWidget *label68;
+  GtkWidget *alignment67;
+  GtkWidget *proxy_auth;
+  GtkWidget *table9;
+  GtkWidget *proxy_pass;
+  GtkWidget *proxy_user;
+  GtkWidget *label71;
+  GtkWidget *label70;
+  GtkWidget *alignment72;
+  GtkWidget *hbox6;
+  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 *alignment78;
+  GtkWidget *label83;
+  GtkWidget *alignment84;
+  GtkWidget *audio_format_det_cb;
+  GtkWidget *alignment89;
+  GtkWidget *detect_by_extension_cb;
+  GtkWidget *alignment83;
+  GtkWidget *continue_playback_on_startup;
+  GtkWidget *alignment79;
+  GtkWidget *playlist_no_advance;
+  GtkWidget *alignment80;
+  GtkWidget *pause_between_songs;
+  GtkWidget *alignment22;
+  GtkWidget *pause_between_songs_box;
+  GtkWidget *label41;
+  GtkObject *pause_between_songs_time_adj;
+  GtkWidget *pause_between_songs_time;
+  GtkWidget *label42;
+  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;
+  GtkWidget *prefswin_button_box;
+  GtkWidget *reload_plugins;
+  GtkWidget *alignment93;
+  GtkWidget *hbox11;
+  GtkWidget *image10;
+  GtkWidget *label102;
+  GtkWidget *close;
+  GtkAccelGroup *accel_group;
+  GtkTooltips *tooltips;
+
+  tooltips = gtk_tooltips_new ();
+
+  accel_group = gtk_accel_group_new ();
+
+  prefswin = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+  gtk_container_set_border_width (GTK_CONTAINER (prefswin), 12);
+  gtk_window_set_title (GTK_WINDOW (prefswin), _("Audacious Preferences"));
+  gtk_window_set_position (GTK_WINDOW (prefswin), GTK_WIN_POS_CENTER);
+  gtk_window_set_default_size (GTK_WINDOW (prefswin), 680, 400);
+
+  vbox = gtk_vbox_new (FALSE, 0);
+  gtk_container_add (GTK_CONTAINER (prefswin), vbox);
+
+  hbox1 = gtk_hbox_new (FALSE, 8);
+  gtk_box_pack_start (GTK_BOX (vbox), hbox1, TRUE, TRUE, 0);
+
+  scrolledwindow6 = gtk_scrolled_window_new (NULL, NULL);
+  gtk_box_pack_start (GTK_BOX (hbox1), scrolledwindow6, TRUE, TRUE, 0);
+  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow6), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+  gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow6), GTK_SHADOW_IN);
+
+  category_treeview = gtk_tree_view_new ();
+  gtk_container_add (GTK_CONTAINER (scrolledwindow6), category_treeview);
+  gtk_widget_set_size_request (category_treeview, 172, -1);
+  gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (category_treeview), FALSE);
+
+  category_notebook = gtk_notebook_new ();
+  gtk_box_pack_start (GTK_BOX (hbox1), category_notebook, TRUE, TRUE, 0);
+  GTK_WIDGET_UNSET_FLAGS (category_notebook, GTK_CAN_FOCUS);
+  gtk_notebook_set_show_tabs (GTK_NOTEBOOK (category_notebook), FALSE);
+  gtk_notebook_set_show_border (GTK_NOTEBOOK (category_notebook), FALSE);
+  gtk_notebook_set_scrollable (GTK_NOTEBOOK (category_notebook), TRUE);
+
+  plugin_page_vbox = gtk_vbox_new (FALSE, 0);
+  gtk_container_add (GTK_CONTAINER (category_notebook), plugin_page_vbox);
+
+  plugin_notebook = gtk_notebook_new ();
+  gtk_box_pack_start (GTK_BOX (plugin_page_vbox), plugin_notebook, TRUE, TRUE, 0);
+  gtk_notebook_set_show_border (GTK_NOTEBOOK (plugin_notebook), FALSE);
+
+  plugin_input_vbox = gtk_vbox_new (FALSE, 0);
+  gtk_container_add (GTK_CONTAINER (plugin_notebook), plugin_input_vbox);
+  gtk_container_set_border_width (GTK_CONTAINER (plugin_input_vbox), 12);
+
+  alignment43 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (plugin_input_vbox), alignment43, FALSE, FALSE, 4);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment43), 0, 6, 0, 0);
+
+  input_plugin_list_label = gtk_label_new_with_mnemonic (_("_Decoder list:"));
+  gtk_container_add (GTK_CONTAINER (alignment43), input_plugin_list_label);
+  gtk_label_set_use_markup (GTK_LABEL (input_plugin_list_label), TRUE);
+  gtk_misc_set_alignment (GTK_MISC (input_plugin_list_label), 0, 0.5);
+
+  scrolledwindow3 = gtk_scrolled_window_new (NULL, NULL);
+  gtk_box_pack_start (GTK_BOX (plugin_input_vbox), scrolledwindow3, TRUE, TRUE, 0);
+  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow3), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+  gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow3), GTK_SHADOW_IN);
+
+  input_plugin_view = gtk_tree_view_new ();
+  gtk_container_add (GTK_CONTAINER (scrolledwindow3), input_plugin_view);
+  gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (input_plugin_view), TRUE);
+  gtk_tree_view_set_reorderable (GTK_TREE_VIEW (input_plugin_view), TRUE);
+
+  input_plugin_button_box = gtk_hbutton_box_new ();
+  gtk_box_pack_start (GTK_BOX (plugin_input_vbox), input_plugin_button_box, FALSE, FALSE, 8);
+  gtk_button_box_set_layout (GTK_BUTTON_BOX (input_plugin_button_box), GTK_BUTTONBOX_START);
+  gtk_box_set_spacing (GTK_BOX (input_plugin_button_box), 8);
+
+  input_plugin_prefs = gtk_button_new_from_stock ("gtk-preferences");
+  gtk_container_add (GTK_CONTAINER (input_plugin_button_box), input_plugin_prefs);
+  gtk_widget_set_sensitive (input_plugin_prefs, FALSE);
+  GTK_WIDGET_SET_FLAGS (input_plugin_prefs, GTK_CAN_DEFAULT);
+
+  input_plugin_info = gtk_button_new_from_stock ("gtk-dialog-info");
+  gtk_container_add (GTK_CONTAINER (input_plugin_button_box), input_plugin_info);
+  gtk_widget_set_sensitive (input_plugin_info, FALSE);
+  GTK_WIDGET_SET_FLAGS (input_plugin_info, GTK_CAN_DEFAULT);
+
+  plugin_input_label = gtk_label_new (_("<span size=\"medium\"><b>Decoders</b></span>"));
+  gtk_notebook_set_tab_label (GTK_NOTEBOOK (plugin_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (plugin_notebook), 0), plugin_input_label);
+  gtk_label_set_use_markup (GTK_LABEL (plugin_input_label), TRUE);
+  gtk_misc_set_alignment (GTK_MISC (plugin_input_label), 0, 0);
+
+  plugin_general_vbox = gtk_vbox_new (FALSE, 0);
+  gtk_container_add (GTK_CONTAINER (plugin_notebook), plugin_general_vbox);
+  gtk_container_set_border_width (GTK_CONTAINER (plugin_general_vbox), 12);
+
+  alignment45 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (plugin_general_vbox), alignment45, FALSE, FALSE, 4);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment45), 0, 6, 0, 0);
+
+  label11 = gtk_label_new_with_mnemonic (_("_General plugin list:"));
+  gtk_container_add (GTK_CONTAINER (alignment45), label11);
+  gtk_label_set_use_markup (GTK_LABEL (label11), TRUE);
+  gtk_misc_set_alignment (GTK_MISC (label11), 0, 0.5);
+
+  scrolledwindow5 = gtk_scrolled_window_new (NULL, NULL);
+  gtk_box_pack_start (GTK_BOX (plugin_general_vbox), scrolledwindow5, TRUE, TRUE, 0);
+  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow5), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+  gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow5), GTK_SHADOW_IN);
+
+  general_plugin_view = gtk_tree_view_new ();
+  gtk_container_add (GTK_CONTAINER (scrolledwindow5), general_plugin_view);
+  gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (general_plugin_view), TRUE);
+  gtk_tree_view_set_reorderable (GTK_TREE_VIEW (general_plugin_view), TRUE);
+
+  general_plugin_button_box = gtk_hbutton_box_new ();
+  gtk_box_pack_start (GTK_BOX (plugin_general_vbox), general_plugin_button_box, FALSE, FALSE, 8);
+  gtk_button_box_set_layout (GTK_BUTTON_BOX (general_plugin_button_box), GTK_BUTTONBOX_START);
+  gtk_box_set_spacing (GTK_BOX (general_plugin_button_box), 8);
+
+  general_plugin_prefs = gtk_button_new_from_stock ("gtk-preferences");
+  gtk_container_add (GTK_CONTAINER (general_plugin_button_box), general_plugin_prefs);
+  gtk_widget_set_sensitive (general_plugin_prefs, FALSE);
+  GTK_WIDGET_SET_FLAGS (general_plugin_prefs, GTK_CAN_DEFAULT);
+
+  general_plugin_info = gtk_button_new_from_stock ("gtk-dialog-info");
+  gtk_container_add (GTK_CONTAINER (general_plugin_button_box), general_plugin_info);
+  gtk_widget_set_sensitive (general_plugin_info, FALSE);
+  GTK_WIDGET_SET_FLAGS (general_plugin_info, GTK_CAN_DEFAULT);
+
+  plugin_general_label = gtk_label_new (_("<span size=\"medium\"><b>General</b></span>"));
+  gtk_notebook_set_tab_label (GTK_NOTEBOOK (plugin_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (plugin_notebook), 1), plugin_general_label);
+  gtk_label_set_use_markup (GTK_LABEL (plugin_general_label), TRUE);
+
+  vbox21 = gtk_vbox_new (FALSE, 0);
+  gtk_container_add (GTK_CONTAINER (plugin_notebook), vbox21);
+  gtk_container_set_border_width (GTK_CONTAINER (vbox21), 12);
+
+  alignment46 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (vbox21), alignment46, FALSE, FALSE, 4);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment46), 0, 6, 0, 0);
+
+  label53 = gtk_label_new_with_mnemonic (_("_Visualization plugin list:"));
+  gtk_container_add (GTK_CONTAINER (alignment46), label53);
+  gtk_label_set_use_markup (GTK_LABEL (label53), TRUE);
+  gtk_misc_set_alignment (GTK_MISC (label53), 0, 0.5);
+
+  scrolledwindow7 = gtk_scrolled_window_new (NULL, NULL);
+  gtk_box_pack_start (GTK_BOX (vbox21), scrolledwindow7, TRUE, TRUE, 0);
+  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow7), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+  gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow7), GTK_SHADOW_IN);
+
+  vis_plugin_view = gtk_tree_view_new ();
+  gtk_container_add (GTK_CONTAINER (scrolledwindow7), vis_plugin_view);
+  gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (vis_plugin_view), TRUE);
+  gtk_tree_view_set_reorderable (GTK_TREE_VIEW (vis_plugin_view), TRUE);
+
+  hbuttonbox6 = gtk_hbutton_box_new ();
+  gtk_box_pack_start (GTK_BOX (vbox21), hbuttonbox6, FALSE, FALSE, 8);
+  gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox6), GTK_BUTTONBOX_START);
+  gtk_box_set_spacing (GTK_BOX (hbuttonbox6), 8);
+
+  vis_plugin_prefs = gtk_button_new_from_stock ("gtk-preferences");
+  gtk_container_add (GTK_CONTAINER (hbuttonbox6), vis_plugin_prefs);
+  gtk_widget_set_sensitive (vis_plugin_prefs, FALSE);
+  GTK_WIDGET_SET_FLAGS (vis_plugin_prefs, GTK_CAN_DEFAULT);
+
+  vis_plugin_info = gtk_button_new_from_stock ("gtk-dialog-info");
+  gtk_container_add (GTK_CONTAINER (hbuttonbox6), vis_plugin_info);
+  gtk_widget_set_sensitive (vis_plugin_info, FALSE);
+  GTK_WIDGET_SET_FLAGS (vis_plugin_info, GTK_CAN_DEFAULT);
+
+  vis_label = gtk_label_new (_("<b>Visualization</b>"));
+  gtk_notebook_set_tab_label (GTK_NOTEBOOK (plugin_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (plugin_notebook), 2), vis_label);
+  gtk_label_set_use_markup (GTK_LABEL (vis_label), TRUE);
+
+  vbox25 = gtk_vbox_new (FALSE, 0);
+  gtk_container_add (GTK_CONTAINER (plugin_notebook), vbox25);
+  gtk_container_set_border_width (GTK_CONTAINER (vbox25), 12);
+
+  alignment58 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (vbox25), alignment58, FALSE, FALSE, 4);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment58), 0, 6, 0, 0);
+
+  label64 = gtk_label_new_with_mnemonic (_("_Effect plugin list:"));
+  gtk_container_add (GTK_CONTAINER (alignment58), label64);
+  gtk_label_set_use_markup (GTK_LABEL (label64), TRUE);
+  gtk_misc_set_alignment (GTK_MISC (label64), 0, 0.5);
+
+  scrolledwindow9 = gtk_scrolled_window_new (NULL, NULL);
+  gtk_box_pack_start (GTK_BOX (vbox25), scrolledwindow9, TRUE, TRUE, 0);
+  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow9), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+  gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow9), GTK_SHADOW_IN);
+
+  effect_plugin_view = gtk_tree_view_new ();
+  gtk_container_add (GTK_CONTAINER (scrolledwindow9), effect_plugin_view);
+  gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (effect_plugin_view), TRUE);
+  gtk_tree_view_set_reorderable (GTK_TREE_VIEW (effect_plugin_view), TRUE);
+
+  hbuttonbox9 = gtk_hbutton_box_new ();
+  gtk_box_pack_start (GTK_BOX (vbox25), hbuttonbox9, FALSE, FALSE, 8);
+  gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox9), GTK_BUTTONBOX_START);
+  gtk_box_set_spacing (GTK_BOX (hbuttonbox9), 8);
+
+  effect_plugin_prefs = gtk_button_new_from_stock ("gtk-preferences");
+  gtk_container_add (GTK_CONTAINER (hbuttonbox9), effect_plugin_prefs);
+  gtk_widget_set_sensitive (effect_plugin_prefs, FALSE);
+  GTK_WIDGET_SET_FLAGS (effect_plugin_prefs, GTK_CAN_DEFAULT);
+
+  effect_plugin_info = gtk_button_new_from_stock ("gtk-dialog-info");
+  gtk_container_add (GTK_CONTAINER (hbuttonbox9), effect_plugin_info);
+  gtk_widget_set_sensitive (effect_plugin_info, FALSE);
+  GTK_WIDGET_SET_FLAGS (effect_plugin_info, GTK_CAN_DEFAULT);
+
+  effects_label = gtk_label_new (_("<b>Effects</b>"));
+  gtk_notebook_set_tab_label (GTK_NOTEBOOK (plugin_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (plugin_notebook), 3), effects_label);
+  gtk_label_set_use_markup (GTK_LABEL (effects_label), TRUE);
+
+  plugin_label = gtk_label_new (_("Plugins"));
+  gtk_notebook_set_tab_label (GTK_NOTEBOOK (category_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (category_notebook), 0), plugin_label);
+
+  appearance_page_vbox = gtk_vbox_new (FALSE, 0);
+  gtk_container_add (GTK_CONTAINER (category_notebook), appearance_page_vbox);
+
+  vbox37 = gtk_vbox_new (FALSE, 0);
+  gtk_box_pack_start (GTK_BOX (appearance_page_vbox), vbox37, TRUE, TRUE, 0);
+
+  vbox38 = gtk_vbox_new (FALSE, 0);
+  gtk_box_pack_start (GTK_BOX (vbox37), vbox38, FALSE, TRUE, 0);
+
+  hbox12 = gtk_hbox_new (FALSE, 0);
+  gtk_box_pack_start (GTK_BOX (vbox38), hbox12, TRUE, TRUE, 0);
+
+  alignment94 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (hbox12), alignment94, TRUE, TRUE, 0);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment94), 0, 4, 0, 0);
+
+  hbox13 = gtk_hbox_new (FALSE, 0);
+  gtk_container_add (GTK_CONTAINER (alignment94), hbox13);
+
+  label103 = gtk_label_new_with_mnemonic (_("<b>_Skin</b>"));
+  gtk_box_pack_start (GTK_BOX (hbox13), label103, TRUE, TRUE, 0);
+  gtk_label_set_use_markup (GTK_LABEL (label103), TRUE);
+  gtk_misc_set_alignment (GTK_MISC (label103), 0, 0);
+
+  colorspace_button = gtk_button_new ();
+  gtk_box_pack_start (GTK_BOX (hbox13), colorspace_button, FALSE, FALSE, 0);
+
+  image11 = gtk_image_new_from_stock ("gtk-properties", GTK_ICON_SIZE_BUTTON);
+  gtk_container_add (GTK_CONTAINER (colorspace_button), image11);
+
+  skin_refresh_button = gtk_button_new ();
+  gtk_box_pack_start (GTK_BOX (hbox13), skin_refresh_button, FALSE, FALSE, 0);
+  GTK_WIDGET_UNSET_FLAGS (skin_refresh_button, GTK_CAN_FOCUS);
+  gtk_tooltips_set_tip (tooltips, skin_refresh_button, _("Refresh skin list"), NULL);
+  gtk_button_set_relief (GTK_BUTTON (skin_refresh_button), GTK_RELIEF_HALF);
+  gtk_button_set_focus_on_click (GTK_BUTTON (skin_refresh_button), FALSE);
+
+  image12 = gtk_image_new_from_stock ("gtk-refresh", GTK_ICON_SIZE_BUTTON);
+  gtk_container_add (GTK_CONTAINER (skin_refresh_button), image12);
+
+  alignment95 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (vbox38), alignment95, TRUE, TRUE, 0);
+  gtk_widget_set_size_request (alignment95, -1, 172);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment95), 0, 0, 12, 0);
+
+  skin_view_scrolled_window = gtk_scrolled_window_new (NULL, NULL);
+  gtk_container_add (GTK_CONTAINER (alignment95), skin_view_scrolled_window);
+  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (skin_view_scrolled_window), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS);
+  gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (skin_view_scrolled_window), GTK_SHADOW_IN);
+
+  skin_view = gtk_tree_view_new ();
+  gtk_container_add (GTK_CONTAINER (skin_view_scrolled_window), skin_view);
+  gtk_widget_set_size_request (skin_view, -1, 100);
+
+  vbox39 = gtk_vbox_new (FALSE, 0);
+  gtk_box_pack_start (GTK_BOX (vbox37), vbox39, FALSE, TRUE, 0);
+
+  alignment96 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (vbox39), alignment96, TRUE, TRUE, 0);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment96), 12, 6, 0, 0);
+
+  label104 = gtk_label_new_with_mnemonic (_("<b>_Fonts</b>"));
+  gtk_container_add (GTK_CONTAINER (alignment96), label104);
+  gtk_label_set_use_markup (GTK_LABEL (label104), TRUE);
+  gtk_misc_set_alignment (GTK_MISC (label104), 0, 0.5);
+
+  table14 = gtk_table_new (2, 2, FALSE);
+  gtk_box_pack_start (GTK_BOX (vbox39), table14, TRUE, TRUE, 0);
+  gtk_table_set_row_spacings (GTK_TABLE (table14), 8);
+  gtk_table_set_col_spacings (GTK_TABLE (table14), 2);
+
+  alignment97 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_table_attach (GTK_TABLE (table14), alignment97, 0, 1, 0, 1,
+                    (GtkAttachOptions) (0),
+                    (GtkAttachOptions) (0), 0, 0);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment97), 0, 0, 12, 6);
+
+  label105 = gtk_label_new_with_mnemonic (_("_Player:"));
+  gtk_container_add (GTK_CONTAINER (alignment97), label105);
+  gtk_label_set_use_markup (GTK_LABEL (label105), TRUE);
+  gtk_misc_set_alignment (GTK_MISC (label105), 1, 0.5);
+
+  alignment98 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_table_attach (GTK_TABLE (table14), alignment98, 0, 1, 1, 2,
+                    (GtkAttachOptions) (0),
+                    (GtkAttachOptions) (0), 0, 0);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment98), 0, 0, 12, 6);
+
+  label106 = gtk_label_new_with_mnemonic (_("_Playlist:"));
+  gtk_container_add (GTK_CONTAINER (alignment98), label106);
+  gtk_label_set_use_markup (GTK_LABEL (label106), TRUE);
+  gtk_label_set_justify (GTK_LABEL (label106), GTK_JUSTIFY_RIGHT);
+  gtk_misc_set_alignment (GTK_MISC (label106), 1, 0.5);
+
+  fontbutton1 = gtk_font_button_new ();
+  gtk_table_attach (GTK_TABLE (table14), fontbutton1, 1, 2, 0, 1,
+                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+  gtk_font_button_set_title (GTK_FONT_BUTTON (fontbutton1), _("Select main player window font:"));
+  gtk_font_button_set_use_font (GTK_FONT_BUTTON (fontbutton1), TRUE);
+  gtk_font_button_set_use_size (GTK_FONT_BUTTON (fontbutton1), TRUE);
+
+  fontbutton2 = gtk_font_button_new ();
+  gtk_table_attach (GTK_TABLE (table14), fontbutton2, 1, 2, 1, 2,
+                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+  gtk_font_button_set_title (GTK_FONT_BUTTON (fontbutton2), _("Select playlist font:"));
+  gtk_font_button_set_use_font (GTK_FONT_BUTTON (fontbutton2), TRUE);
+  gtk_font_button_set_use_size (GTK_FONT_BUTTON (fontbutton2), TRUE);
+
+  alignment99 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (vbox39), alignment99, TRUE, TRUE, 0);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment99), 4, 0, 12, 0);
+
+  checkbutton11 = gtk_check_button_new_with_mnemonic (_("Use Bitmap fonts if available"));
+  gtk_container_add (GTK_CONTAINER (alignment99), checkbutton11);
+  gtk_tooltips_set_tip (tooltips, checkbutton11, _("Use bitmap fonts if they are available. Bitmap fonts do not support Unicode strings."), NULL);
+
+  vbox40 = gtk_vbox_new (FALSE, 0);
+  gtk_box_pack_start (GTK_BOX (vbox37), vbox40, FALSE, TRUE, 0);
+
+  alignment100 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (vbox40), alignment100, TRUE, TRUE, 0);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment100), 12, 6, 0, 0);
+
+  label107 = gtk_label_new_with_mnemonic (_("<b>_Miscellaneous</b>"));
+  gtk_container_add (GTK_CONTAINER (alignment100), label107);
+  gtk_label_set_use_markup (GTK_LABEL (label107), TRUE);
+  gtk_misc_set_alignment (GTK_MISC (label107), 0, 0.5);
+
+  alignment101 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (vbox40), alignment101, TRUE, TRUE, 0);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment101), 2, 0, 12, 0);
+
+  playlist_show_pl_numbers = gtk_check_button_new_with_mnemonic (_("Show track numbers in playlist"));
+  gtk_container_add (GTK_CONTAINER (alignment101), playlist_show_pl_numbers);
+
+  alignment102 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (vbox40), alignment102, TRUE, TRUE, 0);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment102), 0, 0, 12, 0);
+
+  playlist_show_pl_separator = gtk_check_button_new_with_mnemonic (_("Show separators in playlist"));
+  gtk_container_add (GTK_CONTAINER (alignment102), playlist_show_pl_separator);
+
+  alignment103 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (vbox40), alignment103, TRUE, TRUE, 0);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment103), 0, 0, 12, 0);
+
+  checkbutton14 = gtk_check_button_new_with_mnemonic (_("Use custom cursors"));
+  gtk_container_add (GTK_CONTAINER (alignment103), checkbutton14);
+
+  alignment104 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (vbox40), alignment104, TRUE, TRUE, 0);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment104), 0, 0, 12, 0);
+
+  show_wm_decorations = gtk_check_button_new_with_mnemonic (_("Show window manager decoration"));
+  gtk_container_add (GTK_CONTAINER (alignment104), show_wm_decorations);
+  gtk_tooltips_set_tip (tooltips, show_wm_decorations, _("This enables the window manager to show decorations for windows."), NULL);
+
+  alignment105 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (vbox40), alignment105, TRUE, TRUE, 0);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment105), 0, 0, 12, 0);
+
+  xmms_style_fileselector_cb1 = gtk_check_button_new_with_mnemonic (_("Use XMMS-style file selector instead of the default selector"));
+  gtk_container_add (GTK_CONTAINER (alignment105), xmms_style_fileselector_cb1);
+  gtk_tooltips_set_tip (tooltips, xmms_style_fileselector_cb1, _("This enables the XMMS/GTK1-style file selection dialogs. This selector is provided by Audacious itself and is faster than the default GTK2 selector (but sadly not as user-friendly)."), NULL);
+
+  alignment106 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (vbox40), alignment106, TRUE, TRUE, 0);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment106), 0, 0, 12, 0);
+
+  checkbutton17 = gtk_check_button_new_with_mnemonic (_("Use two-way text scroller"));
+  gtk_container_add (GTK_CONTAINER (alignment106), checkbutton17);
+  gtk_tooltips_set_tip (tooltips, checkbutton17, _("If selected, the file information text in the main window will scroll back and forth. If not selected, the text will only scroll in one direction."), NULL);
+
+  appearance_label = gtk_label_new (_("Appearance"));
+  gtk_notebook_set_tab_label (GTK_NOTEBOOK (category_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (category_notebook), 1), appearance_label);
+
+  mouse_page_vbox = gtk_vbox_new (FALSE, 0);
+  gtk_container_add (GTK_CONTAINER (category_notebook), mouse_page_vbox);
+
+  vbox20 = gtk_vbox_new (FALSE, 0);
+  gtk_box_pack_start (GTK_BOX (mouse_page_vbox), vbox20, TRUE, TRUE, 0);
+
+  alignment36 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (vbox20), alignment36, FALSE, FALSE, 0);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment36), 0, 12, 0, 0);
+
+  label51 = gtk_label_new (_("<b>Mouse wheel</b>"));
+  gtk_container_add (GTK_CONTAINER (alignment36), label51);
+  gtk_label_set_use_markup (GTK_LABEL (label51), TRUE);
+  gtk_misc_set_alignment (GTK_MISC (label51), 0, 0);
+
+  alignment34 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (vbox20), alignment34, FALSE, FALSE, 0);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment34), 0, 0, 12, 0);
+
+  table4 = gtk_table_new (2, 3, FALSE);
+  gtk_container_add (GTK_CONTAINER (alignment34), table4);
+  gtk_table_set_row_spacings (GTK_TABLE (table4), 6);
+
+  mouse_wheel_volume_adj = gtk_adjustment_new (5, 0, 100, 1, 10, 10);
+  mouse_wheel_volume = gtk_spin_button_new (GTK_ADJUSTMENT (mouse_wheel_volume_adj), 1, 0);
+  gtk_table_attach (GTK_TABLE (table4), mouse_wheel_volume, 1, 2, 0, 1,
+                    (GtkAttachOptions) (0),
+                    (GtkAttachOptions) (0), 4, 0);
+  gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (mouse_wheel_volume), TRUE);
+
+  label35 = gtk_label_new (_("lines"));
+  gtk_table_attach (GTK_TABLE (table4), label35, 2, 3, 1, 2,
+                    (GtkAttachOptions) (0),
+                    (GtkAttachOptions) (0), 0, 0);
+  gtk_misc_set_alignment (GTK_MISC (label35), 0, 0.5);
+  gtk_misc_set_padding (GTK_MISC (label35), 4, 0);
+
+  mouse_wheel_scroll_pl_adj = gtk_adjustment_new (1, 0, 100, 1, 10, 10);
+  mouse_wheel_scroll_pl = gtk_spin_button_new (GTK_ADJUSTMENT (mouse_wheel_scroll_pl_adj), 1, 0);
+  gtk_table_attach (GTK_TABLE (table4), mouse_wheel_scroll_pl, 1, 2, 1, 2,
+                    (GtkAttachOptions) (0),
+                    (GtkAttachOptions) (0), 4, 0);
+
+  label34 = gtk_label_new (_("Scrolls playlist by"));
+  gtk_table_attach (GTK_TABLE (table4), label34, 0, 1, 1, 2,
+                    (GtkAttachOptions) (0),
+                    (GtkAttachOptions) (0), 0, 0);
+  gtk_misc_set_alignment (GTK_MISC (label34), 0, 0.5);
+  gtk_misc_set_padding (GTK_MISC (label34), 4, 0);
+
+  label33 = gtk_label_new (_("percent"));
+  gtk_table_attach (GTK_TABLE (table4), label33, 2, 3, 0, 1,
+                    (GtkAttachOptions) (0),
+                    (GtkAttachOptions) (0), 0, 0);
+  gtk_misc_set_alignment (GTK_MISC (label33), 0, 0.5);
+  gtk_misc_set_padding (GTK_MISC (label33), 4, 0);
+
+  label32 = gtk_label_new (_("Changes volume by"));
+  gtk_table_attach (GTK_TABLE (table4), label32, 0, 1, 0, 1,
+                    (GtkAttachOptions) (0),
+                    (GtkAttachOptions) (0), 0, 0);
+  gtk_misc_set_alignment (GTK_MISC (label32), 0, 0.5);
+  gtk_misc_set_padding (GTK_MISC (label32), 4, 0);
+
+  mouse_label = gtk_label_new (_("Mouse"));
+  gtk_notebook_set_tab_label (GTK_NOTEBOOK (category_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (category_notebook), 2), mouse_label);
+
+  playlist_page_vbox = gtk_vbox_new (FALSE, 0);
+  gtk_container_add (GTK_CONTAINER (category_notebook), playlist_page_vbox);
+
+  vbox5 = gtk_vbox_new (FALSE, 0);
+  gtk_box_pack_start (GTK_BOX (playlist_page_vbox), vbox5, TRUE, TRUE, 0);
+
+  alignment14 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (vbox5), alignment14, FALSE, FALSE, 0);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment14), 0, 12, 0, 0);
+
+  label38 = gtk_label_new (_("<b>Filename</b>"));
+  gtk_container_add (GTK_CONTAINER (alignment14), label38);
+  gtk_label_set_use_markup (GTK_LABEL (label38), TRUE);
+  gtk_misc_set_alignment (GTK_MISC (label38), 0, 0.5);
+
+  alignment12 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (vbox5), alignment12, FALSE, FALSE, 0);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment12), 0, 0, 12, 0);
+
+  playlist_convert_underscore = gtk_check_button_new_with_mnemonic (_("Convert underscores to blanks"));
+  gtk_container_add (GTK_CONTAINER (alignment12), playlist_convert_underscore);
+
+  alignment13 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (vbox5), alignment13, FALSE, FALSE, 0);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment13), 0, 0, 12, 0);
+
+  playlist_convert_twenty = gtk_check_button_new_with_mnemonic (_("Convert %20 to blanks"));
+  gtk_container_add (GTK_CONTAINER (alignment13), playlist_convert_twenty);
+
+  alignment88 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (vbox5), alignment88, FALSE, FALSE, 0);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment88), 0, 0, 12, 0);
+
+  playlist_convert_slash = gtk_check_button_new_with_mnemonic (_("Convert backslash '\\' to forward slash '/'"));
+  gtk_container_add (GTK_CONTAINER (alignment88), playlist_convert_slash);
+
+  alignment15 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (vbox5), alignment15, FALSE, FALSE, 0);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment15), 12, 12, 0, 0);
+
+  label39 = gtk_label_new (_("<b>Metadata</b>"));
+  gtk_container_add (GTK_CONTAINER (alignment15), label39);
+  gtk_label_set_use_markup (GTK_LABEL (label39), TRUE);
+  gtk_misc_set_alignment (GTK_MISC (label39), 0, 0.5);
+
+  alignment16 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (vbox5), alignment16, FALSE, FALSE, 0);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment16), 0, 0, 12, 0);
+
+  playlist_use_metadata = gtk_check_button_new_with_mnemonic (_("Load metadata from playlists and files"));
+  gtk_container_add (GTK_CONTAINER (alignment16), playlist_use_metadata);
+  gtk_tooltips_set_tip (tooltips, playlist_use_metadata, _("Load metadata (tag information) from music files."), NULL);
+
+  alignment18 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (vbox5), alignment18, FALSE, FALSE, 0);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment18), 0, 0, 24, 0);
+
+  playlist_use_metadata_box = gtk_vbox_new (FALSE, 0);
+  gtk_container_add (GTK_CONTAINER (alignment18), playlist_use_metadata_box);
+
+  playlist_metadata_on_load = gtk_radio_button_new_with_mnemonic (NULL, _("On load"));
+  gtk_box_pack_start (GTK_BOX (playlist_use_metadata_box), playlist_metadata_on_load, FALSE, FALSE, 0);
+  gtk_tooltips_set_tip (tooltips, playlist_metadata_on_load, _("Load metadata when adding the file to the playlist or opening it"), NULL);
+  gtk_radio_button_set_group (GTK_RADIO_BUTTON (playlist_metadata_on_load), playlist_metadata_on_load_group);
+  playlist_metadata_on_load_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (playlist_metadata_on_load));
+
+  playlist_metadata_on_display = gtk_radio_button_new_with_mnemonic (NULL, _("On display"));
+  gtk_box_pack_start (GTK_BOX (playlist_use_metadata_box), playlist_metadata_on_display, FALSE, FALSE, 0);
+  gtk_tooltips_set_tip (tooltips, playlist_metadata_on_display, _("Load metadata on demand when displaying the file in the playlist. You may need to set \"Detect file formats on demand\" in Audio page for full benefit."), NULL);
+  gtk_radio_button_set_group (GTK_RADIO_BUTTON (playlist_metadata_on_display), playlist_metadata_on_load_group);
+  playlist_metadata_on_load_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (playlist_metadata_on_display));
+
+  table10 = gtk_table_new (2, 2, FALSE);
+  gtk_box_pack_start (GTK_BOX (playlist_use_metadata_box), table10, TRUE, TRUE, 0);
+
+  label73 = gtk_label_new (_("Auto character encoding detector for:"));
+  gtk_table_attach (GTK_TABLE (table10), label73, 0, 1, 0, 1,
+                    (GtkAttachOptions) (0),
+                    (GtkAttachOptions) (0), 0, 0);
+  gtk_label_set_justify (GTK_LABEL (label73), GTK_JUSTIFY_RIGHT);
+  gtk_misc_set_alignment (GTK_MISC (label73), 1, 0.5);
+
+  combobox1 = gtk_combo_box_new_text ();
+  gtk_table_attach (GTK_TABLE (table10), combobox1, 1, 2, 0, 1,
+                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+
+  entry1 = gtk_entry_new ();
+  gtk_table_attach (GTK_TABLE (table10), entry1, 1, 2, 1, 2,
+                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+  gtk_tooltips_set_tip (tooltips, entry1, _("List of character encodings used for fall back conversion of metadata. If automatic character encoding detector failed or has been disabled, encodings in this list would be treated as candidates of the encoding of metadata, and fall back conversion from these encodings to UTF-8 would be attempted."), NULL);
+
+  label74 = gtk_label_new (_("Fallback character encodings:"));
+  gtk_table_attach (GTK_TABLE (table10), label74, 0, 1, 1, 2,
+                    (GtkAttachOptions) (0),
+                    (GtkAttachOptions) (0), 0, 0);
+  gtk_label_set_justify (GTK_LABEL (label74), GTK_JUSTIFY_RIGHT);
+  gtk_misc_set_alignment (GTK_MISC (label74), 1, 0.5);
+
+  alignment19 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (vbox5), alignment19, FALSE, FALSE, 0);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment19), 12, 12, 0, 0);
+
+  label40 = gtk_label_new (_("<b>File Dialog</b>"));
+  gtk_container_add (GTK_CONTAINER (alignment19), label40);
+  gtk_label_set_use_markup (GTK_LABEL (label40), TRUE);
+  gtk_misc_set_alignment (GTK_MISC (label40), 0, 0.5);
+
+  alignment20 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (vbox5), alignment20, FALSE, FALSE, 0);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment20), 0, 0, 12, 0);
+
+  refresh_file_list = gtk_check_button_new_with_mnemonic (_("Always refresh directory when opening file dialog"));
+  gtk_container_add (GTK_CONTAINER (alignment20), refresh_file_list);
+  gtk_tooltips_set_tip (tooltips, refresh_file_list, _("Always refresh the file dialog (this will slow opening the dialog on large directories, and Gnome VFS should handle automatically)."), NULL);
+
+  alignment55 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (vbox5), alignment55, FALSE, FALSE, 0);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment55), 12, 12, 0, 0);
+
+  label60 = gtk_label_new (_("<b>Song Display</b>"));
+  gtk_container_add (GTK_CONTAINER (alignment55), label60);
+  gtk_label_set_use_markup (GTK_LABEL (label60), TRUE);
+  gtk_misc_set_alignment (GTK_MISC (label60), 0, 0.5);
+
+  alignment56 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (vbox5), alignment56, FALSE, FALSE, 0);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment56), 0, 0, 12, 0);
+
+  table6 = gtk_table_new (2, 3, FALSE);
+  gtk_container_add (GTK_CONTAINER (alignment56), table6);
+  gtk_table_set_row_spacings (GTK_TABLE (table6), 4);
+  gtk_table_set_col_spacings (GTK_TABLE (table6), 12);
+
+  titlestring_help_button = gtk_button_new ();
+  gtk_table_attach (GTK_TABLE (table6), titlestring_help_button, 2, 3, 1, 2,
+                    (GtkAttachOptions) (0),
+                    (GtkAttachOptions) (0), 0, 0);
+  GTK_WIDGET_UNSET_FLAGS (titlestring_help_button, GTK_CAN_FOCUS);
+  gtk_tooltips_set_tip (tooltips, titlestring_help_button, _("Show information about titlestring format"), NULL);
+  gtk_button_set_relief (GTK_BUTTON (titlestring_help_button), GTK_RELIEF_HALF);
+  gtk_button_set_focus_on_click (GTK_BUTTON (titlestring_help_button), FALSE);
+
+  image1 = gtk_image_new_from_stock ("gtk-index", GTK_ICON_SIZE_BUTTON);
+  gtk_container_add (GTK_CONTAINER (titlestring_help_button), image1);
+
+  titlestring_cbox = gtk_combo_box_new_text ();
+  gtk_table_attach (GTK_TABLE (table6), titlestring_cbox, 1, 3, 0, 1,
+                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+  gtk_combo_box_append_text (GTK_COMBO_BOX (titlestring_cbox), _("TITLE"));
+  gtk_combo_box_append_text (GTK_COMBO_BOX (titlestring_cbox), _("ARTIST - TITLE"));
+  gtk_combo_box_append_text (GTK_COMBO_BOX (titlestring_cbox), _("ARTIST - ALBUM - TITLE"));
+  gtk_combo_box_append_text (GTK_COMBO_BOX (titlestring_cbox), _("ARTIST - ALBUM - TRACK. TITLE"));
+  gtk_combo_box_append_text (GTK_COMBO_BOX (titlestring_cbox), _("ARTIST [ ALBUM ] - TRACK. TITLE"));
+  gtk_combo_box_append_text (GTK_COMBO_BOX (titlestring_cbox), _("ALBUM - TITLE"));
+  gtk_combo_box_append_text (GTK_COMBO_BOX (titlestring_cbox), _("Custom"));
+
+  titlestring_entry = gtk_entry_new ();
+  gtk_table_attach (GTK_TABLE (table6), titlestring_entry, 1, 2, 1, 2,
+                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+
+  label62 = gtk_label_new (_("Custom string:"));
+  gtk_table_attach (GTK_TABLE (table6), label62, 0, 1, 1, 2,
+                    (GtkAttachOptions) (0),
+                    (GtkAttachOptions) (0), 0, 0);
+  gtk_label_set_justify (GTK_LABEL (label62), GTK_JUSTIFY_RIGHT);
+  gtk_misc_set_alignment (GTK_MISC (label62), 1, 0.5);
+
+  label61 = gtk_label_new (_("Title format:"));
+  gtk_table_attach (GTK_TABLE (table6), label61, 0, 1, 0, 1,
+                    (GtkAttachOptions) (0),
+                    (GtkAttachOptions) (0), 0, 0);
+  gtk_label_set_justify (GTK_LABEL (label61), GTK_JUSTIFY_RIGHT);
+  gtk_misc_set_alignment (GTK_MISC (label61), 1, 0.5);
+
+  alignment85 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (vbox5), alignment85, FALSE, FALSE, 0);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment85), 12, 12, 0, 0);
+
+  label84 = gtk_label_new (_("<b>Popup Information</b>"));
+  gtk_container_add (GTK_CONTAINER (alignment85), label84);
+  gtk_label_set_use_markup (GTK_LABEL (label84), TRUE);
+  gtk_misc_set_alignment (GTK_MISC (label84), 0, 0.5);
+
+  alignment86 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (vbox5), alignment86, FALSE, FALSE, 0);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment86), 0, 0, 12, 0);
+
+  hbox9 = gtk_hbox_new (FALSE, 12);
+  gtk_container_add (GTK_CONTAINER (alignment86), hbox9);
+
+  vbox34 = gtk_vbox_new (FALSE, 0);
+  gtk_box_pack_start (GTK_BOX (hbox9), vbox34, TRUE, TRUE, 0);
+
+  checkbutton10 = gtk_check_button_new_with_mnemonic (_("Show popup information for playlist entries"));
+  gtk_box_pack_start (GTK_BOX (vbox34), checkbutton10, TRUE, FALSE, 0);
+  gtk_tooltips_set_tip (tooltips, checkbutton10, _("Toggles popup information window for the pointed entry in the playlist. The window shows title of song, name of album, genre, year of publish, track number, track length, and artwork."), NULL);
+
+  filepopup_for_tuple_settings_button = gtk_button_new ();
+  gtk_box_pack_start (GTK_BOX (hbox9), filepopup_for_tuple_settings_button, FALSE, FALSE, 0);
+  GTK_WIDGET_UNSET_FLAGS (filepopup_for_tuple_settings_button, GTK_CAN_FOCUS);
+  gtk_tooltips_set_tip (tooltips, filepopup_for_tuple_settings_button, _("Edit settings for popup information"), NULL);
+  gtk_button_set_relief (GTK_BUTTON (filepopup_for_tuple_settings_button), GTK_RELIEF_HALF);
+
+  image8 = gtk_image_new_from_stock ("gtk-properties", GTK_ICON_SIZE_BUTTON);
+  gtk_container_add (GTK_CONTAINER (filepopup_for_tuple_settings_button), image8);
+
+  playlist_label = gtk_label_new (_("Playlist"));
+  gtk_notebook_set_tab_label (GTK_NOTEBOOK (category_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (category_notebook), 3), playlist_label);
+
+  equalizer_page_vbox = gtk_vbox_new (FALSE, 0);
+  gtk_container_add (GTK_CONTAINER (category_notebook), equalizer_page_vbox);
+
+  alignment28 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (equalizer_page_vbox), alignment28, TRUE, TRUE, 0);
+
+  vbox22 = gtk_vbox_new (FALSE, 0);
+  gtk_container_add (GTK_CONTAINER (alignment28), vbox22);
+
+  alignment30 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (vbox22), alignment30, FALSE, FALSE, 0);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment30), 0, 12, 0, 0);
+
+  equalizer_page_label = gtk_label_new (_("<b>Presets</b>"));
+  gtk_container_add (GTK_CONTAINER (alignment30), equalizer_page_label);
+  gtk_label_set_use_markup (GTK_LABEL (equalizer_page_label), TRUE);
+  gtk_misc_set_alignment (GTK_MISC (equalizer_page_label), 0, 0.5);
+
+  vbox23 = gtk_vbox_new (FALSE, 0);
+  gtk_box_pack_start (GTK_BOX (vbox22), vbox23, TRUE, TRUE, 0);
+
+  alignment33 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (vbox23), alignment33, FALSE, FALSE, 0);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment33), 0, 12, 0, 0);
+
+  table5 = gtk_table_new (2, 2, FALSE);
+  gtk_container_add (GTK_CONTAINER (alignment33), table5);
+  gtk_table_set_row_spacings (GTK_TABLE (table5), 6);
+  gtk_table_set_col_spacings (GTK_TABLE (table5), 6);
+
+  label58 = gtk_label_new (_("File preset extension:"));
+  gtk_table_attach (GTK_TABLE (table5), label58, 0, 1, 1, 2,
+                    (GtkAttachOptions) (0),
+                    (GtkAttachOptions) (0), 0, 0);
+  gtk_misc_set_alignment (GTK_MISC (label58), 0, 0.5);
+
+  label57 = gtk_label_new (_("Directory preset file:"));
+  gtk_table_attach (GTK_TABLE (table5), label57, 0, 1, 0, 1,
+                    (GtkAttachOptions) (0),
+                    (GtkAttachOptions) (0), 0, 0);
+  gtk_misc_set_alignment (GTK_MISC (label57), 0, 0.5);
+
+  eq_file_preset_entry = gtk_entry_new ();
+  gtk_table_attach (GTK_TABLE (table5), eq_file_preset_entry, 1, 2, 1, 2,
+                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+
+  eq_dir_preset_entry = gtk_entry_new ();
+  gtk_table_attach (GTK_TABLE (table5), eq_dir_preset_entry, 1, 2, 0, 1,
+                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+
+  equalizer_label = gtk_label_new (_("Equalizer"));
+  gtk_notebook_set_tab_label (GTK_NOTEBOOK (category_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (category_notebook), 4), equalizer_label);
+
+  connectivity_page_vbox = gtk_vbox_new (FALSE, 0);
+  gtk_container_add (GTK_CONTAINER (category_notebook), connectivity_page_vbox);
+
+  vbox29 = gtk_vbox_new (FALSE, 0);
+  gtk_box_pack_start (GTK_BOX (connectivity_page_vbox), vbox29, TRUE, TRUE, 0);
+
+  alignment63 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (vbox29), alignment63, FALSE, FALSE, 0);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment63), 0, 12, 0, 0);
+
+  connectivity_page_label = gtk_label_new (_("<b>Proxy Configuration</b>"));
+  gtk_container_add (GTK_CONTAINER (alignment63), connectivity_page_label);
+  gtk_label_set_use_markup (GTK_LABEL (connectivity_page_label), TRUE);
+  gtk_misc_set_alignment (GTK_MISC (connectivity_page_label), 0, 0.5);
+
+  alignment68 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (vbox29), alignment68, TRUE, TRUE, 0);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment68), 0, 0, 12, 0);
+
+  vbox30 = gtk_vbox_new (FALSE, 0);
+  gtk_container_add (GTK_CONTAINER (alignment68), vbox30);
+
+  alignment65 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (vbox30), alignment65, FALSE, FALSE, 0);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment65), 0, 12, 0, 0);
+
+  proxy_use = gtk_check_button_new_with_mnemonic (_("Enable proxy usage"));
+  gtk_container_add (GTK_CONTAINER (alignment65), proxy_use);
+
+  table8 = gtk_table_new (2, 2, FALSE);
+  gtk_box_pack_start (GTK_BOX (vbox30), table8, FALSE, FALSE, 0);
+  gtk_table_set_row_spacings (GTK_TABLE (table8), 6);
+  gtk_table_set_col_spacings (GTK_TABLE (table8), 6);
+
+  proxy_port = gtk_entry_new ();
+  gtk_table_attach (GTK_TABLE (table8), proxy_port, 1, 2, 1, 2,
+                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+
+  proxy_host = gtk_entry_new ();
+  gtk_table_attach (GTK_TABLE (table8), proxy_host, 1, 2, 0, 1,
+                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+
+  label69 = gtk_label_new (_("Proxy port:"));
+  gtk_table_attach (GTK_TABLE (table8), label69, 0, 1, 1, 2,
+                    (GtkAttachOptions) (0),
+                    (GtkAttachOptions) (0), 0, 0);
+  gtk_misc_set_alignment (GTK_MISC (label69), 0, 0.5);
+
+  label68 = gtk_label_new (_("Proxy hostname:"));
+  gtk_table_attach (GTK_TABLE (table8), label68, 0, 1, 0, 1,
+                    (GtkAttachOptions) (0),
+                    (GtkAttachOptions) (0), 0, 0);
+  gtk_misc_set_alignment (GTK_MISC (label68), 0, 0);
+
+  alignment67 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (vbox30), alignment67, FALSE, FALSE, 0);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment67), 12, 12, 0, 0);
+
+  proxy_auth = gtk_check_button_new_with_mnemonic (_("Use authentication with proxy"));
+  gtk_container_add (GTK_CONTAINER (alignment67), proxy_auth);
+
+  table9 = gtk_table_new (2, 2, FALSE);
+  gtk_box_pack_start (GTK_BOX (vbox30), table9, FALSE, FALSE, 0);
+  gtk_table_set_row_spacings (GTK_TABLE (table9), 6);
+  gtk_table_set_col_spacings (GTK_TABLE (table9), 6);
+
+  proxy_pass = gtk_entry_new ();
+  gtk_table_attach (GTK_TABLE (table9), proxy_pass, 1, 2, 1, 2,
+                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+  gtk_entry_set_visibility (GTK_ENTRY (proxy_pass), FALSE);
+
+  proxy_user = gtk_entry_new ();
+  gtk_table_attach (GTK_TABLE (table9), proxy_user, 1, 2, 0, 1,
+                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+
+  label71 = gtk_label_new (_("Proxy password:"));
+  gtk_table_attach (GTK_TABLE (table9), label71, 0, 1, 1, 2,
+                    (GtkAttachOptions) (0),
+                    (GtkAttachOptions) (0), 0, 0);
+  gtk_misc_set_alignment (GTK_MISC (label71), 0, 0.5);
+
+  label70 = gtk_label_new (_("Proxy username:"));
+  gtk_table_attach (GTK_TABLE (table9), label70, 0, 1, 0, 1,
+                    (GtkAttachOptions) (0),
+                    (GtkAttachOptions) (0), 0, 0);
+  gtk_misc_set_alignment (GTK_MISC (label70), 0, 0);
+
+  alignment72 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (vbox30), alignment72, FALSE, FALSE, 0);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment72), 6, 0, 0, 0);
+
+  hbox6 = gtk_hbox_new (FALSE, 0);
+  gtk_container_add (GTK_CONTAINER (alignment72), hbox6);
+
+  image4 = gtk_image_new_from_stock ("gtk-dialog-warning", GTK_ICON_SIZE_BUTTON);
+  gtk_box_pack_start (GTK_BOX (hbox6), image4, FALSE, FALSE, 0);
+  gtk_misc_set_padding (GTK_MISC (image4), 3, 0);
+
+  label75 = gtk_label_new (_("<span size=\"small\">Changing these settings will require a restart of Audacious.</span>"));
+  gtk_box_pack_start (GTK_BOX (hbox6), label75, FALSE, FALSE, 0);
+  gtk_label_set_use_markup (GTK_LABEL (label75), TRUE);
+
+  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 (_("<b>Audio System</b>"));
+  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 (_("<span size=\"small\">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.</span>"));
+  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);
+
+  alignment78 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment78, FALSE, FALSE, 0);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment78), 12, 12, 0, 0);
+
+  label83 = gtk_label_new (_("<b>Format Detection</b>"));
+  gtk_container_add (GTK_CONTAINER (alignment78), label83);
+  gtk_label_set_use_markup (GTK_LABEL (label83), TRUE);
+  gtk_misc_set_alignment (GTK_MISC (label83), 0, 0.5);
+
+  alignment84 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment84, FALSE, FALSE, 0);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment84), 0, 0, 12, 0);
+
+  audio_format_det_cb = gtk_check_button_new_with_mnemonic (_("Detect file formats on demand, instead of immediately."));
+  gtk_container_add (GTK_CONTAINER (alignment84), audio_format_det_cb);
+  gtk_tooltips_set_tip (tooltips, audio_format_det_cb, _("When checked, Audacious will detect file formats on demand. This can result in a messier playlist, but delivers a major speed benefit."), NULL);
+
+  alignment89 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment89, FALSE, FALSE, 0);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment89), 0, 0, 12, 0);
+
+  detect_by_extension_cb = gtk_check_button_new_with_mnemonic (_("Detect file formats by extension."));
+  gtk_container_add (GTK_CONTAINER (alignment89), detect_by_extension_cb);
+  gtk_tooltips_set_tip (tooltips, detect_by_extension_cb, _("When checked, Audacious will detect file formats based by extension. Only files with extensions of supported formats will be loaded."), NULL);
+
+  alignment19 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment19, FALSE, FALSE, 0);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment19), 12, 12, 0, 0);
+
+  label40 = gtk_label_new (_("<b>Playback</b>"));
+  gtk_container_add (GTK_CONTAINER (alignment19), label40);
+  gtk_label_set_use_markup (GTK_LABEL (label40), TRUE);
+  gtk_misc_set_alignment (GTK_MISC (label40), 0, 0.5);
+
+  alignment83 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment83, FALSE, FALSE, 0);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment83), 0, 0, 12, 0);
+
+  continue_playback_on_startup = gtk_check_button_new_with_mnemonic (_("Continue playback on startup"));
+  gtk_container_add (GTK_CONTAINER (alignment83), continue_playback_on_startup);
+  gtk_tooltips_set_tip (tooltips, continue_playback_on_startup, _("When Audacious starts, automatically begin playing from the point where we stopped before."), NULL);
+
+  alignment79 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment79, FALSE, FALSE, 0);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment79), 0, 0, 12, 0);
+
+  playlist_no_advance = gtk_check_button_new_with_mnemonic (_("Don't advance in the playlist"));
+  gtk_container_add (GTK_CONTAINER (alignment79), playlist_no_advance);
+  gtk_tooltips_set_tip (tooltips, playlist_no_advance, _("When finished playing a song, don't automatically advance to the next."), NULL);
+
+  alignment80 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment80, FALSE, FALSE, 0);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment80), 0, 0, 12, 0);
+
+  pause_between_songs = gtk_check_button_new_with_mnemonic (_("Pause between songs"));
+  gtk_container_add (GTK_CONTAINER (alignment80), pause_between_songs);
+
+  alignment22 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_box_pack_start (GTK_BOX (audio_page_vbox), alignment22, FALSE, FALSE, 0);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment22), 0, 0, 45, 0);
+
+  pause_between_songs_box = gtk_hbox_new (FALSE, 0);
+  gtk_container_add (GTK_CONTAINER (alignment22), pause_between_songs_box);
+
+  label41 = gtk_label_new (_("Pause for"));
+  gtk_box_pack_start (GTK_BOX (pause_between_songs_box), label41, FALSE, FALSE, 0);
+  gtk_misc_set_padding (GTK_MISC (label41), 4, 0);
+
+  pause_between_songs_time_adj = gtk_adjustment_new (2, 0, 100, 1, 10, 10);
+  pause_between_songs_time = gtk_spin_button_new (GTK_ADJUSTMENT (pause_between_songs_time_adj), 1, 0);
+  gtk_box_pack_start (GTK_BOX (pause_between_songs_box), pause_between_songs_time, FALSE, FALSE, 0);
+
+  label42 = gtk_label_new (_("seconds"));
+  gtk_box_pack_start (GTK_BOX (pause_between_songs_box), label42, FALSE, FALSE, 0);
+  gtk_misc_set_padding (GTK_MISC (label42), 4, 0);
+
+  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 (_("<b>Sampling Rate Converter</b>"));
+  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 (_("<span size=\"small\">All streams will be converted to this sampling rate.\nThis should be the max supported sampling rate of\nthe sound card or output plugin.</span>"));
+  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 (_("<b>Volume Control</b>"));
+  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);
+
+  empty_notebook_page = gtk_vbox_new (FALSE, 0);
+  gtk_container_add (GTK_CONTAINER (category_notebook), empty_notebook_page);
+
+  hseparator1 = gtk_hseparator_new ();
+  gtk_box_pack_start (GTK_BOX (vbox), hseparator1, FALSE, FALSE, 6);
+
+  hbox4 = gtk_hbox_new (FALSE, 0);
+  gtk_box_pack_start (GTK_BOX (vbox), hbox4, FALSE, FALSE, 0);
+
+  audversionlabel = gtk_label_new ("");
+  gtk_box_pack_start (GTK_BOX (hbox4), audversionlabel, FALSE, FALSE, 0);
+  gtk_label_set_use_markup (GTK_LABEL (audversionlabel), TRUE);
+
+  prefswin_button_box = gtk_hbutton_box_new ();
+  gtk_box_pack_start (GTK_BOX (hbox4), prefswin_button_box, TRUE, TRUE, 0);
+  gtk_button_box_set_layout (GTK_BUTTON_BOX (prefswin_button_box), GTK_BUTTONBOX_END);
+  gtk_box_set_spacing (GTK_BOX (prefswin_button_box), 6);
+
+  reload_plugins = gtk_button_new ();
+  gtk_container_add (GTK_CONTAINER (prefswin_button_box), reload_plugins);
+  GTK_WIDGET_SET_FLAGS (reload_plugins, GTK_CAN_DEFAULT);
+
+  alignment93 = gtk_alignment_new (0.5, 0.5, 0, 0);
+  gtk_container_add (GTK_CONTAINER (reload_plugins), alignment93);
+
+  hbox11 = gtk_hbox_new (FALSE, 2);
+  gtk_container_add (GTK_CONTAINER (alignment93), hbox11);
+
+  image10 = gtk_image_new_from_stock ("gtk-refresh", GTK_ICON_SIZE_BUTTON);
+  gtk_box_pack_start (GTK_BOX (hbox11), image10, FALSE, FALSE, 0);
+
+  label102 = gtk_label_new_with_mnemonic (_("Reload Plugins"));
+  gtk_box_pack_start (GTK_BOX (hbox11), label102, FALSE, FALSE, 0);
+
+  close = gtk_button_new_from_stock ("gtk-close");
+  gtk_container_add (GTK_CONTAINER (prefswin_button_box), close);
+  GTK_WIDGET_SET_FLAGS (close, GTK_CAN_DEFAULT);
+  gtk_widget_add_accelerator (close, "clicked", accel_group,
+                              GDK_Escape, (GdkModifierType) 0,
+                              GTK_ACCEL_VISIBLE);
+
+
+    gtk_label_set_mnemonic_widget (GTK_LABEL (input_plugin_list_label), category_notebook);
+    gtk_label_set_mnemonic_widget (GTK_LABEL (label11), category_notebook);
+    gtk_label_set_mnemonic_widget (GTK_LABEL (label53), category_notebook);
+    gtk_label_set_mnemonic_widget (GTK_LABEL (label64), category_notebook);
+    gtk_label_set_mnemonic_widget (GTK_LABEL (label103), category_notebook);
+    gtk_label_set_mnemonic_widget (GTK_LABEL (label104), category_notebook);
+    gtk_label_set_mnemonic_widget (GTK_LABEL (label105), fontbutton1);
+    gtk_label_set_mnemonic_widget (GTK_LABEL (label106), fontbutton2);
+    gtk_label_set_mnemonic_widget (GTK_LABEL (label107), category_notebook);
+
+    gtk_window_add_accel_group (GTK_WINDOW (prefswin), accel_group);
+
+    /* connect signals */
+    g_signal_connect(G_OBJECT(prefswin), "delete_event",
+                     G_CALLBACK(gtk_widget_hide_on_delete),
+                     NULL);
+    g_signal_connect_after(G_OBJECT(input_plugin_view), "realize",
+                           G_CALLBACK(on_input_plugin_view_realize),
+                           NULL);
+    g_signal_connect_after(G_OBJECT(general_plugin_view), "realize",
+                           G_CALLBACK(on_general_plugin_view_realize),
+                           NULL);
+    g_signal_connect_after(G_OBJECT(vis_plugin_view), "realize",
+                           G_CALLBACK(on_vis_plugin_view_realize),
+                           NULL);
+    g_signal_connect_after(G_OBJECT(effect_plugin_view), "realize",
+                           G_CALLBACK(on_effect_plugin_view_realize),
+                           NULL);
+    g_signal_connect(G_OBJECT(colorspace_button), "clicked",
+                     G_CALLBACK(on_colorize_button_clicked),
+                     NULL);
+    g_signal_connect_swapped(G_OBJECT(skin_refresh_button), "clicked",
+                             G_CALLBACK(on_skin_refresh_button_clicked),
+                             prefswin);
+    g_signal_connect_after(G_OBJECT(skin_view), "realize",
+                           G_CALLBACK(on_skin_view_realize),
+                           NULL);
+    g_signal_connect_after(G_OBJECT(fontbutton1), "realize",
+                           G_CALLBACK(on_mainwin_font_button_realize),
+                           NULL);
+    g_signal_connect(G_OBJECT(fontbutton1), "font_set",
+                     G_CALLBACK(on_mainwin_font_button_font_set),
+                     NULL);
+    g_signal_connect_after(G_OBJECT(fontbutton2), "realize",
+                           G_CALLBACK(on_playlist_font_button_realize),
+                           NULL);
+    g_signal_connect(G_OBJECT(fontbutton2), "font_set",
+                     G_CALLBACK(on_playlist_font_button_font_set),
+                     NULL);
+    g_signal_connect(G_OBJECT(checkbutton11), "toggled",
+                     G_CALLBACK(on_use_bitmap_fonts_toggled),
+                     NULL);
+    g_signal_connect_after(G_OBJECT(checkbutton11), "realize",
+                           G_CALLBACK(on_use_bitmap_fonts_realize),
+                           NULL);
+    g_signal_connect(G_OBJECT(playlist_show_pl_numbers), "toggled",
+                     G_CALLBACK(on_playlist_show_pl_numbers_toggled),
+                     NULL);
+    g_signal_connect_after(G_OBJECT(playlist_show_pl_numbers), "realize",
+                           G_CALLBACK(on_playlist_show_pl_numbers_realize),
+                           NULL);
+    g_signal_connect(G_OBJECT(playlist_show_pl_separator), "toggled",
+                     G_CALLBACK(on_playlist_show_pl_separator_toggled),
+                     NULL);
+    g_signal_connect_after(G_OBJECT(playlist_show_pl_separator), "realize",
+                           G_CALLBACK(on_playlist_show_pl_separator_realize),
+                           NULL);
+    g_signal_connect(G_OBJECT(checkbutton14), "toggled",
+                     G_CALLBACK(on_custom_cursors_toggled),
+                     NULL);
+    g_signal_connect_after(G_OBJECT(checkbutton14), "realize",
+                           G_CALLBACK(on_custom_cursors_realize),
+                           NULL);
+    g_signal_connect(G_OBJECT(show_wm_decorations), "toggled",
+                     G_CALLBACK(on_show_wm_decorations_toggled),
+                     NULL);
+    g_signal_connect(G_OBJECT(show_wm_decorations), "realize",
+                     G_CALLBACK(on_show_wm_decorations_realize),
+                     NULL);
+    g_signal_connect(G_OBJECT(xmms_style_fileselector_cb1), "toggled",
+                     G_CALLBACK(on_xmms_style_fileselector_toggled),
+                     NULL);
+    g_signal_connect(G_OBJECT(xmms_style_fileselector_cb1), "realize",
+                     G_CALLBACK(on_xmms_style_fileselector_realize),
+                     NULL);
+    g_signal_connect(G_OBJECT(checkbutton17), "toggled",
+                     G_CALLBACK(on_twoway_scroller_toggled),
+                     NULL);
+    g_signal_connect(G_OBJECT(checkbutton17), "realize",
+                     G_CALLBACK(on_twoway_scroller_realize),
+                     NULL);
+    g_signal_connect(G_OBJECT(mouse_wheel_volume), "value_changed",
+                     G_CALLBACK(on_mouse_wheel_volume_changed),
+                     NULL);
+    g_signal_connect_after(G_OBJECT(mouse_wheel_volume), "realize",
+                           G_CALLBACK(on_mouse_wheel_volume_realize),
+                           NULL);
+    g_signal_connect(G_OBJECT(mouse_wheel_scroll_pl), "value_changed",
+                     G_CALLBACK(on_mouse_wheel_scroll_pl_changed),
+                     NULL);
+    g_signal_connect_after(G_OBJECT(mouse_wheel_scroll_pl), "realize",
+                           G_CALLBACK(on_mouse_wheel_scroll_pl_realize),
+                           NULL);
+    g_signal_connect(G_OBJECT(playlist_convert_underscore), "toggled",
+                     G_CALLBACK(on_playlist_convert_underscore_toggled),
+                     NULL);
+    g_signal_connect_after(G_OBJECT(playlist_convert_underscore), "realize",
+                          G_CALLBACK(on_playlist_convert_underscore_realize),
+                          NULL);
+    g_signal_connect(G_OBJECT(playlist_convert_twenty), "toggled",
+                     G_CALLBACK(on_playlist_convert_twenty_toggled),
+                     NULL);
+    g_signal_connect_after(G_OBJECT(playlist_convert_twenty), "realize",
+                           G_CALLBACK(on_playlist_convert_twenty_realize),
+                           NULL);
+    g_signal_connect(G_OBJECT(playlist_convert_slash), "toggled",
+                     G_CALLBACK(on_playlist_convert_slash_toggled),
+                     NULL);
+    g_signal_connect_after(G_OBJECT(playlist_convert_slash), "realize",
+                           G_CALLBACK(on_playlist_convert_slash_realize),
+                           NULL);
+    g_signal_connect(G_OBJECT(playlist_metadata_on_load), "toggled",
+                     G_CALLBACK(on_pl_metadata_on_load_toggled),
+                     NULL);
+    g_signal_connect_after(G_OBJECT(playlist_metadata_on_load), "realize",
+                           G_CALLBACK(on_pl_metadata_on_load_realize),
+                           NULL);
+    g_signal_connect(G_OBJECT(playlist_metadata_on_display), "toggled",
+                     G_CALLBACK(on_pl_metadata_on_display_toggled),
+                     NULL);
+    g_signal_connect_after(G_OBJECT(playlist_metadata_on_display), "realize",
+                           G_CALLBACK(on_pl_metadata_on_display_realize),
+                           NULL);
+    g_signal_connect_after(G_OBJECT(combobox1), "realize",
+                           G_CALLBACK(on_chardet_detector_cbox_realize),
+                           NULL);
+    g_signal_connect(G_OBJECT(entry1), "changed",
+                     G_CALLBACK(on_chardet_fallback_changed),
+                     NULL);
+    g_signal_connect_after(G_OBJECT(entry1), "realize",
+                           G_CALLBACK(on_chardet_fallback_realize),
+                           NULL);
+    g_signal_connect(G_OBJECT(refresh_file_list), "toggled",
+                     G_CALLBACK(on_refresh_file_list_toggled),
+                     NULL);
+    g_signal_connect_after(G_OBJECT(refresh_file_list), "realize",
+                           G_CALLBACK(on_refresh_file_list_realize),
+                           NULL);
+    g_signal_connect(G_OBJECT(titlestring_entry), "changed",
+                     G_CALLBACK(on_titlestring_entry_changed),
+                     NULL);
+    g_signal_connect_after(G_OBJECT(titlestring_entry), "realize",
+                           G_CALLBACK(on_titlestring_entry_realize),
+                           NULL);
+    g_signal_connect(G_OBJECT(checkbutton10), "toggled",
+                    G_CALLBACK(on_show_filepopup_for_tuple_toggled),
+                    NULL);
+    g_signal_connect_after(G_OBJECT(checkbutton10), "realize",
+                           G_CALLBACK(on_show_filepopup_for_tuple_realize),
+                           NULL);
+    g_signal_connect(G_OBJECT(filepopup_for_tuple_settings_button), "clicked",
+                     G_CALLBACK(on_filepopup_for_tuple_settings_clicked),
+                     NULL);
+    g_signal_connect(G_OBJECT(eq_file_preset_entry), "changed",
+                     G_CALLBACK(on_eq_file_preset_entry_changed),
+                     NULL);
+    g_signal_connect(G_OBJECT(eq_file_preset_entry), "realize",
+                     G_CALLBACK(on_eq_file_preset_entry_realize),
+                     NULL);
+    g_signal_connect(G_OBJECT(eq_dir_preset_entry), "changed",
+                     G_CALLBACK(on_eq_dir_preset_entry_changed),
+                     NULL);
+    g_signal_connect(G_OBJECT(eq_dir_preset_entry), "realize",
+                     G_CALLBACK(on_eq_dir_preset_entry_realize),
+                     NULL);
+    g_signal_connect(G_OBJECT(proxy_use), "toggled",
+                     G_CALLBACK(on_proxy_use_toggled),
+                     NULL);
+    g_signal_connect(G_OBJECT(proxy_use), "realize",
+                     G_CALLBACK(on_proxy_use_realize),
+                     NULL);
+    g_signal_connect(G_OBJECT(proxy_port), "changed",
+                     G_CALLBACK(on_proxy_port_changed),
+                     NULL);
+    g_signal_connect(G_OBJECT(proxy_port), "realize",
+                     G_CALLBACK(on_proxy_port_realize),
+                     NULL);
+    g_signal_connect(G_OBJECT(proxy_host), "changed",
+                     G_CALLBACK(on_proxy_host_changed),
+                     NULL);
+    g_signal_connect(G_OBJECT(proxy_host), "realize",
+                     G_CALLBACK(on_proxy_host_realize),
+                     NULL);
+    g_signal_connect(G_OBJECT(proxy_auth), "toggled",
+                     G_CALLBACK(on_proxy_auth_toggled),
+                     NULL);
+    g_signal_connect(G_OBJECT(proxy_auth), "realize",
+                     G_CALLBACK(on_proxy_auth_realize),
+                     NULL);
+    g_signal_connect(G_OBJECT(proxy_pass), "changed",
+                     G_CALLBACK(on_proxy_pass_changed),
+                     NULL);
+    g_signal_connect(G_OBJECT(proxy_pass), "realize",
+                     G_CALLBACK(on_proxy_pass_realize),
+                     NULL);
+    g_signal_connect(G_OBJECT(proxy_user), "changed",
+                     G_CALLBACK(on_proxy_user_changed),
+                     NULL);
+    g_signal_connect(G_OBJECT(proxy_user), "realize",
+                     G_CALLBACK(on_proxy_user_realize),
+                     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(audio_format_det_cb), "toggled",
+                     G_CALLBACK(on_audio_format_det_cb_toggled),
+                     NULL);
+    g_signal_connect(G_OBJECT(audio_format_det_cb), "realize",
+                     G_CALLBACK(on_audio_format_det_cb_realize),
+                     NULL);
+    g_signal_connect(G_OBJECT(detect_by_extension_cb), "toggled",
+                     G_CALLBACK(on_detect_by_extension_cb_toggled),
+                     NULL);
+    g_signal_connect(G_OBJECT(detect_by_extension_cb), "realize",
+                     G_CALLBACK(on_detect_by_extension_cb_realize),
+                     NULL);
+    g_signal_connect(G_OBJECT(continue_playback_on_startup), "toggled",
+                     G_CALLBACK(on_continue_playback_on_startup_toggled),
+                     NULL);
+    g_signal_connect(G_OBJECT(continue_playback_on_startup), "realize",
+                     G_CALLBACK(on_continue_playback_on_startup_realize),
+                     NULL);
+    g_signal_connect(G_OBJECT(playlist_no_advance), "toggled",
+                     G_CALLBACK(on_playlist_no_advance_toggled),
+                     NULL);
+    g_signal_connect_after(G_OBJECT(playlist_no_advance), "realize",
+                           G_CALLBACK(on_playlist_no_advance_realize),
+                           NULL);
+    g_signal_connect(G_OBJECT(pause_between_songs_time), "value_changed",
+                     G_CALLBACK(on_pause_between_songs_time_changed),
+                     NULL);
+    g_signal_connect_after(G_OBJECT(pause_between_songs_time), "realize",
+                           G_CALLBACK(on_pause_between_songs_time_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);
+    g_signal_connect_swapped(G_OBJECT(close), "clicked",
+                             G_CALLBACK(gtk_widget_hide),
+                             GTK_OBJECT (prefswin));
 
     /* create category view */
-    widget = glade_xml_get_widget(xml, "category_view");
-    widget2 = glade_xml_get_widget(xml, "category_notebook");
-    g_signal_connect_after(G_OBJECT(widget), "realize",
-                           G_CALLBACK(on_category_view_realize),
-                           widget2);
-
-    category_treeview = GTK_WIDGET(widget);
-    category_notebook = GTK_WIDGET(widget2);
+    g_signal_connect_after(G_OBJECT(category_treeview), "realize",
+                           G_CALLBACK(on_category_treeview_realize),
+                           category_notebook);
 
     /* plugin->input page */
-
-    widget = glade_xml_get_widget(xml, "input_plugin_view");
-    widget2 = glade_xml_get_widget(xml, "input_plugin_prefs");
-    g_object_set_data(G_OBJECT(widget), "plugin_type" , GINT_TO_POINTER(PLUGIN_VIEW_TYPE_INPUT));
-    g_signal_connect(G_OBJECT(widget), "row-activated",
+    g_object_set_data(G_OBJECT(input_plugin_view), "plugin_type" , GINT_TO_POINTER(PLUGIN_VIEW_TYPE_INPUT));
+    g_signal_connect(G_OBJECT(input_plugin_view), "row-activated",
                      G_CALLBACK(plugin_treeview_open_prefs),
                      NULL);
-    g_signal_connect(G_OBJECT(widget), "cursor-changed",
+    g_signal_connect(G_OBJECT(input_plugin_view), "cursor-changed",
                      G_CALLBACK(plugin_treeview_enable_prefs),
-                     widget2);
-
-    g_signal_connect_swapped(G_OBJECT(widget2), "clicked",
+                     input_plugin_prefs);
+
+    g_signal_connect_swapped(G_OBJECT(input_plugin_prefs), "clicked",
                              G_CALLBACK(plugin_treeview_open_prefs),
-                             widget);
-    widget2 = glade_xml_get_widget(xml, "input_plugin_info");
-    g_signal_connect(G_OBJECT(widget), "cursor-changed",
+                             input_plugin_view);
+
+    g_signal_connect(G_OBJECT(input_plugin_view), "cursor-changed",
                      G_CALLBACK(plugin_treeview_enable_info),
-                     widget2);
-    g_signal_connect_swapped(G_OBJECT(widget2), "clicked",
+                     input_plugin_info);
+    g_signal_connect_swapped(G_OBJECT(input_plugin_info), "clicked",
                              G_CALLBACK(plugin_treeview_open_info),
-                             widget);
+                             input_plugin_view);
 
     /* plugin->output page */
 
-    widget = glade_xml_get_widget(xml, "output_plugin_cbox");
-
-    widget2 = glade_xml_get_widget(xml, "output_plugin_prefs");
-    g_signal_connect(G_OBJECT(widget), "changed",
+    g_signal_connect(G_OBJECT(output_plugin_cbox), "changed",
                      G_CALLBACK(output_plugin_enable_prefs),
-                     widget2);
-    g_signal_connect_swapped(G_OBJECT(widget2), "clicked",
+                     output_plugin_prefs);
+    g_signal_connect_swapped(G_OBJECT(output_plugin_prefs), "clicked",
                              G_CALLBACK(output_plugin_open_prefs),
-                             widget);
-
-    widget2 = glade_xml_get_widget(xml, "output_plugin_info");
-    g_signal_connect(G_OBJECT(widget), "changed",
+                             output_plugin_cbox);
+
+    g_signal_connect(G_OBJECT(output_plugin_cbox), "changed",
                      G_CALLBACK(output_plugin_enable_info),
-                     widget2);
-    g_signal_connect_swapped(G_OBJECT(widget2), "clicked",
+                     output_plugin_info);
+    g_signal_connect_swapped(G_OBJECT(output_plugin_info), "clicked",
                              G_CALLBACK(output_plugin_open_info),
-                             widget);
+                             output_plugin_cbox);
 
     /* plugin->general page */
 
-    widget = glade_xml_get_widget(xml, "general_plugin_view");
-    g_object_set_data(G_OBJECT(widget), "plugin_type" , GINT_TO_POINTER(PLUGIN_VIEW_TYPE_GENERAL));
-    g_signal_connect(G_OBJECT(widget), "row-activated",
+    g_object_set_data(G_OBJECT(general_plugin_view), "plugin_type" , GINT_TO_POINTER(PLUGIN_VIEW_TYPE_GENERAL));
+    g_signal_connect(G_OBJECT(general_plugin_view), "row-activated",
                      G_CALLBACK(plugin_treeview_open_prefs),
                      NULL);
 
-    widget2 = glade_xml_get_widget(xml, "general_plugin_prefs");
-    g_signal_connect(G_OBJECT(widget), "cursor-changed",
+    g_signal_connect(G_OBJECT(general_plugin_view), "cursor-changed",
                      G_CALLBACK(plugin_treeview_enable_prefs),
-                     widget2);
-
-    g_signal_connect_swapped(G_OBJECT(widget2), "clicked",
+                     general_plugin_prefs);
+
+    g_signal_connect_swapped(G_OBJECT(general_plugin_prefs), "clicked",
                              G_CALLBACK(plugin_treeview_open_prefs),
-                             widget);
-
-    widget2 = glade_xml_get_widget(xml, "general_plugin_info");
-    g_signal_connect(G_OBJECT(widget), "cursor-changed",
+                             general_plugin_view);
+
+    g_signal_connect(G_OBJECT(general_plugin_view), "cursor-changed",
                      G_CALLBACK(plugin_treeview_enable_info),
-                     widget2);
-    g_signal_connect_swapped(G_OBJECT(widget2), "clicked",
+                     general_plugin_info);
+    g_signal_connect_swapped(G_OBJECT(general_plugin_info), "clicked",
                              G_CALLBACK(plugin_treeview_open_info),
-                             widget);
+                             general_plugin_view);
 
 
     /* plugin->vis page */
 
-    widget = glade_xml_get_widget(xml, "vis_plugin_view");
-    widget2 = glade_xml_get_widget(xml, "vis_plugin_prefs");
-
-    g_object_set_data(G_OBJECT(widget), "plugin_type" , GINT_TO_POINTER(PLUGIN_VIEW_TYPE_VIS));
-    g_signal_connect(G_OBJECT(widget), "row-activated",
+    g_object_set_data(G_OBJECT(vis_plugin_view), "plugin_type" , GINT_TO_POINTER(PLUGIN_VIEW_TYPE_VIS));
+    g_signal_connect(G_OBJECT(vis_plugin_view), "row-activated",
                      G_CALLBACK(plugin_treeview_open_prefs),
                      NULL);
-    g_signal_connect_swapped(G_OBJECT(widget2), "clicked",
+    g_signal_connect_swapped(G_OBJECT(vis_plugin_prefs), "clicked",
                              G_CALLBACK(plugin_treeview_open_prefs),
-                             widget);
-    g_signal_connect(G_OBJECT(widget), "cursor-changed",
-                     G_CALLBACK(plugin_treeview_enable_prefs), widget2);
-
-
-    widget2 = glade_xml_get_widget(xml, "vis_plugin_info");
-    g_signal_connect(G_OBJECT(widget), "cursor-changed",
-                     G_CALLBACK(plugin_treeview_enable_info), widget2);
-    g_signal_connect_swapped(G_OBJECT(widget2), "clicked",
+                             vis_plugin_view);
+    g_signal_connect(G_OBJECT(vis_plugin_view), "cursor-changed",
+                     G_CALLBACK(plugin_treeview_enable_prefs), vis_plugin_prefs);
+
+    g_signal_connect(G_OBJECT(vis_plugin_view), "cursor-changed",
+                     G_CALLBACK(plugin_treeview_enable_info), vis_plugin_info);
+    g_signal_connect_swapped(G_OBJECT(vis_plugin_info), "clicked",
                              G_CALLBACK(plugin_treeview_open_info),
-                             widget);
+                             vis_plugin_view);
 
 
     /* plugin->effects page */
 
-    widget = glade_xml_get_widget(xml, "effect_plugin_view");
-    widget2 = glade_xml_get_widget(xml, "effect_plugin_prefs");
-
-    g_object_set_data(G_OBJECT(widget), "plugin_type" , GINT_TO_POINTER(PLUGIN_VIEW_TYPE_EFFECT));
-    g_signal_connect(G_OBJECT(widget), "row-activated",
+    g_object_set_data(G_OBJECT(effect_plugin_view), "plugin_type" , GINT_TO_POINTER(PLUGIN_VIEW_TYPE_EFFECT));
+    g_signal_connect(G_OBJECT(effect_plugin_view), "row-activated",
                      G_CALLBACK(plugin_treeview_open_prefs),
                      NULL);
-    g_signal_connect_swapped(G_OBJECT(widget2), "clicked",
+    g_signal_connect_swapped(G_OBJECT(effect_plugin_prefs), "clicked",
                              G_CALLBACK(plugin_treeview_open_prefs),
-                             widget);
-    g_signal_connect(G_OBJECT(widget), "cursor-changed",
-                     G_CALLBACK(plugin_treeview_enable_prefs), widget2);
-
-
-    widget2 = glade_xml_get_widget(xml, "effect_plugin_info");
-    g_signal_connect(G_OBJECT(widget), "cursor-changed",
-                     G_CALLBACK(plugin_treeview_enable_info), widget2);
-    g_signal_connect_swapped(G_OBJECT(widget2), "clicked",
+                             effect_plugin_view);
+    g_signal_connect(G_OBJECT(effect_plugin_view), "cursor-changed",
+                     G_CALLBACK(plugin_treeview_enable_prefs), effect_plugin_prefs);
+
+    g_signal_connect(G_OBJECT(effect_plugin_view), "cursor-changed",
+                     G_CALLBACK(plugin_treeview_enable_info), effect_plugin_info);
+    g_signal_connect_swapped(G_OBJECT(effect_plugin_info), "clicked",
                              G_CALLBACK(plugin_treeview_open_info),
-                             widget);
+                             effect_plugin_view);
 
     /* playlist page */
 
-    widget = glade_xml_get_widget(xml, "pause_between_songs_box");
-    widget2 = glade_xml_get_widget(xml, "pause_between_songs");
-    g_signal_connect_after(G_OBJECT(widget2), "realize",
+    g_signal_connect_after(G_OBJECT(pause_between_songs), "realize",
                            G_CALLBACK(on_pause_between_songs_realize),
-                           widget);
-    g_signal_connect(G_OBJECT(widget2), "toggled",
+                           pause_between_songs_box);
+    g_signal_connect(G_OBJECT(pause_between_songs), "toggled",
                      G_CALLBACK(on_pause_between_songs_toggled),
-                     widget);
-
-    widget = glade_xml_get_widget(xml, "playlist_use_metadata_box");
-    widget2 = glade_xml_get_widget(xml, "playlist_use_metadata");
-    g_signal_connect_after(G_OBJECT(widget2), "realize",
+                     pause_between_songs_box);
+
+    g_signal_connect_after(G_OBJECT(playlist_use_metadata), "realize",
                            G_CALLBACK(on_use_pl_metadata_realize),
-                           widget);
-    g_signal_connect(G_OBJECT(widget2), "toggled",
+                           playlist_use_metadata_box);
+    g_signal_connect(G_OBJECT(playlist_use_metadata), "toggled",
                      G_CALLBACK(on_use_pl_metadata_toggled),
-                     widget);
-
-    widget = glade_xml_get_widget(xml, "skin_view");
-    g_signal_connect(widget, "drag-data-received",
+                     playlist_use_metadata_box);
+
+    g_signal_connect(skin_view, "drag-data-received",
                      G_CALLBACK(on_skin_view_drag_data_received),
                      NULL);
-    bmp_drag_dest_set(widget);
+    bmp_drag_dest_set(skin_view);
 
     g_signal_connect(mainwin, "drag-data-received",
                      G_CALLBACK(mainwin_drag_data_received),
-                     widget);
-
-    widget = glade_xml_get_widget(xml, "skin_refresh_button");
-    g_signal_connect(widget, "clicked",
+                     skin_view);
+
+    g_signal_connect(skin_refresh_button, "clicked",
                      G_CALLBACK(on_skin_refresh_button_clicked),
                      NULL);
 
-    widget = glade_xml_get_widget(xml, "playlist_font_button");
     g_signal_connect(mainwin, "drag-data-received",
                      G_CALLBACK(mainwin_drag_data_received),
-                     widget);
-
-    widget = glade_xml_get_widget(xml, "titlestring_cbox");
-    widget2 = glade_xml_get_widget(xml, "titlestring_entry");
-    g_signal_connect(widget, "realize",
+                     fontbutton2);
+
+    g_signal_connect(titlestring_cbox, "realize",
                      G_CALLBACK(on_titlestring_cbox_realize),
-                     widget2);
-    g_signal_connect(widget, "changed",
+                     titlestring_entry);
+    g_signal_connect(titlestring_cbox, "changed",
                      G_CALLBACK(on_titlestring_cbox_changed),
-                     widget2);
+                     titlestring_entry);
 
     /* FIXME: move this into a function */
     /* create tag menu */
@@ -2300,27 +3796,24 @@
                          GINT_TO_POINTER(i));
     };
     gtk_widget_show_all(titlestring_tag_menu);
-    
-    widget = glade_xml_get_widget(xml, "titlestring_help_button");
-    widget2 = glade_xml_get_widget(xml, "titlestring_cbox");
-
-    g_signal_connect(widget2, "changed",
+
+    g_signal_connect(titlestring_cbox, "changed",
                      G_CALLBACK(on_titlestring_cbox_changed),
-                     widget);
-    g_signal_connect(widget, "clicked",
+                     titlestring_help_button);
+    g_signal_connect(titlestring_help_button, "clicked",
                      G_CALLBACK(on_titlestring_help_button_clicked),
                      titlestring_tag_menu);
 
    /* audacious version label */
-   widget = glade_xml_get_widget(xml, "audversionlabel");
 
    aud_version_string = g_strdup_printf("<span size='small'>%s (%s) (%s@%s)</span>",
                                         "Audacious " PACKAGE_VERSION ,
                                         svn_stamp ,
                                         g_get_user_name() , g_get_host_name() );
 
-   gtk_label_set_markup( GTK_LABEL(widget) , aud_version_string );
+   gtk_label_set_markup( GTK_LABEL(audversionlabel) , aud_version_string );
    g_free(aud_version_string);
+    gtk_widget_show_all(vbox);
 
     /* Create window for filepopup settings */
     create_filepopup_settings();
@@ -2335,14 +3828,7 @@
 
     if ( !skinlist_filled )
     {
-      GladeXML *xml;
-      GtkWidget *widget, *widget2;
-
-      xml = prefswin_get_xml();
-
-      widget = glade_xml_get_widget(xml, "skin_view");
-      widget2 = glade_xml_get_widget(xml, "skin_refresh_button");
-      skin_view_update(GTK_TREE_VIEW(widget), GTK_WIDGET(widget2));
+      skin_view_update(GTK_TREE_VIEW(skin_view), GTK_WIDGET(skin_refresh_button));
       skinlist_filled = TRUE;
     }
 }
--- a/src/audacious/ui_urlopener.c	Sat Nov 24 14:48:01 2007 +0100
+++ b/src/audacious/ui_urlopener.c	Sat Nov 24 17:09:11 2007 +0100
@@ -32,7 +32,6 @@
 
 #include <glib.h>
 #include <glib/gi18n.h>
-#include <glade/glade.h>
 #include <gtk/gtk.h>
 #include <stdlib.h>
 #include <string.h>
@@ -41,7 +40,6 @@
 #include "platform/smartinclude.h"
 #include <errno.h>
 
-#include "glade.h"
 #include "input.h"
 #include "main.h"
 #include "playback.h"
--- a/src/audacious/util.c	Sat Nov 24 14:48:01 2007 +0100
+++ b/src/audacious/util.c	Sat Nov 24 17:09:11 2007 +0100
@@ -27,12 +27,10 @@
 #  include "config.h"
 #endif
 
-#define NEED_GLADE
 #include "util.h"
 
 #include <glib.h>
 #include <glib/gi18n.h>
-#include <glade/glade.h>
 #include <gtk/gtk.h>
 #include <stdlib.h>
 #include <string.h>
@@ -47,7 +45,6 @@
 #  include <fts.h>
 #endif
 
-#include "glade.h"
 #include "input.h"
 #include "main.h"
 #include "playback.h"