changeset 3802:fe3a1ae77f80 trunk

Automated merge with file:/home/ccr/audacious/core
author Matti Hamalainen <ccr@tnsp.org>
date Wed, 19 Sep 2007 17:48:49 +0300
parents 701de882bcc2 (current diff) 4f99a9e270cf (diff)
children b063954445cf
files mk/init.mk mk/objective.mk mk/rules.mk.in
diffstat 47 files changed, 5141 insertions(+), 6555 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile	Fri Sep 14 08:10:29 2007 +0300
+++ b/Makefile	Wed Sep 19 17:48:49 2007 +0300
@@ -1,71 +1,32 @@
-.SILENT:
+DISTCLEAN = extra.mk
 
-include mk/rules.mk
-include mk/init.mk
+include buildsys.mk
 
 SUBDIRS = src man po icons skins
 
-include mk/objective.mk
-
-install-posthook:
-	@if test `whoami` = 'root' && test -z "$(DESTDIR)"; then \
-		echo; \
-		echo "WARNING:"; \
-		echo "On some systems, it might be required that you run"; \
-		echo "ldconfig. However, this isn't done automatically"; \
-		echo "because some ldconfig versions might break the system"; \
-		echo "if it's called without any parameters."; \
-	fi
-
 OBJECTIVE_DATA =							\
 	audacious.pc:$(LIBDIR)/pkgconfig				\
 	audclient.pc:$(LIBDIR)/pkgconfig
 
-build-posthook:
-	@( \
-		echo; \
-		echo "Now type '$(MAKE) documentation-build' to build the audacious SDK docs."; \
-		echo "This will require GTK-DOC to be installed."; \
-		echo; \
-	);
-
-documentation-build:
-	( \
-		if [ ! -d doc ]; then \
-			mkdir -p doc/libaudacious/xml; \
-			mkdir -p doc/audacious/xml; \
+install-extra:
+	y="audacious.pc audclient.pc"; \
+	for i in $$y; do \
+	        ${INSTALL_STATUS}; \
+		if ${MKDIR_P} ${DESTDIR}${libdir}/pkgconfig && ${INSTALL} -m 644 $$i ${DESTDIR}${libdir}/pkgconfig/$$i; then \
+			${INSTALL_OK}; \
+		else \
+			${INSTALL_FAILED}; \
 		fi; \
-		cd doc/libaudacious; \
-			gtkdoc-scan --module=libaudacious --source-dir=../../src/libaudacious; \
-		cd ../..; \
-		cd doc/audacious; \
-			gtkdoc-scan --module=audacious --source-dir=../../src/audacious --ignore-headers=intl; \
-		cd ../..; \
-		cd doc/libaudacious; \
-			gtkdoc-mktmpl --module=libaudacious; \
-		cd ../..; \
-		cd doc/audacious; \
-			gtkdoc-mktmpl --module=audacious; \
-		cd ../..; \
-		cd doc/libaudacious; \
-			gtkdoc-mkdb --module=libaudacious --source-dir=../../src/libaudacious/ --output-format=xml --main-sgml-file=xml/libaudacious-main.sgml; \
-		cd ../..; \
-		cd doc/audacious; \
-			gtkdoc-mkdb --module=audacious --source-dir=../../src/audacious/ --ignore-files=intl --output-format=xml --main-sgml-file=xml/audacious-main.sgml; \
-		cd ../..; \
-		rm -rf doc/libaudacious/html; \
-		mkdir -p doc/libaudacious/html; \
-		rm -rf doc/audacious/html; \
-		mkdir -p doc/audacious/html; \
-		cd doc/libaudacious/html; \
-			gtkdoc-mkhtml libaudacious ../libaudacious-main.sgml; \
-		cd ../../..; \
-		cd doc/audacious/html; \
-			rm ../xml/xml; \
-			ln -sf ../xml ../xml/xml; \
-			gtkdoc-mkhtml audacious ../xml/audacious-main.sgml; \
-		cd ../../..; \
-		echo; \
-		echo "The audacious SDK documentation was built successfully in doc/."; \
-		echo; \
-	);
+	done
+
+uninstall-extra:
+	y="audacious.pc audclient.pc"; \
+	for i in $$y; do \
+		if [ -f ${DESTDIR}${libdir}/pkgconfig/$$i ]; then \
+			if rm -f ${DESTDIR}${libdir}/pkgconfig/$$i; then \
+				${DELETE_OK}; \
+			else \
+				${DELETE_FAILED}; \
+			fi \
+		fi; \
+	done
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/buildsys.mk.in	Wed Sep 19 17:48:49 2007 +0300
@@ -0,0 +1,388 @@
+#
+#  Copyright (c) 2007, Jonathan Schleifer <js@h3c.de>
+#
+#  Permission to use, copy, modify, and/or distribute this software for any
+#  purpose with or without fee is hereby granted, provided that the above
+#  copyright notice and this permission notice is present in all copies.
+#
+#  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+#  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+#  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+#  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+#  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+#  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+#  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+#  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+#  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+#  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+#  POSSIBILITY OF SUCH DAMAGE.
+#
+
+PACKAGE = @PACKAGE@
+CC = @CC@
+CXX = @CXX@
+CPP = @CPP@
+DC = @DC@
+ERLC = @ERLC@
+OBJC = @OBJC@
+AR = @AR@
+LD = ${CC}
+CFLAGS = @CFLAGS@
+CXXFLAGS = @CXXFLAGS@
+CPPFLAGS = @CPPFLAGS@
+DFLAGS = @DFLAGS@
+ERLCFLAGS = @ERLCFLAGS@
+OBJCFLAGS = @OBJCFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+LIB_CPPFLAGS = @LIB_CPPFLAGS@
+LIB_CFLAGS = @LIB_CFLAGS@
+LIB_LDFLAGS = @LIB_LDFLAGS@
+LIB_PREFIX = @LIB_PREFIX@
+LIB_SUFFIX = @LIB_SUFFIX@
+PLUGIN_CPPFLAGS = @PLUGIN_CPPFLAGS@
+PLUGIN_CFLAGS = @PLUGIN_CFLAGS@
+PLUGIN_LDFLAGS = @PLUGIN_LDFLAGS@
+PLUGIN_SUFFIX = @PLUGIN_SUFFIX@
+INSTALL_LIB = @INSTALL_LIB@
+UNINSTALL_LIB = @UNINSTALL_LIB@
+LN_S = @LN_S@
+MKDIR_P = mkdir -p
+INSTALL = @INSTALL@
+SHELL = @SHELL@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+bindir = @bindir@
+libdir = @libdir@
+plugindir ?= ${PACKAGE}
+datarootdir = @datarootdir@
+datadir = @datadir@
+includedir = @includedir@
+includesubdir ?= ${PACKAGE}
+mandir = @mandir@
+mansubdir ?= man1
+pkgdatadir = ${datadir}/${PACKAGE}
+
+OBJS1 = ${SRCS:.c=.o}
+OBJS2 = ${OBJS1:.cc=.o}
+OBJS3 = ${OBJS2:.cxx=.o}
+OBJS4 = ${OBJS3:.d=.o}
+OBJS5 = ${OBJS4:.erl=.beam}
+OBJS += ${OBJS5:.m=.o}
+
+ifneq ($(strip $(prefix)),)
+	RPATH = -Wl,-rpath=${libdir}
+endif
+
+.SILENT:
+.SUFFIXES: .beam .c .cc .cxx .d .erl .m
+.PHONY: all subdirs depend install uninstall clean distclean
+
+all: subdirs depend ${OBJS} ${STATIC_LIB} ${STATIC_LIB_NOINST} ${LIB} ${LIB_NOINST} ${PLUGIN} ${PLUGIN_NOINST} ${PROG} ${PROG_NOINST}
+
+subdirs:
+	for i in ${SUBDIRS}; do \
+		${DIR_ENTER}; \
+		${MAKE} || exit 1; \
+		${DIR_LEAVE}; \
+	done
+
+depend-hook:
+
+depend: depend-hook
+	regen=0; \
+	for i in ${SRCS}; do [ $$i -nt .deps ] && regen=1; done; \
+	if [ $$regen = 1 ]; then \
+		rm -f .deps; \
+		for i in ${SRCS}; do \
+			case $${i##*.} in \
+			c|cc|cxx|m) \
+				${CPP} ${CPPFLAGS} -M $$i >>.deps; \
+			esac; \
+		done; \
+	fi
+
+${PROG} ${PROG_NOINST}: ${EXT_DEPS} ${OBJS}
+	${LINK_STATUS}
+	if ${LD} -o $@ ${OBJS} ${LDFLAGS} ${LIBS} ${RPATH}; then \
+		${LINK_OK}; \
+	else \
+		${LINK_FAILED}; \
+	fi
+
+${LIB} ${LIB_NOINST}: ${EXT_DEPS} ${OBJS}
+	${LINK_STATUS}
+	if ${LD} -o $@ ${OBJS} ${LIB_LDFLAGS} ${LDFLAGS} ${LIBS}; then \
+		${LINK_OK}; \
+	else \
+		${LINK_FAILED}; \
+	fi
+
+${PLUGIN} ${PLUGIN_NONST}: ${EXT_DEPS} ${OBJS}
+	${LINK_STATUS}
+	if ${LD} -o $@ ${OBJS} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}; then \
+		${LINK_OK}; \
+	else \
+		${LINK_FAILED}; \
+	fi
+
+${STATIC_LIB} ${STATIC_LIB_NOINST}: ${EXT_DEPS} ${OBJS}
+	${LINK_STATUS}
+	if ${AR} cq $@ ${OBJS}; then \
+		${LINK_OK}; \
+	else \
+		${LINK_FAILED}; \
+	fi
+
+${EXT_DEPS}: subdirs
+
+.c.o:
+	${COMPILE_STATUS}
+	if ${CC} ${CFLAGS} ${CPPFLAGS} -c -o $@ $<; then \
+		${COMPILE_OK}; \
+	else \
+		${COMPILE_FAILED}; \
+	fi
+
+.cc.o .cxx.o:
+	${COMPILE_STATUS}
+	if ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c -o $@ $<; then \
+		${COMPILE_OK}; \
+	else \
+		${COMPILE_FAILED}; \
+	fi
+
+.d.o:
+	${COMPILE_STATUS}
+	if test x"$(basename ${DC})" = x"dmd"; then \
+		if ${DC} ${DFLAGS} -c -of$@ $<; then \
+			${COMPILE_OK}; \
+		else \
+			${COMPILE_FAILED}; \
+		fi \
+	else \
+		if ${DC} ${DFLAGS} -c -o $@ $<; then \
+			${COMPILE_OK}; \
+		else \
+			${COMPILE_FAILED}; \
+		fi \
+	fi
+
+.erl.beam:
+	${COMPILE_STATUS}
+	if ${ERLC} ${ERLCFLAGS} -o $@ $<; then \
+		${COMPILE_OK}; \
+	else \
+		${COMPILE_FAILED}; \
+	fi
+
+.m.o:
+	${COMPILE_STATUS}
+	if ${OBJC} ${OBJCFLAGS} ${CPPFLAGS} -c -o $@ $<; then \
+		${COMPILE_OK}; \
+	else \
+		${COMPILE_FAILED}; \
+	fi
+
+install: ${LIB} ${STATIC_LIB} ${PLUGIN} ${PROG} install-extra
+	for i in ${SUBDIRS}; do \
+		${DIR_ENTER}; \
+		${MAKE} install || exit 1; \
+		${DIR_LEAVE}; \
+	done
+
+	for i in ${LIB}; do \
+		${INSTALL_STATUS}; \
+		if ${MKDIR_P} ${DESTDIR}${libdir} && ${INSTALL_LIB}; then \
+			${INSTALL_OK}; \
+		else \
+			${INSTALL_FAILED}; \
+		fi \
+	done
+
+	for i in ${STATIC_LIB}; do \
+		${INSTALL_STATUS}; \
+		if ${MKDIR_P} ${DESTDIR}${libdir} && ${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i; then \
+			${INSTALL_OK}; \
+		else \
+			${INSTALL_FAILED}; \
+		fi \
+	done
+
+	for i in ${PLUGIN}; do \
+		${INSTALL_STATUS}; \
+		if ${MKDIR_P} ${DESTDIR}${libdir}/${plugindir} && ${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/${plugindir}/$$i; then \
+			${INSTALL_OK}; \
+		else \
+			${INSTALL_FAILED}; \
+		fi \
+	done
+
+	for i in ${DATA}; do \
+		${INSTALL_STATUS}; \
+		if ${MKDIR_P} ${DESTDIR}${datadir} && ${INSTALL} -m 644 $$i ${DESTDIR}${datadir}/${PACKAGE}/$$i; then \
+			${INSTALL_OK}; \
+		else \
+			${INSTALL_FAILED}; \
+		fi \
+	done
+
+	for i in ${PROG}; do \
+		${INSTALL_STATUS}; \
+		if ${MKDIR_P} ${DESTDIR}${bindir} && ${INSTALL} -m 755 -s $$i ${DESTDIR}${bindir}/$$i; then \
+			${INSTALL_OK}; \
+		else \
+			${INSTALL_FAILED}; \
+		fi \
+	done
+
+	for i in ${INCLUDES}; do \
+		${INSTALL_STATUS}; \
+		if ${MKDIR_P} ${DESTDIR}${includedir}/${includesubdir} && ${INSTALL} -m 644 $$i ${DESTDIR}${includedir}/${includesubdir}/$$i; then \
+			${INSTALL_OK}; \
+		else \
+			${INSTALL_FAILED}; \
+		fi \
+	done
+
+	for i in ${MAN}; do \
+		${INSTALL_STATUS}; \
+		if ${MKDIR_P} ${DESTDIR}${mandir}/${mansubdir} && ${INSTALL} -m 644 $$i ${DESTDIR}${mandir}/${mansubdir}/$$i; then \
+			${INSTALL_OK}; \
+		else \
+			${INSTALL_FAILED}; \
+		fi \
+	done
+
+install-extra:
+
+uninstall: uninstall-extra
+	for i in ${SUBDIRS}; do \
+		${DIR_ENTER}; \
+		${MAKE} uninstall || exit 1; \
+		${DIR_LEAVE}; \
+	done
+
+	for i in ${LIB}; do \
+		if [ -f ${DESTDIR}${libdir}/$$i ]; then \
+			if ${UNINSTALL_LIB}; then \
+				${DELETE_OK}; \
+			else \
+				${DELETE_FAILED}; \
+			fi \
+		fi; \
+	done
+
+	for i in ${STATIC_LIB}; do \
+		if [ -f ${DESTDIR}${libdir}/$$i ]; then \
+			if rm -f ${DESTDIR}${libdir}/$$i; then \
+				${DELETE_OK}; \
+			else \
+				${DELETE_FAILED}; \
+			fi \
+		fi \
+	done
+
+	for i in ${PLUGIN}; do \
+		if [ -f ${DESTDIR}${libdir}/${plugindir}/$$i ]; then \
+			if rm -f ${DESTDIR}${libdir}/${plugindir}/$$i; then \
+				${DELETE_OK}; \
+			else \
+				${DELETE_FAILED}; \
+			fi \
+		fi \
+	done
+	-rmdir ${DESTDIR}${libdir}/${plugindir} >/dev/null 2>&1
+
+	for i in ${DATA}; do \
+		if [ -f ${DESTDIR}${datadir}/${PACKAGE}/$$i ]; then \
+			if rm -f ${DESTDIR}${datadir}/${PACKAGE}/$$i; then \
+				${DELETE_OK}; \
+			else \
+				${DELETE_FAILED}; \
+			fi \
+		fi \
+	done
+
+	for i in ${PROG}; do \
+		if [ -f ${DESTDIR}${bindir}/$$i ]; then \
+			if rm -f ${DESTDIR}${bindir}/$$i; then \
+				${DELETE_OK}; \
+			else \
+				${DELETE_FAILED}; \
+			fi \
+		fi \
+	done
+
+	for i in ${INCLUDES}; do \
+		if [ -f ${DESTDIR}${includedir}/${includesubdir}/$$i ]; then \
+			if rm -f ${DESTDIR}${includedir}/${includesubdir}/$$i; then \
+				${DELETE_OK}; \
+			else \
+				${DELETE_FAILED}; \
+			fi \
+		fi \
+	done
+	-rmdir ${DESTDIR}${includedir}/${includesubdir} >/dev/null 2>&1
+
+	for i in ${MAN}; do \
+		if [ -f ${DESTDIR}${mandir}/${mansubdir}/$$i ]; then \
+			if rm -f ${DESTDIR}${mandir}/${mansubdir}/$$i; then \
+				${DELETE_OK}; \
+			else \
+				${DELETE_FAILED}; \
+			fi \
+		fi \
+	done
+
+uninstall-extra:
+
+clean:
+	for i in ${SUBDIRS}; do \
+		${DIR_ENTER}; \
+		${MAKE} clean || exit 1; \
+		${DIR_LEAVE}; \
+	done
+	
+	for i in ${OBJS} ${CLEAN} .deps *~; do \
+		if [ -f $$i -o -d $$i ]; then \
+			if rm -fr $$i; then \
+				${DELETE_OK}; \
+			else \
+				${DELETE_FAILED}; \
+			fi \
+		fi \
+	done
+
+distclean: clean
+	for i in ${SUBDIRS}; do \
+		${DIR_ENTER}; \
+		${MAKE} distclean || exit 1; \
+		${DIR_LEAVE}; \
+	done
+	
+	for i in ${PROG} ${PROG_NOINST} ${STATIC_LIB} ${STATIC_LIB_NOINST}  ${PLUGIN} ${PLUGIN_NOINST} ${DISTCLEAN}; do \
+		if [ -f $$i -o -d $$i ]; then \
+			if rm -fr $$i; then \
+				${DELETE_OK}; \
+			else \
+				${DELETE_FAILED}; \
+			fi \
+		fi \
+	done
+
+DIR_ENTER = printf "\033[0;36mEntering directory \033[1;36m$$i\033[0;36m.\033[0m\n"; cd $$i || exit 1
+DIR_LEAVE = printf "\033[0;36mLeaving directory \033[1;36m$$i\033[0;36m.\033[0m\n"; cd .. || exit 1
+LINK_STATUS = printf "\033[0;33mLinking \033[1;33m$@\033[0;33m...\033[0m\r"
+LINK_OK = printf "\033[0;32mSuccessfully linked \033[1;32m$@\033[0;32m.\033[0m\n"
+LINK_FAILED = printf "\033[0;31mFailed to link \033[1;31m$@\033[0;31m!\033[0m\n"; exit 1
+COMPILE_STATUS = printf "\033[0;33mCompiling \033[1;33m$<\033[0;33m...\033[0m\r"
+COMPILE_OK = printf "\033[0;32mSuccessfully compiled \033[1;32m$<\033[0;32m.\033[0m\n"
+COMPILE_FAILED = printf "\033[0;31mFailed to compile \033[1;31m$<\033[0;31m!\033[0m\n"; exit 1
+INSTALL_STATUS = printf "\033[0;33mInstalling \033[1;33m$$i\033[0;33m...\033[0m\r"
+INSTALL_OK = printf "\033[0;32mSuccessfully installed \033[1;32m$$i\033[0;32m.\033[0m\n"
+INSTALL_FAILED = printf "\033[0;31mFailed to install \033[1;31m$$i\033[0;31m!\033[0m\n"; exit 1
+DELETE_OK = printf "\033[0;34mDeleted \033[1;34m$$i\033[0;34m.\033[0m\n"
+DELETE_FAILED = printf "\033[0;31mFailed to delete \033[1;31m$$i\033[0;31m!\033[0m\n"; exit 1
+
+-include .deps
--- a/configure.ac	Fri Sep 14 08:10:29 2007 +0300
+++ b/configure.ac	Wed Sep 19 17:48:49 2007 +0300
@@ -158,36 +158,25 @@
 			enable_rpath=$enableval, enable_rpath=yes)
 
 if test "x$enable_rpath" = xyes; then
-    RPATH_VAL="-Wl,-rpath=\${libdir}"
+    case "$target" in
+    *-apple-*)
+        ;;
+    *)
+        RPATH_VAL="-Wl,-rpath=\${libdir}"
+        ;;
+    esac
 fi
 
+AC_SUBST(RPATH_VAL)
+
 dnl plugin stuff
 dnl ========================
 
 dnl Ok, first we find out what flags we need to use.
-AC_MSG_CHECKING([for what extension and flags to use for plugin compilation])
-case "$target" in
-	*-apple-*)
-		AC_MSG_RESULT([Mac OS X: -fPIC -bundle -fno-common -flat_namespace -undefined suppress, .dylib])
-		PICFLAGS="-fPIC -DPIC"
-		PICLDFLAGS="-fPIC -DPIC -bundle -fno-common -flat_namespace -undefined suppress"
-		LIBLDFLAGS="-dynamiclib -flat_namespace -undefined suppress"
-		AUDLDFLAGS=""
-		SHARED_SUFFIX=".dylib"
-		;;
-	*)
-		AC_MSG_RESULT([libdl-compatible: -fPIC -DPIC -shared, .so])
-		PICFLAGS="-fPIC -DPIC"
-		PICLDFLAGS="-fPIC -DPIC -shared"
-		LIBLDFLAGS="-fPIC -DPIC -shared"
-		AUDLDFLAGS="-Wl,-export-dynamic $RPATH_VAL"
-		SHARED_SUFFIX=".so"
-		;;
-esac
-AC_SUBST(PICFLAGS)
-AC_SUBST(PICLDFLAGS)
-AC_SUBST(LIBLDFLAGS)
-AC_SUBST(AUDLDFLAGS)
+AM_SHARED_LIB
+
+dnl XXX
+SHARED_SUFFIX=$PLUGIN_SUFFIX
 AC_SUBST(SHARED_SUFFIX)
 AC_DEFINE_UNQUOTED(SHARED_SUFFIX, "${SHARED_SUFFIX}",
 	[Define the shared module suffix extension on your platform.])
@@ -199,14 +188,12 @@
 		LDFLAGS="$LDFLAGS -framework CoreFoundation -framework CoreServices -framework Carbon"
 		;;
 	*)
+		EXPORTDYN="-Wl,-export-dynamic"
 		AC_MSG_RESULT([no])
 		;;
 esac
 
-dnl libguess always compiled in
-dnl ========================
-SUBDIR_GUESS="libguess"
-CHARDET_LIBS="../libguess/libguess.a"
+AC_SUBST(EXPORTDYN)
 
 dnl chardet support
 dnl ========================
@@ -462,7 +449,8 @@
 AC_CONFIG_FILES([
 	audacious.pc
 	audclient.pc
-	mk/rules.mk
+	buildsys.mk
+	extra.mk
 	man/audtool.1
 	man/audacious.1
 	src/audacious/audacious.desktop
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/extra.mk.in	Wed Sep 19 17:48:49 2007 +0300
@@ -0,0 +1,343 @@
+@SET_MAKE@
+
+srcdir ?= @srcdir@
+top_srcdir ?= @top_srcdir@
+VPATH ?= @srcdir@
+pkgdatadir ?= $(datadir)/@PACKAGE@
+pkglibdir ?= $(libdir)/@PACKAGE@
+pkgincludedir ?= $(includedir)/@PACKAGE@
+top_builddir ?= .
+am__cd ?= CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL ?= @INSTALL@
+install_sh_DATA ?= $(install_sh) -c -m 644
+install_sh_PROGRAM ?= $(install_sh) -c
+install_sh_SCRIPT ?= $(install_sh) -c
+INSTALL_HEADER ?= $(INSTALL_DATA)
+transform ?= $(program_transform_name)
+NORMAL_INSTALL ?= :
+PRE_INSTALL ?= :
+POST_INSTALL ?= :
+NORMAL_UNINSTALL ?= :
+PRE_UNINSTALL ?= :
+POST_UNINSTALL ?= :
+build_triplet ?= @build@
+host_triplet ?= @host@
+target_triplet ?= @target@
+subdir ?= .
+ACLOCAL_M4 ?= $(top_srcdir)/aclocal.m4
+CONFIG_HEADER ?= config.h
+CONFIG_CLEAN_FILES ?= audacious.1 audacious.spec audacious.pc \
+	intl/Makefile
+SOURCES =
+DIST_SOURCES =
+man1dir ?= $(mandir)/man1
+am__installdirs ?= "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(pkgconfigdir)"
+NROFF ?= nroff
+MANS ?= $(man_MANS)
+am__vpath_adj_setup ?= srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj ?= case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir ?= `echo $$p | sed -e 's|^.*/||'`;
+pkgconfigDATA_INSTALL ?= $(INSTALL_DATA)
+DATA ?= $(pkgconfig_DATA)
+ETAGS ?= etags
+CTAGS ?= ctags
+DIST_SUBDIRS ?= $(SUBDIRS)
+DISTFILES ?= $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir ?= $(PACKAGE)-$(VERSION)
+top_distdir ?= $(distdir)
+am__remove_distdir ?= \
+  { test ! -d $(distdir) \
+    || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
+         && rm -fr $(distdir); }; }
+DIST_ARCHIVES ?= $(distdir).tar.gz
+GZIP_ENV ?= --best
+distuninstallcheck_listfiles ?= find . -type f -print
+distcleancheck_listfiles ?= find . -type f -print
+ACLOCAL ?= @ACLOCAL@
+ALLOCA ?= @ALLOCA@
+ALSA_CFLAGS ?= @ALSA_CFLAGS@
+ALSA_LIBS ?= @ALSA_LIBS@
+AMDEP_FALSE ?= @AMDEP_FALSE@
+AMDEP_TRUE ?= @AMDEP_TRUE@
+AMIDIPLUGBACKENDDIR ?= @AMIDIPLUGBACKENDDIR@
+AMTAR ?= @AMTAR@
+AR ?= @AR@
+ARCH_DEFINES ?= @ARCH_DEFINES@
+ARCH_X86_FALSE ?= @ARCH_X86_FALSE@
+ARCH_X86_TRUE ?= @ARCH_X86_TRUE@
+ARTSC_CFLAGS ?= @ARTSC_CFLAGS@
+ARTSC_LIBS ?= @ARTSC_LIBS@
+AUTOCONF ?= @AUTOCONF@
+AUTOHEADER ?= @AUTOHEADER@
+AUTOMAKE ?= @AUTOMAKE@
+AWK ?= @AWK@
+BEEP_DEFINES ?= @BEEP_DEFINES@
+BEEP_PATH ?= @BEEP_PATH@
+BINIO_CFLAGS ?= @BINIO_CFLAGS@
+BINIO_LIBS ?= @BINIO_LIBS@
+BMP_RCPATH ?= @BMP_RCPATH@
+BUILDERS_INCLUDES ?= @BUILDERS_INCLUDES@
+BUILDERS_LDFLAGS ?= @BUILDERS_LDFLAGS@
+BUILD_INCLUDED_LIBINTL ?= @BUILD_INCLUDED_LIBINTL@
+CATOBJEXT ?= @CATOBJEXT@
+CC = @CC@
+CCAS ?= @CCAS@
+CCASFLAGS ?= @CCASFLAGS@
+CCDEPMODE ?= @CCDEPMODE@
+CFLAGS += @CFLAGS@
+CPP = @CPP@
+CPPFLAGS += @CPPFLAGS@
+CXX = @CXX@
+CXXCPP ?= @CXXCPP@
+CXXDEPMODE ?= @CXXDEPMODE@
+CXXFLAGS += @CXXFLAGS@
+CYGPATH_W ?= @CYGPATH_W@
+DATADIRNAME ?= @DATADIRNAME@
+DCT64 ?= @DCT64@
+DBUS_BINDING_TOOL ?= @DBUS_BINDING_TOOL@
+DBUS_SERVICES_TOOL ?= @DBUS_SERVICES_DIR@
+DBUS_CFLAGS ?= @DBUS_CFLAGS@
+DBUS_LIBS ?= @DBUS_LIBS@
+DEFS ?= @DEFS@
+DEPDIR ?= @DEPDIR@
+ECHO ?= @ECHO@
+ECHO_C ?= @ECHO_C@
+ECHO_N ?= @ECHO_N@
+ECHO_T ?= @ECHO_T@
+EFFECT_PLUGINS ?= @EFFECT_PLUGINS@
+EFFECT_PLUGIN_DIR ?= @EFFECT_PLUGIN_DIR@
+EGREP ?= @EGREP@
+ENABLE_AAC_FALSE ?= @ENABLE_AAC_FALSE@
+ENABLE_AAC_TRUE ?= @ENABLE_AAC_TRUE@
+ENABLE_AMIDIPLUG_FALSE ?= @ENABLE_AMIDIPLUG_FALSE@
+ENABLE_AMIDIPLUG_TRUE ?= @ENABLE_AMIDIPLUG_TRUE@
+ENABLE_CROSSFADE_FALSE ?= @ENABLE_CROSSFADE_FALSE@
+ENABLE_CROSSFADE_TRUE ?= @ENABLE_CROSSFADE_TRUE@
+ENABLE_MPG123_FALSE ?= @ENABLE_MPG123_FALSE@
+ENABLE_MPG123_TRUE ?= @ENABLE_MPG123_TRUE@
+ENABLE_MUSEPACK_FALSE ?= @ENABLE_MUSEPACK_FALSE@
+ENABLE_MUSEPACK_TRUE ?= @ENABLE_MUSEPACK_TRUE@
+ENABLE_TIMIDITY_FALSE ?= @ENABLE_TIMIDITY_FALSE@
+ENABLE_TIMIDITY_TRUE ?= @ENABLE_TIMIDITY_TRUE@
+ENABLE_WMA_FALSE ?= @ENABLE_WMA_FALSE@
+ENABLE_WMA_TRUE ?= @ENABLE_WMA_TRUE@
+ESD_CFLAGS ?= @ESD_CFLAGS@
+ESD_LIBS ?= @ESD_LIBS@
+EXEEXT ?= @EXEEXT@
+FLUIDSYNTH_CFLAGS ?= @FLUIDSYNTH_CFLAGS@
+FLUIDSYNTH_LIBS ?= @FLUIDSYNTH_LIBS@
+GENCAT ?= @GENCAT@
+GENERAL_PLUGINS ?= @GENERAL_PLUGINS@
+GENERAL_PLUGIN_DIR ?= @GENERAL_PLUGIN_DIR@
+GLIBC21 ?= @GLIBC21@
+GLIB_CFLAGS ?= @GLIB_CFLAGS@
+GLIB_LIBS ?= @GLIB_LIBS@
+GMODULE_CFLAGS ?= @GMODULE_CFLAGS@
+GMODULE_LIBS ?= @GMODULE_LIBS@
+GMSGFMT ?= @GMSGFMT@
+GNOMEVFS_CFLAGS ?= @GNOMEVFS_CFLAGS@
+GNOMEVFS_LIBS ?= @GNOMEVFS_LIBS@
+GTK_CFLAGS ?= @GTK_CFLAGS@
+GTK_LIBS ?= @GTK_LIBS@
+HARDSID_LDADD ?= @HARDSID_LDADD@
+HAVE_ADPLUG_FALSE ?= @HAVE_ADPLUG_FALSE@
+HAVE_ADPLUG_TRUE ?= @HAVE_ADPLUG_TRUE@
+HAVE_ALSA_FALSE ?= @HAVE_ALSA_FALSE@
+HAVE_ALSA_TRUE ?= @HAVE_ALSA_TRUE@
+HAVE_CDROM_FALSE ?= @HAVE_CDROM_FALSE@
+HAVE_CDROM_TRUE ?= @HAVE_CDROM_TRUE@
+HAVE_ESD_FALSE ?= @HAVE_ESD_FALSE@
+HAVE_ESD_TRUE ?= @HAVE_ESD_TRUE@
+HAVE_FLAC_FALSE ?= @HAVE_FLAC_FALSE@
+HAVE_FLAC_TRUE ?= @HAVE_FLAC_TRUE@
+HAVE_JACK_FALSE ?= @HAVE_JACK_FALSE@
+HAVE_JACK_TRUE ?= @HAVE_JACK_TRUE@
+HAVE_LIBSAMPLERATE_FALSE ?= @HAVE_LIBSAMPLERATE_FALSE@
+HAVE_LIBSAMPLERATE_TRUE ?= @HAVE_LIBSAMPLERATE_TRUE@
+HAVE_LIBSNDFILE_FALSE ?= @HAVE_LIBSNDFILE_FALSE@
+HAVE_LIBSNDFILE_TRUE ?= @HAVE_LIBSNDFILE_TRUE@
+HAVE_LIBVISUAL_FALSE ?= @HAVE_LIBVISUAL_FALSE@
+HAVE_LIBVISUAL_TRUE ?= @HAVE_LIBVISUAL_TRUE@
+HAVE_LINUX_JOYSTICK_FALSE ?= @HAVE_LINUX_JOYSTICK_FALSE@
+HAVE_LINUX_JOYSTICK_TRUE ?= @HAVE_LINUX_JOYSTICK_TRUE@
+HAVE_LIRC_FALSE ?= @HAVE_LIRC_FALSE@
+HAVE_LIRC_TRUE ?= @HAVE_LIRC_TRUE@
+HAVE_MODPLUG_FALSE ?= @HAVE_MODPLUG_FALSE@
+HAVE_MODPLUG_TRUE ?= @HAVE_MODPLUG_TRUE@
+HAVE_OGGVORBIS_FALSE ?= @HAVE_OGGVORBIS_FALSE@
+HAVE_OGGVORBIS_TRUE ?= @HAVE_OGGVORBIS_TRUE@
+HAVE_OSS_FALSE ?= @HAVE_OSS_FALSE@
+HAVE_OSS_TRUE ?= @HAVE_OSS_TRUE@
+HAVE_SIDPLAY_FALSE ?= @HAVE_SIDPLAY_FALSE@
+HAVE_SIDPLAY_TRUE ?= @HAVE_SIDPLAY_TRUE@
+HAVE_SOLARIS_FALSE ?= @HAVE_SOLARIS_FALSE@
+HAVE_SOLARIS_TRUE ?= @HAVE_SOLARIS_TRUE@
+HAVE_SUN_FALSE ?= @HAVE_SUN_FALSE@
+HAVE_SUN_TRUE ?= @HAVE_SUN_TRUE@
+INPUT_PLUGINS ?= @INPUT_PLUGINS@
+INPUT_PLUGIN_DIR ?= @INPUT_PLUGIN_DIR@
+INSTALL_DATA ?= @INSTALL_DATA@
+INSTALL_PROGRAM ?= @INSTALL_PROGRAM@
+INSTALL_SCRIPT ?= @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM ?= @INSTALL_STRIP_PROGRAM@
+INSTOBJEXT ?= @INSTOBJEXT@
+INTLBISON ?= @INTLBISON@
+INTLLIBS ?= @INTLLIBS@
+INTLOBJS ?= @INTLOBJS@
+INTL_LIBTOOL_SUFFIX_PREFIX ?= @INTL_LIBTOOL_SUFFIX_PREFIX@
+JACK_CFLAGS ?= @JACK_CFLAGS@
+JACK_LIBS ?= @JACK_LIBS@
+LDFLAGS ?= @LDFLAGS@
+LIBBEEP_MAJOR_VERSION ?= @LIBBEEP_MAJOR_VERSION@
+LIBBEEP_MICRO_VERSION ?= @LIBBEEP_MICRO_VERSION@
+LIBBEEP_MINOR_VERSION ?= @LIBBEEP_MINOR_VERSION@
+LIBFLAC_CFLAGS ?= @LIBFLAC_CFLAGS@
+LIBFLAC_LIBS ?= @LIBFLAC_LIBS@
+LIBGLADE_CFLAGS ?= @LIBGLADE_CFLAGS@
+LIBGLADE_LIBS ?= @LIBGLADE_LIBS@
+LIBNMS_CFLAGS ?= @LIBNMS_CFLAGS@
+LIBNMS_LIBS ?= @LIBNMS_LIBS@
+LIBNMS_SRC ?= @LIBNMS_SRC@
+LIBICONV ?= @LIBICONV@
+LIBINTL ?= @LIBINTL@
+LIBOBJS ?= @LIBOBJS@
+LIBS ?= @LIBS@
+LIBTOOL ?= @LIBTOOL@
+LIBVISUAL_CFLAGS ?= @LIBVISUAL_CFLAGS@
+LIBVISUAL_LIBS ?= @LIBVISUAL_LIBS@
+LN_S ?= @LN_S@
+LTLIBICONV ?= @LTLIBICONV@
+LTLIBINTL ?= @LTLIBINTL@
+LTLIBOBJS ?= @LTLIBOBJS@
+MAKEINFO ?= @MAKEINFO@
+MKINSTALLDIRS ?= @MKINSTALLDIRS@
+MSGFMT ?= @MSGFMT@
+MSGMERGE ?= @MSGMERGE@
+OBJEXT ?= @OBJEXT@
+OGG_VORBIS_CFLAGS ?= @OGG_VORBIS_CFLAGS@
+OGG_VORBIS_LIBS ?= @OGG_VORBIS_LIBS@
+OSS_LIBS ?= @OSS_LIBS@
+OUTPUT_PLUGINS ?= @OUTPUT_PLUGINS@
+OUTPUT_PLUGIN_DIR ?= @OUTPUT_PLUGIN_DIR@
+PACKAGE ?= @PACKAGE@
+PACKAGE_BUGREPORT ?= @PACKAGE_BUGREPORT@
+PACKAGE_NAME ?= @PACKAGE_NAME@
+PACKAGE_STRING ?= @PACKAGE_STRING@
+PACKAGE_TARNAME ?= @PACKAGE_TARNAME@
+PACKAGE_VERSION ?= @PACKAGE_VERSION@
+PATH_SEPARATOR ?= @PATH_SEPARATOR@
+PC_REQUIRES ?= @PC_REQUIRES@
+PKG_CONFIG ?= @PKG_CONFIG@
+PLUGIN_LDFLAGS ?= @PLUGIN_LDFLAGS@
+POSUB ?= @POSUB@
+RANLIB ?= @RANLIB@
+REGEX_CFLAGS ?= @REGEX_CFLAGS@
+REGEX_LIBS ?= @REGEX_LIBS@
+RESID_LDADD ?= @RESID_LDADD@
+SAMPLERATE_CFLAGS ?= @SAMPLERATE_CFLAGS@
+SAMPLERATE_LIBS ?= @SAMPLERATE_LIBS@
+SDL_CFLAGS ?= @SDL_CFLAGS@
+SDL_CONFIG ?= @SDL_CONFIG@
+SDL_LIBS ?= @SDL_LIBS@
+SET_MAKE ?= @SET_MAKE@
+SHELL ?= @SHELL@
+SIDPLAY1_INCLUDES ?= @SIDPLAY1_INCLUDES@
+SIDPLAY1_LDADD ?= @SIDPLAY1_LDADD@
+SIDPLAY2_INCLUDES ?= @SIDPLAY2_INCLUDES@
+SIDPLAY2_LDADD ?= @SIDPLAY2_LDADD@
+SNDFILE_CFLAGS ?= @SNDFILE_CFLAGS@
+SNDFILE_LIBS ?= @SNDFILE_LIBS@
+STRIP ?= @STRIP@
+USE_DBUS ?= @USE_DBUS@
+USE_INCLUDED_LIBINTL ?= @USE_INCLUDED_LIBINTL@
+USE_NLS ?= @USE_NLS@
+USE_X86ASM_FALSE ?= @USE_X86ASM_FALSE@
+USE_X86ASM_TRUE ?= @USE_X86ASM_TRUE@
+VERSION ?= @VERSION@
+VISUALIZATION_PLUGINS ?= @VISUALIZATION_PLUGINS@
+VISUALIZATION_PLUGIN_DIR ?= @VISUALIZATION_PLUGIN_DIR@
+XGETTEXT ?= @XGETTEXT@
+ac_ct_AR ?= @ac_ct_AR@
+ac_ct_CC ?= @ac_ct_CC@
+ac_ct_CXX ?= @ac_ct_CXX@
+ac_ct_RANLIB ?= @ac_ct_RANLIB@
+ac_ct_STRIP ?= @ac_ct_STRIP@
+am__fastdepCC_FALSE ?= @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE ?= @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE ?= @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE ?= @am__fastdepCXX_TRUE@
+am__include ?= @am__include@
+am__leading_dot ?= @am__leading_dot@
+am__quote ?= @am__quote@
+am__tar ?= @am__tar@
+am__untar ?= @am__untar@
+beepdir ?= @beepdir@
+bindir ?= @bindir@
+build ?= @build@
+build_alias ?= @build_alias@
+build_cpu ?= @build_cpu@
+build_os ?= @build_os@
+build_vendor ?= @build_vendor@
+datadir ?= @datadir@
+datarootdir ?= @datarootdir@
+exec_prefix ?= @exec_prefix@
+host ?= @host@
+host_alias ?= @host_alias@
+host_cpu ?= @host_cpu@
+host_os ?= @host_os@
+host_vendor ?= @host_vendor@
+includedir ?= @includedir@
+infodir ?= @infodir@
+install_sh ?= @install_sh@
+libdir ?= @libdir@
+libexecdir ?= @libexecdir@
+localedir ?= @localedir@
+localstatedir ?= @localstatedir@
+mandir ?= @mandir@
+mkdir_p ?= @mkdir_p@
+oldincludedir ?= @oldincludedir@
+plugindir ?= @plugindir@
+pluginsubs ?= @pluginsubs@
+prefix ?= @prefix@
+program_transform_name ?= @program_transform_name@
+sbindir ?= @sbindir@
+sharedstatedir ?= @sharedstatedir@
+sysconfdir ?= @sysconfdir@
+target ?= @target@
+target_alias ?= @target_alias@
+target_cpu ?= @target_cpu@
+target_os ?= @target_os@
+target_vendor ?= @target_vendor@
+WAV_SNDFILE ?= @WAV_SNDFILE@
+VFS_BACKEND ?= @VFS_BACKEND@
+CURL_CFLAGS ?= @CURL_CFLAGS@
+CURL_LIBS ?= @CURL_LIBS@
+MUSICBRAINZ_LIBS ?= @MUSICBRAINZ_LIBS@
+CHARDET_LIBS ?= @CHARDET_LIBS@
+samplerate_CFLAGS ?= @samplerate_CFLAGS@
+samplerate_LIBS ?= @samplerate_LIBS@
+SUBDIR_GUESS ?= @SUBDIR_GUESS@
+LIBNOTIFY_CFLAGS ?= @LIBNOTIFY_CFLAGS@
+LIBNOTIFY_LIBS ?= @LIBNOTIFY_LIBS@
+XML_CPPFLAGS ?= @XML_CPPFLAGS@
+XML_LIBS ?= @XML_LIBS@
+CONTAINER_PLUGIN_DIR ?= @CONTAINER_PLUGIN_DIR@
+CONTAINER_PLUGINS ?= @CONTAINER_PLUGINS@
+SHARED_SUFFIX ?= @SHARED_SUFFIX@
+PICFLAGS ?= @PICFLAGS@
+PICLDFLAGS ?= @PICLDFLAGS@
+LIBLDFLAGS ?= @LIBLDFLAGS@
+AUDLDFLAGS ?= @AUDLDFLAGS@
+INTL_OBJECTIVE ?= @INTL_OBJECTIVE@
+LIBMCS_CFLAGS ?= @LIBMCS_CFLAGS@
+LIBMCS_LIBS ?= @LIBMCS_LIBS@
+MOWGLI_CFLAGS ?= @MOWGLI_CFLAGS@
+MOWGLI_LIBS ?= @MOWGLI_LIBS@
+LIBAUDCLIENT_OBJECTIVE ?= @LIBAUDCLIENT_OBJECTIVE@
+TRANSPORT_PLUGIN_DIR ?= @TRANSPORT_PLUGIN_DIR@
+TRANSPORT_PLUGINS ?= @TRANSPORT_PLUGINS@
+PCH ?= @PCH@
+EXPORTDYN ?= @EXPORTDYN@
--- a/icons/Makefile	Fri Sep 14 08:10:29 2007 +0300
+++ b/icons/Makefile	Wed Sep 19 17:48:49 2007 +0300
@@ -1,7 +1,27 @@
-include ../mk/rules.mk
-include ../mk/init.mk
+include ../buildsys.mk
 
 pixmapsdir = $(datadir)/pixmaps
-OBJECTIVE_DATA = audacious.png:$(pixmapsdir)
+
+install-extra:
+	y="audacious.png"; \
+	for i in $$y; do \
+	        ${INSTALL_STATUS}; \
+		if ${MKDIR_P} ${DESTDIR}${pixmapsdir} && ${INSTALL} -m 644 $$i ${DESTDIR}${pixmapsdir}/$$i; then \
+			${INSTALL_OK}; \
+		else \
+			${INSTALL_FAILED}; \
+		fi; \
+	done
 
-include ../mk/objective.mk
+uninstall-extra:
+	y="audacious.png"; \
+	for i in $$y; do \
+		if [ -f ${DESTDIR}${pixmapsdir}/$$i ]; then \
+			if rm -f ${DESTDIR}${pixmapsdir}/$$i; then \
+				${DELETE_OK}; \
+			else \
+				${DELETE_FAILED}; \
+			fi \
+		fi; \
+	done
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/m4/sharedlib.m4	Wed Sep 19 17:48:49 2007 +0300
@@ -0,0 +1,107 @@
+dnl
+dnl Copyright (c) 2007, Jonathan Schleifer <js@h3c.de>
+dnl
+dnl Permission to use, copy, modify, and/or distribute this software for any
+dnl purpose with or without fee is hereby granted, provided that the above
+dnl copyright notice and this permission notice is present in all copies.
+dnl
+dnl THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+dnl AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+dnl IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+dnl ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+dnl LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+dnl CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+dnl SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+dnl INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+dnl CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+dnl ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+dnl POSSIBILITY OF SUCH DAMAGE.
+dnl
+
+AC_DEFUN([AM_SHARED_LIB], [
+	AC_MSG_CHECKING(for shared library system)
+	case "$target" in
+		intel-apple-*)
+			AC_MSG_RESULT([Mac OS X (Intel)])
+			LIB_CPPFLAGS='-DPIC'
+			LIB_CFLAGS='-fPIC'
+			LIB_LDFLAGS='-dynamiclib -fPIC -install_name ${libdir}/${LIB}'
+			LIB_PREFIX='lib'
+			LIB_SUFFIX='.dylib'
+			PLUGIN_CPPFLAGS=''
+			PLUGIN_CFLAGS=''
+			PLUGIN_LDFLAGS='-bundle -fno-common -flat_namespace -undefined suppress'
+			PLUGIN_SUFFIX='.impl'
+			INSTALL_LIB='${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib && ${LN_S} -f $${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.dylib && ${LN_S} -f $${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib ${DESTDIR}${libdir}/$$i'
+			UNINSTALL_LIB='rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.dylib ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib'
+			;;
+		*-apple-*)
+			AC_MSG_RESULT(Mac OS X)
+			LIB_CPPFLAGS='-DPIC'
+			LIB_CFLAGS=''
+			LIB_LDFLAGS='-dynamiclib -fPIC -install_name ${libdir}/${LIB}'
+			LIB_PREFIX='lib'
+			LIB_SUFFIX='.dylib'
+			PLUGIN_CPPFLAGS=''
+			PLUGIN_CFLAGS=''
+			PLUGIN_LDFLAGS='-bundle -fno-common -flat_namespace -undefined suppress'
+			PLUGIN_SUFFIX='.impl'
+			INSTALL_LIB='${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib && ${LN_S} -f $${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.dylib && ${LN_S} -f $${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib ${DESTDIR}${libdir}/$$i'
+			UNINSTALL_LIB='rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.dylib ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib'
+			;;
+		*-sun-* | *-openbsd-* | *-mirbsd-*)
+			AC_MSG_RESULT(Solaris)
+			LIB_CPPFLAGS='-DPIC'
+			LIB_CFLAGS='-fPIC'
+			LIB_LDFLAGS='-shared -fPIC -Wl,-soname=${LIB}.${LIB_MAJOR}.${LIB_MINOR}'
+			LIB_PREFIX='lib'
+			LIB_SUFFIX='.so'
+			PLUGIN_CPPFLAGS='-DPIC'
+			PLUGIN_CFLAGS='-fPIC'
+			PLUGIN_LDFLAGS='-shared -fPIC'
+			PLUGIN_SUFFIX='.so'
+			INSTALL_LIB='${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR} && ${LN_S} -f $$i.${LIB_MAJOR}.${LIB_MINOR} ${DESTDIR}${libdir}/$$i'
+			UNINSTALL_LIB='rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}'
+			;;
+		*-*-mingw32)
+			AC_MSG_RESULT(MinGW32)
+			LIB_CPPFLAGS='-DPIC'
+			LIB_CFLAGS=''
+			LIB_LDFLAGS='-shared'
+			LIB_PREFIX=''
+			LIB_SUFFIX='.dll'
+			PLUGIN_CPPFLAGS=''
+			PLUGIN_CFLAGS=''
+			PLUGIN_LDFLAGS=''
+			PLUGIN_SUFFIX='.dll'
+			INSTALL_LIB='${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i'
+			UNINSTALL_LIB='rm -f ${DESTDIR}${libdir}/$$i'
+			;;
+		*)
+			AC_MSG_RESULT(POSIX)
+			LIB_CPPFLAGS='-DPIC'
+			LIB_CFLAGS='-fPIC'
+			LIB_LDFLAGS='-shared -fPIC -Wl,-soname=${LIB}.${LIB_MAJOR}.${LIB_MINOR}.0'
+			LIB_PREFIX='lib'
+			LIB_SUFFIX='.so'
+			PLUGIN_CPPFLAGS='-DPIC'
+			PLUGIN_CFLAGS='-fPIC'
+			PLUGIN_LDFLAGS='-shared -fPIC'
+			PLUGIN_SUFFIX='.so'
+			INSTALL_LIB='${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}.0 && ${LN_S} -f $$i.${LIB_MAJOR}.${LIB_MINOR}.0 ${DESTDIR}${libdir}/$$i.${LIB_MAJOR} && ${LN_S} -f $$i.${LIB_MAJOR}.${LIB_MINOR}.0 ${DESTDIR}${libdir}/$$i'
+			UNINSTALL_LIB='rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR} ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}.0'
+			;;
+	esac
+
+	AC_SUBST(LIB_CPPFLAGS)
+	AC_SUBST(LIB_CFLAGS)
+	AC_SUBST(LIB_LDFLAGS)
+	AC_SUBST(LIB_PREFIX)
+	AC_SUBST(LIB_SUFFIX)
+	AC_SUBST(PLUGIN_CPPFLAGS)
+	AC_SUBST(PLUGIN_CFLAGS)
+	AC_SUBST(PLUGIN_LDFLAGS)
+	AC_SUBST(PLUGIN_SUFFIX)
+	AC_SUBST(INSTALL_LIB)
+	AC_SUBST(UNINSTALL_LIB)
+])
--- a/man/Makefile	Fri Sep 14 08:10:29 2007 +0300
+++ b/man/Makefile	Wed Sep 19 17:48:49 2007 +0300
@@ -1,7 +1,3 @@
-include ../mk/rules.mk
-include ../mk/init.mk
-include ../mk/objective.mk
+MAN = audacious.1 audtool.1
 
-OBJECTIVE_DATA =	\
-	audtool.1:$(man1dir) \
-	audacious.1:$(man1dir)
+include ../buildsys.mk
--- a/mk/init.mk	Fri Sep 14 08:10:29 2007 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-# Shut up GNU make
-.SILENT:
-
-OBJECTIVE_DIRECTORIES = 
-OBJECTIVE_LIBS = 
-OBJECTIVE_LIBS_NOINST = 
-OBJECTIVE_BINS = 
-OBJECTIVE_DATA = 
-SUBDIRS = 
-HEADERS = 
-V = 0
-VERBOSE ?= $(V)
-VERBOSITY = 0
-SHOW_CFLAGS ?= $(VERBOSE)
-
-LIBDIR = $(libdir)
-BINDIR = $(bindir)
-INCLUDEDIR = $(pkgincludedir)
-CFLAGS += -DHAVE_CONFIG_H -I/usr/pkg/include -I/usr/pkg/xorg/include
-CXXFLAGS += -DHAVE_CONFIG_H -I/usr/pkg/include -I/usr/pkg/xorg/include
--- a/mk/objective.mk	Fri Sep 14 08:10:29 2007 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,294 +0,0 @@
-default: all
-all: build
-
-.SUFFIXES: .cxx .cc
-
-install: build
-	$(MAKE) install-prehook
-	@for i in $(BINDIR) $(LIBDIR) $(INCLUDEDIR); do \
-		if [ ! -d $(DESTDIR)/$$i ]; then \
-			$(INSTALL) -d -m 755 $(DESTDIR)/$$i; \
-		fi; \
-	done;
-	@if [ "x$(OVERLAYS)" != "x" ]; then \
-		for i in `find $(OVERLAYS) -type d -maxdepth 1 -mindepth 1`; do \
-			if [ $(VERBOSITY) -gt 0 ]; then \
-				echo "[installing overlay: $$i]"; \
-			fi; \
-			cd $$i; OVERLAYS="" $(MAKE) install || exit; cd ..; \
-		done; \
-	fi
-	@if [ "x$(SUBDIRS)" != "x" ]; then \
-		for i in $(SUBDIRS); do \
-			if [ $(VERBOSITY) -gt 0 ]; then \
-				echo "[installing subobjective: $$i]"; \
-			fi; \
-			cd $$i; OVERLAYS="" $(MAKE) install || exit; cd ..; \
-		done; \
-	fi
-	@if [ "x$(OBJECTIVE_DIRECTORIES)" != "x" ]; then \
-		for i in $(OBJECTIVE_DIRECTORIES); do \
-			printf "%10s     %-20s\n" MKDIR $$i; \
-			$(INSTALL) -d -m 755 $(DESTDIR)/$$i; \
-		done; \
-	fi
-	@if [ "x$(HEADERS)" != "x" ]; then \
-		for i in $(HEADERS); do \
-			printf "%10s     %-20s\n" INSTALL $$i; \
-			$(INSTALL_DATA) $(INSTALL_OVERRIDE) $$i $(DESTDIR)/$(INCLUDEDIR)/$$i; \
-		done; \
-	fi
-	@if [ "x$(OBJECTIVE_LIBS)" != "x" ]; then \
-		for i in $(OBJECTIVE_LIBS); do \
-			printf "%10s     %-20s\n" INSTALL $$i; \
-			$(INSTALL) $(INSTALL_OVERRIDE) $$i $(DESTDIR)/$(LIBDIR)/$$i; \
-		done; \
-	fi
-	@if [ "x$(OBJECTIVE_BINS)" != "x" ]; then \
-		for i in $(OBJECTIVE_BINS); do \
-			printf "%10s     %-20s\n" INSTALL $$i; \
-			$(INSTALL) $(INSTALL_OVERRIDE) $$i $(DESTDIR)/$(BINDIR)/$$i; \
-		done; \
-	fi;
-	@if [ "x$(OBJECTIVE_DATA)" != "x" ]; then \
-		for i in $(OBJECTIVE_DATA); do \
-			source=`echo $$i | cut -d ":" -f1`; \
-			destination=`echo $$i | cut -d ":" -f2`; \
-			if [ ! -d $(DESTDIR)/$$destination ]; then \
-				$(INSTALL) -d -m 755 $(DESTDIR)/$$destination; \
-			fi; \
-			printf "%10s     %-20s\n" INSTALL $$source; \
-			$(INSTALL_DATA) $(INSTALL_OVERRIDE) $$source $(DESTDIR)/$$destination; \
-		done; \
-	fi
-	$(MAKE) install-posthook
-	@if [ $(VERBOSITY) -gt 0 ]; then \
-		echo "[all objectives installed]"; \
-	fi
-
-clean:
-	$(MAKE) clean-prehook
-	@if [ "x$(OVERLAYS)" != "x" ]; then \
-		for i in `find $(OVERLAYS) -type d -maxdepth 1 -mindepth 1`; do \
-			if [ $(VERBOSITY) -gt 0 ]; then \
-				echo "[cleaning overlay: $$i]"; \
-			fi; \
-			cd $$i; OVERLAYS="" $(MAKE) clean || exit; cd ..; \
-		done; \
-	fi
-	@if [ "x$(SUBDIRS)" != "x" ]; then \
-		for i in $(SUBDIRS); do \
-			if [ $(VERBOSITY) -gt 0 ]; then \
-				echo "[cleaning subobjective: $$i]"; \
-			fi; \
-			cd $$i; OVERLAYS="" $(MAKE) clean || exit; cd ..; \
-		done; \
-	fi
-	$(MAKE) clean-posthook
-	rm -f *.o *.lo *.so *.a *.sl *.h.gch .depend-done .depend
-	touch .depend
-	@if [ "x$(OBJECTIVE_BINS)" != "x" ]; then \
-		for i in $(OBJECTIVE_BINS); do \
-			rm -f $$i; \
-		done; \
-	fi
-	@if [ "x$(OBJECTIVE_LIBS)" != "x" ]; then \
-		for i in $(OBJECTIVE_LIBS); do \
-			rm -f $$i; \
-		done; \
-	fi
-	@if [ "x$(OBJECTIVE_LIBS_NOINST)" != "x" ]; then \
-		for i in $(OBJECTIVE_LIBS_NOINST); do \
-			rm -f $$i; \
-		done; \
-	fi
-	@if [ $(VERBOSITY) -gt 0 ]; then \
-		echo "[all objectives cleaned]"; \
-	fi
-
-distclean: clean
-	@if [ "x$(OVERLAYS)" != "x" ]; then \
-		for i in `find $(OVERLAYS) -type d -maxdepth 1 -mindepth 1`; do \
-			if [ $(VERBOSITY) -gt 0 ]; then \
-				echo "[distcleaning overlay: $$i]"; \
-			fi; \
-			cd $$i; OVERLAYS="" $(MAKE) distclean || exit; cd ..; \
-		done; \
-	fi
-	@if [ "x$(SUBDIRS)" != "x" ]; then \
-		for i in $(SUBDIRS); do \
-			if [ $(VERBOSITY) -gt 0 ]; then \
-				echo "[distcleaning subobjective: $$i]"; \
-			fi; \
-			cd $$i; OVERLAYS="" $(MAKE) distclean || exit; cd ..; \
-		done; \
-	fi
-	@if [ -f Makefile.in ]; then \
-		rm -f Makefile; \
-	fi
-	@if [ -f mk/rules.mk.in ]; then \
-		rm -f mk/rules.mk; \
-	fi
-	rm -f config.log config.status
-
-build: depend
-	$(MAKE) build-prehook
-	@if [ "x$(OVERLAYS)" != "x" ]; then \
-		for i in `find $(OVERLAYS) -type d -maxdepth 1 -mindepth 1`; do \
-			if [ $(VERBOSITY) -gt 0 ]; then \
-				echo "[building overlay: $$i]"; \
-			fi; \
-			cd $$i; OVERLAYS="" $(MAKE) || exit; cd ..; \
-			if [ $(VERBOSITY) -gt 0 ]; then \
-				echo "[finished overlay: $$i]"; \
-			fi; \
-		done; \
-	fi
-	@if [ "x$(SUBDIRS)" != "x" ]; then \
-		for i in $(SUBDIRS); do \
-			if [ $(VERBOSITY) -gt 0 ]; then \
-				echo "[building subobjective: $$i]"; \
-			fi; \
-			cd $$i; OVERLAYS="" $(MAKE) || exit; cd ..; \
-			if [ $(VERBOSITY) -gt 0 ]; then \
-				echo "[finished subobjective: $$i]"; \
-			fi; \
-		done; \
-	fi
-	@if [ "x$(OBJECTIVE_LIBS)" != "x" ]; then \
-		for i in $(OBJECTIVE_LIBS); do \
-			if [ $(VERBOSITY) -gt 0 ]; then \
-				echo "[building library objective: $$i]"; \
-			fi; \
-			$(MAKE) $$i || exit; \
-			if [ $(VERBOSITY) -gt 0 ]; then \
-				echo "[finished library objective: $$i]"; \
-			fi; \
-		done; \
-	fi
-	@if [ "x$(OBJECTIVE_LIBS_NOINST)" != "x" ]; then \
-		for i in $(OBJECTIVE_LIBS_NOINST); do \
-			if [ $(VERBOSITY) -gt 0 ]; then \
-				echo "[building library dependency: $$i]"; \
-			fi; \
-			$(MAKE) $$i || exit; \
-			if [ $(VERBOSITY) -gt 0 ]; then \
-				echo "[finished library dependency: $$i]"; \
-			fi; \
-		done; \
-	fi
-	@if test "x$(OBJECTIVE_BINS)" != "x"; then \
-		for i in $(OBJECTIVE_BINS); do \
-			if [ $(VERBOSITY) -gt 0 ]; then \
-				echo "[building binary objective: $$i]"; \
-			fi; \
-			$(MAKE) $$i || exit; \
-			if [ $(VERBOSITY) -gt 0 ]; then \
-				echo "[finished binary objective: $$i]"; \
-			fi; \
-		done; \
-	fi
-	$(MAKE) build-posthook
-	@if [ $(VERBOSITY) -gt 0 ]; then \
-		echo "[all objectives built]"; \
-	fi
-
-.c.o:
-	@if [ $(SHOW_CFLAGS) -eq 1 ]; then	\
-		printf "%10s     %-20s (%s)\n" CC $< "${CFLAGS}";	\
-	else \
-		printf "%10s     %-20s\n" CC $<;	\
-	fi;
-	$(CC) $(CFLAGS) -c $< -o $@
-
-.cc.o .cxx.o:
-	@if [ $(SHOW_CFLAGS) -eq 1 ]; then	\
-		printf "%10s     %-20s (%s)\n" CXX $< "${CXXFLAGS}";	\
-	else \
-		printf "%10s     %-20s\n" CXX $<;	\
-	fi;
-	$(CXX) $(CXXFLAGS) -c $< -o $@
-
-pch:
-	@for i in *.h; do \
-		if [ $(SHOW_CFLAGS) -eq 1 ]; then	\
-			printf "%10s     %-20s (%s)\n" "CC [HDR]" $$i "${CFLAGS}";	\
-		else \
-			printf "%10s     %-20s\n" "CC [HDR]" $$i;	\
-		fi; \
-		$(CC) $(CFLAGS) -c $$i -o $$i.gch; \
-	done
-
-$(OBJECTIVE_LIBS): $(OBJECTS)
-	if [ "x$(OBJECTS)" != "x" ]; then \
-		$(MAKE) $(OBJECTS) || exit;		\
-		printf "%10s     %-20s\n" LINK $@; \
-		(if [ "x$(SHARED_SUFFIX)" = "x.so" ]; then \
-			(if [ "x$(OBJECTIVE_SONAME_SUFFIX)" != "x" ]; then \
-				$(CC) $(PICLDFLAGS) -o $@ -Wl,-h$@.$(OBJECTIVE_SONAME_SUFFIX) $(OBJECTS) $(LDFLAGS) $(LIBADD); \
-			else \
-				$(CC) $(PICLDFLAGS) -o $@ -Wl,-h$@ $(OBJECTS) $(LDFLAGS) $(LIBADD); \
-			fi;) \
-		 else \
-			$(CC) $(PICLDFLAGS) -o $@ $(OBJECTS) $(LDFLAGS) $(LIBADD); \
-		 fi;) \
-	fi
-
-$(OBJECTIVE_LIBS_NOINST): $(OBJECTS)
-	if [ "x$(OBJECTS)" != "x" ]; then \
-		$(MAKE) $(OBJECTS) || exit;		\
-		printf "%10s     %-20s\n" LINK $@; \
-		$(AR) cr $@ $(OBJECTS); \
-	fi
-
-$(OBJECTIVE_BINS): $(SOURCES) $(OBJECTS)
-	if [ "x$(OBJECTS)" != "x" ]; then \
-		$(MAKE) $(OBJECTS) || exit;		\
-		printf "%10s     %-20s\n" LINK $@; \
-		$(CC) -o $@ $(OBJECTS) $(LDFLAGS) $(LIBADD); \
-	fi
-
-clean-prehook:
-clean-posthook:
-build-prehook:
-build-posthook:
-install-prehook:
-install-posthook:
-
-mk/rules.mk:
-	@if [ -f "configure" ]; then \
-		echo "[building rules.mk for posix target, run configure manually if you do not want this]"; \
-		sh configure $(CONFIG_OPTS); \
-		echo "[complete]"; \
-	fi
-
-.PHONY: .depend depend depend-prehook clean distclean
-.depend:
-depend-prehook:
-
-# default depend rule. if something else is needed -- override depend target
-depend:
-	$(MAKE) depend-prehook
-	@if [ "x$(SUBDIRS)" != "x" ]; then \
-		for i in $(SUBDIRS); do \
-			if [ $(VERBOSITY) -gt 0 ]; then \
-				echo "[building depend file for subobjective: $$i]"; \
-			fi; \
-			cd $$i; touch .depend; $(MAKE) depend || exit; cd ..; \
-			if [ $(VERBOSITY) -gt 0 ]; then \
-				echo "[finished subobjective: $$i]"; \
-			fi; \
-		done; \
-	fi
-	if [ ! -f .depend-done ]; then \
-		for i in ${SOURCES}; do \
-			echo "[generating dependencies for objective: $$i]"; \
-			${CC} -MM ${PICFLAGS} ${CPPFLAGS} ${CFLAGS} $$i >> .depend; \
-		done; \
-		touch .depend-done; \
-	fi;
-
-# compatibility with automake follows
-am--refresh:
-
-include .depend
--- a/mk/rules.mk.in	Fri Sep 14 08:10:29 2007 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,342 +0,0 @@
-@SET_MAKE@
-
-srcdir ?= @srcdir@
-top_srcdir ?= @top_srcdir@
-VPATH ?= @srcdir@
-pkgdatadir ?= $(datadir)/@PACKAGE@
-pkglibdir ?= $(libdir)/@PACKAGE@
-pkgincludedir ?= $(includedir)/@PACKAGE@
-top_builddir ?= .
-am__cd ?= CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL ?= @INSTALL@
-install_sh_DATA ?= $(install_sh) -c -m 644
-install_sh_PROGRAM ?= $(install_sh) -c
-install_sh_SCRIPT ?= $(install_sh) -c
-INSTALL_HEADER ?= $(INSTALL_DATA)
-transform ?= $(program_transform_name)
-NORMAL_INSTALL ?= :
-PRE_INSTALL ?= :
-POST_INSTALL ?= :
-NORMAL_UNINSTALL ?= :
-PRE_UNINSTALL ?= :
-POST_UNINSTALL ?= :
-build_triplet ?= @build@
-host_triplet ?= @host@
-target_triplet ?= @target@
-subdir ?= .
-ACLOCAL_M4 ?= $(top_srcdir)/aclocal.m4
-CONFIG_HEADER ?= config.h
-CONFIG_CLEAN_FILES ?= audacious.1 audacious.spec audacious.pc \
-	intl/Makefile
-SOURCES =
-DIST_SOURCES =
-man1dir ?= $(mandir)/man1
-am__installdirs ?= "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(pkgconfigdir)"
-NROFF ?= nroff
-MANS ?= $(man_MANS)
-am__vpath_adj_setup ?= srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj ?= case $$p in \
-    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
-    *) f=$$p;; \
-  esac;
-am__strip_dir ?= `echo $$p | sed -e 's|^.*/||'`;
-pkgconfigDATA_INSTALL ?= $(INSTALL_DATA)
-DATA ?= $(pkgconfig_DATA)
-ETAGS ?= etags
-CTAGS ?= ctags
-DIST_SUBDIRS ?= $(SUBDIRS)
-DISTFILES ?= $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-distdir ?= $(PACKAGE)-$(VERSION)
-top_distdir ?= $(distdir)
-am__remove_distdir ?= \
-  { test ! -d $(distdir) \
-    || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
-         && rm -fr $(distdir); }; }
-DIST_ARCHIVES ?= $(distdir).tar.gz
-GZIP_ENV ?= --best
-distuninstallcheck_listfiles ?= find . -type f -print
-distcleancheck_listfiles ?= find . -type f -print
-ACLOCAL ?= @ACLOCAL@
-ALLOCA ?= @ALLOCA@
-ALSA_CFLAGS ?= @ALSA_CFLAGS@
-ALSA_LIBS ?= @ALSA_LIBS@
-AMDEP_FALSE ?= @AMDEP_FALSE@
-AMDEP_TRUE ?= @AMDEP_TRUE@
-AMIDIPLUGBACKENDDIR ?= @AMIDIPLUGBACKENDDIR@
-AMTAR ?= @AMTAR@
-AR ?= @AR@
-ARCH_DEFINES ?= @ARCH_DEFINES@
-ARCH_X86_FALSE ?= @ARCH_X86_FALSE@
-ARCH_X86_TRUE ?= @ARCH_X86_TRUE@
-ARTSC_CFLAGS ?= @ARTSC_CFLAGS@
-ARTSC_LIBS ?= @ARTSC_LIBS@
-AUTOCONF ?= @AUTOCONF@
-AUTOHEADER ?= @AUTOHEADER@
-AUTOMAKE ?= @AUTOMAKE@
-AWK ?= @AWK@
-BEEP_DEFINES ?= @BEEP_DEFINES@
-BEEP_PATH ?= @BEEP_PATH@
-BINIO_CFLAGS ?= @BINIO_CFLAGS@
-BINIO_LIBS ?= @BINIO_LIBS@
-BMP_RCPATH ?= @BMP_RCPATH@
-BUILDERS_INCLUDES ?= @BUILDERS_INCLUDES@
-BUILDERS_LDFLAGS ?= @BUILDERS_LDFLAGS@
-BUILD_INCLUDED_LIBINTL ?= @BUILD_INCLUDED_LIBINTL@
-CATOBJEXT ?= @CATOBJEXT@
-CC = @CC@
-CCAS ?= @CCAS@
-CCASFLAGS ?= @CCASFLAGS@
-CCDEPMODE ?= @CCDEPMODE@
-CFLAGS += @CFLAGS@
-CPP = @CPP@
-CPPFLAGS += @CPPFLAGS@
-CXX = @CXX@
-CXXCPP ?= @CXXCPP@
-CXXDEPMODE ?= @CXXDEPMODE@
-CXXFLAGS += @CXXFLAGS@
-CYGPATH_W ?= @CYGPATH_W@
-DATADIRNAME ?= @DATADIRNAME@
-DCT64 ?= @DCT64@
-DBUS_BINDING_TOOL ?= @DBUS_BINDING_TOOL@
-DBUS_SERVICES_TOOL ?= @DBUS_SERVICES_DIR@
-DBUS_CFLAGS ?= @DBUS_CFLAGS@
-DBUS_LIBS ?= @DBUS_LIBS@
-DEFS ?= @DEFS@
-DEPDIR ?= @DEPDIR@
-ECHO ?= @ECHO@
-ECHO_C ?= @ECHO_C@
-ECHO_N ?= @ECHO_N@
-ECHO_T ?= @ECHO_T@
-EFFECT_PLUGINS ?= @EFFECT_PLUGINS@
-EFFECT_PLUGIN_DIR ?= @EFFECT_PLUGIN_DIR@
-EGREP ?= @EGREP@
-ENABLE_AAC_FALSE ?= @ENABLE_AAC_FALSE@
-ENABLE_AAC_TRUE ?= @ENABLE_AAC_TRUE@
-ENABLE_AMIDIPLUG_FALSE ?= @ENABLE_AMIDIPLUG_FALSE@
-ENABLE_AMIDIPLUG_TRUE ?= @ENABLE_AMIDIPLUG_TRUE@
-ENABLE_CROSSFADE_FALSE ?= @ENABLE_CROSSFADE_FALSE@
-ENABLE_CROSSFADE_TRUE ?= @ENABLE_CROSSFADE_TRUE@
-ENABLE_MPG123_FALSE ?= @ENABLE_MPG123_FALSE@
-ENABLE_MPG123_TRUE ?= @ENABLE_MPG123_TRUE@
-ENABLE_MUSEPACK_FALSE ?= @ENABLE_MUSEPACK_FALSE@
-ENABLE_MUSEPACK_TRUE ?= @ENABLE_MUSEPACK_TRUE@
-ENABLE_TIMIDITY_FALSE ?= @ENABLE_TIMIDITY_FALSE@
-ENABLE_TIMIDITY_TRUE ?= @ENABLE_TIMIDITY_TRUE@
-ENABLE_WMA_FALSE ?= @ENABLE_WMA_FALSE@
-ENABLE_WMA_TRUE ?= @ENABLE_WMA_TRUE@
-ESD_CFLAGS ?= @ESD_CFLAGS@
-ESD_LIBS ?= @ESD_LIBS@
-EXEEXT ?= @EXEEXT@
-FLUIDSYNTH_CFLAGS ?= @FLUIDSYNTH_CFLAGS@
-FLUIDSYNTH_LIBS ?= @FLUIDSYNTH_LIBS@
-GENCAT ?= @GENCAT@
-GENERAL_PLUGINS ?= @GENERAL_PLUGINS@
-GENERAL_PLUGIN_DIR ?= @GENERAL_PLUGIN_DIR@
-GLIBC21 ?= @GLIBC21@
-GLIB_CFLAGS ?= @GLIB_CFLAGS@
-GLIB_LIBS ?= @GLIB_LIBS@
-GMODULE_CFLAGS ?= @GMODULE_CFLAGS@
-GMODULE_LIBS ?= @GMODULE_LIBS@
-GMSGFMT ?= @GMSGFMT@
-GNOMEVFS_CFLAGS ?= @GNOMEVFS_CFLAGS@
-GNOMEVFS_LIBS ?= @GNOMEVFS_LIBS@
-GTK_CFLAGS ?= @GTK_CFLAGS@
-GTK_LIBS ?= @GTK_LIBS@
-HARDSID_LDADD ?= @HARDSID_LDADD@
-HAVE_ADPLUG_FALSE ?= @HAVE_ADPLUG_FALSE@
-HAVE_ADPLUG_TRUE ?= @HAVE_ADPLUG_TRUE@
-HAVE_ALSA_FALSE ?= @HAVE_ALSA_FALSE@
-HAVE_ALSA_TRUE ?= @HAVE_ALSA_TRUE@
-HAVE_CDROM_FALSE ?= @HAVE_CDROM_FALSE@
-HAVE_CDROM_TRUE ?= @HAVE_CDROM_TRUE@
-HAVE_ESD_FALSE ?= @HAVE_ESD_FALSE@
-HAVE_ESD_TRUE ?= @HAVE_ESD_TRUE@
-HAVE_FLAC_FALSE ?= @HAVE_FLAC_FALSE@
-HAVE_FLAC_TRUE ?= @HAVE_FLAC_TRUE@
-HAVE_JACK_FALSE ?= @HAVE_JACK_FALSE@
-HAVE_JACK_TRUE ?= @HAVE_JACK_TRUE@
-HAVE_LIBSAMPLERATE_FALSE ?= @HAVE_LIBSAMPLERATE_FALSE@
-HAVE_LIBSAMPLERATE_TRUE ?= @HAVE_LIBSAMPLERATE_TRUE@
-HAVE_LIBSNDFILE_FALSE ?= @HAVE_LIBSNDFILE_FALSE@
-HAVE_LIBSNDFILE_TRUE ?= @HAVE_LIBSNDFILE_TRUE@
-HAVE_LIBVISUAL_FALSE ?= @HAVE_LIBVISUAL_FALSE@
-HAVE_LIBVISUAL_TRUE ?= @HAVE_LIBVISUAL_TRUE@
-HAVE_LINUX_JOYSTICK_FALSE ?= @HAVE_LINUX_JOYSTICK_FALSE@
-HAVE_LINUX_JOYSTICK_TRUE ?= @HAVE_LINUX_JOYSTICK_TRUE@
-HAVE_LIRC_FALSE ?= @HAVE_LIRC_FALSE@
-HAVE_LIRC_TRUE ?= @HAVE_LIRC_TRUE@
-HAVE_MODPLUG_FALSE ?= @HAVE_MODPLUG_FALSE@
-HAVE_MODPLUG_TRUE ?= @HAVE_MODPLUG_TRUE@
-HAVE_OGGVORBIS_FALSE ?= @HAVE_OGGVORBIS_FALSE@
-HAVE_OGGVORBIS_TRUE ?= @HAVE_OGGVORBIS_TRUE@
-HAVE_OSS_FALSE ?= @HAVE_OSS_FALSE@
-HAVE_OSS_TRUE ?= @HAVE_OSS_TRUE@
-HAVE_SIDPLAY_FALSE ?= @HAVE_SIDPLAY_FALSE@
-HAVE_SIDPLAY_TRUE ?= @HAVE_SIDPLAY_TRUE@
-HAVE_SOLARIS_FALSE ?= @HAVE_SOLARIS_FALSE@
-HAVE_SOLARIS_TRUE ?= @HAVE_SOLARIS_TRUE@
-HAVE_SUN_FALSE ?= @HAVE_SUN_FALSE@
-HAVE_SUN_TRUE ?= @HAVE_SUN_TRUE@
-INPUT_PLUGINS ?= @INPUT_PLUGINS@
-INPUT_PLUGIN_DIR ?= @INPUT_PLUGIN_DIR@
-INSTALL_DATA ?= @INSTALL_DATA@
-INSTALL_PROGRAM ?= @INSTALL_PROGRAM@
-INSTALL_SCRIPT ?= @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM ?= @INSTALL_STRIP_PROGRAM@
-INSTOBJEXT ?= @INSTOBJEXT@
-INTLBISON ?= @INTLBISON@
-INTLLIBS ?= @INTLLIBS@
-INTLOBJS ?= @INTLOBJS@
-INTL_LIBTOOL_SUFFIX_PREFIX ?= @INTL_LIBTOOL_SUFFIX_PREFIX@
-JACK_CFLAGS ?= @JACK_CFLAGS@
-JACK_LIBS ?= @JACK_LIBS@
-LDFLAGS ?= @LDFLAGS@
-LIBBEEP_MAJOR_VERSION ?= @LIBBEEP_MAJOR_VERSION@
-LIBBEEP_MICRO_VERSION ?= @LIBBEEP_MICRO_VERSION@
-LIBBEEP_MINOR_VERSION ?= @LIBBEEP_MINOR_VERSION@
-LIBFLAC_CFLAGS ?= @LIBFLAC_CFLAGS@
-LIBFLAC_LIBS ?= @LIBFLAC_LIBS@
-LIBGLADE_CFLAGS ?= @LIBGLADE_CFLAGS@
-LIBGLADE_LIBS ?= @LIBGLADE_LIBS@
-LIBNMS_CFLAGS ?= @LIBNMS_CFLAGS@
-LIBNMS_LIBS ?= @LIBNMS_LIBS@
-LIBNMS_SRC ?= @LIBNMS_SRC@
-LIBICONV ?= @LIBICONV@
-LIBINTL ?= @LIBINTL@
-LIBOBJS ?= @LIBOBJS@
-LIBS ?= @LIBS@
-LIBTOOL ?= @LIBTOOL@
-LIBVISUAL_CFLAGS ?= @LIBVISUAL_CFLAGS@
-LIBVISUAL_LIBS ?= @LIBVISUAL_LIBS@
-LN_S ?= @LN_S@
-LTLIBICONV ?= @LTLIBICONV@
-LTLIBINTL ?= @LTLIBINTL@
-LTLIBOBJS ?= @LTLIBOBJS@
-MAKEINFO ?= @MAKEINFO@
-MKINSTALLDIRS ?= @MKINSTALLDIRS@
-MSGFMT ?= @MSGFMT@
-MSGMERGE ?= @MSGMERGE@
-OBJEXT ?= @OBJEXT@
-OGG_VORBIS_CFLAGS ?= @OGG_VORBIS_CFLAGS@
-OGG_VORBIS_LIBS ?= @OGG_VORBIS_LIBS@
-OSS_LIBS ?= @OSS_LIBS@
-OUTPUT_PLUGINS ?= @OUTPUT_PLUGINS@
-OUTPUT_PLUGIN_DIR ?= @OUTPUT_PLUGIN_DIR@
-PACKAGE ?= @PACKAGE@
-PACKAGE_BUGREPORT ?= @PACKAGE_BUGREPORT@
-PACKAGE_NAME ?= @PACKAGE_NAME@
-PACKAGE_STRING ?= @PACKAGE_STRING@
-PACKAGE_TARNAME ?= @PACKAGE_TARNAME@
-PACKAGE_VERSION ?= @PACKAGE_VERSION@
-PATH_SEPARATOR ?= @PATH_SEPARATOR@
-PC_REQUIRES ?= @PC_REQUIRES@
-PKG_CONFIG ?= @PKG_CONFIG@
-PLUGIN_LDFLAGS ?= @PLUGIN_LDFLAGS@
-POSUB ?= @POSUB@
-RANLIB ?= @RANLIB@
-REGEX_CFLAGS ?= @REGEX_CFLAGS@
-REGEX_LIBS ?= @REGEX_LIBS@
-RESID_LDADD ?= @RESID_LDADD@
-SAMPLERATE_CFLAGS ?= @SAMPLERATE_CFLAGS@
-SAMPLERATE_LIBS ?= @SAMPLERATE_LIBS@
-SDL_CFLAGS ?= @SDL_CFLAGS@
-SDL_CONFIG ?= @SDL_CONFIG@
-SDL_LIBS ?= @SDL_LIBS@
-SET_MAKE ?= @SET_MAKE@
-SHELL ?= @SHELL@
-SIDPLAY1_INCLUDES ?= @SIDPLAY1_INCLUDES@
-SIDPLAY1_LDADD ?= @SIDPLAY1_LDADD@
-SIDPLAY2_INCLUDES ?= @SIDPLAY2_INCLUDES@
-SIDPLAY2_LDADD ?= @SIDPLAY2_LDADD@
-SNDFILE_CFLAGS ?= @SNDFILE_CFLAGS@
-SNDFILE_LIBS ?= @SNDFILE_LIBS@
-STRIP ?= @STRIP@
-USE_DBUS ?= @USE_DBUS@
-USE_INCLUDED_LIBINTL ?= @USE_INCLUDED_LIBINTL@
-USE_NLS ?= @USE_NLS@
-USE_X86ASM_FALSE ?= @USE_X86ASM_FALSE@
-USE_X86ASM_TRUE ?= @USE_X86ASM_TRUE@
-VERSION ?= @VERSION@
-VISUALIZATION_PLUGINS ?= @VISUALIZATION_PLUGINS@
-VISUALIZATION_PLUGIN_DIR ?= @VISUALIZATION_PLUGIN_DIR@
-XGETTEXT ?= @XGETTEXT@
-ac_ct_AR ?= @ac_ct_AR@
-ac_ct_CC ?= @ac_ct_CC@
-ac_ct_CXX ?= @ac_ct_CXX@
-ac_ct_RANLIB ?= @ac_ct_RANLIB@
-ac_ct_STRIP ?= @ac_ct_STRIP@
-am__fastdepCC_FALSE ?= @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE ?= @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE ?= @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE ?= @am__fastdepCXX_TRUE@
-am__include ?= @am__include@
-am__leading_dot ?= @am__leading_dot@
-am__quote ?= @am__quote@
-am__tar ?= @am__tar@
-am__untar ?= @am__untar@
-beepdir ?= @beepdir@
-bindir ?= @bindir@
-build ?= @build@
-build_alias ?= @build_alias@
-build_cpu ?= @build_cpu@
-build_os ?= @build_os@
-build_vendor ?= @build_vendor@
-datadir ?= @datadir@
-datarootdir ?= @datarootdir@
-exec_prefix ?= @exec_prefix@
-host ?= @host@
-host_alias ?= @host_alias@
-host_cpu ?= @host_cpu@
-host_os ?= @host_os@
-host_vendor ?= @host_vendor@
-includedir ?= @includedir@
-infodir ?= @infodir@
-install_sh ?= @install_sh@
-libdir ?= @libdir@
-libexecdir ?= @libexecdir@
-localedir ?= @localedir@
-localstatedir ?= @localstatedir@
-mandir ?= @mandir@
-mkdir_p ?= @mkdir_p@
-oldincludedir ?= @oldincludedir@
-plugindir ?= @plugindir@
-pluginsubs ?= @pluginsubs@
-prefix ?= @prefix@
-program_transform_name ?= @program_transform_name@
-sbindir ?= @sbindir@
-sharedstatedir ?= @sharedstatedir@
-sysconfdir ?= @sysconfdir@
-target ?= @target@
-target_alias ?= @target_alias@
-target_cpu ?= @target_cpu@
-target_os ?= @target_os@
-target_vendor ?= @target_vendor@
-WAV_SNDFILE ?= @WAV_SNDFILE@
-VFS_BACKEND ?= @VFS_BACKEND@
-CURL_CFLAGS ?= @CURL_CFLAGS@
-CURL_LIBS ?= @CURL_LIBS@
-MUSICBRAINZ_LIBS ?= @MUSICBRAINZ_LIBS@
-CHARDET_LIBS ?= @CHARDET_LIBS@
-samplerate_CFLAGS ?= @samplerate_CFLAGS@
-samplerate_LIBS ?= @samplerate_LIBS@
-SUBDIR_GUESS ?= @SUBDIR_GUESS@
-LIBNOTIFY_CFLAGS ?= @LIBNOTIFY_CFLAGS@
-LIBNOTIFY_LIBS ?= @LIBNOTIFY_LIBS@
-XML_CPPFLAGS ?= @XML_CPPFLAGS@
-XML_LIBS ?= @XML_LIBS@
-CONTAINER_PLUGIN_DIR ?= @CONTAINER_PLUGIN_DIR@
-CONTAINER_PLUGINS ?= @CONTAINER_PLUGINS@
-SHARED_SUFFIX ?= @SHARED_SUFFIX@
-PICFLAGS ?= @PICFLAGS@
-PICLDFLAGS ?= @PICLDFLAGS@
-LIBLDFLAGS ?= @LIBLDFLAGS@
-AUDLDFLAGS ?= @AUDLDFLAGS@
-INTL_OBJECTIVE ?= @INTL_OBJECTIVE@
-LIBMCS_CFLAGS ?= @LIBMCS_CFLAGS@
-LIBMCS_LIBS ?= @LIBMCS_LIBS@
-MOWGLI_CFLAGS ?= @MOWGLI_CFLAGS@
-MOWGLI_LIBS ?= @MOWGLI_LIBS@
-LIBAUDCLIENT_OBJECTIVE ?= @LIBAUDCLIENT_OBJECTIVE@
-TRANSPORT_PLUGIN_DIR ?= @TRANSPORT_PLUGIN_DIR@
-TRANSPORT_PLUGINS ?= @TRANSPORT_PLUGINS@
-PCH ?= @PCH@
--- a/skins/Classic/Makefile	Fri Sep 14 08:10:29 2007 +0300
+++ b/skins/Classic/Makefile	Wed Sep 19 17:48:49 2007 +0300
@@ -1,25 +1,26 @@
-include ../../mk/rules.mk
-include ../../mk/init.mk
+include ../../buildsys.mk
 
 skindir = $(pkgdatadir)/Skins/Classic
 
-OBJECTIVE_DATA = \
-	balance.png:$(skindir)		\
-	cbuttons.png:$(skindir)		\
-	eq_ex.png:$(skindir)		\
-	eqmain.png:$(skindir)		\
-	main.png:$(skindir)		\
-	monoster.png:$(skindir)		\
-	nums_ex.png:$(skindir)		\
-	playpaus.png:$(skindir)		\
-	pledit.png:$(skindir)		\
-	posbar.png:$(skindir)		\
-	shufrep.png:$(skindir)		\
-	text.png:$(skindir)		\
-	titlebar.png:$(skindir)		\
-	volume.png:$(skindir)		\
-	pledit.txt:$(skindir)		\
-	viscolor.txt:$(skindir)		\
-	skin.hints:$(skindir)
+install-extra:
+	y="*.png *.txt *.hints"; \
+	for i in $$y; do \
+	        ${INSTALL_STATUS}; \
+		if ${MKDIR_P} ${DESTDIR}${skindir} && ${INSTALL} -m 644 $$i ${DESTDIR}${skindir}/$$i; then \
+			${INSTALL_OK}; \
+		else \
+			${INSTALL_FAILED}; \
+		fi; \
+	done
 
-include ../../mk/objective.mk
+uninstall-extra:
+	y="*.png *.txt *.hints"; \
+	for i in $$y; do \
+		if [ -f ${DESTDIR}${skindir}/$$i ]; then \
+			if rm -f ${DESTDIR}${skindir}/$$i; then \
+				${DELETE_OK}; \
+			else \
+				${DELETE_FAILED}; \
+			fi \
+		fi; \
+	done
--- a/skins/Default/Makefile	Fri Sep 14 08:10:29 2007 +0300
+++ b/skins/Default/Makefile	Wed Sep 19 17:48:49 2007 +0300
@@ -1,25 +1,26 @@
-include ../../mk/rules.mk
-include ../../mk/init.mk
+include ../../buildsys.mk
 
 skindir = $(pkgdatadir)/Skins/Default
 
-OBJECTIVE_DATA = \
-	balance.png:$(skindir)		\
-	cbuttons.png:$(skindir)		\
-	eq_ex.png:$(skindir)		\
-	eqmain.png:$(skindir)		\
-	main.png:$(skindir)		\
-	monoster.png:$(skindir)		\
-	nums_ex.png:$(skindir)		\
-	playpaus.png:$(skindir)		\
-	pledit.png:$(skindir)		\
-	posbar.png:$(skindir)		\
-	shufrep.png:$(skindir)		\
-	text.png:$(skindir)		\
-	titlebar.png:$(skindir)		\
-	volume.png:$(skindir)		\
-	pledit.txt:$(skindir)		\
-	viscolor.txt:$(skindir)		\
-	skin.hints:$(skindir)
+install-extra:
+	y="*.png *.txt *.hints"; \
+	for i in $$y; do \
+	        ${INSTALL_STATUS}; \
+		if ${MKDIR_P} ${DESTDIR}${skindir} && ${INSTALL} -m 644 $$i ${DESTDIR}${skindir}/$$i; then \
+			${INSTALL_OK}; \
+		else \
+			${INSTALL_FAILED}; \
+		fi; \
+	done
 
-include ../../mk/objective.mk
+uninstall-extra:
+	y="*.png *.txt *.hints"; \
+	for i in $$y; do \
+		if [ -f ${DESTDIR}${skindir}/$$i ]; then \
+			if rm -f ${DESTDIR}${skindir}/$$i; then \
+				${DELETE_OK}; \
+			else \
+				${DELETE_FAILED}; \
+			fi \
+		fi; \
+	done
--- a/skins/Ivory/Makefile	Fri Sep 14 08:10:29 2007 +0300
+++ b/skins/Ivory/Makefile	Wed Sep 19 17:48:49 2007 +0300
@@ -1,24 +1,26 @@
-include ../../mk/rules.mk
-include ../../mk/init.mk
+include ../../buildsys.mk
 
 skindir = $(pkgdatadir)/Skins/Ivory
-OBJECTIVE_DATA = \
-	balance.png:$(skindir)		\
-	cbuttons.png:$(skindir)		\
-	eq_ex.png:$(skindir)		\
-	eqmain.png:$(skindir)		\
-	main.png:$(skindir)		\
-	monoster.png:$(skindir)		\
-	nums_ex.png:$(skindir)		\
-	playpaus.png:$(skindir)		\
-	pledit.png:$(skindir)		\
-	posbar.png:$(skindir)		\
-	shufrep.png:$(skindir)		\
-	text.png:$(skindir)		\
-	titlebar.png:$(skindir)		\
-	volume.png:$(skindir)		\
-	pledit.txt:$(skindir)		\
-	viscolor.txt:$(skindir)		\
-	skin.hints:$(skindir)
+
+install-extra:
+	y="*.png *.txt *.hints"; \
+	for i in $$y; do \
+	        ${INSTALL_STATUS}; \
+		if ${MKDIR_P} ${DESTDIR}${skindir} && ${INSTALL} -m 644 $$i ${DESTDIR}${skindir}/$$i; then \
+			${INSTALL_OK}; \
+		else \
+			${INSTALL_FAILED}; \
+		fi; \
+	done
 
-include ../../mk/objective.mk
+uninstall-extra:
+	y="*.png *.txt *.hints"; \
+	for i in $$y; do \
+		if [ -f ${DESTDIR}${skindir}/$$i ]; then \
+			if rm -f ${DESTDIR}${skindir}/$$i; then \
+				${DELETE_OK}; \
+			else \
+				${DELETE_FAILED}; \
+			fi \
+		fi; \
+	done
--- a/skins/Makefile	Fri Sep 14 08:10:29 2007 +0300
+++ b/skins/Makefile	Wed Sep 19 17:48:49 2007 +0300
@@ -1,9 +1,4 @@
-.SILENT:
-
-include ../mk/rules.mk
-include ../mk/init.mk
+include ../buildsys.mk
 
 SUBDIRS = Default Classic TinyPlayer Osmosis Ivory
 
-include ../mk/objective.mk
-
--- a/skins/Osmosis/Makefile	Fri Sep 14 08:10:29 2007 +0300
+++ b/skins/Osmosis/Makefile	Wed Sep 19 17:48:49 2007 +0300
@@ -1,24 +1,26 @@
-include ../../mk/rules.mk
-include ../../mk/init.mk
+include ../../buildsys.mk
 
 skindir = $(pkgdatadir)/Skins/Osmosis
-OBJECTIVE_DATA = \
-	balance.png:$(skindir)		\
-	cbuttons.png:$(skindir)		\
-	eq_ex.png:$(skindir)		\
-	eqmain.png:$(skindir)		\
-	main.png:$(skindir)		\
-	monoster.png:$(skindir)		\
-	nums_ex.png:$(skindir)		\
-	playpaus.png:$(skindir)		\
-	pledit.png:$(skindir)		\
-	posbar.png:$(skindir)		\
-	shufrep.png:$(skindir)		\
-	text.png:$(skindir)		\
-	titlebar.png:$(skindir)		\
-	volume.png:$(skindir)		\
-	pledit.txt:$(skindir)		\
-	viscolor.txt:$(skindir)		\
-	skin.hints:$(skindir)
+
+install-extra:
+	y="*.png *.txt *.hints"; \
+	for i in $$y; do \
+	        ${INSTALL_STATUS}; \
+		if ${MKDIR_P} ${DESTDIR}${skindir} && ${INSTALL} -m 644 $$i ${DESTDIR}${skindir}/$$i; then \
+			${INSTALL_OK}; \
+		else \
+			${INSTALL_FAILED}; \
+		fi; \
+	done
 
-include ../../mk/objective.mk
+uninstall-extra:
+	y="*.png *.txt *.hints"; \
+	for i in $$y; do \
+		if [ -f ${DESTDIR}${skindir}/$$i ]; then \
+			if rm -f ${DESTDIR}${skindir}/$$i; then \
+				${DELETE_OK}; \
+			else \
+				${DELETE_FAILED}; \
+			fi \
+		fi; \
+	done
--- a/skins/TinyPlayer/Makefile	Fri Sep 14 08:10:29 2007 +0300
+++ b/skins/TinyPlayer/Makefile	Wed Sep 19 17:48:49 2007 +0300
@@ -1,24 +1,26 @@
-include ../../mk/rules.mk
-include ../../mk/init.mk
+include ../../buildsys.mk
 
 skindir = $(pkgdatadir)/Skins/TinyPlayer
-OBJECTIVE_DATA = \
-	balance.png:$(skindir)		\
-	cbuttons.png:$(skindir)		\
-	eq_ex.png:$(skindir)		\
-	eqmain.png:$(skindir)		\
-	main.png:$(skindir)		\
-	monoster.png:$(skindir)		\
-	nums_ex.png:$(skindir)		\
-	playpaus.png:$(skindir)		\
-	pledit.png:$(skindir)		\
-	posbar.png:$(skindir)		\
-	shufrep.png:$(skindir)		\
-	text.png:$(skindir)		\
-	titlebar.png:$(skindir)		\
-	volume.png:$(skindir)		\
-	pledit.txt:$(skindir)		\
-	viscolor.txt:$(skindir)		\
-	skin.hints:$(skindir)
+
+install-extra:
+	y="*.png *.txt *.hints"; \
+	for i in $$y; do \
+	        ${INSTALL_STATUS}; \
+		if ${MKDIR_P} ${DESTDIR}${skindir} && ${INSTALL} -m 644 $$i ${DESTDIR}${skindir}/$$i; then \
+			${INSTALL_OK}; \
+		else \
+			${INSTALL_FAILED}; \
+		fi; \
+	done
 
-include ../../mk/objective.mk
+uninstall-extra:
+	y="*.png *.txt *.hints"; \
+	for i in $$y; do \
+		if [ -f ${DESTDIR}${skindir}/$$i ]; then \
+			if rm -f ${DESTDIR}${skindir}/$$i; then \
+				${DELETE_OK}; \
+			else \
+				${DELETE_FAILED}; \
+			fi \
+		fi; \
+	done
--- a/src/Makefile	Fri Sep 14 08:10:29 2007 +0300
+++ b/src/Makefile	Wed Sep 19 17:48:49 2007 +0300
@@ -1,9 +1,8 @@
 .SILENT:
 
-include ../mk/rules.mk
-include ../mk/init.mk
+include ../extra.mk
 
-SUBDIRS = $(SUBDIR_GUESS)
+SUBDIRS = libguess
 
 ifdef USE_DBUS
 SUBDIRS += libaudclient audtool
@@ -11,9 +10,5 @@
 
 SUBDIRS += audacious libid3tag
 
-include ../mk/objective.mk
+include ../buildsys.mk
 
-ifdef USE_DBUS
-depend-prehook:
-	@cd audacious; $(MAKE) $@ || exit; cd ..;
-endif
--- a/src/audacious/Makefile	Fri Sep 14 08:10:29 2007 +0300
+++ b/src/audacious/Makefile	Wed Sep 19 17:48:49 2007 +0300
@@ -1,39 +1,12 @@
-include ../../mk/rules.mk
-include ../../mk/init.mk
-include ../../mk/objective.mk
+include ../../extra.mk
 
 SUBDIRS = $(INTL_OBJECTIVE) glade images ui
 
-OBJECTIVE_BINS = audacious
+PROG = audacious
 
 LDFLAGS += $(AUDLDFLAGS)
 
-LDADD = \
-	$(LIBINTL) \
-	$(samplerate_LIBS) \
-	$(CHARDET_LIBS) \
-	$(GTK_LIBS) \
-	$(DBUS_LIBS) \
-	$(MOWGLI_LIBS) \
-	$(LIBMCS_LIBS) \
-	$(LIBGLADE_LIBS) \
-	$(REGEX_LIBS)
-
-CFLAGS += \
-	$(MOWGLI_CFLAGS) \
-	$(GTK_CFLAGS) \
-	$(LIBGLADE_CFLAGS) \
-	$(BEEP_DEFINES) \
-	$(ARCH_DEFINES) \
-	$(DBUS_CFLAGS) \
-	$(samplerate_CFLAGS) \
-	$(REGEX_CFLAGS) \
-	$(LIBMCS_CFLAGS) \
-	-D_AUDACIOUS_CORE \
-	-I.. -I../.. \
-	-I./intl
-
-HEADERS = \
+INCLUDES = \
 	auddrct.h \
 	configdb.h \
 	custom_uri.h \
@@ -41,6 +14,7 @@
 	discovery.h \
 	dbus-service.h \
 	eventqueue.h \
+	flow.h \
 	formatter.h \
 	rcfile.h \
 	i18n.h \
@@ -67,7 +41,7 @@
 	vfs_buffered_file.h \
 	xconvert.h
 
-SOURCES = \
+SRCS = \
 	auddrct.c \
 	build_stamp.c \
 	configdb.c \
@@ -78,6 +52,7 @@
 	effect.c \
 	eventqueue.c \
 	fft.c \
+	flow.c \
 	formatter.c \
 	general.c \
 	glade.c \
@@ -144,32 +119,62 @@
 	vfs_buffered_file.c \
 	vfs_common.c \
 	visualization.c \
+	volumecontrol.c \
 	sync-menu.c \
 	xconvert.c
 
+ifdef USE_DBUS
+SRCS += dbus.c
+endif
+
 LIBDEP = ../libguess/libguess.a
 
-ifdef USE_DBUS
-SOURCES += dbus.c
-CFLAGS += -I../libaudclient
-DBUS_BINDINGS = dbus-server-bindings.h dbus-client-bindings.h
-OBJECTIVE_LIBS_NOINST += $(DBUS_BINDINGS)
-LIBDEP += ../libaudclient/libaudclient$(SHARED_SUFFIX)
-LDADD += -L../libaudclient -laudclient
-endif
+include ../../buildsys.mk
 
 LIBADD += $(LDADD)
 
-depend-prehook: $(DBUS_BINDINGS)
+ifdef USE_DBUS	
+CPPFLAGS += -I../libaudclient
+DBUS_BINDINGS = dbus-server-bindings.h dbus-client-bindings.h
+LIBS += -L../libaudclient -laudclient
+endif
+
+LDFLAGS += ${EXPORTDYN}
+
+depend-hook: $(DBUS_BINDINGS)
+
+CPPFLAGS += -DHAVE_CONFIG_H \
+	$(MOWGLI_CFLAGS) \
+	$(GTK_CFLAGS) \
+	$(LIBGLADE_CFLAGS) \
+	$(BEEP_DEFINES) \
+	$(ARCH_DEFINES) \
+	$(DBUS_CFLAGS) \
+	$(samplerate_CFLAGS) \
+	$(REGEX_CFLAGS) \
+	$(LIBMCS_CFLAGS) \
+	-D_AUDACIOUS_CORE \
+	-I.. -I../.. \
+	-I./intl
+
+LIBS += \
+	$(LIBINTL) \
+	$(samplerate_LIBS) \
+	../libguess/libguess.a \
+	$(GTK_LIBS) \
+	$(DBUS_LIBS) \
+	$(MOWGLI_LIBS) \
+	$(LIBMCS_LIBS) \
+	$(LIBGLADE_LIBS) \
+	$(REGEX_LIBS)
 
 build_stamp.c: 
 	if [ -d ../../.hg ]; then \
 		revh=`hg tip --template 'const char *svn_stamp = "#rev#:#node|short#";\n' 2>/dev/null`; \
 		[ -z "$$revh" ] || echo "$$revh" > build_stamp.c; \
-		printf "%10s     %-20s\n" STAMP "build_stamp.c"; \
 	fi
 
-clean-prehook:
+clean-hook:
 	if [ -d ../../.hg ]; then \
 		rm -f build_stamp.c; \
 	fi
@@ -180,27 +185,17 @@
 	mpris_tracklist.xml \
 	mpris_player.xml
 
-OBJECTS = ${SOURCES:.c=.o}
-
 desktop_DATA = audacious.desktop
 desktopdir = $(datadir)/applications
 
-build-prehook: $(PCH)
-
-audacious: $(OBJECTS) $(LIBDEP)
-	$(CXX) $(LDFLAGS) $(OBJECTS) $(LDADD) -o $@
-	@printf "%10s     %-20s\n" LINK $@
-
 dbus-server-bindings.h: $(DBUS_BINDINGS_SOURCES)
 	$(DBUS_BINDING_TOOL) --mode=glib-server --prefix=audacious_rc objects.xml > $@
 	$(DBUS_BINDING_TOOL) --mode=glib-server --prefix=mpris_root mpris_root.xml >> $@
 	$(DBUS_BINDING_TOOL) --mode=glib-server --prefix=mpris_tracklist mpris_tracklist.xml >> $@
 	$(DBUS_BINDING_TOOL) --mode=glib-server --prefix=mpris_player mpris_player.xml >> $@
-	@printf "%10s     %-20s\n" DBUS-BIND $@
 
 dbus-client-bindings.h: $(DBUS_BINDINGS_SOURCES)
 	$(DBUS_BINDING_TOOL) --mode=glib-client --prefix=audacious_rc objects.xml > $@
-	@printf "%10s     %-20s\n" DBUS-BIND $@
 
 OBJECTIVE_DATA = audacious.desktop:$(datadir)/applications
 
--- a/src/audacious/effect.c	Fri Sep 14 08:10:29 2007 +0300
+++ b/src/audacious/effect.c	Wed Sep 19 17:48:49 2007 +0300
@@ -157,3 +157,37 @@
     }
     g_strfreev(plugins);
 }
+
+void
+effect_flow(FlowContext *context)
+{
+    AFormat new_format;
+    gint new_rate;
+    gint new_nch;
+
+    new_format = context->fmt;
+    new_rate = context->srate;
+    new_nch = context->channels;
+
+    effect_do_query_format(&new_format, &new_rate, &new_nch);
+
+    if (new_format != context->fmt ||
+        new_rate != context->srate ||
+        new_nch != context->channels)
+    {
+        /*
+         * The effect plugin changes the stream format. Reopen the
+         * audio device.
+         */
+        if (!output_open_audio(new_format, new_rate, new_nch))
+            return;
+
+        context->fmt = new_format;
+        context->srate = new_rate;
+        context->channels = new_nch;
+    }
+
+    context->len = effect_do_mod_samples(&context->data, context->len,
+        context->fmt, context->srate, context->channels);
+}
+
--- a/src/audacious/effect.h	Fri Sep 14 08:10:29 2007 +0300
+++ b/src/audacious/effect.h	Wed Sep 19 17:48:49 2007 +0300
@@ -27,6 +27,8 @@
 #define EFFECT_H
 
 #include <glib.h>
+
+#include "audacious/flow.h"
 #include "audacious/output.h"
 
 typedef struct _EffectPluginData EffectPluginData;
@@ -44,6 +46,7 @@
 gint effect_do_mod_samples(gpointer * data, gint length, AFormat fmt, 
 	gint srate, gint nch);
 void effect_do_query_format(AFormat * fmt, gint * rate, gint * nch);
+void effect_flow(FlowContext *context);
 
 extern EffectPluginData ep_data;
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/audacious/flow.c	Wed Sep 19 17:48:49 2007 +0300
@@ -0,0 +1,131 @@
+/*
+ * Audacious
+ * Copyright (c) 2007 William Pitcock
+ *
+ * flow.c: flow management API.
+ *
+ * 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. 
+ */
+
+#include "flow.h"
+
+mowgli_object_class_t flow_klass;
+
+static void
+flow_destructor(Flow *flow)
+{
+    FlowElement *element, *element2;
+
+    g_return_if_fail(flow != NULL);
+
+    MOWGLI_ITER_FOREACH_SAFE(element, element2, flow->head)
+        g_slice_free(FlowElement, element);
+
+    g_slice_free(Flow, flow);    
+}
+
+void flow_execute(Flow *flow, gint time, gpointer data, gsize len, AFormat fmt, 
+     gint srate, gint channels)
+{
+    FlowElement *element;
+    FlowContext context = {};
+
+    g_return_if_fail(flow != NULL);
+    g_return_if_fail(data != NULL);
+
+    context.time = time;
+    context.data = data;
+    context.len = len;
+    context.fmt = fmt;
+    context.srate = srate;
+    context.channels = channels;
+    context.error = FALSE;
+
+    MOWGLI_ITER_FOREACH(element, flow->head)
+    {
+        element->func(&context);
+
+        if (context.error)
+            break;
+    }
+}
+
+Flow *
+flow_new(void)
+{
+    static int init = 0;
+    Flow *out;
+
+    if (!init)
+    {
+        mowgli_object_class_init(&flow_klass, "audacious.flow",
+            (mowgli_destructor_t) flow_destructor, FALSE);
+        ++init;
+    }
+
+    out = g_slice_new0(Flow);
+    mowgli_object_init(mowgli_object(out), NULL, &flow_klass, NULL);
+
+    return out;
+}
+
+void
+flow_link_element(Flow *flow, FlowFunction func)
+{
+    FlowElement *element;
+
+    g_return_if_fail(flow != NULL);
+    g_return_if_fail(func != NULL);
+
+    element = g_slice_new0(FlowElement);
+    element->func = func;
+    element->prev = flow->tail;
+
+    if (flow->tail)
+        flow->tail->next = element;
+    
+    flow->tail = element;        
+
+    if (!flow->head)
+        flow->head = element;
+}
+
+/* TBD: unlink all elements of func, or just the first --nenolod */
+void
+flow_unlink_element(Flow *flow, FlowFunction func)
+{
+    FlowElement *iter, *iter2;
+
+    g_return_if_fail(flow != NULL);
+    g_return_if_fail(func != NULL);
+
+    MOWGLI_ITER_FOREACH_SAFE(iter, iter2, flow->head)
+        if (iter->func == func)
+        {
+            if (iter->next)
+                iter->next->prev = iter->prev;
+
+            iter->prev->next = iter->next;
+
+            if (flow->tail == iter)
+                flow->tail = iter->prev;
+
+            if (flow->head == iter)
+                flow->head = iter->next;
+
+            g_slice_free(FlowElement, iter);
+        }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/audacious/flow.h	Wed Sep 19 17:48:49 2007 +0300
@@ -0,0 +1,62 @@
+/*
+ * Audacious
+ * Copyright (c) 2007 William Pitcock
+ *
+ * flow.h: Definition of flow context structure, flow management API.
+ *
+ * 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. 
+ */
+
+#include <glib.h>
+#include <mowgli.h>
+
+#include "output.h"
+
+#ifndef __AUDACIOUS_FLOW_H__
+#define __AUDACIOUS_FLOW_H__
+
+typedef struct {
+    gint time;
+    gpointer data;
+    gsize len;
+    AFormat fmt;
+    gint srate;
+    gint channels;
+    gboolean error;
+} FlowContext;
+
+typedef void (*FlowFunction)(FlowContext *ctx);
+
+typedef struct _FlowElement {
+    struct _FlowElement *prev, *next;
+    FlowFunction func;
+} FlowElement;
+
+typedef struct {
+    mowgli_object_t parent;
+    FlowElement *head, *tail;
+} Flow;
+
+void flow_execute(Flow *flow, gint time, gpointer data, gsize len, AFormat fmt, 
+     gint srate, gint channels);
+
+Flow *flow_new(void);
+void flow_link_element(Flow *flow, FlowFunction func);
+void flow_unlink_element(Flow *flow, FlowFunction func);
+
+#define flow_destroy(flow) mowgli_object_unref(flow)
+
+#endif
--- a/src/audacious/glade/Makefile	Fri Sep 14 08:10:29 2007 +0300
+++ b/src/audacious/glade/Makefile	Wed Sep 19 17:48:49 2007 +0300
@@ -1,10 +1,27 @@
-include ../../../mk/rules.mk
-include ../../../mk/init.mk
+include ../../../buildsys.mk
 
 gladexmldir = $(pkgdatadir)/glade
 
-OBJECTIVE_DATA = \
-	fileinfo.glade:$(gladexmldir) \
-	prefswin.glade:$(gladexmldir)
+install-extra:
+	y="fileinfo.glade prefswin.glade"; \
+	for i in $$y; do \
+		${INSTALL_STATUS}; \
+		if ${MKDIR_P} ${DESTDIR}${gladexmldir} && ${INSTALL} -m 644 $$i ${DESTDIR}${gladexmldir}/$$i; then \
+			${INSTALL_OK}; \
+		else \
+			${INSTALL_FAILED}; \
+		fi; \
+	done
 
-include ../../../mk/objective.mk
+uninstall-extra:
+	y="fileinfo.glade prefswin.glade"; \
+	for i in $$y; do \
+		if [ -f ${DESTDIR}${gladexmldir}/$$i ]; then \
+			if rm -f ${DESTDIR}${gladexmldir}/$$i; then \
+				${DELETE_OK}; \
+			else \
+				${DELETE_FAILED}; \
+			fi \
+		fi; \
+	done;
+
--- a/src/audacious/glade/prefswin.glade	Fri Sep 14 08:10:29 2007 +0300
+++ b/src/audacious/glade/prefswin.glade	Wed Sep 19 17:48:49 2007 +0300
@@ -1,5386 +1,3306 @@
-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
-<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
-
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
+<!--*- mode: xml -*-->
 <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">True</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="vbox9">
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">0</property>
-
-		      <child>
-			<widget class="GtkAlignment" id="alignment40">
-			  <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="GtkHBox" id="hbox5">
-			      <property name="visible">True</property>
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">0</property>
-
-			      <child>
-				<widget class="GtkLabel" id="label21">
-				  <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" last_modification_time="Wed, 20 Dec 2006 16:32:25 GMT"/>
-
-				  <child>
-				    <widget class="GtkImage" id="image9">
-				      <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="image3">
-				      <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">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkAlignment" id="alignment39">
-			  <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>
-
-		      <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">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="label54">
-			      <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">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkVBox" id="vbox10">
-			  <property name="visible">True</property>
-			  <property name="homogeneous">False</property>
-			  <property name="spacing">0</property>
-
-			  <child>
-			    <widget class="GtkTable" id="table3">
-			      <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="alignment54">
-				  <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="label22">
-				      <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">mainwin_font_button</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="alignment53">
-				  <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="label23">
-				      <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">playlist_font_button</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="mainwin_font_button">
-				  <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="playlist_font_button">
-				  <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">False</property>
-			      <property name="fill">True</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkVBox" id="vbox11">
-			      <property name="visible">True</property>
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">0</property>
-
-			      <child>
-				<widget class="GtkAlignment" id="alignment60">
-				  <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">8</property>
-				  <property name="bottom_padding">0</property>
-				  <property name="left_padding">12</property>
-				  <property name="right_padding">0</property>
-
-				  <child>
-				    <widget class="GtkCheckButton" id="checkbutton1">
-				      <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">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkAlignment" id="alignment10">
-				  <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="label57">
-				      <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">False</property>
-				  <property name="fill">False</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="alignment8">
-			      <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">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment61">
-			      <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">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment69">
-			      <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="checkbutton2">
-				  <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="alignment1">
-			      <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>
-				  <accessibility>
-				    <atkproperty name="AtkObject::accessible_name" translatable="yes">Show window manager decorations</atkproperty>
-				    <atkproperty name="AtkObject::accessible_description" translatable="yes">This enables the window manager to show decorations for windows.</atkproperty>
-				  </accessibility>
-				  <signal name="toggled" handler="on_show_wm_decorations_toggled" last_modification_time="Thu, 23 Nov 2006 17:52:41 GMT"/>
-				  <signal name="realize" handler="on_show_wm_decorations_realize" last_modification_time="Thu, 23 Nov 2006 17:52:46 GMT"/>
-				</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="alignment2">
-			      <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" last_modification_time="Thu, 23 Nov 2006 17:51:23 GMT"/>
-				  <signal name="realize" handler="on_xmms_style_fileselector_realize" last_modification_time="Thu, 23 Nov 2006 17:51:34 GMT"/>
-				</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">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="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="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>
-
-			      <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="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="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="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_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>
-			    </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="realize" handler="on_playlist_convert_slash_realize" after="yes" last_modification_time="Sat, 03 Jul 2004 04:40:06 GMT"/>
-			      <signal name="toggled" handler="on_playlist_convert_slash_toggled" last_modification_time="Sat, 03 Jul 2004 04:40:16 GMT"/>
-			    </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</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="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>
-
-				  <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="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="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>
-				</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="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>
-
-			      <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="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="GtkComboBox" id="titlestring_cbox">
-				  <property name="visible">True</property>
-				  <property name="items" translatable="yes">TITLE
+  <widget class="GtkWindow" id="prefswin">
+    <property name="border_width">12</property>
+    <property name="title" translatable="yes">Audacious Preferences</property>
+    <property name="window_position">GTK_WIN_POS_CENTER</property>
+    <property name="default_width">680</property>
+    <property name="default_height">400</property>
+    <signal name="delete_event" handler="gtk_widget_hide_on_delete"/>
+    <child>
+      <widget class="GtkVBox" id="vbox1">
+        <property name="visible">True</property>
+        <child>
+          <widget class="GtkHBox" id="hbox1">
+            <property name="visible">True</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>
+                <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>
+                  </widget>
+                </child>
+              </widget>
+            </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="scrollable">True</property>
+                <property name="enable_popup">True</property>
+                <child>
+                  <widget class="GtkVBox" id="plugin_page_vbox">
+                    <property name="visible">True</property>
+                    <child>
+                      <widget class="GtkNotebook" id="plugin_notebook">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="show_border">False</property>
+                        <child>
+                          <widget class="GtkVBox" id="plugin_input_vbox">
+                            <property name="visible">True</property>
+                            <property name="border_width">12</property>
+                            <child>
+                              <widget class="GtkAlignment" id="alignment43">
+                                <property name="visible">True</property>
+                                <property name="bottom_padding">6</property>
+                                <child>
+                                  <widget class="GtkLabel" id="input_plugin_list_label">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes">_Decoder list:</property>
+                                    <property name="use_markup">True</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="mnemonic_widget">category_notebook</property>
+                                  </widget>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="padding">4</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>
+                                <child>
+                                  <widget class="GtkTreeView" id="input_plugin_view">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="reorderable">True</property>
+                                    <property name="rules_hint">True</property>
+                                    <signal name="realize" handler="on_input_plugin_view_realize" after="yes"/>
+                                  </widget>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkHButtonBox" id="input_plugin_button_box">
+                                <property name="visible">True</property>
+                                <property name="spacing">8</property>
+                                <property name="layout_style">GTK_BUTTONBOX_START</property>
+                                <child>
+                                  <widget class="GtkButton" id="input_plugin_prefs">
+                                    <property name="visible">True</property>
+                                    <property name="sensitive">False</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="can_default">True</property>
+                                    <property name="label">gtk-preferences</property>
+                                    <property name="use_stock">True</property>
+                                    <property name="response_id">0</property>
+                                  </widget>
+                                </child>
+                                <child>
+                                  <widget class="GtkButton" id="input_plugin_info">
+                                    <property name="visible">True</property>
+                                    <property name="sensitive">False</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="can_default">True</property>
+                                    <property name="label">gtk-dialog-info</property>
+                                    <property name="use_stock">True</property>
+                                    <property name="response_id">0</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="position">1</property>
+                                  </packing>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="padding">8</property>
+                                <property name="position">2</property>
+                              </packing>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="tab_expand">False</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkLabel" id="plugin_input_label">
+                            <property name="visible">True</property>
+                            <property name="xalign">0</property>
+                            <property name="yalign">0</property>
+                            <property name="label" translatable="yes">&lt;span size="medium"&gt;&lt;b&gt;Decoders&lt;/b&gt;&lt;/span&gt;</property>
+                            <property name="use_markup">True</property>
+                          </widget>
+                          <packing>
+                            <property name="type">tab</property>
+                            <property name="tab_expand">False</property>
+                            <property name="tab_fill">False</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkVBox" id="plugin_general_vbox">
+                            <property name="visible">True</property>
+                            <property name="border_width">12</property>
+                            <child>
+                              <widget class="GtkAlignment" id="alignment45">
+                                <property name="visible">True</property>
+                                <property name="bottom_padding">6</property>
+                                <child>
+                                  <widget class="GtkLabel" id="label11">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes">_General plugin list:</property>
+                                    <property name="use_markup">True</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="mnemonic_widget">category_notebook</property>
+                                  </widget>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="padding">4</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>
+                                <child>
+                                  <widget class="GtkTreeView" id="general_plugin_view">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="reorderable">True</property>
+                                    <property name="rules_hint">True</property>
+                                    <signal name="realize" handler="on_general_plugin_view_realize" after="yes"/>
+                                  </widget>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkHButtonBox" id="general_plugin_button_box">
+                                <property name="visible">True</property>
+                                <property name="spacing">8</property>
+                                <property name="layout_style">GTK_BUTTONBOX_START</property>
+                                <child>
+                                  <widget class="GtkButton" id="general_plugin_prefs">
+                                    <property name="visible">True</property>
+                                    <property name="sensitive">False</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="can_default">True</property>
+                                    <property name="label">gtk-preferences</property>
+                                    <property name="use_stock">True</property>
+                                    <property name="response_id">0</property>
+                                  </widget>
+                                </child>
+                                <child>
+                                  <widget class="GtkButton" id="general_plugin_info">
+                                    <property name="visible">True</property>
+                                    <property name="sensitive">False</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="can_default">True</property>
+                                    <property name="label">gtk-dialog-info</property>
+                                    <property name="use_stock">True</property>
+                                    <property name="response_id">0</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="position">1</property>
+                                  </packing>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="padding">8</property>
+                                <property name="position">2</property>
+                              </packing>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="position">1</property>
+                            <property name="tab_expand">False</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkLabel" id="plugin_general_label">
+                            <property name="visible">True</property>
+                            <property name="label" translatable="yes">&lt;span size="medium"&gt;&lt;b&gt;General&lt;/b&gt;&lt;/span&gt;</property>
+                            <property name="use_markup">True</property>
+                          </widget>
+                          <packing>
+                            <property name="type">tab</property>
+                            <property name="position">1</property>
+                            <property name="tab_expand">False</property>
+                            <property name="tab_fill">False</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkVBox" id="vbox21">
+                            <property name="visible">True</property>
+                            <property name="border_width">12</property>
+                            <child>
+                              <widget class="GtkAlignment" id="alignment46">
+                                <property name="visible">True</property>
+                                <property name="bottom_padding">6</property>
+                                <child>
+                                  <widget class="GtkLabel" id="label53">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes">_Visualization plugin list:</property>
+                                    <property name="use_markup">True</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="mnemonic_widget">category_notebook</property>
+                                  </widget>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="padding">4</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>
+                                <child>
+                                  <widget class="GtkTreeView" id="vis_plugin_view">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="reorderable">True</property>
+                                    <property name="rules_hint">True</property>
+                                    <signal name="realize" handler="on_vis_plugin_view_realize" after="yes"/>
+                                  </widget>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkHButtonBox" id="hbuttonbox6">
+                                <property name="visible">True</property>
+                                <property name="spacing">8</property>
+                                <property name="layout_style">GTK_BUTTONBOX_START</property>
+                                <child>
+                                  <widget class="GtkButton" id="vis_plugin_prefs">
+                                    <property name="visible">True</property>
+                                    <property name="sensitive">False</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="can_default">True</property>
+                                    <property name="label">gtk-preferences</property>
+                                    <property name="use_stock">True</property>
+                                    <property name="response_id">0</property>
+                                  </widget>
+                                </child>
+                                <child>
+                                  <widget class="GtkButton" id="vis_plugin_info">
+                                    <property name="visible">True</property>
+                                    <property name="sensitive">False</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="can_default">True</property>
+                                    <property name="label">gtk-dialog-info</property>
+                                    <property name="use_stock">True</property>
+                                    <property name="response_id">0</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="position">1</property>
+                                  </packing>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="padding">8</property>
+                                <property name="position">2</property>
+                              </packing>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="position">2</property>
+                            <property name="tab_expand">False</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_markup">True</property>
+                          </widget>
+                          <packing>
+                            <property name="type">tab</property>
+                            <property name="position">2</property>
+                            <property name="tab_expand">False</property>
+                            <property name="tab_fill">False</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkVBox" id="vbox25">
+                            <property name="visible">True</property>
+                            <property name="border_width">12</property>
+                            <child>
+                              <widget class="GtkAlignment" id="alignment58">
+                                <property name="visible">True</property>
+                                <property name="bottom_padding">6</property>
+                                <child>
+                                  <widget class="GtkLabel" id="label64">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes">_Effect plugin list:</property>
+                                    <property name="use_markup">True</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="mnemonic_widget">category_notebook</property>
+                                  </widget>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="padding">4</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>
+                                <child>
+                                  <widget class="GtkTreeView" id="effect_plugin_view">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="reorderable">True</property>
+                                    <property name="rules_hint">True</property>
+                                    <signal name="realize" handler="on_effect_plugin_view_realize" after="yes"/>
+                                  </widget>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkHButtonBox" id="hbuttonbox9">
+                                <property name="visible">True</property>
+                                <property name="spacing">8</property>
+                                <property name="layout_style">GTK_BUTTONBOX_START</property>
+                                <child>
+                                  <widget class="GtkButton" id="effect_plugin_prefs">
+                                    <property name="visible">True</property>
+                                    <property name="sensitive">False</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="can_default">True</property>
+                                    <property name="label">gtk-preferences</property>
+                                    <property name="use_stock">True</property>
+                                    <property name="response_id">0</property>
+                                  </widget>
+                                </child>
+                                <child>
+                                  <widget class="GtkButton" id="effect_plugin_info">
+                                    <property name="visible">True</property>
+                                    <property name="sensitive">False</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="can_default">True</property>
+                                    <property name="label">gtk-dialog-info</property>
+                                    <property name="use_stock">True</property>
+                                    <property name="response_id">0</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="position">1</property>
+                                  </packing>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="padding">8</property>
+                                <property name="position">2</property>
+                              </packing>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="position">3</property>
+                            <property name="tab_expand">False</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_markup">True</property>
+                          </widget>
+                          <packing>
+                            <property name="type">tab</property>
+                            <property name="position">3</property>
+                            <property name="tab_expand">False</property>
+                            <property name="tab_fill">False</property>
+                          </packing>
+                        </child>
+                      </widget>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="tab_expand">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkLabel" id="plugin_label">
+                    <property name="visible">True</property>
+                    <property name="label" translatable="yes">Plugins</property>
+                  </widget>
+                  <packing>
+                    <property name="type">tab</property>
+                    <property name="tab_expand">False</property>
+                    <property name="tab_fill">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkVBox" id="appearance_page_vbox">
+                    <property name="visible">True</property>
+                    <child>
+                      <widget class="GtkVBox" id="vbox9">
+                        <property name="visible">True</property>
+                        <child>
+                          <widget class="GtkAlignment" id="alignment40">
+                            <property name="visible">True</property>
+                            <property name="bottom_padding">6</property>
+                            <child>
+                              <widget class="GtkHBox" id="hbox5">
+                                <property name="visible">True</property>
+                                <child>
+                                  <widget class="GtkLabel" id="label21">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">0</property>
+                                    <property name="yalign">0</property>
+                                    <property name="label" translatable="yes">&lt;b&gt;_Skin&lt;/b&gt;</property>
+                                    <property name="use_markup">True</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="mnemonic_widget">category_notebook</property>
+                                  </widget>
+                                </child>
+                                <child>
+                                  <widget class="GtkButton" id="colorspace_button">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="response_id">0</property>
+                                    <signal name="clicked" handler="on_colorize_button_clicked"/>
+                                    <child>
+                                      <widget class="GtkImage" id="image9">
+                                        <property name="visible">True</property>
+                                        <property name="stock">gtk-properties</property>
+                                      </widget>
+                                    </child>
+                                  </widget>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">1</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>
+                                    <property name="response_id">0</property>
+                                    <signal name="clicked" handler="on_skin_refresh_button_clicked" object="prefswin"/>
+                                    <child>
+                                      <widget class="GtkImage" id="image3">
+                                        <property name="visible">True</property>
+                                        <property name="stock">gtk-refresh</property>
+                                      </widget>
+                                    </child>
+                                  </widget>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">2</property>
+                                  </packing>
+                                </child>
+                              </widget>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkAlignment" id="alignment39">
+                            <property name="visible">True</property>
+                            <property name="left_padding">12</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="shadow_type">GTK_SHADOW_IN</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>
+                                    <signal name="realize" handler="on_skin_view_realize" after="yes"/>
+                                  </widget>
+                                </child>
+                              </widget>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkAlignment" id="alignment34">
+                            <property name="visible">True</property>
+                            <property name="top_padding">12</property>
+                            <property name="bottom_padding">12</property>
+                            <child>
+                              <widget class="GtkLabel" id="label54">
+                                <property name="visible">True</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">&lt;b&gt;_Fonts&lt;/b&gt;</property>
+                                <property name="use_markup">True</property>
+                                <property name="use_underline">True</property>
+                                <property name="mnemonic_widget">category_notebook</property>
+                              </widget>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">2</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkVBox" id="vbox10">
+                            <property name="visible">True</property>
+                            <child>
+                              <widget class="GtkTable" id="table3">
+                                <property name="visible">True</property>
+                                <property name="n_rows">2</property>
+                                <property name="n_columns">2</property>
+                                <property name="column_spacing">2</property>
+                                <property name="row_spacing">8</property>
+                                <child>
+                                  <widget class="GtkAlignment" id="alignment54">
+                                    <property name="visible">True</property>
+                                    <property name="left_padding">12</property>
+                                    <property name="right_padding">6</property>
+                                    <child>
+                                      <widget class="GtkLabel" id="label22">
+                                        <property name="visible">True</property>
+                                        <property name="xalign">1</property>
+                                        <property name="label" translatable="yes">_Player:</property>
+                                        <property name="use_markup">True</property>
+                                        <property name="use_underline">True</property>
+                                        <property name="mnemonic_widget">mainwin_font_button</property>
+                                      </widget>
+                                    </child>
+                                  </widget>
+                                  <packing>
+                                    <property name="x_options"></property>
+                                    <property name="y_options"></property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkAlignment" id="alignment53">
+                                    <property name="visible">True</property>
+                                    <property name="left_padding">12</property>
+                                    <property name="right_padding">6</property>
+                                    <child>
+                                      <widget class="GtkLabel" id="label23">
+                                        <property name="visible">True</property>
+                                        <property name="xalign">1</property>
+                                        <property name="label" translatable="yes">_Playlist:</property>
+                                        <property name="use_markup">True</property>
+                                        <property name="use_underline">True</property>
+                                        <property name="justify">GTK_JUSTIFY_RIGHT</property>
+                                        <property name="mnemonic_widget">playlist_font_button</property>
+                                      </widget>
+                                    </child>
+                                  </widget>
+                                  <packing>
+                                    <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="mainwin_font_button">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="response_id">0</property>
+                                    <property name="title" translatable="yes">Select main player window font:</property>
+                                    <property name="use_font">True</property>
+                                    <property name="use_size">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="y_options"></property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkFontButton" id="playlist_font_button">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="response_id">0</property>
+                                    <property name="title" translatable="yes">Select playlist font:</property>
+                                    <property name="use_font">True</property>
+                                    <property name="use_size">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="expand">False</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkVBox" id="vbox11">
+                                <property name="visible">True</property>
+                                <child>
+                                  <widget class="GtkAlignment" id="alignment60">
+                                    <property name="visible">True</property>
+                                    <property name="top_padding">8</property>
+                                    <property name="left_padding">12</property>
+                                    <child>
+                                      <widget class="GtkCheckButton" id="checkbutton1">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="tooltip" translatable="yes">Use bitmap fonts if they are available. Bitmap fonts do not support Unicode strings.</property>
+                                        <property name="label" translatable="yes">Use Bitmap fonts if available</property>
+                                        <property name="use_underline">True</property>
+                                        <property name="response_id">0</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="expand">False</property>
+                                    <property name="fill">False</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkAlignment" id="alignment10">
+                                    <property name="visible">True</property>
+                                    <property name="top_padding">12</property>
+                                    <property name="bottom_padding">12</property>
+                                    <child>
+                                      <widget class="GtkLabel" id="label57">
+                                        <property name="visible">True</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">&lt;b&gt;_Miscellaneous&lt;/b&gt;</property>
+                                        <property name="use_markup">True</property>
+                                        <property name="use_underline">True</property>
+                                        <property name="mnemonic_widget">category_notebook</property>
+                                      </widget>
+                                    </child>
+                                  </widget>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">1</property>
+                                  </packing>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkAlignment" id="alignment8">
+                                <property name="visible">True</property>
+                                <property name="top_padding">2</property>
+                                <property name="left_padding">12</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="response_id">0</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="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">2</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkAlignment" id="alignment61">
+                                <property name="visible">True</property>
+                                <property name="left_padding">12</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="response_id">0</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="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">3</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkAlignment" id="alignment69">
+                                <property name="visible">True</property>
+                                <property name="left_padding">12</property>
+                                <child>
+                                  <widget class="GtkCheckButton" id="checkbutton2">
+                                    <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="response_id">0</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="position">4</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkAlignment" id="alignment1">
+                                <property name="visible">True</property>
+                                <property name="left_padding">12</property>
+                                <child>
+                                  <widget class="GtkCheckButton" id="show_wm_decorations">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="tooltip" translatable="yes">This enables the window manager to show decorations for windows.</property>
+                                    <property name="label" translatable="yes">Show window manager decoration</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="response_id">0</property>
+                                    <property name="draw_indicator">True</property>
+                                    <accessibility>
+                                      <atkproperty name="AtkObject::accessible_name" translatable="yes">Show window manager decorations</atkproperty>
+                                      <atkproperty name="AtkObject::accessible_description" translatable="yes">This enables the window manager to show decorations for windows.</atkproperty>
+                                    </accessibility>
+                                    <signal name="toggled" handler="on_show_wm_decorations_toggled"/>
+                                    <signal name="realize" handler="on_show_wm_decorations_realize"/>
+                                  </widget>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">5</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkAlignment" id="alignment2">
+                                <property name="visible">True</property>
+                                <property name="left_padding">12</property>
+                                <child>
+                                  <widget class="GtkCheckButton" id="xmms_style_fileselector_cb1">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">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="label" translatable="yes">Use XMMS-style file selector instead of the default selector</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="response_id">0</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="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">6</property>
+                              </packing>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">3</property>
+                          </packing>
+                        </child>
+                      </widget>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="position">1</property>
+                    <property name="tab_expand">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkLabel" id="appearance_label">
+                    <property name="visible">True</property>
+                    <property name="label" translatable="yes">Appearance</property>
+                  </widget>
+                  <packing>
+                    <property name="type">tab</property>
+                    <property name="position">1</property>
+                    <property name="tab_expand">False</property>
+                    <property name="tab_fill">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkVBox" id="mouse_page_vbox">
+                    <property name="visible">True</property>
+                    <child>
+                      <widget class="GtkVBox" id="vbox20">
+                        <property name="visible">True</property>
+                        <child>
+                          <widget class="GtkAlignment" id="alignment36">
+                            <property name="visible">True</property>
+                            <property name="bottom_padding">12</property>
+                            <child>
+                              <widget class="GtkLabel" id="label51">
+                                <property name="visible">True</property>
+                                <property name="xalign">0</property>
+                                <property name="yalign">0</property>
+                                <property name="label" translatable="yes">&lt;b&gt;Mouse wheel&lt;/b&gt;</property>
+                                <property name="use_markup">True</property>
+                              </widget>
+                            </child>
+                          </widget>
+                          <packing>
+                            <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="left_padding">12</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="row_spacing">6</property>
+                                <child>
+                                  <widget class="GtkLabel" id="label32">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">0</property>
+                                    <property name="xpad">4</property>
+                                    <property name="label" translatable="yes">Changes volume by</property>
+                                  </widget>
+                                  <packing>
+                                    <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="xalign">0</property>
+                                    <property name="xpad">4</property>
+                                    <property name="label" translatable="yes">percent</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="left_attach">2</property>
+                                    <property name="right_attach">3</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="xalign">0</property>
+                                    <property name="xpad">4</property>
+                                    <property name="label" translatable="yes">Scrolls playlist by</property>
+                                  </widget>
+                                  <packing>
+                                    <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="adjustment">1 0 100 1 10 10</property>
+                                    <property name="climb_rate">1</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_options"></property>
+                                    <property name="y_options"></property>
+                                    <property name="x_padding">4</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkLabel" id="label35">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">0</property>
+                                    <property name="xpad">4</property>
+                                    <property name="label" translatable="yes">lines</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_volume">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="adjustment">5 0 100 1 10 10</property>
+                                    <property name="climb_rate">1</property>
+                                    <property name="numeric">True</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="x_options"></property>
+                                    <property name="y_options"></property>
+                                    <property name="x_padding">4</property>
+                                  </packing>
+                                </child>
+                              </widget>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </widget>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="position">2</property>
+                    <property name="tab_expand">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkLabel" id="mouse_label">
+                    <property name="visible">True</property>
+                    <property name="label" translatable="yes">Mouse</property>
+                  </widget>
+                  <packing>
+                    <property name="type">tab</property>
+                    <property name="position">2</property>
+                    <property name="tab_expand">False</property>
+                    <property name="tab_fill">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkVBox" id="playlist_page_vbox">
+                    <property name="visible">True</property>
+                    <child>
+                      <widget class="GtkVBox" id="vbox15">
+                        <property name="visible">True</property>
+                        <child>
+                          <widget class="GtkAlignment" id="alignment14">
+                            <property name="visible">True</property>
+                            <property name="bottom_padding">12</property>
+                            <child>
+                              <widget class="GtkLabel" id="label38">
+                                <property name="visible">True</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">&lt;b&gt;Filename&lt;/b&gt;</property>
+                                <property name="use_markup">True</property>
+                              </widget>
+                            </child>
+                          </widget>
+                          <packing>
+                            <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="left_padding">12</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="response_id">0</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="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkAlignment" id="alignment13">
+                            <property name="visible">True</property>
+                            <property name="left_padding">12</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="response_id">0</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="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">2</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkAlignment" id="alignment88">
+                            <property name="visible">True</property>
+                            <property name="left_padding">12</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="response_id">0</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="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">3</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkAlignment" id="alignment15">
+                            <property name="visible">True</property>
+                            <property name="top_padding">12</property>
+                            <property name="bottom_padding">12</property>
+                            <child>
+                              <widget class="GtkLabel" id="label39">
+                                <property name="visible">True</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">&lt;b&gt;Metadata&lt;/b&gt;</property>
+                                <property name="use_markup">True</property>
+                              </widget>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">4</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkAlignment" id="alignment16">
+                            <property name="visible">True</property>
+                            <property name="left_padding">12</property>
+                            <child>
+                              <widget class="GtkCheckButton" id="playlist_use_metadata">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="tooltip" translatable="yes">Load metadata (tag information) from music files.</property>
+                                <property name="label" translatable="yes">Load metadata from playlists and files</property>
+                                <property name="use_underline">True</property>
+                                <property name="response_id">0</property>
+                                <property name="draw_indicator">True</property>
+                              </widget>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">5</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkAlignment" id="alignment18">
+                            <property name="visible">True</property>
+                            <property name="left_padding">24</property>
+                            <child>
+                              <widget class="GtkVBox" id="playlist_use_metadata_box">
+                                <property name="visible">True</property>
+                                <child>
+                                  <widget class="GtkRadioButton" id="playlist_metadata_on_load">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="tooltip" translatable="yes">Load metadata when adding the file to the playlist or opening it</property>
+                                    <property name="label" translatable="yes">On load</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="response_id">0</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="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="can_focus">True</property>
+                                    <property name="tooltip" translatable="yes">Load metadata on demand when displaying the file in the playlist</property>
+                                    <property name="label" translatable="yes">On display</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="response_id">0</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="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">1</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>
+                                    <child>
+                                      <widget class="GtkLabel" id="label74">
+                                        <property name="visible">True</property>
+                                        <property name="xalign">1</property>
+                                        <property name="label" translatable="yes">Fallback character encodings:</property>
+                                        <property name="justify">GTK_JUSTIFY_RIGHT</property>
+                                      </widget>
+                                      <packing>
+                                        <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="GtkEntry" id="entry1">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">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>
+                                        <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="GtkComboBox" id="combobox1">
+                                        <property name="visible">True</property>
+                                        <property name="items" translatable="yes"></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="y_options"></property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkLabel" id="label73">
+                                        <property name="visible">True</property>
+                                        <property name="xalign">1</property>
+                                        <property name="label" translatable="yes">Auto character encoding detector for:</property>
+                                        <property name="justify">GTK_JUSTIFY_RIGHT</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="x_options"></property>
+                                        <property name="y_options"></property>
+                                      </packing>
+                                    </child>
+                                  </widget>
+                                  <packing>
+                                    <property name="position">2</property>
+                                  </packing>
+                                </child>
+                              </widget>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">6</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkAlignment" id="alignment19">
+                            <property name="visible">True</property>
+                            <property name="top_padding">12</property>
+                            <property name="bottom_padding">12</property>
+                            <child>
+                              <widget class="GtkLabel" id="label40">
+                                <property name="visible">True</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">&lt;b&gt;File Dialog&lt;/b&gt;</property>
+                                <property name="use_markup">True</property>
+                              </widget>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">7</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkAlignment" id="alignment20">
+                            <property name="visible">True</property>
+                            <property name="left_padding">12</property>
+                            <child>
+                              <widget class="GtkCheckButton" id="refresh_file_list">
+                                <property name="visible">True</property>
+                                <property name="can_focus">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="label" translatable="yes">Always refresh directory when opening file dialog</property>
+                                <property name="use_underline">True</property>
+                                <property name="response_id">0</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="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">8</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkAlignment" id="alignment55">
+                            <property name="visible">True</property>
+                            <property name="top_padding">12</property>
+                            <property name="bottom_padding">12</property>
+                            <child>
+                              <widget class="GtkLabel" id="label60">
+                                <property name="visible">True</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">&lt;b&gt;Song Display&lt;/b&gt;</property>
+                                <property name="use_markup">True</property>
+                              </widget>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">9</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkAlignment" id="alignment56">
+                            <property name="visible">True</property>
+                            <property name="left_padding">12</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="column_spacing">12</property>
+                                <property name="row_spacing">4</property>
+                                <child>
+                                  <widget class="GtkLabel" id="label61">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">1</property>
+                                    <property name="label" translatable="yes">Title format:</property>
+                                    <property name="justify">GTK_JUSTIFY_RIGHT</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="x_options"></property>
+                                    <property name="y_options"></property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkLabel" id="label62">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">1</property>
+                                    <property name="label" translatable="yes">Custom string:</property>
+                                    <property name="justify">GTK_JUSTIFY_RIGHT</property>
+                                  </widget>
+                                  <packing>
+                                    <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="GtkEntry" id="titlestring_entry">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</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="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="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>
-			    </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="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>
-
-				      <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="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="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>
-				    </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="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>
-
-				  <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="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="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>
-				</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="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>
-
-				  <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="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="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>
-				</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="GtkVBox" id="vbox32">
-		  <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="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>
-
-			      <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="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="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.
+                                  </widget>
+                                  <packing>
+                                    <property name="left_attach">1</property>
+                                    <property name="right_attach">3</property>
+                                    <property name="y_options"></property>
+                                  </packing>
+                                </child>
+                                <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>
+                                    <property name="response_id">0</property>
+                                    <child>
+                                      <widget class="GtkImage" id="image1">
+                                        <property name="visible">True</property>
+                                        <property name="stock">gtk-index</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>
+                              </widget>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">10</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkAlignment" id="alignment85">
+                            <property name="visible">True</property>
+                            <property name="top_padding">12</property>
+                            <property name="bottom_padding">12</property>
+                            <child>
+                              <widget class="GtkLabel" id="label84">
+                                <property name="visible">True</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">&lt;b&gt;Popup Information&lt;/b&gt;</property>
+                                <property name="use_markup">True</property>
+                              </widget>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">11</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkAlignment" id="alignment86">
+                            <property name="visible">True</property>
+                            <property name="left_padding">12</property>
+                            <child>
+                              <widget class="GtkHBox" id="hbox9">
+                                <property name="visible">True</property>
+                                <property name="spacing">12</property>
+                                <child>
+                                  <widget class="GtkVBox" id="vbox34">
+                                    <property name="visible">True</property>
+                                    <child>
+                                      <widget class="GtkCheckButton" id="checkbutton10">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">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="label" translatable="yes">Show popup information for playlist entries</property>
+                                        <property name="use_underline">True</property>
+                                        <property name="response_id">0</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="fill">False</property>
+                                      </packing>
+                                    </child>
+                                  </widget>
+                                </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="response_id">0</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>
+                                      </widget>
+                                    </child>
+                                  </widget>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">1</property>
+                                  </packing>
+                                </child>
+                              </widget>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">12</property>
+                          </packing>
+                        </child>
+                      </widget>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="position">3</property>
+                    <property name="tab_expand">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkLabel" id="playlist_label">
+                    <property name="visible">True</property>
+                    <property name="label" translatable="yes">Playlist</property>
+                  </widget>
+                  <packing>
+                    <property name="type">tab</property>
+                    <property name="position">3</property>
+                    <property name="tab_expand">False</property>
+                    <property name="tab_fill">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkVBox" id="equalizer_page_vbox">
+                    <property name="visible">True</property>
+                    <child>
+                      <widget class="GtkAlignment" id="alignment28">
+                        <property name="visible">True</property>
+                        <child>
+                          <widget class="GtkVBox" id="vbox22">
+                            <property name="visible">True</property>
+                            <child>
+                              <widget class="GtkAlignment" id="alignment30">
+                                <property name="visible">True</property>
+                                <property name="bottom_padding">12</property>
+                                <child>
+                                  <widget class="GtkLabel" id="equalizer_page_label">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes">&lt;b&gt;Presets&lt;/b&gt;</property>
+                                    <property name="use_markup">True</property>
+                                  </widget>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkVBox" id="vbox23">
+                                <property name="visible">True</property>
+                                <child>
+                                  <widget class="GtkAlignment" id="alignment33">
+                                    <property name="visible">True</property>
+                                    <property name="bottom_padding">12</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="column_spacing">6</property>
+                                        <property name="row_spacing">6</property>
+                                        <child>
+                                          <widget class="GtkEntry" id="eq_dir_preset_entry">
+                                            <property name="visible">True</property>
+                                            <property name="can_focus">True</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="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>
+                                            <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="GtkLabel" id="label57">
+                                            <property name="visible">True</property>
+                                            <property name="xalign">0</property>
+                                            <property name="label" translatable="yes">Directory preset file:</property>
+                                          </widget>
+                                          <packing>
+                                            <property name="x_options"></property>
+                                            <property name="y_options"></property>
+                                          </packing>
+                                        </child>
+                                        <child>
+                                          <widget class="GtkLabel" id="label58">
+                                            <property name="visible">True</property>
+                                            <property name="xalign">0</property>
+                                            <property name="label" translatable="yes">File preset extension:</property>
+                                          </widget>
+                                          <packing>
+                                            <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>
+                                    </child>
+                                  </widget>
+                                  <packing>
+                                    <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="bottom_padding">6</property>
+                                    <child>
+                                      <widget class="GtkLabel" id="label56">
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">Available _Presets:</property>
+                                        <property name="use_underline">True</property>
+                                        <property name="mnemonic_widget">category_notebook</property>
+                                      </widget>
+                                    </child>
+                                  </widget>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">1</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>
+                                    <child>
+                                      <widget class="GtkTreeView" id="eq_preset_view">
+                                        <property name="sensitive">False</property>
+                                        <property name="can_focus">True</property>
+                                        <signal name="realize" handler="on_eq_preset_view_realize"/>
+                                      </widget>
+                                    </child>
+                                  </widget>
+                                  <packing>
+                                    <property name="position">2</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkHBox" id="hbox3">
+                                    <property name="visible">True</property>
+                                    <child>
+                                      <widget class="GtkHButtonBox" id="eq_preset_button_box">
+                                        <property name="sensitive">False</property>
+                                        <property name="spacing">6</property>
+                                        <property name="layout_style">GTK_BUTTONBOX_END</property>
+                                        <child>
+                                          <widget class="GtkButton" id="eq_preset_add">
+                                            <property name="visible">True</property>
+                                            <property name="can_focus">True</property>
+                                            <property name="can_default">True</property>
+                                            <property name="label">gtk-add</property>
+                                            <property name="use_stock">True</property>
+                                            <property name="response_id">0</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_focus">True</property>
+                                            <property name="can_default">True</property>
+                                            <property name="label">gtk-remove</property>
+                                            <property name="use_stock">True</property>
+                                            <property name="response_id">0</property>
+                                            <signal name="clicked" handler="on_eq_preset_remove_clicked"/>
+                                          </widget>
+                                          <packing>
+                                            <property name="position">1</property>
+                                          </packing>
+                                        </child>
+                                      </widget>
+                                    </child>
+                                  </widget>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="padding">6</property>
+                                    <property name="position">3</property>
+                                  </packing>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="position">4</property>
+                    <property name="tab_expand">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkLabel" id="equalizer_label">
+                    <property name="visible">True</property>
+                    <property name="label" translatable="yes">Equalizer</property>
+                  </widget>
+                  <packing>
+                    <property name="type">tab</property>
+                    <property name="position">4</property>
+                    <property name="tab_expand">False</property>
+                    <property name="tab_fill">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkVBox" id="connectivity_page_vbox">
+                    <property name="visible">True</property>
+                    <child>
+                      <widget class="GtkVBox" id="vbox29">
+                        <property name="visible">True</property>
+                        <child>
+                          <widget class="GtkAlignment" id="alignment63">
+                            <property name="visible">True</property>
+                            <property name="bottom_padding">12</property>
+                            <child>
+                              <widget class="GtkLabel" id="connectivity_page_label">
+                                <property name="visible">True</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">&lt;b&gt;Proxy Configuration&lt;/b&gt;</property>
+                                <property name="use_markup">True</property>
+                              </widget>
+                            </child>
+                          </widget>
+                          <packing>
+                            <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="left_padding">12</property>
+                            <child>
+                              <widget class="GtkVBox" id="vbox30">
+                                <property name="visible">True</property>
+                                <child>
+                                  <widget class="GtkAlignment" id="alignment65">
+                                    <property name="visible">True</property>
+                                    <property name="bottom_padding">12</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="response_id">0</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="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="column_spacing">6</property>
+                                    <property name="row_spacing">6</property>
+                                    <child>
+                                      <widget class="GtkLabel" id="label68">
+                                        <property name="visible">True</property>
+                                        <property name="xalign">0</property>
+                                        <property name="yalign">0</property>
+                                        <property name="label" translatable="yes">Proxy hostname:</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="x_options"></property>
+                                        <property name="y_options"></property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkLabel" id="label69">
+                                        <property name="visible">True</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">Proxy port:</property>
+                                      </widget>
+                                      <packing>
+                                        <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="GtkEntry" id="proxy_host">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</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="y_options"></property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkEntry" id="proxy_port">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</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>
+                                  </widget>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">1</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkAlignment" id="alignment67">
+                                    <property name="visible">True</property>
+                                    <property name="top_padding">12</property>
+                                    <property name="bottom_padding">12</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="response_id">0</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="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">2</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="column_spacing">6</property>
+                                    <property name="row_spacing">6</property>
+                                    <child>
+                                      <widget class="GtkLabel" id="label70">
+                                        <property name="visible">True</property>
+                                        <property name="xalign">0</property>
+                                        <property name="yalign">0</property>
+                                        <property name="label" translatable="yes">Proxy username:</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="x_options"></property>
+                                        <property name="y_options"></property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkLabel" id="label71">
+                                        <property name="visible">True</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">Proxy password:</property>
+                                      </widget>
+                                      <packing>
+                                        <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="GtkEntry" id="proxy_user">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</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="y_options"></property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkEntry" id="proxy_pass">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="visibility">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>
+                                  </widget>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">3</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkAlignment" id="alignment72">
+                                    <property name="visible">True</property>
+                                    <property name="top_padding">6</property>
+                                    <child>
+                                      <widget class="GtkHBox" id="hbox6">
+                                        <property name="visible">True</property>
+                                        <child>
+                                          <widget class="GtkImage" id="image4">
+                                            <property name="visible">True</property>
+                                            <property name="xpad">3</property>
+                                            <property name="stock">gtk-dialog-warning</property>
+                                          </widget>
+                                          <packing>
+                                            <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="small"&gt;Changing these settings will require a restart of Audacious.&lt;/span&gt;</property>
+                                            <property name="use_markup">True</property>
+                                          </widget>
+                                          <packing>
+                                            <property name="expand">False</property>
+                                            <property name="fill">False</property>
+                                            <property name="position">1</property>
+                                          </packing>
+                                        </child>
+                                      </widget>
+                                    </child>
+                                  </widget>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">4</property>
+                                  </packing>
+                                </child>
+                              </widget>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </widget>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="position">5</property>
+                    <property name="tab_expand">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkLabel" id="label95">
+                    <property name="visible">True</property>
+                  </widget>
+                  <packing>
+                    <property name="type">tab</property>
+                    <property name="position">5</property>
+                    <property name="tab_expand">False</property>
+                    <property name="tab_fill">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <widget class="GtkLabel" id="label96">
+                    <property name="visible">True</property>
+                  </widget>
+                  <packing>
+                    <property name="type">tab</property>
+                    <property name="position">6</property>
+                    <property name="tab_expand">False</property>
+                    <property name="tab_fill">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkVBox" id="vbox32">
+                    <property name="visible">True</property>
+                    <child>
+                      <widget class="GtkAlignment" id="alignment74">
+                        <property name="visible">True</property>
+                        <property name="bottom_padding">12</property>
+                        <child>
+                          <widget class="GtkLabel" id="label77">
+                            <property name="visible">True</property>
+                            <property name="xalign">0</property>
+                            <property name="label" translatable="yes">&lt;b&gt;Audio System&lt;/b&gt;</property>
+                            <property name="use_markup">True</property>
+                          </widget>
+                        </child>
+                      </widget>
+                      <packing>
+                        <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="bottom_padding">6</property>
+                        <property name="left_padding">12</property>
+                        <child>
+                          <widget class="GtkVBox" id="vbox33">
+                            <property name="visible">True</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="column_spacing">6</property>
+                                <property name="row_spacing">6</property>
+                                <child>
+                                  <widget class="GtkLabel" id="label78">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes">Current output plugin:</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="x_options"></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>
+                                    <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="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="adjustment">0 0 600000 100 1000 1000</property>
+                                    <property name="climb_rate">1</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="GtkLabel" id="label82">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes">&lt;span size="small"&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="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="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">fill</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. This is slightly slower than detection on demand, but still provides a minimal level of format detection.</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" last_modification_time="Wed, 13 Dec 2006 03:21:51 GMT"/>
-			  <signal name="realize" handler="on_detect_by_extension_cb_realize" last_modification_time="Wed, 13 Dec 2006 03:21:59 GMT"/>
-			</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="realize" handler="on_enable_src_realize" last_modification_time="Fri, 16 Feb 2007 11:10:57 GMT"/>
-			  <signal name="toggled" handler="on_enable_src_toggled" last_modification_time="Fri, 16 Feb 2007 11:11:02 GMT"/>
-			</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="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">fill</property>
-				  <property name="y_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="realize" handler="on_src_rate_realize" last_modification_time="Fri, 16 Feb 2007 11:11:10 GMT"/>
-				  <signal name="value_changed" handler="on_src_rate_value_changed" last_modification_time="Fri, 16 Feb 2007 11:11:15 GMT"/>
-				</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="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">fill</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.
+                                    <property name="use_markup">True</property>
+                                    <property name="wrap">True</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="GtkLabel" id="label79">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">1</property>
+                                    <property name="label" translatable="yes">Buffer size:</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="top_attach">1</property>
+                                    <property name="bottom_attach">2</property>
+                                    <property name="y_options"></property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkImage" id="image7">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">1</property>
+                                    <property name="yalign">0</property>
+                                    <property name="stock">gtk-info</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="top_attach">2</property>
+                                    <property name="bottom_attach">3</property>
+                                    <property name="x_options">GTK_FILL</property>
+                                  </packing>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                              </packing>
+                            </child>
+                          </widget>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkAlignment" id="alignment82">
+                        <property name="visible">True</property>
+                        <property name="left_padding">12</property>
+                        <child>
+                          <widget class="GtkHButtonBox" id="output_plugin_button_box">
+                            <property name="visible">True</property>
+                            <property name="spacing">8</property>
+                            <property name="layout_style">GTK_BUTTONBOX_START</property>
+                            <child>
+                              <widget class="GtkButton" id="output_plugin_prefs">
+                                <property name="visible">True</property>
+                                <property name="sensitive">False</property>
+                                <property name="can_focus">True</property>
+                                <property name="can_default">True</property>
+                                <property name="response_id">0</property>
+                                <child>
+                                  <widget class="GtkAlignment" id="alignment76">
+                                    <property name="visible">True</property>
+                                    <property name="xscale">0</property>
+                                    <property name="yscale">0</property>
+                                    <child>
+                                      <widget class="GtkHBox" id="hbox7">
+                                        <property name="visible">True</property>
+                                        <property name="spacing">2</property>
+                                        <child>
+                                          <widget class="GtkImage" id="image5">
+                                            <property name="visible">True</property>
+                                            <property name="stock">gtk-preferences</property>
+                                          </widget>
+                                          <packing>
+                                            <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>
+                                          </widget>
+                                          <packing>
+                                            <property name="expand">False</property>
+                                            <property name="fill">False</property>
+                                            <property name="position">1</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_focus">True</property>
+                                <property name="can_default">True</property>
+                                <property name="response_id">0</property>
+                                <child>
+                                  <widget class="GtkAlignment" id="alignment77">
+                                    <property name="visible">True</property>
+                                    <property name="xscale">0</property>
+                                    <property name="yscale">0</property>
+                                    <child>
+                                      <widget class="GtkHBox" id="hbox8">
+                                        <property name="visible">True</property>
+                                        <property name="spacing">2</property>
+                                        <child>
+                                          <widget class="GtkImage" id="image6">
+                                            <property name="visible">True</property>
+                                            <property name="stock">gtk-about</property>
+                                          </widget>
+                                          <packing>
+                                            <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>
+                                          </widget>
+                                          <packing>
+                                            <property name="expand">False</property>
+                                            <property name="fill">False</property>
+                                            <property name="position">1</property>
+                                          </packing>
+                                        </child>
+                                      </widget>
+                                    </child>
+                                  </widget>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                          </widget>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">2</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkAlignment" id="alignment78">
+                        <property name="visible">True</property>
+                        <property name="top_padding">12</property>
+                        <property name="bottom_padding">12</property>
+                        <child>
+                          <widget class="GtkLabel" id="label83">
+                            <property name="visible">True</property>
+                            <property name="xalign">0</property>
+                            <property name="label" translatable="yes">&lt;b&gt;Format Detection&lt;/b&gt;</property>
+                            <property name="use_markup">True</property>
+                          </widget>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">3</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkAlignment" id="alignment84">
+                        <property name="visible">True</property>
+                        <property name="left_padding">12</property>
+                        <child>
+                          <widget class="GtkCheckButton" id="audio_format_det_cb">
+                            <property name="visible">True</property>
+                            <property name="can_focus">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="label" translatable="yes">Detect file formats on demand, instead of immediately.</property>
+                            <property name="use_underline">True</property>
+                            <property name="response_id">0</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="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">4</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkAlignment" id="alignment89">
+                        <property name="visible">True</property>
+                        <property name="left_padding">12</property>
+                        <child>
+                          <widget class="GtkCheckButton" id="detect_by_extension_cb">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="tooltip" translatable="yes">When checked, Audacious will detect file formats based by extension. This is slightly slower than detection on demand, but still provides a minimal level of format detection.</property>
+                            <property name="label" translatable="yes">Detect file formats by extension.</property>
+                            <property name="use_underline">True</property>
+                            <property name="response_id">0</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="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">5</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkAlignment" id="alignment19">
+                        <property name="visible">True</property>
+                        <property name="top_padding">12</property>
+                        <property name="bottom_padding">12</property>
+                        <child>
+                          <widget class="GtkLabel" id="label40">
+                            <property name="visible">True</property>
+                            <property name="xalign">0</property>
+                            <property name="label" translatable="yes">&lt;b&gt;Playback&lt;/b&gt;</property>
+                            <property name="use_markup">True</property>
+                          </widget>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">6</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkAlignment" id="alignment83">
+                        <property name="visible">True</property>
+                        <property name="left_padding">12</property>
+                        <child>
+                          <widget class="GtkCheckButton" id="continue_playback_on_startup">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="tooltip" translatable="yes">When Audacious starts, automatically begin playing from the point where we stopped before.</property>
+                            <property name="label" translatable="yes">Continue playback on startup</property>
+                            <property name="use_underline">True</property>
+                            <property name="response_id">0</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="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">7</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkAlignment" id="alignment79">
+                        <property name="visible">True</property>
+                        <property name="left_padding">12</property>
+                        <child>
+                          <widget class="GtkCheckButton" id="playlist_no_advance">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="tooltip" translatable="yes">When finished playing a song, don't automatically advance to the next.</property>
+                            <property name="label" translatable="yes">Don't advance in the playlist</property>
+                            <property name="use_underline">True</property>
+                            <property name="response_id">0</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="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">8</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkAlignment" id="alignment80">
+                        <property name="visible">True</property>
+                        <property name="left_padding">12</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="response_id">0</property>
+                            <property name="draw_indicator">True</property>
+                          </widget>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">9</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkAlignment" id="alignment22">
+                        <property name="visible">True</property>
+                        <property name="left_padding">45</property>
+                        <child>
+                          <widget class="GtkHBox" id="pause_between_songs_box">
+                            <property name="visible">True</property>
+                            <child>
+                              <widget class="GtkLabel" id="label41">
+                                <property name="visible">True</property>
+                                <property name="xpad">4</property>
+                                <property name="label" translatable="yes">Pause for</property>
+                              </widget>
+                              <packing>
+                                <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="adjustment">2 0 100 1 10 10</property>
+                                <property name="climb_rate">1</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="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkLabel" id="label42">
+                                <property name="visible">True</property>
+                                <property name="xpad">4</property>
+                                <property name="label" translatable="yes">seconds</property>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">2</property>
+                              </packing>
+                            </child>
+                          </widget>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">10</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkAlignment" id="alignment90">
+                        <property name="visible">True</property>
+                        <property name="top_padding">12</property>
+                        <property name="bottom_padding">12</property>
+                        <child>
+                          <widget class="GtkLabel" id="label93">
+                            <property name="visible">True</property>
+                            <property name="xalign">0</property>
+                            <property name="label" translatable="yes">&lt;b&gt;Sampling Rate Converter&lt;/b&gt;</property>
+                            <property name="use_markup">True</property>
+                          </widget>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">11</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkAlignment" id="alignment92">
+                        <property name="visible">True</property>
+                        <property name="left_padding">12</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="response_id">0</property>
+                            <property name="active">True</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="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">12</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkAlignment" id="alignment91">
+                        <property name="visible">True</property>
+                        <property name="bottom_padding">6</property>
+                        <property name="left_padding">12</property>
+                        <child>
+                          <widget class="GtkVBox" id="vbox36">
+                            <property name="visible">True</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="column_spacing">6</property>
+                                <property name="row_spacing">6</property>
+                                <child>
+                                  <widget class="GtkLabel" id="label91">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes">Sampling Rate [Hz]:</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="x_options">GTK_FILL</property>
+                                    <property name="y_options"></property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkSpinButton" id="src_rate">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="adjustment">96000 1000 768000 1000 1000 1000</property>
+                                    <property name="climb_rate">1</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="y_options"></property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkImage" id="image9">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">1</property>
+                                    <property name="yalign">0</property>
+                                    <property name="stock">gtk-info</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="top_attach">2</property>
+                                    <property name="bottom_attach">3</property>
+                                    <property name="x_options">GTK_FILL</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkLabel" id="label92">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes">&lt;span size="small"&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">fill</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">fill</property>
-				  <property name="y_options"></property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkComboBox" id="src_converter_type">
-				  <property name="visible">True</property>
-				  <property name="items" translatable="no">Best Sinc Interpolation
+                                    <property name="use_markup">True</property>
+                                    <property name="wrap">True</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">GTK_FILL</property>
+                                    <property name="y_options"></property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkLabel" id="label94">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes">Interpolation Engine:</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="top_attach">1</property>
+                                    <property name="bottom_attach">2</property>
+                                    <property name="x_options">GTK_FILL</property>
+                                    <property name="y_options"></property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkComboBox" id="src_converter_type">
+                                    <property name="visible">True</property>
+                                    <property name="items">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="realize" handler="on_src_converter_type_realize" after="yes" last_modification_time="Fri, 16 Feb 2007 13:16:11 GMT"/>
-				  <signal name="changed" handler="on_src_converter_type_changed" last_modification_time="Fri, 16 Feb 2007 13:16:37 GMT"/>
-				</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">fill</property>
-				  <property name="y_options">fill</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>
-		</widget>
-		<packing>
-		  <property name="tab_expand">False</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="visible">True</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>
-		  <signal name="clicked" handler="on_reload_plugins_clicked" last_modification_time="Fri, 16 Mar 2007 02:06:25 GMT"/>
-
-		  <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" last_modification_time="Fri, 16 Mar 2007 02:05:32 GMT"/>
-		  <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>
-
-<widget class="GtkWindow" id="filepopup_for_tuple_settings">
-  <property name="border_width">12</property>
-  <property name="title" translatable="yes">Popup Information Settings</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
-  <property name="modal">False</property>
-  <property name="resizable">True</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="decorated">True</property>
-  <property name="skip_taskbar_hint">True</property>
-  <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</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="vbox35">
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">12</property>
-
-      <child>
-	<widget class="GtkLabel" id="label101">
-	  <property name="visible">True</property>
-	  <property name="label" translatable="yes">&lt;b&gt;Cover image retrieve&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>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">False</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkLabel" id="label85">
-	  <property name="visible">True</property>
-	  <property name="label" translatable="yes">While searching for the album's cover, Audacious looks for certain words in the filename. You can specify those words in the lists below, separated using commas.</property>
-	  <property name="use_underline">False</property>
-	  <property name="use_markup">False</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</property>
-	  <property name="xpad">12</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="GtkTable" id="table12">
-	  <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">4</property>
-	  <property name="column_spacing">4</property>
-
-	  <child>
-	    <widget class="GtkEntry" id="filepopup_settings_cover_name_exclude">
-	      <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">True</property>
-	    </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="label87">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">Include:</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">12</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="GtkLabel" id="label88">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">Exclude:</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">12</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="GtkEntry" id="filepopup_settings_cover_name_include">
-	      <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">True</property>
-	    </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>
-	<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="filepopup_settings_recurse_for_cover">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label" translatable="yes">Recursively search for cover</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">True</property>
-	  <property name="fill">True</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="filepopup_settings_recurse_for_cover_depth_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">Search depth: </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">True</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkSpinButton" id="filepopup_settings_recurse_for_cover_depth">
-		  <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">0 0 100 1 10 10</property>
-		</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="alignment87">
-	  <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="filepopup_settings_use_file_cover">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label" translatable="yes">Use per-file cover</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">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkLabel" id="label99">
-	  <property name="visible">True</property>
-	  <property name="label" translatable="yes">&lt;b&gt;Miscellaneous&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>
-	<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">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="filepopup_settings_showprogressbar">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label" translatable="yes">Show Progress bar for the current track</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="alignment91">
-	  <property name="visible">True</property>
-	  <property name="xalign">0</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="hbox10">
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">0</property>
-
-	      <child>
-		<widget class="GtkLabel" id="label100">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">Delay until filepopup comes up: </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">12</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">True</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkSpinButton" id="filepopup_settings_delay">
-		  <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">0 0 100 1 10 10</property>
-		</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>
-
-      <child>
-	<widget class="GtkHButtonBox" id="hbuttonbox10">
-	  <property name="visible">True</property>
-	  <property name="layout_style">GTK_BUTTONBOX_END</property>
-	  <property name="spacing">6</property>
-
-	  <child>
-	    <widget class="GtkButton" id="filepopup_settings_cancel">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-cancel</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_filepopup_settings_cancel_clicked"/>
-	    </widget>
-	  </child>
-
-	  <child>
-	    <widget class="GtkButton" id="filepopup_settings_ok">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="has_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-ok</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_filepopup_settings_ok_clicked"/>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">False</property>
-	</packing>
-      </child>
-    </widget>
-  </child>
-</widget>
-
-<widget class="GtkWindow" id="colorize_popup">
-  <property name="border_width">12</property>
-  <property name="title" translatable="yes">Color Adjustment</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
-  <property name="modal">False</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_DIALOG</property>
-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-  <property name="focus_on_map">True</property>
-  <property name="urgency_hint">False</property>
-
-  <child>
-    <widget class="GtkVBox" id="vbox36">
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">12</property>
-
-      <child>
-	<widget class="GtkLabel" id="label89">
-	  <property name="visible">True</property>
-	  <property name="label" translatable="yes">Audacious allows you to alter the color balance of the skinned UI. The sliders below will allow you to do this.</property>
-	  <property name="use_underline">False</property>
-	  <property name="use_markup">False</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</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="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">12</property>
-
-	  <child>
-	    <widget class="GtkHScale" id="red_scale">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="draw_value">False</property>
-	      <property name="value_pos">GTK_POS_TOP</property>
-	      <property name="digits">3</property>
-	      <property name="update_policy">GTK_UPDATE_CONTINUOUS</property>
-	      <property name="inverted">False</property>
-	      <property name="adjustment">0 0 255 0 0 0</property>
-	      <signal name="value_changed" handler="on_red_scale_value_changed" last_modification_time="Wed, 20 Dec 2006 16:09:54 GMT"/>
-	    </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>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkHScale" id="green_scale">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="draw_value">False</property>
-	      <property name="value_pos">GTK_POS_TOP</property>
-	      <property name="digits">1</property>
-	      <property name="update_policy">GTK_UPDATE_CONTINUOUS</property>
-	      <property name="inverted">False</property>
-	      <property name="adjustment">0 0 255 0 0 0</property>
-	      <signal name="value_changed" handler="on_green_scale_value_changed" last_modification_time="Wed, 20 Dec 2006 16:10:29 GMT"/>
-	    </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">fill</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkHScale" id="blue_scale">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="draw_value">False</property>
-	      <property name="value_pos">GTK_POS_TOP</property>
-	      <property name="digits">1</property>
-	      <property name="update_policy">GTK_UPDATE_CONTINUOUS</property>
-	      <property name="inverted">False</property>
-	      <property name="adjustment">0 0 255 0 0 0</property>
-	      <signal name="value_changed" handler="on_blue_scale_value_changed" last_modification_time="Wed, 20 Dec 2006 16:10:49 GMT"/>
-	    </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">fill</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label92">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">Red</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">fill</property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label93">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">Green</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">fill</property>
-	      <property name="y_options"></property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label94">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">Blue</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">2</property>
-	      <property name="bottom_attach">3</property>
-	      <property name="x_options">fill</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="GtkHButtonBox" id="hbuttonbox11">
-	  <property name="visible">True</property>
-	  <property name="layout_style">GTK_BUTTONBOX_END</property>
-	  <property name="spacing">6</property>
-
-	  <child>
-	    <widget class="GtkButton" id="colorize_close">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="has_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="on_colorize_close_clicked" last_modification_time="Wed, 20 Dec 2006 16:12:55 GMT"/>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">False</property>
-	</packing>
-      </child>
-    </widget>
-  </child>
-</widget>
-
+                                    <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">GTK_FILL</property>
+                                    <property name="y_options">GTK_FILL</property>
+                                  </packing>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                              </packing>
+                            </child>
+                          </widget>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">13</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkAlignment" id="alignment4">
+                        <property name="visible">True</property>
+                        <property name="top_padding">12</property>
+                        <property name="bottom_padding">12</property>
+                        <child>
+                          <widget class="GtkLabel" id="label2">
+                            <property name="visible">True</property>
+                            <property name="xalign">0</property>
+                            <property name="label" translatable="yes">&lt;b&gt;Volume Control&lt;/b&gt;</property>
+                            <property name="use_markup">True</property>
+                          </widget>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">14</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkAlignment" id="alignment7">
+                        <property name="visible">True</property>
+                        <property name="left_padding">12</property>
+                        <child>
+                          <widget class="GtkCheckButton" id="software_volume_control">
+                            <property name="visible">True</property>
+                            <property name="can_focus">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="label" translatable="yes">Use software volume control</property>
+                            <property name="use_underline">True</property>
+                            <property name="response_id">0</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="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">15</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="position">7</property>
+                    <property name="tab_expand">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkLabel" id="label97">
+                    <property name="visible">True</property>
+                  </widget>
+                  <packing>
+                    <property name="type">tab</property>
+                    <property name="position">7</property>
+                    <property name="tab_expand">False</property>
+                    <property name="tab_fill">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <widget class="GtkLabel" id="label98">
+                    <property name="visible">True</property>
+                  </widget>
+                  <packing>
+                    <property name="type">tab</property>
+                    <property name="position">8</property>
+                    <property name="tab_expand">False</property>
+                    <property name="tab_fill">False</property>
+                  </packing>
+                </child>
+              </widget>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </widget>
+        </child>
+        <child>
+          <widget class="GtkHSeparator" id="hseparator1">
+            <property name="visible">True</property>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="padding">6</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkHBox" id="hbox4">
+            <property name="visible">True</property>
+            <child>
+              <widget class="GtkLabel" id="audversionlabel">
+                <property name="visible">True</property>
+                <property name="use_markup">True</property>
+              </widget>
+              <packing>
+                <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="spacing">6</property>
+                <property name="layout_style">GTK_BUTTONBOX_END</property>
+                <child>
+                  <widget class="GtkButton" id="reload_plugins">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="can_default">True</property>
+                    <property name="response_id">0</property>
+                    <signal name="clicked" handler="on_reload_plugins_clicked"/>
+                    <child>
+                      <widget class="GtkAlignment" id="alignment93">
+                        <property name="visible">True</property>
+                        <property name="xscale">0</property>
+                        <property name="yscale">0</property>
+                        <child>
+                          <widget class="GtkHBox" id="hbox11">
+                            <property name="visible">True</property>
+                            <property name="spacing">2</property>
+                            <child>
+                              <widget class="GtkImage" id="image10">
+                                <property name="visible">True</property>
+                                <property name="stock">gtk-refresh</property>
+                              </widget>
+                              <packing>
+                                <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>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                  </widget>
+                </child>
+                <child>
+                  <widget class="GtkButton" id="close">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="can_default">True</property>
+                    <property name="label">gtk-close</property>
+                    <property name="use_stock">True</property>
+                    <property name="response_id">0</property>
+                    <signal name="clicked" handler="gtk_widget_hide" object="prefswin"/>
+                    <accelerator key="Escape" modifiers="" signal="clicked"/>
+                  </widget>
+                  <packing>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </widget>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
+  <widget class="GtkWindow" id="filepopup_for_tuple_settings">
+    <property name="border_width">12</property>
+    <property name="title" translatable="yes">Popup Information Settings</property>
+    <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
+    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+    <property name="skip_taskbar_hint">True</property>
+    <signal name="delete_event" handler="gtk_widget_hide_on_delete"/>
+    <child>
+      <widget class="GtkVBox" id="vbox35">
+        <property name="visible">True</property>
+        <property name="spacing">12</property>
+        <child>
+          <widget class="GtkLabel" id="label101">
+            <property name="visible">True</property>
+            <property name="xalign">0</property>
+            <property name="label" translatable="yes">&lt;b&gt;Cover image retrieve&lt;/b&gt;</property>
+            <property name="use_markup">True</property>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkLabel" id="label85">
+            <property name="visible">True</property>
+            <property name="xalign">0</property>
+            <property name="yalign">0</property>
+            <property name="xpad">12</property>
+            <property name="label" translatable="yes">While searching for the album's cover, Audacious looks for certain words in the filename. You can specify those words in the lists below, separated using commas.</property>
+            <property name="wrap">True</property>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkTable" id="table12">
+            <property name="visible">True</property>
+            <property name="n_rows">2</property>
+            <property name="n_columns">2</property>
+            <property name="column_spacing">4</property>
+            <property name="row_spacing">4</property>
+            <child>
+              <widget class="GtkEntry" id="filepopup_settings_cover_name_exclude">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="activates_default">True</property>
+              </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="label87">
+                <property name="visible">True</property>
+                <property name="xalign">0</property>
+                <property name="xpad">12</property>
+                <property name="label" translatable="yes">Include:</property>
+              </widget>
+              <packing>
+                <property name="x_options"></property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label88">
+                <property name="visible">True</property>
+                <property name="xalign">0</property>
+                <property name="xpad">12</property>
+                <property name="label" translatable="yes">Exclude:</property>
+              </widget>
+              <packing>
+                <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="GtkEntry" id="filepopup_settings_cover_name_include">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="activates_default">True</property>
+              </widget>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="right_attach">2</property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkAlignment" id="alignment80">
+            <property name="visible">True</property>
+            <property name="left_padding">12</property>
+            <child>
+              <widget class="GtkCheckButton" id="filepopup_settings_recurse_for_cover">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="label" translatable="yes">Recursively search for cover</property>
+                <property name="use_underline">True</property>
+                <property name="response_id">0</property>
+                <property name="draw_indicator">True</property>
+              </widget>
+            </child>
+          </widget>
+          <packing>
+            <property name="position">3</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkAlignment" id="alignment22">
+            <property name="visible">True</property>
+            <property name="left_padding">45</property>
+            <child>
+              <widget class="GtkHBox" id="filepopup_settings_recurse_for_cover_depth_box">
+                <property name="visible">True</property>
+                <child>
+                  <widget class="GtkLabel" id="label41">
+                    <property name="visible">True</property>
+                    <property name="xpad">4</property>
+                    <property name="label" translatable="yes">Search depth: </property>
+                  </widget>
+                </child>
+                <child>
+                  <widget class="GtkSpinButton" id="filepopup_settings_recurse_for_cover_depth">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="adjustment">0 0 100 1 10 10</property>
+                    <property name="climb_rate">1</property>
+                    <property name="numeric">True</property>
+                  </widget>
+                  <packing>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </widget>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">4</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkAlignment" id="alignment87">
+            <property name="visible">True</property>
+            <property name="left_padding">12</property>
+            <child>
+              <widget class="GtkCheckButton" id="filepopup_settings_use_file_cover">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="label" translatable="yes">Use per-file cover</property>
+                <property name="use_underline">True</property>
+                <property name="response_id">0</property>
+                <property name="draw_indicator">True</property>
+              </widget>
+            </child>
+          </widget>
+          <packing>
+            <property name="position">5</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkLabel" id="label99">
+            <property name="visible">True</property>
+            <property name="xalign">0</property>
+            <property name="label" translatable="yes">&lt;b&gt;Miscellaneous&lt;/b&gt;</property>
+            <property name="use_markup">True</property>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">6</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkAlignment" id="alignment90">
+            <property name="visible">True</property>
+            <property name="left_padding">12</property>
+            <child>
+              <widget class="GtkCheckButton" id="filepopup_settings_showprogressbar">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="label" translatable="yes">Show Progress bar for the current track</property>
+                <property name="use_underline">True</property>
+                <property name="response_id">0</property>
+                <property name="draw_indicator">True</property>
+              </widget>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">7</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkAlignment" id="alignment91">
+            <property name="visible">True</property>
+            <property name="xalign">0</property>
+            <property name="left_padding">12</property>
+            <child>
+              <widget class="GtkHBox" id="hbox10">
+                <property name="visible">True</property>
+                <child>
+                  <widget class="GtkLabel" id="label100">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="xpad">12</property>
+                    <property name="label" translatable="yes">Delay until filepopup comes up: </property>
+                  </widget>
+                </child>
+                <child>
+                  <widget class="GtkSpinButton" id="filepopup_settings_delay">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="adjustment">0 0 100 1 10 10</property>
+                    <property name="climb_rate">1</property>
+                    <property name="numeric">True</property>
+                  </widget>
+                  <packing>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </widget>
+            </child>
+          </widget>
+          <packing>
+            <property name="position">8</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkHButtonBox" id="hbuttonbox10">
+            <property name="visible">True</property>
+            <property name="spacing">6</property>
+            <property name="layout_style">GTK_BUTTONBOX_END</property>
+            <child>
+              <widget class="GtkButton" id="filepopup_settings_cancel">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="label">gtk-cancel</property>
+                <property name="use_stock">True</property>
+                <property name="response_id">0</property>
+                <signal name="clicked" handler="on_filepopup_settings_cancel_clicked"/>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkButton" id="filepopup_settings_ok">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="has_default">True</property>
+                <property name="label">gtk-ok</property>
+                <property name="use_stock">True</property>
+                <property name="response_id">0</property>
+                <signal name="clicked" handler="on_filepopup_settings_ok_clicked"/>
+              </widget>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">9</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
+  <widget class="GtkWindow" id="colorize_popup">
+    <property name="border_width">12</property>
+    <property name="title" translatable="yes">Color Adjustment</property>
+    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+    <child>
+      <widget class="GtkVBox" id="vbox36">
+        <property name="visible">True</property>
+        <property name="spacing">12</property>
+        <child>
+          <widget class="GtkLabel" id="label89">
+            <property name="visible">True</property>
+            <property name="xalign">0</property>
+            <property name="yalign">0</property>
+            <property name="label" translatable="yes">Audacious allows you to alter the color balance of the skinned UI. The sliders below will allow you to do this.</property>
+            <property name="wrap">True</property>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+          </packing>
+        </child>
+        <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="column_spacing">12</property>
+            <property name="row_spacing">6</property>
+            <child>
+              <widget class="GtkHScale" id="red_scale">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="adjustment">0 0 255 0 0 0</property>
+                <property name="digits">3</property>
+                <property name="draw_value">False</property>
+                <signal name="value_changed" handler="on_red_scale_value_changed"/>
+              </widget>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="right_attach">2</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkHScale" id="green_scale">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="adjustment">0 0 255 0 0 0</property>
+                <property name="draw_value">False</property>
+                <signal name="value_changed" handler="on_green_scale_value_changed"/>
+              </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">GTK_FILL</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkHScale" id="blue_scale">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="adjustment">0 0 255 0 0 0</property>
+                <property name="draw_value">False</property>
+                <signal name="value_changed" handler="on_blue_scale_value_changed"/>
+              </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">GTK_FILL</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label92">
+                <property name="visible">True</property>
+                <property name="xalign">1</property>
+                <property name="label" translatable="yes">Red</property>
+                <property name="justify">GTK_JUSTIFY_RIGHT</property>
+              </widget>
+              <packing>
+                <property name="x_options">GTK_FILL</property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label93">
+                <property name="visible">True</property>
+                <property name="xalign">1</property>
+                <property name="label" translatable="yes">Green</property>
+                <property name="justify">GTK_JUSTIFY_RIGHT</property>
+              </widget>
+              <packing>
+                <property name="top_attach">1</property>
+                <property name="bottom_attach">2</property>
+                <property name="x_options">GTK_FILL</property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label94">
+                <property name="visible">True</property>
+                <property name="xalign">1</property>
+                <property name="label" translatable="yes">Blue</property>
+                <property name="justify">GTK_JUSTIFY_RIGHT</property>
+              </widget>
+              <packing>
+                <property name="top_attach">2</property>
+                <property name="bottom_attach">3</property>
+                <property name="x_options">GTK_FILL</property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkHButtonBox" id="hbuttonbox11">
+            <property name="visible">True</property>
+            <property name="spacing">6</property>
+            <property name="layout_style">GTK_BUTTONBOX_END</property>
+            <child>
+              <widget class="GtkButton" id="colorize_close">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="has_default">True</property>
+                <property name="label">gtk-close</property>
+                <property name="use_stock">True</property>
+                <property name="response_id">0</property>
+                <signal name="clicked" handler="on_colorize_close_clicked"/>
+              </widget>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
 </glade-interface>
--- a/src/audacious/iir.c	Fri Sep 14 08:10:29 2007 +0300
+++ b/src/audacious/iir.c	Wed Sep 19 17:48:49 2007 +0300
@@ -20,6 +20,8 @@
  */
 
 #include <math.h>
+
+#include "main.h"
 #include "iir.h"
 
 /* Coefficients */
@@ -82,3 +84,42 @@
   return rounded_value;
 }
 #endif
+
+static void
+byteswap(size_t size,
+         gint16 * buf)
+{
+    gint16 *it;
+    size &= ~1;                  /* must be multiple of 2  */
+    for (it = buf; it < buf + size / 2; ++it)
+        *(guint16 *) it = GUINT16_SWAP_LE_BE(*(guint16 *) it);
+}
+
+void
+iir_flow(FlowContext *context)
+{
+    static int init = 0;
+    int swapped = 0;
+    guint myorder = G_BYTE_ORDER == G_LITTLE_ENDIAN ? FMT_S16_LE : FMT_S16_BE;
+    int caneq = (context->fmt == FMT_S16_NE || context->fmt == myorder);
+
+    if (!caneq && cfg.equalizer_active) {         /* wrong byte order */
+        byteswap(context->len, context->data);    /* so convert */
+        ++swapped;
+        ++caneq;
+    }                                        /* can eq now, mark swapd */
+    else if (caneq && !cfg.equalizer_active) /* right order but no eq */
+        caneq = 0;                           /* so don't eq */
+
+    if (caneq) {                /* if eq enab */
+        if (!init) {            /* if first run */
+            init_iir();         /* then init eq */
+            ++init;
+        }
+
+        iir(&context->data, context->len, context->channels);
+
+        if (swapped)                               /* if was swapped */
+            byteswap(context->len, context->data); /* swap back for output */
+    }
+}
--- a/src/audacious/iir.h	Fri Sep 14 08:10:29 2007 +0300
+++ b/src/audacious/iir.h	Wed Sep 19 17:48:49 2007 +0300
@@ -23,6 +23,7 @@
 
 #include <glib.h>
 #include "main.h"
+#include "flow.h"
 #include "iir_cfs.h"
 
 /*
@@ -79,5 +80,7 @@
 extern unsigned int blength;
 #endif
 
+void iir_flow(FlowContext *context);
+
 #endif /* #define IIR_H */
 
--- a/src/audacious/images/Makefile	Fri Sep 14 08:10:29 2007 +0300
+++ b/src/audacious/images/Makefile	Wed Sep 19 17:48:49 2007 +0300
@@ -1,17 +1,27 @@
-include ../../../mk/rules.mk
-include ../../../mk/init.mk
+include ../../../buildsys.mk
 
 imagesdir = $(pkgdatadir)/images
 
-OBJECTIVE_DATA = \
-	about-logo.png:$(imagesdir) \
-	audacious_player.xpm:$(imagesdir) \
-	appearance.png:$(imagesdir) \
-	audio.png:$(imagesdir) \
-	connectivity.png:$(imagesdir) \
-	mouse.png:$(imagesdir) \
-	playlist.png:$(imagesdir) \
-	plugins.png:$(imagesdir) \
-	eq.png:$(imagesdir)
+install-extra:
+	y="*.png *.xpm"; \
+	for i in $$y; do \
+		${INSTALL_STATUS}; \
+		if ${MKDIR_P} ${DESTDIR}${imagesdir} && ${INSTALL} -m 644 $$i ${DESTDIR}${imagesdir}/$$i; then \
+			${INSTALL_OK}; \
+		else \
+			${INSTALL_FAILED}; \
+		fi; \
+	done
 
-include ../../../mk/objective.mk
+uninstall-extra:
+	y="*.png *.xpm"; \
+	for i in $$y; do \
+		if [ -f ${DESTDIR}${imagesdir}/$$i ]; then \
+			if rm -f ${DESTDIR}${imagesdir}/$$i; then \
+				${DELETE_OK}; \
+			else \
+				${DELETE_FAILED}; \
+			fi \
+		fi; \
+	done;
+
--- a/src/audacious/intl/Makefile	Fri Sep 14 08:10:29 2007 +0300
+++ b/src/audacious/intl/Makefile	Wed Sep 19 17:48:49 2007 +0300
@@ -1,22 +1,4 @@
-include ../../../mk/rules.mk
-include ../../../mk/init.mk
-
-localedir = $(datadir)/locale
-gettextsrcdir = $(datadir)/gettext/intl
-aliaspath = $(localedir)
-
-OBJECTIVE_LIBS_NOINST = libintl.a
-
-DEFS += -DLOCALEDIR=\"$(localedir)\" -DLOCALE_ALIAS_PATH=\"$(aliaspath)\" \
-	-DLIBDIR=\"$(libdir)\" -DIN_LIBINTL \
-	-DENABLE_RELOCATABLE=1 -DIN_LIBRARY -DINSTALLDIR=\"$(libdir)\" -DINSTALLPREFIX=\"$(libdir)\" -DNO_XMALLOC \
-	-Dset_relocation_prefix=libintl_set_relocation_prefix \
-	-Drelocate=libintl_relocate \
-	-DDEPENDS_ON_LIBICONV=1
-
-CFLAGS += $(PICFLAGS) -I../../.. -I../.. -I. $(DEFS)
-
-SOURCES = \
+SRCS = \
   bindtextdom.c \
   dcgettext.c \
   dgettext.c \
@@ -41,6 +23,20 @@
   os2compat.c \
   intl-compat.c  
 
-OBJECTS = ${SOURCES:.c=.o}
+STATIC_LIB_NOINST = libintl.a
+
+include ../../../buildsys.mk
+include ../../../extra.mk
+
+localedir = $(datadir)/locale
+gettextsrcdir = $(datadir)/gettext/intl
+aliaspath = $(localedir)
 
-include ../../../mk/objective.mk
+DEFS += -DLOCALEDIR=\"$(localedir)\" -DLOCALE_ALIAS_PATH=\"$(aliaspath)\" \
+	-DLIBDIR=\"$(libdir)\" -DIN_LIBINTL \
+	-DENABLE_RELOCATABLE=1 -DIN_LIBRARY -DINSTALLDIR=\"$(libdir)\" -DINSTALLPREFIX=\"$(libdir)\" -DNO_XMALLOC \
+	-Dset_relocation_prefix=libintl_set_relocation_prefix \
+	-Drelocate=libintl_relocate \
+	-DDEPENDS_ON_LIBICONV=1
+
+CPPFLAGS += -I../../.. -I../.. -I. $(DEFS)
--- a/src/audacious/main.c	Fri Sep 14 08:10:29 2007 +0300
+++ b/src/audacious/main.c	Wed Sep 19 17:48:49 2007 +0300
@@ -224,7 +224,8 @@
     FALSE,          /* internal: whether or not to terminate */
     TRUE,           /* whether show progress bar in filepopup or not */
     TRUE,           /* close jtf dialog on jump */
-    TRUE,          /* use back and forth scroll */
+    TRUE,           /* use back and forth scroll */
+    FALSE,          /* use software volume control */
 };
 
 typedef struct bmp_cfg_boolent_t {
@@ -332,6 +333,7 @@
     {"filepopup_showprogressbar", &cfg.filepopup_showprogressbar, TRUE},
     {"close_jtf_dialog", &cfg.close_jtf_dialog, TRUE},
     {"twoway_scroll", &cfg.twoway_scroll, TRUE},
+    {"software_volume_control", &cfg.software_volume_control, TRUE},
 };
 
 static gint ncfgbent = G_N_ELEMENTS(bmp_boolents);
@@ -938,6 +940,7 @@
 
     /* Save extra playlists that were loaded from PLAYLISTS_DIR  */
     saved = NULL;
+    saved = g_list_prepend(saved, playlist); /* don't save default again */
     if(!dir_foreach(bmp_paths[BMP_PATH_PLAYLISTS_DIR], save_extra_playlist,
             &saved, NULL)) {
         g_warning("Could not save extra playlists\n");
@@ -1299,12 +1302,6 @@
 
     title = playlist_get_current_name(playlist);
 
-    if (playlist_playlists_equal(playlist, deflist)) {
-        /* same as default playlist */
-        playlist_remove_playlist(playlist);
-        playlist_filename_set(deflist, path);
-    }
-
     return FALSE; /* keep loading other playlists */
 }
 
--- a/src/audacious/main.h	Fri Sep 14 08:10:29 2007 +0300
+++ b/src/audacious/main.h	Wed Sep 19 17:48:49 2007 +0300
@@ -131,6 +131,7 @@
     gboolean filepopup_showprogressbar;
     gboolean close_jtf_dialog;
     gboolean twoway_scroll;
+    gboolean software_volume_control;
 };
 
 typedef struct _BmpConfig BmpConfig;
--- a/src/audacious/output.c	Fri Sep 14 08:10:29 2007 +0300
+++ b/src/audacious/output.c	Wed Sep 19 17:48:49 2007 +0300
@@ -36,7 +36,11 @@
 #include "playlist.h"
 #include "configdb.h"
 
+#include "flow.h"
+
 #include "effect.h"
+#include "volumecontrol.h"
+#include "visualization.h"
 
 #include <math.h>
 
@@ -56,27 +60,21 @@
 };
 
 OutputPlugin psuedo_output_plugin = {
-    NULL,
-    NULL,
-    "XMMS reverse compatibility output plugin",
-    NULL,
-    NULL,
-    NULL,
-    NULL,
-    TRUE,
-    output_get_volume,
-    output_set_volume,
-    output_open_audio,
-    output_write_audio,
-    output_close_audio,
+    .description = "XMMS reverse compatibility output plugin",
+    .get_volume = output_get_volume,
+    .set_volume = output_set_volume,
+
+    .open_audio = output_open_audio,
+    .write_audio = output_write_audio,
+    .close_audio = output_close_audio,
 
-    output_flush,
-    output_pause,
-    output_buffer_free,
-    output_buffer_playing,
-    get_output_time,
-    get_written_time,
-    NULL
+    .flush = output_flush,
+    .pause = output_pause,
+
+    .buffer_free = output_buffer_free,
+    .buffer_playing = output_buffer_playing,
+    .output_time = get_output_time,
+    .written_time = get_written_time,
 };
 
 OutputPlugin *
@@ -171,7 +169,10 @@
     if (!op_data.current_output_plugin->get_volume)
         return;
 
-    op_data.current_output_plugin->get_volume(l, r);
+    if (cfg.software_volume_control)
+        volumecontrol_get_volume_state(l, r);
+    else
+        op_data.current_output_plugin->get_volume(l, r);
 }
 
 void
@@ -183,7 +184,10 @@
     if (!op_data.current_output_plugin->set_volume)
         return;
 
-    op_data.current_output_plugin->set_volume(l, r);
+    if (cfg.software_volume_control)
+        volumecontrol_set_volume_state(l, r);
+    else
+        op_data.current_output_plugin->set_volume(l, r);
 }
 
 void
@@ -200,17 +204,6 @@
     }
 }
 
-/* this should be in BYTES, NOT gint16s */
-static void
-byteswap(size_t size,
-         gint16 * buf)
-{
-    gint16 *it;
-    size &= ~1;                  /* must be multiple of 2  */
-    for (it = buf; it < buf + size / 2; ++it)
-        *(guint16 *) it = GUINT16_SWAP_LE_BE(*(guint16 *) it);
-}
-
 /* called by input plugin to peek at the output plugin's write progress */
 gint
 get_written_time(void)
@@ -427,15 +420,18 @@
               int *going        /* 0 when time to stop  */
               )
 {
-    static int init = 0;
-    int swapped = 0;
-    guint myorder = G_BYTE_ORDER == G_LITTLE_ENDIAN ? FMT_S16_LE : FMT_S16_BE;
-    int caneq = (fmt == FMT_S16_NE || fmt == myorder);
+    static Flow *postproc_flow = NULL;
     OutputPlugin *op = get_current_output_plugin();
     int writeoffs;
-    AFormat new_format;
-    gint new_rate;
-    gint new_nch;
+
+    if (postproc_flow == NULL)
+    {
+        postproc_flow = flow_new();
+        flow_link_element(postproc_flow, iir_flow);
+        flow_link_element(postproc_flow, effect_flow);
+        flow_link_element(postproc_flow, vis_flow);
+        flow_link_element(postproc_flow, volumecontrol_flow);
+    }
 
 #ifdef USE_SRC
     if(src_state != NULL&&length > 0)
@@ -475,50 +471,7 @@
       }
 #endif
 
-    if (!caneq && cfg.equalizer_active) {    /* wrong byte order */
-        byteswap(length, ptr);               /* so convert */
-        ++swapped;
-        ++caneq;
-    }                                        /* can eq now, mark swapd */
-    else if (caneq && !cfg.equalizer_active) /* right order but no eq */
-        caneq = 0;                           /* so don't eq */
-
-    if (caneq) {                /* if eq enab */
-        if (!init) {            /* if first run */
-            init_iir();         /* then init eq */
-            ++init;
-        }
-
-        iir(&ptr, length, nch);
-
-        if (swapped)               /* if was swapped */
-            byteswap(length, ptr); /* swap back for output */
-    }                           
-
-    /* do vis plugin(s) */
-    input_add_vis_pcm(time, fmt, nch, length, ptr);
-
-    /* do effect plugin(s) */
-    new_format = op_state.fmt;
-    new_rate = op_state.rate;
-    new_nch = op_state.nch;
-
-    effect_do_query_format(&new_format, &new_rate, &new_nch);
-
-    if (new_format != op_state.fmt ||
-        new_rate != op_state.rate ||
-        new_nch != op_state.nch)
-    {
-        /*
-         * The effect plugin changes the stream format. Reopen the
-         * audio device.
-         */
-        if (!output_open_audio(new_format, new_rate, new_nch))
-            return;
-    }
-
-    length = effect_do_mod_samples(&ptr, length, op_state.fmt, op_state.rate, 
-        op_state.nch);
+    flow_execute(postproc_flow, time, ptr, length, op_state.fmt, op_state.rate, op_state.nch);
 
     writeoffs = 0;
     while (writeoffs < length)
--- a/src/audacious/playlist.c	Fri Sep 14 08:10:29 2007 +0300
+++ b/src/audacious/playlist.c	Wed Sep 19 17:48:49 2007 +0300
@@ -668,48 +668,76 @@
 			       InputPlugin * dec)
 {
     PlaylistEntry *entry;
+    gint subtunes_num = 0, i = 0;
 
     g_return_if_fail(playlist != NULL);
     g_return_if_fail(filename != NULL);
 
-    entry = playlist_entry_new(filename,
-        tuple ? tuple_get_string(tuple, FIELD_TITLE, NULL) : NULL,
-        tuple ? tuple_get_int(tuple, FIELD_LENGTH, NULL) : -1, dec);
-    
-    if(!playlist->tail)
-        playlist->tail = g_list_last(playlist->entries);
-
-    PLAYLIST_LOCK(playlist);
-    
-    if(pos == -1) { // the common case
-        GList *element;
-        element = g_list_alloc();
-        element->data = entry;
-        element->prev = playlist->tail; // NULL is allowed here.
-        element->next = NULL;
-
-        if(!playlist->entries) { // this is the first element
-            playlist->entries = element;
-            playlist->tail = element;
-        }
-        else { // the rests
-            g_return_if_fail(playlist->tail != NULL);
-            playlist->tail->next = element;
-            playlist->tail = element;
+    if (tuple != NULL)
+    {
+        subtunes_num = tuple_get_int(tuple, FIELD_SUBSONG_NUM, NULL);
+        if (subtunes_num > 0)
+        {
+            i = 1;
+            tuple_free(tuple); /* will be replaced by subtune tuples */
         }
     }
-    else {
-        playlist->entries = g_list_insert(playlist->entries, entry, pos);
-    }
-
-    PLAYLIST_UNLOCK(playlist);
-    
-    if (tuple != NULL) {
-        const gchar *formatter = tuple_get_string(tuple, FIELD_FORMATTER, NULL);
-        entry->title = tuple_formatter_make_title_string(tuple, formatter ?
-                                                      formatter : get_gentitle_format());
-        entry->length = tuple_get_int(tuple, FIELD_LENGTH, NULL);
-        entry->tuple = tuple;
+
+    for (; i <= subtunes_num; i++)
+    {
+        gchar *filename_entry;
+        if (subtunes_num > 0)
+        {
+            filename_entry = g_strdup_printf("%s?%d", filename, i);
+            /* we're dealing with subtune, let's ask again tuple information
+               to plugin, by passing the ?subsong suffix; this way we may get
+               specific subtune information in the tuple, if available */
+            tuple = dec->get_song_tuple(filename_entry);
+        }
+        else
+            filename_entry = g_strdup(filename);
+        
+        
+        entry = playlist_entry_new(filename_entry,
+            tuple ? tuple_get_string(tuple, FIELD_TITLE, NULL) : NULL,
+            tuple ? tuple_get_int(tuple, FIELD_LENGTH, NULL) : -1, dec);
+        g_free(filename_entry);
+
+        if(!playlist->tail)
+            playlist->tail = g_list_last(playlist->entries);
+
+        PLAYLIST_LOCK(playlist);
+
+        if ((pos == -1) && (i < 2)) { // the common case
+            GList *element;
+            element = g_list_alloc();
+            element->data = entry;
+            element->prev = playlist->tail; // NULL is allowed here.
+            element->next = NULL;
+
+            if(!playlist->entries) { // this is the first element
+                playlist->entries = element;
+                playlist->tail = element;
+            }
+            else { // the rests
+                g_return_if_fail(playlist->tail != NULL);
+                playlist->tail->next = element;
+                playlist->tail = element;
+            }
+        }
+        else {
+            playlist->entries = g_list_insert(playlist->entries, entry, pos);
+        }
+
+        PLAYLIST_UNLOCK(playlist);
+
+        if (tuple != NULL) {
+            const gchar *formatter = tuple_get_string(tuple, FIELD_FORMATTER, NULL);
+            entry->title = tuple_formatter_make_title_string(tuple, formatter ?
+                                                          formatter : get_gentitle_format());
+            entry->length = tuple_get_int(tuple, FIELD_LENGTH, NULL);
+            entry->tuple = tuple;
+        }
     }
 
     if(tuple != NULL && tuple_get_int(tuple, FIELD_MTIME, NULL) == -1) { // kick the scanner thread only if mtime = -1 (uninitialized).
--- a/src/audacious/tuple.c	Fri Sep 14 08:10:29 2007 +0300
+++ b/src/audacious/tuple.c	Wed Sep 19 17:48:49 2007 +0300
@@ -47,6 +47,9 @@
     { "performer",      TUPLE_STRING },
     { "copyright",      TUPLE_STRING },
     { "date",           TUPLE_STRING },
+
+    { "subsong-id",     TUPLE_INT },
+    { "subsong-num",    TUPLE_INT },
 };
 
 static mowgli_heap_t *tuple_heap = NULL;
@@ -94,9 +97,21 @@
 tuple_destroy(gpointer data)
 {
     Tuple *tuple = (Tuple *) data;
+    gint i;
 
     TUPLE_LOCK_WRITE();
     mowgli_dictionary_destroy(tuple->dict, tuple_value_destroy, NULL);
+
+    for (i = 0; i < FIELD_LAST; i++)
+        if (tuple->values[i]) {
+            TupleValue *value = tuple->values[i];
+            
+            if (value->type == TUPLE_STRING)
+                g_free(value->value.string);
+            
+            mowgli_heap_free(tuple_value_heap, value);
+        }
+    
     mowgli_heap_free(tuple_heap, tuple);
     TUPLE_UNLOCK_WRITE();
 }
@@ -110,8 +125,8 @@
     
     if (tuple_heap == NULL)
     {
-        tuple_heap = mowgli_heap_create(sizeof(Tuple), 256, BH_NOW);
-        tuple_value_heap = mowgli_heap_create(sizeof(TupleValue), 512, BH_NOW);
+        tuple_heap = mowgli_heap_create(sizeof(Tuple), 512, BH_NOW);
+        tuple_value_heap = mowgli_heap_create(sizeof(TupleValue), 1024, BH_NOW);
         mowgli_object_class_init(&tuple_klass, "audacious.tuple", tuple_destroy, FALSE);
     }
 
--- a/src/audacious/tuple.h	Fri Sep 14 08:10:29 2007 +0300
+++ b/src/audacious/tuple.h	Wed Sep 19 17:48:49 2007 +0300
@@ -50,6 +50,9 @@
     FIELD_COPYRIGHT,
     FIELD_DATE,
 
+    FIELD_SUBSONG_ID,
+    FIELD_SUBSONG_NUM,
+
     /* special field, must always be last */
     FIELD_LAST
 };
--- a/src/audacious/ui/Makefile	Fri Sep 14 08:10:29 2007 +0300
+++ b/src/audacious/ui/Makefile	Wed Sep 19 17:48:49 2007 +0300
@@ -1,12 +1,27 @@
-include ../../../mk/rules.mk
-include ../../../mk/init.mk
+include ../../../buildsys.mk
 
 gladexmldir = $(pkgdatadir)/ui
 
-OBJECTIVE_DATA = \
-	carbon-menubar.ui:$(gladexmldir) \
-	mainwin.ui:$(gladexmldir) \
-	playlist.ui:$(gladexmldir) \
-	equalizer.ui:$(gladexmldir)
+install-extra:
+	y="*.ui"; \
+	for i in $$y; do \
+		${INSTALL_STATUS}; \
+		if ${MKDIR_P} ${DESTDIR}${gladexmldir} && ${INSTALL} -m 644 $$i ${DESTDIR}${gladexmldir}/$$i; then \
+			${INSTALL_OK}; \
+		else \
+			${INSTALL_FAILED}; \
+		fi; \
+	done
 
-include ../../../mk/objective.mk
+uninstall-extra:
+	y="*.ui"; \
+	for i in $$y; do \
+		if [ -f ${DESTDIR}${gladexmldir}/$$i ]; then \
+			if rm -f ${DESTDIR}${gladexmldir}/$$i; then \
+				${DELETE_OK}; \
+			else \
+				${DELETE_FAILED}; \
+			fi \
+		fi; \
+	done;
+
--- a/src/audacious/ui_equalizer.c	Fri Sep 14 08:10:29 2007 +0300
+++ b/src/audacious/ui_equalizer.c	Wed Sep 19 17:48:49 2007 +0300
@@ -288,7 +288,7 @@
                       gpointer data)
 {
     if (event->keyval == GDK_Tab && event->state & GDK_CONTROL_MASK) {
-        gtk_window_present(GTK_WINDOW(playlistwin));
+	playlistwin_show();
         return TRUE;
     }
 
--- a/src/audacious/ui_main.c	Fri Sep 14 08:10:29 2007 +0300
+++ b/src/audacious/ui_main.c	Wed Sep 19 17:48:49 2007 +0300
@@ -135,11 +135,10 @@
 static GtkWidget *mainwin_shuffle, *mainwin_repeat;
 GtkWidget *mainwin_eq, *mainwin_pl;
 
-GtkWidget *mainwin_info;
+GtkWidget *mainwin_info, *mainwin_othertext;
 GtkWidget *mainwin_stime_min, *mainwin_stime_sec;
 
-static GtkWidget *mainwin_rate_text, *mainwin_freq_text,
-    *mainwin_othertext;
+static GtkWidget *mainwin_rate_text, *mainwin_freq_text;
 
 GtkWidget *mainwin_playstatus;
 
@@ -971,8 +970,23 @@
         break;
     case GDK_Tab:
         if (event->state & GDK_CONTROL_MASK)
-            gtk_window_present(GTK_WINDOW(equalizerwin));
+	    equalizerwin_real_show();
         break;
+    case GDK_c:
+	if (event->state & GDK_CONTROL_MASK) {
+	    Playlist *playlist = playlist_get_active();
+	    gint pos = playlist_get_position(playlist);
+	    gchar *title = playlist_get_songtitle(playlist, pos);
+
+	    if (title != NULL) {
+		GtkClipboard *clip = gtk_clipboard_get(GDK_SELECTION_CLIPBOARD);
+		gtk_clipboard_set_text(clip, title, -1);
+		gtk_clipboard_store(clip);
+	    }
+
+	    return TRUE;
+	}
+	return FALSE;
     default:
         return FALSE;
     }
@@ -2423,6 +2437,7 @@
     g_signal_connect(mainwin_info, "right-clicked", mainwin_info_right_clicked_cb, NULL);
 
     mainwin_othertext = ui_skinned_textbox_new(SKINNED_WINDOW(mainwin)->fixed, 112, 43, 153, 1, SKIN_TEXT);
+    ui_skinned_textbox_set_xfont(mainwin_othertext, cfg.mainwin_use_xfont, cfg.mainwin_font);
 
     mainwin_rate_text = ui_skinned_textbox_new(SKINNED_WINDOW(mainwin)->fixed, 111, 43, 15, 0, SKIN_TEXT);
 
--- a/src/audacious/ui_main.h	Fri Sep 14 08:10:29 2007 +0300
+++ b/src/audacious/ui_main.h	Wed Sep 19 17:48:49 2007 +0300
@@ -100,7 +100,7 @@
 
 extern GtkWidget *mainwin_jtf;
 extern GtkWidget *mainwin_eq, *mainwin_pl;
-extern GtkWidget *mainwin_info;
+extern GtkWidget *mainwin_info, *mainwin_othertext;
 
 extern GtkWidget *mainwin_stime_min, *mainwin_stime_sec;
 
--- a/src/audacious/ui_preferences.c	Fri Sep 14 08:10:29 2007 +0300
+++ b/src/audacious/ui_preferences.c	Wed Sep 19 17:48:49 2007 +0300
@@ -585,6 +585,7 @@
     cfg.mainwin_font = g_strdup(gtk_font_button_get_font_name(button));
 
     ui_skinned_textbox_set_xfont(mainwin_info, cfg.mainwin_use_xfont, cfg.mainwin_font);
+    ui_skinned_textbox_set_xfont(mainwin_othertext, cfg.mainwin_use_xfont, cfg.mainwin_font);
 }
 
 static void
@@ -602,6 +603,7 @@
     gboolean useit = gtk_toggle_button_get_active(button);
     cfg.mainwin_use_xfont = useit != FALSE ? FALSE : TRUE;
     ui_skinned_textbox_set_xfont(mainwin_info, cfg.mainwin_use_xfont, cfg.mainwin_font);
+    ui_skinned_textbox_set_xfont(mainwin_othertext, cfg.mainwin_use_xfont, cfg.mainwin_font);
     playlistwin_set_sinfo_font(cfg.playlist_font);
 
     if (cfg.playlist_shaded) {
@@ -883,6 +885,7 @@
     gtk_tree_model_get(model, &iter, PLUGIN_VIEW_COL_PLUGIN_PTR, &plugin, -1);
 
     g_return_if_fail(plugin != NULL);
+    g_return_if_fail(plugin->configure != NULL);
 
     plugin->configure();
 }
@@ -1156,6 +1159,18 @@
 }
 
 static void
+on_software_volume_control_toggled(GtkToggleButton * button, gpointer data)
+{
+    cfg.software_volume_control = gtk_toggle_button_get_active(button);
+}
+
+static void
+on_software_volume_control_realize(GtkToggleButton * button, gpointer data)
+{
+    gtk_toggle_button_set_active(button, cfg.software_volume_control);
+}
+
+static void
 on_continue_playback_on_startup_toggled(GtkToggleButton * button, gpointer data)
 {
     cfg.resume_playback_on_startup = gtk_toggle_button_get_active(button);
@@ -1890,6 +1905,8 @@
     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)
 
     /* Filepopup settings */
     FUNC_MAP_ENTRY(on_filepopup_settings_ok_clicked)
--- a/src/audacious/visualization.c	Fri Sep 14 08:10:29 2007 +0300
+++ b/src/audacious/visualization.c	Wed Sep 19 17:48:49 2007 +0300
@@ -446,3 +446,10 @@
     else
         ui_vis_timeout_func(mainwin_vis, intern_vis_data);
 }
+
+void
+vis_flow(FlowContext *context)
+{
+    input_add_vis_pcm(context->time, context->fmt, context->channels,
+        context->len, context->data);
+}
--- a/src/audacious/visualization.h	Fri Sep 14 08:10:29 2007 +0300
+++ b/src/audacious/visualization.h	Wed Sep 19 17:48:49 2007 +0300
@@ -26,7 +26,7 @@
 #define VISUALIZATION_H
 
 #include <glib.h>
-
+#include "flow.h"
 #include "plugin.h"
 
 typedef struct _VisPluginData VisPluginData;
@@ -46,6 +46,7 @@
 gchar *vis_stringify_enabled_list(void);
 void vis_enable_from_stringified_list(gchar * list);
 void vis_send_data(gint16 pcm_data[2][512], gint nch, gint length);
+void vis_flow(FlowContext *context);
 
 extern VisPluginData vp_data;
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/audacious/volumecontrol.c	Wed Sep 19 17:48:49 2007 +0300
@@ -0,0 +1,171 @@
+/*
+ * Audacious
+ * Copyright (c) 2007 William Pitcock
+ *
+ * volumecontrol.c: High quality volume PCM padding flow.
+ *
+ * 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.
+ */
+
+#include "output.h"
+#include "iir.h"
+#include "main.h"
+#include "input.h"
+#include "playback.h"
+
+#include "playlist.h"
+#include "configdb.h"
+
+#include "effect.h"
+#include "xconvert.h"
+
+#include "volumecontrol.h"
+
+#include <math.h>
+
+typedef struct {
+    gint left;
+    gint right;
+} volumecontrol_req_t;
+
+static volumecontrol_req_t vc_state_ = { 100, 100 };
+
+#define STEREO_ADJUST(type, type2, endian)                                      \
+do {                                                                            \
+        type *ptr = data;                                                       \
+        for (i = 0; i < length; i += 4)                                         \
+        {                                                                       \
+                *ptr = type2##_TO_##endian(type2##_FROM_## endian(*ptr) *       \
+                                           lvol / 256);                         \
+                ptr++;                                                          \
+                *ptr = type2##_TO_##endian(type2##_FROM_##endian(*ptr) *        \
+                                           rvol / 256);                         \
+                ptr++;                                                          \
+        }                                                                       \
+} while (0)
+
+#define MONO_ADJUST(type, type2, endian)                                        \
+do {                                                                            \
+        type *ptr = data;                                                       \
+        for (i = 0; i < length; i += 2)                                         \
+        {                                                                       \
+                *ptr = type2##_TO_##endian(type2##_FROM_## endian(*ptr) *       \
+                                           vol / 256);                          \
+                ptr++;                                                          \
+        }                                                                       \
+} while (0)
+
+#define VOLUME_ADJUST(type, type2, endian)              \
+do {                                                    \
+        if (channels == 2)                              \
+                STEREO_ADJUST(type, type2, endian);     \
+        else                                            \
+                MONO_ADJUST(type, type2, endian);       \
+} while (0)
+
+#define STEREO_ADJUST8(type)                            \
+do {                                                    \
+        type *ptr = data;                               \
+        for (i = 0; i < length; i += 2)                 \
+        {                                               \
+                *ptr = *ptr * lvol / 256;               \
+                ptr++;                                  \
+                *ptr = *ptr * rvol / 256;               \
+                ptr++;                                  \
+        }                                               \
+} while (0)
+
+#define MONO_ADJUST8(type)                      \
+do {                                            \
+        type *ptr = data;                       \
+        for (i = 0; i < length; i++)            \
+        {                                       \
+                *ptr = *ptr * vol / 256;        \
+                ptr++;                          \
+        }                                       \
+} while (0)
+
+#define VOLUME_ADJUST8(type)                    \
+do {                                            \
+        if (channels == 2)                      \
+                STEREO_ADJUST8(type);           \
+        else                                    \
+                MONO_ADJUST8(type);             \
+} while (0)
+
+void volumecontrol_pad_audio(gpointer data, gint length, AFormat fmt,
+    gint channels)
+{
+    gint i, vol, lvol, rvol;
+
+    if (vc_state_.left == 100 && vc_state_.right == 100)
+        return;
+
+    if (channels == 1 && (vc_state_.left == 100 || vc_state_.right == 100))
+        return;
+
+    lvol = pow(10, (vc_state_.left - 100) / 40.0) * 256;
+    rvol = pow(10, (vc_state_.right - 100) / 40.0) * 256;
+    vol = MAX(lvol, rvol);
+
+    switch (fmt)
+    {
+        case FMT_S16_LE:
+            VOLUME_ADJUST(gint16, GINT16, LE);
+            break;
+        case FMT_U16_LE:
+            VOLUME_ADJUST(guint16, GUINT16, LE);
+            break;
+        case FMT_S16_BE:
+            VOLUME_ADJUST(gint16, GINT16, LE);
+            break;
+        case FMT_U16_BE:
+            VOLUME_ADJUST(guint16, GUINT16, LE);
+            break;
+        case FMT_S8:
+            VOLUME_ADJUST8(gint8);
+            break;
+        case FMT_U8:
+            VOLUME_ADJUST8(guint8);
+            break;
+        default:
+            g_warning("unhandled format %d.", fmt);
+            break;
+    }
+}
+
+void
+volumecontrol_get_volume_state(gint *l, gint *r)
+{
+    *l = vc_state_.left;
+    *r = vc_state_.right;
+}
+
+void
+volumecontrol_set_volume_state(gint l, gint r)
+{
+    vc_state_.left = l;
+    vc_state_.right = r;
+}
+
+void
+volumecontrol_flow(FlowContext *context)
+{
+    if (!cfg.software_volume_control)
+        return;
+
+    volumecontrol_pad_audio(context->data, context->len, context->fmt, context->channels);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/audacious/volumecontrol.h	Wed Sep 19 17:48:49 2007 +0300
@@ -0,0 +1,34 @@
+/*
+ * Audacious
+ * Copyright (c) 2007 William Pitcock
+ *
+ * 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.
+ */
+
+#include <glib.h>
+
+#include "flow.h"
+
+#ifndef __VOLUMECONTROL_H__
+#define __VOLUMECONTROL_H__
+
+void volumecontrol_pad_audio(gpointer data, gint length, AFormat fmt, 
+    gint channels);
+void volumecontrol_get_volume_state(gint *l, gint *r);
+void volumecontrol_set_volume_state(gint l, gint r);
+void volumecontrol_flow(FlowContext *context);
+
+#endif
--- a/src/audtool/Makefile	Fri Sep 14 08:10:29 2007 +0300
+++ b/src/audtool/Makefile	Wed Sep 19 17:48:49 2007 +0300
@@ -1,11 +1,19 @@
-include ../../mk/rules.mk
-include ../../mk/init.mk
-include ../../mk/objective.mk
+include ../../extra.mk
+
+PROG = audtool
 
-OBJECTIVE_BINS = audtool
+SRCS =	 			\
+	audtool_main.c			\
+	audtool_handlers_general.c	\
+	audtool_handlers_playback.c	\
+	audtool_handlers_playlist.c	\
+	audtool_handlers_playqueue.c	\
+	audtool_handlers_vitals.c	\
+	audtool_report.c
 
-LDFLAGS += $(AUDLDFLAGS)
-LDADD = \
+include ../../buildsys.mk
+
+LIBS += \
 	$(DBUS_LIBS) \
 	-L../libaudclient -laudclient \
 	$(GTK_LIBS)      \
@@ -22,17 +30,4 @@
 	-I.. -I../..   \
 	-I../intl
 
-SOURCES =	 			\
-	audtool_main.c			\
-	audtool_handlers_general.c	\
-	audtool_handlers_playback.c	\
-	audtool_handlers_playlist.c	\
-	audtool_handlers_playqueue.c	\
-	audtool_handlers_vitals.c	\
-	audtool_report.c
-
-OBJECTS = ${SOURCES:.c=.o}
-
-audtool: $(OBJECTS)
-	$(CC) $(LDFLAGS) $(OBJECTS) $(LDADD) -o $@
-	@printf "%10s     %-20s\n" LINK $@
+CPPFLAGS += $(CFLAGS)
--- a/src/libaudclient/Makefile	Fri Sep 14 08:10:29 2007 +0300
+++ b/src/libaudclient/Makefile	Wed Sep 19 17:48:49 2007 +0300
@@ -1,20 +1,26 @@
-include ../../mk/rules.mk
-include ../../mk/init.mk
+include ../../extra.mk
 
-PICLDFLAGS = $(LIBLDFLAGS)
+LIB = ${LIB_PREFIX}audclient${LIB_SUFFIX}
+LIB_MAJOR = 1
+LIB_MINOR = 0
+
+SRCS = audctrl.c
 
-OBJECTIVE_LIBS = libaudclient$(SHARED_SUFFIX)
-OBJECTIVE_SONAME_SUFFIX = 1
-LIBAUDACIOUS_SUFFIX = 1.0.0
+INCLUDES = audctrl.h
+
+include ../../buildsys.mk
 
-LIBADD = \
-	$(GTK_LIBS) \
+depend-hook:
+	cd ../audacious; make dbus-client-bindings.h
+
+LIBS += \
+	$(GLIB_LIBS) \
 	$(DBUS_LIBS) \
 	$(MOWGLI_LIBS) \
 	$(GCONF_LIBS) \
 	$(LIBMCS_LIBS)
 
-CFLAGS += $(PICFLAGS) \
+CFLAGS += $(LIB_CFLAGS) \
 	$(MOWGLI_CFLAGS) \
 	$(GTK_CFLAGS) \
 	$(GCONF_CFLAGS) \
@@ -24,19 +30,4 @@
 	-I.. -I../.. \
 	-I../intl
 
-SOURCES = \
-	audctrl.c
-
-OBJECTS = ${SOURCES:.c=.o}
-
-HEADERS = \
-	audctrl.h
-
-include ../../mk/objective.mk
-
-install-posthook:
-	@mv ${DESTDIR}/${LIBDIR}/libaudclient$(SHARED_SUFFIX) ${DESTDIR}/${LIBDIR}/libaudclient$(SHARED_SUFFIX).$(LIBAUDACIOUS_SUFFIX)
-	@ln -sf libaudclient$(SHARED_SUFFIX).$(LIBAUDACIOUS_SUFFIX) \
-		${DESTDIR}/${LIBDIR}/libaudclient$(SHARED_SUFFIX).1
-	@ln -sf libaudclient$(SHARED_SUFFIX).1 \
-		${DESTDIR}/${LIBDIR}/libaudclient$(SHARED_SUFFIX)
+CPPFLAGS = ${CFLAGS}
--- a/src/libguess/Makefile	Fri Sep 14 08:10:29 2007 +0300
+++ b/src/libguess/Makefile	Wed Sep 19 17:48:49 2007 +0300
@@ -1,14 +1,6 @@
-include ../../mk/rules.mk
-include ../../mk/init.mk
-
-OBJECTIVE_LIBS_NOINST = libguess.a
-OBJECTIVE_SONAME_SUFFIX = 0.2.0
+STATIC_LIB_NOINST = libguess.a
 
-LDFLAGS += -Wl,-export-dynamic
-
-CFLAGS += $(PICFLAGS)
-
-SOURCES = \
+SRCS = \
 	guess.c \
 	arabic_impl.c \
 	cjk_impl.c \
@@ -17,6 +9,4 @@
 	russian_impl.c \
 	turkish_impl.c
 
-OBJECTS = ${SOURCES:.c=.o}
-
-include ../../mk/objective.mk
+include ../../buildsys.mk
--- a/src/libid3tag/Makefile	Fri Sep 14 08:10:29 2007 +0300
+++ b/src/libid3tag/Makefile	Wed Sep 19 17:48:49 2007 +0300
@@ -1,21 +1,14 @@
-include ../../mk/rules.mk
-include ../../mk/init.mk
+include ../../extra.mk
 
-OBJECTIVE_LIBS = libaudid3tag$(SHARED_SUFFIX)
-
-PICLDFLAGS = $(LIBLDFLAGS)
+LIB = ${LIB_PREFIX}audid3tag${LIB_SUFFIX}
+LIB_MAJOR = 1
+LIB_MINOR = 0
 
 LIBDIR = $(plugindir)
 
-LIBADD += $(GLIB_LIBS)
+INCLUDES = id3tag.h
 
-CFLAGS += $(PICFLAGS) \
-	-I.. \
-	$(GLIB_CFLAGS) -Wall
-
-HEADERS = id3tag.h
-
-SOURCES = \
+SRCS = \
 	compat.c \
 	debug.c \
 	file.c \
@@ -34,6 +27,9 @@
 	utf16.c \
 	util.c
 
-OBJECTS = ${SOURCES:.c=.o}
+include ../../buildsys.mk
 
-include ../../mk/objective.mk
+CPPFLAGS += -I.. $(GLIB_CFLAGS)
+CFLAGS += $(LIB_CFLAGS)
+
+LIBS += $(GLIB_LIBS)