changeset 2781:7fc2c317d190

branch merge
author Andrew O. Shadoura <bugzilla@tut.by>
date Thu, 03 Jul 2008 17:37:11 +0300
parents c40585c57877 (current diff) ffb79e3d133a (diff)
children c5005707a575 5a10f297b7d0
files configure.ac
diffstat 112 files changed, 42992 insertions(+), 9378 deletions(-) [+]
line wrap: on
line diff
--- a/acinclude.m4	Thu Jul 03 17:23:34 2008 +0300
+++ b/acinclude.m4	Thu Jul 03 17:37:11 2008 +0300
@@ -1,5 +1,6 @@
 
 dnl ** ADD_PKG_REQUIRES([requirement])
+dnl ** Adds a dependency to package's pkg-config file.
 AC_DEFUN([ADD_PC_REQUIRES], [
    if test "x$PC_REQUIRES" = "x"; then
        PC_REQUIRES="$1"
@@ -10,10 +11,13 @@
 ])
 
 
-dnl ** Like PKG_CHECK_MODULES, but provides an informative error message.
 dnl ** AUD_CHECK_MODULE([define name], [module], [version required],
 dnl **     [informational name], [additional error message])
 dnl **
+dnl ** Works like PKG_CHECK_MODULES, but provides an informative
+dnl ** error message if the package is not found. NOTICE! Unlike
+dnl ** PKG_C_M, this macro ONLY supports one module name!
+dnl **
 dnl ** AUD_CHECK_MODULE([GLIB], [gtk+-2.0], [>= 2.10.0], [Gtk+2], [See http://www.gtk.org/])
 AC_DEFUN([AUD_CHECK_MODULE], [
     PKG_CHECK_MODULES([$1], [$2 $3], [
@@ -34,7 +38,10 @@
 ])
 
 
-dnl ** Simplifying wrapper
+dnl ** AUD_CONDITIONAL([symbol], [variable to test][, value])
+dnl ** Simplifying wrapper for AM_CONDITIONAL.
+dnl **
+dnl ** AUD_CONDITIONAL([FOO], [foo])
 AC_DEFUN([AUD_CONDITIONAL],
 [if test "x${$2}" = m4_ifval([$3], ["x$3"],["xyes"]) ; then
     $1="yes"
@@ -48,8 +55,9 @@
 dnl ** Simple wrapper for AC_ARG_ENABLE
 dnl ** AUD_ARG_ENABLE([name], [default value], [help string], [if enabled], [if disabled])
 AC_DEFUN([AUD_ARG_ENABLE], [dnl
-    define([Name], [translit([$1], [./-], [___])])
-    AC_ARG_ENABLE([$1], [$3],, [enable_[]Name=$2])
+define([Name], [translit([$1], [./-], [___])])dnl
+define([cBasce], [ifelse([$2],[yes],[Disable],[Enable]) $3 (def: ifelse([$2],[yes],[enabled],[disabled]))])dnl
+    AC_ARG_ENABLE([$1], [AS_HELP_STRING([ifelse([$2],[yes],[--disable-$1],[--enable-$1])], cBasce)],, [enable_[]Name=$2])
     if test "x${enable_[]Name}" = "xyes"; then
         m4_ifvaln([$4], [$4], [:])dnl
         m4_ifvaln([$5], [else $5])dnl
@@ -58,8 +66,9 @@
 
 
 AC_DEFUN([AUD_ARG_SIMPLE], [dnl
-    define([Name], [translit([$1], [./-], [___])])
-    AC_ARG_ENABLE([$1], [$3],, [enable_[]Name=$2])
+define([Name], [translit([$1], [./-], [___])])dnl
+define([cBasce], [ifelse([$2],[yes],[Disable],[Enable]) $3 (def: ifelse([$2],[yes],[enabled],[disabled]))])dnl
+    AC_ARG_ENABLE([$1], [AS_HELP_STRING([ifelse([$2],[yes],[--disable-$1],[--enable-$1])], cBasce)],, [enable_[]Name=$2])
     if test "x${enable_[]Name}" = "xyes"; then
         AC_DEFINE([$4], [$5], [$6])
     fi
@@ -97,12 +106,12 @@
     else
         AC_MSG_ERROR([** GNU make not found. If it is installed, try setting MAKE environment variable. **])
     fi
-    AC_SUBST([MAKE])
-])
+    AC_SUBST([MAKE])dnl
+])dnl
 
 
 dnl *** Define plugin directories
-AC_DEFUN([AUD_DEFINE_PLUGIN_DIR],[
+AC_DEFUN([AUD_DEFINE_PLUGIN_DIR],[dnl
 define([Name], [translit([$1], [a-z], [A-Z])])dnl
 if test "x$enable_one_plugin_dir" = "xyes"; then
 ifdef([aud_plugin_dirs_defined],[],
@@ -121,7 +130,7 @@
 
 
 dnl *** Get plugin directories
-AC_DEFUN([AUD_GET_PLUGIN_DIR],[
+AC_DEFUN([AUD_GET_PLUGIN_DIR],[dnl
 define([Name], [translit([$1_plugin_dir], [A-Z], [a-z])])dnl
 define([BigName], [translit([$1], [a-z], [A-Z])])dnl
 ifdef([aud_get_plugin_dirs_defined],
@@ -134,9 +143,9 @@
 
 
 
-dnl ***
-dnl *** Common checks
-dnl ***
+dnl **
+dnl ** Common checks
+dnl **
 AC_DEFUN([AUD_COMMON_PROGS], [
 
 dnl Check for C and C++ compilers
@@ -187,8 +196,7 @@
 
 dnl SSE2 support
 dnl ============
-AUD_ARG_ENABLE([sse2], [yes],
-[  --disable-sse2               Disable SSE2 support (def: enabled)],
+AUD_ARG_ENABLE([sse2], [yes], [SSE2 support],
 [
     AC_MSG_CHECKING([SSE2 support])
     aud_my_save_CFLAGS="$CFLAGS"
@@ -214,8 +222,7 @@
 
 dnl AltiVec support 
 dnl ===============
-AUD_ARG_ENABLE([altivec], [yes],
-[  --disable-altivec            Disable AltiVec support (def: enabled)],
+AUD_ARG_ENABLE([altivec], [yes], [AltiVec support],
 [
     AC_CHECK_HEADERS([altivec.h],
     [
@@ -230,3 +237,93 @@
 ])    
 
 ])
+
+
+dnl **
+dnl ** Plugin helper macros
+dnl **
+
+dnl ** Unconditionally add a plugin to "build these" list
+AC_DEFUN([AUD_PLUGIN_ADD], [dnl
+define([Name], [translit([$1], [A-Z./-], [a-z___])])dnl
+have_[]Name="yes"; res_short_[]Name="$1"
+res_desc_[]Name="$3"; ifdef([aud_def_plugin_$2], [$2[]_PLUGINS="${$2[]_PLUGINS} $1"], [$2[]_PLUGINS="$1"])dnl
+define([aud_def_plugin_$2],[1])dnl
+])
+
+
+dnl ** Generic template for macros below
+AC_DEFUN([AUD_PLUGIN_CHK], [dnl
+define([cBasce], [ifelse([$3],[yes],[Disable],[Enable]) $5 (def: ifelse([$3],[yes],[enabled],[disabled]))])dnl
+AC_ARG_ENABLE([$1], [AS_HELP_STRING([ifelse([$3],[yes],[--disable-$1],[--enable-$1])], cBasce)],, [enable_$2="$3"])dnl
+    have_$2="no"
+    if test "x${enable_$2}" = "xyes"; then
+        m4_ifvaln([$6], [$6], [:])
+        if test "x${have_$2}" = "xyes"; then
+            m4_ifvaln([$7], [$7], [:])dnl
+        else
+            res_msg_$2="(not found)"
+            m4_ifvaln([$8], [$8], [:])dnl
+        fi
+    else
+        res_msg_$2="(disabled)"
+        m4_ifvaln([$9], [$9], [:])dnl
+    fi
+])
+
+
+dnl ** Add a plugin based on --enable/--disable options
+AC_DEFUN([AUD_PLUGIN_CHECK_SIMPLE], [dnl
+define([cBasce], [ifelse([$2],[yes],[Disable],[Enable]) $6 (def: ifelse([$2],[yes],[enabled],[disabled]))])dnl
+AC_ARG_ENABLE([$1], [AS_HELP_STRING([ifelse([$2],[yes],[--disable-$1],[--enable-$1])], cBasce)],, [enable_$2="$3"])dnl
+    have_$2="no"
+    if test "x${enable_$2}" = "xyes"; then
+        m4_ifvaln([$6], [$6], [:])
+    else
+        res_msg_$2="(disabled)"
+        m4_ifvaln([$7], [$7], [:])dnl
+    fi
+])
+
+
+dnl ** Check and enable a plugin with a pkg-config check
+AC_DEFUN([AUD_PLUGIN_CHECK_PKG], [dnl
+define([Name], [translit([$1], [A-Z./-], [a-z___])])dnl
+define([BigN], [translit([$1], [a-z./-], [A-Z___])])dnl
+    AUD_PLUGIN_CHK([$1], Name, [$2], [$4], [$6], [dnl
+        PKG_CHECK_MODULES([]BigN, [$7], [have_[]Name[]="yes"], [have_[]Name[]="no"])
+    ], [
+    AUD_PLUGIN_ADD([$5], [$3])
+    m4_ifvaln([$8], [$8])
+    ], [$9], [$10])
+])
+
+
+dnl ** Check and enable a plugin with a header files check
+AC_DEFUN([AUD_PLUGIN_CHECK_HEADERS], [
+define([Name], [translit([$1], [A-Z./-], [a-z___])])dnl
+    AUD_PLUGIN_CHK([$1], Name, [$2], [$4], [$6], [
+        AC_CHECK_HEADERS([$7], [have_[]Name[]="yes"], [have_[]Name[]="no"])
+    ], [
+    AUD_PLUGIN_ADD([$5], [$3])
+    m4_ifvaln([$8], [$8])
+    ], [$9], [$10])
+])
+
+
+dnl ** Check and enable a plugin with a complex check
+AC_DEFUN([AUD_PLUGIN_CHECK_COMPLEX], [
+# CHECK_COMPLEX #1 : $1
+define([Name], [translit([$1], [A-Z./-], [a-z___])])dnl
+    AUD_PLUGIN_CHK([$1], Name, [$2], [$4], [$6], [
+# CHECK_COMPLEX #2 BEGIN
+        $7
+# CHECK_COMPLEX #2 END
+    ], [
+# CHECK_COMPLEX #3 BEGIN
+    AUD_PLUGIN_ADD([$5], [$3])
+    m4_ifvaln([$8], [$8])
+# CHECK_COMPLEX #3 END
+    ], [$9], [$10])
+# CHECK_COMPLEX #4 END
+])
--- a/configure.ac	Thu Jul 03 17:23:34 2008 +0300
+++ b/configure.ac	Thu Jul 03 17:37:11 2008 +0300
@@ -120,7 +120,7 @@
 
 dnl These plugins are always built.
 
-INPUT_PLUGINS="tonegen console sexypsf cue alac metronom vtx"
+INPUT_PLUGINS="tonegen console sexypsf psf2 cue alac metronom vtx"
 OUTPUT_PLUGINS="null"
 EFFECT_PLUGINS="audiocompress crystalizer ladspa voice_removal sndstretch stereo_plugin echo_plugin"
 GENERAL_PLUGINS="song_change alarm"
@@ -130,9 +130,9 @@
 
 dnl Check for Audacious
 
-PKG_CHECK_MODULES(AUDACIOUS, [audacious >= 1.5.0],
-    [ADD_PC_REQUIRES([audacious >= 1.5.0])],
-    [AC_MSG_ERROR([Cannot find Audacious 1.5.0 or later, have you installed audacious yet?])]
+PKG_CHECK_MODULES(AUDACIOUS, [audacious >= 1.9.0],
+    [ADD_PC_REQUIRES([audacious >= 1.9.0])],
+    [AC_MSG_ERROR([Cannot find Audacious 1.9.0 or later, have you installed audacious yet?])]
 )
 
 dnl Check for GTK/GLib/GThread/Pango/DBus
@@ -1259,6 +1259,16 @@
 )
 fi
 
+AC_ARG_ENABLE(streambrowser,
+    [  --disable-streambrowser       disable streambrowser general plugin (default=enabled) ],
+    [enable_streambrowser=$enableval],
+    [enable_streambrowser=yes]
+)
+
+if test "$enable_streambrowser" = "yes"; then
+   GENERAL_PLUGINS="$GENERAL_PLUGINS streambrowser"
+fi
+
 AM_CONDITIONAL(HAVE_CDROM, test "${ac_cv_header_linux_cdrom_h}" = "yes" || test "${ac_cv_header_sys_cdio_h}" = "yes")
 AM_CONDITIONAL(HAVE_LINUX_JOYSTICK,test "${ac_cv_header_linux_joystick_h}" = "yes")
 
@@ -1710,9 +1720,13 @@
 echo "  Tone Generator:                         yes"
 echo "  Ogg Vorbis (vorbis):                    $have_oggvorbis"
 echo "  Free Lossless Audio Codec (flacng):     $have_flacng"
-echo "  Commodore 64 audio (sid):               $have_sidplay"
+echo "  Commodore 64 audio (SID):               $have_sidplay $xs_have_sidplay2_api"
+echo "    -> libSIDPlay1 support:               $xs_have_sidplay1"
+echo "    -> libSIDPlay2 support:               $xs_have_sidplay2"
+echo "    -> distortion patched libSIDPlay2:    $xs_have_distortion"
 echo "  Game music (spc, nsf & gbs):            yes"
 echo "  PlayStation audio (sexypsf):            yes"
+echo "  PlayStation2 audio (psf2):              yes"
 echo "  AdLib synthesizer (adplug):             $have_adplug"
 echo "  Apple Lossless Audio Codec (alac):      yes"
 echo "  WavPack 4.31+ (wavpack):                $have_wavpack"
@@ -1735,6 +1749,7 @@
 echo "  Upload to MTP device:                   $have_mtp_up"
 echo "  Bluetooth audio support:                $have_bluetooth"
 echo "  MacOS Dock Album Art plugin:            $have_dockalbumart"
+echo "  Streambrowser:                          $enable_streambrowser"
 echo
 echo "  Effect"
 echo "  ------"
--- a/m4/libmad.m4	Thu Jul 03 17:23:34 2008 +0300
+++ b/m4/libmad.m4	Thu Jul 03 17:37:11 2008 +0300
@@ -8,10 +8,21 @@
 [dnl 
 dnl Get the cflags and libraries
 dnl
-AC_ARG_WITH(libmad,[  --with-libmad=PFX   Prefix where libmad is installed (optional)], libmad_prefix="$withval", libmad_prefix="")
-AC_ARG_WITH(libmad-libraries,[  --with-libmad-libraries=DIR   Directory where libmad library is installed (optional)], libmad_libraries="$withval", libmad_libraries="")
-AC_ARG_WITH(libmad-includes,[  --with-libmad-includes=DIR   Directory where libmad header files are installed (optional)], libmad_includes="$withval", libmad_includes="")
-AC_ARG_ENABLE(libmadtest, [  --disable-libmadtest   do not try to compile and run a test libmad program],, enable_libmadtest=yes)
+AC_ARG_WITH([libmad],
+[AS_HELP_STRING([--with-libmad=PFX], [Prefix where libmad is installed])],
+[libmad_prefix="$withval"], [libmad_prefix=""])
+
+AC_ARG_WITH([libmad-libraries],
+[AS_HELP_STRING([--with-libmad-libraries=DIR], [Directory where libmad library is installed])],
+[libmad_libraries="$withval"], [libmad_libraries=""])
+
+AC_ARG_WITH([libmad-includes],
+[AS_HELP_STRING([--with-libmad-includes=DIR], [Directory where libmad header files are installed])],
+[libmad_includes="$withval"], [libmad_includes=""])
+
+AC_ARG_ENABLE([libmadtest],
+[AS_HELP_STRING([--disable-libmadtest], [Do not try to compile and run a test libmad program])],,
+[enable_libmadtest="yes"])
 
   if test "x$libmad_libraries" != "x" ; then
     MAD_LIBS="-L$libmad_libraries"
@@ -44,7 +55,7 @@
 dnl
 dnl Now check if the installed libmad is sufficiently new.
 dnl
-      AC_MSG_CHECKING(for libmad)
+      AC_MSG_CHECKING([for libmad])
       rm -f conf.libmadtest
       AC_TRY_RUN([
 #include <stdio.h>
@@ -60,16 +71,16 @@
   return 0;
 }
 
-],, no_libmad=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
+],, [no_libmad="yes"],[echo $ac_n "cross compiling; assumed OK... $ac_c"])
        CFLAGS="$ac_save_CFLAGS"
        LIBS="$ac_save_LIBS"
   fi
 
   if test "x$no_libmad" = "x" ; then
-     AC_MSG_RESULT(yes)
+     AC_MSG_RESULT([yes])
      ifelse([$1], , :, [$1])     
   else
-     AC_MSG_RESULT(no)
+     AC_MSG_RESULT([no])
      if test -f conf.libmadtest ; then
        :
      else
@@ -99,7 +110,7 @@
      MAD_LIBS=""
      ifelse([$2], , :, [$2])
   fi
-  AC_SUBST(MAD_CFLAGS)
-  AC_SUBST(MAD_LIBS)
+  AC_SUBST([MAD_CFLAGS])
+  AC_SUBST([MAD_LIBS])
   rm -f conf.libmadtest
 ])
--- a/m4/pkg.m4	Thu Jul 03 17:23:34 2008 +0300
+++ b/m4/pkg.m4	Thu Jul 03 17:37:11 2008 +0300
@@ -35,6 +35,11 @@
 	AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
 	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version ; then
 		AC_MSG_RESULT([yes])
+		if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+		        _pkg_short_errors_supported=yes
+		else
+		        _pkg_short_errors_supported=no
+		fi
 	else
 		AC_MSG_RESULT([no])
 		PKG_CONFIG=""
@@ -62,35 +67,29 @@
   $3])dnl
 fi])
 
-
-# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
+# _PKG_CONFIG([VARIABLE], [MODULES])
 # ---------------------------------------------
 m4_define([_PKG_CONFIG],
 [if test "x$PKG_CONFIG" != "x"; then
-    if test "x$$1" != "x"; then
-        pkg_cv_[]$1="$$1"
+    if AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$2"]); then
+        if test "x${$1[]_CFLAGS}" != "x"; then
+            pkg_cv_[]$1[]_CFLAGS="${$1[]_CFLAGS}"
+        else
+            pkg_cv_[]$1[]_CFLAGS=`$PKG_CONFIG --cflags "$2" 2>/dev/null`
+        fi
+        if test "x${$1[]_LIBS}" != "x"; then
+            pkg_cv_[]$1[]_LIBS="${$1_LIBS}"
+        else
+            pkg_cv_[]$1[]_LIBS=`$PKG_CONFIG --libs "$2" 2>/dev/null`
+        fi
     else
-        PKG_CHECK_EXISTS([$3],
-                         [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
-			 [pkg_failed=yes])
+        pkg_failed="yes"
     fi
 else
-	pkg_failed=untried
+	pkg_failed="untried"
 fi[]dnl
 ])# _PKG_CONFIG
 
-# _PKG_SHORT_ERRORS_SUPPORTED
-# -----------------------------
-AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
-[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi[]dnl
-])# _PKG_SHORT_ERRORS_SUPPORTED
-
-
 # PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
 # [ACTION-IF-NOT-FOUND])
 #
@@ -105,27 +104,21 @@
 [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
 AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
 AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
-
 pkg_failed=no
 AC_MSG_CHECKING([for $1])
-
-_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
-_PKG_CONFIG([$1][_LIBS], [libs], [$2])
-
+_PKG_CONFIG([$1], [$2])
 m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
 and $1[]_LIBS to avoid the need to call pkg-config.
 See the pkg-config man page for more details.])
 
 if test "x$pkg_failed" = "xyes"; then
-        _PKG_SHORT_ERRORS_SUPPORTED
         if test "x$_pkg_short_errors_supported" = "xyes"; then
 	        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2" 2>&1`
         else 
 	        $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2" 2>&1`
         fi
-	# Put the nasty error message in config.log where it belongs
+	dnl Put the nasty error message in config.log where it belongs
 	echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
-
 	ifelse([$4], , [AC_MSG_ERROR(dnl
 [Package requirements ($2) were not met:
 
--- a/m4/sid.m4	Thu Jul 03 17:23:34 2008 +0300
+++ b/m4/sid.m4	Thu Jul 03 17:37:11 2008 +0300
@@ -10,13 +10,50 @@
 if test "x$xs_have_sidplay2" = "xyes"; then
 	AC_DEFINE([HAVE_SIDPLAY2])
 	AC_LANG_PUSH([C++])
+	
 	XS_BUILDERS_CHECK
 	XS_BUILDERS_FIND([reSID], [resid-builder], [resid.h], [ReSIDBuilder])
 	XS_BUILDERS_FIND([HardSID], [hardsid-builder], [hardsid.h], [HardSID])
-	AC_LANG_POP([C++])
 	if test "x$xs_builders_available" = "xno"; then
 		AC_MSG_ERROR([No builder modules were found in the sidbuilders directory!]);
 	fi
+	
+	dnl *** Check for new COMI API
+	AC_MSG_CHECKING([libSIDPlay2 API style])
+	tmp_CPPFLAGS="$CPPFLAGS"
+	if test -d "$xs_sidplay2_includes"; then
+		CPPFLAGS="$CPPFLAGS -I${xs_sidplay2_includes}"
+	fi
+	AC_EGREP_HEADER([SIDIID], [sidplay/sidplay2.h],
+		[xs_have_sidplay2_api="yes"],
+		[xs_have_sidplay2_api="(old style API)"]
+	)
+	if test "x$xs_have_sidplay2_api" = "xyes"; then
+	AC_LINK_IFELSE([
+		AC_LANG_PROGRAM(
+		[#include <sidplay/sidunknown.h>],
+		[ISidUnknown *i;])
+	], [
+		xs_have_sidplay2_api="(new COMI style API)"
+		AC_DEFINE([HAVE_SIDPLAY2_COMI], [1], [Define if using new libSIDPlay2 with COM-style API.])
+	],[
+		xs_have_sidplay2_api="(broken version!)"
+	])
+	fi
+	AC_MSG_RESULT([$xs_have_sidplay2_api])
+	
+	AC_LANG_POP([C++])
+	
+	dnl *** Check for distortion patch
+	AC_MSG_CHECKING([libSIDPlay2+reSID distortion patch])
+	AC_EGREP_HEADER([minimumfetresistance], [sidplay/sidtypes.h], [
+		xs_have_distortion="yes"
+		AC_DEFINE([HAVE_SIDPLAY2_DISTORTION], [1], [Define if using libSIDPlay+reSID with Antti Lankila's distortion patches.])
+	],[
+		xs_have_distortion="no"
+	])
+	AC_MSG_RESULT([$xs_have_distortion])
+	CPPFLAGS="$tmp_CPPFLAGS"
 fi
 
 if test "x$xs_have_sidplay1" = "xyes" || test "x$xs_have_sidplay2" = "xyes"; then
--- a/m4/sidplay.m4	Thu Jul 03 17:23:34 2008 +0300
+++ b/m4/sidplay.m4	Thu Jul 03 17:37:11 2008 +0300
@@ -74,9 +74,10 @@
 AC_DEFUN([XS_ARG_WITH], [dnl
 # xs_arg_with ( $1:$2:$3 )
     define([Name], [translit([$1], [a-z], [A-Z])])dnl
+    define([roflCopter], [Enable $2 with install-PREFIX])dnl
     AH_TEMPLATE(HAVE_[]Name, [Define if you have and want to use $2])dnl
     AC_ARG_WITH([$1],
-        [  --with-$1=PREFIX   Enable $2 with install-PREFIX], [dnl
+        [AS_HELP_STRING([--with-$1=PREFIX], roflCopter)], [dnl
         if test "x$withval" = "xyes"; then
             xs_use_$1="yes"
             xs_$1_library=""
@@ -95,11 +96,13 @@
         xs_$1_library=""
         xs_$1_includes=""
     ])dnl
+    define([roflCopter], [Where the $2 headers are located])dnl
     AC_ARG_WITH([$1-inc],
-    [  --with-$1-inc=DIR    Where the $2 headers are located],
+    [AS_HELP_STRING([--with-$1-inc=DIR], roflCopter)],
     [xs_$1_includes="$withval"])dnl
+    define([roflCopter], [Where the $2 library is installed])dnl
     AC_ARG_WITH([$1-lib],
-    [  --with-$1-lib=DIR    Where the $2 library is installed],
+    [AS_HELP_STRING([--with-$1-lib=DIR], roflCopter)],
     [xs_$1_library="$withval"])dnl
 
     dnl Okay, handle this
@@ -327,16 +330,16 @@
     fi
 
     AC_ARG_WITH([sidbuilders],
-        [  --with-sidbuilders=DIR  what the SIDPlay2 builders install PREFIX is],
+        [AS_HELP_STRING([--with-sidbuilders=DIR], [What the SIDPlay2 builders install PREFIX is])],
         [builders_includedir="$withval/include"
          builders_libdir="$withval/lib/sidplay/builders"])
 
     AC_ARG_WITH([builders-inc],
-        [  --with-builders-inc=DIR where the SIDPlay2 builders headers are located],
+        [AS_HELP_STRING([--with-builders-inc=DIR], [Where the SIDPlay2 builders headers are located])],
         [builders_includedir="$withval"])
 
     AC_ARG_WITH([builders-lib],
-        [  --with-builders-lib=DIR where the SIDPlay2 builders libraries are installed],
+        [AS_HELP_STRING([--with-builders-lib=DIR], [Where the SIDPlay2 builders libraries are installed])],
         [builders_libdir="$withval"])
     
     if test "x$builders_includedir" != "x"; then
--- a/po/POTFILES.in	Thu Jul 03 17:23:34 2008 +0300
+++ b/po/POTFILES.in	Thu Jul 03 17:37:11 2008 +0300
@@ -57,6 +57,7 @@
 src/console/Vfs_File.cxx
 src/console/Vgm_Emu.cxx
 src/console/Ym2612_Emu.cxx
+src/crystalizer/crystalizer.c
 src/demac/plugin.c
 src/echo_plugin/gui.c
 src/esd/about.c
@@ -88,10 +89,10 @@
 src/mtp_up/mtp.c
 src/musepack/libmpc.cxx
 src/null/null.c
-src/OSS4/about.c
 src/OSS4/configure.c
-src/OSS/about.c
+src/OSS4/OSS4.c
 src/OSS/configure.c
+src/OSS/OSS.c
 src/paranormal-ng/plugin.c
 src/paranormal/plugin.c
 src/projectm-1.0/main.c
@@ -101,18 +102,20 @@
 src/scrobbler/gtkstuff.c
 src/scrobbler/plugin.c
 src/scrobbler/scrobbler.c
-src/sid/xmms-sid.c
 src/sid/xmms-sid.glade
 src/sid/xs_about.c
-src/sid/xs_config.c
 src/sid/xs_fileinfo.c
 src/sid/xs_glade.c
 src/sid/xs_interface.c
-src/sid/xs_length.c
-src/sid/xs_sidplay1.cc
-src/sid/xs_sidplay2.cc
-src/sid/xs_slsup.c
-src/sid/xs_stil.c
+src/skins/plugin.c
+src/skins/skins_cfg.c
+src/skins/ui_equalizer.c
+src/skins/ui_main.c
+src/skins/ui_manager.c
+src/skins/ui_playlist.c
+src/skins/ui_skinned_equalizer_slider.c
+src/skins/ui_skinselector.c
+src/skins/util.c
 src/sndfile/plugin.c
 src/sndstretch/sndstretch_xmms.c
 src/song_change/song_change.c
--- a/po/audacious-plugins.pot	Thu Jul 03 17:23:34 2008 +0300
+++ b/po/audacious-plugins.pot	Thu Jul 03 17:37:11 2008 +0300
@@ -7,8 +7,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: http://bugs.audacious-media-player.org\n"
-"POT-Creation-Date: 2008-03-30 17:25+0200\n"
+"Report-Msgid-Bugs-To: http://bugzilla.atheme.org/\n"
+"POT-Creation-Date: 2008-06-21 08:27+0300\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,49 +16,49 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: src/aac/libmp4.c:286
+#: src/aac/libmp4.c:283
 msgid "Using libfaad2-"
 msgstr ""
 
-#: src/aac/libmp4.c:287
+#: src/aac/libmp4.c:284
 msgid ""
 " for decoding.\n"
 "FAAD2 AAC/HE-AAC/HE-AACv2/DRM decoder (c) Nero AG, www.nero.com\n"
 "Copyright (c) 2005-2006 Audacious team"
 msgstr ""
 
-#: src/aac/libmp4.c:291
+#: src/aac/libmp4.c:288
 msgid "About MP4 AAC player plugin"
 msgstr ""
 
-#: src/aac/libmp4.c:293 src/adplug/adplug-xmms.cc:182
-#: src/adplug/adplug-xmms.cc:265 src/adplug/adplug-xmms.cc:526
-#: src/alac/plugin.c:77 src/arts/arts.c:26 src/arts/configure.c:90
-#: src/audiocompress/audacious-glue.c:102
-#: src/audiocompress/audacious-glue.c:552 src/cdaudio-ng/configure.c:228
-#: src/console/Audacious_Driver.cxx:449 src/demac/plugin.c:393
-#: src/echo_plugin/gui.c:26 src/echo_plugin/gui.c:137 src/esd/about.c:49
-#: src/filewriter/filewriter.c:183 src/jack/configure.c:141
-#: src/jack/jack.c:456 src/madplug/plugin.c:542 src/madplug/plugin.c:566
-#: src/metronom/metronom.c:88 src/modplug/gui/main.cxx:49
-#: src/musepack/libmpc.cxx:232 src/null/null.c:67 src/null/null.c:110
-#: src/OSS4/about.c:59 src/OSS/about.c:54 src/paranormal-ng/plugin.c:283
-#: src/paranormal/plugin.c:291 src/scrobbler/gtkstuff.c:25
-#: src/sndfile/plugin.c:565 src/statusicon/si_ui.c:628
-#: src/stereo_plugin/stereo.c:53 src/stereo_plugin/stereo.c:116
-#: src/sun/about.c:38 src/sun/configure.c:559 src/timidity/interface.c:222
-#: src/timidity/xmms-timidity.c:120 src/tonegen/tonegen.c:62
-#: src/tta/libtta.c:153 src/tta/libtta.c:267 src/tta/libtta.c:402
-#: src/vorbis/vorbis.c:700 src/vtx/about.c:32 src/vtx/info.c:43
-#: src/wavpack/ui.cxx:56 src/wavpack/ui.cxx:556
+#: src/aac/libmp4.c:290 src/adplug/adplug-xmms.cc:180
+#: src/adplug/adplug-xmms.cc:263 src/adplug/adplug-xmms.cc:524
+#: src/alac/plugin.c:74 src/arts/arts.c:25 src/arts/configure.c:90
+#: src/audiocompress/audacious-glue.c:110
+#: src/audiocompress/audacious-glue.c:560 src/cdaudio-ng/configure.c:242
+#: src/console/Audacious_Driver.cxx:447 src/crystalizer/crystalizer.c:113
+#: src/demac/plugin.c:364 src/echo_plugin/gui.c:24 src/echo_plugin/gui.c:135
+#: src/esd/about.c:48 src/filewriter/filewriter.c:183 src/jack/configure.c:140
+#: src/jack/jack.c:454 src/madplug/plugin.c:679 src/madplug/plugin.c:703
+#: src/metronom/metronom.c:87 src/modplug/gui/main.cxx:52
+#: src/musepack/libmpc.cxx:228 src/null/null.c:64 src/null/null.c:107
+#: src/OSS4/OSS4.c:55 src/OSS/OSS.c:52 src/paranormal-ng/plugin.c:282
+#: src/paranormal/plugin.c:290 src/scrobbler/gtkstuff.c:22
+#: src/sndfile/plugin.c:571 src/statusicon/si_ui.c:626
+#: src/stereo_plugin/stereo.c:52 src/stereo_plugin/stereo.c:115
+#: src/sun/about.c:37 src/sun/configure.c:557 src/timidity/interface.c:222
+#: src/timidity/xmms-timidity.c:117 src/tonegen/tonegen.c:61
+#: src/tta/libtta.c:150 src/tta/libtta.c:264 src/tta/libtta.c:399
+#: src/vorbis/vorbis.c:696 src/vtx/about.c:26 src/vtx/info.c:38
+#: src/wavpack/ui.cxx:54 src/wavpack/ui.cxx:554
 msgid "Ok"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:171
+#: src/adplug/adplug-xmms.cc:169
 msgid "About "
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:175
+#: src/adplug/adplug-xmms.cc:173
 msgid ""
 "\n"
 "Copyright (C) 2002, 2003 Simon Peter <dn.tlp@gmx.net>\n"
@@ -71,195 +71,195 @@
 "Linked AdPlug library version: "
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:256
+#: src/adplug/adplug-xmms.cc:254
 msgid "AdPlug :: Configuration"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:275 src/alarm/interface.c:1398
+#: src/adplug/adplug-xmms.cc:273 src/alarm/interface.c:1398
 #: src/alsa/configure.c:389 src/arts/configure.c:91
-#: src/audiocompress/audacious-glue.c:557 src/cdaudio-ng/configure.c:232
-#: src/echo_plugin/gui.c:145 src/jack/configure.c:148
-#: src/modplug/gui/interface.cxx:714 src/modplug/gui/modplug.glade:1668
-#: src/musepack/libmpc.cxx:237 src/musepack/libmpc.cxx:557 src/null/null.c:111
-#: src/sid/xmms-sid.glade:3080 src/sid/xs_interface.c:1250
-#: src/stereo_plugin/stereo.c:125 src/sun/configure.c:567
-#: src/timidity/interface.c:230 src/wavpack/ui.cxx:280 src/wavpack/ui.cxx:563
+#: src/audiocompress/audacious-glue.c:565 src/cdaudio-ng/configure.c:246
+#: src/crystalizer/crystalizer.c:122 src/echo_plugin/gui.c:143
+#: src/jack/configure.c:147 src/modplug/gui/interface.cxx:714
+#: src/modplug/gui/modplug.glade:1668 src/musepack/libmpc.cxx:233
+#: src/musepack/libmpc.cxx:553 src/null/null.c:108
+#: src/stereo_plugin/stereo.c:124 src/sun/configure.c:565
+#: src/timidity/interface.c:230 src/wavpack/ui.cxx:278 src/wavpack/ui.cxx:561
 msgid "Cancel"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:291 src/console/Audacious_Config.cxx:145
-#: src/madplug/configure.c:290 src/modplug/gui/interface.cxx:628
+#: src/adplug/adplug-xmms.cc:289 src/console/Audacious_Config.cxx:144
+#: src/madplug/configure.c:289 src/modplug/gui/interface.cxx:628
 #: src/modplug/gui/interface.cxx:887 src/modplug/gui/modplug.glade:1404
 #: src/modplug/gui/modplug.glade:1804
 msgid "General"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:303
+#: src/adplug/adplug-xmms.cc:301
 msgid "Sound quality"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:308 src/modplug/gui/interface.cxx:187
+#: src/adplug/adplug-xmms.cc:306 src/modplug/gui/interface.cxx:187
 #: src/modplug/gui/modplug.glade:113
 msgid "Resolution"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:310
+#: src/adplug/adplug-xmms.cc:308
 msgid "8bit"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:315
+#: src/adplug/adplug-xmms.cc:313
 msgid "16bit"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:323 src/modplug/gui/interface.cxx:218
+#: src/adplug/adplug-xmms.cc:321 src/modplug/gui/interface.cxx:218
 #: src/modplug/gui/modplug.glade:199 src/timidity/interface.c:148
 msgid "Channels"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:325 src/filewriter/mp3.c:900
-#: src/sid/xmms-sid.glade:157 src/sid/xs_interface.c:288
+#: src/adplug/adplug-xmms.cc:323 src/filewriter/mp3.c:900
+#: src/sid/xmms-sid.glade:157 src/sid/xs_interface.c:300
 #: src/timidity/interface.c:165
 msgid "Mono"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:330 src/filewriter/mp3.c:895
+#: src/adplug/adplug-xmms.cc:328 src/filewriter/mp3.c:895
 #: src/modplug/gui/interface.cxx:204 src/modplug/gui/modplug.glade:159
-#: src/sid/xmms-sid.glade:176 src/sid/xs_interface.c:295
+#: src/sid/xmms-sid.glade:176 src/sid/xs_interface.c:307
 #: src/timidity/interface.c:173
 msgid "Stereo"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:334
+#: src/adplug/adplug-xmms.cc:332
 msgid ""
 "Setting stereo is not recommended, unless you need to. This won't add any "
 "stereo effects to the sound - OPL2 is just mono - but eats up more CPU power!"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:342
+#: src/adplug/adplug-xmms.cc:340
 msgid "Frequency"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:378 src/adplug/adplug-xmms.cc:582
-#: src/console/Audacious_Config.cxx:147
+#: src/adplug/adplug-xmms.cc:376 src/adplug/adplug-xmms.cc:580
+#: src/console/Audacious_Config.cxx:146 src/skins/ui_manager.c:175
 msgid "Playback"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:382
+#: src/adplug/adplug-xmms.cc:380
 msgid "Detect songend"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:386
+#: src/adplug/adplug-xmms.cc:384
 msgid ""
 "If enabled, XMMS will detect a song's ending, stop it and advance in the "
 "playlist. If disabled, XMMS won't take notice of a song's ending and loop it "
 "all over again and again."
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:397
+#: src/adplug/adplug-xmms.cc:395
 msgid "Formats"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:404
+#: src/adplug/adplug-xmms.cc:402
 msgid "Format selection"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:407
+#: src/adplug/adplug-xmms.cc:405
 msgid "Format"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:407
+#: src/adplug/adplug-xmms.cc:405
 msgid "Extension"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:447
+#: src/adplug/adplug-xmms.cc:445
 msgid ""
 "Selected file types will be recognized and played back by this plugin. "
 "Deselected types will be ignored to make room for other plugins to play "
 "these files."
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:533
+#: src/adplug/adplug-xmms.cc:531
 msgid "AdPlug :: File Info"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:555 src/amidi-plug/i_configure-fluidsynth.c:448
+#: src/adplug/adplug-xmms.cc:553 src/amidi-plug/i_configure-fluidsynth.c:448
 msgid "Filename"
 msgstr ""
 
+#: src/adplug/adplug-xmms.cc:557 src/skins/ui_playlist.c:470
+msgid "Title: "
+msgstr ""
+
+#: src/adplug/adplug-xmms.cc:558
+msgid "Author: "
+msgstr ""
+
 #: src/adplug/adplug-xmms.cc:559
-msgid "Title: "
+msgid "File Type: "
 msgstr ""
 
 #: src/adplug/adplug-xmms.cc:560
-msgid "Author: "
+msgid "Subsongs: "
 msgstr ""
 
 #: src/adplug/adplug-xmms.cc:561
-msgid "File Type: "
-msgstr ""
-
-#: src/adplug/adplug-xmms.cc:562
-msgid "Subsongs: "
-msgstr ""
-
-#: src/adplug/adplug-xmms.cc:563
 msgid "Instruments: "
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:568
+#: src/adplug/adplug-xmms.cc:566
 msgid "Orders: "
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:569
+#: src/adplug/adplug-xmms.cc:567
 msgid "Patterns: "
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:573
+#: src/adplug/adplug-xmms.cc:571
 msgid "Song"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:599
+#: src/adplug/adplug-xmms.cc:597
 msgid "Instrument name"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:641
+#: src/adplug/adplug-xmms.cc:639
 msgid "Song message"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:663
+#: src/adplug/adplug-xmms.cc:661
 msgid "Subsong selection"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:727
+#: src/adplug/adplug-xmms.cc:725
 msgid "Order: "
 msgstr ""
 
+#: src/adplug/adplug-xmms.cc:726
+msgid "Pattern: "
+msgstr ""
+
 #: src/adplug/adplug-xmms.cc:728
-msgid "Pattern: "
+msgid "Row: "
+msgstr ""
+
+#: src/adplug/adplug-xmms.cc:729
+msgid "Speed: "
 msgstr ""
 
 #: src/adplug/adplug-xmms.cc:730
-msgid "Row: "
-msgstr ""
-
-#: src/adplug/adplug-xmms.cc:731
-msgid "Speed: "
-msgstr ""
-
-#: src/adplug/adplug-xmms.cc:732
 msgid "Timer: "
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:733 src/console/Audacious_Config.cxx:225
-#: src/sid/xmms-sid.glade:332 src/sid/xs_interface.c:341
+#: src/adplug/adplug-xmms.cc:731 src/console/Audacious_Config.cxx:224
+#: src/sid/xmms-sid.glade:332 src/sid/xs_interface.c:353
 msgid "Hz"
 msgstr ""
 
-#: src/alac/plugin.c:74
+#: src/alac/plugin.c:71
 msgid "About Apple Lossless Audio Plugin"
 msgstr ""
 
-#: src/alac/plugin.c:75
+#: src/alac/plugin.c:72
 msgid ""
 "Copyright (c) 2006 Audacious team\n"
 "Portions (c) 2005-2006 David Hammerton <crazney -at- crazney.net>"
@@ -287,8 +287,8 @@
 
 #: src/alarm/interface.c:71 src/lirc/about.c:115
 #: src/modplug/gui/interface.cxx:971 src/modplug/gui/modplug.glade:2030
-#: src/sid/xmms-sid.glade:3643 src/sid/xs_about.c:214
-#: src/sid/xs_interface.c:1740
+#: src/sid/xmms-sid.glade:3837 src/sid/xs_about.c:214
+#: src/sid/xs_interface.c:1824
 msgid "Close"
 msgstr ""
 
@@ -300,13 +300,12 @@
 msgid "This is your wakeup call."
 msgstr ""
 
-#: src/alarm/interface.c:124 src/alarm/interface.c:1389 src/alsa/about.c:46
+#: src/alarm/interface.c:124 src/alarm/interface.c:1389 src/alsa/about.c:45
 #: src/alsa/configure.c:383 src/cdaudio-ng/cdaudio-ng.c:247
-#: src/flacng/plugin.c:706 src/gnomeshortcuts/gnomeshortcuts.c:311
-#: src/hotkey/gui.c:671 src/modplug/gui/interface.cxx:702
-#: src/modplug/gui/modplug.glade:1642 src/pulse_audio/pulse_audio.c:738
-#: src/scrobbler/gtkstuff.c:45 src/sid/xmms-sid.glade:3066
-#: src/sid/xs_interface.c:1243
+#: src/flacng/plugin.c:705 src/gnomeshortcuts/gnomeshortcuts.c:310
+#: src/hotkey/gui.c:670 src/modplug/gui/interface.cxx:702
+#: src/modplug/gui/modplug.glade:1642 src/pulse_audio/pulse_audio.c:736
+#: src/scrobbler/gtkstuff.c:42 src/skins/plugin.c:130
 msgid "OK"
 msgstr ""
 
@@ -375,7 +374,8 @@
 #: src/alarm/interface.c:612 src/alarm/interface.c:660
 #: src/alarm/interface.c:708 src/alarm/interface.c:756
 #: src/alarm/interface.c:804 src/alarm/interface.c:852
-#: src/alarm/interface.c:900 src/OSS4/configure.c:138 src/OSS/configure.c:169
+#: src/alarm/interface.c:900 src/OSS4/configure.c:136 src/OSS/configure.c:168
+#: src/skins/ui_manager.c:447 src/skins/ui_manager.c:468
 msgid "Default"
 msgstr ""
 
@@ -420,9 +420,9 @@
 msgstr ""
 
 #: src/alarm/interface.c:1087 src/sid/xmms-sid.glade:2007
-#: src/sid/xmms-sid.glade:2178 src/sid/xmms-sid.glade:2676
-#: src/sid/xs_interface.c:908 src/sid/xs_interface.c:962
-#: src/sid/xs_interface.c:1122
+#: src/sid/xmms-sid.glade:2178 src/sid/xmms-sid.glade:2746
+#: src/sid/xs_interface.c:920 src/sid/xs_interface.c:974
+#: src/sid/xs_interface.c:1154
 msgid "seconds"
 msgstr ""
 
@@ -475,7 +475,7 @@
 msgid "Use reminder"
 msgstr ""
 
-#: src/alarm/interface.c:1328 src/sndstretch/sndstretch_xmms.c:377
+#: src/alarm/interface.c:1328 src/sndstretch/sndstretch_xmms.c:376
 msgid "Options"
 msgstr ""
 
@@ -538,7 +538,7 @@
 "    toggle button if you want it to be shown.\n"
 msgstr ""
 
-#: src/alarm/interface.c:1366
+#: src/alarm/interface.c:1366 src/skins/ui_manager.c:386
 msgid "Help"
 msgstr ""
 
@@ -550,11 +550,11 @@
 msgid "Thankyou"
 msgstr ""
 
-#: src/alsa/about.c:30
+#: src/alsa/about.c:29
 msgid "About ALSA Driver"
 msgstr ""
 
-#: src/alsa/about.c:31
+#: src/alsa/about.c:30
 msgid ""
 "Audacious ALSA Driver\n"
 "\n"
@@ -588,8 +588,8 @@
 msgid "ALSA Driver configuration"
 msgstr ""
 
-#: src/alsa/configure.c:274 src/OSS4/configure.c:186 src/OSS/configure.c:217
-#: src/sun/configure.c:183
+#: src/alsa/configure.c:274 src/OSS4/configure.c:184 src/OSS/configure.c:216
+#: src/sun/configure.c:181
 msgid "Audio device:"
 msgstr ""
 
@@ -601,7 +601,7 @@
 msgid "Mixer card:"
 msgstr ""
 
-#: src/alsa/configure.c:313 src/OSS/configure.c:260 src/sun/configure.c:220
+#: src/alsa/configure.c:313 src/OSS/configure.c:259 src/sun/configure.c:218
 msgid "Mixer device:"
 msgstr ""
 
@@ -1184,8 +1184,8 @@
 "backend</span>"
 msgstr ""
 
-#: src/amidi-plug/i_fileinfo.c:169 src/sid/xmms-sid.glade:3465
-#: src/sid/xs_interface.c:1684
+#: src/amidi-plug/i_fileinfo.c:169 src/sid/xmms-sid.glade:3659
+#: src/sid/xs_interface.c:1768
 msgid "Name:"
 msgstr ""
 
@@ -1288,46 +1288,46 @@
 msgid "None"
 msgstr ""
 
-#: src/aosd/aosd_trigger.c:75
+#: src/aosd/aosd_trigger.c:74
 msgid "Playback Start"
 msgstr ""
 
-#: src/aosd/aosd_trigger.c:76
+#: src/aosd/aosd_trigger.c:75
 msgid "Triggers OSD when a playlist entry is played."
 msgstr ""
 
+#: src/aosd/aosd_trigger.c:79
+msgid "Title Change"
+msgstr ""
+
 #: src/aosd/aosd_trigger.c:80
-msgid "Title Change"
-msgstr ""
-
-#: src/aosd/aosd_trigger.c:81
 msgid ""
 "Triggers OSD when, during playback, the song title changes but the filename "
 "is the same. This is mostly useful to display title changes in internet "
 "streams."
 msgstr ""
 
-#: src/aosd/aosd_trigger.c:87
+#: src/aosd/aosd_trigger.c:86
 msgid "Volume Change"
 msgstr ""
 
-#: src/aosd/aosd_trigger.c:88
+#: src/aosd/aosd_trigger.c:87
 msgid "Triggers OSD when volume is changed."
 msgstr ""
 
+#: src/aosd/aosd_trigger.c:91
+msgid "Pause On"
+msgstr ""
+
 #: src/aosd/aosd_trigger.c:92
-msgid "Pause On"
-msgstr ""
-
-#: src/aosd/aosd_trigger.c:93
 msgid "Triggers OSD when playback is paused."
 msgstr ""
 
+#: src/aosd/aosd_trigger.c:96
+msgid "Pause Off"
+msgstr ""
+
 #: src/aosd/aosd_trigger.c:97
-msgid "Pause Off"
-msgstr ""
-
-#: src/aosd/aosd_trigger.c:98
 msgid "Triggers OSD when playback is unpaused."
 msgstr ""
 
@@ -1426,10 +1426,10 @@
 msgid "Skin file:"
 msgstr ""
 
-#: src/aosd/aosd_ui.c:644 src/sid/xmms-sid.glade:2331
-#: src/sid/xmms-sid.glade:2856 src/sid/xmms-sid.glade:2962
-#: src/sid/xs_interface.c:1010 src/sid/xs_interface.c:1182
-#: src/sid/xs_interface.c:1218
+#: src/aosd/aosd_ui.c:644 src/sid/xmms-sid.glade:2373
+#: src/sid/xmms-sid.glade:2968 src/sid/xmms-sid.glade:3136
+#: src/sid/xs_interface.c:1043 src/sid/xs_interface.c:1235
+#: src/sid/xs_interface.c:1291
 msgid "Browse"
 msgstr ""
 
@@ -1509,9 +1509,9 @@
 msgid "Trigger"
 msgstr ""
 
-#: src/aosd/aosd_ui.c:1076 src/cdaudio-ng/configure.c:167
+#: src/aosd/aosd_ui.c:1076 src/cdaudio-ng/configure.c:175
 #: src/modplug/gui/interface.cxx:688 src/modplug/gui/modplug.glade:1603
-#: src/sid/xmms-sid.glade:3026 src/sid/xs_interface.c:1229
+#: src/sid/xmms-sid.glade:3220 src/sid/xs_interface.c:1301
 msgid "Misc"
 msgstr ""
 
@@ -1538,11 +1538,11 @@
 "\n"
 msgstr ""
 
-#: src/arts/arts.c:22
+#: src/arts/arts.c:21
 msgid "About aRts Output"
 msgstr ""
 
-#: src/arts/arts.c:23
+#: src/arts/arts.c:22
 msgid ""
 "aRts output plugin by Håvard Kvålen <havardk@xmms.org>\n"
 "Audacious port by Giacomo Lozito from develia.org"
@@ -1552,26 +1552,26 @@
 msgid "aRts Driver configuration"
 msgstr ""
 
-#: src/arts/configure.c:61 src/esd/configure.c:171 src/OSS4/configure.c:232
-#: src/OSS/configure.c:304 src/sun/configure.c:259
+#: src/arts/configure.c:61 src/esd/configure.c:171 src/OSS4/configure.c:230
+#: src/OSS/configure.c:303 src/sun/configure.c:257
 msgid "Buffering:"
 msgstr ""
 
-#: src/arts/configure.c:73 src/esd/configure.c:184 src/OSS4/configure.c:245
-#: src/OSS/configure.c:317 src/sun/configure.c:272
+#: src/arts/configure.c:73 src/esd/configure.c:184 src/OSS4/configure.c:243
+#: src/OSS/configure.c:316 src/sun/configure.c:270
 msgid "Buffer size (ms):"
 msgstr ""
 
-#: src/arts/configure.c:83 src/esd/configure.c:209 src/OSS4/configure.c:270
-#: src/OSS/configure.c:342 src/sun/configure.c:304
+#: src/arts/configure.c:83 src/esd/configure.c:209 src/OSS4/configure.c:268
+#: src/OSS/configure.c:341 src/sun/configure.c:302
 msgid "Buffering"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:95
+#: src/audiocompress/audacious-glue.c:103
 msgid "AudioCompress "
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:96
+#: src/audiocompress/audacious-glue.c:104
 msgid ""
 "\n"
 "(c)2003 trikuare studios(http://trikuare.cx)\n"
@@ -1581,108 +1581,108 @@
 "keeping the volume level more or less consistent"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:101
+#: src/audiocompress/audacious-glue.c:109
 msgid "About AudioCompress"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:320
-msgid ""
-"If checked, when the sound peaks the volume will be cut instantly; "
-"otherwise, it will ramp down just in time for the peak (but some minor "
-"clipping may still occur)."
-msgstr ""
-
-#: src/audiocompress/audacious-glue.c:324
-msgid "The maximum amount to amplify the audio by"
-msgstr ""
-
-#: src/audiocompress/audacious-glue.c:326
-msgid "Defines how smoothly the volume will ramp up"
-msgstr ""
-
 #: src/audiocompress/audacious-glue.c:328
 msgid ""
+"If checked, when the sound peaks the volume will be cut instantly; "
+"otherwise, it will ramp down just in time for the peak (but some minor "
+"clipping may still occur)."
+msgstr ""
+
+#: src/audiocompress/audacious-glue.c:332
+msgid "The maximum amount to amplify the audio by"
+msgstr ""
+
+#: src/audiocompress/audacious-glue.c:334
+msgid "Defines how smoothly the volume will ramp up"
+msgstr ""
+
+#: src/audiocompress/audacious-glue.c:336
+msgid ""
 "The target audio level for ramping up. Lowering the value gives a bit more "
 "dynamic range for peaks, but will make the overall sound quieter."
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:331
+#: src/audiocompress/audacious-glue.c:339
 msgid "How long of a window to maintain"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:372
+#: src/audiocompress/audacious-glue.c:380
 msgid "AudioCompress preferences"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:389
+#: src/audiocompress/audacious-glue.c:397
 msgid " Quality Options "
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:394
+#: src/audiocompress/audacious-glue.c:402
 msgid " Aggressively prevent clipping"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:406
+#: src/audiocompress/audacious-glue.c:414
 msgid " Target & gain"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:417
-msgid "Target audio level:"
-msgstr ""
-
 #: src/audiocompress/audacious-glue.c:425
-msgid "Maximum gain:"
+msgid "Target audio level:"
 msgstr ""
 
 #: src/audiocompress/audacious-glue.c:433
+msgid "Maximum gain:"
+msgstr ""
+
+#: src/audiocompress/audacious-glue.c:441
 msgid "Gain smooth:"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:485
+#: src/audiocompress/audacious-glue.c:493
 msgid " History "
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:517
+#: src/audiocompress/audacious-glue.c:525
 msgid ""
 "How long of a history to maintain.  A higher number will make the volume "
 "changes less responsive."
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:528
+#: src/audiocompress/audacious-glue.c:536
 msgid "Load default values"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:533
+#: src/audiocompress/audacious-glue.c:541
 msgid "Audio values"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:562 src/echo_plugin/gui.c:152
-#: src/modplug/gui/interface.cxx:708 src/modplug/gui/modplug.glade:1655
-#: src/stereo_plugin/stereo.c:132
+#: src/audiocompress/audacious-glue.c:570 src/crystalizer/crystalizer.c:129
+#: src/echo_plugin/gui.c:150 src/modplug/gui/interface.cxx:708
+#: src/modplug/gui/modplug.glade:1655 src/stereo_plugin/stereo.c:131
 msgid "Apply"
 msgstr ""
 
+#: src/blur_scope/blur_scope.c:52
+msgid "/Toggle Decorations"
+msgstr ""
+
 #: src/blur_scope/blur_scope.c:54
-msgid "/Toggle Decorations"
-msgstr ""
-
-#: src/blur_scope/blur_scope.c:56
 msgid "/-"
 msgstr ""
 
-#: src/blur_scope/blur_scope.c:57
+#: src/blur_scope/blur_scope.c:55
 msgid "/Close"
 msgstr ""
 
-#: src/blur_scope/blur_scope.c:181
+#: src/blur_scope/blur_scope.c:179
 msgid "Blur scope"
 msgstr ""
 
-#: src/blur_scope/config.c:72
+#: src/blur_scope/config.c:71
 msgid "Blur Scope: Color selection"
 msgstr ""
 
-#: src/blur_scope/config.c:82 src/jack/configure.c:108
+#: src/blur_scope/config.c:81 src/jack/configure.c:107
 msgid "Options:"
 msgstr ""
 
@@ -1711,115 +1711,119 @@
 "This was a Google Summer of Code 2007 project."
 msgstr ""
 
-#: src/cdaudio-ng/cdaudio-ng.c:814
+#: src/cdaudio-ng/cdaudio-ng.c:815
 msgid ""
 "<b><big>No playable CD found.</big></b>\n"
 "\n"
 "No CD inserted, or inserted CD is not an audio CD.\n"
 msgstr ""
 
-#: src/cdaudio-ng/configure.c:147
+#: src/cdaudio-ng/configure.c:155
 msgid "CD Audio Plugin Configuration"
 msgstr ""
 
-#: src/cdaudio-ng/configure.c:157
+#: src/cdaudio-ng/configure.c:165
 msgid "Digital audio extraction"
 msgstr ""
 
-#: src/cdaudio-ng/configure.c:162
+#: src/cdaudio-ng/configure.c:170
 msgid "Title information"
 msgstr ""
 
-#: src/cdaudio-ng/configure.c:179
+#: src/cdaudio-ng/configure.c:187
 msgid "Limit read speed to: "
 msgstr ""
 
-#: src/cdaudio-ng/configure.c:186
-msgid "Use cd-text if available"
-msgstr ""
-
-#: src/cdaudio-ng/configure.c:190
-msgid "Use CDDB if available"
-msgstr ""
-
 #: src/cdaudio-ng/configure.c:194
+msgid "Use cd-text if available"
+msgstr ""
+
+#: src/cdaudio-ng/configure.c:198
+msgid "Use CDDB if available"
+msgstr ""
+
+#: src/cdaudio-ng/configure.c:202
 msgid "Server: "
 msgstr ""
 
-#: src/cdaudio-ng/configure.c:197
+#: src/cdaudio-ng/configure.c:205
+msgid "Path: "
+msgstr ""
+
+#: src/cdaudio-ng/configure.c:208
 msgid "Port: "
 msgstr ""
 
-#: src/cdaudio-ng/configure.c:203
+#: src/cdaudio-ng/configure.c:217
 msgid "Use HTTP instead of CDDBP"
 msgstr ""
 
-#: src/cdaudio-ng/configure.c:211
+#: src/cdaudio-ng/configure.c:225
 msgid "Override default device: "
 msgstr ""
 
-#: src/cdaudio-ng/configure.c:218
+#: src/cdaudio-ng/configure.c:232
 msgid "Print debug information"
 msgstr ""
 
-#: src/console/Audacious_Config.cxx:125
+#: src/console/Audacious_Config.cxx:124
 msgid "Console Music Decoder"
 msgstr ""
 
-#: src/console/Audacious_Config.cxx:162
+#: src/console/Audacious_Config.cxx:161
 msgid "Bass:"
 msgstr ""
 
-#: src/console/Audacious_Config.cxx:166 src/console/Audacious_Config.cxx:177
-#: src/console/Audacious_Config.cxx:198
+#: src/console/Audacious_Config.cxx:165 src/console/Audacious_Config.cxx:176
+#: src/console/Audacious_Config.cxx:197
 msgid "secs"
 msgstr ""
 
-#: src/console/Audacious_Config.cxx:173
+#: src/console/Audacious_Config.cxx:172
 msgid "Treble:"
 msgstr ""
 
-#: src/console/Audacious_Config.cxx:194
+#: src/console/Audacious_Config.cxx:193
 msgid "Default song length:"
 msgstr ""
 
-#: src/console/Audacious_Config.cxx:200 src/modplug/gui/interface.cxx:268
+#: src/console/Audacious_Config.cxx:199 src/modplug/gui/interface.cxx:268
 #: src/modplug/gui/modplug.glade:338 src/sid/xmms-sid.glade:1243
-#: src/sid/xs_interface.c:653
+#: src/sid/xs_interface.c:665
 msgid "Resampling"
 msgstr ""
 
-#: src/console/Audacious_Config.cxx:206
+#: src/console/Audacious_Config.cxx:205
 msgid "Enable audio resampling"
 msgstr ""
 
-#: src/console/Audacious_Config.cxx:221
+#: src/console/Audacious_Config.cxx:220
 msgid "Resampling rate:"
 msgstr ""
 
+#: src/console/Audacious_Config.cxx:235
+msgid "SPC"
+msgstr ""
+
 #: src/console/Audacious_Config.cxx:236
-msgid "SPC"
+msgid "Ignore length from SPC tags"
 msgstr ""
 
 #: src/console/Audacious_Config.cxx:237
-msgid "Ignore length from SPC tags"
-msgstr ""
-
-#: src/console/Audacious_Config.cxx:238
 msgid "Increase reverb"
 msgstr ""
 
-#: src/console/Audacious_Config.cxx:263
+#: src/console/Audacious_Config.cxx:262
 msgid ""
 "The default song length, expressed in seconds, is used for songs that do not "
 "provide length information (i.e. looping tracks)."
 msgstr ""
 
-#: src/console/Audacious_Driver.cxx:444
+#: src/console/Audacious_Driver.cxx:442
 msgid "About the Console Music Decoder"
 msgstr ""
 
-#: src/console/Audacious_Driver.cxx:445
+#: src/console/Audacious_Driver.cxx:443
 msgid ""
 "Console music decoder engine based on Game_Music_Emu 0.5.2.\n"
 "Supported formats: AY, GBS, GYM, HES, KSS, NSF, NSFE, SAP, SPC, VGM, VGZ\n"
@@ -1827,11 +1831,19 @@
 "        Shay Green <gblargg@gmail.com>"
 msgstr ""
 
-#: src/demac/plugin.c:388
+#: src/crystalizer/crystalizer.c:90
+msgid "Configure Crystalizer"
+msgstr ""
+
+#: src/crystalizer/crystalizer.c:92 src/stereo_plugin/stereo.c:94
+msgid "Effect intensity:"
+msgstr ""
+
+#: src/demac/plugin.c:359
 msgid "About Monkey's Audio Plugin"
 msgstr ""
 
-#: src/demac/plugin.c:389
+#: src/demac/plugin.c:360
 msgid ""
 "Copyright (C) 2007 Eugene Zagidullin <e.asphyx@gmail.com>\n"
 "Based on ffape decoder, Copyright (C) 2007 Benjamin Zores\n"
@@ -1840,7 +1852,7 @@
 "ffape is a part of FFmpeg project, http://ffmpeg.mplayerhq.hu/"
 msgstr ""
 
-#: src/echo_plugin/gui.c:11
+#: src/echo_plugin/gui.c:9
 msgid ""
 "Echo Plugin\n"
 "By Johan Levin 1999.\n"
@@ -1848,35 +1860,35 @@
 "Surround echo by Carl van Schaik 1999"
 msgstr ""
 
-#: src/echo_plugin/gui.c:25
+#: src/echo_plugin/gui.c:23
 msgid "About Echo Plugin"
 msgstr ""
 
-#: src/echo_plugin/gui.c:76
+#: src/echo_plugin/gui.c:74
 msgid "Configure Echo"
 msgstr ""
 
-#: src/echo_plugin/gui.c:89
+#: src/echo_plugin/gui.c:87
 msgid "Delay: (ms)"
 msgstr ""
 
-#: src/echo_plugin/gui.c:94
+#: src/echo_plugin/gui.c:92
 msgid "Feedback: (%)"
 msgstr ""
 
-#: src/echo_plugin/gui.c:99
+#: src/echo_plugin/gui.c:97
 msgid "Volume: (%)"
 msgstr ""
 
-#: src/echo_plugin/gui.c:122
+#: src/echo_plugin/gui.c:120
 msgid "Surround echo"
 msgstr ""
 
+#: src/esd/about.c:33
+msgid "About ESounD Plugin"
+msgstr ""
+
 #: src/esd/about.c:34
-msgid "About ESounD Plugin"
-msgstr ""
-
-#: src/esd/about.c:35
 msgid ""
 "Audacious ESounD Plugin\n"
 "\n"
@@ -1920,8 +1932,8 @@
 msgid "Server"
 msgstr ""
 
-#: src/esd/configure.c:198 src/OSS4/configure.c:259 src/OSS/configure.c:331
-#: src/sun/configure.c:290
+#: src/esd/configure.c:198 src/OSS4/configure.c:257 src/OSS/configure.c:330
+#: src/sun/configure.c:288
 msgid "Pre-buffer (percent):"
 msgstr ""
 
@@ -1993,93 +2005,93 @@
 msgid "Window->JumpToFile"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:94
+#: src/evdev-plug/ed_internals.c:93
 #, c-format
 msgid ""
 "event-device-plugin: unable to open device file %s , skipping this device; "
 "check that the file exists and that you have read permission for it\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:103
+#: src/evdev-plug/ed_internals.c:102
 #, c-format
 msgid ""
 "event-device-plugin: unable to create a io_channel for device file %s ,"
 "skipping this device\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:342
+#: src/evdev-plug/ed_internals.c:341
 msgid ""
 "event-device-plugin: unable to open /proc/bus/input/devices , automatic "
 "detection of event devices won't work.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:351
+#: src/evdev-plug/ed_internals.c:350
 msgid ""
 "event-device-plugin: unable to open a io_channel for /proc/bus/input/"
 "devices , automatic detection of event devices won't work.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:361
+#: src/evdev-plug/ed_internals.c:360
 msgid ""
 "event-device-plugin: an error occurred while reading /proc/bus/input/"
 "devices , automatic detection of event devices won't work.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:424
+#: src/evdev-plug/ed_internals.c:423
 #, c-format
 msgid "event-device-plugin: device %s not found in /dev/input , skipping.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:489 src/evdev-plug/ed_internals.c:583
+#: src/evdev-plug/ed_internals.c:488 src/evdev-plug/ed_internals.c:582
 #, c-format
 msgid ""
 "event-device-plugin: unable to load config file %s , default settings will "
 "be used.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:535
+#: src/evdev-plug/ed_internals.c:534
 #, c-format
 msgid ""
 "event-device-plugin: incomplete information in config file for device \"%s"
 "\" , skipping.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:604 src/evdev-plug/ed_internals.c:936
+#: src/evdev-plug/ed_internals.c:603 src/evdev-plug/ed_internals.c:935
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get is_active value for device "
 "\"%s\", skipping it.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:840
+#: src/evdev-plug/ed_internals.c:839
 #, c-format
 msgid ""
 "event-device-plugin: unable to access local directory %s , settings will not "
 "be saved.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:890
+#: src/evdev-plug/ed_internals.c:889
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get filename value for device "
 "\"%s\", skipping it.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:906
+#: src/evdev-plug/ed_internals.c:905
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get phys value for device \"%s"
 "\", skipping it.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:922
+#: src/evdev-plug/ed_internals.c:921
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get is_custom value for device "
 "\"%s\", skipping it.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:946
+#: src/evdev-plug/ed_internals.c:945
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unexpected value for device \"%s\", "
@@ -2097,7 +2109,7 @@
 "Ensure that the device has been correctly plugged in."
 msgstr ""
 
-#: src/evdev-plug/ed_ui.c:319 src/madplug/plugin.c:566
+#: src/evdev-plug/ed_ui.c:319 src/madplug/plugin.c:703
 msgid "Error"
 msgstr ""
 
@@ -2151,7 +2163,7 @@
 msgid "Active"
 msgstr ""
 
-#: src/evdev-plug/ed_ui.c:655 src/sun/configure.c:488
+#: src/evdev-plug/ed_ui.c:655 src/sun/configure.c:486
 msgid "Status"
 msgstr ""
 
@@ -2247,7 +2259,7 @@
 msgid "Output file format:"
 msgstr ""
 
-#: src/filewriter/filewriter.c:511 src/ladspa/ladspa.c:960
+#: src/filewriter/filewriter.c:511 src/ladspa/ladspa.c:959
 msgid "Configure"
 msgstr ""
 
@@ -2471,11 +2483,11 @@
 msgid "Quality level (0 - 10):"
 msgstr ""
 
-#: src/flacng/plugin.c:698
+#: src/flacng/plugin.c:697
 msgid "FLAC Audio Plugin "
 msgstr ""
 
-#: src/flacng/plugin.c:699
+#: src/flacng/plugin.c:698
 msgid ""
 "\n"
 "\n"
@@ -2485,15 +2497,15 @@
 "http://www.skytale.net/projects/bmp-flac2/"
 msgstr ""
 
-#: src/flacng/plugin.c:704
+#: src/flacng/plugin.c:703
 msgid "About FLAC Audio Plugin"
 msgstr ""
 
+#: src/gnomeshortcuts/gnomeshortcuts.c:305
+msgid "About Gnome Shortcut Plugin"
+msgstr ""
+
 #: src/gnomeshortcuts/gnomeshortcuts.c:306
-msgid "About Gnome Shortcut Plugin"
-msgstr ""
-
-#: src/gnomeshortcuts/gnomeshortcuts.c:307
 msgid ""
 "Gnome Shortcut Plugin\n"
 "Let's you control the player with Gnome's shortcuts.\n"
@@ -2506,7 +2518,7 @@
 msgid "Previous Track"
 msgstr ""
 
-#: src/hotkey/gui.c:69
+#: src/hotkey/gui.c:69 src/skins/ui_manager.c:177 src/skins/ui_manager.c:178
 msgid "Play"
 msgstr ""
 
@@ -2514,7 +2526,7 @@
 msgid "Pause/Resume"
 msgstr ""
 
-#: src/hotkey/gui.c:71
+#: src/hotkey/gui.c:71 src/skins/ui_manager.c:183 src/skins/ui_manager.c:184
 msgid "Stop"
 msgstr ""
 
@@ -2542,7 +2554,7 @@
 msgid "Volume Down"
 msgstr ""
 
-#: src/hotkey/gui.c:78
+#: src/hotkey/gui.c:78 src/skins/ui_manager.c:422 src/skins/ui_manager.c:423
 msgid "Jump to File"
 msgstr ""
 
@@ -2592,11 +2604,11 @@
 msgid "<b>Key Binding:</b>"
 msgstr ""
 
-#: src/hotkey/gui.c:660
+#: src/hotkey/gui.c:659
 msgid "About Global Hotkey Plugin"
 msgstr ""
 
-#: src/hotkey/gui.c:661
+#: src/hotkey/gui.c:660
 msgid ""
 "Global Hotkey Plugin\n"
 "Control the player with global key combinations or multimedia keys.\n"
@@ -2612,35 +2624,35 @@
 "\n"
 msgstr ""
 
-#: src/jack/configure.c:70
+#: src/jack/configure.c:69
 msgid "Connect to all available jack ports"
 msgstr ""
 
-#: src/jack/configure.c:77
+#: src/jack/configure.c:76
 msgid "Connect only the output ports"
 msgstr ""
 
-#: src/jack/configure.c:84
+#: src/jack/configure.c:83
 msgid "Connect to no ports"
 msgstr ""
 
-#: src/jack/configure.c:99
+#: src/jack/configure.c:98
 msgid "jack Plugin configuration"
 msgstr ""
 
-#: src/jack/configure.c:117
+#: src/jack/configure.c:116
 msgid "Connection mode:"
 msgstr ""
 
-#: src/jack/configure.c:129
+#: src/jack/configure.c:128
 msgid "Enable debug printing"
 msgstr ""
 
-#: src/jack/jack.c:84
+#: src/jack/jack.c:82
 msgid "Sample rate mismatch"
 msgstr ""
 
-#: src/jack/jack.c:87
+#: src/jack/jack.c:85
 msgid ""
 "Xmms is asking for a sample rate that differs from\n"
 " that of the jack server.  Xmms 1.2.8 or later\n"
@@ -2654,15 +2666,15 @@
 "Chris Morgan <cmorgan@alum.wpi.edu>\n"
 msgstr ""
 
-#: src/jack/jack.c:100 src/wma/wma.c:148
+#: src/jack/jack.c:98 src/wma/wma.c:145
 msgid " Close "
 msgstr ""
 
-#: src/jack/jack.c:452
+#: src/jack/jack.c:450
 msgid "About JACK Output Plugin 0.17"
 msgstr ""
 
-#: src/jack/jack.c:453
+#: src/jack/jack.c:451
 msgid ""
 "XMMS jack Driver 0.17\n"
 "\n"
@@ -2673,39 +2685,39 @@
 "Giacomo Lozito from develia.org"
 msgstr ""
 
-#: src/ladspa/ladspa.c:722
+#: src/ladspa/ladspa.c:721
 msgid "This LADSPA plugin has no user controls"
 msgstr ""
 
-#: src/ladspa/ladspa.c:767 src/ladspa/ladspa.c:853
+#: src/ladspa/ladspa.c:766 src/ladspa/ladspa.c:852
 msgid "Name"
 msgstr ""
 
-#: src/ladspa/ladspa.c:853
+#: src/ladspa/ladspa.c:852
 msgid "UID"
 msgstr ""
 
-#: src/ladspa/ladspa.c:928
+#: src/ladspa/ladspa.c:927
 msgid "Installed plugins"
 msgstr ""
 
-#: src/ladspa/ladspa.c:937
+#: src/ladspa/ladspa.c:936
 msgid "Running plugins"
 msgstr ""
 
-#: src/ladspa/ladspa.c:952
+#: src/ladspa/ladspa.c:951
 msgid "Add"
 msgstr ""
 
-#: src/ladspa/ladspa.c:956
+#: src/ladspa/ladspa.c:955
 msgid "Remove"
 msgstr ""
 
-#: src/ladspa/ladspa.c:969
+#: src/ladspa/ladspa.c:968
 msgid "LADSPA Plugin Catalog"
 msgstr ""
 
-#: src/lastfm/lastfm.c:96
+#: src/lastfm/lastfm.c:94
 msgid ""
 "<b><big>Couldn't initialize the last.fm radio plugin.</big></b>\n"
 "\n"
@@ -2788,56 +2800,56 @@
 msgid "%s: will try reconnect every %d seconds...\n"
 msgstr ""
 
-#: src/madplug/configure.c:209
+#: src/madplug/configure.c:208
 msgid "MPEG Audio Plugin Configuration"
 msgstr ""
 
-#: src/madplug/configure.c:226
+#: src/madplug/configure.c:225
 msgid "Audio Settings"
 msgstr ""
 
-#: src/madplug/configure.c:234
+#: src/madplug/configure.c:233
 msgid "Force reopen audio when audio type changed"
 msgstr ""
 
-#: src/madplug/configure.c:243
+#: src/madplug/configure.c:242
 msgid "Metadata Settings"
 msgstr ""
 
-#: src/madplug/configure.c:252
+#: src/madplug/configure.c:251
 msgid "Enable fast play-length calculation"
 msgstr ""
 
-#: src/madplug/configure.c:259
+#: src/madplug/configure.c:258
 msgid "Parse XING headers"
 msgstr ""
 
-#: src/madplug/configure.c:266
+#: src/madplug/configure.c:265
 msgid "Use SJIS to write ID3 tags (not recommended)"
 msgstr ""
 
-#: src/madplug/configure.c:273
+#: src/madplug/configure.c:272
 msgid "Miscellaneous Settings"
 msgstr ""
 
-#: src/madplug/configure.c:282
+#: src/madplug/configure.c:281
 msgid "Display average bitrate for VBR"
 msgstr ""
 
-#: src/madplug/configure.c:296 src/vorbis/configure.c:102
+#: src/madplug/configure.c:295 src/vorbis/configure.c:100
 msgid "Override generic titles"
 msgstr ""
 
-#: src/madplug/configure.c:308
+#: src/madplug/configure.c:307
 msgid "ID3 format:"
 msgstr ""
 
-#: src/madplug/configure.c:320 src/sid/xmms-sid.glade:2540
-#: src/sid/xs_interface.c:1070
+#: src/madplug/configure.c:319 src/sid/xmms-sid.glade:2610
+#: src/sid/xs_interface.c:1102
 msgid "Title"
 msgstr ""
 
-#: src/madplug/plugin.c:524
+#: src/madplug/plugin.c:661
 #, c-format
 msgid ""
 "Audacious MPEG Audio Plugin\n"
@@ -2855,15 +2867,15 @@
 "    Samuel Krempp"
 msgstr ""
 
-#: src/madplug/plugin.c:540
+#: src/madplug/plugin.c:677
 msgid "About MPEG Audio Plugin"
 msgstr ""
 
+#: src/metronom/metronom.c:86
+msgid "About Metronom"
+msgstr ""
+
 #: src/metronom/metronom.c:87
-msgid "About Metronom"
-msgstr ""
-
-#: src/metronom/metronom.c:88
 msgid ""
 "A Tact Generator by Martin Strauss <mys@faveve.uni-stuttgart.de>\n"
 "\n"
@@ -2872,12 +2884,12 @@
 "or   tact://60*3/4 to play 60 bpm in 3/4 tacts"
 msgstr ""
 
-#: src/metronom/metronom.c:198 src/metronom/metronom.c:262
+#: src/metronom/metronom.c:197 src/metronom/metronom.c:261
 #, c-format
 msgid "Tact generator: %d bpm"
 msgstr ""
 
-#: src/metronom/metronom.c:200 src/metronom/metronom.c:264
+#: src/metronom/metronom.c:199 src/metronom/metronom.c:263
 #, c-format
 msgid "Tact generator: %d bpm %d/%d"
 msgstr ""
@@ -3069,11 +3081,11 @@
 msgid "Message"
 msgstr ""
 
-#: src/modplug/gui/main.cxx:45
+#: src/modplug/gui/main.cxx:48
 msgid "Modplug Input Plugin for Audacious ver"
 msgstr ""
 
-#: src/modplug/gui/main.cxx:46
+#: src/modplug/gui/main.cxx:49
 msgid ""
 "\n"
 "Modplug sound engine written by Olivier Lapicque.\n"
@@ -3083,7 +3095,7 @@
 "Ported to BMP by Theofilos Intzoglou."
 msgstr ""
 
-#: src/modplug/gui/main.cxx:49
+#: src/modplug/gui/main.cxx:52
 msgid "About Modplug"
 msgstr ""
 
@@ -3093,27 +3105,27 @@
 msgid "Couldn't find pixmap file: %s"
 msgstr ""
 
-#: src/mtp_up/mtp.c:35
+#: src/mtp_up/mtp.c:33
 msgid "Upload selected track(s)"
 msgstr ""
 
-#: src/mtp_up/mtp.c:296
+#: src/mtp_up/mtp.c:294
 msgid "Upload in progress..."
 msgstr ""
 
-#: src/mtp_up/mtp.c:305
+#: src/mtp_up/mtp.c:303
 msgid "MTP device handler"
 msgstr ""
 
-#: src/mtp_up/mtp.c:309
+#: src/mtp_up/mtp.c:307
 msgid "Disconnect the device"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:146
+#: src/musepack/libmpc.cxx:142
 msgid "Musepack Decoder Plugin 1.2"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:147
+#: src/musepack/libmpc.cxx:143
 msgid ""
 "Plugin code by\n"
 "Benoit Amiaux\n"
@@ -3123,196 +3135,226 @@
 "Get latest version at http://musepack.net\n"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:148
+#: src/musepack/libmpc.cxx:144
 msgid "Nevermind"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:166
+#: src/musepack/libmpc.cxx:162
 msgid "Musepack Decoder Configuration"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:176
+#: src/musepack/libmpc.cxx:172
 msgid "General Settings"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:183 src/wavpack/ui.cxx:492
+#: src/musepack/libmpc.cxx:179 src/wavpack/ui.cxx:490
 msgid "Enable Dynamic Bitrate Display"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:187 src/wavpack/ui.cxx:498
+#: src/musepack/libmpc.cxx:183 src/wavpack/ui.cxx:496
 msgid "Plugin"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:190
+#: src/musepack/libmpc.cxx:186
 msgid "ReplayGain Settings"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:197 src/wavpack/ui.cxx:510
+#: src/musepack/libmpc.cxx:193 src/wavpack/ui.cxx:508
 msgid "Enable Clipping Prevention"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:202 src/wavpack/ui.cxx:515
+#: src/musepack/libmpc.cxx:198 src/wavpack/ui.cxx:513
 msgid "Enable ReplayGain"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:207
+#: src/musepack/libmpc.cxx:203
 msgid "ReplayGain Type"
 msgstr ""
 
+#: src/musepack/libmpc.cxx:211
+msgid "Use Track Gain"
+msgstr ""
+
 #: src/musepack/libmpc.cxx:215
-msgid "Use Track Gain"
-msgstr ""
-
-#: src/musepack/libmpc.cxx:219
 msgid "Use Album Gain"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:224 src/wavpack/ui.cxx:547
+#: src/musepack/libmpc.cxx:220 src/wavpack/ui.cxx:545
 msgid "ReplayGain"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:491 src/sid/xmms-sid.glade:3144
-#: src/sid/xs_interface.c:1564 src/tta/libtta.c:304 src/wavpack/ui.cxx:152
+#: src/musepack/libmpc.cxx:487 src/sid/xmms-sid.glade:3338
+#: src/sid/xs_interface.c:1648 src/tta/libtta.c:301 src/wavpack/ui.cxx:150
 msgid "Filename:"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:506
+#: src/musepack/libmpc.cxx:502
 msgid "Musepack Tag"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:514 src/tta/libtta.c:323 src/wavpack/ui.cxx:172
+#: src/musepack/libmpc.cxx:510 src/tta/libtta.c:320 src/wavpack/ui.cxx:170
 msgid "Title:"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:518 src/tta/libtta.c:333 src/wavpack/ui.cxx:184
+#: src/musepack/libmpc.cxx:514 src/tta/libtta.c:330 src/wavpack/ui.cxx:182
 msgid "Artist:"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:522 src/tta/libtta.c:344 src/wavpack/ui.cxx:196
+#: src/musepack/libmpc.cxx:518 src/tta/libtta.c:341 src/wavpack/ui.cxx:194
 msgid "Album:"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:526 src/tta/libtta.c:355 src/wavpack/ui.cxx:208
+#: src/musepack/libmpc.cxx:522 src/tta/libtta.c:352 src/wavpack/ui.cxx:206
 msgid "Comment:"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:530 src/tta/libtta.c:366 src/wavpack/ui.cxx:221
+#: src/musepack/libmpc.cxx:526 src/tta/libtta.c:363 src/wavpack/ui.cxx:219
 msgid "Year:"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:535
+#: src/musepack/libmpc.cxx:531
 msgid "Track:"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:540 src/tta/libtta.c:390 src/wavpack/ui.cxx:248
+#: src/musepack/libmpc.cxx:536 src/tta/libtta.c:387 src/wavpack/ui.cxx:246
 msgid "Genre:"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:551 src/sid/xmms-sid.glade:1732
-#: src/sid/xs_interface.c:820 src/wavpack/ui.cxx:267
+#: src/musepack/libmpc.cxx:547 src/sid/xmms-sid.glade:1732
+#: src/sid/xs_interface.c:832 src/skins/ui_manager.c:438
+#: src/wavpack/ui.cxx:265
 msgid "Save"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:554 src/wavpack/ui.cxx:273
+#: src/musepack/libmpc.cxx:550 src/wavpack/ui.cxx:271
 msgid "Remove Tag"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:562
+#: src/musepack/libmpc.cxx:558
 msgid "Musepack Info"
 msgstr ""
 
+#: src/musepack/libmpc.cxx:591
+#, c-format
+msgid "Streamversion %d"
+msgstr ""
+
+#: src/musepack/libmpc.cxx:592
+#, c-format
+msgid "Encoder: %s"
+msgstr ""
+
+#: src/musepack/libmpc.cxx:593
+#, c-format
+msgid "Profile: %s"
+msgstr ""
+
+#: src/musepack/libmpc.cxx:594
+#, c-format
+msgid "Average bitrate: %6.1f kbps"
+msgstr ""
+
 #: src/musepack/libmpc.cxx:595
 #, c-format
-msgid "Streamversion %d"
+msgid "Samplerate: %d Hz"
 msgstr ""
 
 #: src/musepack/libmpc.cxx:596
 #, c-format
-msgid "Encoder: %s"
+msgid "Channels: %d"
 msgstr ""
 
 #: src/musepack/libmpc.cxx:597
 #, c-format
-msgid "Profile: %s"
+msgid "Length: %d:\\%.2d"
 msgstr ""
 
 #: src/musepack/libmpc.cxx:598
 #, c-format
-msgid "Average bitrate: %6.1f kbps"
+msgid "File size: %d Bytes"
 msgstr ""
 
 #: src/musepack/libmpc.cxx:599
 #, c-format
-msgid "Samplerate: %d Hz"
+msgid "Track Peak: %5u"
 msgstr ""
 
 #: src/musepack/libmpc.cxx:600
 #, c-format
-msgid "Channels: %d"
+msgid "Track Gain: %-+2.2f dB"
 msgstr ""
 
 #: src/musepack/libmpc.cxx:601
 #, c-format
-msgid "Length: %d:\\%.2d"
+msgid "Album Peak: %5u"
 msgstr ""
 
 #: src/musepack/libmpc.cxx:602
 #, c-format
-msgid "File size: %d Bytes"
-msgstr ""
-
-#: src/musepack/libmpc.cxx:603
-#, c-format
-msgid "Track Peak: %5u"
-msgstr ""
-
-#: src/musepack/libmpc.cxx:604
-#, c-format
-msgid "Track Gain: %-+2.2f dB"
-msgstr ""
-
-#: src/musepack/libmpc.cxx:605
-#, c-format
-msgid "Album Peak: %5u"
-msgstr ""
-
-#: src/musepack/libmpc.cxx:606
-#, c-format
 msgid "Album Gain: %-+5.2f dB"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:634 src/tta/libtta.c:413 src/wavpack/ui.cxx:409
+#: src/musepack/libmpc.cxx:630 src/tta/libtta.c:410 src/wavpack/ui.cxx:407
 #, c-format
 msgid "File Info - %s"
 msgstr ""
 
-#: src/null/null.c:61
+#: src/null/null.c:58
 msgid "Null output plugin "
 msgstr ""
 
+#: src/null/null.c:59
+msgid ""
+" by Christian Birchinger <joker@netswarm.net>\n"
+"based on the XMMS plugin by Håvard Kvål <havardk@xmms.org>"
+msgstr ""
+
 #: src/null/null.c:62
-msgid ""
-" by Christian Birchinger <joker@netswarm.net>\n"
-"based on the XMMS plugin by Håvard Kvål <havardk@xmms.org>"
-msgstr ""
-
-#: src/null/null.c:65
 msgid "About Null Output"
 msgstr ""
 
-#: src/null/null.c:94
+#: src/null/null.c:91
 msgid "Null output preferences"
 msgstr ""
 
-#: src/null/null.c:103
+#: src/null/null.c:100
 msgid "Run in real time"
 msgstr ""
 
-#: src/OSS4/about.c:42
+#: src/OSS4/configure.c:118 src/OSS/configure.c:150
+#, c-format
+msgid "Default (%s)"
+msgstr ""
+
+#: src/OSS4/configure.c:168 src/OSS/configure.c:200
+msgid "OSS Driver configuration"
+msgstr ""
+
+#: src/OSS4/configure.c:206 src/OSS/configure.c:238 src/OSS/configure.c:279
+msgid "Use alternate device:"
+msgstr ""
+
+#: src/OSS4/configure.c:228 src/OSS/configure.c:301 src/sun/configure.c:246
+msgid "Devices"
+msgstr ""
+
+#: src/OSS4/configure.c:270 src/OSS/configure.c:342
+msgid "Mixer Settings:"
+msgstr ""
+
+#: src/OSS4/configure.c:276
+msgid "Save VMIX volume between sessions"
+msgstr ""
+
+#: src/OSS4/configure.c:282 src/OSS/configure.c:354 src/sun/configure.c:392
+msgid "Mixer"
+msgstr ""
+
+#: src/OSS4/OSS4.c:38
 msgid "About OSSv4 Driver"
 msgstr ""
 
-#: src/OSS4/about.c:43
+#: src/OSS4/OSS4.c:39
 msgid ""
 "Audacious OSSv4 Driver\n"
 "\n"
@@ -3335,40 +3377,15 @@
 "USA."
 msgstr ""
 
-#: src/OSS4/configure.c:120 src/OSS/configure.c:151
-#, c-format
-msgid "Default (%s)"
-msgstr ""
-
-#: src/OSS4/configure.c:170 src/OSS/configure.c:201
-msgid "OSS Driver configuration"
-msgstr ""
-
-#: src/OSS4/configure.c:208 src/OSS/configure.c:239 src/OSS/configure.c:280
-msgid "Use alternate device:"
-msgstr ""
-
-#: src/OSS4/configure.c:230 src/OSS/configure.c:302 src/sun/configure.c:248
-msgid "Devices"
-msgstr ""
-
-#: src/OSS4/configure.c:272 src/OSS/configure.c:343
-msgid "Mixer Settings:"
-msgstr ""
-
-#: src/OSS4/configure.c:278
-msgid "Save VMIX volume between sessions"
-msgstr ""
-
-#: src/OSS4/configure.c:284 src/OSS/configure.c:355 src/sun/configure.c:394
-msgid "Mixer"
-msgstr ""
-
-#: src/OSS/about.c:39
+#: src/OSS/configure.c:348
+msgid "Volume controls Master not PCM"
+msgstr ""
+
+#: src/OSS/OSS.c:37
 msgid "About OSS Driver"
 msgstr ""
 
-#: src/OSS/about.c:40
+#: src/OSS/OSS.c:38
 msgid ""
 "Audacious OSS Driver\n"
 "\n"
@@ -3388,19 +3405,15 @@
 "USA."
 msgstr ""
 
-#: src/OSS/configure.c:349
-msgid "Volume controls Master not PCM"
-msgstr ""
-
 #: src/projectm-1.0/main.c:70
 msgid "_Random"
 msgstr ""
 
-#: src/pulse_audio/pulse_audio.c:722
+#: src/pulse_audio/pulse_audio.c:720
 msgid "About Audacious PulseAudio Output Plugin"
 msgstr ""
 
-#: src/pulse_audio/pulse_audio.c:723
+#: src/pulse_audio/pulse_audio.c:721
 msgid ""
 "Audacious PulseAudio Output Plugin\n"
 "\n"
@@ -3420,27 +3433,27 @@
 "USA."
 msgstr ""
 
-#: src/scrobbler/configure.c:138
+#: src/scrobbler/configure.c:134
 msgid "<b>Services</b>"
 msgstr ""
 
-#: src/scrobbler/configure.c:160 src/scrobbler/configure.c:199
+#: src/scrobbler/configure.c:156 src/scrobbler/configure.c:195
 msgid "Username:"
 msgstr ""
 
-#: src/scrobbler/configure.c:166 src/scrobbler/configure.c:205
+#: src/scrobbler/configure.c:162 src/scrobbler/configure.c:201
 msgid "Password:"
 msgstr ""
 
-#: src/scrobbler/configure.c:183
+#: src/scrobbler/configure.c:179
 msgid "<b>Last.FM</b>"
 msgstr ""
 
-#: src/scrobbler/configure.c:222
+#: src/scrobbler/configure.c:218
 msgid "<b>Gerpok</b>"
 msgstr ""
 
-#: src/scrobbler/gtkstuff.c:21
+#: src/scrobbler/gtkstuff.c:18
 msgid ""
 "Audacious AudioScrobbler Plugin\n"
 "\n"
@@ -3448,11 +3461,11 @@
 "com>\n"
 msgstr ""
 
-#: src/scrobbler/gtkstuff.c:23
+#: src/scrobbler/gtkstuff.c:20
 msgid "About Scrobbler Plugin"
 msgstr ""
 
-#: src/scrobbler/gtkstuff.c:36
+#: src/scrobbler/gtkstuff.c:33
 #, c-format
 msgid ""
 "There has been an error that may require your attention.\n"
@@ -3462,106 +3475,106 @@
 "%s\n"
 msgstr ""
 
-#: src/scrobbler/gtkstuff.c:43
+#: src/scrobbler/gtkstuff.c:40
 msgid "Scrobbler Error"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:8 src/sid/xs_interface.c:221
+#: src/sid/xmms-sid.glade:8 src/sid/xs_interface.c:233
 msgid "Audacious-SID configuration"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:71 src/sid/xs_interface.c:257
+#: src/sid/xmms-sid.glade:71 src/sid/xs_interface.c:269
 msgid "8-bit"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:90 src/sid/xs_interface.c:264
+#: src/sid/xmms-sid.glade:90 src/sid/xs_interface.c:276
 msgid "16-bit"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:111 src/sid/xs_interface.c:271
+#: src/sid/xmms-sid.glade:111 src/sid/xs_interface.c:283
 msgid "Resolution:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:196 src/sid/xs_interface.c:302
+#: src/sid/xmms-sid.glade:196 src/sid/xs_interface.c:314
 msgid "Autopanning"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:217 src/sid/xs_interface.c:309
+#: src/sid/xmms-sid.glade:217 src/sid/xs_interface.c:321
 msgid "Channels:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:384 src/sid/xs_interface.c:353
+#: src/sid/xmms-sid.glade:384 src/sid/xs_interface.c:365
 msgid "Samplerate:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:430 src/sid/xs_interface.c:370
+#: src/sid/xmms-sid.glade:430 src/sid/xs_interface.c:382
 msgid "Use oversampling"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:456 src/sid/xs_interface.c:381
+#: src/sid/xmms-sid.glade:456 src/sid/xs_interface.c:393
 msgid "Factor:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:500 src/sid/xs_interface.c:393
+#: src/sid/xmms-sid.glade:500 src/sid/xs_interface.c:405
 msgid "Large factors require more CPU-power"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:534 src/sid/xs_interface.c:399
+#: src/sid/xmms-sid.glade:534 src/sid/xs_interface.c:411
 msgid "Oversampling:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:570 src/sid/xs_interface.c:404
+#: src/sid/xmms-sid.glade:570 src/sid/xs_interface.c:416
 msgid "Audio"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:620 src/sid/xs_interface.c:436
+#: src/sid/xmms-sid.glade:620 src/sid/xs_interface.c:448
 msgid ""
 "If enabled, this option \"forces\" the emulation engine to use the selected "
 "clock speed/frequency. Otherwise the speed is determined from played file "
 "itself."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:622 src/sid/xs_interface.c:432
+#: src/sid/xmms-sid.glade:622 src/sid/xs_interface.c:444
 msgid "Force speed"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:640 src/sid/xs_interface.c:442
+#: src/sid/xmms-sid.glade:640 src/sid/xs_interface.c:454
 msgid ""
 "PAL is the european TV standard, which uses 50Hz vertical refresh frequency. "
 "Most of SID-tunes have been made for PAL computers."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:642 src/sid/xs_interface.c:438
+#: src/sid/xmms-sid.glade:642 src/sid/xs_interface.c:450
 msgid "PAL (50 Hz)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:660 src/sid/xs_interface.c:450
+#: src/sid/xmms-sid.glade:660 src/sid/xs_interface.c:462
 msgid ""
 "NTSC is the TV standard with 60Hz vertical refresh rate (and other features "
 "that differ from PAL). It is mainly used in United States, Japan and certain "
 "other countries."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:662 src/sid/xs_interface.c:446
+#: src/sid/xmms-sid.glade:662 src/sid/xs_interface.c:458
 msgid "NTSC (60 Hz)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:683 src/sid/xs_interface.c:454
+#: src/sid/xmms-sid.glade:683 src/sid/xs_interface.c:466
 msgid "Clock speed:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:728 src/sid/xs_interface.c:475
+#: src/sid/xmms-sid.glade:728 src/sid/xs_interface.c:487
 msgid ""
 "If enabled, this option \"forces\" the emulation engine to use the selected "
 "SID-chip model. Otherwise the preferred SID model is determined from the "
 "file (if PSIDv2NG type) or if not available, this setting is used."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:730 src/sid/xs_interface.c:471
+#: src/sid/xmms-sid.glade:730 src/sid/xs_interface.c:483
 msgid "Force model"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:748 src/sid/xs_interface.c:481
+#: src/sid/xmms-sid.glade:748 src/sid/xs_interface.c:493
 msgid ""
 "MOS/CSG 6581 is the earlier major version of SID chip. It differs from 8580 "
 "in few ways, having much fuller filter (which, due to design error, is never "
@@ -3569,89 +3582,89 @@
 "which enables playing of digital samples."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:750 src/sid/xs_interface.c:477
+#: src/sid/xmms-sid.glade:750 src/sid/xs_interface.c:489
 msgid "MOS 6581"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:769 src/sid/xs_interface.c:485
+#: src/sid/xmms-sid.glade:769 src/sid/xs_interface.c:497
 msgid "MOS 8580"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:790 src/sid/xs_interface.c:492
+#: src/sid/xmms-sid.glade:790 src/sid/xs_interface.c:504
 msgid "SID model:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:842 src/sid/xs_interface.c:513
+#: src/sid/xmms-sid.glade:842 src/sid/xs_interface.c:525
 msgid ""
 "Use libSIDPlay 1.x emulation, faster but not so accurate. Good in most "
 "cases, though."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:844 src/sid/xs_interface.c:509
+#: src/sid/xmms-sid.glade:844 src/sid/xs_interface.c:521
 msgid "SIDPlay 1 (frame-based)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:863 src/sid/xs_interface.c:521
+#: src/sid/xmms-sid.glade:863 src/sid/xs_interface.c:533
 msgid ""
 "Use libSIDPlay 2.x emulation, which requires powerful CPU due to more exact "
 "emulation."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:865 src/sid/xs_interface.c:517
+#: src/sid/xmms-sid.glade:865 src/sid/xs_interface.c:529
 msgid "SIDPlay 2 (cycle-based)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:887 src/sid/xs_interface.c:525
+#: src/sid/xmms-sid.glade:887 src/sid/xs_interface.c:537
 msgid "Emulation library selection:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:933 src/sid/xs_interface.c:542
+#: src/sid/xmms-sid.glade:933 src/sid/xs_interface.c:554
 msgid "Real C64 (SIDPlay 2 only)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:952 src/sid/xs_interface.c:549
+#: src/sid/xmms-sid.glade:952 src/sid/xs_interface.c:561
 msgid "Bank switching"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:972 src/sid/xs_interface.c:556
+#: src/sid/xmms-sid.glade:972 src/sid/xs_interface.c:568
 msgid "Transparent ROM"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:992 src/sid/xs_interface.c:563
+#: src/sid/xmms-sid.glade:992 src/sid/xs_interface.c:575
 msgid "PlaySID environment"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1013 src/sid/xs_interface.c:570
+#: src/sid/xmms-sid.glade:1013 src/sid/xs_interface.c:582
 msgid "Memory mode:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1049 src/sid/xs_interface.c:575
+#: src/sid/xmms-sid.glade:1049 src/sid/xs_interface.c:587
 msgid "Emu#1"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1093 src/sid/xs_interface.c:602
+#: src/sid/xmms-sid.glade:1093 src/sid/xs_interface.c:614
 msgid ""
 "This setting can be used to enable libSIDPlay2's \"optimization mode\", "
 "which in downgrades the emulation from cycle-exact to something similar to "
 "frame-exact. The result is lower CPU usage, but worse accuracy."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1095 src/sid/xs_interface.c:598
+#: src/sid/xmms-sid.glade:1095 src/sid/xs_interface.c:610
 msgid "Optimization mode (faster, inaccurate)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1113 src/sid/xs_interface.c:608
+#: src/sid/xmms-sid.glade:1113 src/sid/xs_interface.c:620
 msgid ""
 "reSID is the software SID-chip simulator based on SID reverse-engineering, "
 "created by Dag Lem. It is probably the closest thing to real SID available "
 "as software-only emulation."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1115 src/sid/xs_interface.c:604
+#: src/sid/xmms-sid.glade:1115 src/sid/xs_interface.c:616
 msgid "reSID-emulation"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1133 src/sid/xs_interface.c:616
+#: src/sid/xmms-sid.glade:1133 src/sid/xs_interface.c:628
 msgid ""
 "HardSID is a EISA/PCI card for PC-compatibles, which can be fitted with a "
 "real SID-chip. Software can be used to control the HardSID and combined with "
@@ -3660,47 +3673,47 @@
 "http://www.hardsid.com/"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1135 src/sid/xs_interface.c:612
+#: src/sid/xmms-sid.glade:1135 src/sid/xs_interface.c:624
 msgid "HardSID"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1156 src/sid/xs_interface.c:620
+#: src/sid/xmms-sid.glade:1156 src/sid/xs_interface.c:632
 msgid "SIDPlay 2 options:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1201 src/sid/xs_interface.c:641
+#: src/sid/xmms-sid.glade:1201 src/sid/xs_interface.c:653
 msgid ""
 "Fastest and also worst sounding sampling method, simply picks nearest "
 "neighbouring sample."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1203 src/sid/xs_interface.c:637
+#: src/sid/xmms-sid.glade:1203 src/sid/xs_interface.c:649
 msgid "Fast (nearest neighbour)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1221 src/sid/xs_interface.c:649
+#: src/sid/xmms-sid.glade:1221 src/sid/xs_interface.c:661
 msgid ""
 "Uses linear interpolation between samples, yielding higher audio quality "
 "with less sampling noise."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1223 src/sid/xs_interface.c:645
+#: src/sid/xmms-sid.glade:1223 src/sid/xs_interface.c:657
 msgid "Linear interpolation"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1263 src/sid/xs_interface.c:660
+#: src/sid/xmms-sid.glade:1263 src/sid/xs_interface.c:672
 msgid "Resampling (FIR)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1284 src/sid/xs_interface.c:667
+#: src/sid/xmms-sid.glade:1284 src/sid/xs_interface.c:679
 msgid "reSID sampling options:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1320 src/sid/xs_interface.c:672
+#: src/sid/xmms-sid.glade:1320 src/sid/xs_interface.c:684
 msgid "Emu#2"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1350 src/sid/xs_interface.c:688
+#: src/sid/xmms-sid.glade:1350 src/sid/xs_interface.c:700
 msgid ""
 "This option enables emulation of SID filter. The filter is an essential part "
 "of SID's sound capacity, but accurate emulation of it may require quite much "
@@ -3708,294 +3721,305 @@
 "authentic at all if they utilize the filter."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1352 src/sid/xs_interface.c:684
+#: src/sid/xmms-sid.glade:1352 src/sid/xs_interface.c:696
 msgid "Emulate filters"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1409 src/sid/xs_interface.c:713
+#: src/sid/xmms-sid.glade:1409 src/sid/xs_interface.c:725
 msgid "FS"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1460 src/sid/xs_interface.c:730
+#: src/sid/xmms-sid.glade:1460 src/sid/xs_interface.c:742
 msgid "FM"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1511 src/sid/xs_interface.c:747
+#: src/sid/xmms-sid.glade:1511 src/sid/xs_interface.c:759
 msgid "FT"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1549 src/sid/xs_interface.c:758
+#: src/sid/xmms-sid.glade:1549 src/sid/xs_interface.c:770
 msgid "Reset values"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1578 src/sid/xs_interface.c:763
+#: src/sid/xmms-sid.glade:1578 src/sid/xs_interface.c:775
 msgid "SIDPlay1"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1690 src/sid/xs_interface.c:804
+#: src/sid/xmms-sid.glade:1690 src/sid/xs_interface.c:816
 msgid "Export"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1711 src/sid/xs_interface.c:812
+#: src/sid/xmms-sid.glade:1711 src/sid/xs_interface.c:824
 msgid "Use"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1753 src/sid/xs_interface.c:828
+#: src/sid/xmms-sid.glade:1753 src/sid/xs_interface.c:840
+#: src/skins/ui_manager.c:437
 msgid "Import"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1774 src/sid/xs_interface.c:836
+#: src/sid/xmms-sid.glade:1774 src/sid/xs_interface.c:848
+#: src/skins/ui_manager.c:439
 msgid "Delete"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1819 src/sid/xs_interface.c:850
+#: src/sid/xmms-sid.glade:1819 src/sid/xs_interface.c:862
 msgid "Filter curve:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1855 src/sid/xs_interface.c:855
+#: src/sid/xmms-sid.glade:1855 src/sid/xs_interface.c:867
 msgid "SIDPlay2"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1891 src/sid/xs_interface.c:861
+#: src/sid/xmms-sid.glade:1891 src/sid/xs_interface.c:873
 msgid "Filters"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1935 src/sid/xs_interface.c:888
+#: src/sid/xmms-sid.glade:1935 src/sid/xs_interface.c:900
 msgid ""
 "If enabled, the tune is played at least for the specified time, adding "
 "silence to the end if necessary."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1937 src/sid/xs_interface.c:884
+#: src/sid/xmms-sid.glade:1937 src/sid/xs_interface.c:896
 msgid "Play at least for specified time"
 msgstr ""
 
 #: src/sid/xmms-sid.glade:1962 src/sid/xmms-sid.glade:2133
-#: src/sid/xmms-sid.glade:2632 src/sid/xs_interface.c:895
-#: src/sid/xs_interface.c:949 src/sid/xs_interface.c:1109
+#: src/sid/xmms-sid.glade:2702 src/sid/xs_interface.c:907
+#: src/sid/xs_interface.c:961 src/sid/xs_interface.c:1141
 msgid "Playtime:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2041 src/sid/xs_interface.c:915
+#: src/sid/xmms-sid.glade:2041 src/sid/xs_interface.c:927
 msgid "Minimum playtime:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2086 src/sid/xs_interface.c:936
+#: src/sid/xmms-sid.glade:2086 src/sid/xs_interface.c:948
 msgid ""
 "If enabled, tune is played until specified duration is reached (aka maximum "
 "playtime)."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2088 src/sid/xs_interface.c:932
+#: src/sid/xmms-sid.glade:2088 src/sid/xs_interface.c:944
 msgid "Play for specified time maximum"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2107 src/sid/xs_interface.c:942
+#: src/sid/xmms-sid.glade:2107 src/sid/xs_interface.c:954
 msgid ""
 "If enabled, the maximum playtime is applied only if song/tune length is not "
 "known."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2109 src/sid/xs_interface.c:938
+#: src/sid/xmms-sid.glade:2109 src/sid/xs_interface.c:950
 msgid "Only when song length is unknown"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2212 src/sid/xs_interface.c:969
+#: src/sid/xmms-sid.glade:2212 src/sid/xs_interface.c:981
 msgid "Maximum playtime:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2257 src/sid/xs_interface.c:990
+#: src/sid/xmms-sid.glade:2257 src/sid/xs_interface.c:1002
 msgid ""
 "This option enables using of XSIDPLAY compatible song length database. "
 "(Refer to Audacious-SID documentation for more information)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2259 src/sid/xs_interface.c:986
+#: src/sid/xmms-sid.glade:2259 src/sid/xs_interface.c:998
 msgid "Use XSIDPLAY-compatible database"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2284 src/sid/xs_interface.c:997
+#: src/sid/xmms-sid.glade:2284 src/sid/xs_interface.c:1009
 msgid "DB-file:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2309 src/sid/xs_interface.c:1007
+#: src/sid/xmms-sid.glade:2309 src/sid/xs_interface.c:1019
 msgid "Database path and filename"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2329 src/sid/xs_interface.c:1014
+#: src/sid/xmms-sid.glade:2329 src/sid/xs_interface.c:1026
 msgid "Browse for song length-database file"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2356 src/sid/xs_interface.c:1016
+#: src/sid/xmms-sid.glade:2418 src/sid/xs_interface.c:1048
 msgid "Song length database:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2392 src/sid/xs_interface.c:1021
+#: src/sid/xmms-sid.glade:2454 src/sid/xs_interface.c:1053
 msgid "Songlength"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2430 src/sid/xs_interface.c:1043
+#: src/sid/xmms-sid.glade:2492 src/sid/xs_interface.c:1075
 msgid ""
 "By enabling this option you can specify a custom Tuplez formatting string "
 "for SID-files. The SID-plugin specific Tuplez tags are described shortly "
 "below."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2432 src/sid/xs_interface.c:1039
+#: src/sid/xmms-sid.glade:2494 src/sid/xs_interface.c:1071
 msgid "Override generic Tuplez format string"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2457 src/sid/xs_interface.c:1054
+#: src/sid/xmms-sid.glade:2519 src/sid/xs_interface.c:1086
 msgid "Tuplez format string for SID-files"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2477 src/sid/xs_interface.c:1057
-msgid "Descriptions of <i>SID-specific</i> Tuplez fields go here. <b>:D</b>"
-msgstr ""
-
-#: src/sid/xmms-sid.glade:2511 src/sid/xs_interface.c:1065
+#: src/sid/xmms-sid.glade:2539 src/sid/xs_interface.c:1089
+msgid ""
+"<u>SID-specific Tuplez fields:</u>\n"
+"\n"
+"<b>sid-format</b>\t\t- Specific fileformat\n"
+"<b>sid-model</b>\t\t- 6581 or 8580\n"
+"<b>sid-speed</b>\t\t- Timing or speed: PAL/NTSC/etc.\n"
+"\n"
+"<u>Other \"special\" fields set:</u>\n"
+"\n"
+"<b>subsong-num, subsong-id</b>"
+msgstr ""
+
+#: src/sid/xmms-sid.glade:2581 src/sid/xs_interface.c:1097
 msgid "Song title format:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2584 src/sid/xs_interface.c:1096
+#: src/sid/xmms-sid.glade:2654 src/sid/xs_interface.c:1128
 msgid ""
 "If enabled, sub-tunes of each file will be added to playlist. If disabled, "
 "only the default sub-tune will be added."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2586 src/sid/xs_interface.c:1092
+#: src/sid/xmms-sid.glade:2656 src/sid/xs_interface.c:1124
 msgid "Add sub-tunes to playlist"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2605 src/sid/xs_interface.c:1102
+#: src/sid/xmms-sid.glade:2675 src/sid/xs_interface.c:1134
 msgid "Only add sub-tunes that have a duration of at least specified time."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2607 src/sid/xs_interface.c:1098
+#: src/sid/xmms-sid.glade:2677 src/sid/xs_interface.c:1130
 msgid "Only tunes with specified minimum duration"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2710 src/sid/xs_interface.c:1129
+#: src/sid/xmms-sid.glade:2780 src/sid/xs_interface.c:1161
 msgid "Sub-tune handling:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2755 src/sid/xs_interface.c:1150
+#: src/sid/xmms-sid.glade:2825 src/sid/xs_interface.c:1182
 msgid ""
 "If this option is enabled (and the database & HVSC settings below are "
 "correctly set), Audacious-SID will use and display additional information "
 "from STIL database when HVSC SIDs are played."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2757 src/sid/xs_interface.c:1146
+#: src/sid/xmms-sid.glade:2827 src/sid/xs_interface.c:1178
 msgid "Use STIL database"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2782 src/sid/xs_interface.c:1157
+#: src/sid/xmms-sid.glade:2852 src/sid/xs_interface.c:1189
 msgid "STIL file:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2819 src/sid/xs_interface.c:1173
+#: src/sid/xmms-sid.glade:2889 src/sid/xs_interface.c:1205
 msgid ""
 "Path and filename of STIL database file (STIL.txt), usually found from "
 "HVSC's DOCUMENTS-subdirectory."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2854 src/sid/xs_interface.c:1186
+#: src/sid/xmms-sid.glade:2924 src/sid/xs_interface.c:1218
 msgid "Browse for STIL-database file"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2888 src/sid/xs_interface.c:1193
+#: src/sid/xmms-sid.glade:3020 src/sid/xs_interface.c:1245
 msgid "HVSC path:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2925 src/sid/xs_interface.c:1209
+#: src/sid/xmms-sid.glade:3057 src/sid/xs_interface.c:1261
 msgid ""
 "Path to base-directory of your High Voltage SID Collection (HVSC), for "
 "example /media/C64Music/"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2960 src/sid/xs_interface.c:1222
+#: src/sid/xmms-sid.glade:3092 src/sid/xs_interface.c:1274
 msgid "Browse for HVSC path"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2990 src/sid/xs_interface.c:1224
+#: src/sid/xmms-sid.glade:3184 src/sid/xs_interface.c:1296
 msgid "SID Tune Information List (STIL) database:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3063 src/sid/xs_interface.c:1248
+#: src/sid/xmms-sid.glade:3257 src/sid/xs_interface.c:1320
 msgid "Accept and update changes"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3077 src/sid/xs_interface.c:1255
+#: src/sid/xmms-sid.glade:3271 src/sid/xs_interface.c:1327
 msgid "Cancel any changes"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3102 src/sid/xs_interface.c:1543
+#: src/sid/xmms-sid.glade:3296 src/sid/xs_interface.c:1627
 msgid "Audacious-SID Fileinfo"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3172 src/sid/xs_interface.c:1572
+#: src/sid/xmms-sid.glade:3366 src/sid/xs_interface.c:1656
 msgid "Songname:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3200 src/sid/xs_interface.c:1580
+#: src/sid/xmms-sid.glade:3394 src/sid/xs_interface.c:1664
 msgid "Composer:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3228 src/sid/xs_interface.c:1588
+#: src/sid/xmms-sid.glade:3422 src/sid/xs_interface.c:1672
 msgid "Copyright:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3342 src/sid/xs_interface.c:1632
+#: src/sid/xmms-sid.glade:3536 src/sid/xs_interface.c:1716
 msgid "Song Information:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3416 src/sid/xs_interface.c:1667
+#: src/sid/xmms-sid.glade:3610 src/sid/xs_interface.c:1751
 msgid "Author:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3514 src/sid/xs_interface.c:1701
+#: src/sid/xmms-sid.glade:3708 src/sid/xs_interface.c:1785
 msgid "Duration:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3608 src/sid/xs_interface.c:1735
+#: src/sid/xmms-sid.glade:3802 src/sid/xs_interface.c:1819
 msgid "Sub-tune Information:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3662 src/sid/xs_interface.c:1796
+#: src/sid/xmms-sid.glade:3856 src/sid/xs_interface.c:1880
 msgid "Select HVSC song length database"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3704 src/sid/xs_interface.c:1837
+#: src/sid/xmms-sid.glade:3898 src/sid/xs_interface.c:1921
 msgid "Select STIL-database"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3746 src/sid/xs_interface.c:1878
+#: src/sid/xmms-sid.glade:3940 src/sid/xs_interface.c:1962
 msgid "Select HVSC location prefix"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3788 src/sid/xs_interface.c:1919
+#: src/sid/xmms-sid.glade:3982 src/sid/xs_interface.c:2003
 msgid "Select SIDPlay2 filters file for importing"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3830 src/sid/xs_interface.c:1960
+#: src/sid/xmms-sid.glade:4024 src/sid/xs_interface.c:2044
 msgid "Select SIDPlay2 filters file for exporting"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3871 src/sid/xmms-sid.glade:3953
-#: src/sid/xs_interface.c:2008 src/sid/xs_interface.c:2021
+#: src/sid/xmms-sid.glade:4065 src/sid/xmms-sid.glade:4147
+#: src/sid/xs_interface.c:2092 src/sid/xs_interface.c:2105
 msgid "Confirm selected action"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3909 src/sid/xs_interface.c:2038
+#: src/sid/xmms-sid.glade:4103 src/sid/xs_interface.c:2122
 msgid "Yes"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3921 src/sid/xs_interface.c:2044
+#: src/sid/xmms-sid.glade:4115 src/sid/xs_interface.c:2128
 msgid "No"
 msgstr ""
 
-#: src/sid/xs_about.c:84 src/wma/wma.c:121
+#: src/sid/xs_about.c:84 src/wma/wma.c:118
 #, c-format
 msgid "About %s"
 msgstr ""
@@ -4009,11 +4033,1059 @@
 msgid "Tune #%i: "
 msgstr ""
 
-#: src/sndfile/plugin.c:548
+#: src/skins/plugin.c:128
+msgid "About Skinned GUI"
+msgstr ""
+
+#: src/skins/plugin.c:129
+msgid ""
+"Copyright (c) 2008, by Tomasz Moń <desowin@gmail.com>\n"
+"\n"
+msgstr ""
+
+#: src/skins/skins_cfg.c:329
+msgid "<b>_Fonts</b>"
+msgstr ""
+
+#: src/skins/skins_cfg.c:330
+msgid "_Player:"
+msgstr ""
+
+#: src/skins/skins_cfg.c:330
+msgid "Select main player window font:"
+msgstr ""
+
+#: src/skins/skins_cfg.c:331
+msgid "_Playlist:"
+msgstr ""
+
+#: src/skins/skins_cfg.c:331
+msgid "Select playlist font:"
+msgstr ""
+
+#: src/skins/skins_cfg.c:332
+msgid "Use Bitmap fonts if available"
+msgstr ""
+
+#: src/skins/skins_cfg.c:332
+msgid ""
+"Use bitmap fonts if they are available. Bitmap fonts do not support Unicode "
+"strings."
+msgstr ""
+
+#: src/skins/skins_cfg.c:333
+msgid "<b>_Miscellaneous</b>"
+msgstr ""
+
+#: src/skins/skins_cfg.c:334
+msgid "Show track numbers in playlist"
+msgstr ""
+
+#: src/skins/skins_cfg.c:336
+msgid "Show separators in playlist"
+msgstr ""
+
+#: src/skins/skins_cfg.c:338
+msgid "Show window manager decoration"
+msgstr ""
+
+#: src/skins/skins_cfg.c:339
+msgid "This enables the window manager to show decorations for windows."
+msgstr ""
+
+#: src/skins/skins_cfg.c:340
+msgid "Use two-way text scroller"
+msgstr ""
+
+#: src/skins/skins_cfg.c:341
+msgid ""
+"If selected, the file information text in the main window will scroll back "
+"and forth. If not selected, the text will only scroll in one direction."
+msgstr ""
+
+#: src/skins/skins_cfg.c:342
+msgid "Disable inline gtk theme"
+msgstr ""
+
+#: src/skins/skins_cfg.c:343
+msgid "Allow loading incomplete skins"
+msgstr ""
+
+#: src/skins/skins_cfg.c:344
+msgid ""
+"If selected, audacious won't refuse loading broken skins. Use only if your "
+"favourite skin doesn't work"
+msgstr ""
+
+#: src/skins/skins_cfg.c:410
+msgid "Color Adjustment"
+msgstr ""
+
+#: src/skins/skins_cfg.c:417
+msgid ""
+"Audacious allows you to alter the color balance of the skinned UI. The "
+"sliders below will allow you to do this."
+msgstr ""
+
+#: src/skins/skins_cfg.c:427
+msgid "Blue"
+msgstr ""
+
+#: src/skins/skins_cfg.c:434
+msgid "Green"
+msgstr ""
+
+#: src/skins/skins_cfg.c:441
+msgid "Red"
+msgstr ""
+
+#: src/skins/skins_cfg.c:571
+msgid "Audacious Skinned GUI Configuration"
+msgstr ""
+
+#: src/skins/skins_cfg.c:596
+msgid "<b>_Skin</b>"
+msgstr ""
+
+#: src/skins/ui_equalizer.c:494
+msgid "Audacious Equalizer"
+msgstr ""
+
+#: src/skins/ui_equalizer.c:794
+#, c-format
+msgid "Error importing Winamp EQF file '%s'"
+msgstr ""
+
+#: src/skins/ui_equalizer.c:1172
+msgid "Presets"
+msgstr ""
+
+#: src/skins/ui_main.c:392
+#, c-format
+msgid "%s - Audacious"
+msgstr ""
+
+#: src/skins/ui_main.c:394 src/skins/ui_main.c:2397
+msgid "Audacious"
+msgstr ""
+
+#: src/skins/ui_main.c:641
+msgid "VBR"
+msgstr ""
+
+#: src/skins/ui_main.c:659 src/skins/ui_main.c:663
+msgid "stereo"
+msgstr ""
+
+#: src/skins/ui_main.c:659 src/skins/ui_main.c:663
+msgid "mono"
+msgstr ""
+
+#: src/skins/ui_main.c:957
+msgid "Can't jump to time when no track is being played.\n"
+msgstr ""
+
+#: src/skins/ui_main.c:972 src/skins/ui_manager.c:425
+#: src/skins/ui_manager.c:426
+msgid "Jump to Time"
+msgstr ""
+
+#: src/skins/ui_main.c:993
+msgid "minutes:seconds"
+msgstr ""
+
+#: src/skins/ui_main.c:1003
+msgid "Track length:"
+msgstr ""
+
+#: src/skins/ui_main.c:1149
+msgid "Audacious - visibility warning"
+msgstr ""
+
+#: src/skins/ui_main.c:1152
+msgid "Show main player window"
+msgstr ""
+
+#: src/skins/ui_main.c:1153
+msgid "Ignore"
+msgstr ""
+
+#: src/skins/ui_main.c:1159
+msgid ""
+"Audacious has been started with all of its windows hidden.\n"
+"You may want to show the player window again to control Audacious; "
+"otherwise, you'll have to control it remotely via audtool or enabled plugins "
+"(such as the statusicon plugin)."
+msgstr ""
+
+#: src/skins/ui_main.c:1165
+msgid "Always ignore, show/hide is controlled remotely"
+msgstr ""
+
+#: src/skins/ui_main.c:1210
+msgid "Audacious - broken GTK engine usage warning"
+msgstr ""
+
+#: src/skins/ui_main.c:1218
+#, c-format
+msgid ""
+"<big><b>Broken GTK engine in use</b></big>\n"
+"\n"
+"Audacious has detected that you are using a broken GTK engine.\n"
+"\n"
+"The theme engine you are using, <i>%s</i>, is incompatible with some of the "
+"features used by modern skins. The incompatible features have been disabled "
+"for this session.\n"
+"\n"
+"To use these features, please consider using a different GTK theme engine."
+msgstr ""
+
+#: src/skins/ui_main.c:1229
+msgid "Do not display this warning again"
+msgstr ""
+
+#: src/skins/ui_main.c:1253
+msgid "Enter location to play:"
+msgstr ""
+
+#: src/skins/ui_main.c:1497
+#, c-format
+msgid "Seek to: %d:%-2.2d/%d:%-2.2d (%d%%)"
+msgstr ""
+
+#: src/skins/ui_main.c:1527
+#, c-format
+msgid "Volume: %d%%"
+msgstr ""
+
+#: src/skins/ui_main.c:1555
+#, c-format
+msgid "Balance: %d%% left"
+msgstr ""
+
+#: src/skins/ui_main.c:1559
+msgid "Balance: center"
+msgstr ""
+
+#: src/skins/ui_main.c:1563
+#, c-format
+msgid "Balance: %d%% right"
+msgstr ""
+
+#: src/skins/ui_main.c:1881
+msgid "Options Menu"
+msgstr ""
+
+#: src/skins/ui_main.c:1885
+msgid "Disable 'Always On Top'"
+msgstr ""
+
+#: src/skins/ui_main.c:1887
+msgid "Enable 'Always On Top'"
+msgstr ""
+
+#: src/skins/ui_main.c:1890
+msgid "File Info Box"
+msgstr ""
+
+#: src/skins/ui_main.c:1894
+msgid "Disable 'GUI Scaling'"
+msgstr ""
+
+#: src/skins/ui_main.c:1896
+msgid "Enable 'GUI Scaling'"
+msgstr ""
+
+#: src/skins/ui_main.c:1899
+msgid "Visualization Menu"
+msgstr ""
+
+#: src/skins/ui_main.c:1946
+msgid ""
+"<b><big>Couldn't open audio.</big></b>\n"
+"\n"
+"Please check that:\n"
+"1. You have the correct output plugin selected.\n"
+"2. No other programs is blocking the soundcard.\n"
+"3. Your soundcard is configured properly.\n"
+msgstr ""
+
+#: src/skins/ui_manager.c:53 src/skins/ui_manager.c:54
+msgid "Autoscroll Songname"
+msgstr ""
+
+#: src/skins/ui_manager.c:56 src/skins/ui_manager.c:57
+msgid "Stop after Current Song"
+msgstr ""
+
+#: src/skins/ui_manager.c:59 src/skins/ui_manager.c:60
+msgid "Peaks"
+msgstr ""
+
+#: src/skins/ui_manager.c:62 src/skins/ui_manager.c:63
+msgid "Repeat"
+msgstr ""
+
+#: src/skins/ui_manager.c:65 src/skins/ui_manager.c:66
+msgid "Shuffle"
+msgstr ""
+
+#: src/skins/ui_manager.c:68 src/skins/ui_manager.c:69
+msgid "No Playlist Advance"
+msgstr ""
+
+#: src/skins/ui_manager.c:71 src/skins/ui_manager.c:72
+msgid "Show Player"
+msgstr ""
+
+#: src/skins/ui_manager.c:74 src/skins/ui_manager.c:75
+msgid "Show Playlist Editor"
+msgstr ""
+
+#: src/skins/ui_manager.c:77 src/skins/ui_manager.c:78
+msgid "Show Equalizer"
+msgstr ""
+
+#: src/skins/ui_manager.c:80 src/skins/ui_manager.c:81
+msgid "Always on Top"
+msgstr ""
+
+#: src/skins/ui_manager.c:83 src/skins/ui_manager.c:84
+msgid "Put on All Workspaces"
+msgstr ""
+
+#: src/skins/ui_manager.c:86 src/skins/ui_manager.c:87
+msgid "Roll up Player"
+msgstr ""
+
+#: src/skins/ui_manager.c:89 src/skins/ui_manager.c:90
+msgid "Roll up Playlist Editor"
+msgstr ""
+
+#: src/skins/ui_manager.c:92 src/skins/ui_manager.c:93
+msgid "Roll up Equalizer"
+msgstr ""
+
+#: src/skins/ui_manager.c:95 src/sndstretch/sndstretch_xmms.c:375
+msgid "Scale"
+msgstr ""
+
+#: src/skins/ui_manager.c:96
+msgid "DoubleSize"
+msgstr ""
+
+#: src/skins/ui_manager.c:98 src/skins/ui_manager.c:99
+msgid "Easy Move"
+msgstr ""
+
+#: src/skins/ui_manager.c:107
+msgid "Analyzer"
+msgstr ""
+
+#: src/skins/ui_manager.c:108
+msgid "Scope"
+msgstr ""
+
+#: src/skins/ui_manager.c:109
+msgid "Voiceprint"
+msgstr ""
+
+#: src/skins/ui_manager.c:110
+msgid "Off"
+msgstr ""
+
+#: src/skins/ui_manager.c:114 src/skins/ui_manager.c:131
+#: src/skins/ui_manager.c:137
+msgid "Normal"
+msgstr ""
+
+#: src/skins/ui_manager.c:115 src/skins/ui_manager.c:132
+msgid "Fire"
+msgstr ""
+
+#: src/skins/ui_manager.c:116
+msgid "Vertical Lines"
+msgstr ""
+
+#: src/skins/ui_manager.c:120
+msgid "Lines"
+msgstr ""
+
+#: src/skins/ui_manager.c:121
+msgid "Bars"
+msgstr ""
+
+#: src/skins/ui_manager.c:125
+msgid "Dot Scope"
+msgstr ""
+
+#: src/skins/ui_manager.c:126
+msgid "Line Scope"
+msgstr ""
+
+#: src/skins/ui_manager.c:127
+msgid "Solid Scope"
+msgstr ""
+
+#: src/skins/ui_manager.c:133
+msgid "Ice"
+msgstr ""
+
+#: src/skins/ui_manager.c:138
+msgid "Smooth"
+msgstr ""
+
+#: src/skins/ui_manager.c:142
+msgid "Full (~50 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:143
+msgid "Half (~25 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:144
+msgid "Quarter (~13 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:145
+msgid "Eighth (~6 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:149 src/skins/ui_manager.c:157
+msgid "Slowest"
+msgstr ""
+
+#: src/skins/ui_manager.c:150 src/skins/ui_manager.c:158
+msgid "Slow"
+msgstr ""
+
+#: src/skins/ui_manager.c:151 src/skins/ui_manager.c:159
+msgid "Medium"
+msgstr ""
+
+#: src/skins/ui_manager.c:152 src/skins/ui_manager.c:160
+msgid "Fast"
+msgstr ""
+
+#: src/skins/ui_manager.c:153 src/skins/ui_manager.c:161
+msgid "Fastest"
+msgstr ""
+
+#: src/skins/ui_manager.c:165
+msgid "Time Elapsed"
+msgstr ""
+
+#: src/skins/ui_manager.c:166
+msgid "Time Remaining"
+msgstr ""
+
+#: src/skins/ui_manager.c:180 src/skins/ui_manager.c:181
+msgid "Pause"
+msgstr ""
+
+#: src/skins/ui_manager.c:186 src/skins/ui_manager.c:187
+msgid "Previous"
+msgstr ""
+
+#: src/skins/ui_manager.c:189 src/skins/ui_manager.c:190
+msgid "Next"
+msgstr ""
+
+#: src/skins/ui_manager.c:195
+msgid "Visualization"
+msgstr ""
+
+#: src/skins/ui_manager.c:196
+msgid "Visualization Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:197
+msgid "Analyzer Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:198
+msgid "Scope Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:199
+msgid "Voiceprint Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:200
+msgid "WindowShade VU Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:201
+msgid "Refresh Rate"
+msgstr ""
+
+#: src/skins/ui_manager.c:202
+msgid "Analyzer Falloff"
+msgstr ""
+
+#: src/skins/ui_manager.c:203
+msgid "Peaks Falloff"
+msgstr ""
+
+#: src/skins/ui_manager.c:208
+msgid "Playlist"
+msgstr ""
+
+#: src/skins/ui_manager.c:210 src/skins/ui_manager.c:211
+msgid "New Playlist"
+msgstr ""
+
+#: src/skins/ui_manager.c:213 src/skins/ui_manager.c:214
+msgid "Select Next Playlist"
+msgstr ""
+
+#: src/skins/ui_manager.c:216 src/skins/ui_manager.c:217
+msgid "Select Previous Playlist"
+msgstr ""
+
+#: src/skins/ui_manager.c:219 src/skins/ui_manager.c:220
+msgid "Delete Playlist"
+msgstr ""
+
+#: src/skins/ui_manager.c:222
+msgid "Load List"
+msgstr ""
+
+#: src/skins/ui_manager.c:223
+msgid "Loads a playlist file into the selected playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:225
+msgid "Save List"
+msgstr ""
+
+#: src/skins/ui_manager.c:226
+msgid "Saves the selected playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:228
+msgid "Save Default List"
+msgstr ""
+
+#: src/skins/ui_manager.c:229
+msgid "Saves the selected playlist to the default location."
+msgstr ""
+
+#: src/skins/ui_manager.c:232
+msgid "Refresh List"
+msgstr ""
+
+#: src/skins/ui_manager.c:233
+msgid "Refreshes metadata associated with a playlist entry."
+msgstr ""
+
+#: src/skins/ui_manager.c:236
+msgid "List Manager"
+msgstr ""
+
+#: src/skins/ui_manager.c:237
+msgid "Opens the playlist manager."
+msgstr ""
+
+#: src/skins/ui_manager.c:243
+msgid "View"
+msgstr ""
+
+#: src/skins/ui_manager.c:247
+msgid "Add Internet Address..."
+msgstr ""
+
+#: src/skins/ui_manager.c:248
+msgid "Adds a remote track to the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:251
+msgid "Add Files..."
+msgstr ""
+
+#: src/skins/ui_manager.c:252
+msgid "Adds files to the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:257
+msgid "Search and Select"
+msgstr ""
+
+#: src/skins/ui_manager.c:258
+msgid ""
+"Searches the playlist and selects playlist entries based on specific "
+"criteria."
+msgstr ""
+
+#: src/skins/ui_manager.c:261
+msgid "Invert Selection"
+msgstr ""
+
+#: src/skins/ui_manager.c:262
+msgid "Inverts the selected and unselected entries."
+msgstr ""
+
+#: src/skins/ui_manager.c:265
+msgid "Select All"
+msgstr ""
+
+#: src/skins/ui_manager.c:266
+msgid "Selects all of the playlist entries."
+msgstr ""
+
+#: src/skins/ui_manager.c:269
+msgid "Select None"
+msgstr ""
+
+#: src/skins/ui_manager.c:270
+msgid "Deselects all of the playlist entries."
+msgstr ""
+
+#: src/skins/ui_manager.c:275
+msgid "Remove All"
+msgstr ""
+
+#: src/skins/ui_manager.c:276
+msgid "Removes all entries from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:279
+msgid "Clear Queue"
+msgstr ""
+
+#: src/skins/ui_manager.c:280
+msgid "Clears the queue associated with this playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:283
+msgid "Remove Unavailable Files"
+msgstr ""
+
+#: src/skins/ui_manager.c:284
+msgid "Removes unavailable files from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:287
+msgid "Remove Duplicates"
+msgstr ""
+
+#: src/skins/ui_manager.c:289 src/skins/ui_manager.c:321
+#: src/skins/ui_manager.c:351
+msgid "By Title"
+msgstr ""
+
+#: src/skins/ui_manager.c:290
+msgid "Removes duplicate entries from the playlist by title."
+msgstr ""
+
+#: src/skins/ui_manager.c:293 src/skins/ui_manager.c:329
+#: src/skins/ui_manager.c:359
+msgid "By Filename"
+msgstr ""
+
+#: src/skins/ui_manager.c:294
+msgid "Removes duplicate entries from the playlist by filename."
+msgstr ""
+
+#: src/skins/ui_manager.c:297 src/skins/ui_manager.c:333
+#: src/skins/ui_manager.c:363
+msgid "By Path + Filename"
+msgstr ""
+
+#: src/skins/ui_manager.c:298
+msgid "Removes duplicate entries from the playlist by their full path."
+msgstr ""
+
+#: src/skins/ui_manager.c:301
+msgid "Remove Unselected"
+msgstr ""
+
+#: src/skins/ui_manager.c:302
+msgid "Remove unselected entries from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:305
+msgid "Remove Selected"
+msgstr ""
+
+#: src/skins/ui_manager.c:306
+msgid "Remove selected entries from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:311
+msgid "Randomize List"
+msgstr ""
+
+#: src/skins/ui_manager.c:312
+msgid "Randomizes the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:315
+msgid "Reverse List"
+msgstr ""
+
+#: src/skins/ui_manager.c:316
+msgid "Reverses the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:319
+msgid "Sort List"
+msgstr ""
+
+#: src/skins/ui_manager.c:322 src/skins/ui_manager.c:352
+msgid "Sorts the list by title."
+msgstr ""
+
+#: src/skins/ui_manager.c:325 src/skins/ui_manager.c:355
+msgid "By Artist"
+msgstr ""
+
+#: src/skins/ui_manager.c:326 src/skins/ui_manager.c:356
+msgid "Sorts the list by artist."
+msgstr ""
+
+#: src/skins/ui_manager.c:330 src/skins/ui_manager.c:360
+msgid "Sorts the list by filename."
+msgstr ""
+
+#: src/skins/ui_manager.c:334 src/skins/ui_manager.c:364
+msgid "Sorts the list by full pathname."
+msgstr ""
+
+#: src/skins/ui_manager.c:337 src/skins/ui_manager.c:367
+msgid "By Date"
+msgstr ""
+
+#: src/skins/ui_manager.c:338 src/skins/ui_manager.c:368
+msgid "Sorts the list by modification time."
+msgstr ""
+
+#: src/skins/ui_manager.c:341 src/skins/ui_manager.c:371
+msgid "By Track Number"
+msgstr ""
+
+#: src/skins/ui_manager.c:342 src/skins/ui_manager.c:372
+msgid "Sorts the list by track number."
+msgstr ""
+
+#: src/skins/ui_manager.c:345 src/skins/ui_manager.c:375
+msgid "By Playlist Entry"
+msgstr ""
+
+#: src/skins/ui_manager.c:346 src/skins/ui_manager.c:376
+msgid "Sorts the list by playlist entry."
+msgstr ""
+
+#: src/skins/ui_manager.c:349
+msgid "Sort Selected"
+msgstr ""
+
+#: src/skins/ui_manager.c:385
+msgid "File"
+msgstr ""
+
+#: src/skins/ui_manager.c:388
+msgid "Plugin Services"
+msgstr ""
+
+#: src/skins/ui_manager.c:390 src/skins/ui_manager.c:393
+msgid "View Track Details"
+msgstr ""
+
+#: src/skins/ui_manager.c:391 src/skins/ui_manager.c:394
+msgid "View track details"
+msgstr ""
+
+#: src/skins/ui_manager.c:396 src/skins/ui_manager.c:397
+msgid "About Audacious"
+msgstr ""
+
+#: src/skins/ui_manager.c:399
+msgid "Play File"
+msgstr ""
+
+#: src/skins/ui_manager.c:400
+msgid "Load and play a file"
+msgstr ""
+
+#: src/skins/ui_manager.c:402
+msgid "Play Location"
+msgstr ""
+
+#: src/skins/ui_manager.c:403
+msgid "Play media from the selected location"
+msgstr ""
+
+#: src/skins/ui_manager.c:405
+msgid "Plugin services"
+msgstr ""
+
+#: src/skins/ui_manager.c:407
+msgid "Preferences"
+msgstr ""
+
+#: src/skins/ui_manager.c:408
+msgid "Open preferences window"
+msgstr ""
+
+#: src/skins/ui_manager.c:410
+msgid "_Quit"
+msgstr ""
+
+#: src/skins/ui_manager.c:411
+msgid "Quit Audacious"
+msgstr ""
+
+#: src/skins/ui_manager.c:413 src/skins/ui_manager.c:414
+msgid "Set A-B"
+msgstr ""
+
+#: src/skins/ui_manager.c:416 src/skins/ui_manager.c:417
+msgid "Clear A-B"
+msgstr ""
+
+#: src/skins/ui_manager.c:419 src/skins/ui_manager.c:420
+msgid "Jump to Playlist Start"
+msgstr ""
+
+#: src/skins/ui_manager.c:428
+msgid "Queue Toggle"
+msgstr ""
+
+#: src/skins/ui_manager.c:429
+msgid "Enables/disables the entry in the playlist's queue."
+msgstr ""
+
+#: src/skins/ui_manager.c:436
+msgid "Load"
+msgstr ""
+
+#: src/skins/ui_manager.c:441 src/skins/ui_manager.c:462
+#: src/skins/ui_manager.c:477
+msgid "Preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:442
+msgid "Load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:444 src/skins/ui_manager.c:465
+#: src/skins/ui_manager.c:480
+msgid "Auto-load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:445
+msgid "Load auto-load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:448
+msgid "Load default preset into equalizer"
+msgstr ""
+
+#: src/skins/ui_manager.c:450
+msgid "Zero"
+msgstr ""
+
+#: src/skins/ui_manager.c:451
+msgid "Set equalizer preset levels to zero"
+msgstr ""
+
+#: src/skins/ui_manager.c:453
+msgid "From file"
+msgstr ""
+
+#: src/skins/ui_manager.c:454
+msgid "Load preset from file"
+msgstr ""
+
+#: src/skins/ui_manager.c:456
+msgid "From WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:457
+msgid "Load preset from WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:459
+msgid "WinAMP Presets"
+msgstr ""
+
+#: src/skins/ui_manager.c:460
+msgid "Import WinAMP presets"
+msgstr ""
+
+#: src/skins/ui_manager.c:463
+msgid "Save preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:466
+msgid "Save auto-load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:469
+msgid "Save default preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:471
+msgid "To file"
+msgstr ""
+
+#: src/skins/ui_manager.c:472
+msgid "Save preset to file"
+msgstr ""
+
+#: src/skins/ui_manager.c:474
+msgid "To WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:475
+msgid "Save preset to WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:478
+msgid "Delete preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:481
+msgid "Delete auto-load preset"
+msgstr ""
+
+#: src/skins/ui_playlist.c:454
+msgid "Search entries in active playlist"
+msgstr ""
+
+#: src/skins/ui_playlist.c:462
+msgid ""
+"Select entries in playlist by filling one or more fields. Fields use regular "
+"expressions syntax, case-insensitive. If you don't know how regular "
+"expressions work, simply insert a literal portion of what you're searching "
+"for."
+msgstr ""
+
+#: src/skins/ui_playlist.c:477
+msgid "Album: "
+msgstr ""
+
+#: src/skins/ui_playlist.c:484
+msgid "Artist: "
+msgstr ""
+
+#: src/skins/ui_playlist.c:491
+msgid "Filename: "
+msgstr ""
+
+#: src/skins/ui_playlist.c:499
+msgid "Clear previous selection before searching"
+msgstr ""
+
+#: src/skins/ui_playlist.c:502
+msgid "Automatically toggle queue for matching entries"
+msgstr ""
+
+#: src/skins/ui_playlist.c:505
+msgid "Create a new playlist with matching entries"
+msgstr ""
+
+#: src/skins/ui_playlist.c:724
+#, c-format
+msgid "Error writing playlist \"%s\": %s"
+msgstr ""
+
+#: src/skins/ui_playlist.c:746
+#, c-format
+msgid "%s already exist. Continue?"
+msgstr ""
+
+#: src/skins/ui_playlist.c:761
+#, c-format
+msgid ""
+"<b><big>Unable to save playlist.</big></b>\n"
+"\n"
+"Unknown file type for '%s'.\n"
+msgstr ""
+
+#: src/skins/ui_playlist.c:887
+msgid "Save as Static Playlist"
+msgstr ""
+
+#: src/skins/ui_playlist.c:894
+msgid "Use Relative Path"
+msgstr ""
+
+#: src/skins/ui_playlist.c:916
+msgid "Load Playlist"
+msgstr ""
+
+#: src/skins/ui_playlist.c:929
+msgid "Save Playlist"
+msgstr ""
+
+#: src/skins/ui_playlist.c:1497
+msgid "Audacious Playlist Editor"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:377
+msgid "PREAMP"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:377
+msgid "60HZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:377
+msgid "170HZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:378
+msgid "310HZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:378
+msgid "600HZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:378
+msgid "1KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:379
+msgid "3KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:379
+msgid "6KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:379
+msgid "12KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:380
+msgid "14KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:380
+msgid "16KHZ"
+msgstr ""
+
+#: src/skins/ui_skinselector.c:178
+msgid "Archived Winamp 2.x skin"
+msgstr ""
+
+#: src/skins/ui_skinselector.c:183
+msgid "Unarchived Winamp 2.x skin"
+msgstr ""
+
+#: src/skins/util.c:1132
+#, c-format
+msgid "Could not create directory (%s): %s\n"
+msgstr ""
+
+#: src/sndfile/plugin.c:554
 msgid "About sndfile plugin"
 msgstr ""
 
-#: src/sndfile/plugin.c:549
+#: src/sndfile/plugin.c:555
 msgid ""
 "Adapted for Audacious usage by Tony Vroon <chainsaw@gentoo.org>\n"
 "from the xmms_sndfile plugin which is:\n"
@@ -4036,61 +5108,57 @@
 "Boston, MA  02110-1301  USA"
 msgstr ""
 
-#: src/sndstretch/sndstretch_xmms.c:159
+#: src/sndstretch/sndstretch_xmms.c:158
 msgid "About SndStretch"
 msgstr ""
 
+#: src/sndstretch/sndstretch_xmms.c:318
+msgid "Volume corr."
+msgstr ""
+
 #: src/sndstretch/sndstretch_xmms.c:319
-msgid "Volume corr."
-msgstr ""
-
-#: src/sndstretch/sndstretch_xmms.c:320
 msgid "Short Overlap"
 msgstr ""
 
+#: src/sndstretch/sndstretch_xmms.c:373
+msgid "Speed"
+msgstr ""
+
 #: src/sndstretch/sndstretch_xmms.c:374
-msgid "Speed"
-msgstr ""
-
-#: src/sndstretch/sndstretch_xmms.c:375
 msgid "Pitch"
 msgstr ""
 
-#: src/sndstretch/sndstretch_xmms.c:376
-msgid "Scale"
-msgstr ""
-
-#: src/sndstretch/sndstretch_xmms.c:396
+#: src/sndstretch/sndstretch_xmms.c:395
 msgid "SndStretch - Configuration"
 msgstr ""
 
-#: src/song_change/song_change.c:312
+#: src/song_change/song_change.c:310
 msgid "Commands"
 msgstr ""
 
-#: src/song_change/song_change.c:319
+#: src/song_change/song_change.c:317
 msgid "Command to run when Audacious starts a new song."
 msgstr ""
 
-#: src/song_change/song_change.c:328 src/song_change/song_change.c:350
-#: src/song_change/song_change.c:371 src/song_change/song_change.c:392
+#: src/song_change/song_change.c:326 src/song_change/song_change.c:348
+#: src/song_change/song_change.c:369 src/song_change/song_change.c:390
 msgid "Command:"
 msgstr ""
 
-#: src/song_change/song_change.c:342
+#: src/song_change/song_change.c:340
 msgid "Command to run toward the end of a song."
 msgstr ""
 
-#: src/song_change/song_change.c:362
+#: src/song_change/song_change.c:360
 msgid "Command to run when Audacious reaches the end of the playlist."
 msgstr ""
 
-#: src/song_change/song_change.c:383
+#: src/song_change/song_change.c:381
 msgid ""
 "Command to run when title changes for a song (i.e. network streams titles)."
 msgstr ""
 
-#: src/song_change/song_change.c:404
+#: src/song_change/song_change.c:402
 #, c-format
 msgid ""
 "You can use the following format strings which\n"
@@ -4107,13 +5175,13 @@
 "%%p: Currently playing (1 or 0)"
 msgstr ""
 
-#: src/song_change/song_change.c:429
+#: src/song_change/song_change.c:427
 msgid ""
 "<span size='small'>Parameters passed to the shell should be encapsulated in "
 "quotes. Doing otherwise is a security risk.</span>"
 msgstr ""
 
-#: src/spectrum/spectrum.c:90
+#: src/spectrum/spectrum.c:89
 msgid "Spectrum Analyzer"
 msgstr ""
 
@@ -4125,11 +5193,11 @@
 msgid "The orientation of the tray"
 msgstr ""
 
-#: src/statusicon/si_ui.c:622
+#: src/statusicon/si_ui.c:620
 msgid "About Status Icon Plugin"
 msgstr ""
 
-#: src/statusicon/si_ui.c:624
+#: src/statusicon/si_ui.c:622
 msgid ""
 "\n"
 "written by Giacomo Lozito < james@develia.org >\n"
@@ -4138,62 +5206,58 @@
 "the system tray area of the window manager.\n"
 msgstr ""
 
-#: src/statusicon/si_ui.c:696
+#: src/statusicon/si_ui.c:694
 msgid "Status Icon Plugin - Preferences"
 msgstr ""
 
-#: src/statusicon/si_ui.c:707
+#: src/statusicon/si_ui.c:705
 msgid "Right-Click Menu"
 msgstr ""
 
-#: src/statusicon/si_ui.c:712
+#: src/statusicon/si_ui.c:710
 msgid "Audacious standard menu"
 msgstr ""
 
-#: src/statusicon/si_ui.c:717
+#: src/statusicon/si_ui.c:715
 msgid "Small playback menu #1"
 msgstr ""
 
-#: src/statusicon/si_ui.c:722
+#: src/statusicon/si_ui.c:720
 msgid "Small playback menu #2"
 msgstr ""
 
-#: src/statusicon/si_ui.c:745
+#: src/statusicon/si_ui.c:743
 msgid "Mouse Scroll Action"
 msgstr ""
 
-#: src/statusicon/si_ui.c:750
+#: src/statusicon/si_ui.c:748
 msgid "Change volume"
 msgstr ""
 
-#: src/statusicon/si_ui.c:755
+#: src/statusicon/si_ui.c:753
 msgid "Change playing song"
 msgstr ""
 
-#: src/stereo_plugin/stereo.c:26
+#: src/stereo_plugin/stereo.c:25
 msgid ""
 "Extra Stereo Plugin\n"
 "\n"
 "By Johan Levin 1999."
 msgstr ""
 
-#: src/stereo_plugin/stereo.c:52
+#: src/stereo_plugin/stereo.c:51
 msgid "About Extra Stereo Plugin"
 msgstr ""
 
-#: src/stereo_plugin/stereo.c:93
+#: src/stereo_plugin/stereo.c:92
 msgid "Configure Extra Stereo"
 msgstr ""
 
-#: src/stereo_plugin/stereo.c:95
-msgid "Effect intensity:"
+#: src/sun/about.c:33
+msgid "About the Sun Driver"
 msgstr ""
 
 #: src/sun/about.c:34
-msgid "About the Sun Driver"
-msgstr ""
-
-#: src/sun/about.c:35
 msgid ""
 "XMMS BSD Sun Driver\n"
 "\n"
@@ -4201,19 +5265,19 @@
 "Maintainer: <vedge at csoft.org>.\n"
 msgstr ""
 
-#: src/sun/configure.c:201
+#: src/sun/configure.c:199
 msgid "Audio control device:"
 msgstr ""
 
-#: src/sun/configure.c:350
+#: src/sun/configure.c:348
 msgid "Volume controls device:"
 msgstr ""
 
-#: src/sun/configure.c:363
+#: src/sun/configure.c:361
 msgid "XMMS uses mixer exclusively."
 msgstr ""
 
-#: src/sun/configure.c:538
+#: src/sun/configure.c:536
 msgid "Sun driver configuration"
 msgstr ""
 
@@ -4241,27 +5305,27 @@
 msgid "TiMidity Configuration File"
 msgstr ""
 
-#: src/timidity/xmms-timidity.c:118
+#: src/timidity/xmms-timidity.c:115
 msgid ""
 "TiMidity Plugin\n"
 "http://libtimidity.sourceforge.net\n"
 "by Konstantin Korikov"
 msgstr ""
 
-#: src/timidity/xmms-timidity.c:119
+#: src/timidity/xmms-timidity.c:116
 #, c-format
 msgid "TiMidity Plugin %s"
 msgstr ""
 
-#: src/timidity/xmms-timidity.c:336
+#: src/timidity/xmms-timidity.c:333
 msgid "Couldn't load MIDI file"
 msgstr ""
 
-#: src/tonegen/tonegen.c:56
+#: src/tonegen/tonegen.c:55
 msgid "About Tone Generator"
 msgstr ""
 
-#: src/tonegen/tonegen.c:58
+#: src/tonegen/tonegen.c:57
 msgid ""
 "Sinus tone generator by Haavard Kvaalen <havardk@xmms.org>\n"
 "Modified by Daniel J. Peng <danielpeng@bigfoot.com>\n"
@@ -4270,86 +5334,86 @@
 "e.g. tone://2000;2005 to play a 2000Hz tone and a 2005Hz tone"
 msgstr ""
 
-#: src/tonegen/tonegen.c:167
+#: src/tonegen/tonegen.c:166
 #, c-format
 msgid "%s %.1f Hz"
 msgstr ""
 
-#: src/tonegen/tonegen.c:167
+#: src/tonegen/tonegen.c:166
 msgid "Tone Generator: "
 msgstr ""
 
+#: src/tta/libtta.c:127
+msgid "Can't open file\n"
+msgstr ""
+
 #: src/tta/libtta.c:130
-msgid "Can't open file\n"
+msgid "Not supported file format\n"
 msgstr ""
 
 #: src/tta/libtta.c:133
-msgid "Not supported file format\n"
+msgid "File is corrupted\n"
 msgstr ""
 
 #: src/tta/libtta.c:136
-msgid "File is corrupted\n"
+msgid "Can't read from file\n"
 msgstr ""
 
 #: src/tta/libtta.c:139
-msgid "Can't read from file\n"
+msgid "Insufficient memory available\n"
 msgstr ""
 
 #: src/tta/libtta.c:142
-msgid "Insufficient memory available\n"
+msgid "Output plugin error\n"
 msgstr ""
 
 #: src/tta/libtta.c:145
-msgid "Output plugin error\n"
-msgstr ""
-
-#: src/tta/libtta.c:148
 msgid "Unknown error\n"
 msgstr ""
 
-#: src/tta/libtta.c:152
+#: src/tta/libtta.c:149
 msgid "TTA Decoder Error"
 msgstr ""
 
-#: src/tta/libtta.c:261
+#: src/tta/libtta.c:258
 msgid "TTA input plugin "
 msgstr ""
 
-#: src/tta/libtta.c:262
+#: src/tta/libtta.c:259
 msgid ""
 " for BMP\n"
 "Copyright (c) 2004 True Audio Software\n"
 msgstr ""
 
-#: src/tta/libtta.c:265
+#: src/tta/libtta.c:262
 msgid "About True Audio Plugin"
 msgstr ""
 
-#: src/tta/libtta.c:316
+#: src/tta/libtta.c:313
 msgid "ID3 Tag:"
 msgstr ""
 
-#: src/tta/libtta.c:378 src/wavpack/ui.cxx:234
+#: src/tta/libtta.c:375 src/wavpack/ui.cxx:232
 msgid "Track number:"
 msgstr ""
 
-#: src/vorbis/configure.c:84
+#: src/vorbis/configure.c:82
 msgid "Ogg Vorbis Audio Plugin Configuration"
 msgstr ""
 
-#: src/vorbis/configure.c:94
+#: src/vorbis/configure.c:92
 msgid "Ogg Vorbis Tags:"
 msgstr ""
 
-#: src/vorbis/configure.c:115
+#: src/vorbis/configure.c:113
 msgid "Title format:"
 msgstr ""
 
-#: src/vorbis/vorbis.c:681
+#: src/vorbis/vorbis.c:677
 msgid "About Ogg Vorbis Audio Plugin"
 msgstr ""
 
-#: src/vorbis/vorbis.c:687
+#: src/vorbis/vorbis.c:683
 msgid ""
 "Ogg Vorbis Plugin by the Xiph.org Foundation\n"
 "\n"
@@ -4368,11 +5432,11 @@
 "Visit the Xiph.org Foundation at http://www.xiph.org/\n"
 msgstr ""
 
-#: src/vtx/about.c:23
+#: src/vtx/about.c:17
 msgid "About Vortex Player"
 msgstr ""
 
-#: src/vtx/about.c:25
+#: src/vtx/about.c:19
 msgid ""
 "Vortex file format player by Sashnov Alexander <sashnov@ngs.ru>\n"
 "Founded on original source in_vtx.dll by Roman Sherbakov <v_soft@microfor."
@@ -4384,12 +5448,12 @@
 "Audacious implementation by Pavel Vymetalek <pvymetalek@seznam.cz>"
 msgstr ""
 
-#: src/wavpack/ui.cxx:52
+#: src/wavpack/ui.cxx:50
 #, c-format
 msgid "Wavpack Decoder Plugin %s"
 msgstr ""
 
-#: src/wavpack/ui.cxx:53
+#: src/wavpack/ui.cxx:51
 msgid ""
 "Copyright (c) 2006 William Pitcock <nenolod -at- nenolod.net>\n"
 "\n"
@@ -4397,90 +5461,90 @@
 "Visit the Wavpack site at http://www.wavpack.com/\n"
 msgstr ""
 
-#: src/wavpack/ui.cxx:165
+#: src/wavpack/ui.cxx:163
 msgid "Ape2 Tag"
 msgstr ""
 
-#: src/wavpack/ui.cxx:288
+#: src/wavpack/ui.cxx:286
 msgid "Wavpack Info:"
 msgstr ""
 
+#: src/wavpack/ui.cxx:379
+#, c-format
+msgid "version %d"
+msgstr ""
+
+#: src/wavpack/ui.cxx:380
+#, c-format
+msgid "average bitrate: %6.1f kbps"
+msgstr ""
+
 #: src/wavpack/ui.cxx:381
 #, c-format
-msgid "version %d"
+msgid "samplerate: %d Hz"
 msgstr ""
 
 #: src/wavpack/ui.cxx:382
 #, c-format
-msgid "average bitrate: %6.1f kbps"
+msgid "bits per sample: %d"
 msgstr ""
 
 #: src/wavpack/ui.cxx:383
 #, c-format
-msgid "samplerate: %d Hz"
+msgid "channels: %d"
 msgstr ""
 
 #: src/wavpack/ui.cxx:384
 #, c-format
-msgid "bits per sample: %d"
+msgid "length: %d:%.2d"
 msgstr ""
 
 #: src/wavpack/ui.cxx:385
 #, c-format
-msgid "channels: %d"
-msgstr ""
-
-#: src/wavpack/ui.cxx:386
-#, c-format
-msgid "length: %d:%.2d"
-msgstr ""
-
-#: src/wavpack/ui.cxx:387
-#, c-format
 msgid "file size: %d Bytes"
 msgstr ""
 
+#: src/wavpack/ui.cxx:392
+msgid "Title Peak: ?"
+msgstr ""
+
+#: src/wavpack/ui.cxx:393
+msgid "Album Peak: ?"
+msgstr ""
+
 #: src/wavpack/ui.cxx:394
-msgid "Title Peak: ?"
+msgid "Title Gain: ?"
 msgstr ""
 
 #: src/wavpack/ui.cxx:395
-msgid "Album Peak: ?"
-msgstr ""
-
-#: src/wavpack/ui.cxx:396
-msgid "Title Gain: ?"
-msgstr ""
-
-#: src/wavpack/ui.cxx:397
 msgid "Album Gain: ?"
 msgstr ""
 
-#: src/wavpack/ui.cxx:471
+#: src/wavpack/ui.cxx:469
 msgid "Wavpack Configuration"
 msgstr ""
 
-#: src/wavpack/ui.cxx:484
+#: src/wavpack/ui.cxx:482
 msgid "General Plugin Settings:"
 msgstr ""
 
-#: src/wavpack/ui.cxx:502
+#: src/wavpack/ui.cxx:500
 msgid "ReplayGain Settings:"
 msgstr ""
 
-#: src/wavpack/ui.cxx:520
+#: src/wavpack/ui.cxx:518
 msgid "ReplayGain Type:"
 msgstr ""
 
-#: src/wavpack/ui.cxx:531
+#: src/wavpack/ui.cxx:529
 msgid "use Track Gain/Peak"
 msgstr ""
 
-#: src/wavpack/ui.cxx:539
+#: src/wavpack/ui.cxx:537
 msgid "use Album Gain/Peak"
 msgstr ""
 
-#: src/wma/wma.c:123
+#: src/wma/wma.c:120
 msgid ""
 "Adapted for use in Audacious by Tony Vroon (chainsaw@gentoo.org) from\n"
 "the BEEP-WMA plugin which is Copyright (C) 2004,2005 Mokrushin I.V. aka "
--- a/po/ca.po	Thu Jul 03 17:23:34 2008 +0300
+++ b/po/ca.po	Thu Jul 03 17:37:11 2008 +0300
@@ -6,8 +6,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: audacious-plugins 1.3.0-alpha4\n"
-"Report-Msgid-Bugs-To: http://bugs.audacious-media-player.org\n"
-"POT-Creation-Date: 2008-03-30 17:25+0200\n"
+"Report-Msgid-Bugs-To: http://bugzilla.atheme.org/\n"
+"POT-Creation-Date: 2008-06-21 08:27+0300\n"
 "PO-Revision-Date: 2007-02-09 21:12+0100\n"
 "Last-Translator: Ernest Adrogué <eadrogue@gmx.net>\n"
 "Language-Team: Catalan <ca@dodds.net>\n"
@@ -15,50 +15,50 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: src/aac/libmp4.c:286
+#: src/aac/libmp4.c:283
 msgid "Using libfaad2-"
 msgstr ""
 
-#: src/aac/libmp4.c:287
+#: src/aac/libmp4.c:284
 msgid ""
 " for decoding.\n"
 "FAAD2 AAC/HE-AAC/HE-AACv2/DRM decoder (c) Nero AG, www.nero.com\n"
 "Copyright (c) 2005-2006 Audacious team"
 msgstr ""
 
-#: src/aac/libmp4.c:291
+#: src/aac/libmp4.c:288
 #, fuzzy
 msgid "About MP4 AAC player plugin"
 msgstr "Quant al plugin per a àudio MPEG"
 
-#: src/aac/libmp4.c:293 src/adplug/adplug-xmms.cc:182
-#: src/adplug/adplug-xmms.cc:265 src/adplug/adplug-xmms.cc:526
-#: src/alac/plugin.c:77 src/arts/arts.c:26 src/arts/configure.c:90
-#: src/audiocompress/audacious-glue.c:102
-#: src/audiocompress/audacious-glue.c:552 src/cdaudio-ng/configure.c:228
-#: src/console/Audacious_Driver.cxx:449 src/demac/plugin.c:393
-#: src/echo_plugin/gui.c:26 src/echo_plugin/gui.c:137 src/esd/about.c:49
-#: src/filewriter/filewriter.c:183 src/jack/configure.c:141
-#: src/jack/jack.c:456 src/madplug/plugin.c:542 src/madplug/plugin.c:566
-#: src/metronom/metronom.c:88 src/modplug/gui/main.cxx:49
-#: src/musepack/libmpc.cxx:232 src/null/null.c:67 src/null/null.c:110
-#: src/OSS4/about.c:59 src/OSS/about.c:54 src/paranormal-ng/plugin.c:283
-#: src/paranormal/plugin.c:291 src/scrobbler/gtkstuff.c:25
-#: src/sndfile/plugin.c:565 src/statusicon/si_ui.c:628
-#: src/stereo_plugin/stereo.c:53 src/stereo_plugin/stereo.c:116
-#: src/sun/about.c:38 src/sun/configure.c:559 src/timidity/interface.c:222
-#: src/timidity/xmms-timidity.c:120 src/tonegen/tonegen.c:62
-#: src/tta/libtta.c:153 src/tta/libtta.c:267 src/tta/libtta.c:402
-#: src/vorbis/vorbis.c:700 src/vtx/about.c:32 src/vtx/info.c:43
-#: src/wavpack/ui.cxx:56 src/wavpack/ui.cxx:556
+#: src/aac/libmp4.c:290 src/adplug/adplug-xmms.cc:180
+#: src/adplug/adplug-xmms.cc:263 src/adplug/adplug-xmms.cc:524
+#: src/alac/plugin.c:74 src/arts/arts.c:25 src/arts/configure.c:90
+#: src/audiocompress/audacious-glue.c:110
+#: src/audiocompress/audacious-glue.c:560 src/cdaudio-ng/configure.c:242
+#: src/console/Audacious_Driver.cxx:447 src/crystalizer/crystalizer.c:113
+#: src/demac/plugin.c:364 src/echo_plugin/gui.c:24 src/echo_plugin/gui.c:135
+#: src/esd/about.c:48 src/filewriter/filewriter.c:183 src/jack/configure.c:140
+#: src/jack/jack.c:454 src/madplug/plugin.c:679 src/madplug/plugin.c:703
+#: src/metronom/metronom.c:87 src/modplug/gui/main.cxx:52
+#: src/musepack/libmpc.cxx:228 src/null/null.c:64 src/null/null.c:107
+#: src/OSS4/OSS4.c:55 src/OSS/OSS.c:52 src/paranormal-ng/plugin.c:282
+#: src/paranormal/plugin.c:290 src/scrobbler/gtkstuff.c:22
+#: src/sndfile/plugin.c:571 src/statusicon/si_ui.c:626
+#: src/stereo_plugin/stereo.c:52 src/stereo_plugin/stereo.c:115
+#: src/sun/about.c:37 src/sun/configure.c:557 src/timidity/interface.c:222
+#: src/timidity/xmms-timidity.c:117 src/tonegen/tonegen.c:61
+#: src/tta/libtta.c:150 src/tta/libtta.c:264 src/tta/libtta.c:399
+#: src/vorbis/vorbis.c:696 src/vtx/about.c:26 src/vtx/info.c:38
+#: src/wavpack/ui.cxx:54 src/wavpack/ui.cxx:554
 msgid "Ok"
 msgstr "D'acord"
 
-#: src/adplug/adplug-xmms.cc:171
+#: src/adplug/adplug-xmms.cc:169
 msgid "About "
 msgstr "Quant a "
 
-#: src/adplug/adplug-xmms.cc:175
+#: src/adplug/adplug-xmms.cc:173
 msgid ""
 "\n"
 "Copyright (C) 2002, 2003 Simon Peter <dn.tlp@gmx.net>\n"
@@ -81,209 +81,209 @@
 "\n"
 "Versió de la llibreria AdPlug enllaçada: "
 
-#: src/adplug/adplug-xmms.cc:256
+#: src/adplug/adplug-xmms.cc:254
 #, fuzzy
 msgid "AdPlug :: Configuration"
 msgstr "Configuració del plugin d'àudio MPEG"
 
-#: src/adplug/adplug-xmms.cc:275 src/alarm/interface.c:1398
+#: src/adplug/adplug-xmms.cc:273 src/alarm/interface.c:1398
 #: src/alsa/configure.c:389 src/arts/configure.c:91
-#: src/audiocompress/audacious-glue.c:557 src/cdaudio-ng/configure.c:232
-#: src/echo_plugin/gui.c:145 src/jack/configure.c:148
-#: src/modplug/gui/interface.cxx:714 src/modplug/gui/modplug.glade:1668
-#: src/musepack/libmpc.cxx:237 src/musepack/libmpc.cxx:557 src/null/null.c:111
-#: src/sid/xmms-sid.glade:3080 src/sid/xs_interface.c:1250
-#: src/stereo_plugin/stereo.c:125 src/sun/configure.c:567
-#: src/timidity/interface.c:230 src/wavpack/ui.cxx:280 src/wavpack/ui.cxx:563
+#: src/audiocompress/audacious-glue.c:565 src/cdaudio-ng/configure.c:246
+#: src/crystalizer/crystalizer.c:122 src/echo_plugin/gui.c:143
+#: src/jack/configure.c:147 src/modplug/gui/interface.cxx:714
+#: src/modplug/gui/modplug.glade:1668 src/musepack/libmpc.cxx:233
+#: src/musepack/libmpc.cxx:553 src/null/null.c:108
+#: src/stereo_plugin/stereo.c:124 src/sun/configure.c:565
+#: src/timidity/interface.c:230 src/wavpack/ui.cxx:278 src/wavpack/ui.cxx:561
 msgid "Cancel"
 msgstr "Cancel·la"
 
-#: src/adplug/adplug-xmms.cc:291 src/console/Audacious_Config.cxx:145
-#: src/madplug/configure.c:290 src/modplug/gui/interface.cxx:628
+#: src/adplug/adplug-xmms.cc:289 src/console/Audacious_Config.cxx:144
+#: src/madplug/configure.c:289 src/modplug/gui/interface.cxx:628
 #: src/modplug/gui/interface.cxx:887 src/modplug/gui/modplug.glade:1404
 #: src/modplug/gui/modplug.glade:1804
 msgid "General"
 msgstr "General"
 
-#: src/adplug/adplug-xmms.cc:303
+#: src/adplug/adplug-xmms.cc:301
 #, fuzzy
 msgid "Sound quality"
 msgstr "Clip d'àudio"
 
-#: src/adplug/adplug-xmms.cc:308 src/modplug/gui/interface.cxx:187
+#: src/adplug/adplug-xmms.cc:306 src/modplug/gui/interface.cxx:187
 #: src/modplug/gui/modplug.glade:113
 #, fuzzy
 msgid "Resolution"
 msgstr "Resolució:"
 
-#: src/adplug/adplug-xmms.cc:310
+#: src/adplug/adplug-xmms.cc:308
 #, fuzzy
 msgid "8bit"
 msgstr "8 bits"
 
-#: src/adplug/adplug-xmms.cc:315
+#: src/adplug/adplug-xmms.cc:313
 #, fuzzy
 msgid "16bit"
 msgstr "16 bits"
 
-#: src/adplug/adplug-xmms.cc:323 src/modplug/gui/interface.cxx:218
+#: src/adplug/adplug-xmms.cc:321 src/modplug/gui/interface.cxx:218
 #: src/modplug/gui/modplug.glade:199 src/timidity/interface.c:148
 msgid "Channels"
 msgstr "Canals"
 
-#: src/adplug/adplug-xmms.cc:325 src/filewriter/mp3.c:900
-#: src/sid/xmms-sid.glade:157 src/sid/xs_interface.c:288
+#: src/adplug/adplug-xmms.cc:323 src/filewriter/mp3.c:900
+#: src/sid/xmms-sid.glade:157 src/sid/xs_interface.c:300
 #: src/timidity/interface.c:165
 msgid "Mono"
 msgstr "Mono"
 
-#: src/adplug/adplug-xmms.cc:330 src/filewriter/mp3.c:895
+#: src/adplug/adplug-xmms.cc:328 src/filewriter/mp3.c:895
 #: src/modplug/gui/interface.cxx:204 src/modplug/gui/modplug.glade:159
-#: src/sid/xmms-sid.glade:176 src/sid/xs_interface.c:295
+#: src/sid/xmms-sid.glade:176 src/sid/xs_interface.c:307
 #: src/timidity/interface.c:173
 msgid "Stereo"
 msgstr "Estèreo"
 
-#: src/adplug/adplug-xmms.cc:334
+#: src/adplug/adplug-xmms.cc:332
 msgid ""
 "Setting stereo is not recommended, unless you need to. This won't add any "
 "stereo effects to the sound - OPL2 is just mono - but eats up more CPU power!"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:342
+#: src/adplug/adplug-xmms.cc:340
 msgid "Frequency"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:378 src/adplug/adplug-xmms.cc:582
-#: src/console/Audacious_Config.cxx:147
+#: src/adplug/adplug-xmms.cc:376 src/adplug/adplug-xmms.cc:580
+#: src/console/Audacious_Config.cxx:146 src/skins/ui_manager.c:175
 msgid "Playback"
 msgstr "Reproducció"
 
-#: src/adplug/adplug-xmms.cc:382
+#: src/adplug/adplug-xmms.cc:380
 msgid "Detect songend"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:386
+#: src/adplug/adplug-xmms.cc:384
 msgid ""
 "If enabled, XMMS will detect a song's ending, stop it and advance in the "
 "playlist. If disabled, XMMS won't take notice of a song's ending and loop it "
 "all over again and again."
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:397
+#: src/adplug/adplug-xmms.cc:395
 msgid "Formats"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:404
+#: src/adplug/adplug-xmms.cc:402
 msgid "Format selection"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:407
+#: src/adplug/adplug-xmms.cc:405
 msgid "Format"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:407
+#: src/adplug/adplug-xmms.cc:405
 msgid "Extension"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:447
+#: src/adplug/adplug-xmms.cc:445
 msgid ""
 "Selected file types will be recognized and played back by this plugin. "
 "Deselected types will be ignored to make room for other plugins to play "
 "these files."
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:533
+#: src/adplug/adplug-xmms.cc:531
 msgid "AdPlug :: File Info"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:555 src/amidi-plug/i_configure-fluidsynth.c:448
+#: src/adplug/adplug-xmms.cc:553 src/amidi-plug/i_configure-fluidsynth.c:448
 msgid "Filename"
 msgstr ""
 
+#: src/adplug/adplug-xmms.cc:557 src/skins/ui_playlist.c:470
+#, fuzzy
+msgid "Title: "
+msgstr "Títol:"
+
+#: src/adplug/adplug-xmms.cc:558
+msgid "Author: "
+msgstr ""
+
 #: src/adplug/adplug-xmms.cc:559
 #, fuzzy
-msgid "Title: "
-msgstr "Títol:"
+msgid "File Type: "
+msgstr "Mida del fitxer:"
 
 #: src/adplug/adplug-xmms.cc:560
-msgid "Author: "
+msgid "Subsongs: "
 msgstr ""
 
 #: src/adplug/adplug-xmms.cc:561
 #, fuzzy
-msgid "File Type: "
-msgstr "Mida del fitxer:"
-
-#: src/adplug/adplug-xmms.cc:562
-msgid "Subsongs: "
-msgstr ""
-
-#: src/adplug/adplug-xmms.cc:563
-#, fuzzy
 msgid "Instruments: "
 msgstr "Instrumental"
 
-#: src/adplug/adplug-xmms.cc:568
+#: src/adplug/adplug-xmms.cc:566
 msgid "Orders: "
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:569
+#: src/adplug/adplug-xmms.cc:567
 msgid "Patterns: "
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:573
+#: src/adplug/adplug-xmms.cc:571
 #, fuzzy
 msgid "Song"
 msgstr "Swing"
 
-#: src/adplug/adplug-xmms.cc:599
+#: src/adplug/adplug-xmms.cc:597
 #, fuzzy
 msgid "Instrument name"
 msgstr "Instrumental"
 
-#: src/adplug/adplug-xmms.cc:641
+#: src/adplug/adplug-xmms.cc:639
 #, fuzzy
 msgid "Song message"
 msgstr "Canvi de cançó %s"
 
-#: src/adplug/adplug-xmms.cc:663
+#: src/adplug/adplug-xmms.cc:661
 msgid "Subsong selection"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:727
+#: src/adplug/adplug-xmms.cc:725
 msgid "Order: "
 msgstr ""
 
+#: src/adplug/adplug-xmms.cc:726
+msgid "Pattern: "
+msgstr ""
+
 #: src/adplug/adplug-xmms.cc:728
-msgid "Pattern: "
-msgstr ""
-
-#: src/adplug/adplug-xmms.cc:730
 msgid "Row: "
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:731
+#: src/adplug/adplug-xmms.cc:729
 #, fuzzy
 msgid "Speed: "
 msgstr "Parlat"
 
-#: src/adplug/adplug-xmms.cc:732
+#: src/adplug/adplug-xmms.cc:730
 #, fuzzy
 msgid "Timer: "
 msgstr "Títol:"
 
-#: src/adplug/adplug-xmms.cc:733 src/console/Audacious_Config.cxx:225
-#: src/sid/xmms-sid.glade:332 src/sid/xs_interface.c:341
+#: src/adplug/adplug-xmms.cc:731 src/console/Audacious_Config.cxx:224
+#: src/sid/xmms-sid.glade:332 src/sid/xs_interface.c:353
 msgid "Hz"
 msgstr "Hz"
 
-#: src/alac/plugin.c:74
+#: src/alac/plugin.c:71
 #, fuzzy
 msgid "About Apple Lossless Audio Plugin"
 msgstr "Quant al plugin d'àudio Ogg Vorbis"
 
-#: src/alac/plugin.c:75
+#: src/alac/plugin.c:72
 msgid ""
 "Copyright (c) 2006 Audacious team\n"
 "Portions (c) 2005-2006 David Hammerton <crazney -at- crazney.net>"
@@ -311,8 +311,8 @@
 
 #: src/alarm/interface.c:71 src/lirc/about.c:115
 #: src/modplug/gui/interface.cxx:971 src/modplug/gui/modplug.glade:2030
-#: src/sid/xmms-sid.glade:3643 src/sid/xs_about.c:214
-#: src/sid/xs_interface.c:1740
+#: src/sid/xmms-sid.glade:3837 src/sid/xs_about.c:214
+#: src/sid/xs_interface.c:1824
 msgid "Close"
 msgstr "Tanca"
 
@@ -324,13 +324,12 @@
 msgid "This is your wakeup call."
 msgstr ""
 
-#: src/alarm/interface.c:124 src/alarm/interface.c:1389 src/alsa/about.c:46
+#: src/alarm/interface.c:124 src/alarm/interface.c:1389 src/alsa/about.c:45
 #: src/alsa/configure.c:383 src/cdaudio-ng/cdaudio-ng.c:247
-#: src/flacng/plugin.c:706 src/gnomeshortcuts/gnomeshortcuts.c:311
-#: src/hotkey/gui.c:671 src/modplug/gui/interface.cxx:702
-#: src/modplug/gui/modplug.glade:1642 src/pulse_audio/pulse_audio.c:738
-#: src/scrobbler/gtkstuff.c:45 src/sid/xmms-sid.glade:3066
-#: src/sid/xs_interface.c:1243
+#: src/flacng/plugin.c:705 src/gnomeshortcuts/gnomeshortcuts.c:310
+#: src/hotkey/gui.c:670 src/modplug/gui/interface.cxx:702
+#: src/modplug/gui/modplug.glade:1642 src/pulse_audio/pulse_audio.c:736
+#: src/scrobbler/gtkstuff.c:42 src/skins/plugin.c:130
 msgid "OK"
 msgstr "D'acord"
 
@@ -403,7 +402,8 @@
 #: src/alarm/interface.c:612 src/alarm/interface.c:660
 #: src/alarm/interface.c:708 src/alarm/interface.c:756
 #: src/alarm/interface.c:804 src/alarm/interface.c:852
-#: src/alarm/interface.c:900 src/OSS4/configure.c:138 src/OSS/configure.c:169
+#: src/alarm/interface.c:900 src/OSS4/configure.c:136 src/OSS/configure.c:168
+#: src/skins/ui_manager.c:447 src/skins/ui_manager.c:468
 msgid "Default"
 msgstr "Per defecte"
 
@@ -450,9 +450,9 @@
 msgstr ""
 
 #: src/alarm/interface.c:1087 src/sid/xmms-sid.glade:2007
-#: src/sid/xmms-sid.glade:2178 src/sid/xmms-sid.glade:2676
-#: src/sid/xs_interface.c:908 src/sid/xs_interface.c:962
-#: src/sid/xs_interface.c:1122
+#: src/sid/xmms-sid.glade:2178 src/sid/xmms-sid.glade:2746
+#: src/sid/xs_interface.c:920 src/sid/xs_interface.c:974
+#: src/sid/xs_interface.c:1154
 #, fuzzy
 msgid "seconds"
 msgstr "segons"
@@ -509,7 +509,7 @@
 msgid "Use reminder"
 msgstr ""
 
-#: src/alarm/interface.c:1328 src/sndstretch/sndstretch_xmms.c:377
+#: src/alarm/interface.c:1328 src/sndstretch/sndstretch_xmms.c:376
 #, fuzzy
 msgid "Options"
 msgstr "Opcions:"
@@ -573,7 +573,7 @@
 "    toggle button if you want it to be shown.\n"
 msgstr ""
 
-#: src/alarm/interface.c:1366
+#: src/alarm/interface.c:1366 src/skins/ui_manager.c:386
 msgid "Help"
 msgstr ""
 
@@ -586,12 +586,12 @@
 msgid "Thankyou"
 msgstr "Tango"
 
-#: src/alsa/about.c:30
+#: src/alsa/about.c:29
 #, fuzzy
 msgid "About ALSA Driver"
 msgstr "Quant al driver OSS"
 
-#: src/alsa/about.c:31
+#: src/alsa/about.c:30
 #, fuzzy
 msgid ""
 "Audacious ALSA Driver\n"
@@ -643,8 +643,8 @@
 msgid "ALSA Driver configuration"
 msgstr "Configuració del driver OSS"
 
-#: src/alsa/configure.c:274 src/OSS4/configure.c:186 src/OSS/configure.c:217
-#: src/sun/configure.c:183
+#: src/alsa/configure.c:274 src/OSS4/configure.c:184 src/OSS/configure.c:216
+#: src/sun/configure.c:181
 msgid "Audio device:"
 msgstr "Dispositiu d'àudio:"
 
@@ -658,7 +658,7 @@
 msgid "Mixer card:"
 msgstr "Dispositiu de mescla:"
 
-#: src/alsa/configure.c:313 src/OSS/configure.c:260 src/sun/configure.c:220
+#: src/alsa/configure.c:313 src/OSS/configure.c:259 src/sun/configure.c:218
 msgid "Mixer device:"
 msgstr "Dispositiu de mescla:"
 
@@ -1266,8 +1266,8 @@
 "backend</span>"
 msgstr ""
 
-#: src/amidi-plug/i_fileinfo.c:169 src/sid/xmms-sid.glade:3465
-#: src/sid/xs_interface.c:1684
+#: src/amidi-plug/i_fileinfo.c:169 src/sid/xmms-sid.glade:3659
+#: src/sid/xs_interface.c:1768
 msgid "Name:"
 msgstr "Nom:"
 
@@ -1372,48 +1372,48 @@
 msgid "None"
 msgstr "Cap"
 
-#: src/aosd/aosd_trigger.c:75
+#: src/aosd/aosd_trigger.c:74
 #, fuzzy
 msgid "Playback Start"
 msgstr "Reproducció"
 
-#: src/aosd/aosd_trigger.c:76
+#: src/aosd/aosd_trigger.c:75
 msgid "Triggers OSD when a playlist entry is played."
 msgstr ""
 
-#: src/aosd/aosd_trigger.c:80
+#: src/aosd/aosd_trigger.c:79
 #, fuzzy
 msgid "Title Change"
 msgstr "Canal únic"
 
-#: src/aosd/aosd_trigger.c:81
+#: src/aosd/aosd_trigger.c:80
 msgid ""
 "Triggers OSD when, during playback, the song title changes but the filename "
 "is the same. This is mostly useful to display title changes in internet "
 "streams."
 msgstr ""
 
-#: src/aosd/aosd_trigger.c:87
+#: src/aosd/aosd_trigger.c:86
 msgid "Volume Change"
 msgstr ""
 
-#: src/aosd/aosd_trigger.c:88
+#: src/aosd/aosd_trigger.c:87
 msgid "Triggers OSD when volume is changed."
 msgstr ""
 
+#: src/aosd/aosd_trigger.c:91
+msgid "Pause On"
+msgstr ""
+
 #: src/aosd/aosd_trigger.c:92
-msgid "Pause On"
-msgstr ""
-
-#: src/aosd/aosd_trigger.c:93
 msgid "Triggers OSD when playback is paused."
 msgstr ""
 
+#: src/aosd/aosd_trigger.c:96
+msgid "Pause Off"
+msgstr ""
+
 #: src/aosd/aosd_trigger.c:97
-msgid "Pause Off"
-msgstr ""
-
-#: src/aosd/aosd_trigger.c:98
 msgid "Triggers OSD when playback is unpaused."
 msgstr ""
 
@@ -1514,10 +1514,10 @@
 msgid "Skin file:"
 msgstr ""
 
-#: src/aosd/aosd_ui.c:644 src/sid/xmms-sid.glade:2331
-#: src/sid/xmms-sid.glade:2856 src/sid/xmms-sid.glade:2962
-#: src/sid/xs_interface.c:1010 src/sid/xs_interface.c:1182
-#: src/sid/xs_interface.c:1218
+#: src/aosd/aosd_ui.c:644 src/sid/xmms-sid.glade:2373
+#: src/sid/xmms-sid.glade:2968 src/sid/xmms-sid.glade:3136
+#: src/sid/xs_interface.c:1043 src/sid/xs_interface.c:1235
+#: src/sid/xs_interface.c:1291
 msgid "Browse"
 msgstr ""
 
@@ -1602,9 +1602,9 @@
 msgid "Trigger"
 msgstr "Tràiler"
 
-#: src/aosd/aosd_ui.c:1076 src/cdaudio-ng/configure.c:167
+#: src/aosd/aosd_ui.c:1076 src/cdaudio-ng/configure.c:175
 #: src/modplug/gui/interface.cxx:688 src/modplug/gui/modplug.glade:1603
-#: src/sid/xmms-sid.glade:3026 src/sid/xs_interface.c:1229
+#: src/sid/xmms-sid.glade:3220 src/sid/xs_interface.c:1301
 #, fuzzy
 msgid "Misc"
 msgstr "Disco"
@@ -1633,12 +1633,12 @@
 "\n"
 msgstr ""
 
-#: src/arts/arts.c:22
+#: src/arts/arts.c:21
 #, fuzzy
 msgid "About aRts Output"
 msgstr "Quant a la sortida nul·la"
 
-#: src/arts/arts.c:23
+#: src/arts/arts.c:22
 msgid ""
 "aRts output plugin by Håvard Kvålen <havardk@xmms.org>\n"
 "Audacious port by Giacomo Lozito from develia.org"
@@ -1649,26 +1649,26 @@
 msgid "aRts Driver configuration"
 msgstr "Configuració del driver OSS"
 
-#: src/arts/configure.c:61 src/esd/configure.c:171 src/OSS4/configure.c:232
-#: src/OSS/configure.c:304 src/sun/configure.c:259
+#: src/arts/configure.c:61 src/esd/configure.c:171 src/OSS4/configure.c:230
+#: src/OSS/configure.c:303 src/sun/configure.c:257
 msgid "Buffering:"
 msgstr "Buffers:"
 
-#: src/arts/configure.c:73 src/esd/configure.c:184 src/OSS4/configure.c:245
-#: src/OSS/configure.c:317 src/sun/configure.c:272
+#: src/arts/configure.c:73 src/esd/configure.c:184 src/OSS4/configure.c:243
+#: src/OSS/configure.c:316 src/sun/configure.c:270
 msgid "Buffer size (ms):"
 msgstr "Mida del buffer (ms):"
 
-#: src/arts/configure.c:83 src/esd/configure.c:209 src/OSS4/configure.c:270
-#: src/OSS/configure.c:342 src/sun/configure.c:304
+#: src/arts/configure.c:83 src/esd/configure.c:209 src/OSS4/configure.c:268
+#: src/OSS/configure.c:341 src/sun/configure.c:302
 msgid "Buffering"
 msgstr "Buffers"
 
-#: src/audiocompress/audacious-glue.c:95
+#: src/audiocompress/audacious-glue.c:103
 msgid "AudioCompress "
 msgstr "AudioCompress "
 
-#: src/audiocompress/audacious-glue.c:96
+#: src/audiocompress/audacious-glue.c:104
 msgid ""
 "\n"
 "(c)2003 trikuare studios(http://trikuare.cx)\n"
@@ -1684,111 +1684,111 @@
 "Compressor simple del recorregut dinàmic per a mantenir el\n"
 "volum més o menys consistent de forma transparent."
 
-#: src/audiocompress/audacious-glue.c:101
+#: src/audiocompress/audacious-glue.c:109
 msgid "About AudioCompress"
 msgstr "Quant a l'AudioCompress"
 
-#: src/audiocompress/audacious-glue.c:320
+#: src/audiocompress/audacious-glue.c:328
 msgid ""
 "If checked, when the sound peaks the volume will be cut instantly; "
 "otherwise, it will ramp down just in time for the peak (but some minor "
 "clipping may still occur)."
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:324
+#: src/audiocompress/audacious-glue.c:332
 msgid "The maximum amount to amplify the audio by"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:326
+#: src/audiocompress/audacious-glue.c:334
 msgid "Defines how smoothly the volume will ramp up"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:328
+#: src/audiocompress/audacious-glue.c:336
 msgid ""
 "The target audio level for ramping up. Lowering the value gives a bit more "
 "dynamic range for peaks, but will make the overall sound quieter."
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:331
+#: src/audiocompress/audacious-glue.c:339
 msgid "How long of a window to maintain"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:372
+#: src/audiocompress/audacious-glue.c:380
 #, fuzzy
 msgid "AudioCompress preferences"
 msgstr "AudioCompress "
 
-#: src/audiocompress/audacious-glue.c:389
+#: src/audiocompress/audacious-glue.c:397
 msgid " Quality Options "
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:394
+#: src/audiocompress/audacious-glue.c:402
 msgid " Aggressively prevent clipping"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:406
+#: src/audiocompress/audacious-glue.c:414
 msgid " Target & gain"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:417
-msgid "Target audio level:"
-msgstr ""
-
 #: src/audiocompress/audacious-glue.c:425
+msgid "Target audio level:"
+msgstr ""
+
+#: src/audiocompress/audacious-glue.c:433
 #, fuzzy
 msgid "Maximum gain:"
 msgstr "Guany del disc:"
 
-#: src/audiocompress/audacious-glue.c:433
+#: src/audiocompress/audacious-glue.c:441
 msgid "Gain smooth:"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:485
+#: src/audiocompress/audacious-glue.c:493
 msgid " History "
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:517
+#: src/audiocompress/audacious-glue.c:525
 msgid ""
 "How long of a history to maintain.  A higher number will make the volume "
 "changes less responsive."
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:528
+#: src/audiocompress/audacious-glue.c:536
 msgid "Load default values"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:533
+#: src/audiocompress/audacious-glue.c:541
 #, fuzzy
 msgid "Audio values"
 msgstr "Dispositiu d'àudio:"
 
-#: src/audiocompress/audacious-glue.c:562 src/echo_plugin/gui.c:152
-#: src/modplug/gui/interface.cxx:708 src/modplug/gui/modplug.glade:1655
-#: src/stereo_plugin/stereo.c:132
+#: src/audiocompress/audacious-glue.c:570 src/crystalizer/crystalizer.c:129
+#: src/echo_plugin/gui.c:150 src/modplug/gui/interface.cxx:708
+#: src/modplug/gui/modplug.glade:1655 src/stereo_plugin/stereo.c:131
 msgid "Apply"
 msgstr "Aplica"
 
-#: src/blur_scope/blur_scope.c:54
+#: src/blur_scope/blur_scope.c:52
 msgid "/Toggle Decorations"
 msgstr "/Mostra o amaga la decoració"
 
-#: src/blur_scope/blur_scope.c:56
+#: src/blur_scope/blur_scope.c:54
 msgid "/-"
 msgstr "/-"
 
-#: src/blur_scope/blur_scope.c:57
+#: src/blur_scope/blur_scope.c:55
 msgid "/Close"
 msgstr "/Tanca"
 
-#: src/blur_scope/blur_scope.c:181
+#: src/blur_scope/blur_scope.c:179
 msgid "Blur scope"
 msgstr "Oscil·loscopi difús"
 
-#: src/blur_scope/config.c:72
+#: src/blur_scope/config.c:71
 msgid "Blur Scope: Color selection"
 msgstr "Oscil·loscopi difús: Selecció de color"
 
-#: src/blur_scope/config.c:82 src/jack/configure.c:108
+#: src/blur_scope/config.c:81 src/jack/configure.c:107
 msgid "Options:"
 msgstr "Opcions:"
 
@@ -1818,111 +1818,116 @@
 "This was a Google Summer of Code 2007 project."
 msgstr ""
 
-#: src/cdaudio-ng/cdaudio-ng.c:814
+#: src/cdaudio-ng/cdaudio-ng.c:815
 msgid ""
 "<b><big>No playable CD found.</big></b>\n"
 "\n"
 "No CD inserted, or inserted CD is not an audio CD.\n"
 msgstr ""
 
-#: src/cdaudio-ng/configure.c:147
+#: src/cdaudio-ng/configure.c:155
 #, fuzzy
 msgid "CD Audio Plugin Configuration"
 msgstr "Configuració del plugin d'àudio MPEG"
 
-#: src/cdaudio-ng/configure.c:157
+#: src/cdaudio-ng/configure.c:165
 msgid "Digital audio extraction"
 msgstr "Extracció d'àudio digital"
 
-#: src/cdaudio-ng/configure.c:162
+#: src/cdaudio-ng/configure.c:170
 #, fuzzy
 msgid "Title information"
 msgstr "Format del títol:"
 
-#: src/cdaudio-ng/configure.c:179
+#: src/cdaudio-ng/configure.c:187
 msgid "Limit read speed to: "
 msgstr ""
 
-#: src/cdaudio-ng/configure.c:186
+#: src/cdaudio-ng/configure.c:194
 #, fuzzy
 msgid "Use cd-text if available"
 msgstr "Estèreo (si està disponible)"
 
-#: src/cdaudio-ng/configure.c:190
+#: src/cdaudio-ng/configure.c:198
 #, fuzzy
 msgid "Use CDDB if available"
 msgstr "Estèreo (si està disponible)"
 
-#: src/cdaudio-ng/configure.c:194
+#: src/cdaudio-ng/configure.c:202
 #, fuzzy
 msgid "Server: "
 msgstr "Servidor"
 
-#: src/cdaudio-ng/configure.c:197
+#: src/cdaudio-ng/configure.c:205
+#, fuzzy
+msgid "Path: "
+msgstr "Port:"
+
+#: src/cdaudio-ng/configure.c:208
 #, fuzzy
 msgid "Port: "
 msgstr "Port:"
 
-#: src/cdaudio-ng/configure.c:203
+#: src/cdaudio-ng/configure.c:217
 msgid "Use HTTP instead of CDDBP"
 msgstr ""
 
-#: src/cdaudio-ng/configure.c:211
+#: src/cdaudio-ng/configure.c:225
 msgid "Override default device: "
 msgstr ""
 
-#: src/cdaudio-ng/configure.c:218
+#: src/cdaudio-ng/configure.c:232
 msgid "Print debug information"
 msgstr ""
 
-#: src/console/Audacious_Config.cxx:125
+#: src/console/Audacious_Config.cxx:124
 msgid "Console Music Decoder"
 msgstr "Descodificador de música de consoles"
 
-#: src/console/Audacious_Config.cxx:162
+#: src/console/Audacious_Config.cxx:161
 msgid "Bass:"
 msgstr "Baixos:"
 
-#: src/console/Audacious_Config.cxx:166 src/console/Audacious_Config.cxx:177
-#: src/console/Audacious_Config.cxx:198
+#: src/console/Audacious_Config.cxx:165 src/console/Audacious_Config.cxx:176
+#: src/console/Audacious_Config.cxx:197
 msgid "secs"
 msgstr "segons"
 
-#: src/console/Audacious_Config.cxx:173
+#: src/console/Audacious_Config.cxx:172
 msgid "Treble:"
 msgstr "Aguts:"
 
-#: src/console/Audacious_Config.cxx:194
+#: src/console/Audacious_Config.cxx:193
 msgid "Default song length:"
 msgstr "Duració per defecte:"
 
-#: src/console/Audacious_Config.cxx:200 src/modplug/gui/interface.cxx:268
+#: src/console/Audacious_Config.cxx:199 src/modplug/gui/interface.cxx:268
 #: src/modplug/gui/modplug.glade:338 src/sid/xmms-sid.glade:1243
-#: src/sid/xs_interface.c:653
+#: src/sid/xs_interface.c:665
 msgid "Resampling"
 msgstr "Remostreig"
 
-#: src/console/Audacious_Config.cxx:206
+#: src/console/Audacious_Config.cxx:205
 msgid "Enable audio resampling"
 msgstr "Habilita el remostreig d'àudio"
 
-#: src/console/Audacious_Config.cxx:221
+#: src/console/Audacious_Config.cxx:220
 msgid "Resampling rate:"
 msgstr "Taxa de remostreig:"
 
-#: src/console/Audacious_Config.cxx:236
+#: src/console/Audacious_Config.cxx:235
 msgid "SPC"
 msgstr "SPC"
 
+#: src/console/Audacious_Config.cxx:236
+msgid "Ignore length from SPC tags"
+msgstr "Ignora la duració de les etiquetes SPC"
+
 #: src/console/Audacious_Config.cxx:237
-msgid "Ignore length from SPC tags"
-msgstr "Ignora la duració de les etiquetes SPC"
-
-#: src/console/Audacious_Config.cxx:238
 msgid "Increase reverb"
 msgstr ""
 
-#: src/console/Audacious_Config.cxx:263
+#: src/console/Audacious_Config.cxx:262
 #, fuzzy
 msgid ""
 "The default song length, expressed in seconds, is used for songs that do not "
@@ -1932,11 +1937,11 @@
 "La durada per defecte, expressada en segons, s'utilitza en cançons que\n"
 "no proporcionen informació sobre la seva durada (ie, pistes bucle)."
 
-#: src/console/Audacious_Driver.cxx:444
+#: src/console/Audacious_Driver.cxx:442
 msgid "About the Console Music Decoder"
 msgstr "Quant al descodificador de música de consoles"
 
-#: src/console/Audacious_Driver.cxx:445
+#: src/console/Audacious_Driver.cxx:443
 msgid ""
 "Console music decoder engine based on Game_Music_Emu 0.5.2.\n"
 "Supported formats: AY, GBS, GYM, HES, KSS, NSF, NSFE, SAP, SPC, VGM, VGZ\n"
@@ -1949,12 +1954,21 @@
 "Implemetació en l'Audacious per: William Pitcock <nenolod@nenolod.net>,\n"
 "Shay Green <gblargg@gmail.com>"
 
-#: src/demac/plugin.c:388
+#: src/crystalizer/crystalizer.c:90
+#, fuzzy
+msgid "Configure Crystalizer"
+msgstr "Configuració de l'estèreo extra"
+
+#: src/crystalizer/crystalizer.c:92 src/stereo_plugin/stereo.c:94
+msgid "Effect intensity:"
+msgstr "Intensitat de l'efecte:"
+
+#: src/demac/plugin.c:359
 #, fuzzy
 msgid "About Monkey's Audio Plugin"
 msgstr "Quant al plugin per a àudio MPEG"
 
-#: src/demac/plugin.c:389
+#: src/demac/plugin.c:360
 msgid ""
 "Copyright (C) 2007 Eugene Zagidullin <e.asphyx@gmail.com>\n"
 "Based on ffape decoder, Copyright (C) 2007 Benjamin Zores\n"
@@ -1963,7 +1977,7 @@
 "ffape is a part of FFmpeg project, http://ffmpeg.mplayerhq.hu/"
 msgstr ""
 
-#: src/echo_plugin/gui.c:11
+#: src/echo_plugin/gui.c:9
 msgid ""
 "Echo Plugin\n"
 "By Johan Levin 1999.\n"
@@ -1975,35 +1989,35 @@
 "\n"
 "Eco envolvent per Carl van Schaik, 1999."
 
-#: src/echo_plugin/gui.c:25
+#: src/echo_plugin/gui.c:23
 msgid "About Echo Plugin"
 msgstr "Quant al plugin d'eco"
 
-#: src/echo_plugin/gui.c:76
+#: src/echo_plugin/gui.c:74
 msgid "Configure Echo"
 msgstr "Configuració de l'eco"
 
-#: src/echo_plugin/gui.c:89
+#: src/echo_plugin/gui.c:87
 msgid "Delay: (ms)"
 msgstr "Retard: (ms)"
 
-#: src/echo_plugin/gui.c:94
+#: src/echo_plugin/gui.c:92
 msgid "Feedback: (%)"
 msgstr "Retorn: (%)"
 
-#: src/echo_plugin/gui.c:99
+#: src/echo_plugin/gui.c:97
 msgid "Volume: (%)"
 msgstr "Volum: (%)"
 
-#: src/echo_plugin/gui.c:122
+#: src/echo_plugin/gui.c:120
 msgid "Surround echo"
 msgstr "Eco envolvent"
 
-#: src/esd/about.c:34
+#: src/esd/about.c:33
 msgid "About ESounD Plugin"
 msgstr "Quant al plugin ESounD"
 
-#: src/esd/about.c:35
+#: src/esd/about.c:34
 msgid ""
 "Audacious ESounD Plugin\n"
 "\n"
@@ -2063,8 +2077,8 @@
 msgid "Server"
 msgstr "Servidor"
 
-#: src/esd/configure.c:198 src/OSS4/configure.c:259 src/OSS/configure.c:331
-#: src/sun/configure.c:290
+#: src/esd/configure.c:198 src/OSS4/configure.c:257 src/OSS/configure.c:330
+#: src/sun/configure.c:288
 msgid "Pre-buffer (percent):"
 msgstr "Pre-buffer (percentatge):"
 
@@ -2142,93 +2156,93 @@
 msgid "Window->JumpToFile"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:94
+#: src/evdev-plug/ed_internals.c:93
 #, c-format
 msgid ""
 "event-device-plugin: unable to open device file %s , skipping this device; "
 "check that the file exists and that you have read permission for it\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:103
+#: src/evdev-plug/ed_internals.c:102
 #, c-format
 msgid ""
 "event-device-plugin: unable to create a io_channel for device file %s ,"
 "skipping this device\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:342
+#: src/evdev-plug/ed_internals.c:341
 msgid ""
 "event-device-plugin: unable to open /proc/bus/input/devices , automatic "
 "detection of event devices won't work.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:351
+#: src/evdev-plug/ed_internals.c:350
 msgid ""
 "event-device-plugin: unable to open a io_channel for /proc/bus/input/"
 "devices , automatic detection of event devices won't work.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:361
+#: src/evdev-plug/ed_internals.c:360
 msgid ""
 "event-device-plugin: an error occurred while reading /proc/bus/input/"
 "devices , automatic detection of event devices won't work.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:424
+#: src/evdev-plug/ed_internals.c:423
 #, c-format
 msgid "event-device-plugin: device %s not found in /dev/input , skipping.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:489 src/evdev-plug/ed_internals.c:583
+#: src/evdev-plug/ed_internals.c:488 src/evdev-plug/ed_internals.c:582
 #, c-format
 msgid ""
 "event-device-plugin: unable to load config file %s , default settings will "
 "be used.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:535
+#: src/evdev-plug/ed_internals.c:534
 #, c-format
 msgid ""
 "event-device-plugin: incomplete information in config file for device \"%s"
 "\" , skipping.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:604 src/evdev-plug/ed_internals.c:936
+#: src/evdev-plug/ed_internals.c:603 src/evdev-plug/ed_internals.c:935
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get is_active value for device "
 "\"%s\", skipping it.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:840
+#: src/evdev-plug/ed_internals.c:839
 #, c-format
 msgid ""
 "event-device-plugin: unable to access local directory %s , settings will not "
 "be saved.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:890
+#: src/evdev-plug/ed_internals.c:889
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get filename value for device "
 "\"%s\", skipping it.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:906
+#: src/evdev-plug/ed_internals.c:905
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get phys value for device \"%s"
 "\", skipping it.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:922
+#: src/evdev-plug/ed_internals.c:921
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get is_custom value for device "
 "\"%s\", skipping it.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:946
+#: src/evdev-plug/ed_internals.c:945
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unexpected value for device \"%s\", "
@@ -2247,7 +2261,7 @@
 "Ensure that the device has been correctly plugged in."
 msgstr ""
 
-#: src/evdev-plug/ed_ui.c:319 src/madplug/plugin.c:566
+#: src/evdev-plug/ed_ui.c:319 src/madplug/plugin.c:703
 msgid "Error"
 msgstr "Error"
 
@@ -2305,7 +2319,7 @@
 msgid "Active"
 msgstr "Àcid"
 
-#: src/evdev-plug/ed_ui.c:655 src/sun/configure.c:488
+#: src/evdev-plug/ed_ui.c:655 src/sun/configure.c:486
 msgid "Status"
 msgstr "Estat"
 
@@ -2427,7 +2441,7 @@
 msgid "Output file format:"
 msgstr "Directori de sortida:"
 
-#: src/filewriter/filewriter.c:511 src/ladspa/ladspa.c:960
+#: src/filewriter/filewriter.c:511 src/ladspa/ladspa.c:959
 #, fuzzy
 msgid "Configure"
 msgstr "Configuració de l'eco"
@@ -2667,12 +2681,12 @@
 msgid "Quality level (0 - 10):"
 msgstr ""
 
-#: src/flacng/plugin.c:698
+#: src/flacng/plugin.c:697
 #, fuzzy
 msgid "FLAC Audio Plugin "
 msgstr "Plugin CD d'àudio"
 
-#: src/flacng/plugin.c:699
+#: src/flacng/plugin.c:698
 msgid ""
 "\n"
 "\n"
@@ -2682,17 +2696,17 @@
 "http://www.skytale.net/projects/bmp-flac2/"
 msgstr ""
 
-#: src/flacng/plugin.c:704
+#: src/flacng/plugin.c:703
 #, fuzzy
 msgid "About FLAC Audio Plugin"
 msgstr "Quant al plugin per a LIRC de l'Audacious"
 
-#: src/gnomeshortcuts/gnomeshortcuts.c:306
+#: src/gnomeshortcuts/gnomeshortcuts.c:305
 #, fuzzy
 msgid "About Gnome Shortcut Plugin"
 msgstr "Quant al plugin ESounD"
 
-#: src/gnomeshortcuts/gnomeshortcuts.c:307
+#: src/gnomeshortcuts/gnomeshortcuts.c:306
 msgid ""
 "Gnome Shortcut Plugin\n"
 "Let's you control the player with Gnome's shortcuts.\n"
@@ -2705,7 +2719,7 @@
 msgid "Previous Track"
 msgstr ""
 
-#: src/hotkey/gui.c:69
+#: src/hotkey/gui.c:69 src/skins/ui_manager.c:177 src/skins/ui_manager.c:178
 #, fuzzy
 msgid "Play"
 msgstr "Mode de reproducció:"
@@ -2714,7 +2728,7 @@
 msgid "Pause/Resume"
 msgstr ""
 
-#: src/hotkey/gui.c:71
+#: src/hotkey/gui.c:71 src/skins/ui_manager.c:183 src/skins/ui_manager.c:184
 #, fuzzy
 msgid "Stop"
 msgstr "Synthpop"
@@ -2747,7 +2761,7 @@
 msgid "Volume Down"
 msgstr "Volum: (%)"
 
-#: src/hotkey/gui.c:78
+#: src/hotkey/gui.c:78 src/skins/ui_manager.c:422 src/skins/ui_manager.c:423
 msgid "Jump to File"
 msgstr ""
 
@@ -2802,12 +2816,12 @@
 msgid "<b>Key Binding:</b>"
 msgstr ""
 
-#: src/hotkey/gui.c:660
+#: src/hotkey/gui.c:659
 #, fuzzy
 msgid "About Global Hotkey Plugin"
 msgstr "Quant al plugin per a Scrobbler"
 
-#: src/hotkey/gui.c:661
+#: src/hotkey/gui.c:660
 msgid ""
 "Global Hotkey Plugin\n"
 "Control the player with global key combinations or multimedia keys.\n"
@@ -2823,37 +2837,37 @@
 "\n"
 msgstr ""
 
-#: src/jack/configure.c:70
+#: src/jack/configure.c:69
 msgid "Connect to all available jack ports"
 msgstr ""
 
-#: src/jack/configure.c:77
+#: src/jack/configure.c:76
 msgid "Connect only the output ports"
 msgstr ""
 
-#: src/jack/configure.c:84
+#: src/jack/configure.c:83
 msgid "Connect to no ports"
 msgstr ""
 
-#: src/jack/configure.c:99
+#: src/jack/configure.c:98
 #, fuzzy
 msgid "jack Plugin configuration"
 msgstr "Configuració del plugin de sortida ESD"
 
-#: src/jack/configure.c:117
+#: src/jack/configure.c:116
 msgid "Connection mode:"
 msgstr ""
 
-#: src/jack/configure.c:129
+#: src/jack/configure.c:128
 msgid "Enable debug printing"
 msgstr ""
 
-#: src/jack/jack.c:84
+#: src/jack/jack.c:82
 #, fuzzy
 msgid "Sample rate mismatch"
 msgstr "Freqüència de mostreig:"
 
-#: src/jack/jack.c:87
+#: src/jack/jack.c:85
 msgid ""
 "Xmms is asking for a sample rate that differs from\n"
 " that of the jack server.  Xmms 1.2.8 or later\n"
@@ -2867,15 +2881,15 @@
 "Chris Morgan <cmorgan@alum.wpi.edu>\n"
 msgstr ""
 
-#: src/jack/jack.c:100 src/wma/wma.c:148
+#: src/jack/jack.c:98 src/wma/wma.c:145
 msgid " Close "
 msgstr " Tanca "
 
-#: src/jack/jack.c:452
+#: src/jack/jack.c:450
 msgid "About JACK Output Plugin 0.17"
 msgstr "Quant al plugin de sortida JACK 0.17"
 
-#: src/jack/jack.c:453
+#: src/jack/jack.c:451
 msgid ""
 "XMMS jack Driver 0.17\n"
 "\n"
@@ -2893,41 +2907,41 @@
 "Portat a l'Audacious per\n"
 "Giacomo Lozito de develia.org"
 
-#: src/ladspa/ladspa.c:722
+#: src/ladspa/ladspa.c:721
 msgid "This LADSPA plugin has no user controls"
 msgstr ""
 
-#: src/ladspa/ladspa.c:767 src/ladspa/ladspa.c:853
+#: src/ladspa/ladspa.c:766 src/ladspa/ladspa.c:852
 #, fuzzy
 msgid "Name"
 msgstr "Nom:"
 
-#: src/ladspa/ladspa.c:853
+#: src/ladspa/ladspa.c:852
 msgid "UID"
 msgstr ""
 
-#: src/ladspa/ladspa.c:928
+#: src/ladspa/ladspa.c:927
 msgid "Installed plugins"
 msgstr ""
 
-#: src/ladspa/ladspa.c:937
+#: src/ladspa/ladspa.c:936
 msgid "Running plugins"
 msgstr ""
 
-#: src/ladspa/ladspa.c:952
+#: src/ladspa/ladspa.c:951
 msgid "Add"
 msgstr ""
 
-#: src/ladspa/ladspa.c:956
+#: src/ladspa/ladspa.c:955
 #, fuzzy
 msgid "Remove"
 msgstr "Treu un lector"
 
-#: src/ladspa/ladspa.c:969
+#: src/ladspa/ladspa.c:968
 msgid "LADSPA Plugin Catalog"
 msgstr ""
 
-#: src/lastfm/lastfm.c:96
+#: src/lastfm/lastfm.c:94
 msgid ""
 "<b><big>Couldn't initialize the last.fm radio plugin.</big></b>\n"
 "\n"
@@ -3026,59 +3040,59 @@
 msgid "%s: will try reconnect every %d seconds...\n"
 msgstr ""
 
-#: src/madplug/configure.c:209
+#: src/madplug/configure.c:208
 msgid "MPEG Audio Plugin Configuration"
 msgstr "Configuració del plugin d'àudio MPEG"
 
-#: src/madplug/configure.c:226
+#: src/madplug/configure.c:225
 #, fuzzy
 msgid "Audio Settings"
 msgstr "Paràmetres del mesclador:"
 
-#: src/madplug/configure.c:234
+#: src/madplug/configure.c:233
 msgid "Force reopen audio when audio type changed"
 msgstr ""
 
-#: src/madplug/configure.c:243
+#: src/madplug/configure.c:242
 #, fuzzy
 msgid "Metadata Settings"
 msgstr "Paràmetres del mesclador:"
 
-#: src/madplug/configure.c:252
+#: src/madplug/configure.c:251
 msgid "Enable fast play-length calculation"
 msgstr ""
 
-#: src/madplug/configure.c:259
+#: src/madplug/configure.c:258
 msgid "Parse XING headers"
 msgstr ""
 
-#: src/madplug/configure.c:266
+#: src/madplug/configure.c:265
 msgid "Use SJIS to write ID3 tags (not recommended)"
 msgstr ""
 
-#: src/madplug/configure.c:273
+#: src/madplug/configure.c:272
 #, fuzzy
 msgid "Miscellaneous Settings"
 msgstr "Paràmetres del mesclador:"
 
-#: src/madplug/configure.c:282
+#: src/madplug/configure.c:281
 msgid "Display average bitrate for VBR"
 msgstr ""
 
-#: src/madplug/configure.c:296 src/vorbis/configure.c:102
+#: src/madplug/configure.c:295 src/vorbis/configure.c:100
 msgid "Override generic titles"
 msgstr "Ignora els títols genèrics"
 
-#: src/madplug/configure.c:308
+#: src/madplug/configure.c:307
 msgid "ID3 format:"
 msgstr "Format ID3:"
 
-#: src/madplug/configure.c:320 src/sid/xmms-sid.glade:2540
-#: src/sid/xs_interface.c:1070
+#: src/madplug/configure.c:319 src/sid/xmms-sid.glade:2610
+#: src/sid/xs_interface.c:1102
 msgid "Title"
 msgstr "Títol"
 
-#: src/madplug/plugin.c:524
+#: src/madplug/plugin.c:661
 #, c-format
 msgid ""
 "Audacious MPEG Audio Plugin\n"
@@ -3096,16 +3110,16 @@
 "    Samuel Krempp"
 msgstr ""
 
-#: src/madplug/plugin.c:540
+#: src/madplug/plugin.c:677
 msgid "About MPEG Audio Plugin"
 msgstr "Quant al plugin per a àudio MPEG"
 
-#: src/metronom/metronom.c:87
+#: src/metronom/metronom.c:86
 #, fuzzy
 msgid "About Metronom"
 msgstr "Quant a "
 
-#: src/metronom/metronom.c:88
+#: src/metronom/metronom.c:87
 msgid ""
 "A Tact Generator by Martin Strauss <mys@faveve.uni-stuttgart.de>\n"
 "\n"
@@ -3114,12 +3128,12 @@
 "or   tact://60*3/4 to play 60 bpm in 3/4 tacts"
 msgstr ""
 
-#: src/metronom/metronom.c:198 src/metronom/metronom.c:262
+#: src/metronom/metronom.c:197 src/metronom/metronom.c:261
 #, fuzzy, c-format
 msgid "Tact generator: %d bpm"
 msgstr "Generador de tons:"
 
-#: src/metronom/metronom.c:200 src/metronom/metronom.c:264
+#: src/metronom/metronom.c:199 src/metronom/metronom.c:263
 #, c-format
 msgid "Tact generator: %d bpm %d/%d"
 msgstr ""
@@ -3326,11 +3340,11 @@
 msgid "Message"
 msgstr ""
 
-#: src/modplug/gui/main.cxx:45
+#: src/modplug/gui/main.cxx:48
 msgid "Modplug Input Plugin for Audacious ver"
 msgstr ""
 
-#: src/modplug/gui/main.cxx:46
+#: src/modplug/gui/main.cxx:49
 msgid ""
 "\n"
 "Modplug sound engine written by Olivier Lapicque.\n"
@@ -3340,7 +3354,7 @@
 "Ported to BMP by Theofilos Intzoglou."
 msgstr ""
 
-#: src/modplug/gui/main.cxx:49
+#: src/modplug/gui/main.cxx:52
 #, fuzzy
 msgid "About Modplug"
 msgstr "Quant al plugin d'eco"
@@ -3351,27 +3365,27 @@
 msgid "Couldn't find pixmap file: %s"
 msgstr "No s'ha pogut carregar el fitxer MIDI"
 
-#: src/mtp_up/mtp.c:35
+#: src/mtp_up/mtp.c:33
 msgid "Upload selected track(s)"
 msgstr ""
 
-#: src/mtp_up/mtp.c:296
+#: src/mtp_up/mtp.c:294
 msgid "Upload in progress..."
 msgstr ""
 
-#: src/mtp_up/mtp.c:305
+#: src/mtp_up/mtp.c:303
 msgid "MTP device handler"
 msgstr ""
 
-#: src/mtp_up/mtp.c:309
+#: src/mtp_up/mtp.c:307
 msgid "Disconnect the device"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:146
+#: src/musepack/libmpc.cxx:142
 msgid "Musepack Decoder Plugin 1.2"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:147
+#: src/musepack/libmpc.cxx:143
 msgid ""
 "Plugin code by\n"
 "Benoit Amiaux\n"
@@ -3381,187 +3395,188 @@
 "Get latest version at http://musepack.net\n"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:148
+#: src/musepack/libmpc.cxx:144
 msgid "Nevermind"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:166
+#: src/musepack/libmpc.cxx:162
 #, fuzzy
 msgid "Musepack Decoder Configuration"
 msgstr "Configuració de l'escriptura al disc"
 
-#: src/musepack/libmpc.cxx:176
+#: src/musepack/libmpc.cxx:172
 #, fuzzy
 msgid "General Settings"
 msgstr "Paràmetres del mesclador:"
 
-#: src/musepack/libmpc.cxx:183 src/wavpack/ui.cxx:492
+#: src/musepack/libmpc.cxx:179 src/wavpack/ui.cxx:490
 msgid "Enable Dynamic Bitrate Display"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:187 src/wavpack/ui.cxx:498
+#: src/musepack/libmpc.cxx:183 src/wavpack/ui.cxx:496
 #, fuzzy
 msgid "Plugin"
 msgstr "Plugin LIRC"
 
-#: src/musepack/libmpc.cxx:190
+#: src/musepack/libmpc.cxx:186
 #, fuzzy
 msgid "ReplayGain Settings"
 msgstr "Paràmetres de ReplayGain:"
 
-#: src/musepack/libmpc.cxx:197 src/wavpack/ui.cxx:510
+#: src/musepack/libmpc.cxx:193 src/wavpack/ui.cxx:508
 msgid "Enable Clipping Prevention"
 msgstr "Prevenció de distorsions"
 
-#: src/musepack/libmpc.cxx:202 src/wavpack/ui.cxx:515
+#: src/musepack/libmpc.cxx:198 src/wavpack/ui.cxx:513
 msgid "Enable ReplayGain"
 msgstr "Habilita el ReplayGain"
 
-#: src/musepack/libmpc.cxx:207
+#: src/musepack/libmpc.cxx:203
 #, fuzzy
 msgid "ReplayGain Type"
 msgstr "Tipus de ReplayGain:"
 
-#: src/musepack/libmpc.cxx:215
+#: src/musepack/libmpc.cxx:211
 #, fuzzy
 msgid "Use Track Gain"
 msgstr "usa el guany/pic de la pista"
 
-#: src/musepack/libmpc.cxx:219
+#: src/musepack/libmpc.cxx:215
 #, fuzzy
 msgid "Use Album Gain"
 msgstr "usa el guany/pic del disc"
 
-#: src/musepack/libmpc.cxx:224 src/wavpack/ui.cxx:547
+#: src/musepack/libmpc.cxx:220 src/wavpack/ui.cxx:545
 msgid "ReplayGain"
 msgstr "ReplayGain"
 
-#: src/musepack/libmpc.cxx:491 src/sid/xmms-sid.glade:3144
-#: src/sid/xs_interface.c:1564 src/tta/libtta.c:304 src/wavpack/ui.cxx:152
+#: src/musepack/libmpc.cxx:487 src/sid/xmms-sid.glade:3338
+#: src/sid/xs_interface.c:1648 src/tta/libtta.c:301 src/wavpack/ui.cxx:150
 #, fuzzy
 msgid "Filename:"
 msgstr "Nom d'usuari:"
 
-#: src/musepack/libmpc.cxx:506
+#: src/musepack/libmpc.cxx:502
 msgid "Musepack Tag"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:514 src/tta/libtta.c:323 src/wavpack/ui.cxx:172
+#: src/musepack/libmpc.cxx:510 src/tta/libtta.c:320 src/wavpack/ui.cxx:170
 msgid "Title:"
 msgstr "Títol:"
 
-#: src/musepack/libmpc.cxx:518 src/tta/libtta.c:333 src/wavpack/ui.cxx:184
+#: src/musepack/libmpc.cxx:514 src/tta/libtta.c:330 src/wavpack/ui.cxx:182
 msgid "Artist:"
 msgstr "Artista:"
 
-#: src/musepack/libmpc.cxx:522 src/tta/libtta.c:344 src/wavpack/ui.cxx:196
+#: src/musepack/libmpc.cxx:518 src/tta/libtta.c:341 src/wavpack/ui.cxx:194
 msgid "Album:"
 msgstr "Disc:"
 
-#: src/musepack/libmpc.cxx:526 src/tta/libtta.c:355 src/wavpack/ui.cxx:208
+#: src/musepack/libmpc.cxx:522 src/tta/libtta.c:352 src/wavpack/ui.cxx:206
 msgid "Comment:"
 msgstr "Comentari:"
 
-#: src/musepack/libmpc.cxx:530 src/tta/libtta.c:366 src/wavpack/ui.cxx:221
+#: src/musepack/libmpc.cxx:526 src/tta/libtta.c:363 src/wavpack/ui.cxx:219
 msgid "Year:"
 msgstr "Any:"
 
-#: src/musepack/libmpc.cxx:535
+#: src/musepack/libmpc.cxx:531
 #, fuzzy
 msgid "Track:"
 msgstr "Guany de la pista:"
 
-#: src/musepack/libmpc.cxx:540 src/tta/libtta.c:390 src/wavpack/ui.cxx:248
+#: src/musepack/libmpc.cxx:536 src/tta/libtta.c:387 src/wavpack/ui.cxx:246
 msgid "Genre:"
 msgstr "Gènere:"
 
-#: src/musepack/libmpc.cxx:551 src/sid/xmms-sid.glade:1732
-#: src/sid/xs_interface.c:820 src/wavpack/ui.cxx:267
+#: src/musepack/libmpc.cxx:547 src/sid/xmms-sid.glade:1732
+#: src/sid/xs_interface.c:832 src/skins/ui_manager.c:438
+#: src/wavpack/ui.cxx:265
 #, fuzzy
 msgid "Save"
 msgstr "Rave"
 
-#: src/musepack/libmpc.cxx:554 src/wavpack/ui.cxx:273
+#: src/musepack/libmpc.cxx:550 src/wavpack/ui.cxx:271
 #, fuzzy
 msgid "Remove Tag"
 msgstr "Treu un lector"
 
-#: src/musepack/libmpc.cxx:562
+#: src/musepack/libmpc.cxx:558
 msgid "Musepack Info"
 msgstr ""
 
+#: src/musepack/libmpc.cxx:591
+#, fuzzy, c-format
+msgid "Streamversion %d"
+msgstr "Streaming"
+
+#: src/musepack/libmpc.cxx:592
+#, c-format
+msgid "Encoder: %s"
+msgstr ""
+
+#: src/musepack/libmpc.cxx:593
+#, c-format
+msgid "Profile: %s"
+msgstr ""
+
+#: src/musepack/libmpc.cxx:594
+#, c-format
+msgid "Average bitrate: %6.1f kbps"
+msgstr ""
+
 #: src/musepack/libmpc.cxx:595
 #, fuzzy, c-format
-msgid "Streamversion %d"
-msgstr "Streaming"
+msgid "Samplerate: %d Hz"
+msgstr "Freqüència de mostreig:"
 
 #: src/musepack/libmpc.cxx:596
-#, c-format
-msgid "Encoder: %s"
-msgstr ""
-
-#: src/musepack/libmpc.cxx:597
-#, c-format
-msgid "Profile: %s"
-msgstr ""
-
-#: src/musepack/libmpc.cxx:598
-#, c-format
-msgid "Average bitrate: %6.1f kbps"
-msgstr ""
-
-#: src/musepack/libmpc.cxx:599
-#, fuzzy, c-format
-msgid "Samplerate: %d Hz"
-msgstr "Freqüència de mostreig:"
-
-#: src/musepack/libmpc.cxx:600
 #, fuzzy, c-format
 msgid "Channels: %d"
 msgstr "Canals:"
 
-#: src/musepack/libmpc.cxx:601
+#: src/musepack/libmpc.cxx:597
 #, fuzzy, c-format
 msgid "Length: %d:\\%.2d"
 msgstr ""
 "\n"
 "Durada total: %d:%d\n"
 
-#: src/musepack/libmpc.cxx:602
+#: src/musepack/libmpc.cxx:598
 #, fuzzy, c-format
 msgid "File size: %d Bytes"
 msgstr "Mida del fitxer:"
 
-#: src/musepack/libmpc.cxx:603
+#: src/musepack/libmpc.cxx:599
 #, fuzzy, c-format
 msgid "Track Peak: %5u"
 msgstr "Pic de la pista:"
 
-#: src/musepack/libmpc.cxx:604
+#: src/musepack/libmpc.cxx:600
 #, fuzzy, c-format
 msgid "Track Gain: %-+2.2f dB"
 msgstr "Guany de la pista:"
 
-#: src/musepack/libmpc.cxx:605
+#: src/musepack/libmpc.cxx:601
 #, fuzzy, c-format
 msgid "Album Peak: %5u"
 msgstr "Pic del disc:"
 
-#: src/musepack/libmpc.cxx:606
+#: src/musepack/libmpc.cxx:602
 #, fuzzy, c-format
 msgid "Album Gain: %-+5.2f dB"
 msgstr "Guany del disc:"
 
-#: src/musepack/libmpc.cxx:634 src/tta/libtta.c:413 src/wavpack/ui.cxx:409
+#: src/musepack/libmpc.cxx:630 src/tta/libtta.c:410 src/wavpack/ui.cxx:407
 #, c-format
 msgid "File Info - %s"
 msgstr "Informació del fitxer - %s"
 
-#: src/null/null.c:61
+#: src/null/null.c:58
 msgid "Null output plugin "
 msgstr "Plugin de sortida nul"
 
-#: src/null/null.c:62
+#: src/null/null.c:59
 #, fuzzy
 msgid ""
 " by Christian Birchinger <joker@netswarm.net>\n"
@@ -3570,25 +3585,54 @@
 " per Christian Birchinger <joker@netswarm.net>\n"
 " basat el plugin de l'XMMS de Håvard Kvål <havardk@xmms.org>"
 
-#: src/null/null.c:65
+#: src/null/null.c:62
 msgid "About Null Output"
 msgstr "Quant a la sortida nul·la"
 
-#: src/null/null.c:94
+#: src/null/null.c:91
 #, fuzzy
 msgid "Null output preferences"
 msgstr "Plugin de sortida nul"
 
-#: src/null/null.c:103
+#: src/null/null.c:100
 msgid "Run in real time"
 msgstr ""
 
-#: src/OSS4/about.c:42
+#: src/OSS4/configure.c:118 src/OSS/configure.c:150
+#, c-format
+msgid "Default (%s)"
+msgstr "Per defecte (%s)"
+
+#: src/OSS4/configure.c:168 src/OSS/configure.c:200
+msgid "OSS Driver configuration"
+msgstr "Configuració del driver OSS"
+
+#: src/OSS4/configure.c:206 src/OSS/configure.c:238 src/OSS/configure.c:279
+msgid "Use alternate device:"
+msgstr "Una un dispositiu alternatiu:"
+
+#: src/OSS4/configure.c:228 src/OSS/configure.c:301 src/sun/configure.c:246
+msgid "Devices"
+msgstr "Dispositius"
+
+#: src/OSS4/configure.c:270 src/OSS/configure.c:342
+msgid "Mixer Settings:"
+msgstr "Paràmetres del mesclador:"
+
+#: src/OSS4/configure.c:276
+msgid "Save VMIX volume between sessions"
+msgstr ""
+
+#: src/OSS4/configure.c:282 src/OSS/configure.c:354 src/sun/configure.c:392
+msgid "Mixer"
+msgstr "Mesclador"
+
+#: src/OSS4/OSS4.c:38
 #, fuzzy
 msgid "About OSSv4 Driver"
 msgstr "Quant al driver OSS"
 
-#: src/OSS4/about.c:43
+#: src/OSS4/OSS4.c:39
 #, fuzzy
 msgid ""
 "Audacious OSSv4 Driver\n"
@@ -3628,40 +3672,15 @@
 "Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,\n"
 "Boston, MA 02110-1301, USA."
 
-#: src/OSS4/configure.c:120 src/OSS/configure.c:151
-#, c-format
-msgid "Default (%s)"
-msgstr "Per defecte (%s)"
-
-#: src/OSS4/configure.c:170 src/OSS/configure.c:201
-msgid "OSS Driver configuration"
-msgstr "Configuració del driver OSS"
-
-#: src/OSS4/configure.c:208 src/OSS/configure.c:239 src/OSS/configure.c:280
-msgid "Use alternate device:"
-msgstr "Una un dispositiu alternatiu:"
-
-#: src/OSS4/configure.c:230 src/OSS/configure.c:302 src/sun/configure.c:248
-msgid "Devices"
-msgstr "Dispositius"
-
-#: src/OSS4/configure.c:272 src/OSS/configure.c:343
-msgid "Mixer Settings:"
-msgstr "Paràmetres del mesclador:"
-
-#: src/OSS4/configure.c:278
-msgid "Save VMIX volume between sessions"
-msgstr ""
-
-#: src/OSS4/configure.c:284 src/OSS/configure.c:355 src/sun/configure.c:394
-msgid "Mixer"
-msgstr "Mesclador"
-
-#: src/OSS/about.c:39
+#: src/OSS/configure.c:348
+msgid "Volume controls Master not PCM"
+msgstr "El volum canvia el Master, no el PCM"
+
+#: src/OSS/OSS.c:37
 msgid "About OSS Driver"
 msgstr "Quant al driver OSS"
 
-#: src/OSS/about.c:40
+#: src/OSS/OSS.c:38
 msgid ""
 "Audacious OSS Driver\n"
 "\n"
@@ -3697,20 +3716,16 @@
 "Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,\n"
 "Boston, MA 02110-1301, USA."
 
-#: src/OSS/configure.c:349
-msgid "Volume controls Master not PCM"
-msgstr "El volum canvia el Master, no el PCM"
-
 #: src/projectm-1.0/main.c:70
 msgid "_Random"
 msgstr ""
 
-#: src/pulse_audio/pulse_audio.c:722
+#: src/pulse_audio/pulse_audio.c:720
 #, fuzzy
 msgid "About Audacious PulseAudio Output Plugin"
 msgstr "Plugin de sortida CoreAudio"
 
-#: src/pulse_audio/pulse_audio.c:723
+#: src/pulse_audio/pulse_audio.c:721
 #, fuzzy
 msgid ""
 "Audacious PulseAudio Output Plugin\n"
@@ -3747,27 +3762,27 @@
 "Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,\n"
 "Boston, MA 02110-1301, USA."
 
-#: src/scrobbler/configure.c:138
+#: src/scrobbler/configure.c:134
 msgid "<b>Services</b>"
 msgstr "<b>Serveis</b>"
 
-#: src/scrobbler/configure.c:160 src/scrobbler/configure.c:199
+#: src/scrobbler/configure.c:156 src/scrobbler/configure.c:195
 msgid "Username:"
 msgstr "Nom d'usuari:"
 
-#: src/scrobbler/configure.c:166 src/scrobbler/configure.c:205
+#: src/scrobbler/configure.c:162 src/scrobbler/configure.c:201
 msgid "Password:"
 msgstr "Contrasenya:"
 
-#: src/scrobbler/configure.c:183
+#: src/scrobbler/configure.c:179
 msgid "<b>Last.FM</b>"
 msgstr "<b>Last.FM</b>"
 
-#: src/scrobbler/configure.c:222
+#: src/scrobbler/configure.c:218
 msgid "<b>Gerpok</b>"
 msgstr "<b>Gerpok</b>"
 
-#: src/scrobbler/gtkstuff.c:21
+#: src/scrobbler/gtkstuff.c:18
 msgid ""
 "Audacious AudioScrobbler Plugin\n"
 "\n"
@@ -3775,11 +3790,11 @@
 "com>\n"
 msgstr ""
 
-#: src/scrobbler/gtkstuff.c:23
+#: src/scrobbler/gtkstuff.c:20
 msgid "About Scrobbler Plugin"
 msgstr "Quant al plugin per a Scrobbler"
 
-#: src/scrobbler/gtkstuff.c:36
+#: src/scrobbler/gtkstuff.c:33
 #, c-format
 msgid ""
 "There has been an error that may require your attention.\n"
@@ -3789,113 +3804,113 @@
 "%s\n"
 msgstr ""
 
-#: src/scrobbler/gtkstuff.c:43
+#: src/scrobbler/gtkstuff.c:40
 #, fuzzy
 msgid "Scrobbler Error"
 msgstr "Plugin per a Scrobbler"
 
-#: src/sid/xmms-sid.glade:8 src/sid/xs_interface.c:221
+#: src/sid/xmms-sid.glade:8 src/sid/xs_interface.c:233
 #, fuzzy
 msgid "Audacious-SID configuration"
 msgstr "Configuració del plugin d'àudio MPEG"
 
-#: src/sid/xmms-sid.glade:71 src/sid/xs_interface.c:257
+#: src/sid/xmms-sid.glade:71 src/sid/xs_interface.c:269
 #, fuzzy
 msgid "8-bit"
 msgstr "8 bits"
 
-#: src/sid/xmms-sid.glade:90 src/sid/xs_interface.c:264
+#: src/sid/xmms-sid.glade:90 src/sid/xs_interface.c:276
 #, fuzzy
 msgid "16-bit"
 msgstr "16 bits"
 
-#: src/sid/xmms-sid.glade:111 src/sid/xs_interface.c:271
+#: src/sid/xmms-sid.glade:111 src/sid/xs_interface.c:283
 msgid "Resolution:"
 msgstr "Resolució:"
 
-#: src/sid/xmms-sid.glade:196 src/sid/xs_interface.c:302
+#: src/sid/xmms-sid.glade:196 src/sid/xs_interface.c:314
 msgid "Autopanning"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:217 src/sid/xs_interface.c:309
+#: src/sid/xmms-sid.glade:217 src/sid/xs_interface.c:321
 msgid "Channels:"
 msgstr "Canals:"
 
-#: src/sid/xmms-sid.glade:384 src/sid/xs_interface.c:353
+#: src/sid/xmms-sid.glade:384 src/sid/xs_interface.c:365
 #, fuzzy
 msgid "Samplerate:"
 msgstr "Freqüència de mostreig:"
 
-#: src/sid/xmms-sid.glade:430 src/sid/xs_interface.c:370
+#: src/sid/xmms-sid.glade:430 src/sid/xs_interface.c:382
 #, fuzzy
 msgid "Use oversampling"
 msgstr "Remostreig"
 
-#: src/sid/xmms-sid.glade:456 src/sid/xs_interface.c:381
+#: src/sid/xmms-sid.glade:456 src/sid/xs_interface.c:393
 msgid "Factor:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:500 src/sid/xs_interface.c:393
+#: src/sid/xmms-sid.glade:500 src/sid/xs_interface.c:405
 msgid "Large factors require more CPU-power"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:534 src/sid/xs_interface.c:399
+#: src/sid/xmms-sid.glade:534 src/sid/xs_interface.c:411
 #, fuzzy
 msgid "Oversampling:"
 msgstr "Remostreig"
 
-#: src/sid/xmms-sid.glade:570 src/sid/xs_interface.c:404
+#: src/sid/xmms-sid.glade:570 src/sid/xs_interface.c:416
 msgid "Audio"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:620 src/sid/xs_interface.c:436
+#: src/sid/xmms-sid.glade:620 src/sid/xs_interface.c:448
 msgid ""
 "If enabled, this option \"forces\" the emulation engine to use the selected "
 "clock speed/frequency. Otherwise the speed is determined from played file "
 "itself."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:622 src/sid/xs_interface.c:432
+#: src/sid/xmms-sid.glade:622 src/sid/xs_interface.c:444
 msgid "Force speed"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:640 src/sid/xs_interface.c:442
+#: src/sid/xmms-sid.glade:640 src/sid/xs_interface.c:454
 msgid ""
 "PAL is the european TV standard, which uses 50Hz vertical refresh frequency. "
 "Most of SID-tunes have been made for PAL computers."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:642 src/sid/xs_interface.c:438
+#: src/sid/xmms-sid.glade:642 src/sid/xs_interface.c:450
 msgid "PAL (50 Hz)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:660 src/sid/xs_interface.c:450
+#: src/sid/xmms-sid.glade:660 src/sid/xs_interface.c:462
 msgid ""
 "NTSC is the TV standard with 60Hz vertical refresh rate (and other features "
 "that differ from PAL). It is mainly used in United States, Japan and certain "
 "other countries."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:662 src/sid/xs_interface.c:446
+#: src/sid/xmms-sid.glade:662 src/sid/xs_interface.c:458
 msgid "NTSC (60 Hz)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:683 src/sid/xs_interface.c:454
+#: src/sid/xmms-sid.glade:683 src/sid/xs_interface.c:466
 msgid "Clock speed:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:728 src/sid/xs_interface.c:475
+#: src/sid/xmms-sid.glade:728 src/sid/xs_interface.c:487
 msgid ""
 "If enabled, this option \"forces\" the emulation engine to use the selected "
 "SID-chip model. Otherwise the preferred SID model is determined from the "
 "file (if PSIDv2NG type) or if not available, this setting is used."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:730 src/sid/xs_interface.c:471
+#: src/sid/xmms-sid.glade:730 src/sid/xs_interface.c:483
 msgid "Force model"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:748 src/sid/xs_interface.c:481
+#: src/sid/xmms-sid.glade:748 src/sid/xs_interface.c:493
 msgid ""
 "MOS/CSG 6581 is the earlier major version of SID chip. It differs from 8580 "
 "in few ways, having much fuller filter (which, due to design error, is never "
@@ -3903,91 +3918,91 @@
 "which enables playing of digital samples."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:750 src/sid/xs_interface.c:477
+#: src/sid/xmms-sid.glade:750 src/sid/xs_interface.c:489
 msgid "MOS 6581"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:769 src/sid/xs_interface.c:485
+#: src/sid/xmms-sid.glade:769 src/sid/xs_interface.c:497
 msgid "MOS 8580"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:790 src/sid/xs_interface.c:492
+#: src/sid/xmms-sid.glade:790 src/sid/xs_interface.c:504
 #, fuzzy
 msgid "SID model:"
 msgstr "Mode de reproducció:"
 
-#: src/sid/xmms-sid.glade:842 src/sid/xs_interface.c:513
+#: src/sid/xmms-sid.glade:842 src/sid/xs_interface.c:525
 msgid ""
 "Use libSIDPlay 1.x emulation, faster but not so accurate. Good in most "
 "cases, though."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:844 src/sid/xs_interface.c:509
+#: src/sid/xmms-sid.glade:844 src/sid/xs_interface.c:521
 msgid "SIDPlay 1 (frame-based)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:863 src/sid/xs_interface.c:521
+#: src/sid/xmms-sid.glade:863 src/sid/xs_interface.c:533
 msgid ""
 "Use libSIDPlay 2.x emulation, which requires powerful CPU due to more exact "
 "emulation."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:865 src/sid/xs_interface.c:517
+#: src/sid/xmms-sid.glade:865 src/sid/xs_interface.c:529
 msgid "SIDPlay 2 (cycle-based)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:887 src/sid/xs_interface.c:525
+#: src/sid/xmms-sid.glade:887 src/sid/xs_interface.c:537
 msgid "Emulation library selection:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:933 src/sid/xs_interface.c:542
+#: src/sid/xmms-sid.glade:933 src/sid/xs_interface.c:554
 msgid "Real C64 (SIDPlay 2 only)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:952 src/sid/xs_interface.c:549
+#: src/sid/xmms-sid.glade:952 src/sid/xs_interface.c:561
 msgid "Bank switching"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:972 src/sid/xs_interface.c:556
+#: src/sid/xmms-sid.glade:972 src/sid/xs_interface.c:568
 msgid "Transparent ROM"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:992 src/sid/xs_interface.c:563
+#: src/sid/xmms-sid.glade:992 src/sid/xs_interface.c:575
 msgid "PlaySID environment"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1013 src/sid/xs_interface.c:570
+#: src/sid/xmms-sid.glade:1013 src/sid/xs_interface.c:582
 #, fuzzy
 msgid "Memory mode:"
 msgstr "Mode de reproducció:"
 
-#: src/sid/xmms-sid.glade:1049 src/sid/xs_interface.c:575
+#: src/sid/xmms-sid.glade:1049 src/sid/xs_interface.c:587
 msgid "Emu#1"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1093 src/sid/xs_interface.c:602
+#: src/sid/xmms-sid.glade:1093 src/sid/xs_interface.c:614
 msgid ""
 "This setting can be used to enable libSIDPlay2's \"optimization mode\", "
 "which in downgrades the emulation from cycle-exact to something similar to "
 "frame-exact. The result is lower CPU usage, but worse accuracy."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1095 src/sid/xs_interface.c:598
+#: src/sid/xmms-sid.glade:1095 src/sid/xs_interface.c:610
 msgid "Optimization mode (faster, inaccurate)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1113 src/sid/xs_interface.c:608
+#: src/sid/xmms-sid.glade:1113 src/sid/xs_interface.c:620
 msgid ""
 "reSID is the software SID-chip simulator based on SID reverse-engineering, "
 "created by Dag Lem. It is probably the closest thing to real SID available "
 "as software-only emulation."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1115 src/sid/xs_interface.c:604
+#: src/sid/xmms-sid.glade:1115 src/sid/xs_interface.c:616
 msgid "reSID-emulation"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1133 src/sid/xs_interface.c:616
+#: src/sid/xmms-sid.glade:1133 src/sid/xs_interface.c:628
 msgid ""
 "HardSID is a EISA/PCI card for PC-compatibles, which can be fitted with a "
 "real SID-chip. Software can be used to control the HardSID and combined with "
@@ -3996,49 +4011,49 @@
 "http://www.hardsid.com/"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1135 src/sid/xs_interface.c:612
+#: src/sid/xmms-sid.glade:1135 src/sid/xs_interface.c:624
 msgid "HardSID"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1156 src/sid/xs_interface.c:620
+#: src/sid/xmms-sid.glade:1156 src/sid/xs_interface.c:632
 msgid "SIDPlay 2 options:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1201 src/sid/xs_interface.c:641
+#: src/sid/xmms-sid.glade:1201 src/sid/xs_interface.c:653
 msgid ""
 "Fastest and also worst sounding sampling method, simply picks nearest "
 "neighbouring sample."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1203 src/sid/xs_interface.c:637
+#: src/sid/xmms-sid.glade:1203 src/sid/xs_interface.c:649
 msgid "Fast (nearest neighbour)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1221 src/sid/xs_interface.c:649
+#: src/sid/xmms-sid.glade:1221 src/sid/xs_interface.c:661
 msgid ""
 "Uses linear interpolation between samples, yielding higher audio quality "
 "with less sampling noise."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1223 src/sid/xs_interface.c:645
+#: src/sid/xmms-sid.glade:1223 src/sid/xs_interface.c:657
 msgid "Linear interpolation"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1263 src/sid/xs_interface.c:660
+#: src/sid/xmms-sid.glade:1263 src/sid/xs_interface.c:672
 #, fuzzy
 msgid "Resampling (FIR)"
 msgstr "Remostreig"
 
-#: src/sid/xmms-sid.glade:1284 src/sid/xs_interface.c:667
+#: src/sid/xmms-sid.glade:1284 src/sid/xs_interface.c:679
 #, fuzzy
 msgid "reSID sampling options:"
 msgstr "Taxa de remostreig:"
 
-#: src/sid/xmms-sid.glade:1320 src/sid/xs_interface.c:672
+#: src/sid/xmms-sid.glade:1320 src/sid/xs_interface.c:684
 msgid "Emu#2"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1350 src/sid/xs_interface.c:688
+#: src/sid/xmms-sid.glade:1350 src/sid/xs_interface.c:700
 msgid ""
 "This option enables emulation of SID filter. The filter is an essential part "
 "of SID's sound capacity, but accurate emulation of it may require quite much "
@@ -4046,304 +4061,315 @@
 "authentic at all if they utilize the filter."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1352 src/sid/xs_interface.c:684
+#: src/sid/xmms-sid.glade:1352 src/sid/xs_interface.c:696
 msgid "Emulate filters"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1409 src/sid/xs_interface.c:713
+#: src/sid/xmms-sid.glade:1409 src/sid/xs_interface.c:725
 msgid "FS"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1460 src/sid/xs_interface.c:730
+#: src/sid/xmms-sid.glade:1460 src/sid/xs_interface.c:742
 msgid "FM"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1511 src/sid/xs_interface.c:747
+#: src/sid/xmms-sid.glade:1511 src/sid/xs_interface.c:759
 msgid "FT"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1549 src/sid/xs_interface.c:758
+#: src/sid/xmms-sid.glade:1549 src/sid/xs_interface.c:770
 msgid "Reset values"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1578 src/sid/xs_interface.c:763
+#: src/sid/xmms-sid.glade:1578 src/sid/xs_interface.c:775
 msgid "SIDPlay1"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1690 src/sid/xs_interface.c:804
+#: src/sid/xmms-sid.glade:1690 src/sid/xs_interface.c:816
 msgid "Export"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1711 src/sid/xs_interface.c:812
+#: src/sid/xmms-sid.glade:1711 src/sid/xs_interface.c:824
 msgid "Use"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1753 src/sid/xs_interface.c:828
+#: src/sid/xmms-sid.glade:1753 src/sid/xs_interface.c:840
+#: src/skins/ui_manager.c:437
 msgid "Import"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1774 src/sid/xs_interface.c:836
+#: src/sid/xmms-sid.glade:1774 src/sid/xs_interface.c:848
+#: src/skins/ui_manager.c:439
 #, fuzzy
 msgid "Delete"
 msgstr "Per defecte"
 
-#: src/sid/xmms-sid.glade:1819 src/sid/xs_interface.c:850
+#: src/sid/xmms-sid.glade:1819 src/sid/xs_interface.c:862
 #, fuzzy
 msgid "Filter curve:"
 msgstr "Mida del fitxer:"
 
-#: src/sid/xmms-sid.glade:1855 src/sid/xs_interface.c:855
+#: src/sid/xmms-sid.glade:1855 src/sid/xs_interface.c:867
 msgid "SIDPlay2"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1891 src/sid/xs_interface.c:861
+#: src/sid/xmms-sid.glade:1891 src/sid/xs_interface.c:873
 msgid "Filters"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1935 src/sid/xs_interface.c:888
+#: src/sid/xmms-sid.glade:1935 src/sid/xs_interface.c:900
 msgid ""
 "If enabled, the tune is played at least for the specified time, adding "
 "silence to the end if necessary."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1937 src/sid/xs_interface.c:884
+#: src/sid/xmms-sid.glade:1937 src/sid/xs_interface.c:896
 msgid "Play at least for specified time"
 msgstr ""
 
 #: src/sid/xmms-sid.glade:1962 src/sid/xmms-sid.glade:2133
-#: src/sid/xmms-sid.glade:2632 src/sid/xs_interface.c:895
-#: src/sid/xs_interface.c:949 src/sid/xs_interface.c:1109
+#: src/sid/xmms-sid.glade:2702 src/sid/xs_interface.c:907
+#: src/sid/xs_interface.c:961 src/sid/xs_interface.c:1141
 #, fuzzy
 msgid "Playtime:"
 msgstr "Mode de reproducció:"
 
-#: src/sid/xmms-sid.glade:2041 src/sid/xs_interface.c:915
+#: src/sid/xmms-sid.glade:2041 src/sid/xs_interface.c:927
 msgid "Minimum playtime:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2086 src/sid/xs_interface.c:936
+#: src/sid/xmms-sid.glade:2086 src/sid/xs_interface.c:948
 msgid ""
 "If enabled, tune is played until specified duration is reached (aka maximum "
 "playtime)."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2088 src/sid/xs_interface.c:932
+#: src/sid/xmms-sid.glade:2088 src/sid/xs_interface.c:944
 msgid "Play for specified time maximum"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2107 src/sid/xs_interface.c:942
+#: src/sid/xmms-sid.glade:2107 src/sid/xs_interface.c:954
 msgid ""
 "If enabled, the maximum playtime is applied only if song/tune length is not "
 "known."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2109 src/sid/xs_interface.c:938
+#: src/sid/xmms-sid.glade:2109 src/sid/xs_interface.c:950
 msgid "Only when song length is unknown"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2212 src/sid/xs_interface.c:969
+#: src/sid/xmms-sid.glade:2212 src/sid/xs_interface.c:981
 msgid "Maximum playtime:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2257 src/sid/xs_interface.c:990
+#: src/sid/xmms-sid.glade:2257 src/sid/xs_interface.c:1002
 msgid ""
 "This option enables using of XSIDPLAY compatible song length database. "
 "(Refer to Audacious-SID documentation for more information)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2259 src/sid/xs_interface.c:986
+#: src/sid/xmms-sid.glade:2259 src/sid/xs_interface.c:998
 msgid "Use XSIDPLAY-compatible database"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2284 src/sid/xs_interface.c:997
+#: src/sid/xmms-sid.glade:2284 src/sid/xs_interface.c:1009
 msgid "DB-file:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2309 src/sid/xs_interface.c:1007
+#: src/sid/xmms-sid.glade:2309 src/sid/xs_interface.c:1019
 msgid "Database path and filename"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2329 src/sid/xs_interface.c:1014
+#: src/sid/xmms-sid.glade:2329 src/sid/xs_interface.c:1026
 msgid "Browse for song length-database file"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2356 src/sid/xs_interface.c:1016
+#: src/sid/xmms-sid.glade:2418 src/sid/xs_interface.c:1048
 msgid "Song length database:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2392 src/sid/xs_interface.c:1021
+#: src/sid/xmms-sid.glade:2454 src/sid/xs_interface.c:1053
 #, fuzzy
 msgid "Songlength"
 msgstr "Duració per defecte:"
 
-#: src/sid/xmms-sid.glade:2430 src/sid/xs_interface.c:1043
+#: src/sid/xmms-sid.glade:2492 src/sid/xs_interface.c:1075
 msgid ""
 "By enabling this option you can specify a custom Tuplez formatting string "
 "for SID-files. The SID-plugin specific Tuplez tags are described shortly "
 "below."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2432 src/sid/xs_interface.c:1039
+#: src/sid/xmms-sid.glade:2494 src/sid/xs_interface.c:1071
 #, fuzzy
 msgid "Override generic Tuplez format string"
 msgstr "Ignora els títols genèrics"
 
-#: src/sid/xmms-sid.glade:2457 src/sid/xs_interface.c:1054
+#: src/sid/xmms-sid.glade:2519 src/sid/xs_interface.c:1086
 msgid "Tuplez format string for SID-files"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2477 src/sid/xs_interface.c:1057
-msgid "Descriptions of <i>SID-specific</i> Tuplez fields go here. <b>:D</b>"
-msgstr ""
-
-#: src/sid/xmms-sid.glade:2511 src/sid/xs_interface.c:1065
+#: src/sid/xmms-sid.glade:2539 src/sid/xs_interface.c:1089
+msgid ""
+"<u>SID-specific Tuplez fields:</u>\n"
+"\n"
+"<b>sid-format</b>\t\t- Specific fileformat\n"
+"<b>sid-model</b>\t\t- 6581 or 8580\n"
+"<b>sid-speed</b>\t\t- Timing or speed: PAL/NTSC/etc.\n"
+"\n"
+"<u>Other \"special\" fields set:</u>\n"
+"\n"
+"<b>subsong-num, subsong-id</b>"
+msgstr ""
+
+#: src/sid/xmms-sid.glade:2581 src/sid/xs_interface.c:1097
 #, fuzzy
 msgid "Song title format:"
 msgstr "Format del títol:"
 
-#: src/sid/xmms-sid.glade:2584 src/sid/xs_interface.c:1096
+#: src/sid/xmms-sid.glade:2654 src/sid/xs_interface.c:1128
 msgid ""
 "If enabled, sub-tunes of each file will be added to playlist. If disabled, "
 "only the default sub-tune will be added."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2586 src/sid/xs_interface.c:1092
+#: src/sid/xmms-sid.glade:2656 src/sid/xs_interface.c:1124
 msgid "Add sub-tunes to playlist"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2605 src/sid/xs_interface.c:1102
+#: src/sid/xmms-sid.glade:2675 src/sid/xs_interface.c:1134
 msgid "Only add sub-tunes that have a duration of at least specified time."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2607 src/sid/xs_interface.c:1098
+#: src/sid/xmms-sid.glade:2677 src/sid/xs_interface.c:1130
 msgid "Only tunes with specified minimum duration"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2710 src/sid/xs_interface.c:1129
+#: src/sid/xmms-sid.glade:2780 src/sid/xs_interface.c:1161
 #, fuzzy
 msgid "Sub-tune handling:"
 msgstr "Control del volum:"
 
-#: src/sid/xmms-sid.glade:2755 src/sid/xs_interface.c:1150
+#: src/sid/xmms-sid.glade:2825 src/sid/xs_interface.c:1182
 msgid ""
 "If this option is enabled (and the database & HVSC settings below are "
 "correctly set), Audacious-SID will use and display additional information "
 "from STIL database when HVSC SIDs are played."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2757 src/sid/xs_interface.c:1146
+#: src/sid/xmms-sid.glade:2827 src/sid/xs_interface.c:1178
 msgid "Use STIL database"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2782 src/sid/xs_interface.c:1157
+#: src/sid/xmms-sid.glade:2852 src/sid/xs_interface.c:1189
 #, fuzzy
 msgid "STIL file:"
 msgstr "Títol:"
 
-#: src/sid/xmms-sid.glade:2819 src/sid/xs_interface.c:1173
+#: src/sid/xmms-sid.glade:2889 src/sid/xs_interface.c:1205
 msgid ""
 "Path and filename of STIL database file (STIL.txt), usually found from "
 "HVSC's DOCUMENTS-subdirectory."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2854 src/sid/xs_interface.c:1186
+#: src/sid/xmms-sid.glade:2924 src/sid/xs_interface.c:1218
 msgid "Browse for STIL-database file"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2888 src/sid/xs_interface.c:1193
+#: src/sid/xmms-sid.glade:3020 src/sid/xs_interface.c:1245
 msgid "HVSC path:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2925 src/sid/xs_interface.c:1209
+#: src/sid/xmms-sid.glade:3057 src/sid/xs_interface.c:1261
 msgid ""
 "Path to base-directory of your High Voltage SID Collection (HVSC), for "
 "example /media/C64Music/"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2960 src/sid/xs_interface.c:1222
+#: src/sid/xmms-sid.glade:3092 src/sid/xs_interface.c:1274
 msgid "Browse for HVSC path"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2990 src/sid/xs_interface.c:1224
+#: src/sid/xmms-sid.glade:3184 src/sid/xs_interface.c:1296
 msgid "SID Tune Information List (STIL) database:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3063 src/sid/xs_interface.c:1248
+#: src/sid/xmms-sid.glade:3257 src/sid/xs_interface.c:1320
 msgid "Accept and update changes"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3077 src/sid/xs_interface.c:1255
+#: src/sid/xmms-sid.glade:3271 src/sid/xs_interface.c:1327
 msgid "Cancel any changes"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3102 src/sid/xs_interface.c:1543
+#: src/sid/xmms-sid.glade:3296 src/sid/xs_interface.c:1627
 msgid "Audacious-SID Fileinfo"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3172 src/sid/xs_interface.c:1572
+#: src/sid/xmms-sid.glade:3366 src/sid/xs_interface.c:1656
 msgid "Songname:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3200 src/sid/xs_interface.c:1580
+#: src/sid/xmms-sid.glade:3394 src/sid/xs_interface.c:1664
 msgid "Composer:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3228 src/sid/xs_interface.c:1588
+#: src/sid/xmms-sid.glade:3422 src/sid/xs_interface.c:1672
 msgid "Copyright:"
 msgstr "Copyright:"
 
-#: src/sid/xmms-sid.glade:3342 src/sid/xs_interface.c:1632
+#: src/sid/xmms-sid.glade:3536 src/sid/xs_interface.c:1716
 msgid "Song Information:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3416 src/sid/xs_interface.c:1667
+#: src/sid/xmms-sid.glade:3610 src/sid/xs_interface.c:1751
 msgid "Author:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3514 src/sid/xs_interface.c:1701
+#: src/sid/xmms-sid.glade:3708 src/sid/xs_interface.c:1785
 #, fuzzy
 msgid "Duration:"
 msgstr "Descripció:"
 
-#: src/sid/xmms-sid.glade:3608 src/sid/xs_interface.c:1735
+#: src/sid/xmms-sid.glade:3802 src/sid/xs_interface.c:1819
 msgid "Sub-tune Information:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3662 src/sid/xs_interface.c:1796
+#: src/sid/xmms-sid.glade:3856 src/sid/xs_interface.c:1880
 msgid "Select HVSC song length database"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3704 src/sid/xs_interface.c:1837
+#: src/sid/xmms-sid.glade:3898 src/sid/xs_interface.c:1921
 msgid "Select STIL-database"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3746 src/sid/xs_interface.c:1878
+#: src/sid/xmms-sid.glade:3940 src/sid/xs_interface.c:1962
 msgid "Select HVSC location prefix"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3788 src/sid/xs_interface.c:1919
+#: src/sid/xmms-sid.glade:3982 src/sid/xs_interface.c:2003
 msgid "Select SIDPlay2 filters file for importing"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3830 src/sid/xs_interface.c:1960
+#: src/sid/xmms-sid.glade:4024 src/sid/xs_interface.c:2044
 msgid "Select SIDPlay2 filters file for exporting"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3871 src/sid/xmms-sid.glade:3953
-#: src/sid/xs_interface.c:2008 src/sid/xs_interface.c:2021
+#: src/sid/xmms-sid.glade:4065 src/sid/xmms-sid.glade:4147
+#: src/sid/xs_interface.c:2092 src/sid/xs_interface.c:2105
 msgid "Confirm selected action"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3909 src/sid/xs_interface.c:2038
+#: src/sid/xmms-sid.glade:4103 src/sid/xs_interface.c:2122
 #, fuzzy
 msgid "Yes"
 msgstr "Sí"
 
-#: src/sid/xmms-sid.glade:3921 src/sid/xs_interface.c:2044
+#: src/sid/xmms-sid.glade:4115 src/sid/xs_interface.c:2128
 msgid "No"
 msgstr "No"
 
-#: src/sid/xs_about.c:84 src/wma/wma.c:121
+#: src/sid/xs_about.c:84 src/wma/wma.c:118
 #, c-format
 msgid "About %s"
 msgstr "Quant a %s"
@@ -4358,12 +4384,1118 @@
 msgid "Tune #%i: "
 msgstr ""
 
-#: src/sndfile/plugin.c:548
+#: src/skins/plugin.c:128
+msgid "About Skinned GUI"
+msgstr ""
+
+#: src/skins/plugin.c:129
+msgid ""
+"Copyright (c) 2008, by Tomasz Moń <desowin@gmail.com>\n"
+"\n"
+msgstr ""
+
+#: src/skins/skins_cfg.c:329
+#, fuzzy
+msgid "<b>_Fonts</b>"
+msgstr "<b>Hatena</b>"
+
+#: src/skins/skins_cfg.c:330
+#, fuzzy
+msgid "_Player:"
+msgstr "Mode de reproducció:"
+
+#: src/skins/skins_cfg.c:330
+msgid "Select main player window font:"
+msgstr ""
+
+#: src/skins/skins_cfg.c:331
+#, fuzzy
+msgid "_Playlist:"
+msgstr "Mode de reproducció:"
+
+#: src/skins/skins_cfg.c:331
+msgid "Select playlist font:"
+msgstr ""
+
+#: src/skins/skins_cfg.c:332
+#, fuzzy
+msgid "Use Bitmap fonts if available"
+msgstr "Estèreo (si està disponible)"
+
+#: src/skins/skins_cfg.c:332
+msgid ""
+"Use bitmap fonts if they are available. Bitmap fonts do not support Unicode "
+"strings."
+msgstr ""
+
+#: src/skins/skins_cfg.c:333
+#, fuzzy
+msgid "<b>_Miscellaneous</b>"
+msgstr "<b>Serveis</b>"
+
+#: src/skins/skins_cfg.c:334
+msgid "Show track numbers in playlist"
+msgstr ""
+
+#: src/skins/skins_cfg.c:336
+msgid "Show separators in playlist"
+msgstr ""
+
+#: src/skins/skins_cfg.c:338
+msgid "Show window manager decoration"
+msgstr ""
+
+#: src/skins/skins_cfg.c:339
+msgid "This enables the window manager to show decorations for windows."
+msgstr ""
+
+#: src/skins/skins_cfg.c:340
+msgid "Use two-way text scroller"
+msgstr ""
+
+#: src/skins/skins_cfg.c:341
+msgid ""
+"If selected, the file information text in the main window will scroll back "
+"and forth. If not selected, the text will only scroll in one direction."
+msgstr ""
+
+#: src/skins/skins_cfg.c:342
+msgid "Disable inline gtk theme"
+msgstr ""
+
+#: src/skins/skins_cfg.c:343
+msgid "Allow loading incomplete skins"
+msgstr ""
+
+#: src/skins/skins_cfg.c:344
+msgid ""
+"If selected, audacious won't refuse loading broken skins. Use only if your "
+"favourite skin doesn't work"
+msgstr ""
+
+#: src/skins/skins_cfg.c:410
+msgid "Color Adjustment"
+msgstr ""
+
+#: src/skins/skins_cfg.c:417
+msgid ""
+"Audacious allows you to alter the color balance of the skinned UI. The "
+"sliders below will allow you to do this."
+msgstr ""
+
+#: src/skins/skins_cfg.c:427
+#, fuzzy
+msgid "Blue"
+msgstr "Blues"
+
+#: src/skins/skins_cfg.c:434
+msgid "Green"
+msgstr ""
+
+#: src/skins/skins_cfg.c:441
+msgid "Red"
+msgstr ""
+
+#: src/skins/skins_cfg.c:571
+#, fuzzy
+msgid "Audacious Skinned GUI Configuration"
+msgstr "Configuració del reproductor de CD"
+
+#: src/skins/skins_cfg.c:596
+#, fuzzy
+msgid "<b>_Skin</b>"
+msgstr "<b>Hatena</b>"
+
+#: src/skins/ui_equalizer.c:494
+msgid "Audacious Equalizer"
+msgstr ""
+
+#: src/skins/ui_equalizer.c:794
+#, c-format
+msgid "Error importing Winamp EQF file '%s'"
+msgstr ""
+
+#: src/skins/ui_equalizer.c:1172
+msgid "Presets"
+msgstr ""
+
+#: src/skins/ui_main.c:392
+#, c-format
+msgid "%s - Audacious"
+msgstr "%s - Audacious"
+
+#: src/skins/ui_main.c:394 src/skins/ui_main.c:2397
+#, fuzzy
+msgid "Audacious"
+msgstr "%s - Audacious"
+
+#: src/skins/ui_main.c:641
+msgid "VBR"
+msgstr ""
+
+#: src/skins/ui_main.c:659 src/skins/ui_main.c:663
+#, fuzzy
+msgid "stereo"
+msgstr "Estèreo"
+
+#: src/skins/ui_main.c:659 src/skins/ui_main.c:663
+#, fuzzy
+msgid "mono"
+msgstr "Mono"
+
+#: src/skins/ui_main.c:957
+msgid "Can't jump to time when no track is being played.\n"
+msgstr ""
+
+#: src/skins/ui_main.c:972 src/skins/ui_manager.c:425
+#: src/skins/ui_manager.c:426
+msgid "Jump to Time"
+msgstr ""
+
+#: src/skins/ui_main.c:993
+#, fuzzy
+msgid "minutes:seconds"
+msgstr "segons"
+
+#: src/skins/ui_main.c:1003
+#, fuzzy
+msgid "Track length:"
+msgstr "Guany de la pista:"
+
+#: src/skins/ui_main.c:1149
+msgid "Audacious - visibility warning"
+msgstr ""
+
+#: src/skins/ui_main.c:1152
+#, fuzzy
+msgid "Show main player window"
+msgstr "Mostra la finestra de xarxa"
+
+#: src/skins/ui_main.c:1153
+msgid "Ignore"
+msgstr ""
+
+#: src/skins/ui_main.c:1159
+msgid ""
+"Audacious has been started with all of its windows hidden.\n"
+"You may want to show the player window again to control Audacious; "
+"otherwise, you'll have to control it remotely via audtool or enabled plugins "
+"(such as the statusicon plugin)."
+msgstr ""
+
+#: src/skins/ui_main.c:1165
+msgid "Always ignore, show/hide is controlled remotely"
+msgstr ""
+
+#: src/skins/ui_main.c:1210
+msgid "Audacious - broken GTK engine usage warning"
+msgstr ""
+
+#: src/skins/ui_main.c:1218
+#, c-format
+msgid ""
+"<big><b>Broken GTK engine in use</b></big>\n"
+"\n"
+"Audacious has detected that you are using a broken GTK engine.\n"
+"\n"
+"The theme engine you are using, <i>%s</i>, is incompatible with some of the "
+"features used by modern skins. The incompatible features have been disabled "
+"for this session.\n"
+"\n"
+"To use these features, please consider using a different GTK theme engine."
+msgstr ""
+
+#: src/skins/ui_main.c:1229
+msgid "Do not display this warning again"
+msgstr ""
+
+#: src/skins/ui_main.c:1253
+msgid "Enter location to play:"
+msgstr ""
+
+#: src/skins/ui_main.c:1497
+#, c-format
+msgid "Seek to: %d:%-2.2d/%d:%-2.2d (%d%%)"
+msgstr ""
+
+#: src/skins/ui_main.c:1527
+#, fuzzy, c-format
+msgid "Volume: %d%%"
+msgstr "Volum: (%)"
+
+#: src/skins/ui_main.c:1555
+#, c-format
+msgid "Balance: %d%% left"
+msgstr ""
+
+#: src/skins/ui_main.c:1559
+msgid "Balance: center"
+msgstr ""
+
+#: src/skins/ui_main.c:1563
+#, c-format
+msgid "Balance: %d%% right"
+msgstr ""
+
+#: src/skins/ui_main.c:1881
+#, fuzzy
+msgid "Options Menu"
+msgstr "Opcions:"
+
+#: src/skins/ui_main.c:1885
+msgid "Disable 'Always On Top'"
+msgstr ""
+
+#: src/skins/ui_main.c:1887
+msgid "Enable 'Always On Top'"
+msgstr ""
+
+#: src/skins/ui_main.c:1890
+#, fuzzy
+msgid "File Info Box"
+msgstr "Informació del fitxer - %s"
+
+#: src/skins/ui_main.c:1894
+#, fuzzy
+msgid "Disable 'GUI Scaling'"
+msgstr "Deshabilita les etiquetes ID3V2"
+
+#: src/skins/ui_main.c:1896
+#, fuzzy
+msgid "Enable 'GUI Scaling'"
+msgstr "Habilita el remostreig d'àudio"
+
+#: src/skins/ui_main.c:1899
+msgid "Visualization Menu"
+msgstr ""
+
+#: src/skins/ui_main.c:1946
+msgid ""
+"<b><big>Couldn't open audio.</big></b>\n"
+"\n"
+"Please check that:\n"
+"1. You have the correct output plugin selected.\n"
+"2. No other programs is blocking the soundcard.\n"
+"3. Your soundcard is configured properly.\n"
+msgstr ""
+
+#: src/skins/ui_manager.c:53 src/skins/ui_manager.c:54
+msgid "Autoscroll Songname"
+msgstr ""
+
+#: src/skins/ui_manager.c:56 src/skins/ui_manager.c:57
+msgid "Stop after Current Song"
+msgstr ""
+
+#: src/skins/ui_manager.c:59 src/skins/ui_manager.c:60
+#, fuzzy
+msgid "Peaks"
+msgstr "Bromes"
+
+#: src/skins/ui_manager.c:62 src/skins/ui_manager.c:63
+#, fuzzy
+msgid "Repeat"
+msgstr "Beat"
+
+#: src/skins/ui_manager.c:65 src/skins/ui_manager.c:66
+msgid "Shuffle"
+msgstr ""
+
+#: src/skins/ui_manager.c:68 src/skins/ui_manager.c:69
+msgid "No Playlist Advance"
+msgstr ""
+
+#: src/skins/ui_manager.c:71 src/skins/ui_manager.c:72
+msgid "Show Player"
+msgstr ""
+
+#: src/skins/ui_manager.c:74 src/skins/ui_manager.c:75
+msgid "Show Playlist Editor"
+msgstr ""
+
+#: src/skins/ui_manager.c:77 src/skins/ui_manager.c:78
+msgid "Show Equalizer"
+msgstr ""
+
+#: src/skins/ui_manager.c:80 src/skins/ui_manager.c:81
+msgid "Always on Top"
+msgstr ""
+
+#: src/skins/ui_manager.c:83 src/skins/ui_manager.c:84
+msgid "Put on All Workspaces"
+msgstr ""
+
+#: src/skins/ui_manager.c:86 src/skins/ui_manager.c:87
+msgid "Roll up Player"
+msgstr ""
+
+#: src/skins/ui_manager.c:89 src/skins/ui_manager.c:90
+msgid "Roll up Playlist Editor"
+msgstr ""
+
+#: src/skins/ui_manager.c:92 src/skins/ui_manager.c:93
+msgid "Roll up Equalizer"
+msgstr ""
+
+#: src/skins/ui_manager.c:95 src/sndstretch/sndstretch_xmms.c:375
+#, fuzzy
+msgid "Scale"
+msgstr "Vocal"
+
+#: src/skins/ui_manager.c:96
+msgid "DoubleSize"
+msgstr ""
+
+#: src/skins/ui_manager.c:98 src/skins/ui_manager.c:99
+msgid "Easy Move"
+msgstr ""
+
+#: src/skins/ui_manager.c:107
+msgid "Analyzer"
+msgstr ""
+
+#: src/skins/ui_manager.c:108
+#, fuzzy
+msgid "Scope"
+msgstr "Synthpop"
+
+#: src/skins/ui_manager.c:109
+msgid "Voiceprint"
+msgstr ""
+
+#: src/skins/ui_manager.c:110
+msgid "Off"
+msgstr ""
+
+#: src/skins/ui_manager.c:114 src/skins/ui_manager.c:131
+#: src/skins/ui_manager.c:137
+#, fuzzy
+msgid "Normal"
+msgstr "Port:"
+
+#: src/skins/ui_manager.c:115 src/skins/ui_manager.c:132
+#, fuzzy
+msgid "Fire"
+msgstr "Sàtira"
+
+#: src/skins/ui_manager.c:116
+msgid "Vertical Lines"
+msgstr ""
+
+#: src/skins/ui_manager.c:120
+#, fuzzy
+msgid "Lines"
+msgstr "Llatina"
+
+#: src/skins/ui_manager.c:121
+#, fuzzy
+msgid "Bars"
+msgstr "Bass"
+
+#: src/skins/ui_manager.c:125
+msgid "Dot Scope"
+msgstr ""
+
+#: src/skins/ui_manager.c:126
+msgid "Line Scope"
+msgstr ""
+
+#: src/skins/ui_manager.c:127
+msgid "Solid Scope"
+msgstr ""
+
+#: src/skins/ui_manager.c:133
+msgid "Ice"
+msgstr ""
+
+#: src/skins/ui_manager.c:138
+msgid "Smooth"
+msgstr ""
+
+#: src/skins/ui_manager.c:142
+msgid "Full (~50 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:143
+msgid "Half (~25 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:144
+msgid "Quarter (~13 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:145
+msgid "Eighth (~6 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:149 src/skins/ui_manager.c:157
+#, fuzzy
+msgid "Slowest"
+msgstr "Showtunes"
+
+#: src/skins/ui_manager.c:150 src/skins/ui_manager.c:158
+#, fuzzy
+msgid "Slow"
+msgstr "Slow Jam"
+
+#: src/skins/ui_manager.c:151 src/skins/ui_manager.c:159
+msgid "Medium"
+msgstr ""
+
+#: src/skins/ui_manager.c:152 src/skins/ui_manager.c:160
+msgid "Fast"
+msgstr ""
+
+#: src/skins/ui_manager.c:153 src/skins/ui_manager.c:161
+msgid "Fastest"
+msgstr ""
+
+#: src/skins/ui_manager.c:165
+msgid "Time Elapsed"
+msgstr ""
+
+#: src/skins/ui_manager.c:166
+msgid "Time Remaining"
+msgstr ""
+
+#: src/skins/ui_manager.c:180 src/skins/ui_manager.c:181
+#, fuzzy
+msgid "Pause"
+msgstr "Reproducció"
+
+#: src/skins/ui_manager.c:186 src/skins/ui_manager.c:187
+#, fuzzy
+msgid "Previous"
+msgstr "Primus"
+
+#: src/skins/ui_manager.c:189 src/skins/ui_manager.c:190
+msgid "Next"
+msgstr ""
+
+#: src/skins/ui_manager.c:195
+#, fuzzy
+msgid "Visualization"
+msgstr "Organització:"
+
+#: src/skins/ui_manager.c:196
+msgid "Visualization Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:197
+msgid "Analyzer Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:198
+msgid "Scope Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:199
+msgid "Voiceprint Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:200
+msgid "WindowShade VU Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:201
+msgid "Refresh Rate"
+msgstr ""
+
+#: src/skins/ui_manager.c:202
+msgid "Analyzer Falloff"
+msgstr ""
+
+#: src/skins/ui_manager.c:203
+msgid "Peaks Falloff"
+msgstr ""
+
+#: src/skins/ui_manager.c:208
+#, fuzzy
+msgid "Playlist"
+msgstr "Mode de reproducció:"
+
+#: src/skins/ui_manager.c:210 src/skins/ui_manager.c:211
+msgid "New Playlist"
+msgstr ""
+
+#: src/skins/ui_manager.c:213 src/skins/ui_manager.c:214
+msgid "Select Next Playlist"
+msgstr ""
+
+#: src/skins/ui_manager.c:216 src/skins/ui_manager.c:217
+msgid "Select Previous Playlist"
+msgstr ""
+
+#: src/skins/ui_manager.c:219 src/skins/ui_manager.c:220
+msgid "Delete Playlist"
+msgstr ""
+
+#: src/skins/ui_manager.c:222
+msgid "Load List"
+msgstr ""
+
+#: src/skins/ui_manager.c:223
+msgid "Loads a playlist file into the selected playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:225
+#, fuzzy
+msgid "Save List"
+msgstr "Rave"
+
+#: src/skins/ui_manager.c:226
+msgid "Saves the selected playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:228
+#, fuzzy
+msgid "Save Default List"
+msgstr "Per defecte (%s)"
+
+#: src/skins/ui_manager.c:229
+msgid "Saves the selected playlist to the default location."
+msgstr ""
+
+#: src/skins/ui_manager.c:232
+msgid "Refresh List"
+msgstr ""
+
+#: src/skins/ui_manager.c:233
+msgid "Refreshes metadata associated with a playlist entry."
+msgstr ""
+
+#: src/skins/ui_manager.c:236
+msgid "List Manager"
+msgstr ""
+
+#: src/skins/ui_manager.c:237
+msgid "Opens the playlist manager."
+msgstr ""
+
+#: src/skins/ui_manager.c:243
+msgid "View"
+msgstr ""
+
+#: src/skins/ui_manager.c:247
+msgid "Add Internet Address..."
+msgstr ""
+
+#: src/skins/ui_manager.c:248
+msgid "Adds a remote track to the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:251
+msgid "Add Files..."
+msgstr ""
+
+#: src/skins/ui_manager.c:252
+msgid "Adds files to the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:257
+msgid "Search and Select"
+msgstr ""
+
+#: src/skins/ui_manager.c:258
+msgid ""
+"Searches the playlist and selects playlist entries based on specific "
+"criteria."
+msgstr ""
+
+#: src/skins/ui_manager.c:261
+msgid "Invert Selection"
+msgstr ""
+
+#: src/skins/ui_manager.c:262
+msgid "Inverts the selected and unselected entries."
+msgstr ""
+
+#: src/skins/ui_manager.c:265
+msgid "Select All"
+msgstr ""
+
+#: src/skins/ui_manager.c:266
+msgid "Selects all of the playlist entries."
+msgstr ""
+
+#: src/skins/ui_manager.c:269
+msgid "Select None"
+msgstr ""
+
+#: src/skins/ui_manager.c:270
+msgid "Deselects all of the playlist entries."
+msgstr ""
+
+#: src/skins/ui_manager.c:275
+#, fuzzy
+msgid "Remove All"
+msgstr "Treu un lector"
+
+#: src/skins/ui_manager.c:276
+msgid "Removes all entries from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:279
+msgid "Clear Queue"
+msgstr ""
+
+#: src/skins/ui_manager.c:280
+msgid "Clears the queue associated with this playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:283
+msgid "Remove Unavailable Files"
+msgstr ""
+
+#: src/skins/ui_manager.c:284
+msgid "Removes unavailable files from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:287
+msgid "Remove Duplicates"
+msgstr ""
+
+#: src/skins/ui_manager.c:289 src/skins/ui_manager.c:321
+#: src/skins/ui_manager.c:351
+#, fuzzy
+msgid "By Title"
+msgstr "Títol"
+
+#: src/skins/ui_manager.c:290
+msgid "Removes duplicate entries from the playlist by title."
+msgstr ""
+
+#: src/skins/ui_manager.c:293 src/skins/ui_manager.c:329
+#: src/skins/ui_manager.c:359
+#, fuzzy
+msgid "By Filename"
+msgstr "Nom d'usuari:"
+
+#: src/skins/ui_manager.c:294
+msgid "Removes duplicate entries from the playlist by filename."
+msgstr ""
+
+#: src/skins/ui_manager.c:297 src/skins/ui_manager.c:333
+#: src/skins/ui_manager.c:363
+msgid "By Path + Filename"
+msgstr ""
+
+#: src/skins/ui_manager.c:298
+msgid "Removes duplicate entries from the playlist by their full path."
+msgstr ""
+
+#: src/skins/ui_manager.c:301
+msgid "Remove Unselected"
+msgstr ""
+
+#: src/skins/ui_manager.c:302
+msgid "Remove unselected entries from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:305
+msgid "Remove Selected"
+msgstr ""
+
+#: src/skins/ui_manager.c:306
+msgid "Remove selected entries from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:311
+msgid "Randomize List"
+msgstr ""
+
+#: src/skins/ui_manager.c:312
+msgid "Randomizes the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:315
+msgid "Reverse List"
+msgstr ""
+
+#: src/skins/ui_manager.c:316
+msgid "Reverses the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:319
+#, fuzzy
+msgid "Sort List"
+msgstr "Artista:"
+
+#: src/skins/ui_manager.c:322 src/skins/ui_manager.c:352
+msgid "Sorts the list by title."
+msgstr ""
+
+#: src/skins/ui_manager.c:325 src/skins/ui_manager.c:355
+#, fuzzy
+msgid "By Artist"
+msgstr "Artista:"
+
+#: src/skins/ui_manager.c:326 src/skins/ui_manager.c:356
+msgid "Sorts the list by artist."
+msgstr ""
+
+#: src/skins/ui_manager.c:330 src/skins/ui_manager.c:360
+msgid "Sorts the list by filename."
+msgstr ""
+
+#: src/skins/ui_manager.c:334 src/skins/ui_manager.c:364
+msgid "Sorts the list by full pathname."
+msgstr ""
+
+#: src/skins/ui_manager.c:337 src/skins/ui_manager.c:367
+#, fuzzy
+msgid "By Date"
+msgstr "Data:"
+
+#: src/skins/ui_manager.c:338 src/skins/ui_manager.c:368
+msgid "Sorts the list by modification time."
+msgstr ""
+
+#: src/skins/ui_manager.c:341 src/skins/ui_manager.c:371
+#, fuzzy
+msgid "By Track Number"
+msgstr "Número de pista:"
+
+#: src/skins/ui_manager.c:342 src/skins/ui_manager.c:372
+msgid "Sorts the list by track number."
+msgstr ""
+
+#: src/skins/ui_manager.c:345 src/skins/ui_manager.c:375
+msgid "By Playlist Entry"
+msgstr ""
+
+#: src/skins/ui_manager.c:346 src/skins/ui_manager.c:376
+msgid "Sorts the list by playlist entry."
+msgstr ""
+
+#: src/skins/ui_manager.c:349
+msgid "Sort Selected"
+msgstr ""
+
+#: src/skins/ui_manager.c:385
+#, fuzzy
+msgid "File"
+msgstr "Títol"
+
+#: src/skins/ui_manager.c:388
+msgid "Plugin Services"
+msgstr ""
+
+#: src/skins/ui_manager.c:390 src/skins/ui_manager.c:393
+#, fuzzy
+msgid "View Track Details"
+msgstr "usa el guany/pic de la pista"
+
+#: src/skins/ui_manager.c:391 src/skins/ui_manager.c:394
+msgid "View track details"
+msgstr ""
+
+#: src/skins/ui_manager.c:396 src/skins/ui_manager.c:397
+#, fuzzy
+msgid "About Audacious"
+msgstr "Quant al plugin per a LIRC de l'Audacious"
+
+#: src/skins/ui_manager.c:399
+#, fuzzy
+msgid "Play File"
+msgstr "Mode de reproducció:"
+
+#: src/skins/ui_manager.c:400
+msgid "Load and play a file"
+msgstr ""
+
+#: src/skins/ui_manager.c:402
+msgid "Play Location"
+msgstr ""
+
+#: src/skins/ui_manager.c:403
+msgid "Play media from the selected location"
+msgstr ""
+
+#: src/skins/ui_manager.c:405
+msgid "Plugin services"
+msgstr ""
+
+#: src/skins/ui_manager.c:407
+msgid "Preferences"
+msgstr ""
+
+#: src/skins/ui_manager.c:408
+msgid "Open preferences window"
+msgstr ""
+
+#: src/skins/ui_manager.c:410
+msgid "_Quit"
+msgstr ""
+
+#: src/skins/ui_manager.c:411
+#, fuzzy
+msgid "Quit Audacious"
+msgstr "%s - Audacious"
+
+#: src/skins/ui_manager.c:413 src/skins/ui_manager.c:414
+msgid "Set A-B"
+msgstr ""
+
+#: src/skins/ui_manager.c:416 src/skins/ui_manager.c:417
+msgid "Clear A-B"
+msgstr ""
+
+#: src/skins/ui_manager.c:419 src/skins/ui_manager.c:420
+msgid "Jump to Playlist Start"
+msgstr ""
+
+#: src/skins/ui_manager.c:428
+msgid "Queue Toggle"
+msgstr ""
+
+#: src/skins/ui_manager.c:429
+msgid "Enables/disables the entry in the playlist's queue."
+msgstr ""
+
+#: src/skins/ui_manager.c:436
+msgid "Load"
+msgstr ""
+
+#: src/skins/ui_manager.c:441 src/skins/ui_manager.c:462
+#: src/skins/ui_manager.c:477
+#, fuzzy
+msgid "Preset"
+msgstr "Port:"
+
+#: src/skins/ui_manager.c:442
+msgid "Load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:444 src/skins/ui_manager.c:465
+#: src/skins/ui_manager.c:480
+msgid "Auto-load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:445
+msgid "Load auto-load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:448
+msgid "Load default preset into equalizer"
+msgstr ""
+
+#: src/skins/ui_manager.c:450
+#, fuzzy
+msgid "Zero"
+msgstr "Retrògrada"
+
+#: src/skins/ui_manager.c:451
+msgid "Set equalizer preset levels to zero"
+msgstr ""
+
+#: src/skins/ui_manager.c:453
+msgid "From file"
+msgstr ""
+
+#: src/skins/ui_manager.c:454
+msgid "Load preset from file"
+msgstr ""
+
+#: src/skins/ui_manager.c:456
+msgid "From WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:457
+msgid "Load preset from WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:459
+msgid "WinAMP Presets"
+msgstr ""
+
+#: src/skins/ui_manager.c:460
+msgid "Import WinAMP presets"
+msgstr ""
+
+#: src/skins/ui_manager.c:463
+msgid "Save preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:466
+msgid "Save auto-load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:469
+#, fuzzy
+msgid "Save default preset"
+msgstr "Per defecte"
+
+#: src/skins/ui_manager.c:471
+#, fuzzy
+msgid "To file"
+msgstr "Títol:"
+
+#: src/skins/ui_manager.c:472
+#, fuzzy
+msgid "Save preset to file"
+msgstr "Desa l'stream al disc"
+
+#: src/skins/ui_manager.c:474
+msgid "To WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:475
+msgid "Save preset to WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:478
+#, fuzzy
+msgid "Delete preset"
+msgstr "Per defecte"
+
+#: src/skins/ui_manager.c:481
+msgid "Delete auto-load preset"
+msgstr ""
+
+#: src/skins/ui_playlist.c:454
+msgid "Search entries in active playlist"
+msgstr ""
+
+#: src/skins/ui_playlist.c:462
+msgid ""
+"Select entries in playlist by filling one or more fields. Fields use regular "
+"expressions syntax, case-insensitive. If you don't know how regular "
+"expressions work, simply insert a literal portion of what you're searching "
+"for."
+msgstr ""
+
+#: src/skins/ui_playlist.c:477
+#, fuzzy
+msgid "Album: "
+msgstr "Disc:"
+
+#: src/skins/ui_playlist.c:484
+#, fuzzy
+msgid "Artist: "
+msgstr "Artista:"
+
+#: src/skins/ui_playlist.c:491
+#, fuzzy
+msgid "Filename: "
+msgstr "Nom d'usuari:"
+
+#: src/skins/ui_playlist.c:499
+msgid "Clear previous selection before searching"
+msgstr ""
+
+#: src/skins/ui_playlist.c:502
+msgid "Automatically toggle queue for matching entries"
+msgstr ""
+
+#: src/skins/ui_playlist.c:505
+msgid "Create a new playlist with matching entries"
+msgstr ""
+
+#: src/skins/ui_playlist.c:724
+#, c-format
+msgid "Error writing playlist \"%s\": %s"
+msgstr ""
+
+#: src/skins/ui_playlist.c:746
+#, c-format
+msgid "%s already exist. Continue?"
+msgstr ""
+
+#: src/skins/ui_playlist.c:761
+#, c-format
+msgid ""
+"<b><big>Unable to save playlist.</big></b>\n"
+"\n"
+"Unknown file type for '%s'.\n"
+msgstr ""
+
+#: src/skins/ui_playlist.c:887
+msgid "Save as Static Playlist"
+msgstr ""
+
+#: src/skins/ui_playlist.c:894
+msgid "Use Relative Path"
+msgstr ""
+
+#: src/skins/ui_playlist.c:916
+msgid "Load Playlist"
+msgstr ""
+
+#: src/skins/ui_playlist.c:929
+msgid "Save Playlist"
+msgstr ""
+
+#: src/skins/ui_playlist.c:1497
+msgid "Audacious Playlist Editor"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:377
+msgid "PREAMP"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:377
+msgid "60HZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:377
+msgid "170HZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:378
+msgid "310HZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:378
+#, fuzzy
+msgid "600HZ"
+msgstr "11000 Hz"
+
+#: src/skins/ui_skinned_equalizer_slider.c:378
+msgid "1KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:379
+msgid "3KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:379
+msgid "6KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:379
+msgid "12KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:380
+msgid "14KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:380
+msgid "16KHZ"
+msgstr ""
+
+#: src/skins/ui_skinselector.c:178
+msgid "Archived Winamp 2.x skin"
+msgstr ""
+
+#: src/skins/ui_skinselector.c:183
+msgid "Unarchived Winamp 2.x skin"
+msgstr ""
+
+#: src/skins/util.c:1132
+#, fuzzy, c-format
+msgid "Could not create directory (%s): %s\n"
+msgstr ""
+"Ha fallat la comprovació del directori %s\n"
+"Error: %s"
+
+#: src/sndfile/plugin.c:554
 #, fuzzy
 msgid "About sndfile plugin"
 msgstr "Plugin WAV sndfile"
 
-#: src/sndfile/plugin.c:549
+#: src/sndfile/plugin.c:555
 msgid ""
 "Adapted for Audacious usage by Tony Vroon <chainsaw@gentoo.org>\n"
 "from the xmms_sndfile plugin which is:\n"
@@ -4404,69 +5536,64 @@
 "Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,\n"
 "Boston, MA 02110-1301, USA."
 
-#: src/sndstretch/sndstretch_xmms.c:159
+#: src/sndstretch/sndstretch_xmms.c:158
 #, fuzzy
 msgid "About SndStretch"
 msgstr "Quant al driver OSS"
 
-#: src/sndstretch/sndstretch_xmms.c:319
+#: src/sndstretch/sndstretch_xmms.c:318
 #, fuzzy
 msgid "Volume corr."
 msgstr "Control del volum:"
 
-#: src/sndstretch/sndstretch_xmms.c:320
+#: src/sndstretch/sndstretch_xmms.c:319
 msgid "Short Overlap"
 msgstr ""
 
-#: src/sndstretch/sndstretch_xmms.c:374
+#: src/sndstretch/sndstretch_xmms.c:373
 #, fuzzy
 msgid "Speed"
 msgstr "Parlat"
 
-#: src/sndstretch/sndstretch_xmms.c:375
+#: src/sndstretch/sndstretch_xmms.c:374
 #, fuzzy
 msgid "Pitch"
 msgstr "Ubicació:"
 
-#: src/sndstretch/sndstretch_xmms.c:376
-#, fuzzy
-msgid "Scale"
-msgstr "Vocal"
-
-#: src/sndstretch/sndstretch_xmms.c:396
+#: src/sndstretch/sndstretch_xmms.c:395
 #, fuzzy
 msgid "SndStretch - Configuration"
 msgstr "Configuració del driver Sun"
 
-#: src/song_change/song_change.c:312
+#: src/song_change/song_change.c:310
 msgid "Commands"
 msgstr "Ordres"
 
-#: src/song_change/song_change.c:319
+#: src/song_change/song_change.c:317
 msgid "Command to run when Audacious starts a new song."
 msgstr "Ordre a executar quan l'Audacious comença una nova cançó."
 
-#: src/song_change/song_change.c:328 src/song_change/song_change.c:350
-#: src/song_change/song_change.c:371 src/song_change/song_change.c:392
+#: src/song_change/song_change.c:326 src/song_change/song_change.c:348
+#: src/song_change/song_change.c:369 src/song_change/song_change.c:390
 msgid "Command:"
 msgstr "Ordre:"
 
-#: src/song_change/song_change.c:342
+#: src/song_change/song_change.c:340
 msgid "Command to run toward the end of a song."
 msgstr "Ordre a executar cap al final de la cançó."
 
-#: src/song_change/song_change.c:362
+#: src/song_change/song_change.c:360
 msgid "Command to run when Audacious reaches the end of the playlist."
 msgstr ""
 "Ordre a executar quan l'Audacious arriba al final de la llista de "
 "reproducció."
 
-#: src/song_change/song_change.c:383
+#: src/song_change/song_change.c:381
 msgid ""
 "Command to run when title changes for a song (i.e. network streams titles)."
 msgstr ""
 
-#: src/song_change/song_change.c:404
+#: src/song_change/song_change.c:402
 #, c-format
 msgid ""
 "You can use the following format strings which\n"
@@ -4495,7 +5622,7 @@
 "%%t: Posició a la llista de reproducció (%%02d)\n"
 "%%p: Reproducció en curs (1 o 0)"
 
-#: src/song_change/song_change.c:429
+#: src/song_change/song_change.c:427
 msgid ""
 "<span size='small'>Parameters passed to the shell should be encapsulated in "
 "quotes. Doing otherwise is a security risk.</span>"
@@ -4503,7 +5630,7 @@
 "<span size='small'>Els paràmetres passats a la shell s'han d'encapsular en\n"
 "cometes. Altrament és un risc per a la seguretat.</span>"
 
-#: src/spectrum/spectrum.c:90
+#: src/spectrum/spectrum.c:89
 msgid "Spectrum Analyzer"
 msgstr ""
 
@@ -4516,12 +5643,12 @@
 msgid "The orientation of the tray"
 msgstr ""
 
-#: src/statusicon/si_ui.c:622
+#: src/statusicon/si_ui.c:620
 #, fuzzy
 msgid "About Status Icon Plugin"
 msgstr "Quant al plugin ESounD"
 
-#: src/statusicon/si_ui.c:624
+#: src/statusicon/si_ui.c:622
 msgid ""
 "\n"
 "written by Giacomo Lozito < james@develia.org >\n"
@@ -4530,39 +5657,39 @@
 "the system tray area of the window manager.\n"
 msgstr ""
 
-#: src/statusicon/si_ui.c:696
+#: src/statusicon/si_ui.c:694
 msgid "Status Icon Plugin - Preferences"
 msgstr ""
 
-#: src/statusicon/si_ui.c:707
+#: src/statusicon/si_ui.c:705
 msgid "Right-Click Menu"
 msgstr ""
 
-#: src/statusicon/si_ui.c:712
+#: src/statusicon/si_ui.c:710
 msgid "Audacious standard menu"
 msgstr ""
 
-#: src/statusicon/si_ui.c:717
+#: src/statusicon/si_ui.c:715
 msgid "Small playback menu #1"
 msgstr ""
 
-#: src/statusicon/si_ui.c:722
+#: src/statusicon/si_ui.c:720
 msgid "Small playback menu #2"
 msgstr ""
 
-#: src/statusicon/si_ui.c:745
+#: src/statusicon/si_ui.c:743
 msgid "Mouse Scroll Action"
 msgstr ""
 
-#: src/statusicon/si_ui.c:750
+#: src/statusicon/si_ui.c:748
 msgid "Change volume"
 msgstr ""
 
-#: src/statusicon/si_ui.c:755
+#: src/statusicon/si_ui.c:753
 msgid "Change playing song"
 msgstr ""
 
-#: src/stereo_plugin/stereo.c:26
+#: src/stereo_plugin/stereo.c:25
 msgid ""
 "Extra Stereo Plugin\n"
 "\n"
@@ -4572,23 +5699,19 @@
 "\n"
 "Per Johan Levin, 1999."
 
-#: src/stereo_plugin/stereo.c:52
+#: src/stereo_plugin/stereo.c:51
 msgid "About Extra Stereo Plugin"
 msgstr "Quant al plugin d'estèreo extra"
 
-#: src/stereo_plugin/stereo.c:93
+#: src/stereo_plugin/stereo.c:92
 msgid "Configure Extra Stereo"
 msgstr "Configuració de l'estèreo extra"
 
-#: src/stereo_plugin/stereo.c:95
-msgid "Effect intensity:"
-msgstr "Intensitat de l'efecte:"
+#: src/sun/about.c:33
+msgid "About the Sun Driver"
+msgstr "Quant al driver Sun"
 
 #: src/sun/about.c:34
-msgid "About the Sun Driver"
-msgstr "Quant al driver Sun"
-
-#: src/sun/about.c:35
 msgid ""
 "XMMS BSD Sun Driver\n"
 "\n"
@@ -4600,19 +5723,19 @@
 "Copyright (C) 2001 CubeSoft Communications, Inc.\n"
 "Mantenidor: <vedge at csoft.org>.\n"
 
-#: src/sun/configure.c:201
+#: src/sun/configure.c:199
 msgid "Audio control device:"
 msgstr "Dispositiu de control d'àudio:"
 
-#: src/sun/configure.c:350
+#: src/sun/configure.c:348
 msgid "Volume controls device:"
 msgstr "Dispositiu de control del volum:"
 
-#: src/sun/configure.c:363
+#: src/sun/configure.c:361
 msgid "XMMS uses mixer exclusively."
 msgstr "L'XMMS usa exclusivament el mesclador."
 
-#: src/sun/configure.c:538
+#: src/sun/configure.c:536
 msgid "Sun driver configuration"
 msgstr "Configuració del driver Sun"
 
@@ -4640,7 +5763,7 @@
 msgid "TiMidity Configuration File"
 msgstr "Fitxer de configuració del TiMidity"
 
-#: src/timidity/xmms-timidity.c:118
+#: src/timidity/xmms-timidity.c:115
 msgid ""
 "TiMidity Plugin\n"
 "http://libtimidity.sourceforge.net\n"
@@ -4650,20 +5773,20 @@
 "http://libtimidity.sourceforge.net\n"
 "per Konstantin Korikov"
 
-#: src/timidity/xmms-timidity.c:119
+#: src/timidity/xmms-timidity.c:116
 #, c-format
 msgid "TiMidity Plugin %s"
 msgstr "Plugin TiMidity %s"
 
-#: src/timidity/xmms-timidity.c:336
+#: src/timidity/xmms-timidity.c:333
 msgid "Couldn't load MIDI file"
 msgstr "No s'ha pogut carregar el fitxer MIDI"
 
-#: src/tonegen/tonegen.c:56
+#: src/tonegen/tonegen.c:55
 msgid "About Tone Generator"
 msgstr "Quant al Generador de Tons"
 
-#: src/tonegen/tonegen.c:58
+#: src/tonegen/tonegen.c:57
 msgid ""
 "Sinus tone generator by Haavard Kvaalen <havardk@xmms.org>\n"
 "Modified by Daniel J. Peng <danielpeng@bigfoot.com>\n"
@@ -4678,90 +5801,90 @@
 "e.g. tone://2000;2005 per a generar un to de 2000 Hz i un to\n"
 "de 2005 Hz."
 
-#: src/tonegen/tonegen.c:167
+#: src/tonegen/tonegen.c:166
 #, c-format
 msgid "%s %.1f Hz"
 msgstr ""
 
-#: src/tonegen/tonegen.c:167
+#: src/tonegen/tonegen.c:166
 msgid "Tone Generator: "
 msgstr "Generador de tons:"
 
+#: src/tta/libtta.c:127
+msgid "Can't open file\n"
+msgstr ""
+
 #: src/tta/libtta.c:130
-msgid "Can't open file\n"
+msgid "Not supported file format\n"
 msgstr ""
 
 #: src/tta/libtta.c:133
-msgid "Not supported file format\n"
+msgid "File is corrupted\n"
 msgstr ""
 
 #: src/tta/libtta.c:136
-msgid "File is corrupted\n"
+msgid "Can't read from file\n"
 msgstr ""
 
 #: src/tta/libtta.c:139
-msgid "Can't read from file\n"
+msgid "Insufficient memory available\n"
 msgstr ""
 
 #: src/tta/libtta.c:142
-msgid "Insufficient memory available\n"
-msgstr ""
-
-#: src/tta/libtta.c:145
 #, fuzzy
 msgid "Output plugin error\n"
 msgstr "Plugin de sortida nul"
 
-#: src/tta/libtta.c:148
+#: src/tta/libtta.c:145
 msgid "Unknown error\n"
 msgstr ""
 
-#: src/tta/libtta.c:152
+#: src/tta/libtta.c:149
 msgid "TTA Decoder Error"
 msgstr ""
 
-#: src/tta/libtta.c:261
+#: src/tta/libtta.c:258
 #, fuzzy
 msgid "TTA input plugin "
 msgstr "Plugin de sortida nul"
 
-#: src/tta/libtta.c:262
+#: src/tta/libtta.c:259
 msgid ""
 " for BMP\n"
 "Copyright (c) 2004 True Audio Software\n"
 msgstr ""
 
-#: src/tta/libtta.c:265
+#: src/tta/libtta.c:262
 #, fuzzy
 msgid "About True Audio Plugin"
 msgstr "Quant al plugin per a àudio MPEG"
 
-#: src/tta/libtta.c:316
+#: src/tta/libtta.c:313
 #, fuzzy
 msgid "ID3 Tag:"
 msgstr "Etiquetes ID3:"
 
-#: src/tta/libtta.c:378 src/wavpack/ui.cxx:234
+#: src/tta/libtta.c:375 src/wavpack/ui.cxx:232
 msgid "Track number:"
 msgstr "Número de pista:"
 
-#: src/vorbis/configure.c:84
+#: src/vorbis/configure.c:82
 msgid "Ogg Vorbis Audio Plugin Configuration"
 msgstr "Configuració del plugin d'àudio Ogg Vorbis"
 
-#: src/vorbis/configure.c:94
+#: src/vorbis/configure.c:92
 msgid "Ogg Vorbis Tags:"
 msgstr "Etiquetes Ogg Vorbis:"
 
-#: src/vorbis/configure.c:115
+#: src/vorbis/configure.c:113
 msgid "Title format:"
 msgstr "Format del títol:"
 
-#: src/vorbis/vorbis.c:681
+#: src/vorbis/vorbis.c:677
 msgid "About Ogg Vorbis Audio Plugin"
 msgstr "Quant al plugin d'àudio Ogg Vorbis"
 
-#: src/vorbis/vorbis.c:687
+#: src/vorbis/vorbis.c:683
 #, fuzzy
 msgid ""
 "Ogg Vorbis Plugin by the Xiph.org Foundation\n"
@@ -4795,11 +5918,11 @@
 "\n"
 "Visiteu la Fundació Xiph.org a http://www.xiph.org/\n"
 
-#: src/vtx/about.c:23
+#: src/vtx/about.c:17
 msgid "About Vortex Player"
 msgstr ""
 
-#: src/vtx/about.c:25
+#: src/vtx/about.c:19
 msgid ""
 "Vortex file format player by Sashnov Alexander <sashnov@ngs.ru>\n"
 "Founded on original source in_vtx.dll by Roman Sherbakov <v_soft@microfor."
@@ -4811,12 +5934,12 @@
 "Audacious implementation by Pavel Vymetalek <pvymetalek@seznam.cz>"
 msgstr ""
 
-#: src/wavpack/ui.cxx:52
+#: src/wavpack/ui.cxx:50
 #, fuzzy, c-format
 msgid "Wavpack Decoder Plugin %s"
 msgstr "Plugin d'eco %s"
 
-#: src/wavpack/ui.cxx:53
+#: src/wavpack/ui.cxx:51
 msgid ""
 "Copyright (c) 2006 William Pitcock <nenolod -at- nenolod.net>\n"
 "\n"
@@ -4824,98 +5947,98 @@
 "Visit the Wavpack site at http://www.wavpack.com/\n"
 msgstr ""
 
-#: src/wavpack/ui.cxx:165
+#: src/wavpack/ui.cxx:163
 msgid "Ape2 Tag"
 msgstr ""
 
-#: src/wavpack/ui.cxx:288
+#: src/wavpack/ui.cxx:286
 msgid "Wavpack Info:"
 msgstr ""
 
+#: src/wavpack/ui.cxx:379
+#, fuzzy, c-format
+msgid "version %d"
+msgstr "Versió:"
+
+#: src/wavpack/ui.cxx:380
+#, c-format
+msgid "average bitrate: %6.1f kbps"
+msgstr ""
+
 #: src/wavpack/ui.cxx:381
 #, fuzzy, c-format
-msgid "version %d"
-msgstr "Versió:"
+msgid "samplerate: %d Hz"
+msgstr "Freqüència de mostreig:"
 
 #: src/wavpack/ui.cxx:382
 #, c-format
-msgid "average bitrate: %6.1f kbps"
+msgid "bits per sample: %d"
 msgstr ""
 
 #: src/wavpack/ui.cxx:383
 #, fuzzy, c-format
-msgid "samplerate: %d Hz"
-msgstr "Freqüència de mostreig:"
+msgid "channels: %d"
+msgstr "Canals:"
 
 #: src/wavpack/ui.cxx:384
-#, c-format
-msgid "bits per sample: %d"
-msgstr ""
-
-#: src/wavpack/ui.cxx:385
-#, fuzzy, c-format
-msgid "channels: %d"
-msgstr "Canals:"
-
-#: src/wavpack/ui.cxx:386
 #, fuzzy, c-format
 msgid "length: %d:%.2d"
 msgstr ""
 "\n"
 "Durada total: %d:%d\n"
 
-#: src/wavpack/ui.cxx:387
+#: src/wavpack/ui.cxx:385
 #, fuzzy, c-format
 msgid "file size: %d Bytes"
 msgstr "Mida del fitxer:"
 
-#: src/wavpack/ui.cxx:394
+#: src/wavpack/ui.cxx:392
 #, fuzzy
 msgid "Title Peak: ?"
 msgstr "Títol:"
 
+#: src/wavpack/ui.cxx:393
+#, fuzzy
+msgid "Album Peak: ?"
+msgstr "Pic del disc:"
+
+#: src/wavpack/ui.cxx:394
+#, fuzzy
+msgid "Title Gain: ?"
+msgstr "Títol:"
+
 #: src/wavpack/ui.cxx:395
 #, fuzzy
-msgid "Album Peak: ?"
-msgstr "Pic del disc:"
-
-#: src/wavpack/ui.cxx:396
-#, fuzzy
-msgid "Title Gain: ?"
-msgstr "Títol:"
-
-#: src/wavpack/ui.cxx:397
-#, fuzzy
 msgid "Album Gain: ?"
 msgstr "Guany del disc:"
 
-#: src/wavpack/ui.cxx:471
+#: src/wavpack/ui.cxx:469
 #, fuzzy
 msgid "Wavpack Configuration"
 msgstr "Configuració de l'escriptura al disc"
 
-#: src/wavpack/ui.cxx:484
+#: src/wavpack/ui.cxx:482
 #, fuzzy
 msgid "General Plugin Settings:"
 msgstr "Paràmetres de ReplayGain:"
 
-#: src/wavpack/ui.cxx:502
+#: src/wavpack/ui.cxx:500
 msgid "ReplayGain Settings:"
 msgstr "Paràmetres de ReplayGain:"
 
-#: src/wavpack/ui.cxx:520
+#: src/wavpack/ui.cxx:518
 msgid "ReplayGain Type:"
 msgstr "Tipus de ReplayGain:"
 
-#: src/wavpack/ui.cxx:531
+#: src/wavpack/ui.cxx:529
 msgid "use Track Gain/Peak"
 msgstr "usa el guany/pic de la pista"
 
-#: src/wavpack/ui.cxx:539
+#: src/wavpack/ui.cxx:537
 msgid "use Album Gain/Peak"
 msgstr "usa el guany/pic del disc"
 
-#: src/wma/wma.c:123
+#: src/wma/wma.c:120
 msgid ""
 "Adapted for use in Audacious by Tony Vroon (chainsaw@gentoo.org) from\n"
 "the BEEP-WMA plugin which is Copyright (C) 2004,2005 Mokrushin I.V. aka "
@@ -4972,14 +6095,6 @@
 #~ msgstr "Quant al suport per a sndfile WAV"
 
 #, fuzzy
-#~ msgid "Play/Pause:"
-#~ msgstr "Reproducció"
-
-#, fuzzy
-#~ msgid "File Info"
-#~ msgstr "Informació del fitxer - %s"
-
-#, fuzzy
 #~ msgid "Couldn't open file!"
 #~ msgstr "No s'ha pogut carregar el fitxer MIDI"
 
@@ -5004,9 +6119,6 @@
 #~ msgid "%d Hz"
 #~ msgstr "%d Hz"
 
-#~ msgid "Blues"
-#~ msgstr "Blues"
-
 #~ msgid "Classic Rock"
 #~ msgstr "Rock clàssic"
 
@@ -5073,9 +6185,6 @@
 #~ msgid "Death Metal"
 #~ msgstr "Death Metal"
 
-#~ msgid "Pranks"
-#~ msgstr "Bromes"
-
 #~ msgid "Soundtrack"
 #~ msgstr "Bandes sonores"
 
@@ -5127,9 +6236,6 @@
 #~ msgid "AlternRock"
 #~ msgstr "Rock alternatiu"
 
-#~ msgid "Bass"
-#~ msgstr "Bass"
-
 #~ msgid "Soul"
 #~ msgstr "Soul"
 
@@ -5211,9 +6317,6 @@
 #~ msgid "Rave"
 #~ msgstr "Rave"
 
-#~ msgid "Showtunes"
-#~ msgstr "Showtunes"
-
 #~ msgid "Trailer"
 #~ msgstr "Tràiler"
 
@@ -5232,9 +6335,6 @@
 #~ msgid "Polka"
 #~ msgstr "Polca"
 
-#~ msgid "Retro"
-#~ msgstr "Retrògrada"
-
 #~ msgid "Musical"
 #~ msgstr "Musical"
 
@@ -5262,9 +6362,6 @@
 #~ msgid "Bebob"
 #~ msgstr "Bebop"
 
-#~ msgid "Latin"
-#~ msgstr "Llatina"
-
 #~ msgid "Revival"
 #~ msgstr "Revival"
 
@@ -5328,18 +6425,9 @@
 #~ msgid "Booty Bass"
 #~ msgstr "Booty Bass"
 
-#~ msgid "Primus"
-#~ msgstr "Primus"
-
 #~ msgid "Porn Groove"
 #~ msgstr "Porn Groove"
 
-#~ msgid "Satire"
-#~ msgstr "Sàtira"
-
-#~ msgid "Slow Jam"
-#~ msgstr "Slow Jam"
-
 #~ msgid "Club"
 #~ msgstr "Club"
 
@@ -5409,9 +6497,6 @@
 #~ msgid "Polsk Punk"
 #~ msgstr "Polsk Punk"
 
-#~ msgid "Beat"
-#~ msgstr "Beat"
-
 #~ msgid "Christian Gangsta Rap"
 #~ msgstr "Rap gàngster cristià"
 
@@ -5470,9 +6555,6 @@
 #~ msgid " Ogg Vorbis Tag "
 #~ msgstr " Etiqueta Ogg Vorbis "
 
-#~ msgid "Date:"
-#~ msgstr "Data:"
-
 #~ msgid "Description:"
 #~ msgstr "Descripció:"
 
@@ -5482,15 +6564,9 @@
 #~ msgid "ISRC number:"
 #~ msgstr "Número ISRC:"
 
-#~ msgid "Organization:"
-#~ msgstr "Organització:"
-
 #~ msgid " Ogg Vorbis ReplayGain "
 #~ msgstr " ReplayGain d'Ogg Vorbis "
 
-#~ msgid "Track gain:"
-#~ msgstr "Guany de la pista:"
-
 #~ msgid "Track peak:"
 #~ msgstr "Pic de la pista:"
 
@@ -5530,9 +6606,6 @@
 #~ msgid "%d Bytes"
 #~ msgstr "%d octets"
 
-#~ msgid "%s - Audacious"
-#~ msgstr "%s - Audacious"
-
 #, fuzzy
 #~ msgid "Use software volume control"
 #~ msgstr "Control del volum:"
@@ -5566,10 +6639,6 @@
 #~ msgstr "11000 Hz"
 
 #, fuzzy
-#~ msgid "16000"
-#~ msgstr "11000 Hz"
-
-#, fuzzy
 #~ msgid "24000"
 #~ msgstr "22000 Hz"
 
@@ -5631,13 +6700,6 @@
 #~ "El test d'extracció d'àudio digital ha fallat: %s\n"
 #~ "\n"
 
-#~ msgid ""
-#~ "Failed to check directory %s\n"
-#~ "Error: %s"
-#~ msgstr ""
-#~ "Ha fallat la comprovació del directori %s\n"
-#~ "Error: %s"
-
 #~ msgid "Error: %s exist, but is not a directory"
 #~ msgstr "Error: existeix, però no és un directori: %s"
 
@@ -5677,9 +6739,6 @@
 #~ msgid "Get server list"
 #~ msgstr "Actualitza la llista de servidors"
 
-#~ msgid "Show network window"
-#~ msgstr "Mostra la finestra de xarxa"
-
 #~ msgid "CDDB server:"
 #~ msgstr "Servidor CDDB:"
 
@@ -5741,18 +6800,12 @@
 #~ msgid "Save stream to disk:"
 #~ msgstr "Desa l'stream al disc:"
 
-#~ msgid "Save stream to disk"
-#~ msgstr "Desa l'stream al disc"
-
 #~ msgid "SHOUT/Icecast:"
 #~ msgstr "SHOUT/Icecast:"
 
 #~ msgid "Enable Icecast Metadata UDP Channel"
 #~ msgstr "Habilita el canal UDP de l'Icecast per a metadades"
 
-#~ msgid "Disable ID3V2 tags"
-#~ msgstr "Deshabilita les etiquetes ID3V2"
-
 #~ msgid "Dual channel"
 #~ msgstr "Canal dual"
 
--- a/po/cs.po	Thu Jul 03 17:23:34 2008 +0300
+++ b/po/cs.po	Thu Jul 03 17:37:11 2008 +0300
@@ -8,8 +8,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: audacious-plugins hg-2287\n"
-"Report-Msgid-Bugs-To: http://bugs.audacious-media-player.org\n"
-"POT-Creation-Date: 2008-03-30 17:25+0200\n"
+"Report-Msgid-Bugs-To: http://bugzilla.atheme.org/\n"
+"POT-Creation-Date: 2008-06-21 08:27+0300\n"
 "PO-Revision-Date: 2008-01-09 18:56+0100\n"
 "Last-Translator: Petr Písař <petr.pisar@atlas.cz>\n"
 "Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
@@ -17,11 +17,11 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: src/aac/libmp4.c:286
+#: src/aac/libmp4.c:283
 msgid "Using libfaad2-"
 msgstr "Používám libfaad2-"
 
-#: src/aac/libmp4.c:287
+#: src/aac/libmp4.c:284
 msgid ""
 " for decoding.\n"
 "FAAD2 AAC/HE-AAC/HE-AACv2/DRM decoder (c) Nero AG, www.nero.com\n"
@@ -31,38 +31,38 @@
 "FAAD2 AAC/HE-AAC/HE-AACv2/DRM dekodér © Nero AG, www.nero.com\n"
 "Copyright © 2005–2006 tým Audacious"
 
-#: src/aac/libmp4.c:291
+#: src/aac/libmp4.c:288
 msgid "About MP4 AAC player plugin"
 msgstr "O MP4 AAC modulu"
 
-#: src/aac/libmp4.c:293 src/adplug/adplug-xmms.cc:182
-#: src/adplug/adplug-xmms.cc:265 src/adplug/adplug-xmms.cc:526
-#: src/alac/plugin.c:77 src/arts/arts.c:26 src/arts/configure.c:90
-#: src/audiocompress/audacious-glue.c:102
-#: src/audiocompress/audacious-glue.c:552 src/cdaudio-ng/configure.c:228
-#: src/console/Audacious_Driver.cxx:449 src/demac/plugin.c:393
-#: src/echo_plugin/gui.c:26 src/echo_plugin/gui.c:137 src/esd/about.c:49
-#: src/filewriter/filewriter.c:183 src/jack/configure.c:141
-#: src/jack/jack.c:456 src/madplug/plugin.c:542 src/madplug/plugin.c:566
-#: src/metronom/metronom.c:88 src/modplug/gui/main.cxx:49
-#: src/musepack/libmpc.cxx:232 src/null/null.c:67 src/null/null.c:110
-#: src/OSS4/about.c:59 src/OSS/about.c:54 src/paranormal-ng/plugin.c:283
-#: src/paranormal/plugin.c:291 src/scrobbler/gtkstuff.c:25
-#: src/sndfile/plugin.c:565 src/statusicon/si_ui.c:628
-#: src/stereo_plugin/stereo.c:53 src/stereo_plugin/stereo.c:116
-#: src/sun/about.c:38 src/sun/configure.c:559 src/timidity/interface.c:222
-#: src/timidity/xmms-timidity.c:120 src/tonegen/tonegen.c:62
-#: src/tta/libtta.c:153 src/tta/libtta.c:267 src/tta/libtta.c:402
-#: src/vorbis/vorbis.c:700 src/vtx/about.c:32 src/vtx/info.c:43
-#: src/wavpack/ui.cxx:56 src/wavpack/ui.cxx:556
+#: src/aac/libmp4.c:290 src/adplug/adplug-xmms.cc:180
+#: src/adplug/adplug-xmms.cc:263 src/adplug/adplug-xmms.cc:524
+#: src/alac/plugin.c:74 src/arts/arts.c:25 src/arts/configure.c:90
+#: src/audiocompress/audacious-glue.c:110
+#: src/audiocompress/audacious-glue.c:560 src/cdaudio-ng/configure.c:242
+#: src/console/Audacious_Driver.cxx:447 src/crystalizer/crystalizer.c:113
+#: src/demac/plugin.c:364 src/echo_plugin/gui.c:24 src/echo_plugin/gui.c:135
+#: src/esd/about.c:48 src/filewriter/filewriter.c:183 src/jack/configure.c:140
+#: src/jack/jack.c:454 src/madplug/plugin.c:679 src/madplug/plugin.c:703
+#: src/metronom/metronom.c:87 src/modplug/gui/main.cxx:52
+#: src/musepack/libmpc.cxx:228 src/null/null.c:64 src/null/null.c:107
+#: src/OSS4/OSS4.c:55 src/OSS/OSS.c:52 src/paranormal-ng/plugin.c:282
+#: src/paranormal/plugin.c:290 src/scrobbler/gtkstuff.c:22
+#: src/sndfile/plugin.c:571 src/statusicon/si_ui.c:626
+#: src/stereo_plugin/stereo.c:52 src/stereo_plugin/stereo.c:115
+#: src/sun/about.c:37 src/sun/configure.c:557 src/timidity/interface.c:222
+#: src/timidity/xmms-timidity.c:117 src/tonegen/tonegen.c:61
+#: src/tta/libtta.c:150 src/tta/libtta.c:264 src/tta/libtta.c:399
+#: src/vorbis/vorbis.c:696 src/vtx/about.c:26 src/vtx/info.c:38
+#: src/wavpack/ui.cxx:54 src/wavpack/ui.cxx:554
 msgid "Ok"
 msgstr "OK"
 
-#: src/adplug/adplug-xmms.cc:171
+#: src/adplug/adplug-xmms.cc:169
 msgid "About "
 msgstr "O "
 
-#: src/adplug/adplug-xmms.cc:175
+#: src/adplug/adplug-xmms.cc:173
 msgid ""
 "\n"
 "Copyright (C) 2002, 2003 Simon Peter <dn.tlp@gmx.net>\n"
@@ -83,65 +83,65 @@
 "Tento modul používá knihovnu AdPlug, copyright © Simon Peter aj.\n"
 "Sestaveno s verzí knihovny AdPlug: "
 
-#: src/adplug/adplug-xmms.cc:256
+#: src/adplug/adplug-xmms.cc:254
 msgid "AdPlug :: Configuration"
 msgstr "AdPlug :: Nastavení"
 
-#: src/adplug/adplug-xmms.cc:275 src/alarm/interface.c:1398
+#: src/adplug/adplug-xmms.cc:273 src/alarm/interface.c:1398
 #: src/alsa/configure.c:389 src/arts/configure.c:91
-#: src/audiocompress/audacious-glue.c:557 src/cdaudio-ng/configure.c:232
-#: src/echo_plugin/gui.c:145 src/jack/configure.c:148
-#: src/modplug/gui/interface.cxx:714 src/modplug/gui/modplug.glade:1668
-#: src/musepack/libmpc.cxx:237 src/musepack/libmpc.cxx:557 src/null/null.c:111
-#: src/sid/xmms-sid.glade:3080 src/sid/xs_interface.c:1250
-#: src/stereo_plugin/stereo.c:125 src/sun/configure.c:567
-#: src/timidity/interface.c:230 src/wavpack/ui.cxx:280 src/wavpack/ui.cxx:563
+#: src/audiocompress/audacious-glue.c:565 src/cdaudio-ng/configure.c:246
+#: src/crystalizer/crystalizer.c:122 src/echo_plugin/gui.c:143
+#: src/jack/configure.c:147 src/modplug/gui/interface.cxx:714
+#: src/modplug/gui/modplug.glade:1668 src/musepack/libmpc.cxx:233
+#: src/musepack/libmpc.cxx:553 src/null/null.c:108
+#: src/stereo_plugin/stereo.c:124 src/sun/configure.c:565
+#: src/timidity/interface.c:230 src/wavpack/ui.cxx:278 src/wavpack/ui.cxx:561
 msgid "Cancel"
 msgstr "Zrušit"
 
-#: src/adplug/adplug-xmms.cc:291 src/console/Audacious_Config.cxx:145
-#: src/madplug/configure.c:290 src/modplug/gui/interface.cxx:628
+#: src/adplug/adplug-xmms.cc:289 src/console/Audacious_Config.cxx:144
+#: src/madplug/configure.c:289 src/modplug/gui/interface.cxx:628
 #: src/modplug/gui/interface.cxx:887 src/modplug/gui/modplug.glade:1404
 #: src/modplug/gui/modplug.glade:1804
 msgid "General"
 msgstr "Obecné"
 
-#: src/adplug/adplug-xmms.cc:303
+#: src/adplug/adplug-xmms.cc:301
 msgid "Sound quality"
 msgstr "Kvalita zvuku"
 
-#: src/adplug/adplug-xmms.cc:308 src/modplug/gui/interface.cxx:187
+#: src/adplug/adplug-xmms.cc:306 src/modplug/gui/interface.cxx:187
 #: src/modplug/gui/modplug.glade:113
 msgid "Resolution"
 msgstr "Rozlišení"
 
-#: src/adplug/adplug-xmms.cc:310
+#: src/adplug/adplug-xmms.cc:308
 msgid "8bit"
 msgstr "8 bitů"
 
-#: src/adplug/adplug-xmms.cc:315
+#: src/adplug/adplug-xmms.cc:313
 msgid "16bit"
 msgstr "16 bitů"
 
-#: src/adplug/adplug-xmms.cc:323 src/modplug/gui/interface.cxx:218
+#: src/adplug/adplug-xmms.cc:321 src/modplug/gui/interface.cxx:218
 #: src/modplug/gui/modplug.glade:199 src/timidity/interface.c:148
 msgid "Channels"
 msgstr "Kanály"
 
-#: src/adplug/adplug-xmms.cc:325 src/filewriter/mp3.c:900
-#: src/sid/xmms-sid.glade:157 src/sid/xs_interface.c:288
+#: src/adplug/adplug-xmms.cc:323 src/filewriter/mp3.c:900
+#: src/sid/xmms-sid.glade:157 src/sid/xs_interface.c:300
 #: src/timidity/interface.c:165
 msgid "Mono"
 msgstr "Mono"
 
-#: src/adplug/adplug-xmms.cc:330 src/filewriter/mp3.c:895
+#: src/adplug/adplug-xmms.cc:328 src/filewriter/mp3.c:895
 #: src/modplug/gui/interface.cxx:204 src/modplug/gui/modplug.glade:159
-#: src/sid/xmms-sid.glade:176 src/sid/xs_interface.c:295
+#: src/sid/xmms-sid.glade:176 src/sid/xs_interface.c:307
 #: src/timidity/interface.c:173
 msgid "Stereo"
 msgstr "Stereo"
 
-#: src/adplug/adplug-xmms.cc:334
+#: src/adplug/adplug-xmms.cc:332
 msgid ""
 "Setting stereo is not recommended, unless you need to. This won't add any "
 "stereo effects to the sound - OPL2 is just mono - but eats up more CPU power!"
@@ -150,20 +150,20 @@
 "volba nepřidává do zvuku žádné stereo efekty – OPL2 je prostě mono – ale "
 "spotřebovává více výkonu CPU!"
 
-#: src/adplug/adplug-xmms.cc:342
+#: src/adplug/adplug-xmms.cc:340
 msgid "Frequency"
 msgstr "Frekvence"
 
-#: src/adplug/adplug-xmms.cc:378 src/adplug/adplug-xmms.cc:582
-#: src/console/Audacious_Config.cxx:147
+#: src/adplug/adplug-xmms.cc:376 src/adplug/adplug-xmms.cc:580
+#: src/console/Audacious_Config.cxx:146 src/skins/ui_manager.c:175
 msgid "Playback"
 msgstr "Přehrát"
 
-#: src/adplug/adplug-xmms.cc:382
+#: src/adplug/adplug-xmms.cc:380
 msgid "Detect songend"
 msgstr "Rozpoznat konec skladby"
 
-#: src/adplug/adplug-xmms.cc:386
+#: src/adplug/adplug-xmms.cc:384
 msgid ""
 "If enabled, XMMS will detect a song's ending, stop it and advance in the "
 "playlist. If disabled, XMMS won't take notice of a song's ending and loop it "
@@ -173,23 +173,23 @@
 "seznamu skladeb. Je-li vypnuto, XMMS nebude reagovat na konec skladby a bude "
 "ji opakovat stále dokola."
 
-#: src/adplug/adplug-xmms.cc:397
+#: src/adplug/adplug-xmms.cc:395
 msgid "Formats"
 msgstr "Formáty"
 
-#: src/adplug/adplug-xmms.cc:404
+#: src/adplug/adplug-xmms.cc:402
 msgid "Format selection"
 msgstr "Výběr formátu"
 
-#: src/adplug/adplug-xmms.cc:407
+#: src/adplug/adplug-xmms.cc:405
 msgid "Format"
 msgstr "Formát"
 
-#: src/adplug/adplug-xmms.cc:407
+#: src/adplug/adplug-xmms.cc:405
 msgid "Extension"
 msgstr "Přípona"
 
-#: src/adplug/adplug-xmms.cc:447
+#: src/adplug/adplug-xmms.cc:445
 msgid ""
 "Selected file types will be recognized and played back by this plugin. "
 "Deselected types will be ignored to make room for other plugins to play "
@@ -198,88 +198,88 @@
 "Vybrané druhy souborů budou rozpoznány a hrány tímto modulem. Nevybrané "
 "druhy budou ignorovány a přenechány ostatním modulům."
 
-#: src/adplug/adplug-xmms.cc:533
+#: src/adplug/adplug-xmms.cc:531
 msgid "AdPlug :: File Info"
 msgstr "AdPlug :: Informace o souboru"
 
-#: src/adplug/adplug-xmms.cc:555 src/amidi-plug/i_configure-fluidsynth.c:448
+#: src/adplug/adplug-xmms.cc:553 src/amidi-plug/i_configure-fluidsynth.c:448
 msgid "Filename"
 msgstr "Jméno souboru"
 
+#: src/adplug/adplug-xmms.cc:557 src/skins/ui_playlist.c:470
+msgid "Title: "
+msgstr "Název: "
+
+#: src/adplug/adplug-xmms.cc:558
+msgid "Author: "
+msgstr "Autor: "
+
 #: src/adplug/adplug-xmms.cc:559
-msgid "Title: "
-msgstr "Název: "
-
-#: src/adplug/adplug-xmms.cc:560
-msgid "Author: "
-msgstr "Autor: "
-
-#: src/adplug/adplug-xmms.cc:561
 msgid "File Type: "
 msgstr "Velikost souboru: "
 
-#: src/adplug/adplug-xmms.cc:562
+#: src/adplug/adplug-xmms.cc:560
 msgid "Subsongs: "
 msgstr "Podskladby: "
 
-#: src/adplug/adplug-xmms.cc:563
+#: src/adplug/adplug-xmms.cc:561
 msgid "Instruments: "
 msgstr "Nástroje: "
 
-#: src/adplug/adplug-xmms.cc:568
+#: src/adplug/adplug-xmms.cc:566
 msgid "Orders: "
 msgstr "Pořadí: "
 
-#: src/adplug/adplug-xmms.cc:569
+#: src/adplug/adplug-xmms.cc:567
 msgid "Patterns: "
 msgstr "Vzorky: "
 
-#: src/adplug/adplug-xmms.cc:573
+#: src/adplug/adplug-xmms.cc:571
 msgid "Song"
 msgstr "Skladba"
 
-#: src/adplug/adplug-xmms.cc:599
+#: src/adplug/adplug-xmms.cc:597
 msgid "Instrument name"
 msgstr "Jméno nástroje"
 
-#: src/adplug/adplug-xmms.cc:641
+#: src/adplug/adplug-xmms.cc:639
 msgid "Song message"
 msgstr "Zpráva skladby"
 
-#: src/adplug/adplug-xmms.cc:663
+#: src/adplug/adplug-xmms.cc:661
 msgid "Subsong selection"
 msgstr "Výběr podskladby"
 
-#: src/adplug/adplug-xmms.cc:727
+#: src/adplug/adplug-xmms.cc:725
 msgid "Order: "
 msgstr "Pořadí: "
 
-#: src/adplug/adplug-xmms.cc:728
+#: src/adplug/adplug-xmms.cc:726
 msgid "Pattern: "
 msgstr "Vzorek: "
 
+#: src/adplug/adplug-xmms.cc:728
+msgid "Row: "
+msgstr "Řada: "
+
+#: src/adplug/adplug-xmms.cc:729
+msgid "Speed: "
+msgstr "Rychlost: "
+
 #: src/adplug/adplug-xmms.cc:730
-msgid "Row: "
-msgstr "Řada: "
-
-#: src/adplug/adplug-xmms.cc:731
-msgid "Speed: "
-msgstr "Rychlost: "
-
-#: src/adplug/adplug-xmms.cc:732
 msgid "Timer: "
 msgstr "Časovač: "
 
-#: src/adplug/adplug-xmms.cc:733 src/console/Audacious_Config.cxx:225
-#: src/sid/xmms-sid.glade:332 src/sid/xs_interface.c:341
+#: src/adplug/adplug-xmms.cc:731 src/console/Audacious_Config.cxx:224
+#: src/sid/xmms-sid.glade:332 src/sid/xs_interface.c:353
 msgid "Hz"
 msgstr "Hz"
 
-#: src/alac/plugin.c:74
+#: src/alac/plugin.c:71
 msgid "About Apple Lossless Audio Plugin"
 msgstr "O modulu Apple Lossless Audio (applovský bezztrátový zvukový formát)"
 
-#: src/alac/plugin.c:75
+#: src/alac/plugin.c:72
 msgid ""
 "Copyright (c) 2006 Audacious team\n"
 "Portions (c) 2005-2006 David Hammerton <crazney -at- crazney.net>"
@@ -317,8 +317,8 @@
 
 #: src/alarm/interface.c:71 src/lirc/about.c:115
 #: src/modplug/gui/interface.cxx:971 src/modplug/gui/modplug.glade:2030
-#: src/sid/xmms-sid.glade:3643 src/sid/xs_about.c:214
-#: src/sid/xs_interface.c:1740
+#: src/sid/xmms-sid.glade:3837 src/sid/xs_about.c:214
+#: src/sid/xs_interface.c:1824
 msgid "Close"
 msgstr "Zavřít"
 
@@ -330,13 +330,12 @@
 msgid "This is your wakeup call."
 msgstr "Toto je váš budící signál."
 
-#: src/alarm/interface.c:124 src/alarm/interface.c:1389 src/alsa/about.c:46
+#: src/alarm/interface.c:124 src/alarm/interface.c:1389 src/alsa/about.c:45
 #: src/alsa/configure.c:383 src/cdaudio-ng/cdaudio-ng.c:247
-#: src/flacng/plugin.c:706 src/gnomeshortcuts/gnomeshortcuts.c:311
-#: src/hotkey/gui.c:671 src/modplug/gui/interface.cxx:702
-#: src/modplug/gui/modplug.glade:1642 src/pulse_audio/pulse_audio.c:738
-#: src/scrobbler/gtkstuff.c:45 src/sid/xmms-sid.glade:3066
-#: src/sid/xs_interface.c:1243
+#: src/flacng/plugin.c:705 src/gnomeshortcuts/gnomeshortcuts.c:310
+#: src/hotkey/gui.c:670 src/modplug/gui/interface.cxx:702
+#: src/modplug/gui/modplug.glade:1642 src/pulse_audio/pulse_audio.c:736
+#: src/scrobbler/gtkstuff.c:42 src/skins/plugin.c:130
 msgid "OK"
 msgstr "Budiž"
 
@@ -414,7 +413,8 @@
 #: src/alarm/interface.c:612 src/alarm/interface.c:660
 #: src/alarm/interface.c:708 src/alarm/interface.c:756
 #: src/alarm/interface.c:804 src/alarm/interface.c:852
-#: src/alarm/interface.c:900 src/OSS4/configure.c:138 src/OSS/configure.c:169
+#: src/alarm/interface.c:900 src/OSS4/configure.c:136 src/OSS/configure.c:168
+#: src/skins/ui_manager.c:447 src/skins/ui_manager.c:468
 msgid "Default"
 msgstr "Standardní"
 
@@ -459,9 +459,9 @@
 msgstr "Zesilování"
 
 #: src/alarm/interface.c:1087 src/sid/xmms-sid.glade:2007
-#: src/sid/xmms-sid.glade:2178 src/sid/xmms-sid.glade:2676
-#: src/sid/xs_interface.c:908 src/sid/xs_interface.c:962
-#: src/sid/xs_interface.c:1122
+#: src/sid/xmms-sid.glade:2178 src/sid/xmms-sid.glade:2746
+#: src/sid/xs_interface.c:920 src/sid/xs_interface.c:974
+#: src/sid/xs_interface.c:1154
 msgid "seconds"
 msgstr "sekund"
 
@@ -514,7 +514,7 @@
 msgid "Use reminder"
 msgstr "Upomínat"
 
-#: src/alarm/interface.c:1328 src/sndstretch/sndstretch_xmms.c:377
+#: src/alarm/interface.c:1328 src/sndstretch/sndstretch_xmms.c:376
 msgid "Options"
 msgstr "Nastavení"
 
@@ -626,7 +626,7 @@
 "    Text vzkazu vepište do vstupního pole a zapněte tlačítko,\n"
 "    přejete-li si zobrazovat vzkaz.\n"
 
-#: src/alarm/interface.c:1366
+#: src/alarm/interface.c:1366 src/skins/ui_manager.c:386
 msgid "Help"
 msgstr "Nápověda"
 
@@ -638,11 +638,11 @@
 msgid "Thankyou"
 msgstr "Děkuji"
 
-#: src/alsa/about.c:30
+#: src/alsa/about.c:29
 msgid "About ALSA Driver"
 msgstr "O ovladači ALSA"
 
-#: src/alsa/about.c:31
+#: src/alsa/about.c:30
 msgid ""
 "Audacious ALSA Driver\n"
 "\n"
@@ -692,8 +692,8 @@
 msgid "ALSA Driver configuration"
 msgstr "Nastavení ovladače ALSA"
 
-#: src/alsa/configure.c:274 src/OSS4/configure.c:186 src/OSS/configure.c:217
-#: src/sun/configure.c:183
+#: src/alsa/configure.c:274 src/OSS4/configure.c:184 src/OSS/configure.c:216
+#: src/sun/configure.c:181
 msgid "Audio device:"
 msgstr "Zvukové zařízení:"
 
@@ -705,7 +705,7 @@
 msgid "Mixer card:"
 msgstr "Karta s mixérem:"
 
-#: src/alsa/configure.c:313 src/OSS/configure.c:260 src/sun/configure.c:220
+#: src/alsa/configure.c:313 src/OSS/configure.c:259 src/sun/configure.c:218
 msgid "Mixer device:"
 msgstr "Zařízení mixéru:"
 
@@ -1435,8 +1435,8 @@
 "<span size=\"smaller\">Backend\n"
 "TiMidity</span>"
 
-#: src/amidi-plug/i_fileinfo.c:169 src/sid/xmms-sid.glade:3465
-#: src/sid/xs_interface.c:1684
+#: src/amidi-plug/i_fileinfo.c:169 src/sid/xmms-sid.glade:3659
+#: src/sid/xs_interface.c:1768
 msgid "Name:"
 msgstr "Jméno:"
 
@@ -1566,19 +1566,19 @@
 msgid "None"
 msgstr "Žádný"
 
-#: src/aosd/aosd_trigger.c:75
+#: src/aosd/aosd_trigger.c:74
 msgid "Playback Start"
 msgstr "Zahájení přehrávání"
 
-#: src/aosd/aosd_trigger.c:76
+#: src/aosd/aosd_trigger.c:75
 msgid "Triggers OSD when a playlist entry is played."
 msgstr "Spustí OSD, když se začne přehrávay skladba."
 
-#: src/aosd/aosd_trigger.c:80
+#: src/aosd/aosd_trigger.c:79
 msgid "Title Change"
 msgstr "Změna názvu"
 
-#: src/aosd/aosd_trigger.c:81
+#: src/aosd/aosd_trigger.c:80
 msgid ""
 "Triggers OSD when, during playback, the song title changes but the filename "
 "is the same. This is mostly useful to display title changes in internet "
@@ -1588,27 +1588,27 @@
 "je stále stejné. To se hodí při přehrávání internetových proudů, v nichž se "
 "střídají skladby."
 
-#: src/aosd/aosd_trigger.c:87
+#: src/aosd/aosd_trigger.c:86
 msgid "Volume Change"
 msgstr "Změna hlasitosti"
 
-#: src/aosd/aosd_trigger.c:88
+#: src/aosd/aosd_trigger.c:87
 msgid "Triggers OSD when volume is changed."
 msgstr "Spustí OSD, když se změní hlasitost."
 
-#: src/aosd/aosd_trigger.c:92
+#: src/aosd/aosd_trigger.c:91
 msgid "Pause On"
 msgstr "Pozastavení"
 
-#: src/aosd/aosd_trigger.c:93
+#: src/aosd/aosd_trigger.c:92
 msgid "Triggers OSD when playback is paused."
 msgstr "Spustí OSD, když je přehrávání pozastaveno."
 
+#: src/aosd/aosd_trigger.c:96
+msgid "Pause Off"
+msgstr "Obnovení přehrávání"
+
 #: src/aosd/aosd_trigger.c:97
-msgid "Pause Off"
-msgstr "Obnovení přehrávání"
-
-#: src/aosd/aosd_trigger.c:98
 msgid "Triggers OSD when playback is unpaused."
 msgstr "Spustí OSD, když přehrávání obnoveno."
 
@@ -1707,10 +1707,10 @@
 msgid "Skin file:"
 msgstr "Soubor se skinem:"
 
-#: src/aosd/aosd_ui.c:644 src/sid/xmms-sid.glade:2331
-#: src/sid/xmms-sid.glade:2856 src/sid/xmms-sid.glade:2962
-#: src/sid/xs_interface.c:1010 src/sid/xs_interface.c:1182
-#: src/sid/xs_interface.c:1218
+#: src/aosd/aosd_ui.c:644 src/sid/xmms-sid.glade:2373
+#: src/sid/xmms-sid.glade:2968 src/sid/xmms-sid.glade:3136
+#: src/sid/xs_interface.c:1043 src/sid/xs_interface.c:1235
+#: src/sid/xs_interface.c:1291
 msgid "Browse"
 msgstr "Procházet"
 
@@ -1793,9 +1793,9 @@
 msgid "Trigger"
 msgstr "Spouštěč"
 
-#: src/aosd/aosd_ui.c:1076 src/cdaudio-ng/configure.c:167
+#: src/aosd/aosd_ui.c:1076 src/cdaudio-ng/configure.c:175
 #: src/modplug/gui/interface.cxx:688 src/modplug/gui/modplug.glade:1603
-#: src/sid/xmms-sid.glade:3026 src/sid/xs_interface.c:1229
+#: src/sid/xmms-sid.glade:3220 src/sid/xs_interface.c:1301
 msgid "Misc"
 msgstr "Různé"
 
@@ -1833,11 +1833,11 @@
 "http://neugierig.org/software/ghosd/\n"
 "\n"
 
-#: src/arts/arts.c:22
+#: src/arts/arts.c:21
 msgid "About aRts Output"
 msgstr "O aRts výstupu"
 
-#: src/arts/arts.c:23
+#: src/arts/arts.c:22
 msgid ""
 "aRts output plugin by Håvard Kvålen <havardk@xmms.org>\n"
 "Audacious port by Giacomo Lozito from develia.org"
@@ -1849,26 +1849,26 @@
 msgid "aRts Driver configuration"
 msgstr "Nastavení ovladače aRts"
 
-#: src/arts/configure.c:61 src/esd/configure.c:171 src/OSS4/configure.c:232
-#: src/OSS/configure.c:304 src/sun/configure.c:259
+#: src/arts/configure.c:61 src/esd/configure.c:171 src/OSS4/configure.c:230
+#: src/OSS/configure.c:303 src/sun/configure.c:257
 msgid "Buffering:"
 msgstr "Vyrovnávání:"
 
-#: src/arts/configure.c:73 src/esd/configure.c:184 src/OSS4/configure.c:245
-#: src/OSS/configure.c:317 src/sun/configure.c:272
+#: src/arts/configure.c:73 src/esd/configure.c:184 src/OSS4/configure.c:243
+#: src/OSS/configure.c:316 src/sun/configure.c:270
 msgid "Buffer size (ms):"
 msgstr "Velikost vyrovnávací paměti (ms):"
 
-#: src/arts/configure.c:83 src/esd/configure.c:209 src/OSS4/configure.c:270
-#: src/OSS/configure.c:342 src/sun/configure.c:304
+#: src/arts/configure.c:83 src/esd/configure.c:209 src/OSS4/configure.c:268
+#: src/OSS/configure.c:341 src/sun/configure.c:302
 msgid "Buffering"
 msgstr "Vyrovnávání"
 
-#: src/audiocompress/audacious-glue.c:95
+#: src/audiocompress/audacious-glue.c:103
 msgid "AudioCompress "
 msgstr "AudioCompress "
 
-#: src/audiocompress/audacious-glue.c:96
+#: src/audiocompress/audacious-glue.c:104
 msgid ""
 "\n"
 "(c)2003 trikuare studios(http://trikuare.cx)\n"
@@ -1884,11 +1884,11 @@
 "Jednoduchý zhušťovač dynamických rozsahů pro snadné\n"
 "udržení hlasitosti na více méně stejné úrovni."
 
-#: src/audiocompress/audacious-glue.c:101
+#: src/audiocompress/audacious-glue.c:109
 msgid "About AudioCompress"
 msgstr "O AudioCompress"
 
-#: src/audiocompress/audacious-glue.c:320
+#: src/audiocompress/audacious-glue.c:328
 msgid ""
 "If checked, when the sound peaks the volume will be cut instantly; "
 "otherwise, it will ramp down just in time for the peak (but some minor "
@@ -1898,15 +1898,15 @@
 "Jinak bude hlasitost klouzavě snižována jen v místě vrcholu (drobné přesahy "
 "se mohou vyskytnout)."
 
-#: src/audiocompress/audacious-glue.c:324
+#: src/audiocompress/audacious-glue.c:332
 msgid "The maximum amount to amplify the audio by"
 msgstr "Maximální hodnota kolikrát lze zvuk zesílit"
 
-#: src/audiocompress/audacious-glue.c:326
+#: src/audiocompress/audacious-glue.c:334
 msgid "Defines how smoothly the volume will ramp up"
 msgstr "Definuje, jak plynule bude hlasitost navyšována"
 
-#: src/audiocompress/audacious-glue.c:328
+#: src/audiocompress/audacious-glue.c:336
 msgid ""
 "The target audio level for ramping up. Lowering the value gives a bit more "
 "dynamic range for peaks, but will make the overall sound quieter."
@@ -1914,43 +1914,43 @@
 "Cílová hladina hlasitosti pro zesílení. Snížením hodnoty získáte "
 "dynamičtější rozsah pro vrcholky, avšak celková zvuk bude tišší."
 
-#: src/audiocompress/audacious-glue.c:331
+#: src/audiocompress/audacious-glue.c:339
 msgid "How long of a window to maintain"
 msgstr "Jak dlouhé okno udržovat"
 
-#: src/audiocompress/audacious-glue.c:372
+#: src/audiocompress/audacious-glue.c:380
 msgid "AudioCompress preferences"
 msgstr "Nastavení modulu AudioCompress"
 
-#: src/audiocompress/audacious-glue.c:389
+#: src/audiocompress/audacious-glue.c:397
 msgid " Quality Options "
 msgstr " Nastavení kvality"
 
-#: src/audiocompress/audacious-glue.c:394
+#: src/audiocompress/audacious-glue.c:402
 msgid " Aggressively prevent clipping"
 msgstr " Agresivní ořezání přesahu"
 
-#: src/audiocompress/audacious-glue.c:406
+#: src/audiocompress/audacious-glue.c:414
 msgid " Target & gain"
 msgstr " Cíl a zesílení"
 
-#: src/audiocompress/audacious-glue.c:417
+#: src/audiocompress/audacious-glue.c:425
 msgid "Target audio level:"
 msgstr "Cílová hladina hlasitosti:"
 
-#: src/audiocompress/audacious-glue.c:425
-msgid "Maximum gain:"
-msgstr "Maximální zesílení:"
-
 #: src/audiocompress/audacious-glue.c:433
+msgid "Maximum gain:"
+msgstr "Maximální zesílení:"
+
+#: src/audiocompress/audacious-glue.c:441
 msgid "Gain smooth:"
 msgstr "Plynulost zesílení:"
 
-#: src/audiocompress/audacious-glue.c:485
+#: src/audiocompress/audacious-glue.c:493
 msgid " History "
 msgstr " Historie "
 
-#: src/audiocompress/audacious-glue.c:517
+#: src/audiocompress/audacious-glue.c:525
 msgid ""
 "How long of a history to maintain.  A higher number will make the volume "
 "changes less responsive."
@@ -1958,41 +1958,41 @@
 "Jak dlouhou historii udržovat. Vyšší číslo sníží rychlost reakce na změnu "
 "hlasitosti."
 
-#: src/audiocompress/audacious-glue.c:528
+#: src/audiocompress/audacious-glue.c:536
 msgid "Load default values"
 msgstr "Načíst standardní hodnoty"
 
-#: src/audiocompress/audacious-glue.c:533
+#: src/audiocompress/audacious-glue.c:541
 msgid "Audio values"
 msgstr "Hodnoty zvuku"
 
-#: src/audiocompress/audacious-glue.c:562 src/echo_plugin/gui.c:152
-#: src/modplug/gui/interface.cxx:708 src/modplug/gui/modplug.glade:1655
-#: src/stereo_plugin/stereo.c:132
+#: src/audiocompress/audacious-glue.c:570 src/crystalizer/crystalizer.c:129
+#: src/echo_plugin/gui.c:150 src/modplug/gui/interface.cxx:708
+#: src/modplug/gui/modplug.glade:1655 src/stereo_plugin/stereo.c:131
 msgid "Apply"
 msgstr "Použít"
 
-#: src/blur_scope/blur_scope.c:54
+#: src/blur_scope/blur_scope.c:52
 msgid "/Toggle Decorations"
 msgstr "/Přepnout zobrazení dekorací"
 
-#: src/blur_scope/blur_scope.c:56
+#: src/blur_scope/blur_scope.c:54
 msgid "/-"
 msgstr "/-"
 
-#: src/blur_scope/blur_scope.c:57
+#: src/blur_scope/blur_scope.c:55
 msgid "/Close"
 msgstr "/Zavřít"
 
-#: src/blur_scope/blur_scope.c:181
+#: src/blur_scope/blur_scope.c:179
 msgid "Blur scope"
 msgstr "Blur scope"
 
-#: src/blur_scope/config.c:72
+#: src/blur_scope/config.c:71
 msgid "Blur Scope: Color selection"
 msgstr "Blur scope: výběr barvy"
 
-#: src/blur_scope/config.c:82 src/jack/configure.c:108
+#: src/blur_scope/config.c:81 src/jack/configure.c:107
 msgid "Options:"
 msgstr "Volby:"
 
@@ -2029,7 +2029,7 @@
 "\n"
 "Toto byl projekt z Google Summer of Code 2007."
 
-#: src/cdaudio-ng/cdaudio-ng.c:814
+#: src/cdaudio-ng/cdaudio-ng.c:815
 msgid ""
 "<b><big>No playable CD found.</big></b>\n"
 "\n"
@@ -2039,98 +2039,103 @@
 "\n"
 "Není vloženo CD, nebo vložené CD není typu Audio CD.\n"
 
-#: src/cdaudio-ng/configure.c:147
+#: src/cdaudio-ng/configure.c:155
 msgid "CD Audio Plugin Configuration"
 msgstr "Nastavení modulu pro zvuková CD"
 
-#: src/cdaudio-ng/configure.c:157
+#: src/cdaudio-ng/configure.c:165
 msgid "Digital audio extraction"
 msgstr "Digitální získání zvuku"
 
-#: src/cdaudio-ng/configure.c:162
+#: src/cdaudio-ng/configure.c:170
 msgid "Title information"
 msgstr "Informace o titulu"
 
-#: src/cdaudio-ng/configure.c:179
+#: src/cdaudio-ng/configure.c:187
 msgid "Limit read speed to: "
 msgstr "Omezit rychlost čtení na:"
 
-#: src/cdaudio-ng/configure.c:186
+#: src/cdaudio-ng/configure.c:194
 msgid "Use cd-text if available"
 msgstr "Pokud možno, použít cd-text"
 
-#: src/cdaudio-ng/configure.c:190
+#: src/cdaudio-ng/configure.c:198
 msgid "Use CDDB if available"
 msgstr "Pokud možno, použít CDDB"
 
-#: src/cdaudio-ng/configure.c:194
+#: src/cdaudio-ng/configure.c:202
 msgid "Server: "
 msgstr "Server: "
 
-#: src/cdaudio-ng/configure.c:197
+#: src/cdaudio-ng/configure.c:205
+#, fuzzy
+msgid "Path: "
+msgstr "Vzorek: "
+
+#: src/cdaudio-ng/configure.c:208
 msgid "Port: "
 msgstr "Port: "
 
-#: src/cdaudio-ng/configure.c:203
+#: src/cdaudio-ng/configure.c:217
 msgid "Use HTTP instead of CDDBP"
 msgstr "Použít HTTP místo CDDBP"
 
-#: src/cdaudio-ng/configure.c:211
+#: src/cdaudio-ng/configure.c:225
 msgid "Override default device: "
 msgstr "Přebít výchozí zařízení: "
 
-#: src/cdaudio-ng/configure.c:218
+#: src/cdaudio-ng/configure.c:232
 msgid "Print debug information"
 msgstr "Zobrazovat ladící informace"
 
-#: src/console/Audacious_Config.cxx:125
+#: src/console/Audacious_Config.cxx:124
 msgid "Console Music Decoder"
 msgstr "Dekodér konzolové hudby"
 
-#: src/console/Audacious_Config.cxx:162
+#: src/console/Audacious_Config.cxx:161
 msgid "Bass:"
 msgstr "Hloubky:"
 
-#: src/console/Audacious_Config.cxx:166 src/console/Audacious_Config.cxx:177
-#: src/console/Audacious_Config.cxx:198
+#: src/console/Audacious_Config.cxx:165 src/console/Audacious_Config.cxx:176
+#: src/console/Audacious_Config.cxx:197
 msgid "secs"
 msgstr "s"
 
-#: src/console/Audacious_Config.cxx:173
+#: src/console/Audacious_Config.cxx:172
 msgid "Treble:"
 msgstr "Výšky:"
 
-#: src/console/Audacious_Config.cxx:194
+#: src/console/Audacious_Config.cxx:193
 msgid "Default song length:"
 msgstr "Implicitní délka skladby:"
 
-#: src/console/Audacious_Config.cxx:200 src/modplug/gui/interface.cxx:268
+#: src/console/Audacious_Config.cxx:199 src/modplug/gui/interface.cxx:268
 #: src/modplug/gui/modplug.glade:338 src/sid/xmms-sid.glade:1243
-#: src/sid/xs_interface.c:653
+#: src/sid/xs_interface.c:665
 msgid "Resampling"
 msgstr "Převzorkování"
 
-#: src/console/Audacious_Config.cxx:206
+#: src/console/Audacious_Config.cxx:205
 msgid "Enable audio resampling"
 msgstr "Povolit převzorkování zvuku"
 
-#: src/console/Audacious_Config.cxx:221
+#: src/console/Audacious_Config.cxx:220
 msgid "Resampling rate:"
 msgstr "Převzorkovat na:"
 
-#: src/console/Audacious_Config.cxx:236
+#: src/console/Audacious_Config.cxx:235
 msgid "SPC"
 msgstr "SPC"
 
-#: src/console/Audacious_Config.cxx:237
+#: src/console/Audacious_Config.cxx:236
 msgid "Ignore length from SPC tags"
 msgstr "Ignorovat délku z SPC tagů"
 
-#: src/console/Audacious_Config.cxx:238
+#: src/console/Audacious_Config.cxx:237
 msgid "Increase reverb"
 msgstr "Prodloužit dozvuk"
 
-#: src/console/Audacious_Config.cxx:263
+#: src/console/Audacious_Config.cxx:262
 msgid ""
 "The default song length, expressed in seconds, is used for songs that do not "
 "provide length information (i.e. looping tracks)."
@@ -2138,11 +2143,11 @@
 "Implicitní délka, vyjádřená v sekundách, se použije na skladby, které "
 "neposkytují informace o délce (např. nekonečné smyčky)."
 
-#: src/console/Audacious_Driver.cxx:444
+#: src/console/Audacious_Driver.cxx:442
 msgid "About the Console Music Decoder"
 msgstr "O dekodéru konzolové hudby"
 
-#: src/console/Audacious_Driver.cxx:445
+#: src/console/Audacious_Driver.cxx:443
 msgid ""
 "Console music decoder engine based on Game_Music_Emu 0.5.2.\n"
 "Supported formats: AY, GBS, GYM, HES, KSS, NSF, NSFE, SAP, SPC, VGM, VGZ\n"
@@ -2154,11 +2159,20 @@
 "Implementace v Audacious: William Pitcock <nenold@nenold.net>,\n"
 "        Shay Green <gblargg@gmail.com>"
 
-#: src/demac/plugin.c:388
+#: src/crystalizer/crystalizer.c:90
+#, fuzzy
+msgid "Configure Crystalizer"
+msgstr "Nastavit Extra sterou"
+
+#: src/crystalizer/crystalizer.c:92 src/stereo_plugin/stereo.c:94
+msgid "Effect intensity:"
+msgstr "Síla efektu:"
+
+#: src/demac/plugin.c:359
 msgid "About Monkey's Audio Plugin"
 msgstr "O modulu pro Monkey's Audio"
 
-#: src/demac/plugin.c:389
+#: src/demac/plugin.c:360
 msgid ""
 "Copyright (C) 2007 Eugene Zagidullin <e.asphyx@gmail.com>\n"
 "Based on ffape decoder, Copyright (C) 2007 Benjamin Zores\n"
@@ -2172,7 +2186,7 @@
 "\n"
 "ffape je součástí projektu FFmpeg, http://ffmpeg.mplayerhq.hu/"
 
-#: src/echo_plugin/gui.c:11
+#: src/echo_plugin/gui.c:9
 msgid ""
 "Echo Plugin\n"
 "By Johan Levin 1999.\n"
@@ -2184,35 +2198,35 @@
 "\n"
 "Prostorovou ozvěnu přidal Carl van Schaik, 1999"
 
-#: src/echo_plugin/gui.c:25
+#: src/echo_plugin/gui.c:23
 msgid "About Echo Plugin"
 msgstr "O modulu ozvěny"
 
-#: src/echo_plugin/gui.c:76
+#: src/echo_plugin/gui.c:74
 msgid "Configure Echo"
 msgstr "Nastavit ozvěnu"
 
-#: src/echo_plugin/gui.c:89
+#: src/echo_plugin/gui.c:87
 msgid "Delay: (ms)"
 msgstr "Zpoždění: (ms)"
 
-#: src/echo_plugin/gui.c:94
+#: src/echo_plugin/gui.c:92
 msgid "Feedback: (%)"
 msgstr "Zpětná vazba: (%)"
 
-#: src/echo_plugin/gui.c:99
+#: src/echo_plugin/gui.c:97
 msgid "Volume: (%)"
 msgstr "Hlasitost: (%)"
 
-#: src/echo_plugin/gui.c:122
+#: src/echo_plugin/gui.c:120
 msgid "Surround echo"
 msgstr "Prostorová ozvěna (surround echo)"
 
-#: src/esd/about.c:34
+#: src/esd/about.c:33
 msgid "About ESounD Plugin"
 msgstr "O modulu ESounD"
 
-#: src/esd/about.c:35
+#: src/esd/about.c:34
 msgid ""
 "Audacious ESounD Plugin\n"
 "\n"
@@ -2270,8 +2284,8 @@
 msgid "Server"
 msgstr "Server"
 
-#: src/esd/configure.c:198 src/OSS4/configure.c:259 src/OSS/configure.c:331
-#: src/sun/configure.c:290
+#: src/esd/configure.c:198 src/OSS4/configure.c:257 src/OSS/configure.c:330
+#: src/sun/configure.c:288
 msgid "Pre-buffer (percent):"
 msgstr "Načíst předem (v procentech):"
 
@@ -2343,7 +2357,7 @@
 msgid "Window->JumpToFile"
 msgstr "Okno → Přejít na soubor"
 
-#: src/evdev-plug/ed_internals.c:94
+#: src/evdev-plug/ed_internals.c:93
 #, c-format
 msgid ""
 "event-device-plugin: unable to open device file %s , skipping this device; "
@@ -2352,7 +2366,7 @@
 "event-device-plugin: nelze otevřít zařízení %s, přeskakuji toto zařízení; "
 "zkontrolujte, že soubor existuje a že máte právo jej číst\n"
 
-#: src/evdev-plug/ed_internals.c:103
+#: src/evdev-plug/ed_internals.c:102
 #, c-format
 msgid ""
 "event-device-plugin: unable to create a io_channel for device file %s ,"
@@ -2361,7 +2375,7 @@
 "event-device-plugin: nelze vytvořit io_channel (vstupně-výstupní kanál) pro "
 "zařízení %s, přeskakuji toto zařízení\n"
 
-#: src/evdev-plug/ed_internals.c:342
+#: src/evdev-plug/ed_internals.c:341
 msgid ""
 "event-device-plugin: unable to open /proc/bus/input/devices , automatic "
 "detection of event devices won't work.\n"
@@ -2369,7 +2383,7 @@
 "event-device-plugin: nelze otevřít /proc/bus/input/devices, samočinné "
 "vyhledávání událostních zařízení nebude fungovat.\n"
 
-#: src/evdev-plug/ed_internals.c:351
+#: src/evdev-plug/ed_internals.c:350
 msgid ""
 "event-device-plugin: unable to open a io_channel for /proc/bus/input/"
 "devices , automatic detection of event devices won't work.\n"
@@ -2378,7 +2392,7 @@
 "proc/bus/input/devices, samočinné vyhledávání událostních zařízení nebude "
 "fungovat.\n"
 
-#: src/evdev-plug/ed_internals.c:361
+#: src/evdev-plug/ed_internals.c:360
 msgid ""
 "event-device-plugin: an error occurred while reading /proc/bus/input/"
 "devices , automatic detection of event devices won't work.\n"
@@ -2386,13 +2400,13 @@
 "event-device-plugin: došlo k chybě při čtení z /proc/bus/input/devices, "
 "samočinné vyhledávání událostních zařízení nebude fungovat.\n"
 
-#: src/evdev-plug/ed_internals.c:424
+#: src/evdev-plug/ed_internals.c:423
 #, c-format
 msgid "event-device-plugin: device %s not found in /dev/input , skipping.\n"
 msgstr ""
 "event-device-plugin: zařízení %s nebylo nalezeno v /dev/input, přeskakuji.\n"
 
-#: src/evdev-plug/ed_internals.c:489 src/evdev-plug/ed_internals.c:583
+#: src/evdev-plug/ed_internals.c:488 src/evdev-plug/ed_internals.c:582
 #, c-format
 msgid ""
 "event-device-plugin: unable to load config file %s , default settings will "
@@ -2401,7 +2415,7 @@
 "event-device-plugin: nelze načíst konfigurační soubor %s, bude použito "
 "implicitní nastavení.\n"
 
-#: src/evdev-plug/ed_internals.c:535
+#: src/evdev-plug/ed_internals.c:534
 #, c-format
 msgid ""
 "event-device-plugin: incomplete information in config file for device \"%s"
@@ -2410,7 +2424,7 @@
 "event-device-plugin: neúplné informace v konfiguračním souboru pro zařízení "
 "„%s“, přeskakuji.\n"
 
-#: src/evdev-plug/ed_internals.c:604 src/evdev-plug/ed_internals.c:936
+#: src/evdev-plug/ed_internals.c:603 src/evdev-plug/ed_internals.c:935
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get is_active value for device "
@@ -2419,7 +2433,7 @@
 "event-device-plugin: konfigurace: nelze získat hodnotu is_active pro "
 "zařízení „%s“, přeskakuji.\n"
 
-#: src/evdev-plug/ed_internals.c:840
+#: src/evdev-plug/ed_internals.c:839
 #, c-format
 msgid ""
 "event-device-plugin: unable to access local directory %s , settings will not "
@@ -2428,7 +2442,7 @@
 "event-device-plugin: nelze přistoupit k místnímu adresáři %s, nastavení "
 "nebude uloženo.\n"
 
-#: src/evdev-plug/ed_internals.c:890
+#: src/evdev-plug/ed_internals.c:889
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get filename value for device "
@@ -2437,7 +2451,7 @@
 "event-device-plugin: konfigurace: nelze získat hodnotu filename pro zařízení "
 "„%s“, přeskakuji.\n"
 
-#: src/evdev-plug/ed_internals.c:906
+#: src/evdev-plug/ed_internals.c:905
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get phys value for device \"%s"
@@ -2446,7 +2460,7 @@
 "event-device-plugin: konfigurace: nelze získat hodnotu phys pro zařízení „%"
 "s“, přeskakuji.\n"
 
-#: src/evdev-plug/ed_internals.c:922
+#: src/evdev-plug/ed_internals.c:921
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get is_custom value for device "
@@ -2455,7 +2469,7 @@
 "event-device-plugin: konfigurace: nelze získat hodnotu is_custom pro "
 "zařízení „%s“, přeskakuji.\n"
 
-#: src/evdev-plug/ed_internals.c:946
+#: src/evdev-plug/ed_internals.c:945
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unexpected value for device \"%s\", "
@@ -2477,7 +2491,7 @@
 "Nelze otevřít okno s vazbami pro nerozpoznané zařízení.\n"
 "Ujistěte se, že zařízení bylo správně zapojeno."
 
-#: src/evdev-plug/ed_ui.c:319 src/madplug/plugin.c:566
+#: src/evdev-plug/ed_ui.c:319 src/madplug/plugin.c:703
 msgid "Error"
 msgstr "Chyba"
 
@@ -2541,7 +2555,7 @@
 msgid "Active"
 msgstr "Aktivní"
 
-#: src/evdev-plug/ed_ui.c:655 src/sun/configure.c:488
+#: src/evdev-plug/ed_ui.c:655 src/sun/configure.c:486
 msgid "Status"
 msgstr "Stav"
 
@@ -2663,7 +2677,7 @@
 msgid "Output file format:"
 msgstr "Formát výstupního souboru:"
 
-#: src/filewriter/filewriter.c:511 src/ladspa/ladspa.c:960
+#: src/filewriter/filewriter.c:511 src/ladspa/ladspa.c:959
 msgid "Configure"
 msgstr "Nastavit"
 
@@ -2898,11 +2912,11 @@
 msgid "Quality level (0 - 10):"
 msgstr "Úroveň kvality (0–10):"
 
-#: src/flacng/plugin.c:698
+#: src/flacng/plugin.c:697
 msgid "FLAC Audio Plugin "
 msgstr "Zvukový modul FLAC"
 
-#: src/flacng/plugin.c:699
+#: src/flacng/plugin.c:698
 msgid ""
 "\n"
 "\n"
@@ -2918,15 +2932,15 @@
 "\n"
 "http://www.skytale.net/projects/bmp-flac2/"
 
-#: src/flacng/plugin.c:704
+#: src/flacng/plugin.c:703
 msgid "About FLAC Audio Plugin"
 msgstr "O zvukovém modulu FLAC"
 
+#: src/gnomeshortcuts/gnomeshortcuts.c:305
+msgid "About Gnome Shortcut Plugin"
+msgstr "O modulu pro zkratky Gnome"
+
 #: src/gnomeshortcuts/gnomeshortcuts.c:306
-msgid "About Gnome Shortcut Plugin"
-msgstr "O modulu pro zkratky Gnome"
-
-#: src/gnomeshortcuts/gnomeshortcuts.c:307
 #, fuzzy
 msgid ""
 "Gnome Shortcut Plugin\n"
@@ -2946,7 +2960,7 @@
 msgid "Previous Track"
 msgstr "Předchozí stopa:"
 
-#: src/hotkey/gui.c:69
+#: src/hotkey/gui.c:69 src/skins/ui_manager.c:177 src/skins/ui_manager.c:178
 #, fuzzy
 msgid "Play"
 msgstr "Hrát:"
@@ -2956,7 +2970,7 @@
 msgid "Pause/Resume"
 msgstr "Pozastavit/Pokračovat:"
 
-#: src/hotkey/gui.c:71
+#: src/hotkey/gui.c:71 src/skins/ui_manager.c:183 src/skins/ui_manager.c:184
 #, fuzzy
 msgid "Stop"
 msgstr "Zastavit:"
@@ -2991,7 +3005,7 @@
 msgid "Volume Down"
 msgstr "Ztišit:"
 
-#: src/hotkey/gui.c:78
+#: src/hotkey/gui.c:78 src/skins/ui_manager.c:422 src/skins/ui_manager.c:423
 #, fuzzy
 msgid "Jump to File"
 msgstr "Přeskočit na soubor:"
@@ -3049,11 +3063,11 @@
 msgid "<b>Key Binding:</b>"
 msgstr ""
 
-#: src/hotkey/gui.c:660
+#: src/hotkey/gui.c:659
 msgid "About Global Hotkey Plugin"
 msgstr "O modulu Global Hotkey"
 
-#: src/hotkey/gui.c:661
+#: src/hotkey/gui.c:660
 msgid ""
 "Global Hotkey Plugin\n"
 "Control the player with global key combinations or multimedia keys.\n"
@@ -3082,35 +3096,35 @@
 "\t\t\tJeremy Tan <nsx@nsx.homeip.net>\n"
 "\n"
 
-#: src/jack/configure.c:70
+#: src/jack/configure.c:69
 msgid "Connect to all available jack ports"
 msgstr "Připojit se na všechny dostupné porty jacku"
 
-#: src/jack/configure.c:77
+#: src/jack/configure.c:76
 msgid "Connect only the output ports"
 msgstr "Připojit se pouze na výstupní porty"
 
-#: src/jack/configure.c:84
+#: src/jack/configure.c:83
 msgid "Connect to no ports"
 msgstr "Na žádné porty se nepřipojovat"
 
-#: src/jack/configure.c:99
+#: src/jack/configure.c:98
 msgid "jack Plugin configuration"
 msgstr "Nastavení modulu jack"
 
-#: src/jack/configure.c:117
+#: src/jack/configure.c:116
 msgid "Connection mode:"
 msgstr "Režim připojení:"
 
-#: src/jack/configure.c:129
+#: src/jack/configure.c:128
 msgid "Enable debug printing"
 msgstr "Povolit ladící výpisy"
 
-#: src/jack/jack.c:84
+#: src/jack/jack.c:82
 msgid "Sample rate mismatch"
 msgstr "Vzorkovací kmitočet nesouhlasí"
 
-#: src/jack/jack.c:87
+#: src/jack/jack.c:85
 msgid ""
 "Xmms is asking for a sample rate that differs from\n"
 " that of the jack server.  Xmms 1.2.8 or later\n"
@@ -3133,15 +3147,15 @@
 "\n"
 "Chris Morgan <cmorgan@alum.wpi.edu>\n"
 
-#: src/jack/jack.c:100 src/wma/wma.c:148
+#: src/jack/jack.c:98 src/wma/wma.c:145
 msgid " Close "
 msgstr " Zavřít "
 
-#: src/jack/jack.c:452
+#: src/jack/jack.c:450
 msgid "About JACK Output Plugin 0.17"
 msgstr "O výstupním modulu JACK 0.17"
 
-#: src/jack/jack.c:453
+#: src/jack/jack.c:451
 msgid ""
 "XMMS jack Driver 0.17\n"
 "\n"
@@ -3159,39 +3173,39 @@
 "Pro Audacious převedl\n"
 "Giacomo Lozito z develia.org"
 
-#: src/ladspa/ladspa.c:722
+#: src/ladspa/ladspa.c:721
 msgid "This LADSPA plugin has no user controls"
 msgstr "Tento LADSPA modul nemá žádné možnosti nastavení uživatelem"
 
-#: src/ladspa/ladspa.c:767 src/ladspa/ladspa.c:853
+#: src/ladspa/ladspa.c:766 src/ladspa/ladspa.c:852
 msgid "Name"
 msgstr "Jméno"
 
-#: src/ladspa/ladspa.c:853
+#: src/ladspa/ladspa.c:852
 msgid "UID"
 msgstr "UID"
 
-#: src/ladspa/ladspa.c:928
+#: src/ladspa/ladspa.c:927
 msgid "Installed plugins"
 msgstr "Nainstalované moduly"
 
-#: src/ladspa/ladspa.c:937
+#: src/ladspa/ladspa.c:936
 msgid "Running plugins"
 msgstr "Bežící moduly"
 
-#: src/ladspa/ladspa.c:952
+#: src/ladspa/ladspa.c:951
 msgid "Add"
 msgstr "Přidat"
 
-#: src/ladspa/ladspa.c:956
+#: src/ladspa/ladspa.c:955
 msgid "Remove"
 msgstr "Odebrat"
 
-#: src/ladspa/ladspa.c:969
+#: src/ladspa/ladspa.c:968
 msgid "LADSPA Plugin Catalog"
 msgstr "Katalog LADSPA modulů"
 
-#: src/lastfm/lastfm.c:96
+#: src/lastfm/lastfm.c:94
 msgid ""
 "<b><big>Couldn't initialize the last.fm radio plugin.</big></b>\n"
 "\n"
@@ -3292,60 +3306,60 @@
 msgid "%s: will try reconnect every %d seconds...\n"
 msgstr "%s: pokus o připojení budu opakovat každých %d sekund…\n"
 
-#: src/madplug/configure.c:209
+#: src/madplug/configure.c:208
 msgid "MPEG Audio Plugin Configuration"
 msgstr "Nastavení modulu MPEG Audio"
 
-#: src/madplug/configure.c:226
+#: src/madplug/configure.c:225
 #, fuzzy
 msgid "Audio Settings"
 msgstr "Nastavení budíku"
 
-#: src/madplug/configure.c:234
+#: src/madplug/configure.c:233
 msgid "Force reopen audio when audio type changed"
 msgstr "Vynutit znovuotevření zvuku, když se typ zvuku změní"
 
-#: src/madplug/configure.c:243
+#: src/madplug/configure.c:242
 #, fuzzy
 msgid "Metadata Settings"
 msgstr "Nastavení mixéru:"
 
-#: src/madplug/configure.c:252
+#: src/madplug/configure.c:251
 msgid "Enable fast play-length calculation"
 msgstr "Povolit rychlý výpočet doby hraní"
 
-#: src/madplug/configure.c:259
+#: src/madplug/configure.c:258
 msgid "Parse XING headers"
 msgstr "Rozebrat hlavičku XING"
 
-#: src/madplug/configure.c:266
+#: src/madplug/configure.c:265
 #, fuzzy
 msgid "Use SJIS to write ID3 tags (not recommended)"
 msgstr "Pro zápis ID3 tagů použít SJIS na místo UTF-8"
 
-#: src/madplug/configure.c:273
+#: src/madplug/configure.c:272
 #, fuzzy
 msgid "Miscellaneous Settings"
 msgstr "Nastavení mixéru:"
 
-#: src/madplug/configure.c:282
+#: src/madplug/configure.c:281
 msgid "Display average bitrate for VBR"
 msgstr "U VBR zobrazovat průměrný datový tok"
 
-#: src/madplug/configure.c:296 src/vorbis/configure.c:102
+#: src/madplug/configure.c:295 src/vorbis/configure.c:100
 msgid "Override generic titles"
 msgstr "Přepsat původní názvy"
 
-#: src/madplug/configure.c:308
+#: src/madplug/configure.c:307
 msgid "ID3 format:"
 msgstr "Formát ID3:"
 
-#: src/madplug/configure.c:320 src/sid/xmms-sid.glade:2540
-#: src/sid/xs_interface.c:1070
+#: src/madplug/configure.c:319 src/sid/xmms-sid.glade:2610
+#: src/sid/xs_interface.c:1102
 msgid "Title"
 msgstr "Název"
 
-#: src/madplug/plugin.c:524
+#: src/madplug/plugin.c:661
 #, c-format
 msgid ""
 "Audacious MPEG Audio Plugin\n"
@@ -3376,15 +3390,15 @@
 "Podpora zesílení přehrávání od:\n"
 "    Samuel Krempp"
 
-#: src/madplug/plugin.c:540
+#: src/madplug/plugin.c:677
 msgid "About MPEG Audio Plugin"
 msgstr "O modul pro MPEG zvuk"
 
+#: src/metronom/metronom.c:86
+msgid "About Metronom"
+msgstr "O metronomu"
+
 #: src/metronom/metronom.c:87
-msgid "About Metronom"
-msgstr "O metronomu"
-
-#: src/metronom/metronom.c:88
 msgid ""
 "A Tact Generator by Martin Strauss <mys@faveve.uni-stuttgart.de>\n"
 "\n"
@@ -3398,12 +3412,12 @@
 "např. tact://77 hraje 77 úderů za minutu\n"
 "nebo tact://60*3/4 hraje v tempu 60 úderu za minutu v 3⁄4 taktu"
 
-#: src/metronom/metronom.c:198 src/metronom/metronom.c:262
+#: src/metronom/metronom.c:197 src/metronom/metronom.c:261
 #, c-format
 msgid "Tact generator: %d bpm"
 msgstr "Generátor taktu: %d dob/min"
 
-#: src/metronom/metronom.c:200 src/metronom/metronom.c:264
+#: src/metronom/metronom.c:199 src/metronom/metronom.c:263
 #, c-format
 msgid "Tact generator: %d bpm %d/%d"
 msgstr "Generátor taktu: %d dob/min %d⁄%d"
@@ -3618,11 +3632,11 @@
 msgid "Message"
 msgstr "Vzkaz"
 
-#: src/modplug/gui/main.cxx:45
+#: src/modplug/gui/main.cxx:48
 msgid "Modplug Input Plugin for Audacious ver"
 msgstr "Vstupní modul pro Audacious Modplug verze "
 
-#: src/modplug/gui/main.cxx:46
+#: src/modplug/gui/main.cxx:49
 msgid ""
 "\n"
 "Modplug sound engine written by Olivier Lapicque.\n"
@@ -3638,7 +3652,7 @@
 "Aktualizuje a udržuje Konstanty Bialkowski.\n"
 "Na BMP převedl Theofilos Intzoglou."
 
-#: src/modplug/gui/main.cxx:49
+#: src/modplug/gui/main.cxx:52
 msgid "About Modplug"
 msgstr "O modulu Modplug"
 
@@ -3648,27 +3662,27 @@
 msgid "Couldn't find pixmap file: %s"
 msgstr "Nebylo možné nalézt soubor s pixmapou: %s"
 
-#: src/mtp_up/mtp.c:35
+#: src/mtp_up/mtp.c:33
 msgid "Upload selected track(s)"
 msgstr "Nahrát vybranou stopu(y)"
 
-#: src/mtp_up/mtp.c:296
+#: src/mtp_up/mtp.c:294
 msgid "Upload in progress..."
 msgstr "Nahrávám…"
 
-#: src/mtp_up/mtp.c:305
+#: src/mtp_up/mtp.c:303
 msgid "MTP device handler"
 msgstr "Deskriptor MTP zařízení"
 
-#: src/mtp_up/mtp.c:309
+#: src/mtp_up/mtp.c:307
 msgid "Disconnect the device"
 msgstr "Odpojit zařízení"
 
-#: src/musepack/libmpc.cxx:146
+#: src/musepack/libmpc.cxx:142
 msgid "Musepack Decoder Plugin 1.2"
 msgstr "Dekodér musepacku 1.2"
 
-#: src/musepack/libmpc.cxx:147
+#: src/musepack/libmpc.cxx:143
 msgid ""
 "Plugin code by\n"
 "Benoit Amiaux\n"
@@ -3684,174 +3698,175 @@
 "\n"
 "Poslední verzi získáte na http://musepack.net/\n"
 
-#: src/musepack/libmpc.cxx:148
+#: src/musepack/libmpc.cxx:144
 msgid "Nevermind"
 msgstr "Nevadí"
 
-#: src/musepack/libmpc.cxx:166
+#: src/musepack/libmpc.cxx:162
 msgid "Musepack Decoder Configuration"
 msgstr "Nastavení dekodéru musepacku"
 
-#: src/musepack/libmpc.cxx:176
+#: src/musepack/libmpc.cxx:172
 msgid "General Settings"
 msgstr "Obecná nastavení"
 
-#: src/musepack/libmpc.cxx:183 src/wavpack/ui.cxx:492
+#: src/musepack/libmpc.cxx:179 src/wavpack/ui.cxx:490
 msgid "Enable Dynamic Bitrate Display"
 msgstr "Zapnout zobrazování dynamického datového toku"
 
-#: src/musepack/libmpc.cxx:187 src/wavpack/ui.cxx:498
+#: src/musepack/libmpc.cxx:183 src/wavpack/ui.cxx:496
 msgid "Plugin"
 msgstr "Modul"
 
-#: src/musepack/libmpc.cxx:190
+#: src/musepack/libmpc.cxx:186
 msgid "ReplayGain Settings"
 msgstr "Nastavení pro zesílení přehrávání"
 
-#: src/musepack/libmpc.cxx:197 src/wavpack/ui.cxx:510
+#: src/musepack/libmpc.cxx:193 src/wavpack/ui.cxx:508
 msgid "Enable Clipping Prevention"
 msgstr "Povolit prevenci před oříznutím"
 
-#: src/musepack/libmpc.cxx:202 src/wavpack/ui.cxx:515
+#: src/musepack/libmpc.cxx:198 src/wavpack/ui.cxx:513
 msgid "Enable ReplayGain"
 msgstr "Zapnout zesílení pro přehrávání"
 
-#: src/musepack/libmpc.cxx:207
+#: src/musepack/libmpc.cxx:203
 msgid "ReplayGain Type"
 msgstr "Typ zesílení pro přehrávání"
 
-#: src/musepack/libmpc.cxx:215
+#: src/musepack/libmpc.cxx:211
 msgid "Use Track Gain"
 msgstr "Použít zesílení stopy"
 
-#: src/musepack/libmpc.cxx:219
+#: src/musepack/libmpc.cxx:215
 msgid "Use Album Gain"
 msgstr "Použít zesílení alba"
 
-#: src/musepack/libmpc.cxx:224 src/wavpack/ui.cxx:547
+#: src/musepack/libmpc.cxx:220 src/wavpack/ui.cxx:545
 msgid "ReplayGain"
 msgstr "Zesílení přehrávání"
 
-#: src/musepack/libmpc.cxx:491 src/sid/xmms-sid.glade:3144
-#: src/sid/xs_interface.c:1564 src/tta/libtta.c:304 src/wavpack/ui.cxx:152
+#: src/musepack/libmpc.cxx:487 src/sid/xmms-sid.glade:3338
+#: src/sid/xs_interface.c:1648 src/tta/libtta.c:301 src/wavpack/ui.cxx:150
 msgid "Filename:"
 msgstr "Jméno souboru:"
 
-#: src/musepack/libmpc.cxx:506
+#: src/musepack/libmpc.cxx:502
 msgid "Musepack Tag"
 msgstr "Popis musepacku"
 
-#: src/musepack/libmpc.cxx:514 src/tta/libtta.c:323 src/wavpack/ui.cxx:172
+#: src/musepack/libmpc.cxx:510 src/tta/libtta.c:320 src/wavpack/ui.cxx:170
 msgid "Title:"
 msgstr "Název:"
 
-#: src/musepack/libmpc.cxx:518 src/tta/libtta.c:333 src/wavpack/ui.cxx:184
+#: src/musepack/libmpc.cxx:514 src/tta/libtta.c:330 src/wavpack/ui.cxx:182
 msgid "Artist:"
 msgstr "Umělec:"
 
-#: src/musepack/libmpc.cxx:522 src/tta/libtta.c:344 src/wavpack/ui.cxx:196
+#: src/musepack/libmpc.cxx:518 src/tta/libtta.c:341 src/wavpack/ui.cxx:194
 msgid "Album:"
 msgstr "Album:"
 
-#: src/musepack/libmpc.cxx:526 src/tta/libtta.c:355 src/wavpack/ui.cxx:208
+#: src/musepack/libmpc.cxx:522 src/tta/libtta.c:352 src/wavpack/ui.cxx:206
 msgid "Comment:"
 msgstr "Komentář:"
 
-#: src/musepack/libmpc.cxx:530 src/tta/libtta.c:366 src/wavpack/ui.cxx:221
+#: src/musepack/libmpc.cxx:526 src/tta/libtta.c:363 src/wavpack/ui.cxx:219
 msgid "Year:"
 msgstr "Rok:"
 
-#: src/musepack/libmpc.cxx:535
+#: src/musepack/libmpc.cxx:531
 msgid "Track:"
 msgstr "Stopa:"
 
-#: src/musepack/libmpc.cxx:540 src/tta/libtta.c:390 src/wavpack/ui.cxx:248
+#: src/musepack/libmpc.cxx:536 src/tta/libtta.c:387 src/wavpack/ui.cxx:246
 msgid "Genre:"
 msgstr "Žánr:"
 
-#: src/musepack/libmpc.cxx:551 src/sid/xmms-sid.glade:1732
-#: src/sid/xs_interface.c:820 src/wavpack/ui.cxx:267
+#: src/musepack/libmpc.cxx:547 src/sid/xmms-sid.glade:1732
+#: src/sid/xs_interface.c:832 src/skins/ui_manager.c:438
+#: src/wavpack/ui.cxx:265
 msgid "Save"
 msgstr "Uložit"
 
-#: src/musepack/libmpc.cxx:554 src/wavpack/ui.cxx:273
+#: src/musepack/libmpc.cxx:550 src/wavpack/ui.cxx:271
 msgid "Remove Tag"
 msgstr "Odstranit tag"
 
-#: src/musepack/libmpc.cxx:562
+#: src/musepack/libmpc.cxx:558
 msgid "Musepack Info"
 msgstr "Informace o musepacku"
 
+#: src/musepack/libmpc.cxx:591
+#, c-format
+msgid "Streamversion %d"
+msgstr "Streamversion %d"
+
+#: src/musepack/libmpc.cxx:592
+#, c-format
+msgid "Encoder: %s"
+msgstr "Kodér: %s"
+
+#: src/musepack/libmpc.cxx:593
+#, c-format
+msgid "Profile: %s"
+msgstr "Profil: %s"
+
+#: src/musepack/libmpc.cxx:594
+#, c-format
+msgid "Average bitrate: %6.1f kbps"
+msgstr "Průměrný tok: %6.1f kb/s"
+
 #: src/musepack/libmpc.cxx:595
 #, c-format
-msgid "Streamversion %d"
-msgstr "Streamversion %d"
+msgid "Samplerate: %d Hz"
+msgstr "Vzorkovací kmitočet: %d Hz"
 
 #: src/musepack/libmpc.cxx:596
 #, c-format
-msgid "Encoder: %s"
-msgstr "Kodér: %s"
+msgid "Channels: %d"
+msgstr "Kanálů: %d"
 
 #: src/musepack/libmpc.cxx:597
 #, c-format
-msgid "Profile: %s"
-msgstr "Profil: %s"
-
-#: src/musepack/libmpc.cxx:598
-#, c-format
-msgid "Average bitrate: %6.1f kbps"
-msgstr "Průměrný tok: %6.1f kb/s"
-
-#: src/musepack/libmpc.cxx:599
-#, c-format
-msgid "Samplerate: %d Hz"
-msgstr "Vzorkovací kmitočet: %d Hz"
-
-#: src/musepack/libmpc.cxx:600
-#, c-format
-msgid "Channels: %d"
-msgstr "Kanálů: %d"
-
-#: src/musepack/libmpc.cxx:601
-#, c-format
 msgid "Length: %d:\\%.2d"
 msgstr "Délka: %d:\\%.2d"
 
-#: src/musepack/libmpc.cxx:602
+#: src/musepack/libmpc.cxx:598
 #, c-format
 msgid "File size: %d Bytes"
 msgstr "Velikost souboru: %d bajtů"
 
-#: src/musepack/libmpc.cxx:603
+#: src/musepack/libmpc.cxx:599
 #, c-format
 msgid "Track Peak: %5u"
 msgstr "Vrchol stopy: %5u"
 
-#: src/musepack/libmpc.cxx:604
+#: src/musepack/libmpc.cxx:600
 #, c-format
 msgid "Track Gain: %-+2.2f dB"
 msgstr "Zesílení stopy při přehrávání: %-+2.2f dB"
 
-#: src/musepack/libmpc.cxx:605
+#: src/musepack/libmpc.cxx:601
 #, c-format
 msgid "Album Peak: %5u"
 msgstr "Vrchol alba: %5u"
 
-#: src/musepack/libmpc.cxx:606
+#: src/musepack/libmpc.cxx:602
 #, c-format
 msgid "Album Gain: %-+5.2f dB"
 msgstr "Zesílení alba při přehrávání: %-+5.2f dB"
 
-#: src/musepack/libmpc.cxx:634 src/tta/libtta.c:413 src/wavpack/ui.cxx:409
+#: src/musepack/libmpc.cxx:630 src/tta/libtta.c:410 src/wavpack/ui.cxx:407
 #, c-format
 msgid "File Info - %s"
 msgstr "Informace o souboru – %s"
 
-#: src/null/null.c:61
+#: src/null/null.c:58
 msgid "Null output plugin "
 msgstr "Slepý výstupní modul "
 
-#: src/null/null.c:62
+#: src/null/null.c:59
 msgid ""
 " by Christian Birchinger <joker@netswarm.net>\n"
 "based on the XMMS plugin by Håvard Kvål <havardk@xmms.org>"
@@ -3859,23 +3874,52 @@
 " napsal Christian Birchinger <joker@netswaje.net>\n"
 "založeno na modulu pro XMMS, jehož autor je Håvard Kvål <havardk@xmms.org>"
 
-#: src/null/null.c:65
+#: src/null/null.c:62
 msgid "About Null Output"
 msgstr "O slepém výstupu"
 
-#: src/null/null.c:94
+#: src/null/null.c:91
 msgid "Null output preferences"
 msgstr "Nastavení slepého výstupu"
 
-#: src/null/null.c:103
+#: src/null/null.c:100
 msgid "Run in real time"
 msgstr "Běžet v reálném čase"
 
-#: src/OSS4/about.c:42
+#: src/OSS4/configure.c:118 src/OSS/configure.c:150
+#, c-format
+msgid "Default (%s)"
+msgstr "Standardně (%s)"
+
+#: src/OSS4/configure.c:168 src/OSS/configure.c:200
+msgid "OSS Driver configuration"
+msgstr "Nastavení ovladače OSS"
+
+#: src/OSS4/configure.c:206 src/OSS/configure.c:238 src/OSS/configure.c:279
+msgid "Use alternate device:"
+msgstr "Použít jiné zařízení:"
+
+#: src/OSS4/configure.c:228 src/OSS/configure.c:301 src/sun/configure.c:246
+msgid "Devices"
+msgstr "Zařízení"
+
+#: src/OSS4/configure.c:270 src/OSS/configure.c:342
+msgid "Mixer Settings:"
+msgstr "Nastavení mixéru:"
+
+#: src/OSS4/configure.c:276
+msgid "Save VMIX volume between sessions"
+msgstr "Mezi relacemi uložit hlasitost VMIXU"
+
+#: src/OSS4/configure.c:282 src/OSS/configure.c:354 src/sun/configure.c:392
+msgid "Mixer"
+msgstr "Mixér"
+
+#: src/OSS4/OSS4.c:38
 msgid "About OSSv4 Driver"
 msgstr "O OSSv4 ovladači"
 
-#: src/OSS4/about.c:43
+#: src/OSS4/OSS4.c:39
 msgid ""
 "Audacious OSSv4 Driver\n"
 "\n"
@@ -3915,40 +3959,15 @@
 "nestalo, obraťte se na Free Software Foundation, Inc.,\n"
 "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA."
 
-#: src/OSS4/configure.c:120 src/OSS/configure.c:151
-#, c-format
-msgid "Default (%s)"
-msgstr "Standardně (%s)"
-
-#: src/OSS4/configure.c:170 src/OSS/configure.c:201
-msgid "OSS Driver configuration"
-msgstr "Nastavení ovladače OSS"
-
-#: src/OSS4/configure.c:208 src/OSS/configure.c:239 src/OSS/configure.c:280
-msgid "Use alternate device:"
-msgstr "Použít jiné zařízení:"
-
-#: src/OSS4/configure.c:230 src/OSS/configure.c:302 src/sun/configure.c:248
-msgid "Devices"
-msgstr "Zařízení"
-
-#: src/OSS4/configure.c:272 src/OSS/configure.c:343
-msgid "Mixer Settings:"
-msgstr "Nastavení mixéru:"
-
-#: src/OSS4/configure.c:278
-msgid "Save VMIX volume between sessions"
-msgstr "Mezi relacemi uložit hlasitost VMIXU"
-
-#: src/OSS4/configure.c:284 src/OSS/configure.c:355 src/sun/configure.c:394
-msgid "Mixer"
-msgstr "Mixér"
-
-#: src/OSS/about.c:39
+#: src/OSS/configure.c:348
+msgid "Volume controls Master not PCM"
+msgstr "Hlasitost ovládána Master kanálem místo PCM"
+
+#: src/OSS/OSS.c:37
 msgid "About OSS Driver"
 msgstr "O modulu OSS"
 
-#: src/OSS/about.c:40
+#: src/OSS/OSS.c:38
 msgid ""
 "Audacious OSS Driver\n"
 "\n"
@@ -3982,19 +4001,15 @@
 "nestalo, obraťte se na Free Software Foundation, Inc.,\n"
 "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA."
 
-#: src/OSS/configure.c:349
-msgid "Volume controls Master not PCM"
-msgstr "Hlasitost ovládána Master kanálem místo PCM"
-
 #: src/projectm-1.0/main.c:70
 msgid "_Random"
 msgstr ""
 
-#: src/pulse_audio/pulse_audio.c:722
+#: src/pulse_audio/pulse_audio.c:720
 msgid "About Audacious PulseAudio Output Plugin"
 msgstr "O výstupním modulu PulseAudio pro Audacious"
 
-#: src/pulse_audio/pulse_audio.c:723
+#: src/pulse_audio/pulse_audio.c:721
 msgid ""
 "Audacious PulseAudio Output Plugin\n"
 "\n"
@@ -4028,27 +4043,27 @@
 "tak nestalo, obraťte se na Free Software Foundation, Inc.,\n"
 "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA."
 
-#: src/scrobbler/configure.c:138
+#: src/scrobbler/configure.c:134
 msgid "<b>Services</b>"
 msgstr "<b>Služby</b>"
 
-#: src/scrobbler/configure.c:160 src/scrobbler/configure.c:199
+#: src/scrobbler/configure.c:156 src/scrobbler/configure.c:195
 msgid "Username:"
 msgstr "Přístupové jméno:"
 
-#: src/scrobbler/configure.c:166 src/scrobbler/configure.c:205
+#: src/scrobbler/configure.c:162 src/scrobbler/configure.c:201
 msgid "Password:"
 msgstr "Heslo:"
 
-#: src/scrobbler/configure.c:183
+#: src/scrobbler/configure.c:179
 msgid "<b>Last.FM</b>"
 msgstr "<b>Last.FM</b>"
 
-#: src/scrobbler/configure.c:222
+#: src/scrobbler/configure.c:218
 msgid "<b>Gerpok</b>"
 msgstr "<b>Gerpok</b>"
 
-#: src/scrobbler/gtkstuff.c:21
+#: src/scrobbler/gtkstuff.c:18
 msgid ""
 "Audacious AudioScrobbler Plugin\n"
 "\n"
@@ -4059,11 +4074,11 @@
 "\n"
 "Původně vytvořil Audun Hove <audun@nlc.no> a Pipian <pipian@pipian.com>\n"
 
-#: src/scrobbler/gtkstuff.c:23
+#: src/scrobbler/gtkstuff.c:20
 msgid "About Scrobbler Plugin"
 msgstr "O modulu Scrobbler"
 
-#: src/scrobbler/gtkstuff.c:36
+#: src/scrobbler/gtkstuff.c:33
 #, c-format
 msgid ""
 "There has been an error that may require your attention.\n"
@@ -4078,59 +4093,59 @@
 "\n"
 "%s\n"
 
-#: src/scrobbler/gtkstuff.c:43
+#: src/scrobbler/gtkstuff.c:40
 msgid "Scrobbler Error"
 msgstr "Chyba Scrobbleru"
 
-#: src/sid/xmms-sid.glade:8 src/sid/xs_interface.c:221
+#: src/sid/xmms-sid.glade:8 src/sid/xs_interface.c:233
 msgid "Audacious-SID configuration"
 msgstr "Nastavení Audacious-SID"
 
-#: src/sid/xmms-sid.glade:71 src/sid/xs_interface.c:257
+#: src/sid/xmms-sid.glade:71 src/sid/xs_interface.c:269
 msgid "8-bit"
 msgstr "8bitový"
 
-#: src/sid/xmms-sid.glade:90 src/sid/xs_interface.c:264
+#: src/sid/xmms-sid.glade:90 src/sid/xs_interface.c:276
 msgid "16-bit"
 msgstr "16bitový"
 
-#: src/sid/xmms-sid.glade:111 src/sid/xs_interface.c:271
+#: src/sid/xmms-sid.glade:111 src/sid/xs_interface.c:283
 msgid "Resolution:"
 msgstr "Rozlišení:"
 
-#: src/sid/xmms-sid.glade:196 src/sid/xs_interface.c:302
+#: src/sid/xmms-sid.glade:196 src/sid/xs_interface.c:314
 msgid "Autopanning"
 msgstr "Automatický posun"
 
-#: src/sid/xmms-sid.glade:217 src/sid/xs_interface.c:309
+#: src/sid/xmms-sid.glade:217 src/sid/xs_interface.c:321
 msgid "Channels:"
 msgstr "Kanály:"
 
-#: src/sid/xmms-sid.glade:384 src/sid/xs_interface.c:353
+#: src/sid/xmms-sid.glade:384 src/sid/xs_interface.c:365
 msgid "Samplerate:"
 msgstr "Vzorkovací kmitočet:"
 
-#: src/sid/xmms-sid.glade:430 src/sid/xs_interface.c:370
+#: src/sid/xmms-sid.glade:430 src/sid/xs_interface.c:382
 msgid "Use oversampling"
 msgstr "Převzorkovat"
 
-#: src/sid/xmms-sid.glade:456 src/sid/xs_interface.c:381
+#: src/sid/xmms-sid.glade:456 src/sid/xs_interface.c:393
 msgid "Factor:"
 msgstr "Násobek:"
 
-#: src/sid/xmms-sid.glade:500 src/sid/xs_interface.c:393
+#: src/sid/xmms-sid.glade:500 src/sid/xs_interface.c:405
 msgid "Large factors require more CPU-power"
 msgstr "Větší činitel vyžaduje více výkonu CPU"
 
-#: src/sid/xmms-sid.glade:534 src/sid/xs_interface.c:399
+#: src/sid/xmms-sid.glade:534 src/sid/xs_interface.c:411
 msgid "Oversampling:"
 msgstr "Převzorkování:"
 
-#: src/sid/xmms-sid.glade:570 src/sid/xs_interface.c:404
+#: src/sid/xmms-sid.glade:570 src/sid/xs_interface.c:416
 msgid "Audio"
 msgstr "Zvuk"
 
-#: src/sid/xmms-sid.glade:620 src/sid/xs_interface.c:436
+#: src/sid/xmms-sid.glade:620 src/sid/xs_interface.c:448
 msgid ""
 "If enabled, this option \"forces\" the emulation engine to use the selected "
 "clock speed/frequency. Otherwise the speed is determined from played file "
@@ -4140,11 +4155,11 @@
 "frekvence. V opačném případě bude rychlost určena z přehrávaného souboru "
 "samotného."
 
-#: src/sid/xmms-sid.glade:622 src/sid/xs_interface.c:432
+#: src/sid/xmms-sid.glade:622 src/sid/xs_interface.c:444
 msgid "Force speed"
 msgstr "Vnutit rychlost"
 
-#: src/sid/xmms-sid.glade:640 src/sid/xs_interface.c:442
+#: src/sid/xmms-sid.glade:640 src/sid/xs_interface.c:454
 msgid ""
 "PAL is the european TV standard, which uses 50Hz vertical refresh frequency. "
 "Most of SID-tunes have been made for PAL computers."
@@ -4152,11 +4167,11 @@
 "PAL je evropský televizní standard, který používá 50Hz vertikální obnovovací "
 "frekvenci. Většina SID skladeb byla určena pro počítače s výstupem PAL."
 
-#: src/sid/xmms-sid.glade:642 src/sid/xs_interface.c:438
+#: src/sid/xmms-sid.glade:642 src/sid/xs_interface.c:450
 msgid "PAL (50 Hz)"
 msgstr "PAL (50 Hz)"
 
-#: src/sid/xmms-sid.glade:660 src/sid/xs_interface.c:450
+#: src/sid/xmms-sid.glade:660 src/sid/xs_interface.c:462
 msgid ""
 "NTSC is the TV standard with 60Hz vertical refresh rate (and other features "
 "that differ from PAL). It is mainly used in United States, Japan and certain "
@@ -4166,15 +4181,15 @@
 "jiných rozdílů od PALU). Používá se především ve Spojených státech, "
 "Japonsku, několika dalších zemí."
 
-#: src/sid/xmms-sid.glade:662 src/sid/xs_interface.c:446
+#: src/sid/xmms-sid.glade:662 src/sid/xs_interface.c:458
 msgid "NTSC (60 Hz)"
 msgstr "NTSC (60 Hz)"
 
-#: src/sid/xmms-sid.glade:683 src/sid/xs_interface.c:454
+#: src/sid/xmms-sid.glade:683 src/sid/xs_interface.c:466
 msgid "Clock speed:"
 msgstr "Rychlost hodin:"
 
-#: src/sid/xmms-sid.glade:728 src/sid/xs_interface.c:475
+#: src/sid/xmms-sid.glade:728 src/sid/xs_interface.c:487
 msgid ""
 "If enabled, this option \"forces\" the emulation engine to use the selected "
 "SID-chip model. Otherwise the preferred SID model is determined from the "
@@ -4184,11 +4199,11 @@
 "V opačném případě bude modul SIDU určen ze souboru (je-li typu PSIDv2NG). "
 "Vybraný model bude také použit, nebude-li jej možno ze souboru určit."
 
-#: src/sid/xmms-sid.glade:730 src/sid/xs_interface.c:471
+#: src/sid/xmms-sid.glade:730 src/sid/xs_interface.c:483
 msgid "Force model"
 msgstr "Vnutit model"
 
-#: src/sid/xmms-sid.glade:748 src/sid/xs_interface.c:481
+#: src/sid/xmms-sid.glade:748 src/sid/xs_interface.c:493
 msgid ""
 "MOS/CSG 6581 is the earlier major version of SID chip. It differs from 8580 "
 "in few ways, having much fuller filter (which, due to design error, is never "
@@ -4200,19 +4215,19 @@
 "čipy) a „trpí chybou“ při ladění hlasitosti, která umožňuje přehrávání "
 "digitálních vzorků."
 
-#: src/sid/xmms-sid.glade:750 src/sid/xs_interface.c:477
+#: src/sid/xmms-sid.glade:750 src/sid/xs_interface.c:489
 msgid "MOS 6581"
 msgstr "MOS 6581"
 
-#: src/sid/xmms-sid.glade:769 src/sid/xs_interface.c:485
+#: src/sid/xmms-sid.glade:769 src/sid/xs_interface.c:497
 msgid "MOS 8580"
 msgstr "MOS 8580"
 
-#: src/sid/xmms-sid.glade:790 src/sid/xs_interface.c:492
+#: src/sid/xmms-sid.glade:790 src/sid/xs_interface.c:504
 msgid "SID model:"
 msgstr "Model SIDU:"
 
-#: src/sid/xmms-sid.glade:842 src/sid/xs_interface.c:513
+#: src/sid/xmms-sid.glade:842 src/sid/xs_interface.c:525
 msgid ""
 "Use libSIDPlay 1.x emulation, faster but not so accurate. Good in most "
 "cases, though."
@@ -4220,11 +4235,11 @@
 "K emulaci použije libSIDPlay 1.x. Rychlejší, ale ne tak přesné. Ve většině "
 "případů postačuje."
 
-#: src/sid/xmms-sid.glade:844 src/sid/xs_interface.c:509
+#: src/sid/xmms-sid.glade:844 src/sid/xs_interface.c:521
 msgid "SIDPlay 1 (frame-based)"
 msgstr "SIDPlay 1 (rámcová technika)"
 
-#: src/sid/xmms-sid.glade:863 src/sid/xs_interface.c:521
+#: src/sid/xmms-sid.glade:863 src/sid/xs_interface.c:533
 msgid ""
 "Use libSIDPlay 2.x emulation, which requires powerful CPU due to more exact "
 "emulation."
@@ -4232,39 +4247,39 @@
 "K emulaci použijte libSIDPlay 2.x, který kvůli přesnější emulaci vyžaduje "
 "výkonnější CPU."
 
-#: src/sid/xmms-sid.glade:865 src/sid/xs_interface.c:517
+#: src/sid/xmms-sid.glade:865 src/sid/xs_interface.c:529
 msgid "SIDPlay 2 (cycle-based)"
 msgstr "DISPlay 2 (cyklová technika)"
 
-#: src/sid/xmms-sid.glade:887 src/sid/xs_interface.c:525
+#: src/sid/xmms-sid.glade:887 src/sid/xs_interface.c:537
 msgid "Emulation library selection:"
 msgstr "Výběr emulační knihovny"
 
-#: src/sid/xmms-sid.glade:933 src/sid/xs_interface.c:542
+#: src/sid/xmms-sid.glade:933 src/sid/xs_interface.c:554
 msgid "Real C64 (SIDPlay 2 only)"
 msgstr "Skutečný C64 (pouze SIDPlay 2)"
 
-#: src/sid/xmms-sid.glade:952 src/sid/xs_interface.c:549
+#: src/sid/xmms-sid.glade:952 src/sid/xs_interface.c:561
 msgid "Bank switching"
 msgstr "Přepínání bank"
 
-#: src/sid/xmms-sid.glade:972 src/sid/xs_interface.c:556
+#: src/sid/xmms-sid.glade:972 src/sid/xs_interface.c:568
 msgid "Transparent ROM"
 msgstr "Transparentní ROM"
 
-#: src/sid/xmms-sid.glade:992 src/sid/xs_interface.c:563
+#: src/sid/xmms-sid.glade:992 src/sid/xs_interface.c:575
 msgid "PlaySID environment"
 msgstr "Prostředí PlaySID"
 
-#: src/sid/xmms-sid.glade:1013 src/sid/xs_interface.c:570
+#: src/sid/xmms-sid.glade:1013 src/sid/xs_interface.c:582
 msgid "Memory mode:"
 msgstr "Režim paměti"
 
-#: src/sid/xmms-sid.glade:1049 src/sid/xs_interface.c:575
+#: src/sid/xmms-sid.glade:1049 src/sid/xs_interface.c:587
 msgid "Emu#1"
 msgstr "Emu#1"
 
-#: src/sid/xmms-sid.glade:1093 src/sid/xs_interface.c:602
+#: src/sid/xmms-sid.glade:1093 src/sid/xs_interface.c:614
 msgid ""
 "This setting can be used to enable libSIDPlay2's \"optimization mode\", "
 "which in downgrades the emulation from cycle-exact to something similar to "
@@ -4274,11 +4289,11 @@
 "libSIDPlay2, který nezachovává přesnost na cyklus a více se podobá rámcové "
 "technice. Výsledkem je nižší zatížení CPU, ale větší nepřesnost."
 
-#: src/sid/xmms-sid.glade:1095 src/sid/xs_interface.c:598
+#: src/sid/xmms-sid.glade:1095 src/sid/xs_interface.c:610
 msgid "Optimization mode (faster, inaccurate)"
 msgstr "Optimalizující režim (rychlejší, nepřesný)"
 
-#: src/sid/xmms-sid.glade:1113 src/sid/xs_interface.c:608
+#: src/sid/xmms-sid.glade:1113 src/sid/xs_interface.c:620
 msgid ""
 "reSID is the software SID-chip simulator based on SID reverse-engineering, "
 "created by Dag Lem. It is probably the closest thing to real SID available "
@@ -4288,11 +4303,11 @@
 "Autorem je Dag Lem. Jedná se pravděpodobně o nejvěrnější softwarovou emulaci "
 "skutečného čipu."
 
-#: src/sid/xmms-sid.glade:1115 src/sid/xs_interface.c:604
+#: src/sid/xmms-sid.glade:1115 src/sid/xs_interface.c:616
 msgid "reSID-emulation"
 msgstr "Emulace reSID"
 
-#: src/sid/xmms-sid.glade:1133 src/sid/xs_interface.c:616
+#: src/sid/xmms-sid.glade:1133 src/sid/xs_interface.c:628
 msgid ""
 "HardSID is a EISA/PCI card for PC-compatibles, which can be fitted with a "
 "real SID-chip. Software can be used to control the HardSID and combined with "
@@ -4305,15 +4320,15 @@
 "softwarovou emulací zbytku C64 pomocí libSIDPlay2 lze dosáhnout „téměř 100%“ "
 "shody se skutečným C64. Podrobnosti naleznete na http://www.hardsid.com/"
 
-#: src/sid/xmms-sid.glade:1135 src/sid/xs_interface.c:612
+#: src/sid/xmms-sid.glade:1135 src/sid/xs_interface.c:624
 msgid "HardSID"
 msgstr "HardSID"
 
-#: src/sid/xmms-sid.glade:1156 src/sid/xs_interface.c:620
+#: src/sid/xmms-sid.glade:1156 src/sid/xs_interface.c:632
 msgid "SIDPlay 2 options:"
 msgstr "Nastavení SIDPlay 2:"
 
-#: src/sid/xmms-sid.glade:1201 src/sid/xs_interface.c:641
+#: src/sid/xmms-sid.glade:1201 src/sid/xs_interface.c:653
 msgid ""
 "Fastest and also worst sounding sampling method, simply picks nearest "
 "neighbouring sample."
@@ -4321,11 +4336,11 @@
 "Nejrychlejší a také nejhůře znějící vzorkovací metoda. Jednoduše vybírá "
 "nejbližší vzorek."
 
-#: src/sid/xmms-sid.glade:1203 src/sid/xs_interface.c:637
+#: src/sid/xmms-sid.glade:1203 src/sid/xs_interface.c:649
 msgid "Fast (nearest neighbour)"
 msgstr "Rychlá (nejbližší sousední)"
 
-#: src/sid/xmms-sid.glade:1221 src/sid/xs_interface.c:649
+#: src/sid/xmms-sid.glade:1221 src/sid/xs_interface.c:661
 msgid ""
 "Uses linear interpolation between samples, yielding higher audio quality "
 "with less sampling noise."
@@ -4333,23 +4348,23 @@
 "Používá lineární interpolaci mezi vzorky. Tím dosahuje vyšší kvality zvuku "
 "s menšími ruchy."
 
-#: src/sid/xmms-sid.glade:1223 src/sid/xs_interface.c:645
+#: src/sid/xmms-sid.glade:1223 src/sid/xs_interface.c:657
 msgid "Linear interpolation"
 msgstr "Lineární interpolace"
 
-#: src/sid/xmms-sid.glade:1263 src/sid/xs_interface.c:660
+#: src/sid/xmms-sid.glade:1263 src/sid/xs_interface.c:672
 msgid "Resampling (FIR)"
 msgstr "Převzorkování (FIR)"
 
-#: src/sid/xmms-sid.glade:1284 src/sid/xs_interface.c:667
+#: src/sid/xmms-sid.glade:1284 src/sid/xs_interface.c:679
 msgid "reSID sampling options:"
 msgstr "Nastavení převzorkování reSIDu:"
 
-#: src/sid/xmms-sid.glade:1320 src/sid/xs_interface.c:672
+#: src/sid/xmms-sid.glade:1320 src/sid/xs_interface.c:684
 msgid "Emu#2"
 msgstr "Emu#2"
 
-#: src/sid/xmms-sid.glade:1350 src/sid/xs_interface.c:688
+#: src/sid/xmms-sid.glade:1350 src/sid/xs_interface.c:700
 msgid ""
 "This option enables emulation of SID filter. The filter is an essential part "
 "of SID's sound capacity, but accurate emulation of it may require quite much "
@@ -4361,59 +4376,61 @@
 "CPU. Vypnete-li filtr, sklady které jej používají, nebudou vůbec znít "
 "věrohodně."
 
-#: src/sid/xmms-sid.glade:1352 src/sid/xs_interface.c:684
+#: src/sid/xmms-sid.glade:1352 src/sid/xs_interface.c:696
 msgid "Emulate filters"
 msgstr "Emulovat filtry"
 
-#: src/sid/xmms-sid.glade:1409 src/sid/xs_interface.c:713
+#: src/sid/xmms-sid.glade:1409 src/sid/xs_interface.c:725
 msgid "FS"
 msgstr "FS"
 
-#: src/sid/xmms-sid.glade:1460 src/sid/xs_interface.c:730
+#: src/sid/xmms-sid.glade:1460 src/sid/xs_interface.c:742
 msgid "FM"
 msgstr "FM"
 
-#: src/sid/xmms-sid.glade:1511 src/sid/xs_interface.c:747
+#: src/sid/xmms-sid.glade:1511 src/sid/xs_interface.c:759
 msgid "FT"
 msgstr "FT"
 
-#: src/sid/xmms-sid.glade:1549 src/sid/xs_interface.c:758
+#: src/sid/xmms-sid.glade:1549 src/sid/xs_interface.c:770
 msgid "Reset values"
 msgstr "Resetovat hodnoty"
 
-#: src/sid/xmms-sid.glade:1578 src/sid/xs_interface.c:763
+#: src/sid/xmms-sid.glade:1578 src/sid/xs_interface.c:775
 msgid "SIDPlay1"
 msgstr "SIDPlay1"
 
-#: src/sid/xmms-sid.glade:1690 src/sid/xs_interface.c:804
+#: src/sid/xmms-sid.glade:1690 src/sid/xs_interface.c:816
 msgid "Export"
 msgstr "Exportovat"
 
-#: src/sid/xmms-sid.glade:1711 src/sid/xs_interface.c:812
+#: src/sid/xmms-sid.glade:1711 src/sid/xs_interface.c:824
 msgid "Use"
 msgstr "Použít"
 
-#: src/sid/xmms-sid.glade:1753 src/sid/xs_interface.c:828
+#: src/sid/xmms-sid.glade:1753 src/sid/xs_interface.c:840
+#: src/skins/ui_manager.c:437
 msgid "Import"
 msgstr "Importovat"
 
-#: src/sid/xmms-sid.glade:1774 src/sid/xs_interface.c:836
+#: src/sid/xmms-sid.glade:1774 src/sid/xs_interface.c:848
+#: src/skins/ui_manager.c:439
 msgid "Delete"
 msgstr "Smazat"
 
-#: src/sid/xmms-sid.glade:1819 src/sid/xs_interface.c:850
+#: src/sid/xmms-sid.glade:1819 src/sid/xs_interface.c:862
 msgid "Filter curve:"
 msgstr "Křivka filtru:"
 
-#: src/sid/xmms-sid.glade:1855 src/sid/xs_interface.c:855
+#: src/sid/xmms-sid.glade:1855 src/sid/xs_interface.c:867
 msgid "SIDPlay2"
 msgstr "SIDPlay2"
 
-#: src/sid/xmms-sid.glade:1891 src/sid/xs_interface.c:861
+#: src/sid/xmms-sid.glade:1891 src/sid/xs_interface.c:873
 msgid "Filters"
 msgstr "Filtry"
 
-#: src/sid/xmms-sid.glade:1935 src/sid/xs_interface.c:888
+#: src/sid/xmms-sid.glade:1935 src/sid/xs_interface.c:900
 msgid ""
 "If enabled, the tune is played at least for the specified time, adding "
 "silence to the end if necessary."
@@ -4421,21 +4438,21 @@
 "Je-li zapnuto, skladba bude hrána alespoň po zadanou dobu, případně na konec "
 "bude přidáno ticho."
 
-#: src/sid/xmms-sid.glade:1937 src/sid/xs_interface.c:884
+#: src/sid/xmms-sid.glade:1937 src/sid/xs_interface.c:896
 msgid "Play at least for specified time"
 msgstr "Hrát alespoň po určenou dobu"
 
 #: src/sid/xmms-sid.glade:1962 src/sid/xmms-sid.glade:2133
-#: src/sid/xmms-sid.glade:2632 src/sid/xs_interface.c:895
-#: src/sid/xs_interface.c:949 src/sid/xs_interface.c:1109
+#: src/sid/xmms-sid.glade:2702 src/sid/xs_interface.c:907
+#: src/sid/xs_interface.c:961 src/sid/xs_interface.c:1141
 msgid "Playtime:"
 msgstr "Doba přehrávání:"
 
-#: src/sid/xmms-sid.glade:2041 src/sid/xs_interface.c:915
+#: src/sid/xmms-sid.glade:2041 src/sid/xs_interface.c:927
 msgid "Minimum playtime:"
 msgstr "Minimální doba přehrávání:"
 
-#: src/sid/xmms-sid.glade:2086 src/sid/xs_interface.c:936
+#: src/sid/xmms-sid.glade:2086 src/sid/xs_interface.c:948
 msgid ""
 "If enabled, tune is played until specified duration is reached (aka maximum "
 "playtime)."
@@ -4443,11 +4460,11 @@
 "Je-li zapnuto, skladba bude hrána nejvýše po zadanou dobu (tj. maximální "
 "délku přehrávání)."
 
-#: src/sid/xmms-sid.glade:2088 src/sid/xs_interface.c:932
+#: src/sid/xmms-sid.glade:2088 src/sid/xs_interface.c:944
 msgid "Play for specified time maximum"
 msgstr "Přehrávat do maximální požadované doby"
 
-#: src/sid/xmms-sid.glade:2107 src/sid/xs_interface.c:942
+#: src/sid/xmms-sid.glade:2107 src/sid/xs_interface.c:954
 msgid ""
 "If enabled, the maximum playtime is applied only if song/tune length is not "
 "known."
@@ -4455,15 +4472,15 @@
 "Je-li zapnuto, maximální doba přehrávání bude uplatněna jen tehdy, nebude-li "
 "délka skladby známa."
 
-#: src/sid/xmms-sid.glade:2109 src/sid/xs_interface.c:938
+#: src/sid/xmms-sid.glade:2109 src/sid/xs_interface.c:950
 msgid "Only when song length is unknown"
 msgstr "Jen není-li délka skladby známa"
 
-#: src/sid/xmms-sid.glade:2212 src/sid/xs_interface.c:969
+#: src/sid/xmms-sid.glade:2212 src/sid/xs_interface.c:981
 msgid "Maximum playtime:"
 msgstr "Maximálné doba přehrávání"
 
-#: src/sid/xmms-sid.glade:2257 src/sid/xs_interface.c:990
+#: src/sid/xmms-sid.glade:2257 src/sid/xs_interface.c:1002
 msgid ""
 "This option enables using of XSIDPLAY compatible song length database. "
 "(Refer to Audacious-SID documentation for more information)"
@@ -4471,31 +4488,31 @@
 "Tato volba zapíná použití databáze délek skladeb kompatibilní "
 "s XSIDPLAY. (Podrobnosti nalezenete v dokumentaci k Audacious-SID modulu.)"
 
-#: src/sid/xmms-sid.glade:2259 src/sid/xs_interface.c:986
+#: src/sid/xmms-sid.glade:2259 src/sid/xs_interface.c:998
 msgid "Use XSIDPLAY-compatible database"
 msgstr "Použít databázi kompatibilní s XSIDPLAY"
 
-#: src/sid/xmms-sid.glade:2284 src/sid/xs_interface.c:997
+#: src/sid/xmms-sid.glade:2284 src/sid/xs_interface.c:1009
 msgid "DB-file:"
 msgstr "Databázový soubor:"
 
-#: src/sid/xmms-sid.glade:2309 src/sid/xs_interface.c:1007
+#: src/sid/xmms-sid.glade:2309 src/sid/xs_interface.c:1019
 msgid "Database path and filename"
 msgstr "Cesta k databázi a jméno souboru"
 
-#: src/sid/xmms-sid.glade:2329 src/sid/xs_interface.c:1014
+#: src/sid/xmms-sid.glade:2329 src/sid/xs_interface.c:1026
 msgid "Browse for song length-database file"
 msgstr "Ukázat soubor s databází délek"
 
-#: src/sid/xmms-sid.glade:2356 src/sid/xs_interface.c:1016
+#: src/sid/xmms-sid.glade:2418 src/sid/xs_interface.c:1048
 msgid "Song length database:"
 msgstr "Databáze s délkou skladeb:"
 
-#: src/sid/xmms-sid.glade:2392 src/sid/xs_interface.c:1021
+#: src/sid/xmms-sid.glade:2454 src/sid/xs_interface.c:1053
 msgid "Songlength"
 msgstr "Délka skladby"
 
-#: src/sid/xmms-sid.glade:2430 src/sid/xs_interface.c:1043
+#: src/sid/xmms-sid.glade:2492 src/sid/xs_interface.c:1075
 msgid ""
 "By enabling this option you can specify a custom Tuplez formatting string "
 "for SID-files. The SID-plugin specific Tuplez tags are described shortly "
@@ -4504,23 +4521,32 @@
 "Po povolením této volby lze uživatelem určit formátovací řetězec Tuplez pro "
 "SID soubory. Tuplez značky modulu SID jsou popsány níže."
 
-#: src/sid/xmms-sid.glade:2432 src/sid/xs_interface.c:1039
+#: src/sid/xmms-sid.glade:2494 src/sid/xs_interface.c:1071
 msgid "Override generic Tuplez format string"
 msgstr "Přepsat původní formátovací řetězec Tuplez"
 
-#: src/sid/xmms-sid.glade:2457 src/sid/xs_interface.c:1054
+#: src/sid/xmms-sid.glade:2519 src/sid/xs_interface.c:1086
 msgid "Tuplez format string for SID-files"
 msgstr "Formátovací řetězec Tuplez pro soubory SID"
 
-#: src/sid/xmms-sid.glade:2477 src/sid/xs_interface.c:1057
-msgid "Descriptions of <i>SID-specific</i> Tuplez fields go here. <b>:D</b>"
-msgstr "Popis <i>pro SID specifických</i> Tuplez položek patří sem. <b>:D</b>"
-
-#: src/sid/xmms-sid.glade:2511 src/sid/xs_interface.c:1065
+#: src/sid/xmms-sid.glade:2539 src/sid/xs_interface.c:1089
+msgid ""
+"<u>SID-specific Tuplez fields:</u>\n"
+"\n"
+"<b>sid-format</b>\t\t- Specific fileformat\n"
+"<b>sid-model</b>\t\t- 6581 or 8580\n"
+"<b>sid-speed</b>\t\t- Timing or speed: PAL/NTSC/etc.\n"
+"\n"
+"<u>Other \"special\" fields set:</u>\n"
+"\n"
+"<b>subsong-num, subsong-id</b>"
+msgstr ""
+
+#: src/sid/xmms-sid.glade:2581 src/sid/xs_interface.c:1097
 msgid "Song title format:"
 msgstr "Formát názvu skladby:"
 
-#: src/sid/xmms-sid.glade:2584 src/sid/xs_interface.c:1096
+#: src/sid/xmms-sid.glade:2654 src/sid/xs_interface.c:1128
 msgid ""
 "If enabled, sub-tunes of each file will be added to playlist. If disabled, "
 "only the default sub-tune will be added."
@@ -4528,23 +4554,23 @@
 "Je-li zapnuto, podskladby každého souboru budou přidány do seznamu skladeb. "
 "Je-li vypnuto, bude přidána pouze výchozí podskladba."
 
-#: src/sid/xmms-sid.glade:2586 src/sid/xs_interface.c:1092
+#: src/sid/xmms-sid.glade:2656 src/sid/xs_interface.c:1124
 msgid "Add sub-tunes to playlist"
 msgstr "Do seznamu skladeb přidat podskladby"
 
-#: src/sid/xmms-sid.glade:2605 src/sid/xs_interface.c:1102
+#: src/sid/xmms-sid.glade:2675 src/sid/xs_interface.c:1134
 msgid "Only add sub-tunes that have a duration of at least specified time."
 msgstr "Přidat pouze podskladby, jejichž délka je větší nebo rovna zadané."
 
-#: src/sid/xmms-sid.glade:2607 src/sid/xs_interface.c:1098
+#: src/sid/xmms-sid.glade:2677 src/sid/xs_interface.c:1130
 msgid "Only tunes with specified minimum duration"
 msgstr "Jen skladby se zadanou minimální délkou"
 
-#: src/sid/xmms-sid.glade:2710 src/sid/xs_interface.c:1129
+#: src/sid/xmms-sid.glade:2780 src/sid/xs_interface.c:1161
 msgid "Sub-tune handling:"
 msgstr "Zacházení s podskladbami:"
 
-#: src/sid/xmms-sid.glade:2755 src/sid/xs_interface.c:1150
+#: src/sid/xmms-sid.glade:2825 src/sid/xs_interface.c:1182
 msgid ""
 "If this option is enabled (and the database & HVSC settings below are "
 "correctly set), Audacious-SID will use and display additional information "
@@ -4554,15 +4580,15 @@
 "nastavena), Audacious-SID použije a zobrazí dodatečné infomrace z databáze "
 "STIL, je-li hrána skladba z HVSC."
 
-#: src/sid/xmms-sid.glade:2757 src/sid/xs_interface.c:1146
+#: src/sid/xmms-sid.glade:2827 src/sid/xs_interface.c:1178
 msgid "Use STIL database"
 msgstr "Používat databázi STIL"
 
-#: src/sid/xmms-sid.glade:2782 src/sid/xs_interface.c:1157
+#: src/sid/xmms-sid.glade:2852 src/sid/xs_interface.c:1189
 msgid "STIL file:"
 msgstr "Soubor STIL:"
 
-#: src/sid/xmms-sid.glade:2819 src/sid/xs_interface.c:1173
+#: src/sid/xmms-sid.glade:2889 src/sid/xs_interface.c:1205
 msgid ""
 "Path and filename of STIL database file (STIL.txt), usually found from "
 "HVSC's DOCUMENTS-subdirectory."
@@ -4570,15 +4596,15 @@
 "Cesta a jméno souboru souboru s databází STIL (STIL.txt). Obvykle se nachází "
 "v podadresáři DOCUMENTS od HVSC."
 
-#: src/sid/xmms-sid.glade:2854 src/sid/xs_interface.c:1186
+#: src/sid/xmms-sid.glade:2924 src/sid/xs_interface.c:1218
 msgid "Browse for STIL-database file"
 msgstr "Ukázat na soubor s databází STIL"
 
-#: src/sid/xmms-sid.glade:2888 src/sid/xs_interface.c:1193
+#: src/sid/xmms-sid.glade:3020 src/sid/xs_interface.c:1245
 msgid "HVSC path:"
 msgstr "Cesta k HVSC"
 
-#: src/sid/xmms-sid.glade:2925 src/sid/xs_interface.c:1209
+#: src/sid/xmms-sid.glade:3057 src/sid/xs_interface.c:1261
 msgid ""
 "Path to base-directory of your High Voltage SID Collection (HVSC), for "
 "example /media/C64Music/"
@@ -4586,88 +4612,88 @@
 "Cesta ke kořenovému adresáři vaší High Voltage SID sbírce (HVSC). Na příklad "
 "„/media/C64Music/“."
 
-#: src/sid/xmms-sid.glade:2960 src/sid/xs_interface.c:1222
+#: src/sid/xmms-sid.glade:3092 src/sid/xs_interface.c:1274
 msgid "Browse for HVSC path"
 msgstr "Ukázat cestu k HSVC"
 
-#: src/sid/xmms-sid.glade:2990 src/sid/xs_interface.c:1224
+#: src/sid/xmms-sid.glade:3184 src/sid/xs_interface.c:1296
 msgid "SID Tune Information List (STIL) database:"
 msgstr "Databáze SID Tune Information List (STIL):"
 
-#: src/sid/xmms-sid.glade:3063 src/sid/xs_interface.c:1248
+#: src/sid/xmms-sid.glade:3257 src/sid/xs_interface.c:1320
 msgid "Accept and update changes"
 msgstr "Přijmout a provést změny"
 
-#: src/sid/xmms-sid.glade:3077 src/sid/xs_interface.c:1255
+#: src/sid/xmms-sid.glade:3271 src/sid/xs_interface.c:1327
 msgid "Cancel any changes"
 msgstr "Jakékoliv změny zamítnout"
 
-#: src/sid/xmms-sid.glade:3102 src/sid/xs_interface.c:1543
+#: src/sid/xmms-sid.glade:3296 src/sid/xs_interface.c:1627
 msgid "Audacious-SID Fileinfo"
 msgstr "Audacious – Informace o souboru SID"
 
-#: src/sid/xmms-sid.glade:3172 src/sid/xs_interface.c:1572
+#: src/sid/xmms-sid.glade:3366 src/sid/xs_interface.c:1656
 msgid "Songname:"
 msgstr "Název skladby:"
 
-#: src/sid/xmms-sid.glade:3200 src/sid/xs_interface.c:1580
+#: src/sid/xmms-sid.glade:3394 src/sid/xs_interface.c:1664
 msgid "Composer:"
 msgstr "Skladatel:"
 
-#: src/sid/xmms-sid.glade:3228 src/sid/xs_interface.c:1588
+#: src/sid/xmms-sid.glade:3422 src/sid/xs_interface.c:1672
 msgid "Copyright:"
 msgstr "Autorská práva:"
 
-#: src/sid/xmms-sid.glade:3342 src/sid/xs_interface.c:1632
+#: src/sid/xmms-sid.glade:3536 src/sid/xs_interface.c:1716
 msgid "Song Information:"
 msgstr "Informace o skladbě:"
 
-#: src/sid/xmms-sid.glade:3416 src/sid/xs_interface.c:1667
+#: src/sid/xmms-sid.glade:3610 src/sid/xs_interface.c:1751
 msgid "Author:"
 msgstr "Autor:"
 
-#: src/sid/xmms-sid.glade:3514 src/sid/xs_interface.c:1701
+#: src/sid/xmms-sid.glade:3708 src/sid/xs_interface.c:1785
 msgid "Duration:"
 msgstr "Délka:"
 
-#: src/sid/xmms-sid.glade:3608 src/sid/xs_interface.c:1735
+#: src/sid/xmms-sid.glade:3802 src/sid/xs_interface.c:1819
 msgid "Sub-tune Information:"
 msgstr "Informace o podskladbách"
 
-#: src/sid/xmms-sid.glade:3662 src/sid/xs_interface.c:1796
+#: src/sid/xmms-sid.glade:3856 src/sid/xs_interface.c:1880
 msgid "Select HVSC song length database"
 msgstr "Vybrat databázi délek skladeb od HVSC"
 
-#: src/sid/xmms-sid.glade:3704 src/sid/xs_interface.c:1837
+#: src/sid/xmms-sid.glade:3898 src/sid/xs_interface.c:1921
 msgid "Select STIL-database"
 msgstr "Vybrat databázi STIL"
 
-#: src/sid/xmms-sid.glade:3746 src/sid/xs_interface.c:1878
+#: src/sid/xmms-sid.glade:3940 src/sid/xs_interface.c:1962
 msgid "Select HVSC location prefix"
 msgstr "Vybrat cestu k HVSC"
 
-#: src/sid/xmms-sid.glade:3788 src/sid/xs_interface.c:1919
+#: src/sid/xmms-sid.glade:3982 src/sid/xs_interface.c:2003
 msgid "Select SIDPlay2 filters file for importing"
 msgstr "Vybrat soubor se SIDPlay2 filtry pro import"
 
-#: src/sid/xmms-sid.glade:3830 src/sid/xs_interface.c:1960
+#: src/sid/xmms-sid.glade:4024 src/sid/xs_interface.c:2044
 msgid "Select SIDPlay2 filters file for exporting"
 msgstr "Vybrat soubor se SIDPlay2 filtry pro export"
 
-#: src/sid/xmms-sid.glade:3871 src/sid/xmms-sid.glade:3953
-#: src/sid/xs_interface.c:2008 src/sid/xs_interface.c:2021
+#: src/sid/xmms-sid.glade:4065 src/sid/xmms-sid.glade:4147
+#: src/sid/xs_interface.c:2092 src/sid/xs_interface.c:2105
 msgid "Confirm selected action"
 msgstr "Potvrdit vybrané akce"
 
-#: src/sid/xmms-sid.glade:3909 src/sid/xs_interface.c:2038
+#: src/sid/xmms-sid.glade:4103 src/sid/xs_interface.c:2122
 msgid "Yes"
 msgstr "Ano"
 
-#: src/sid/xmms-sid.glade:3921 src/sid/xs_interface.c:2044
+#: src/sid/xmms-sid.glade:4115 src/sid/xs_interface.c:2128
 msgid "No"
 msgstr "Ne"
 
-#: src/sid/xs_about.c:84 src/wma/wma.c:121
+#: src/sid/xs_about.c:84 src/wma/wma.c:118
 #, c-format
 msgid "About %s"
 msgstr "O %s"
@@ -4681,12 +4707,1130 @@
 msgid "Tune #%i: "
 msgstr "Skladba č. %i:"
 
-#: src/sndfile/plugin.c:548
+#: src/skins/plugin.c:128
+msgid "About Skinned GUI"
+msgstr ""
+
+#: src/skins/plugin.c:129
+msgid ""
+"Copyright (c) 2008, by Tomasz Moń <desowin@gmail.com>\n"
+"\n"
+msgstr ""
+
+#: src/skins/skins_cfg.c:329
+msgid "<b>_Fonts</b>"
+msgstr "<b>_Fonty</b>"
+
+#: src/skins/skins_cfg.c:330
+#, fuzzy
+msgid "_Player:"
+msgstr "Doba přehrávání:"
+
+#: src/skins/skins_cfg.c:330
+msgid "Select main player window font:"
+msgstr "Font v hlavním okně přehrávače:"
+
+#: src/skins/skins_cfg.c:331
+msgid "_Playlist:"
+msgstr "V seznamu sklade_b:"
+
+#: src/skins/skins_cfg.c:331
+#, fuzzy
+msgid "Select playlist font:"
+msgstr "Vybrat seznam skladeb"
+
+#: src/skins/skins_cfg.c:332
+#, fuzzy
+msgid "Use Bitmap fonts if available"
+msgstr "Pokud možno, použít CDDB"
+
+#: src/skins/skins_cfg.c:332
+msgid ""
+"Use bitmap fonts if they are available. Bitmap fonts do not support Unicode "
+"strings."
+msgstr ""
+"Pokud to bude možné, použijí se bitmapové fonty. Bitmapové fonty nepodporují "
+"unicodové řetězce."
+
+#: src/skins/skins_cfg.c:333
+msgid "<b>_Miscellaneous</b>"
+msgstr "<b>_Různé</b>"
+
+#: src/skins/skins_cfg.c:334
+msgid "Show track numbers in playlist"
+msgstr "Zobrazovat pořadová čísla v seznamu skladeb"
+
+#: src/skins/skins_cfg.c:336
+msgid "Show separators in playlist"
+msgstr "Zobrazovat oddělovače v seznamu skladeb"
+
+#: src/skins/skins_cfg.c:338
+msgid "Show window manager decoration"
+msgstr "Zobrazovat dekoraci podle správce oken"
+
+#: src/skins/skins_cfg.c:339
+msgid "This enables the window manager to show decorations for windows."
+msgstr ""
+"Tímto necháte rozhodnutí na správci oken, kdy má zobrazovat dekorace oken."
+
+#: src/skins/skins_cfg.c:340
+msgid "Use two-way text scroller"
+msgstr ""
+
+#: src/skins/skins_cfg.c:341
+msgid ""
+"If selected, the file information text in the main window will scroll back "
+"and forth. If not selected, the text will only scroll in one direction."
+msgstr ""
+
+#: src/skins/skins_cfg.c:342
+msgid "Disable inline gtk theme"
+msgstr ""
+
+#: src/skins/skins_cfg.c:343
+msgid "Allow loading incomplete skins"
+msgstr ""
+
+#: src/skins/skins_cfg.c:344
+msgid ""
+"If selected, audacious won't refuse loading broken skins. Use only if your "
+"favourite skin doesn't work"
+msgstr ""
+
+#: src/skins/skins_cfg.c:410
+msgid "Color Adjustment"
+msgstr "Přizpůsobení barvy"
+
+#: src/skins/skins_cfg.c:417
+msgid ""
+"Audacious allows you to alter the color balance of the skinned UI. The "
+"sliders below will allow you to do this."
+msgstr ""
+"Audacious umožňuje změnit zabarvení měnitelného vzhledu uživatelského "
+"rozhraní pomocí následujících jezdců."
+
+#: src/skins/skins_cfg.c:427
+#, fuzzy
+msgid "Blue"
+msgstr "Blues"
+
+#: src/skins/skins_cfg.c:434
+msgid "Green"
+msgstr "Zelená"
+
+#: src/skins/skins_cfg.c:441
+msgid "Red"
+msgstr "Červená"
+
+#: src/skins/skins_cfg.c:571
+#, fuzzy
+msgid "Audacious Skinned GUI Configuration"
+msgstr "OSD pro Audacious – nastavení"
+
+#: src/skins/skins_cfg.c:596
+#, fuzzy
+msgid "<b>_Skin</b>"
+msgstr "<b>_Fonty</b>"
+
+#: src/skins/ui_equalizer.c:494
+msgid "Audacious Equalizer"
+msgstr "Ekvalizér"
+
+#: src/skins/ui_equalizer.c:794
+#, c-format
+msgid "Error importing Winamp EQF file '%s'"
+msgstr ""
+
+#: src/skins/ui_equalizer.c:1172
+msgid "Presets"
+msgstr "Předvolby"
+
+#: src/skins/ui_main.c:392
+#, c-format
+msgid "%s - Audacious"
+msgstr "%s – Audacious"
+
+#: src/skins/ui_main.c:394 src/skins/ui_main.c:2397
+#, fuzzy
+msgid "Audacious"
+msgstr "Audacious:"
+
+#: src/skins/ui_main.c:641
+#, fuzzy
+msgid "VBR"
+msgstr "VBR/ABR"
+
+#: src/skins/ui_main.c:659 src/skins/ui_main.c:663
+msgid "stereo"
+msgstr "stereo"
+
+#: src/skins/ui_main.c:659 src/skins/ui_main.c:663
+#, fuzzy
+msgid "mono"
+msgstr "Mono"
+
+#: src/skins/ui_main.c:957
+msgid "Can't jump to time when no track is being played.\n"
+msgstr ""
+
+#: src/skins/ui_main.c:972 src/skins/ui_manager.c:425
+#: src/skins/ui_manager.c:426
+#, fuzzy
+msgid "Jump to Time"
+msgstr "/Přejít na čas"
+
+#: src/skins/ui_main.c:993
+msgid "minutes:seconds"
+msgstr "minuty:sekundy"
+
+#: src/skins/ui_main.c:1003
+msgid "Track length:"
+msgstr "Délka stopy:"
+
+#: src/skins/ui_main.c:1149
+msgid "Audacious - visibility warning"
+msgstr ""
+
+#: src/skins/ui_main.c:1152
+#, fuzzy
+msgid "Show main player window"
+msgstr "Font v hlavním okně přehrávače:"
+
+#: src/skins/ui_main.c:1153
+msgid "Ignore"
+msgstr ""
+
+#: src/skins/ui_main.c:1159
+msgid ""
+"Audacious has been started with all of its windows hidden.\n"
+"You may want to show the player window again to control Audacious; "
+"otherwise, you'll have to control it remotely via audtool or enabled plugins "
+"(such as the statusicon plugin)."
+msgstr ""
+
+#: src/skins/ui_main.c:1165
+msgid "Always ignore, show/hide is controlled remotely"
+msgstr ""
+
+#: src/skins/ui_main.c:1210
+msgid "Audacious - broken GTK engine usage warning"
+msgstr ""
+
+#: src/skins/ui_main.c:1218
+#, c-format
+msgid ""
+"<big><b>Broken GTK engine in use</b></big>\n"
+"\n"
+"Audacious has detected that you are using a broken GTK engine.\n"
+"\n"
+"The theme engine you are using, <i>%s</i>, is incompatible with some of the "
+"features used by modern skins. The incompatible features have been disabled "
+"for this session.\n"
+"\n"
+"To use these features, please consider using a different GTK theme engine."
+msgstr ""
+
+#: src/skins/ui_main.c:1229
+#, fuzzy
+msgid "Do not display this warning again"
+msgstr "Příště již nevarovat"
+
+#: src/skins/ui_main.c:1253
+msgid "Enter location to play:"
+msgstr "Zadejte adresu, z které se má hrát:"
+
+#: src/skins/ui_main.c:1497
+#, fuzzy, c-format
+msgid "Seek to: %d:%-2.2d/%d:%-2.2d (%d%%)"
+msgstr "PŘEJÍT NA %d:%-2.2d/%d:%-2.2d (%d%%)"
+
+#: src/skins/ui_main.c:1527
+#, fuzzy, c-format
+msgid "Volume: %d%%"
+msgstr "Hlasitost: (%)"
+
+#: src/skins/ui_main.c:1555
+#, c-format
+msgid "Balance: %d%% left"
+msgstr ""
+
+#: src/skins/ui_main.c:1559
+msgid "Balance: center"
+msgstr ""
+
+#: src/skins/ui_main.c:1563
+#, c-format
+msgid "Balance: %d%% right"
+msgstr ""
+
+#: src/skins/ui_main.c:1881
+#, fuzzy
+msgid "Options Menu"
+msgstr "Nastavení"
+
+#: src/skins/ui_main.c:1885
+#, fuzzy
+msgid "Disable 'Always On Top'"
+msgstr "Vždy na vrchu"
+
+#: src/skins/ui_main.c:1887
+#, fuzzy
+msgid "Enable 'Always On Top'"
+msgstr "Vždy na vrchu"
+
+#: src/skins/ui_main.c:1890
+#, fuzzy
+msgid "File Info Box"
+msgstr "Informace o souboru"
+
+#: src/skins/ui_main.c:1894
+#, fuzzy
+msgid "Disable 'GUI Scaling'"
+msgstr "Zakázat ID3v2 tagy"
+
+#: src/skins/ui_main.c:1896
+#, fuzzy
+msgid "Enable 'GUI Scaling'"
+msgstr "Povolit převzorkování zvuku"
+
+#: src/skins/ui_main.c:1899
+#, fuzzy
+msgid "Visualization Menu"
+msgstr "Typ znázornění"
+
+#: src/skins/ui_main.c:1946
+msgid ""
+"<b><big>Couldn't open audio.</big></b>\n"
+"\n"
+"Please check that:\n"
+"1. You have the correct output plugin selected.\n"
+"2. No other programs is blocking the soundcard.\n"
+"3. Your soundcard is configured properly.\n"
+msgstr ""
+"<b><big>Nelze přehrávat.</big></b>\n"
+"\n"
+"Zkontrolujte, zda:\n"
+"1. máte vybrán správný výstupní modul,\n"
+"2. žádný jiný program neblokuje zvukovou kartu,\n"
+"3. vaše karta je správně nakonfigurována.\n"
+
+#: src/skins/ui_manager.c:53 src/skins/ui_manager.c:54
+msgid "Autoscroll Songname"
+msgstr "Automatický posun názvu skladby"
+
+#: src/skins/ui_manager.c:56 src/skins/ui_manager.c:57
+msgid "Stop after Current Song"
+msgstr "Zastavit po současné skladbě"
+
+#: src/skins/ui_manager.c:59 src/skins/ui_manager.c:60
+#, fuzzy
+msgid "Peaks"
+msgstr "Žerty"
+
+#: src/skins/ui_manager.c:62 src/skins/ui_manager.c:63
+msgid "Repeat"
+msgstr "Opakovat"
+
+#: src/skins/ui_manager.c:65 src/skins/ui_manager.c:66
+msgid "Shuffle"
+msgstr "Náhodné přehrávání"
+
+#: src/skins/ui_manager.c:68 src/skins/ui_manager.c:69
+msgid "No Playlist Advance"
+msgstr "Žádné pokračování dle seznamu skladeb"
+
+#: src/skins/ui_manager.c:71 src/skins/ui_manager.c:72
+msgid "Show Player"
+msgstr "Zobrazit přehrávač"
+
+#: src/skins/ui_manager.c:74 src/skins/ui_manager.c:75
+msgid "Show Playlist Editor"
+msgstr "Zobrazit editor seznamu skladeb"
+
+#: src/skins/ui_manager.c:77 src/skins/ui_manager.c:78
+#, fuzzy
+msgid "Show Equalizer"
+msgstr "Ekvalizér"
+
+#: src/skins/ui_manager.c:80 src/skins/ui_manager.c:81
+msgid "Always on Top"
+msgstr "Vždy na vrchu"
+
+#: src/skins/ui_manager.c:83 src/skins/ui_manager.c:84
+msgid "Put on All Workspaces"
+msgstr "Zobrazovat na všech plochách"
+
+#: src/skins/ui_manager.c:86 src/skins/ui_manager.c:87
+msgid "Roll up Player"
+msgstr "Sbalit přehrávač"
+
+#: src/skins/ui_manager.c:89 src/skins/ui_manager.c:90
+msgid "Roll up Playlist Editor"
+msgstr "Sbalit editor seznamu skladeb"
+
+#: src/skins/ui_manager.c:92 src/skins/ui_manager.c:93
+msgid "Roll up Equalizer"
+msgstr "Sbalit ekvalizér"
+
+#: src/skins/ui_manager.c:95 src/sndstretch/sndstretch_xmms.c:375
+msgid "Scale"
+msgstr "Natažení"
+
+#: src/skins/ui_manager.c:96
+msgid "DoubleSize"
+msgstr "Dvojitá velikost"
+
+#: src/skins/ui_manager.c:98 src/skins/ui_manager.c:99
+msgid "Easy Move"
+msgstr "Snadný pohyb"
+
+#: src/skins/ui_manager.c:107
+#, fuzzy
+msgid "Analyzer"
+msgstr "Typ sloupců"
+
+#: src/skins/ui_manager.c:108
+msgid "Scope"
+msgstr "Vlnovka"
+
+#: src/skins/ui_manager.c:109
+msgid "Voiceprint"
+msgstr "Otisk"
+
+#: src/skins/ui_manager.c:110
+msgid "Off"
+msgstr "Žádný"
+
+#: src/skins/ui_manager.c:114 src/skins/ui_manager.c:131
+#: src/skins/ui_manager.c:137
+msgid "Normal"
+msgstr "Normální"
+
+#: src/skins/ui_manager.c:115 src/skins/ui_manager.c:132
+msgid "Fire"
+msgstr "Oheň"
+
+#: src/skins/ui_manager.c:116
+msgid "Vertical Lines"
+msgstr "Svislé čáry"
+
+#: src/skins/ui_manager.c:120
+#, fuzzy
+msgid "Lines"
+msgstr "řádek."
+
+#: src/skins/ui_manager.c:121
+#, fuzzy
+msgid "Bars"
+msgstr "Bass"
+
+#: src/skins/ui_manager.c:125
+#, fuzzy
+msgid "Dot Scope"
+msgstr "Vlnovka"
+
+#: src/skins/ui_manager.c:126
+msgid "Line Scope"
+msgstr "Čárová vlnovka"
+
+#: src/skins/ui_manager.c:127
+msgid "Solid Scope"
+msgstr "Plná vlnovka"
+
+#: src/skins/ui_manager.c:133
+msgid "Ice"
+msgstr "Led"
+
+#: src/skins/ui_manager.c:138
+msgid "Smooth"
+msgstr "Plynulý"
+
+#: src/skins/ui_manager.c:142
+msgid "Full (~50 fps)"
+msgstr "Plná (~50 Hz)"
+
+#: src/skins/ui_manager.c:143
+msgid "Half (~25 fps)"
+msgstr "Poloviční (~25 Hz)"
+
+#: src/skins/ui_manager.c:144
+msgid "Quarter (~13 fps)"
+msgstr "Čtvrtinová (~13 Hz)"
+
+#: src/skins/ui_manager.c:145
+msgid "Eighth (~6 fps)"
+msgstr "Osminová (~6 Hz)"
+
+#: src/skins/ui_manager.c:149 src/skins/ui_manager.c:157
+#, fuzzy
+msgid "Slowest"
+msgstr "Showtunes"
+
+#: src/skins/ui_manager.c:150 src/skins/ui_manager.c:158
+#, fuzzy
+msgid "Slow"
+msgstr "nízké"
+
+#: src/skins/ui_manager.c:151 src/skins/ui_manager.c:159
+#, fuzzy
+msgid "Medium"
+msgstr "střední"
+
+#: src/skins/ui_manager.c:152 src/skins/ui_manager.c:160
+msgid "Fast"
+msgstr "Rychlé"
+
+#: src/skins/ui_manager.c:153 src/skins/ui_manager.c:161
+msgid "Fastest"
+msgstr "Nejrychlejší"
+
+#: src/skins/ui_manager.c:165
+msgid "Time Elapsed"
+msgstr "Dosažený čas"
+
+#: src/skins/ui_manager.c:166
+msgid "Time Remaining"
+msgstr "Zbývající čas"
+
+#: src/skins/ui_manager.c:180 src/skins/ui_manager.c:181
+#, fuzzy
+msgid "Pause"
+msgstr "Pozastavení"
+
+#: src/skins/ui_manager.c:186 src/skins/ui_manager.c:187
+#, fuzzy
+msgid "Previous"
+msgstr "Předchozí stopa:"
+
+#: src/skins/ui_manager.c:189 src/skins/ui_manager.c:190
+#, fuzzy
+msgid "Next"
+msgstr "Text"
+
+#: src/skins/ui_manager.c:195
+msgid "Visualization"
+msgstr "Znázornění"
+
+#: src/skins/ui_manager.c:196
+msgid "Visualization Mode"
+msgstr "Typ znázornění"
+
+#: src/skins/ui_manager.c:197
+msgid "Analyzer Mode"
+msgstr "Typ sloupců"
+
+#: src/skins/ui_manager.c:198
+msgid "Scope Mode"
+msgstr "Typ vlnovky"
+
+#: src/skins/ui_manager.c:199
+msgid "Voiceprint Mode"
+msgstr "Typ otisku"
+
+#: src/skins/ui_manager.c:200
+msgid "WindowShade VU Mode"
+msgstr "Typ WindowShade VU"
+
+#: src/skins/ui_manager.c:201
+msgid "Refresh Rate"
+msgstr "Rychlost překreslování"
+
+#: src/skins/ui_manager.c:202
+msgid "Analyzer Falloff"
+msgstr "Klesání sloupců"
+
+#: src/skins/ui_manager.c:203
+msgid "Peaks Falloff"
+msgstr "Klesání vrcholků"
+
+#: src/skins/ui_manager.c:208
+#, fuzzy
+msgid "Playlist"
+msgstr "V seznamu sklade_b:"
+
+#: src/skins/ui_manager.c:210 src/skins/ui_manager.c:211
+msgid "New Playlist"
+msgstr "Nový seznam skladeb"
+
+#: src/skins/ui_manager.c:213 src/skins/ui_manager.c:214
+msgid "Select Next Playlist"
+msgstr "Vybrat následující seznam skladeb"
+
+#: src/skins/ui_manager.c:216 src/skins/ui_manager.c:217
+msgid "Select Previous Playlist"
+msgstr "Vybrat předchozí seznam skladeb"
+
+#: src/skins/ui_manager.c:219 src/skins/ui_manager.c:220
+#, fuzzy
+msgid "Delete Playlist"
+msgstr "Vybrat seznam skladeb"
+
+#: src/skins/ui_manager.c:222
+msgid "Load List"
+msgstr "Načíst seznam skladeb"
+
+#: src/skins/ui_manager.c:223
+msgid "Loads a playlist file into the selected playlist."
+msgstr "Načte soubor se seznamem skladeb do vybraného seznamu."
+
+#: src/skins/ui_manager.c:225
+msgid "Save List"
+msgstr "Uložit seznam"
+
+#: src/skins/ui_manager.c:226
+msgid "Saves the selected playlist."
+msgstr "Uloží vybraný seznam skladeb."
+
+#: src/skins/ui_manager.c:228
+msgid "Save Default List"
+msgstr "Uložit standardní seznam"
+
+#: src/skins/ui_manager.c:229
+msgid "Saves the selected playlist to the default location."
+msgstr "Uloží vybraný seznam skladeb na standardní místo."
+
+#: src/skins/ui_manager.c:232
+msgid "Refresh List"
+msgstr "Obnovit seznam"
+
+#: src/skins/ui_manager.c:233
+msgid "Refreshes metadata associated with a playlist entry."
+msgstr "Obnovuje metadata náležící skladbě ze seznamu."
+
+#: src/skins/ui_manager.c:236
+msgid "List Manager"
+msgstr "Správce seznamů"
+
+#: src/skins/ui_manager.c:237
+msgid "Opens the playlist manager."
+msgstr "Otevře správce seznamu skladeb."
+
+#: src/skins/ui_manager.c:243
+msgid "View"
+msgstr "Zobrazení"
+
+#: src/skins/ui_manager.c:247
+msgid "Add Internet Address..."
+msgstr "Přidat internetovou adresu…"
+
+#: src/skins/ui_manager.c:248
+msgid "Adds a remote track to the playlist."
+msgstr "Do seznamu přidá vzdálenou stopu."
+
+#: src/skins/ui_manager.c:251
+msgid "Add Files..."
+msgstr "Přidat soubory…"
+
+#: src/skins/ui_manager.c:252
+#, fuzzy
+msgid "Adds files to the playlist."
+msgstr "Přidá CD do seznamu skladeb"
+
+#: src/skins/ui_manager.c:257
+msgid "Search and Select"
+msgstr "Hledání a výběr"
+
+#: src/skins/ui_manager.c:258
+msgid ""
+"Searches the playlist and selects playlist entries based on specific "
+"criteria."
+msgstr ""
+"Prohledá seznam skladeb a vybere skladby ze seznamu podle zadaných omezení."
+
+#: src/skins/ui_manager.c:261
+#, fuzzy
+msgid "Invert Selection"
+msgstr "Výběr formátu"
+
+#: src/skins/ui_manager.c:262
+msgid "Inverts the selected and unselected entries."
+msgstr "Zamění vybrané a nevybrané položky."
+
+#: src/skins/ui_manager.c:265
+msgid "Select All"
+msgstr "Vybrat vše"
+
+#: src/skins/ui_manager.c:266
+msgid "Selects all of the playlist entries."
+msgstr "Vybere všechny skladby v seznamu."
+
+#: src/skins/ui_manager.c:269
+#, fuzzy
+msgid "Select None"
+msgstr "Vyberte soubor se skinem"
+
+#: src/skins/ui_manager.c:270
+msgid "Deselects all of the playlist entries."
+msgstr "Žádná skladba v seznamu nebude vybraná."
+
+#: src/skins/ui_manager.c:275
+msgid "Remove All"
+msgstr "Odebrat všechny"
+
+#: src/skins/ui_manager.c:276
+msgid "Removes all entries from the playlist."
+msgstr "Ze seznamu odstraní všechny skladby."
+
+#: src/skins/ui_manager.c:279
+msgid "Clear Queue"
+msgstr "Vyprázdnit frontu"
+
+#: src/skins/ui_manager.c:280
+msgid "Clears the queue associated with this playlist."
+msgstr "Vyprázdní frontu spojenou s tímto seznamem skladeb."
+
+#: src/skins/ui_manager.c:283
+msgid "Remove Unavailable Files"
+msgstr "Odstranit nedostupné soubory"
+
+#: src/skins/ui_manager.c:284
+msgid "Removes unavailable files from the playlist."
+msgstr "Ze seznamu skladeb odstraní nedostupné soubory."
+
+#: src/skins/ui_manager.c:287
+msgid "Remove Duplicates"
+msgstr "Odebrat duplikáty"
+
+#: src/skins/ui_manager.c:289 src/skins/ui_manager.c:321
+#: src/skins/ui_manager.c:351
+msgid "By Title"
+msgstr "Podle názvu"
+
+#: src/skins/ui_manager.c:290
+msgid "Removes duplicate entries from the playlist by title."
+msgstr "Ze seznamu odstraní skladby na základě jejich názvu."
+
+#: src/skins/ui_manager.c:293 src/skins/ui_manager.c:329
+#: src/skins/ui_manager.c:359
+msgid "By Filename"
+msgstr "Podle jména souboru"
+
+#: src/skins/ui_manager.c:294
+msgid "Removes duplicate entries from the playlist by filename."
+msgstr "Ze seznamu odstraní skladby na základě jména souboru."
+
+#: src/skins/ui_manager.c:297 src/skins/ui_manager.c:333
+#: src/skins/ui_manager.c:363
+msgid "By Path + Filename"
+msgstr "Podle cesty a jména souboru"
+
+#: src/skins/ui_manager.c:298
+msgid "Removes duplicate entries from the playlist by their full path."
+msgstr "Ze seznamu odstraní skladby na základě celé cesty."
+
+#: src/skins/ui_manager.c:301
+msgid "Remove Unselected"
+msgstr "Odebrat neoznačené"
+
+#: src/skins/ui_manager.c:302
+msgid "Remove unselected entries from the playlist."
+msgstr "Odebrat neoznačené skladby se seznamu."
+
+#: src/skins/ui_manager.c:305
+msgid "Remove Selected"
+msgstr "Odebrat označené"
+
+#: src/skins/ui_manager.c:306
+msgid "Remove selected entries from the playlist."
+msgstr "Odebrat označené skladby ze seznamu."
+
+#: src/skins/ui_manager.c:311
+msgid "Randomize List"
+msgstr "Zamíchat pořadí"
+
+#: src/skins/ui_manager.c:312
+msgid "Randomizes the playlist."
+msgstr "Sklady v seznamu seřadí náhodně."
+
+#: src/skins/ui_manager.c:315
+msgid "Reverse List"
+msgstr "Otočit seznam"
+
+#: src/skins/ui_manager.c:316
+msgid "Reverses the playlist."
+msgstr "Obrátí pořadí skladeb v seznamu."
+
+#: src/skins/ui_manager.c:319
+msgid "Sort List"
+msgstr "Seřadit seznam"
+
+#: src/skins/ui_manager.c:322 src/skins/ui_manager.c:352
+msgid "Sorts the list by title."
+msgstr "Seřadí seznam podle názvu."
+
+#: src/skins/ui_manager.c:325 src/skins/ui_manager.c:355
+msgid "By Artist"
+msgstr "Podle umělce"
+
+#: src/skins/ui_manager.c:326 src/skins/ui_manager.c:356
+msgid "Sorts the list by artist."
+msgstr "Skladby v seznam seřadí podle jména umělce."
+
+#: src/skins/ui_manager.c:330 src/skins/ui_manager.c:360
+msgid "Sorts the list by filename."
+msgstr "Skladby v seznamu seřadí podle jména souboru"
+
+#: src/skins/ui_manager.c:334 src/skins/ui_manager.c:364
+msgid "Sorts the list by full pathname."
+msgstr "Skladby v seznamu seřadí podle celé cesty."
+
+#: src/skins/ui_manager.c:337 src/skins/ui_manager.c:367
+msgid "By Date"
+msgstr "Podle data"
+
+#: src/skins/ui_manager.c:338 src/skins/ui_manager.c:368
+msgid "Sorts the list by modification time."
+msgstr "Skladby v seznamu seřadí podle času poslední změny v obsahu souboru."
+
+#: src/skins/ui_manager.c:341 src/skins/ui_manager.c:371
+msgid "By Track Number"
+msgstr "Podle čísla stopy"
+
+#: src/skins/ui_manager.c:342 src/skins/ui_manager.c:372
+msgid "Sorts the list by track number."
+msgstr "Skladby v seznamu seřadí podle čísla stopy."
+
+#: src/skins/ui_manager.c:345 src/skins/ui_manager.c:375
+msgid "By Playlist Entry"
+msgstr "Podle položek v seznamu"
+
+#: src/skins/ui_manager.c:346 src/skins/ui_manager.c:376
+msgid "Sorts the list by playlist entry."
+msgstr "Skladby seřadí podle položek seznamu."
+
+#: src/skins/ui_manager.c:349
+msgid "Sort Selected"
+msgstr "Seřadit vybrané"
+
+#: src/skins/ui_manager.c:385
+#, fuzzy
+msgid "File"
+msgstr "Oheň"
+
+#: src/skins/ui_manager.c:388
+msgid "Plugin Services"
+msgstr ""
+
+#: src/skins/ui_manager.c:390 src/skins/ui_manager.c:393
+msgid "View Track Details"
+msgstr "Zobrazit inforamce o skladbě"
+
+#: src/skins/ui_manager.c:391 src/skins/ui_manager.c:394
+msgid "View track details"
+msgstr "Zobrazit inforamce o skladbě"
+
+#: src/skins/ui_manager.c:396 src/skins/ui_manager.c:397
+#, fuzzy
+msgid "About Audacious"
+msgstr "/O Audacious"
+
+#: src/skins/ui_manager.c:399
+msgid "Play File"
+msgstr "Přehrát soubor"
+
+#: src/skins/ui_manager.c:400
+#, fuzzy
+msgid "Load and play a file"
+msgstr "Načíst metadata ze seznamů skladeb a souborů"
+
+#: src/skins/ui_manager.c:402
+#, fuzzy
+msgid "Play Location"
+msgstr "Umístění:"
+
+#: src/skins/ui_manager.c:403
+#, fuzzy
+msgid "Play media from the selected location"
+msgstr "Potvrdit vybrané akce"
+
+#: src/skins/ui_manager.c:405
+msgid "Plugin services"
+msgstr ""
+
+#: src/skins/ui_manager.c:407
+msgid "Preferences"
+msgstr "Nastavení"
+
+#: src/skins/ui_manager.c:408
+msgid "Open preferences window"
+msgstr "Otevřít okno s nastavením"
+
+#: src/skins/ui_manager.c:410
+msgid "_Quit"
+msgstr "_Konec"
+
+#: src/skins/ui_manager.c:411
+msgid "Quit Audacious"
+msgstr "O Audacious"
+
+#: src/skins/ui_manager.c:413 src/skins/ui_manager.c:414
+msgid "Set A-B"
+msgstr "Nastavit A-B"
+
+#: src/skins/ui_manager.c:416 src/skins/ui_manager.c:417
+msgid "Clear A-B"
+msgstr "Vyprázdnit A-B"
+
+#: src/skins/ui_manager.c:419 src/skins/ui_manager.c:420
+msgid "Jump to Playlist Start"
+msgstr "Přejít na začátek seznamu skladeb"
+
+#: src/skins/ui_manager.c:428
+msgid "Queue Toggle"
+msgstr "Přepnout frontu"
+
+#: src/skins/ui_manager.c:429
+msgid "Enables/disables the entry in the playlist's queue."
+msgstr "Povolí/zakáže položku ve frontě seznamu skladeb."
+
+#: src/skins/ui_manager.c:436
+msgid "Load"
+msgstr "Načíst"
+
+#: src/skins/ui_manager.c:441 src/skins/ui_manager.c:462
+#: src/skins/ui_manager.c:477
+#, fuzzy
+msgid "Preset"
+msgstr "Předvolby"
+
+#: src/skins/ui_manager.c:442
+msgid "Load preset"
+msgstr "Načíst předvolbu"
+
+#: src/skins/ui_manager.c:444 src/skins/ui_manager.c:465
+#: src/skins/ui_manager.c:480
+msgid "Auto-load preset"
+msgstr "Souborová předvolba"
+
+#: src/skins/ui_manager.c:445
+msgid "Load auto-load preset"
+msgstr "Načíst souborovou předvolbu"
+
+#: src/skins/ui_manager.c:448
+msgid "Load default preset into equalizer"
+msgstr "Načíst standardní předvolbu do ekvalizéru"
+
+#: src/skins/ui_manager.c:450
+#, fuzzy
+msgid "Zero"
+msgstr "Retro"
+
+#: src/skins/ui_manager.c:451
+msgid "Set equalizer preset levels to zero"
+msgstr "Vynulovat předvolby ekvalizéru"
+
+#: src/skins/ui_manager.c:453
+#, fuzzy
+msgid "From file"
+msgstr "shodný soubor"
+
+#: src/skins/ui_manager.c:454
+#, fuzzy
+msgid "Load preset from file"
+msgstr "Načíst předvolbu ze souboru WinAMP EQF"
+
+#: src/skins/ui_manager.c:456
+msgid "From WinAMP EQF file"
+msgstr "Ze souboru WinAMP EQF"
+
+#: src/skins/ui_manager.c:457
+msgid "Load preset from WinAMP EQF file"
+msgstr "Načíst předvolbu ze souboru WinAMP EQF"
+
+#: src/skins/ui_manager.c:459
+msgid "WinAMP Presets"
+msgstr "Předvolby WinAMPu"
+
+#: src/skins/ui_manager.c:460
+msgid "Import WinAMP presets"
+msgstr "Importovat předvolby WinAMPu"
+
+#: src/skins/ui_manager.c:463
+msgid "Save preset"
+msgstr "Uložit předvolbu"
+
+#: src/skins/ui_manager.c:466
+msgid "Save auto-load preset"
+msgstr "Uložit souborovou předvolbu"
+
+#: src/skins/ui_manager.c:469
+#, fuzzy
+msgid "Save default preset"
+msgstr "Uložit standardní seznam"
+
+#: src/skins/ui_manager.c:471
+#, fuzzy
+msgid "To file"
+msgstr "Soubor STIL:"
+
+#: src/skins/ui_manager.c:472
+msgid "Save preset to file"
+msgstr "Uložit předvolbu do souboru"
+
+#: src/skins/ui_manager.c:474
+msgid "To WinAMP EQF file"
+msgstr "Do souboru WinAMP EQF"
+
+#: src/skins/ui_manager.c:475
+msgid "Save preset to WinAMP EQF file"
+msgstr "Uložit předvolbu do souboru WinAMP EQF"
+
+#: src/skins/ui_manager.c:478
+msgid "Delete preset"
+msgstr "Smazat předvolbu"
+
+#: src/skins/ui_manager.c:481
+msgid "Delete auto-load preset"
+msgstr "Smazat souborovou předvolbu"
+
+#: src/skins/ui_playlist.c:454
+msgid "Search entries in active playlist"
+msgstr "Vyhledat skladby v současném seznamu skladeb"
+
+#: src/skins/ui_playlist.c:462
+msgid ""
+"Select entries in playlist by filling one or more fields. Fields use regular "
+"expressions syntax, case-insensitive. If you don't know how regular "
+"expressions work, simply insert a literal portion of what you're searching "
+"for."
+msgstr ""
+"Položky seznamu skladeb vyberete vyplněním jednoho, nebo více polí. Pole "
+"používají regulární výrazy a neberou ohled na velikost písmen. Pokud "
+"regulárním výrazům nerozumíte, jednoduše vložte části textu, které chcete "
+"vyhledat."
+
+#: src/skins/ui_playlist.c:477
+#, fuzzy
+msgid "Album: "
+msgstr "Album:"
+
+#: src/skins/ui_playlist.c:484
+#, fuzzy
+msgid "Artist: "
+msgstr "Umělec:"
+
+#: src/skins/ui_playlist.c:491
+msgid "Filename: "
+msgstr "Jméno souboru: "
+
+#: src/skins/ui_playlist.c:499
+msgid "Clear previous selection before searching"
+msgstr "Před hledáním vymazat předchozí výběr"
+
+#: src/skins/ui_playlist.c:502
+msgid "Automatically toggle queue for matching entries"
+msgstr "Shodující se položky automaticky zařadit/vyřadit z fronty"
+
+#: src/skins/ui_playlist.c:505
+msgid "Create a new playlist with matching entries"
+msgstr "Ze shodujících se položek vytvořit nový seznam skladeb"
+
+#: src/skins/ui_playlist.c:724
+#, c-format
+msgid "Error writing playlist \"%s\": %s"
+msgstr "Chyba při zapisování seznamu skladeb „%s“: %s"
+
+#: src/skins/ui_playlist.c:746
+#, c-format
+msgid "%s already exist. Continue?"
+msgstr "%s už existuje. Pokračovat?"
+
+#: src/skins/ui_playlist.c:761
+#, c-format
+msgid ""
+"<b><big>Unable to save playlist.</big></b>\n"
+"\n"
+"Unknown file type for '%s'.\n"
+msgstr ""
+"<b><big>Nelze uložit seznam skladeb.</big></b>\n"
+"\n"
+"Neznámý typ souboru %s.\n"
+
+#: src/skins/ui_playlist.c:887
+#, fuzzy
+msgid "Save as Static Playlist"
+msgstr "Uložit seznam skladeb"
+
+#: src/skins/ui_playlist.c:894
+msgid "Use Relative Path"
+msgstr ""
+
+#: src/skins/ui_playlist.c:916
+#, fuzzy
+msgid "Load Playlist"
+msgstr "Uložit seznam skladeb"
+
+#: src/skins/ui_playlist.c:929
+msgid "Save Playlist"
+msgstr "Uložit seznam skladeb"
+
+#: src/skins/ui_playlist.c:1497
+msgid "Audacious Playlist Editor"
+msgstr "Zobrazit editor seznamu skladeb"
+
+#: src/skins/ui_skinned_equalizer_slider.c:377
+msgid "PREAMP"
+msgstr "PREAMP"
+
+#: src/skins/ui_skinned_equalizer_slider.c:377
+msgid "60HZ"
+msgstr "60 Hz"
+
+#: src/skins/ui_skinned_equalizer_slider.c:377
+msgid "170HZ"
+msgstr "170 Hz"
+
+#: src/skins/ui_skinned_equalizer_slider.c:378
+msgid "310HZ"
+msgstr "310 Hz"
+
+#: src/skins/ui_skinned_equalizer_slider.c:378
+msgid "600HZ"
+msgstr "600 Hz"
+
+#: src/skins/ui_skinned_equalizer_slider.c:378
+msgid "1KHZ"
+msgstr "1 kHz"
+
+#: src/skins/ui_skinned_equalizer_slider.c:379
+msgid "3KHZ"
+msgstr "3 kHz"
+
+#: src/skins/ui_skinned_equalizer_slider.c:379
+msgid "6KHZ"
+msgstr "6 kHz"
+
+#: src/skins/ui_skinned_equalizer_slider.c:379
+msgid "12KHZ"
+msgstr "12 kHz"
+
+#: src/skins/ui_skinned_equalizer_slider.c:380
+msgid "14KHZ"
+msgstr "14 kHz"
+
+#: src/skins/ui_skinned_equalizer_slider.c:380
+msgid "16KHZ"
+msgstr "16 kHz"
+
+#: src/skins/ui_skinselector.c:178
+msgid "Archived Winamp 2.x skin"
+msgstr "Zabalený skin Winapmu 2.x"
+
+#: src/skins/ui_skinselector.c:183
+msgid "Unarchived Winamp 2.x skin"
+msgstr "Nezabalený skin Winampu 2.x"
+
+#: src/skins/util.c:1132
+#, fuzzy, c-format
+msgid "Could not create directory (%s): %s\n"
+msgstr "sidFilename („%s“) nelze alokovat\n"
+
+#: src/sndfile/plugin.c:554
 #, fuzzy
 msgid "About sndfile plugin"
 msgstr "Modul sndfile WAV"
 
-#: src/sndfile/plugin.c:549
+#: src/sndfile/plugin.c:555
 msgid ""
 "Adapted for Audacious usage by Tony Vroon <chainsaw@gentoo.org>\n"
 "from the xmms_sndfile plugin which is:\n"
@@ -4727,64 +5871,60 @@
 "51 Franklin Street, Fifth Floor, \n"
 "Boston, MA  02110-1301  USA"
 
-#: src/sndstretch/sndstretch_xmms.c:159
+#: src/sndstretch/sndstretch_xmms.c:158
 msgid "About SndStretch"
 msgstr "O modulu SndStrech"
 
-#: src/sndstretch/sndstretch_xmms.c:319
+#: src/sndstretch/sndstretch_xmms.c:318
 msgid "Volume corr."
 msgstr "Oprava hlasitosti"
 
-#: src/sndstretch/sndstretch_xmms.c:320
+#: src/sndstretch/sndstretch_xmms.c:319
 msgid "Short Overlap"
 msgstr "Krátké přesahy"
 
+#: src/sndstretch/sndstretch_xmms.c:373
+msgid "Speed"
+msgstr "Rychlost"
+
 #: src/sndstretch/sndstretch_xmms.c:374
-msgid "Speed"
-msgstr "Rychlost"
-
-#: src/sndstretch/sndstretch_xmms.c:375
 msgid "Pitch"
 msgstr "Výška"
 
-#: src/sndstretch/sndstretch_xmms.c:376
-msgid "Scale"
-msgstr "Natažení"
-
-#: src/sndstretch/sndstretch_xmms.c:396
+#: src/sndstretch/sndstretch_xmms.c:395
 msgid "SndStretch - Configuration"
 msgstr "SndStrech – Nastavení"
 
-#: src/song_change/song_change.c:312
+#: src/song_change/song_change.c:310
 msgid "Commands"
 msgstr "Příkazy"
 
-#: src/song_change/song_change.c:319
+#: src/song_change/song_change.c:317
 msgid "Command to run when Audacious starts a new song."
 msgstr "Příkaz, který se provede, když Audacious začne novou skladbu."
 
-#: src/song_change/song_change.c:328 src/song_change/song_change.c:350
-#: src/song_change/song_change.c:371 src/song_change/song_change.c:392
+#: src/song_change/song_change.c:326 src/song_change/song_change.c:348
+#: src/song_change/song_change.c:369 src/song_change/song_change.c:390
 msgid "Command:"
 msgstr "Příkaz:"
 
-#: src/song_change/song_change.c:342
+#: src/song_change/song_change.c:340
 msgid "Command to run toward the end of a song."
 msgstr "Příkaz, který se provede na konci skladby."
 
-#: src/song_change/song_change.c:362
+#: src/song_change/song_change.c:360
 msgid "Command to run when Audacious reaches the end of the playlist."
 msgstr ""
 "Příkaz, který se provede, když Audacious dosáhne konce seznamu skladeb."
 
-#: src/song_change/song_change.c:383
+#: src/song_change/song_change.c:381
 msgid ""
 "Command to run when title changes for a song (i.e. network streams titles)."
 msgstr ""
 "Příkaz, který se provede při změně názvu skladbu (tj. názvy v síťových "
 "proudech)."
 
-#: src/song_change/song_change.c:404
+#: src/song_change/song_change.c:402
 #, c-format
 msgid ""
 "You can use the following format strings which\n"
@@ -4813,7 +5953,7 @@
 "%%t: pozice v seznamu skladeb (%%02d)\n"
 "%%p: právě se hraje (1, nebo 0)"
 
-#: src/song_change/song_change.c:429
+#: src/song_change/song_change.c:427
 msgid ""
 "<span size='small'>Parameters passed to the shell should be encapsulated in "
 "quotes. Doing otherwise is a security risk.</span>"
@@ -4821,7 +5961,7 @@
 "<span size='small'>Parametry předávané shellu by měly být uzavřeny do "
 "uvozovek. Nerespektování této rady představuje bezpečnostní riziko.</span>"
 
-#: src/spectrum/spectrum.c:90
+#: src/spectrum/spectrum.c:89
 msgid "Spectrum Analyzer"
 msgstr "Analyzátor spektra"
 
@@ -4833,11 +5973,11 @@
 msgid "The orientation of the tray"
 msgstr "Orientace traye"
 
-#: src/statusicon/si_ui.c:622
+#: src/statusicon/si_ui.c:620
 msgid "About Status Icon Plugin"
 msgstr "O modulu Stavová ikona"
 
-#: src/statusicon/si_ui.c:624
+#: src/statusicon/si_ui.c:622
 msgid ""
 "\n"
 "written by Giacomo Lozito < james@develia.org >\n"
@@ -4851,39 +5991,39 @@
 "Tento modul poskytuje stavovou ikonu, která\n"
 "je umístěna v systémové oblasti desktopu.\n"
 
-#: src/statusicon/si_ui.c:696
+#: src/statusicon/si_ui.c:694
 msgid "Status Icon Plugin - Preferences"
 msgstr "Modul stavové ikony – Nastavení"
 
-#: src/statusicon/si_ui.c:707
+#: src/statusicon/si_ui.c:705
 msgid "Right-Click Menu"
 msgstr "Nabídka při stisku pravého tlačítka"
 
-#: src/statusicon/si_ui.c:712
+#: src/statusicon/si_ui.c:710
 msgid "Audacious standard menu"
 msgstr "Standardní nabídka Audacious"
 
-#: src/statusicon/si_ui.c:717
+#: src/statusicon/si_ui.c:715
 msgid "Small playback menu #1"
 msgstr "Drobná nabídka pro přehrávání č. 1"
 
-#: src/statusicon/si_ui.c:722
+#: src/statusicon/si_ui.c:720
 msgid "Small playback menu #2"
 msgstr "Drobná nabídka pro přehrávání č. 2"
 
-#: src/statusicon/si_ui.c:745
+#: src/statusicon/si_ui.c:743
 msgid "Mouse Scroll Action"
 msgstr "Reakce na rolování myší"
 
-#: src/statusicon/si_ui.c:750
+#: src/statusicon/si_ui.c:748
 msgid "Change volume"
 msgstr "Změnit hlasitost"
 
-#: src/statusicon/si_ui.c:755
+#: src/statusicon/si_ui.c:753
 msgid "Change playing song"
 msgstr "Změnit hranou skladbu"
 
-#: src/stereo_plugin/stereo.c:26
+#: src/stereo_plugin/stereo.c:25
 msgid ""
 "Extra Stereo Plugin\n"
 "\n"
@@ -4893,23 +6033,19 @@
 "\n"
 "Napsal Johan Levin, 1999."
 
-#: src/stereo_plugin/stereo.c:52
+#: src/stereo_plugin/stereo.c:51
 msgid "About Extra Stereo Plugin"
 msgstr "O modulu Extra sterou"
 
-#: src/stereo_plugin/stereo.c:93
+#: src/stereo_plugin/stereo.c:92
 msgid "Configure Extra Stereo"
 msgstr "Nastavit Extra sterou"
 
-#: src/stereo_plugin/stereo.c:95
-msgid "Effect intensity:"
-msgstr "Síla efektu:"
+#: src/sun/about.c:33
+msgid "About the Sun Driver"
+msgstr "O ovladači pro Sun"
 
 #: src/sun/about.c:34
-msgid "About the Sun Driver"
-msgstr "O ovladači pro Sun"
-
-#: src/sun/about.c:35
 msgid ""
 "XMMS BSD Sun Driver\n"
 "\n"
@@ -4921,19 +6057,19 @@
 "Copyright © 2001 CubeSoft Communications, Inc.\n"
 "Správce: <vedge na csoft.org>.\n"
 
-#: src/sun/configure.c:201
+#: src/sun/configure.c:199
 msgid "Audio control device:"
 msgstr "Zařízení ovládání zvuku:"
 
-#: src/sun/configure.c:350
+#: src/sun/configure.c:348
 msgid "Volume controls device:"
 msgstr "Zařízení ovládání hlasitosti:"
 
-#: src/sun/configure.c:363
+#: src/sun/configure.c:361
 msgid "XMMS uses mixer exclusively."
 msgstr "XMMS používá výlučný přístup k mixéru"
 
-#: src/sun/configure.c:538
+#: src/sun/configure.c:536
 msgid "Sun driver configuration"
 msgstr "Nastavení ovladače pro Sun"
 
@@ -4961,7 +6097,7 @@
 msgid "TiMidity Configuration File"
 msgstr "Konfigurační souboru Title"
 
-#: src/timidity/xmms-timidity.c:118
+#: src/timidity/xmms-timidity.c:115
 msgid ""
 "TiMidity Plugin\n"
 "http://libtimidity.sourceforge.net\n"
@@ -4971,20 +6107,20 @@
 "http://libtimidity.sourceforge.net\n"
 "napsal Konstantin Korikov"
 
-#: src/timidity/xmms-timidity.c:119
+#: src/timidity/xmms-timidity.c:116
 #, c-format
 msgid "TiMidity Plugin %s"
 msgstr "Modul TiMidity %s"
 
-#: src/timidity/xmms-timidity.c:336
+#: src/timidity/xmms-timidity.c:333
 msgid "Couldn't load MIDI file"
 msgstr "Nebylo možné nahrát MIDI soubor"
 
-#: src/tonegen/tonegen.c:56
+#: src/tonegen/tonegen.c:55
 msgid "About Tone Generator"
 msgstr "O generátoru tónů"
 
-#: src/tonegen/tonegen.c:58
+#: src/tonegen/tonegen.c:57
 msgid ""
 "Sinus tone generator by Haavard Kvaalen <havardk@xmms.org>\n"
 "Modified by Daniel J. Peng <danielpeng@bigfoot.com>\n"
@@ -4998,52 +6134,52 @@
 "Pro jeho aktivaci zadejte URL: tone://frekvence1;frekvence2;frekvence3;...\n"
 "např. tone://2000;2005 pro přehrání tónů o frekvenci 2000 a 2005 Hz."
 
-#: src/tonegen/tonegen.c:167
+#: src/tonegen/tonegen.c:166
 #, c-format
 msgid "%s %.1f Hz"
 msgstr "%s %.1f Hz"
 
-#: src/tonegen/tonegen.c:167
+#: src/tonegen/tonegen.c:166
 msgid "Tone Generator: "
 msgstr "Generátor tónů:"
 
-#: src/tta/libtta.c:130
+#: src/tta/libtta.c:127
 msgid "Can't open file\n"
 msgstr "Soubor nelze otevřít\n"
 
+#: src/tta/libtta.c:130
+msgid "Not supported file format\n"
+msgstr "Nepodporovaný formát souboru\n"
+
 #: src/tta/libtta.c:133
-msgid "Not supported file format\n"
-msgstr "Nepodporovaný formát souboru\n"
+msgid "File is corrupted\n"
+msgstr "Soubor je poškozen\n"
 
 #: src/tta/libtta.c:136
-msgid "File is corrupted\n"
-msgstr "Soubor je poškozen\n"
+msgid "Can't read from file\n"
+msgstr "Nelze číst ze souboru\n"
 
 #: src/tta/libtta.c:139
-msgid "Can't read from file\n"
-msgstr "Nelze číst ze souboru\n"
+msgid "Insufficient memory available\n"
+msgstr "Nedostatek paměti\n"
 
 #: src/tta/libtta.c:142
-msgid "Insufficient memory available\n"
-msgstr "Nedostatek paměti\n"
+msgid "Output plugin error\n"
+msgstr "Chyba výstupního modulu\n"
 
 #: src/tta/libtta.c:145
-msgid "Output plugin error\n"
-msgstr "Chyba výstupního modulu\n"
-
-#: src/tta/libtta.c:148
 msgid "Unknown error\n"
 msgstr "Neznámá chyba\n"
 
-#: src/tta/libtta.c:152
+#: src/tta/libtta.c:149
 msgid "TTA Decoder Error"
 msgstr "Chyba TTA dekodéru"
 
-#: src/tta/libtta.c:261
+#: src/tta/libtta.c:258
 msgid "TTA input plugin "
 msgstr "TTA vstupní modul "
 
-#: src/tta/libtta.c:262
+#: src/tta/libtta.c:259
 msgid ""
 " for BMP\n"
 "Copyright (c) 2004 True Audio Software\n"
@@ -5051,35 +6187,35 @@
 " pro BMP\n"
 "Copyright © 2004 True Audio Software\n"
 
-#: src/tta/libtta.c:265
+#: src/tta/libtta.c:262
 msgid "About True Audio Plugin"
 msgstr "O modulu True Audio"
 
-#: src/tta/libtta.c:316
+#: src/tta/libtta.c:313
 msgid "ID3 Tag:"
 msgstr "ID3 popisek:"
 
-#: src/tta/libtta.c:378 src/wavpack/ui.cxx:234
+#: src/tta/libtta.c:375 src/wavpack/ui.cxx:232
 msgid "Track number:"
 msgstr "Číslo stopy:"
 
-#: src/vorbis/configure.c:84
+#: src/vorbis/configure.c:82
 msgid "Ogg Vorbis Audio Plugin Configuration"
 msgstr "Nastavení modulu Ogg Vorbis Audio"
 
-#: src/vorbis/configure.c:94
+#: src/vorbis/configure.c:92
 msgid "Ogg Vorbis Tags:"
 msgstr "Popisky Ogg Vorbis:"
 
-#: src/vorbis/configure.c:115
+#: src/vorbis/configure.c:113
 msgid "Title format:"
 msgstr "Formát názvu:"
 
-#: src/vorbis/vorbis.c:681
+#: src/vorbis/vorbis.c:677
 msgid "About Ogg Vorbis Audio Plugin"
 msgstr "O modulu Ogg Vorbis Audio"
 
-#: src/vorbis/vorbis.c:687
+#: src/vorbis/vorbis.c:683
 #, fuzzy
 msgid ""
 "Ogg Vorbis Plugin by the Xiph.org Foundation\n"
@@ -5113,11 +6249,11 @@
 "\n"
 "Navštivte stránky „Xiph.org Foundation“: http://www.xiph.org/\n"
 
-#: src/vtx/about.c:23
+#: src/vtx/about.c:17
 msgid "About Vortex Player"
 msgstr "O přehrávači vortexu"
 
-#: src/vtx/about.c:25
+#: src/vtx/about.c:19
 msgid ""
 "Vortex file format player by Sashnov Alexander <sashnov@ngs.ru>\n"
 "Founded on original source in_vtx.dll by Roman Sherbakov <v_soft@microfor."
@@ -5138,12 +6274,12 @@
 "\n"
 "Do Audacious implementoval Pavel Vymetálek <pvymetalek@seznam.cz>."
 
-#: src/wavpack/ui.cxx:52
+#: src/wavpack/ui.cxx:50
 #, c-format
 msgid "Wavpack Decoder Plugin %s"
 msgstr "Dekódovací modul Wavpack %s"
 
-#: src/wavpack/ui.cxx:53
+#: src/wavpack/ui.cxx:51
 msgid ""
 "Copyright (c) 2006 William Pitcock <nenolod -at- nenolod.net>\n"
 "\n"
@@ -5155,90 +6291,90 @@
 "Části kódu modulu napsal Miles Egan\n"
 "Navštivte stránku Wavpacku na http://www.wavpack.com/\n"
 
-#: src/wavpack/ui.cxx:165
+#: src/wavpack/ui.cxx:163
 msgid "Ape2 Tag"
 msgstr "Popisek Ape2"
 
-#: src/wavpack/ui.cxx:288
+#: src/wavpack/ui.cxx:286
 msgid "Wavpack Info:"
 msgstr "Informace o Wavpacku"
 
+#: src/wavpack/ui.cxx:379
+#, c-format
+msgid "version %d"
+msgstr "verze %d"
+
+#: src/wavpack/ui.cxx:380
+#, c-format
+msgid "average bitrate: %6.1f kbps"
+msgstr "průměrný datový tok: %6.1f kb/s"
+
 #: src/wavpack/ui.cxx:381
 #, c-format
-msgid "version %d"
-msgstr "verze %d"
+msgid "samplerate: %d Hz"
+msgstr "vzorkovací kmitočet: %d Hz"
 
 #: src/wavpack/ui.cxx:382
 #, c-format
-msgid "average bitrate: %6.1f kbps"
-msgstr "průměrný datový tok: %6.1f kb/s"
+msgid "bits per sample: %d"
+msgstr "bitů na vzorek: %d"
 
 #: src/wavpack/ui.cxx:383
 #, c-format
-msgid "samplerate: %d Hz"
-msgstr "vzorkovací kmitočet: %d Hz"
+msgid "channels: %d"
+msgstr "kanálů: %d"
 
 #: src/wavpack/ui.cxx:384
 #, c-format
-msgid "bits per sample: %d"
-msgstr "bitů na vzorek: %d"
+msgid "length: %d:%.2d"
+msgstr "délka: %d:%.2d"
 
 #: src/wavpack/ui.cxx:385
 #, c-format
-msgid "channels: %d"
-msgstr "kanálů: %d"
-
-#: src/wavpack/ui.cxx:386
-#, c-format
-msgid "length: %d:%.2d"
-msgstr "délka: %d:%.2d"
-
-#: src/wavpack/ui.cxx:387
-#, c-format
 msgid "file size: %d Bytes"
 msgstr "vlikost souboru: %d bajtů"
 
-#: src/wavpack/ui.cxx:394
+#: src/wavpack/ui.cxx:392
 msgid "Title Peak: ?"
 msgstr "Vrchol titulu: ?"
 
-#: src/wavpack/ui.cxx:395
+#: src/wavpack/ui.cxx:393
 msgid "Album Peak: ?"
 msgstr "Vrchol alba: ?"
 
-#: src/wavpack/ui.cxx:396
+#: src/wavpack/ui.cxx:394
 msgid "Title Gain: ?"
 msgstr "Zesílení titulu: ?"
 
-#: src/wavpack/ui.cxx:397
+#: src/wavpack/ui.cxx:395
 msgid "Album Gain: ?"
 msgstr "Zesílení alba: ?"
 
-#: src/wavpack/ui.cxx:471
+#: src/wavpack/ui.cxx:469
 msgid "Wavpack Configuration"
 msgstr "Nastavení Wavepacku"
 
-#: src/wavpack/ui.cxx:484
+#: src/wavpack/ui.cxx:482
 msgid "General Plugin Settings:"
 msgstr "Obecná nastavení modulu:"
 
-#: src/wavpack/ui.cxx:502
+#: src/wavpack/ui.cxx:500
 msgid "ReplayGain Settings:"
 msgstr "Nastavení pro zesílení přehrávání:"
 
-#: src/wavpack/ui.cxx:520
+#: src/wavpack/ui.cxx:518
 msgid "ReplayGain Type:"
 msgstr "Typ zesílení pro přehrávání:"
 
-#: src/wavpack/ui.cxx:531
+#: src/wavpack/ui.cxx:529
 msgid "use Track Gain/Peak"
 msgstr "použít zesílení/vrchol skladby"
 
-#: src/wavpack/ui.cxx:539
+#: src/wavpack/ui.cxx:537
 msgid "use Album Gain/Peak"
 msgstr "použít zesílení/vrchol alba"
 
-#: src/wma/wma.c:123
+#: src/wma/wma.c:120
 msgid ""
 "Adapted for use in Audacious by Tony Vroon (chainsaw@gentoo.org) from\n"
 "the BEEP-WMA plugin which is Copyright (C) 2004,2005 Mokrushin I.V. aka "
@@ -5254,6 +6390,10 @@
 "<bogorodskiy@inbox.ru>.\n"
 "Tento modul je postaven na otevřeném zdrojovém kódu "
 
+#~ msgid "Descriptions of <i>SID-specific</i> Tuplez fields go here. <b>:D</b>"
+#~ msgstr ""
+#~ "Popis <i>pro SID specifických</i> Tuplez položek patří sem. <b>:D</b>"
+
 #~ msgid "Error initializing song-length database!\n"
 #~ msgstr "Chyba při inicializaci databáze délek skladeb!\n"
 
@@ -5385,9 +6525,6 @@
 #~ msgid "Could not allocate memory for t_xs_tuneinfo ('%s')\n"
 #~ msgstr "Paměť pro t_xs_tuneinfo („%s“) nelze alokovat\n"
 
-#~ msgid "Could not allocate sidFilename ('%s')\n"
-#~ msgstr "sidFilename („%s“) nelze alokovat\n"
-
 #~ msgid "Could not allocate memory for t_xs_subtuneinfo ('%s', %i)\n"
 #~ msgstr "Paměť pro t_xs_subtuneinfo („%s“, %i) nelze alokovat\n"
 
@@ -5454,9 +6591,6 @@
 #~ msgid "Play/Pause:"
 #~ msgstr "Hrát/Pozastavit"
 
-#~ msgid "File Info"
-#~ msgstr "Informace o souboru"
-
 #~ msgid "Couldn't open file!"
 #~ msgstr "Soubor nebylo možné otevřít!"
 
@@ -5508,9 +6642,6 @@
 #~ msgid "mp3gain minmax=%4s (max-min=%+6.3fdB)"
 #~ msgstr "minmax zesílení MP3%4s (max-min=%+6.3f dB)"
 
-#~ msgid "Blues"
-#~ msgstr "Blues"
-
 #~ msgid "Classic Rock"
 #~ msgstr "Klasický rock"
 
@@ -5577,9 +6708,6 @@
 #~ msgid "Death Metal"
 #~ msgstr "Death Metal"
 
-#~ msgid "Pranks"
-#~ msgstr "Žerty"
-
 #~ msgid "Soundtrack"
 #~ msgstr "Soundtrack"
 
@@ -5631,9 +6759,6 @@
 #~ msgid "AlternRock"
 #~ msgstr "Alternativní rock"
 
-#~ msgid "Bass"
-#~ msgstr "Bass"
-
 #~ msgid "Soul"
 #~ msgstr "Soul"
 
@@ -5715,9 +6840,6 @@
 #~ msgid "Rave"
 #~ msgstr "Rave"
 
-#~ msgid "Showtunes"
-#~ msgstr "Showtunes"
-
 #~ msgid "Trailer"
 #~ msgstr "Trailer"
 
@@ -5736,9 +6858,6 @@
 #~ msgid "Polka"
 #~ msgstr "Polka"
 
-#~ msgid "Retro"
-#~ msgstr "Retro"
-
 #~ msgid "Musical"
 #~ msgstr "Muzikál"
 
@@ -5980,9 +7099,6 @@
 #~ msgid "Description:"
 #~ msgstr "Popis:"
 
-#~ msgid "Location:"
-#~ msgstr "Umístění:"
-
 #~ msgid "Version:"
 #~ msgstr "Verze:"
 
@@ -6037,9 +7153,6 @@
 #~ msgid "%d Bytes"
 #~ msgstr "%d bajtů"
 
-#~ msgid "%s - Audacious"
-#~ msgstr "%s – Audacious"
-
 #~ msgid "OSS Output Plugin"
 #~ msgstr "OSS výstupní modul"
 
@@ -6499,12 +7612,6 @@
 #~ msgid "Noise shaping"
 #~ msgstr "Tvarování šumu"
 
-#~ msgid "low"
-#~ msgstr "nízké"
-
-#~ msgid "medium"
-#~ msgstr "střední"
-
 #~ msgid "high"
 #~ msgstr "vysoké"
 
@@ -6591,9 +7698,6 @@
 #~ "1. jsou přístupné,\n"
 #~ "2. máte povolené příslušné moduly."
 
-#~ msgid "Don't show this warning anymore"
-#~ msgstr "Příště již nevarovat"
-
 #~ msgid "Show more _details"
 #~ msgstr "Ukaž podrobné _informace"
 
@@ -6838,27 +7942,6 @@
 #~ msgid "Welsh:"
 #~ msgstr "Welština:"
 
-#~ msgid "Audacious Equalizer"
-#~ msgstr "Ekvalizér"
-
-#~ msgid "Presets"
-#~ msgstr "Předvolby"
-
-#~ msgid "stereo"
-#~ msgstr "stereo"
-
-#~ msgid "minutes:seconds"
-#~ msgstr "minuty:sekundy"
-
-#~ msgid "Track length:"
-#~ msgstr "Délka stopy:"
-
-#~ msgid "Enter location to play:"
-#~ msgstr "Zadejte adresu, z které se má hrát:"
-
-#~ msgid "SEEK TO: %d:%-2.2d/%d:%-2.2d (%d%%)"
-#~ msgstr "PŘEJÍT NA %d:%-2.2d/%d:%-2.2d (%d%%)"
-
 #~ msgid "VOLUME: %d%%"
 #~ msgstr "Hlasitost: %d%%"
 
@@ -6892,425 +7975,18 @@
 #~ msgid "VISUALIZATION MENU"
 #~ msgstr "NASTAVENÍ ZOBRAZENÍ"
 
-#~ msgid ""
-#~ "<b><big>Couldn't open audio.</big></b>\n"
-#~ "\n"
-#~ "Please check that:\n"
-#~ "1. You have the correct output plugin selected.\n"
-#~ "2. No other programs is blocking the soundcard.\n"
-#~ "3. Your soundcard is configured properly.\n"
-#~ msgstr ""
-#~ "<b><big>Nelze přehrávat.</big></b>\n"
-#~ "\n"
-#~ "Zkontrolujte, zda:\n"
-#~ "1. máte vybrán správný výstupní modul,\n"
-#~ "2. žádný jiný program neblokuje zvukovou kartu,\n"
-#~ "3. vaše karta je správně nakonfigurována.\n"
-
 #~ msgid "Error in Audacious."
 #~ msgstr "Chyba v Audacious"
 
-#~ msgid "Autoscroll Songname"
-#~ msgstr "Automatický posun názvu skladby"
-
-#~ msgid "Stop after Current Song"
-#~ msgstr "Zastavit po současné skladbě"
-
-#~ msgid "Repeat"
-#~ msgstr "Opakovat"
-
-#~ msgid "Shuffle"
-#~ msgstr "Náhodné přehrávání"
-
-#~ msgid "No Playlist Advance"
-#~ msgstr "Žádné pokračování dle seznamu skladeb"
-
-#~ msgid "Show Player"
-#~ msgstr "Zobrazit přehrávač"
-
-#~ msgid "Show Playlist Editor"
-#~ msgstr "Zobrazit editor seznamu skladeb"
-
-#~ msgid "Always on Top"
-#~ msgstr "Vždy na vrchu"
-
-#~ msgid "Put on All Workspaces"
-#~ msgstr "Zobrazovat na všech plochách"
-
-#~ msgid "Roll up Player"
-#~ msgstr "Sbalit přehrávač"
-
-#~ msgid "Roll up Playlist Editor"
-#~ msgstr "Sbalit editor seznamu skladeb"
-
-#~ msgid "Roll up Equalizer"
-#~ msgstr "Sbalit ekvalizér"
-
-#~ msgid "DoubleSize"
-#~ msgstr "Dvojitá velikost"
-
-#~ msgid "Easy Move"
-#~ msgstr "Snadný pohyb"
-
-#~ msgid "Scope"
-#~ msgstr "Vlnovka"
-
-#~ msgid "Voiceprint"
-#~ msgstr "Otisk"
-
-#~ msgid "Off"
-#~ msgstr "Žádný"
-
-#~ msgid "Normal"
-#~ msgstr "Normální"
-
-#~ msgid "Fire"
-#~ msgstr "Oheň"
-
-#~ msgid "Vertical Lines"
-#~ msgstr "Svislé čáry"
-
-#~ msgid "Line Scope"
-#~ msgstr "Čárová vlnovka"
-
-#~ msgid "Solid Scope"
-#~ msgstr "Plná vlnovka"
-
-#~ msgid "Ice"
-#~ msgstr "Led"
-
-#~ msgid "Smooth"
-#~ msgstr "Plynulý"
-
-#~ msgid "Full (~50 fps)"
-#~ msgstr "Plná (~50 Hz)"
-
-#~ msgid "Half (~25 fps)"
-#~ msgstr "Poloviční (~25 Hz)"
-
-#~ msgid "Quarter (~13 fps)"
-#~ msgstr "Čtvrtinová (~13 Hz)"
-
-#~ msgid "Eighth (~6 fps)"
-#~ msgstr "Osminová (~6 Hz)"
-
-#~ msgid "Fast"
-#~ msgstr "Rychlé"
-
-#~ msgid "Fastest"
-#~ msgstr "Nejrychlejší"
-
-#~ msgid "Time Elapsed"
-#~ msgstr "Dosažený čas"
-
-#~ msgid "Time Remaining"
-#~ msgstr "Zbývající čas"
-
 #~ msgid "Play CD"
 #~ msgstr "Přehrát CD"
 
-#~ msgid "Visualization"
-#~ msgstr "Znázornění"
-
-#~ msgid "Visualization Mode"
-#~ msgstr "Typ znázornění"
-
-#~ msgid "Analyzer Mode"
-#~ msgstr "Typ sloupců"
-
-#~ msgid "Scope Mode"
-#~ msgstr "Typ vlnovky"
-
-#~ msgid "Voiceprint Mode"
-#~ msgstr "Typ otisku"
-
-#~ msgid "WindowShade VU Mode"
-#~ msgstr "Typ WindowShade VU"
-
-#~ msgid "Refresh Rate"
-#~ msgstr "Rychlost překreslování"
-
-#~ msgid "Analyzer Falloff"
-#~ msgstr "Klesání sloupců"
-
-#~ msgid "Peaks Falloff"
-#~ msgstr "Klesání vrcholků"
-
-#~ msgid "New Playlist"
-#~ msgstr "Nový seznam skladeb"
-
-#~ msgid "Select Next Playlist"
-#~ msgstr "Vybrat následující seznam skladeb"
-
-#~ msgid "Select Previous Playlist"
-#~ msgstr "Vybrat předchozí seznam skladeb"
-
-#~ msgid "Load List"
-#~ msgstr "Načíst seznam skladeb"
-
-#~ msgid "Loads a playlist file into the selected playlist."
-#~ msgstr "Načte soubor se seznamem skladeb do vybraného seznamu."
-
-#~ msgid "Save List"
-#~ msgstr "Uložit seznam"
-
-#~ msgid "Saves the selected playlist."
-#~ msgstr "Uloží vybraný seznam skladeb."
-
-#~ msgid "Save Default List"
-#~ msgstr "Uložit standardní seznam"
-
-#~ msgid "Saves the selected playlist to the default location."
-#~ msgstr "Uloží vybraný seznam skladeb na standardní místo."
-
-#~ msgid "Refresh List"
-#~ msgstr "Obnovit seznam"
-
-#~ msgid "Refreshes metadata associated with a playlist entry."
-#~ msgstr "Obnovuje metadata náležící skladbě ze seznamu."
-
-#~ msgid "List Manager"
-#~ msgstr "Správce seznamů"
-
-#~ msgid "Opens the playlist manager."
-#~ msgstr "Otevře správce seznamu skladeb."
-
-#~ msgid "View"
-#~ msgstr "Zobrazení"
-
-#~ msgid "Adds a CD to the playlist."
-#~ msgstr "Přidá CD do seznamu skladeb"
-
-#~ msgid "Add Internet Address..."
-#~ msgstr "Přidat internetovou adresu…"
-
-#~ msgid "Adds a remote track to the playlist."
-#~ msgstr "Do seznamu přidá vzdálenou stopu."
-
-#~ msgid "Add Files..."
-#~ msgstr "Přidat soubory…"
-
-#~ msgid "Search and Select"
-#~ msgstr "Hledání a výběr"
-
-#~ msgid ""
-#~ "Searches the playlist and selects playlist entries based on specific "
-#~ "criteria."
-#~ msgstr ""
-#~ "Prohledá seznam skladeb a vybere skladby ze seznamu podle zadaných "
-#~ "omezení."
-
-#~ msgid "Inverts the selected and unselected entries."
-#~ msgstr "Zamění vybrané a nevybrané položky."
-
-#~ msgid "Select All"
-#~ msgstr "Vybrat vše"
-
-#~ msgid "Selects all of the playlist entries."
-#~ msgstr "Vybere všechny skladby v seznamu."
-
-#~ msgid "Deselects all of the playlist entries."
-#~ msgstr "Žádná skladba v seznamu nebude vybraná."
-
-#~ msgid "Clear Queue"
-#~ msgstr "Vyprázdnit frontu"
-
-#~ msgid "Clears the queue associated with this playlist."
-#~ msgstr "Vyprázdní frontu spojenou s tímto seznamem skladeb."
-
-#~ msgid "Remove Unavailable Files"
-#~ msgstr "Odstranit nedostupné soubory"
-
-#~ msgid "Removes unavailable files from the playlist."
-#~ msgstr "Ze seznamu skladeb odstraní nedostupné soubory."
-
-#~ msgid "Remove Duplicates"
-#~ msgstr "Odebrat duplikáty"
-
-#~ msgid "By Title"
-#~ msgstr "Podle názvu"
-
-#~ msgid "Removes duplicate entries from the playlist by title."
-#~ msgstr "Ze seznamu odstraní skladby na základě jejich názvu."
-
-#~ msgid "By Filename"
-#~ msgstr "Podle jména souboru"
-
-#~ msgid "Removes duplicate entries from the playlist by filename."
-#~ msgstr "Ze seznamu odstraní skladby na základě jména souboru."
-
-#~ msgid "By Path + Filename"
-#~ msgstr "Podle cesty a jména souboru"
-
-#~ msgid "Removes duplicate entries from the playlist by their full path."
-#~ msgstr "Ze seznamu odstraní skladby na základě celé cesty."
-
-#~ msgid "Remove All"
-#~ msgstr "Odebrat všechny"
-
-#~ msgid "Removes all entries from the playlist."
-#~ msgstr "Ze seznamu odstraní všechny skladby."
-
-#~ msgid "Remove Unselected"
-#~ msgstr "Odebrat neoznačené"
-
-#~ msgid "Remove unselected entries from the playlist."
-#~ msgstr "Odebrat neoznačené skladby se seznamu."
-
-#~ msgid "Remove Selected"
-#~ msgstr "Odebrat označené"
-
-#~ msgid "Remove selected entries from the playlist."
-#~ msgstr "Odebrat označené skladby ze seznamu."
-
-#~ msgid "Randomize List"
-#~ msgstr "Zamíchat pořadí"
-
-#~ msgid "Randomizes the playlist."
-#~ msgstr "Sklady v seznamu seřadí náhodně."
-
-#~ msgid "Reverse List"
-#~ msgstr "Otočit seznam"
-
-#~ msgid "Reverses the playlist."
-#~ msgstr "Obrátí pořadí skladeb v seznamu."
-
-#~ msgid "Sort List"
-#~ msgstr "Seřadit seznam"
-
-#~ msgid "Sorts the list by title."
-#~ msgstr "Seřadí seznam podle názvu."
-
-#~ msgid "By Artist"
-#~ msgstr "Podle umělce"
-
-#~ msgid "Sorts the list by artist."
-#~ msgstr "Skladby v seznam seřadí podle jména umělce."
-
-#~ msgid "Sorts the list by filename."
-#~ msgstr "Skladby v seznamu seřadí podle jména souboru"
-
-#~ msgid "Sorts the list by full pathname."
-#~ msgstr "Skladby v seznamu seřadí podle celé cesty."
-
-#~ msgid "By Date"
-#~ msgstr "Podle data"
-
-#~ msgid "Sorts the list by modification time."
-#~ msgstr ""
-#~ "Skladby v seznamu seřadí podle času poslední změny v obsahu souboru."
-
-#~ msgid "By Track Number"
-#~ msgstr "Podle čísla stopy"
-
-#~ msgid "Sorts the list by track number."
-#~ msgstr "Skladby v seznamu seřadí podle čísla stopy."
-
-#~ msgid "By Playlist Entry"
-#~ msgstr "Podle položek v seznamu"
-
-#~ msgid "Sorts the list by playlist entry."
-#~ msgstr "Skladby seřadí podle položek seznamu."
-
-#~ msgid "Sort Selected"
-#~ msgstr "Seřadit vybrané"
-
-#~ msgid "View Track Details"
-#~ msgstr "Zobrazit inforamce o skladbě"
-
-#~ msgid "View track details"
-#~ msgstr "Zobrazit inforamce o skladbě"
-
-#~ msgid "Play File"
-#~ msgstr "Přehrát soubor"
-
-#~ msgid "Preferences"
-#~ msgstr "Nastavení"
-
-#~ msgid "Open preferences window"
-#~ msgstr "Otevřít okno s nastavením"
-
-#~ msgid "_Quit"
-#~ msgstr "_Konec"
-
-#~ msgid "Quit Audacious"
-#~ msgstr "O Audacious"
-
-#~ msgid "Set A-B"
-#~ msgstr "Nastavit A-B"
-
-#~ msgid "Clear A-B"
-#~ msgstr "Vyprázdnit A-B"
-
-#~ msgid "Jump to Playlist Start"
-#~ msgstr "Přejít na začátek seznamu skladeb"
-
-#~ msgid "Queue Toggle"
-#~ msgstr "Přepnout frontu"
-
-#~ msgid "Enables/disables the entry in the playlist's queue."
-#~ msgstr "Povolí/zakáže položku ve frontě seznamu skladeb."
-
-#~ msgid "Load"
-#~ msgstr "Načíst"
-
-#~ msgid "Load preset"
-#~ msgstr "Načíst předvolbu"
-
-#~ msgid "Auto-load preset"
-#~ msgstr "Souborová předvolba"
-
-#~ msgid "Load auto-load preset"
-#~ msgstr "Načíst souborovou předvolbu"
-
-#~ msgid "Load default preset into equalizer"
-#~ msgstr "Načíst standardní předvolbu do ekvalizéru"
-
-#~ msgid "Set equalizer preset levels to zero"
-#~ msgstr "Vynulovat předvolby ekvalizéru"
-
-#~ msgid "From WinAMP EQF file"
-#~ msgstr "Ze souboru WinAMP EQF"
-
-#~ msgid "Load preset from WinAMP EQF file"
-#~ msgstr "Načíst předvolbu ze souboru WinAMP EQF"
-
-#~ msgid "WinAMP Presets"
-#~ msgstr "Předvolby WinAMPu"
-
-#~ msgid "Import WinAMP presets"
-#~ msgstr "Importovat předvolby WinAMPu"
-
-#~ msgid "Save preset"
-#~ msgstr "Uložit předvolbu"
-
-#~ msgid "Save auto-load preset"
-#~ msgstr "Uložit souborovou předvolbu"
-
-#~ msgid "Save preset to file"
-#~ msgstr "Uložit předvolbu do souboru"
-
-#~ msgid "To WinAMP EQF file"
-#~ msgstr "Do souboru WinAMP EQF"
-
-#~ msgid "Save preset to WinAMP EQF file"
-#~ msgstr "Uložit předvolbu do souboru WinAMP EQF"
-
-#~ msgid "Delete preset"
-#~ msgstr "Smazat předvolbu"
-
-#~ msgid "Delete auto-load preset"
-#~ msgstr "Smazat souborovou předvolbu"
-
 #~ msgid "Appearance"
 #~ msgstr "Vzhled"
 
 #~ msgid "Connectivity"
 #~ msgstr "Připojení"
 
-#~ msgid "Equalizer"
-#~ msgstr "Ekvalizér"
-
 #~ msgid "Mouse"
 #~ msgstr "Myš"
 
@@ -7347,12 +8023,6 @@
 #~ msgid "Preferences Window"
 #~ msgstr "Okno nastavení"
 
-#~ msgid "Archived Winamp 2.x skin"
-#~ msgstr "Zabalený skin Winapmu 2.x"
-
-#~ msgid "Unarchived Winamp 2.x skin"
-#~ msgstr "Nezabalený skin Winampu 2.x"
-
 #~ msgid "Track Information Window"
 #~ msgstr "Okno s podrobnosti o stopě"
 
@@ -7374,53 +8044,6 @@
 #~ msgid "Close dialog on Add"
 #~ msgstr "Zavřít dialog při přidání"
 
-#~ msgid "Search entries in active playlist"
-#~ msgstr "Vyhledat skladby v současném seznamu skladeb"
-
-#~ msgid ""
-#~ "Select entries in playlist by filling one or more fields. Fields use "
-#~ "regular expressions syntax, case-insensitive. If you don't know how "
-#~ "regular expressions work, simply insert a literal portion of what you're "
-#~ "searching for."
-#~ msgstr ""
-#~ "Položky seznamu skladeb vyberete vyplněním jednoho, nebo více polí. Pole "
-#~ "používají regulární výrazy a neberou ohled na velikost písmen. Pokud "
-#~ "regulárním výrazům nerozumíte, jednoduše vložte části textu, které chcete "
-#~ "vyhledat."
-
-#~ msgid "Filename: "
-#~ msgstr "Jméno souboru: "
-
-#~ msgid "Clear previous selection before searching"
-#~ msgstr "Před hledáním vymazat předchozí výběr"
-
-#~ msgid "Automatically toggle queue for matching entries"
-#~ msgstr "Shodující se položky automaticky zařadit/vyřadit z fronty"
-
-#~ msgid "Create a new playlist with matching entries"
-#~ msgstr "Ze shodujících se položek vytvořit nový seznam skladeb"
-
-#~ msgid "Error writing playlist \"%s\": %s"
-#~ msgstr "Chyba při zapisování seznamu skladeb „%s“: %s"
-
-#~ msgid "%s already exist. Continue?"
-#~ msgstr "%s už existuje. Pokračovat?"
-
-#~ msgid ""
-#~ "<b><big>Unable to save playlist.</big></b>\n"
-#~ "\n"
-#~ "Unknown file type for '%s'.\n"
-#~ msgstr ""
-#~ "<b><big>Nelze uložit seznam skladeb.</big></b>\n"
-#~ "\n"
-#~ "Neznámý typ souboru %s.\n"
-
-#~ msgid "Save Playlist"
-#~ msgstr "Uložit seznam skladeb"
-
-#~ msgid "Audacious Playlist Editor"
-#~ msgstr "Zobrazit editor seznamu skladeb"
-
 #~ msgid "Add/Open URL Dialog"
 #~ msgstr "Dialog Přidat/otevřít URL"
 
@@ -7488,41 +8111,9 @@
 #~ msgid "Refresh skin list"
 #~ msgstr "Obnovit seznam skinů"
 
-#~ msgid "<b>_Fonts</b>"
-#~ msgstr "<b>_Fonty</b>"
-
-#~ msgid "_Playlist:"
-#~ msgstr "V seznamu sklade_b:"
-
-#~ msgid "Select main player window font:"
-#~ msgstr "Font v hlavním okně přehrávače:"
-
-#~ msgid ""
-#~ "Use bitmap fonts if they are available. Bitmap fonts do not support "
-#~ "Unicode strings."
-#~ msgstr ""
-#~ "Pokud to bude možné, použijí se bitmapové fonty. Bitmapové fonty "
-#~ "nepodporují unicodové řetězce."
-
-#~ msgid "<b>_Miscellaneous</b>"
-#~ msgstr "<b>_Různé</b>"
-
-#~ msgid "Show track numbers in playlist"
-#~ msgstr "Zobrazovat pořadová čísla v seznamu skladeb"
-
-#~ msgid "Show separators in playlist"
-#~ msgstr "Zobrazovat oddělovače v seznamu skladeb"
-
 #~ msgid "Use custom cursors"
 #~ msgstr "Použít vlastní kurzory"
 
-#~ msgid "This enables the window manager to show decorations for windows."
-#~ msgstr ""
-#~ "Tímto necháte rozhodnutí na správci oken, kdy má zobrazovat dekorace oken."
-
-#~ msgid "Show window manager decoration"
-#~ msgstr "Zobrazovat dekoraci podle správce oken"
-
 #~ msgid "Show window manager decorations"
 #~ msgstr "Zobrazovat dekorace podle správce oken"
 
@@ -7547,9 +8138,6 @@
 #~ msgid "Scrolls playlist by"
 #~ msgstr "posune seznam skladeb o"
 
-#~ msgid "lines"
-#~ msgstr "řádek."
-
 #~ msgid "Convert underscores to blanks"
 #~ msgstr "Převést podtržítka na mezery"
 
@@ -7565,9 +8153,6 @@
 #~ msgid "Load metadata (tag information) from music files."
 #~ msgstr "Načíst metadata (tagy) z hudebních souborů."
 
-#~ msgid "Load metadata from playlists and files"
-#~ msgstr "Načíst metadata ze seznamů skladeb a souborů"
-
 #~ msgid "Load metadata when adding the file to the playlist or opening it"
 #~ msgstr ""
 #~ "Načíst metadata při vložení souboru do seznamu skladeb nebo při otevření"
@@ -7776,55 +8361,6 @@
 #~ msgid "Delay until filepopup comes up: "
 #~ msgstr "Čekat na vyskakovací okno o souboru: "
 
-#~ msgid "Color Adjustment"
-#~ msgstr "Přizpůsobení barvy"
-
-#~ msgid ""
-#~ "Audacious allows you to alter the color balance of the skinned UI. The "
-#~ "sliders below will allow you to do this."
-#~ msgstr ""
-#~ "Audacious umožňuje změnit zabarvení měnitelného vzhledu uživatelského "
-#~ "rozhraní pomocí následujících jezdců."
-
-#~ msgid "Red"
-#~ msgstr "Červená"
-
-#~ msgid "Green"
-#~ msgstr "Zelená"
-
-#~ msgid "PREAMP"
-#~ msgstr "PREAMP"
-
-#~ msgid "60HZ"
-#~ msgstr "60 Hz"
-
-#~ msgid "170HZ"
-#~ msgstr "170 Hz"
-
-#~ msgid "310HZ"
-#~ msgstr "310 Hz"
-
-#~ msgid "600HZ"
-#~ msgstr "600 Hz"
-
-#~ msgid "1KHZ"
-#~ msgstr "1 kHz"
-
-#~ msgid "3KHZ"
-#~ msgstr "3 kHz"
-
-#~ msgid "6KHZ"
-#~ msgstr "6 kHz"
-
-#~ msgid "12KHZ"
-#~ msgstr "12 kHz"
-
-#~ msgid "14KHZ"
-#~ msgstr "14 kHz"
-
-#~ msgid "16KHZ"
-#~ msgstr "16 kHz"
-
 #~ msgid "Chinese:"
 #~ msgstr "Čínský:"
 
@@ -7989,12 +8525,6 @@
 #~ msgid "/Peaks Falloff/Fastest"
 #~ msgstr "/Klesání vrcholků/Nejrychlejší"
 
-#~ msgid "/Jump to Time"
-#~ msgstr "/Přejít na čas"
-
-#~ msgid "/About Audacious"
-#~ msgstr "/O Audacious"
-
 #~ msgid "/Files..."
 #~ msgstr "/Soubory..."
 
@@ -8165,9 +8695,6 @@
 #~ msgid "Decoder"
 #~ msgstr "Dekodér"
 
-#~ msgid "Disable ID3V2 tags"
-#~ msgstr "Zakázat ID3v2 tagy"
-
 #~ msgid "Dual channel"
 #~ msgstr "Dva kanály"
 
@@ -8227,9 +8754,6 @@
 #~ msgid "Vorbis encoding:"
 #~ msgstr "Vorbis - kódování:"
 
-#~ msgid "Audacious:"
-#~ msgstr "Audacious:"
-
 #~ msgid "William Pitcock"
 #~ msgstr "William Pitcock"
 
@@ -8680,9 +9204,6 @@
 #~ msgid "ms"
 #~ msgstr "ms"
 
-#~ msgid "same file"
-#~ msgstr "shodný soubor"
-
 #~ msgid ""
 #~ "Libvisual Audacious Plugin\n"
 #~ "\n"
--- a/po/cy.po	Thu Jul 03 17:23:34 2008 +0300
+++ b/po/cy.po	Thu Jul 03 17:37:11 2008 +0300
@@ -4,8 +4,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: audacious-plugins 1.3\n"
-"Report-Msgid-Bugs-To: http://bugs.audacious-media-player.org\n"
-"POT-Creation-Date: 2008-03-30 17:25+0200\n"
+"Report-Msgid-Bugs-To: http://bugzilla.atheme.org/\n"
+"POT-Creation-Date: 2008-06-21 08:27+0300\n"
 "PO-Revision-Date: 2007-02-12 03:37-0600\n"
 "Last-Translator: William Pitcock <nenolod@sacredspiral.co.uk>\n"
 "Language-Team: Welsh <i18n+cy@sacredspiral.co.uk>\n"
@@ -15,50 +15,50 @@
 "X-Poedit-Language: Welsh\n"
 "X-Poedit-SourceCharset: utf-8\n"
 
-#: src/aac/libmp4.c:286
+#: src/aac/libmp4.c:283
 msgid "Using libfaad2-"
 msgstr ""
 
-#: src/aac/libmp4.c:287
+#: src/aac/libmp4.c:284
 msgid ""
 " for decoding.\n"
 "FAAD2 AAC/HE-AAC/HE-AACv2/DRM decoder (c) Nero AG, www.nero.com\n"
 "Copyright (c) 2005-2006 Audacious team"
 msgstr ""
 
-#: src/aac/libmp4.c:291
+#: src/aac/libmp4.c:288
 #, fuzzy
 msgid "About MP4 AAC player plugin"
 msgstr "Ynghylch Ategyn Sain MPEG"
 
-#: src/aac/libmp4.c:293 src/adplug/adplug-xmms.cc:182
-#: src/adplug/adplug-xmms.cc:265 src/adplug/adplug-xmms.cc:526
-#: src/alac/plugin.c:77 src/arts/arts.c:26 src/arts/configure.c:90
-#: src/audiocompress/audacious-glue.c:102
-#: src/audiocompress/audacious-glue.c:552 src/cdaudio-ng/configure.c:228
-#: src/console/Audacious_Driver.cxx:449 src/demac/plugin.c:393
-#: src/echo_plugin/gui.c:26 src/echo_plugin/gui.c:137 src/esd/about.c:49
-#: src/filewriter/filewriter.c:183 src/jack/configure.c:141
-#: src/jack/jack.c:456 src/madplug/plugin.c:542 src/madplug/plugin.c:566
-#: src/metronom/metronom.c:88 src/modplug/gui/main.cxx:49
-#: src/musepack/libmpc.cxx:232 src/null/null.c:67 src/null/null.c:110
-#: src/OSS4/about.c:59 src/OSS/about.c:54 src/paranormal-ng/plugin.c:283
-#: src/paranormal/plugin.c:291 src/scrobbler/gtkstuff.c:25
-#: src/sndfile/plugin.c:565 src/statusicon/si_ui.c:628
-#: src/stereo_plugin/stereo.c:53 src/stereo_plugin/stereo.c:116
-#: src/sun/about.c:38 src/sun/configure.c:559 src/timidity/interface.c:222
-#: src/timidity/xmms-timidity.c:120 src/tonegen/tonegen.c:62
-#: src/tta/libtta.c:153 src/tta/libtta.c:267 src/tta/libtta.c:402
-#: src/vorbis/vorbis.c:700 src/vtx/about.c:32 src/vtx/info.c:43
-#: src/wavpack/ui.cxx:56 src/wavpack/ui.cxx:556
+#: src/aac/libmp4.c:290 src/adplug/adplug-xmms.cc:180
+#: src/adplug/adplug-xmms.cc:263 src/adplug/adplug-xmms.cc:524
+#: src/alac/plugin.c:74 src/arts/arts.c:25 src/arts/configure.c:90
+#: src/audiocompress/audacious-glue.c:110
+#: src/audiocompress/audacious-glue.c:560 src/cdaudio-ng/configure.c:242
+#: src/console/Audacious_Driver.cxx:447 src/crystalizer/crystalizer.c:113
+#: src/demac/plugin.c:364 src/echo_plugin/gui.c:24 src/echo_plugin/gui.c:135
+#: src/esd/about.c:48 src/filewriter/filewriter.c:183 src/jack/configure.c:140
+#: src/jack/jack.c:454 src/madplug/plugin.c:679 src/madplug/plugin.c:703
+#: src/metronom/metronom.c:87 src/modplug/gui/main.cxx:52
+#: src/musepack/libmpc.cxx:228 src/null/null.c:64 src/null/null.c:107
+#: src/OSS4/OSS4.c:55 src/OSS/OSS.c:52 src/paranormal-ng/plugin.c:282
+#: src/paranormal/plugin.c:290 src/scrobbler/gtkstuff.c:22
+#: src/sndfile/plugin.c:571 src/statusicon/si_ui.c:626
+#: src/stereo_plugin/stereo.c:52 src/stereo_plugin/stereo.c:115
+#: src/sun/about.c:37 src/sun/configure.c:557 src/timidity/interface.c:222
+#: src/timidity/xmms-timidity.c:117 src/tonegen/tonegen.c:61
+#: src/tta/libtta.c:150 src/tta/libtta.c:264 src/tta/libtta.c:399
+#: src/vorbis/vorbis.c:696 src/vtx/about.c:26 src/vtx/info.c:38
+#: src/wavpack/ui.cxx:54 src/wavpack/ui.cxx:554
 msgid "Ok"
 msgstr "Iawn"
 
-#: src/adplug/adplug-xmms.cc:171
+#: src/adplug/adplug-xmms.cc:169
 msgid "About "
 msgstr "Ynghylch"
 
-#: src/adplug/adplug-xmms.cc:175
+#: src/adplug/adplug-xmms.cc:173
 msgid ""
 "\n"
 "Copyright (C) 2002, 2003 Simon Peter <dn.tlp@gmx.net>\n"
@@ -80,211 +80,211 @@
 "Peter, et al.\n"
 "Fersiwn cynnwys AdPlug llyfrgell:"
 
-#: src/adplug/adplug-xmms.cc:256
+#: src/adplug/adplug-xmms.cc:254
 #, fuzzy
 msgid "AdPlug :: Configuration"
 msgstr "AMIDI-Plug - ffurfweddu"
 
-#: src/adplug/adplug-xmms.cc:275 src/alarm/interface.c:1398
+#: src/adplug/adplug-xmms.cc:273 src/alarm/interface.c:1398
 #: src/alsa/configure.c:389 src/arts/configure.c:91
-#: src/audiocompress/audacious-glue.c:557 src/cdaudio-ng/configure.c:232
-#: src/echo_plugin/gui.c:145 src/jack/configure.c:148
-#: src/modplug/gui/interface.cxx:714 src/modplug/gui/modplug.glade:1668
-#: src/musepack/libmpc.cxx:237 src/musepack/libmpc.cxx:557 src/null/null.c:111
-#: src/sid/xmms-sid.glade:3080 src/sid/xs_interface.c:1250
-#: src/stereo_plugin/stereo.c:125 src/sun/configure.c:567
-#: src/timidity/interface.c:230 src/wavpack/ui.cxx:280 src/wavpack/ui.cxx:563
+#: src/audiocompress/audacious-glue.c:565 src/cdaudio-ng/configure.c:246
+#: src/crystalizer/crystalizer.c:122 src/echo_plugin/gui.c:143
+#: src/jack/configure.c:147 src/modplug/gui/interface.cxx:714
+#: src/modplug/gui/modplug.glade:1668 src/musepack/libmpc.cxx:233
+#: src/musepack/libmpc.cxx:553 src/null/null.c:108
+#: src/stereo_plugin/stereo.c:124 src/sun/configure.c:565
+#: src/timidity/interface.c:230 src/wavpack/ui.cxx:278 src/wavpack/ui.cxx:561
 msgid "Cancel"
 msgstr "Dileu"
 
-#: src/adplug/adplug-xmms.cc:291 src/console/Audacious_Config.cxx:145
-#: src/madplug/configure.c:290 src/modplug/gui/interface.cxx:628
+#: src/adplug/adplug-xmms.cc:289 src/console/Audacious_Config.cxx:144
+#: src/madplug/configure.c:289 src/modplug/gui/interface.cxx:628
 #: src/modplug/gui/interface.cxx:887 src/modplug/gui/modplug.glade:1404
 #: src/modplug/gui/modplug.glade:1804
 msgid "General"
 msgstr "Cyffredinol"
 
-#: src/adplug/adplug-xmms.cc:303
+#: src/adplug/adplug-xmms.cc:301
 #, fuzzy
 msgid "Sound quality"
 msgstr "Clip Sain"
 
-#: src/adplug/adplug-xmms.cc:308 src/modplug/gui/interface.cxx:187
+#: src/adplug/adplug-xmms.cc:306 src/modplug/gui/interface.cxx:187
 #: src/modplug/gui/modplug.glade:113
 #, fuzzy
 msgid "Resolution"
 msgstr "Cydraniad:"
 
-#: src/adplug/adplug-xmms.cc:310
+#: src/adplug/adplug-xmms.cc:308
 #, fuzzy
 msgid "8bit"
 msgstr "8 did"
 
-#: src/adplug/adplug-xmms.cc:315
+#: src/adplug/adplug-xmms.cc:313
 #, fuzzy
 msgid "16bit"
 msgstr "16 did"
 
-#: src/adplug/adplug-xmms.cc:323 src/modplug/gui/interface.cxx:218
+#: src/adplug/adplug-xmms.cc:321 src/modplug/gui/interface.cxx:218
 #: src/modplug/gui/modplug.glade:199 src/timidity/interface.c:148
 msgid "Channels"
 msgstr "Sianeli:"
 
-#: src/adplug/adplug-xmms.cc:325 src/filewriter/mp3.c:900
-#: src/sid/xmms-sid.glade:157 src/sid/xs_interface.c:288
+#: src/adplug/adplug-xmms.cc:323 src/filewriter/mp3.c:900
+#: src/sid/xmms-sid.glade:157 src/sid/xs_interface.c:300
 #: src/timidity/interface.c:165
 msgid "Mono"
 msgstr "Mono"
 
-#: src/adplug/adplug-xmms.cc:330 src/filewriter/mp3.c:895
+#: src/adplug/adplug-xmms.cc:328 src/filewriter/mp3.c:895
 #: src/modplug/gui/interface.cxx:204 src/modplug/gui/modplug.glade:159
-#: src/sid/xmms-sid.glade:176 src/sid/xs_interface.c:295
+#: src/sid/xmms-sid.glade:176 src/sid/xs_interface.c:307
 #: src/timidity/interface.c:173
 msgid "Stereo"
 msgstr "Stereo"
 
-#: src/adplug/adplug-xmms.cc:334
+#: src/adplug/adplug-xmms.cc:332
 msgid ""
 "Setting stereo is not recommended, unless you need to. This won't add any "
 "stereo effects to the sound - OPL2 is just mono - but eats up more CPU power!"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:342
+#: src/adplug/adplug-xmms.cc:340
 msgid "Frequency"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:378 src/adplug/adplug-xmms.cc:582
-#: src/console/Audacious_Config.cxx:147
+#: src/adplug/adplug-xmms.cc:376 src/adplug/adplug-xmms.cc:580
+#: src/console/Audacious_Config.cxx:146 src/skins/ui_manager.c:175
 msgid "Playback"
 msgstr "Chwarae"
 
-#: src/adplug/adplug-xmms.cc:382
+#: src/adplug/adplug-xmms.cc:380
 msgid "Detect songend"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:386
+#: src/adplug/adplug-xmms.cc:384
 msgid ""
 "If enabled, XMMS will detect a song's ending, stop it and advance in the "
 "playlist. If disabled, XMMS won't take notice of a song's ending and loop it "
 "all over again and again."
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:397
+#: src/adplug/adplug-xmms.cc:395
 #, fuzzy
 msgid "Formats"
 msgstr "Fformat:"
 
-#: src/adplug/adplug-xmms.cc:404
+#: src/adplug/adplug-xmms.cc:402
 msgid "Format selection"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:407
+#: src/adplug/adplug-xmms.cc:405
 #, fuzzy
 msgid "Format"
 msgstr "Fformat:"
 
-#: src/adplug/adplug-xmms.cc:407
+#: src/adplug/adplug-xmms.cc:405
 msgid "Extension"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:447
+#: src/adplug/adplug-xmms.cc:445
 msgid ""
 "Selected file types will be recognized and played back by this plugin. "
 "Deselected types will be ignored to make room for other plugins to play "
 "these files."
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:533
+#: src/adplug/adplug-xmms.cc:531
 msgid "AdPlug :: File Info"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:555 src/amidi-plug/i_configure-fluidsynth.c:448
+#: src/adplug/adplug-xmms.cc:553 src/amidi-plug/i_configure-fluidsynth.c:448
 msgid "Filename"
 msgstr "Enw ffeil"
 
-#: src/adplug/adplug-xmms.cc:559
+#: src/adplug/adplug-xmms.cc:557 src/skins/ui_playlist.c:470
 #, fuzzy
 msgid "Title: "
 msgstr "Teitl:"
 
+#: src/adplug/adplug-xmms.cc:558
+msgid "Author: "
+msgstr ""
+
+#: src/adplug/adplug-xmms.cc:559
+#, fuzzy
+msgid "File Type: "
+msgstr "Maint ffeil:"
+
 #: src/adplug/adplug-xmms.cc:560
-msgid "Author: "
+msgid "Subsongs: "
 msgstr ""
 
 #: src/adplug/adplug-xmms.cc:561
 #, fuzzy
-msgid "File Type: "
-msgstr "Maint ffeil:"
-
-#: src/adplug/adplug-xmms.cc:562
-msgid "Subsongs: "
-msgstr ""
-
-#: src/adplug/adplug-xmms.cc:563
-#, fuzzy
 msgid "Instruments: "
 msgstr "Offerynnol"
 
-#: src/adplug/adplug-xmms.cc:568
+#: src/adplug/adplug-xmms.cc:566
 msgid "Orders: "
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:569
+#: src/adplug/adplug-xmms.cc:567
 msgid "Patterns: "
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:573
+#: src/adplug/adplug-xmms.cc:571
 #, fuzzy
 msgid "Song"
 msgstr "Swing"
 
-#: src/adplug/adplug-xmms.cc:599
+#: src/adplug/adplug-xmms.cc:597
 #, fuzzy
 msgid "Instrument name"
 msgstr "Offerynnol"
 
-#: src/adplug/adplug-xmms.cc:641
+#: src/adplug/adplug-xmms.cc:639
 #, fuzzy
 msgid "Song message"
 msgstr "Newid Cân %s"
 
-#: src/adplug/adplug-xmms.cc:663
+#: src/adplug/adplug-xmms.cc:661
 msgid "Subsong selection"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:727
+#: src/adplug/adplug-xmms.cc:725
 msgid "Order: "
 msgstr ""
 
+#: src/adplug/adplug-xmms.cc:726
+msgid "Pattern: "
+msgstr ""
+
 #: src/adplug/adplug-xmms.cc:728
-msgid "Pattern: "
-msgstr ""
-
-#: src/adplug/adplug-xmms.cc:730
 msgid "Row: "
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:731
+#: src/adplug/adplug-xmms.cc:729
 #, fuzzy
 msgid "Speed: "
 msgstr "Llais"
 
-#: src/adplug/adplug-xmms.cc:732
+#: src/adplug/adplug-xmms.cc:730
 #, fuzzy
 msgid "Timer: "
 msgstr "Teitl:"
 
-#: src/adplug/adplug-xmms.cc:733 src/console/Audacious_Config.cxx:225
-#: src/sid/xmms-sid.glade:332 src/sid/xs_interface.c:341
+#: src/adplug/adplug-xmms.cc:731 src/console/Audacious_Config.cxx:224
+#: src/sid/xmms-sid.glade:332 src/sid/xs_interface.c:353
 msgid "Hz"
 msgstr "Hz"
 
-#: src/alac/plugin.c:74
+#: src/alac/plugin.c:71
 #, fuzzy
 msgid "About Apple Lossless Audio Plugin"
 msgstr "Ynghylch Ategyn Ogg Vorbis"
 
-#: src/alac/plugin.c:75
+#: src/alac/plugin.c:72
 msgid ""
 "Copyright (c) 2006 Audacious team\n"
 "Portions (c) 2005-2006 David Hammerton <crazney -at- crazney.net>"
@@ -312,8 +312,8 @@
 
 #: src/alarm/interface.c:71 src/lirc/about.c:115
 #: src/modplug/gui/interface.cxx:971 src/modplug/gui/modplug.glade:2030
-#: src/sid/xmms-sid.glade:3643 src/sid/xs_about.c:214
-#: src/sid/xs_interface.c:1740
+#: src/sid/xmms-sid.glade:3837 src/sid/xs_about.c:214
+#: src/sid/xs_interface.c:1824
 msgid "Close"
 msgstr "Cau"
 
@@ -325,13 +325,12 @@
 msgid "This is your wakeup call."
 msgstr ""
 
-#: src/alarm/interface.c:124 src/alarm/interface.c:1389 src/alsa/about.c:46
+#: src/alarm/interface.c:124 src/alarm/interface.c:1389 src/alsa/about.c:45
 #: src/alsa/configure.c:383 src/cdaudio-ng/cdaudio-ng.c:247
-#: src/flacng/plugin.c:706 src/gnomeshortcuts/gnomeshortcuts.c:311
-#: src/hotkey/gui.c:671 src/modplug/gui/interface.cxx:702
-#: src/modplug/gui/modplug.glade:1642 src/pulse_audio/pulse_audio.c:738
-#: src/scrobbler/gtkstuff.c:45 src/sid/xmms-sid.glade:3066
-#: src/sid/xs_interface.c:1243
+#: src/flacng/plugin.c:705 src/gnomeshortcuts/gnomeshortcuts.c:310
+#: src/hotkey/gui.c:670 src/modplug/gui/interface.cxx:702
+#: src/modplug/gui/modplug.glade:1642 src/pulse_audio/pulse_audio.c:736
+#: src/scrobbler/gtkstuff.c:42 src/skins/plugin.c:130
 msgid "OK"
 msgstr "Iawn"
 
@@ -404,7 +403,8 @@
 #: src/alarm/interface.c:612 src/alarm/interface.c:660
 #: src/alarm/interface.c:708 src/alarm/interface.c:756
 #: src/alarm/interface.c:804 src/alarm/interface.c:852
-#: src/alarm/interface.c:900 src/OSS4/configure.c:138 src/OSS/configure.c:169
+#: src/alarm/interface.c:900 src/OSS4/configure.c:136 src/OSS/configure.c:168
+#: src/skins/ui_manager.c:447 src/skins/ui_manager.c:468
 msgid "Default"
 msgstr "Rhagosodedig"
 
@@ -452,9 +452,9 @@
 msgstr "cynnydd"
 
 #: src/alarm/interface.c:1087 src/sid/xmms-sid.glade:2007
-#: src/sid/xmms-sid.glade:2178 src/sid/xmms-sid.glade:2676
-#: src/sid/xs_interface.c:908 src/sid/xs_interface.c:962
-#: src/sid/xs_interface.c:1122
+#: src/sid/xmms-sid.glade:2178 src/sid/xmms-sid.glade:2746
+#: src/sid/xs_interface.c:920 src/sid/xs_interface.c:974
+#: src/sid/xs_interface.c:1154
 #, fuzzy
 msgid "seconds"
 msgstr "eiliad"
@@ -513,7 +513,7 @@
 msgid "Use reminder"
 msgstr "User Defined"
 
-#: src/alarm/interface.c:1328 src/sndstretch/sndstretch_xmms.c:377
+#: src/alarm/interface.c:1328 src/sndstretch/sndstretch_xmms.c:376
 #, fuzzy
 msgid "Options"
 msgstr "Dewisiadau:"
@@ -577,7 +577,7 @@
 "    toggle button if you want it to be shown.\n"
 msgstr ""
 
-#: src/alarm/interface.c:1366
+#: src/alarm/interface.c:1366 src/skins/ui_manager.c:386
 msgid "Help"
 msgstr ""
 
@@ -590,11 +590,11 @@
 msgid "Thankyou"
 msgstr "Tango"
 
-#: src/alsa/about.c:30
+#: src/alsa/about.c:29
 msgid "About ALSA Driver"
 msgstr "Ynghylch Gyrrwr ALSA"
 
-#: src/alsa/about.c:31
+#: src/alsa/about.c:30
 msgid ""
 "Audacious ALSA Driver\n"
 "\n"
@@ -644,8 +644,8 @@
 msgid "ALSA Driver configuration"
 msgstr "Ffurfweddu'r Gyrrwr ALSA"
 
-#: src/alsa/configure.c:274 src/OSS4/configure.c:186 src/OSS/configure.c:217
-#: src/sun/configure.c:183
+#: src/alsa/configure.c:274 src/OSS4/configure.c:184 src/OSS/configure.c:216
+#: src/sun/configure.c:181
 msgid "Audio device:"
 msgstr "Dyfais sain:"
 
@@ -657,7 +657,7 @@
 msgid "Mixer card:"
 msgstr "Cerdyn cymysgu"
 
-#: src/alsa/configure.c:313 src/OSS/configure.c:260 src/sun/configure.c:220
+#: src/alsa/configure.c:313 src/OSS/configure.c:259 src/sun/configure.c:218
 msgid "Mixer device:"
 msgstr "Dyfais cymysgu"
 
@@ -1245,8 +1245,8 @@
 "backend</span>"
 msgstr ""
 
-#: src/amidi-plug/i_fileinfo.c:169 src/sid/xmms-sid.glade:3465
-#: src/sid/xs_interface.c:1684
+#: src/amidi-plug/i_fileinfo.c:169 src/sid/xmms-sid.glade:3659
+#: src/sid/xs_interface.c:1768
 msgid "Name:"
 msgstr "Enw:"
 
@@ -1351,47 +1351,47 @@
 msgid "None"
 msgstr "Dim"
 
-#: src/aosd/aosd_trigger.c:75
+#: src/aosd/aosd_trigger.c:74
 msgid "Playback Start"
 msgstr "Cychwyn Chwarae"
 
-#: src/aosd/aosd_trigger.c:76
+#: src/aosd/aosd_trigger.c:75
 msgid "Triggers OSD when a playlist entry is played."
 msgstr ""
 
+#: src/aosd/aosd_trigger.c:79
+msgid "Title Change"
+msgstr "Newid Teitl"
+
 #: src/aosd/aosd_trigger.c:80
-msgid "Title Change"
-msgstr "Newid Teitl"
-
-#: src/aosd/aosd_trigger.c:81
 msgid ""
 "Triggers OSD when, during playback, the song title changes but the filename "
 "is the same. This is mostly useful to display title changes in internet "
 "streams."
 msgstr ""
 
-#: src/aosd/aosd_trigger.c:87
+#: src/aosd/aosd_trigger.c:86
 #, fuzzy
 msgid "Volume Change"
 msgstr "Newid Teitl"
 
-#: src/aosd/aosd_trigger.c:88
+#: src/aosd/aosd_trigger.c:87
 msgid "Triggers OSD when volume is changed."
 msgstr ""
 
+#: src/aosd/aosd_trigger.c:91
+msgid "Pause On"
+msgstr ""
+
 #: src/aosd/aosd_trigger.c:92
-msgid "Pause On"
-msgstr ""
-
-#: src/aosd/aosd_trigger.c:93
 msgid "Triggers OSD when playback is paused."
 msgstr ""
 
+#: src/aosd/aosd_trigger.c:96
+msgid "Pause Off"
+msgstr ""
+
 #: src/aosd/aosd_trigger.c:97
-msgid "Pause Off"
-msgstr ""
-
-#: src/aosd/aosd_trigger.c:98
 msgid "Triggers OSD when playback is unpaused."
 msgstr ""
 
@@ -1491,10 +1491,10 @@
 msgid "Skin file:"
 msgstr ""
 
-#: src/aosd/aosd_ui.c:644 src/sid/xmms-sid.glade:2331
-#: src/sid/xmms-sid.glade:2856 src/sid/xmms-sid.glade:2962
-#: src/sid/xs_interface.c:1010 src/sid/xs_interface.c:1182
-#: src/sid/xs_interface.c:1218
+#: src/aosd/aosd_ui.c:644 src/sid/xmms-sid.glade:2373
+#: src/sid/xmms-sid.glade:2968 src/sid/xmms-sid.glade:3136
+#: src/sid/xs_interface.c:1043 src/sid/xs_interface.c:1235
+#: src/sid/xs_interface.c:1291
 msgid "Browse"
 msgstr ""
 
@@ -1577,9 +1577,9 @@
 msgid "Trigger"
 msgstr "Trailer"
 
-#: src/aosd/aosd_ui.c:1076 src/cdaudio-ng/configure.c:167
+#: src/aosd/aosd_ui.c:1076 src/cdaudio-ng/configure.c:175
 #: src/modplug/gui/interface.cxx:688 src/modplug/gui/modplug.glade:1603
-#: src/sid/xmms-sid.glade:3026 src/sid/xs_interface.c:1229
+#: src/sid/xmms-sid.glade:3220 src/sid/xs_interface.c:1301
 #, fuzzy
 msgid "Misc"
 msgstr "Disgo"
@@ -1619,12 +1619,12 @@
 "http://neugierig.org/software/ghosd/\n"
 "\n"
 
-#: src/arts/arts.c:22
+#: src/arts/arts.c:21
 #, fuzzy
 msgid "About aRts Output"
 msgstr "Ynghylch Ategyn Allwyn Null"
 
-#: src/arts/arts.c:23
+#: src/arts/arts.c:22
 msgid ""
 "aRts output plugin by Håvard Kvålen <havardk@xmms.org>\n"
 "Audacious port by Giacomo Lozito from develia.org"
@@ -1634,26 +1634,26 @@
 msgid "aRts Driver configuration"
 msgstr "Ffurfweddu'r Gyrrwr aRts"
 
-#: src/arts/configure.c:61 src/esd/configure.c:171 src/OSS4/configure.c:232
-#: src/OSS/configure.c:304 src/sun/configure.c:259
+#: src/arts/configure.c:61 src/esd/configure.c:171 src/OSS4/configure.c:230
+#: src/OSS/configure.c:303 src/sun/configure.c:257
 msgid "Buffering:"
 msgstr "Byffyru:"
 
-#: src/arts/configure.c:73 src/esd/configure.c:184 src/OSS4/configure.c:245
-#: src/OSS/configure.c:317 src/sun/configure.c:272
+#: src/arts/configure.c:73 src/esd/configure.c:184 src/OSS4/configure.c:243
+#: src/OSS/configure.c:316 src/sun/configure.c:270
 msgid "Buffer size (ms):"
 msgstr "Maint y byffer (ms):"
 
-#: src/arts/configure.c:83 src/esd/configure.c:209 src/OSS4/configure.c:270
-#: src/OSS/configure.c:342 src/sun/configure.c:304
+#: src/arts/configure.c:83 src/esd/configure.c:209 src/OSS4/configure.c:268
+#: src/OSS/configure.c:341 src/sun/configure.c:302
 msgid "Buffering"
 msgstr "Byffyru:"
 
-#: src/audiocompress/audacious-glue.c:95
+#: src/audiocompress/audacious-glue.c:103
 msgid "AudioCompress "
 msgstr "AudioCompress "
 
-#: src/audiocompress/audacious-glue.c:96
+#: src/audiocompress/audacious-glue.c:104
 msgid ""
 "\n"
 "(c)2003 trikuare studios(http://trikuare.cx)\n"
@@ -1669,111 +1669,111 @@
 "Seml deinamig amrediad cywasgu am tryloyw\n"
 "cadw'r yr cyfrol lefel rhyw yr unrhyw"
 
-#: src/audiocompress/audacious-glue.c:101
+#: src/audiocompress/audacious-glue.c:109
 msgid "About AudioCompress"
 msgstr "Ynghylch AudioCompress"
 
-#: src/audiocompress/audacious-glue.c:320
+#: src/audiocompress/audacious-glue.c:328
 msgid ""
 "If checked, when the sound peaks the volume will be cut instantly; "
 "otherwise, it will ramp down just in time for the peak (but some minor "
 "clipping may still occur)."
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:324
+#: src/audiocompress/audacious-glue.c:332
 msgid "The maximum amount to amplify the audio by"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:326
+#: src/audiocompress/audacious-glue.c:334
 msgid "Defines how smoothly the volume will ramp up"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:328
+#: src/audiocompress/audacious-glue.c:336
 msgid ""
 "The target audio level for ramping up. Lowering the value gives a bit more "
 "dynamic range for peaks, but will make the overall sound quieter."
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:331
+#: src/audiocompress/audacious-glue.c:339
 msgid "How long of a window to maintain"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:372
+#: src/audiocompress/audacious-glue.c:380
 #, fuzzy
 msgid "AudioCompress preferences"
 msgstr "AudioCompress "
 
-#: src/audiocompress/audacious-glue.c:389
+#: src/audiocompress/audacious-glue.c:397
 msgid " Quality Options "
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:394
+#: src/audiocompress/audacious-glue.c:402
 msgid " Aggressively prevent clipping"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:406
+#: src/audiocompress/audacious-glue.c:414
 msgid " Target & gain"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:417
-msgid "Target audio level:"
-msgstr ""
-
 #: src/audiocompress/audacious-glue.c:425
+msgid "Target audio level:"
+msgstr ""
+
+#: src/audiocompress/audacious-glue.c:433
 #, fuzzy
 msgid "Maximum gain:"
 msgstr "Cynydd albwm:"
 
-#: src/audiocompress/audacious-glue.c:433
+#: src/audiocompress/audacious-glue.c:441
 msgid "Gain smooth:"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:485
+#: src/audiocompress/audacious-glue.c:493
 msgid " History "
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:517
+#: src/audiocompress/audacious-glue.c:525
 msgid ""
 "How long of a history to maintain.  A higher number will make the volume "
 "changes less responsive."
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:528
+#: src/audiocompress/audacious-glue.c:536
 msgid "Load default values"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:533
+#: src/audiocompress/audacious-glue.c:541
 #, fuzzy
 msgid "Audio values"
 msgstr "Dyfais sain:"
 
-#: src/audiocompress/audacious-glue.c:562 src/echo_plugin/gui.c:152
-#: src/modplug/gui/interface.cxx:708 src/modplug/gui/modplug.glade:1655
-#: src/stereo_plugin/stereo.c:132
+#: src/audiocompress/audacious-glue.c:570 src/crystalizer/crystalizer.c:129
+#: src/echo_plugin/gui.c:150 src/modplug/gui/interface.cxx:708
+#: src/modplug/gui/modplug.glade:1655 src/stereo_plugin/stereo.c:131
 msgid "Apply"
 msgstr "Gosod"
 
-#: src/blur_scope/blur_scope.c:54
+#: src/blur_scope/blur_scope.c:52
 msgid "/Toggle Decorations"
 msgstr "/Toggle Decorations"
 
-#: src/blur_scope/blur_scope.c:56
+#: src/blur_scope/blur_scope.c:54
 msgid "/-"
 msgstr "/-"
 
-#: src/blur_scope/blur_scope.c:57
+#: src/blur_scope/blur_scope.c:55
 msgid "/Close"
 msgstr "/Cau"
 
-#: src/blur_scope/blur_scope.c:181
+#: src/blur_scope/blur_scope.c:179
 msgid "Blur scope"
 msgstr "Blur scope"
 
-#: src/blur_scope/config.c:72
+#: src/blur_scope/config.c:71
 msgid "Blur Scope: Color selection"
 msgstr "Blur Scope: Color selection"
 
-#: src/blur_scope/config.c:82 src/jack/configure.c:108
+#: src/blur_scope/config.c:81 src/jack/configure.c:107
 msgid "Options:"
 msgstr "Dewisiadau:"
 
@@ -1803,111 +1803,116 @@
 "This was a Google Summer of Code 2007 project."
 msgstr ""
 
-#: src/cdaudio-ng/cdaudio-ng.c:814
+#: src/cdaudio-ng/cdaudio-ng.c:815
 msgid ""
 "<b><big>No playable CD found.</big></b>\n"
 "\n"
 "No CD inserted, or inserted CD is not an audio CD.\n"
 msgstr ""
 
-#: src/cdaudio-ng/configure.c:147
+#: src/cdaudio-ng/configure.c:155
 #, fuzzy
 msgid "CD Audio Plugin Configuration"
 msgstr "Ffurfweddiad Chwaraeydd MPEG Sain"
 
-#: src/cdaudio-ng/configure.c:157
+#: src/cdaudio-ng/configure.c:165
 msgid "Digital audio extraction"
 msgstr "Tynnu awdio digidôl"
 
-#: src/cdaudio-ng/configure.c:162
+#: src/cdaudio-ng/configure.c:170
 #, fuzzy
 msgid "Title information"
 msgstr "Fformat y teitl:"
 
-#: src/cdaudio-ng/configure.c:179
+#: src/cdaudio-ng/configure.c:187
 msgid "Limit read speed to: "
 msgstr ""
 
-#: src/cdaudio-ng/configure.c:186
+#: src/cdaudio-ng/configure.c:194
 #, fuzzy
 msgid "Use cd-text if available"
 msgstr "Stereo (os ar gael)"
 
-#: src/cdaudio-ng/configure.c:190
+#: src/cdaudio-ng/configure.c:198
 #, fuzzy
 msgid "Use CDDB if available"
 msgstr "Stereo (os ar gael)"
 
-#: src/cdaudio-ng/configure.c:194
+#: src/cdaudio-ng/configure.c:202
 #, fuzzy
 msgid "Server: "
 msgstr "Gwasanaethwr"
 
-#: src/cdaudio-ng/configure.c:197
+#: src/cdaudio-ng/configure.c:205
+#, fuzzy
+msgid "Path: "
+msgstr "Porth:"
+
+#: src/cdaudio-ng/configure.c:208
 #, fuzzy
 msgid "Port: "
 msgstr "Porth:"
 
-#: src/cdaudio-ng/configure.c:203
+#: src/cdaudio-ng/configure.c:217
 msgid "Use HTTP instead of CDDBP"
 msgstr ""
 
-#: src/cdaudio-ng/configure.c:211
+#: src/cdaudio-ng/configure.c:225
 msgid "Override default device: "
 msgstr ""
 
-#: src/cdaudio-ng/configure.c:218
+#: src/cdaudio-ng/configure.c:232
 msgid "Print debug information"
 msgstr ""
 
-#: src/console/Audacious_Config.cxx:125
+#: src/console/Audacious_Config.cxx:124
 msgid "Console Music Decoder"
 msgstr "Chwaraeydd Sbort Modiwl"
 
-#: src/console/Audacious_Config.cxx:162
+#: src/console/Audacious_Config.cxx:161
 msgid "Bass:"
 msgstr "Bas"
 
-#: src/console/Audacious_Config.cxx:166 src/console/Audacious_Config.cxx:177
-#: src/console/Audacious_Config.cxx:198
+#: src/console/Audacious_Config.cxx:165 src/console/Audacious_Config.cxx:176
+#: src/console/Audacious_Config.cxx:197
 msgid "secs"
 msgstr "eiliad"
 
-#: src/console/Audacious_Config.cxx:173
+#: src/console/Audacious_Config.cxx:172
 msgid "Treble:"
 msgstr "Trebl:"
 
-#: src/console/Audacious_Config.cxx:194
+#: src/console/Audacious_Config.cxx:193
 msgid "Default song length:"
 msgstr "Hyd cân rhagosodedig:"
 
-#: src/console/Audacious_Config.cxx:200 src/modplug/gui/interface.cxx:268
+#: src/console/Audacious_Config.cxx:199 src/modplug/gui/interface.cxx:268
 #: src/modplug/gui/modplug.glade:338 src/sid/xmms-sid.glade:1243
-#: src/sid/xs_interface.c:653
+#: src/sid/xs_interface.c:665
 msgid "Resampling"
 msgstr "Samplo"
 
-#: src/console/Audacious_Config.cxx:206
+#: src/console/Audacious_Config.cxx:205
 msgid "Enable audio resampling"
 msgstr "Gallougi sain dyblusampl"
 
-#: src/console/Audacious_Config.cxx:221
+#: src/console/Audacious_Config.cxx:220
 msgid "Resampling rate:"
 msgstr "Graddfa Samplo"
 
-#: src/console/Audacious_Config.cxx:236
+#: src/console/Audacious_Config.cxx:235
 msgid "SPC"
 msgstr "SPC"
 
+#: src/console/Audacious_Config.cxx:236
+msgid "Ignore length from SPC tags"
+msgstr "Diystyru hyd am SPC tagiau"
+
 #: src/console/Audacious_Config.cxx:237
-msgid "Ignore length from SPC tags"
-msgstr "Diystyru hyd am SPC tagiau"
-
-#: src/console/Audacious_Config.cxx:238
 msgid "Increase reverb"
 msgstr ""
 
-#: src/console/Audacious_Config.cxx:263
+#: src/console/Audacious_Config.cxx:262
 #, fuzzy
 msgid ""
 "The default song length, expressed in seconds, is used for songs that do not "
@@ -1917,11 +1922,11 @@
 "Rhagosodedig hyd sain, mynegiau yn eiliad, ys gallougi am sain pa arlwyo na "
 "hyd gwybodaeth (dollenau trac)."
 
-#: src/console/Audacious_Driver.cxx:444
+#: src/console/Audacious_Driver.cxx:442
 msgid "About the Console Music Decoder"
 msgstr "Ynghylch Ategyn Cerdd Console"
 
-#: src/console/Audacious_Driver.cxx:445
+#: src/console/Audacious_Driver.cxx:443
 msgid ""
 "Console music decoder engine based on Game_Music_Emu 0.5.2.\n"
 "Supported formats: AY, GBS, GYM, HES, KSS, NSF, NSFE, SAP, SPC, VGM, VGZ\n"
@@ -1933,12 +1938,21 @@
 "Audacious fersiwn at: William Pitcock <nenolod@nenolod.net>, \n"
 "        Shay Green <gblargg@gmail.com>"
 
-#: src/demac/plugin.c:388
+#: src/crystalizer/crystalizer.c:90
+#, fuzzy
+msgid "Configure Crystalizer"
+msgstr "Ffurfweddu Extra Stereo"
+
+#: src/crystalizer/crystalizer.c:92 src/stereo_plugin/stereo.c:94
+msgid "Effect intensity:"
+msgstr "Dwyster yr effaith:"
+
+#: src/demac/plugin.c:359
 #, fuzzy
 msgid "About Monkey's Audio Plugin"
 msgstr "Ynghylch Ategyn Sain MPEG"
 
-#: src/demac/plugin.c:389
+#: src/demac/plugin.c:360
 msgid ""
 "Copyright (C) 2007 Eugene Zagidullin <e.asphyx@gmail.com>\n"
 "Based on ffape decoder, Copyright (C) 2007 Benjamin Zores\n"
@@ -1947,7 +1961,7 @@
 "ffape is a part of FFmpeg project, http://ffmpeg.mplayerhq.hu/"
 msgstr ""
 
-#: src/echo_plugin/gui.c:11
+#: src/echo_plugin/gui.c:9
 msgid ""
 "Echo Plugin\n"
 "By Johan Levin 1999.\n"
@@ -1959,35 +1973,35 @@
 "\n"
 "Surround echo gan Carl van Schaik 1999"
 
-#: src/echo_plugin/gui.c:25
+#: src/echo_plugin/gui.c:23
 msgid "About Echo Plugin"
 msgstr "Ynghylch Ategyn Echo"
 
-#: src/echo_plugin/gui.c:76
+#: src/echo_plugin/gui.c:74
 msgid "Configure Echo"
 msgstr "Ffurfweddu Echo"
 
-#: src/echo_plugin/gui.c:89
+#: src/echo_plugin/gui.c:87
 msgid "Delay: (ms)"
 msgstr "Oediad: (ms)"
 
-#: src/echo_plugin/gui.c:94
+#: src/echo_plugin/gui.c:92
 msgid "Feedback: (%)"
 msgstr "Adborth: (%)"
 
-#: src/echo_plugin/gui.c:99
+#: src/echo_plugin/gui.c:97
 msgid "Volume: (%)"
 msgstr "Sain:(%)"
 
-#: src/echo_plugin/gui.c:122
+#: src/echo_plugin/gui.c:120
 msgid "Surround echo"
 msgstr "Adlais o amgylch"
 
-#: src/esd/about.c:34
+#: src/esd/about.c:33
 msgid "About ESounD Plugin"
 msgstr "Ynghylch Ategyn ESounD"
 
-#: src/esd/about.c:35
+#: src/esd/about.c:34
 msgid ""
 "Audacious ESounD Plugin\n"
 "\n"
@@ -2047,8 +2061,8 @@
 msgid "Server"
 msgstr "Gwasanaethwr"
 
-#: src/esd/configure.c:198 src/OSS4/configure.c:259 src/OSS/configure.c:331
-#: src/sun/configure.c:290
+#: src/esd/configure.c:198 src/OSS4/configure.c:257 src/OSS/configure.c:330
+#: src/sun/configure.c:288
 msgid "Pre-buffer (percent):"
 msgstr "Cyn fyffer (y cant):"
 
@@ -2126,93 +2140,93 @@
 msgid "Window->JumpToFile"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:94
+#: src/evdev-plug/ed_internals.c:93
 #, c-format
 msgid ""
 "event-device-plugin: unable to open device file %s , skipping this device; "
 "check that the file exists and that you have read permission for it\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:103
+#: src/evdev-plug/ed_internals.c:102
 #, c-format
 msgid ""
 "event-device-plugin: unable to create a io_channel for device file %s ,"
 "skipping this device\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:342
+#: src/evdev-plug/ed_internals.c:341
 msgid ""
 "event-device-plugin: unable to open /proc/bus/input/devices , automatic "
 "detection of event devices won't work.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:351
+#: src/evdev-plug/ed_internals.c:350
 msgid ""
 "event-device-plugin: unable to open a io_channel for /proc/bus/input/"
 "devices , automatic detection of event devices won't work.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:361
+#: src/evdev-plug/ed_internals.c:360
 msgid ""
 "event-device-plugin: an error occurred while reading /proc/bus/input/"
 "devices , automatic detection of event devices won't work.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:424
+#: src/evdev-plug/ed_internals.c:423
 #, c-format
 msgid "event-device-plugin: device %s not found in /dev/input , skipping.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:489 src/evdev-plug/ed_internals.c:583
+#: src/evdev-plug/ed_internals.c:488 src/evdev-plug/ed_internals.c:582
 #, c-format
 msgid ""
 "event-device-plugin: unable to load config file %s , default settings will "
 "be used.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:535
+#: src/evdev-plug/ed_internals.c:534
 #, c-format
 msgid ""
 "event-device-plugin: incomplete information in config file for device \"%s"
 "\" , skipping.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:604 src/evdev-plug/ed_internals.c:936
+#: src/evdev-plug/ed_internals.c:603 src/evdev-plug/ed_internals.c:935
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get is_active value for device "
 "\"%s\", skipping it.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:840
+#: src/evdev-plug/ed_internals.c:839
 #, c-format
 msgid ""
 "event-device-plugin: unable to access local directory %s , settings will not "
 "be saved.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:890
+#: src/evdev-plug/ed_internals.c:889
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get filename value for device "
 "\"%s\", skipping it.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:906
+#: src/evdev-plug/ed_internals.c:905
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get phys value for device \"%s"
 "\", skipping it.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:922
+#: src/evdev-plug/ed_internals.c:921
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get is_custom value for device "
 "\"%s\", skipping it.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:946
+#: src/evdev-plug/ed_internals.c:945
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unexpected value for device \"%s\", "
@@ -2231,7 +2245,7 @@
 "Ensure that the device has been correctly plugged in."
 msgstr ""
 
-#: src/evdev-plug/ed_ui.c:319 src/madplug/plugin.c:566
+#: src/evdev-plug/ed_ui.c:319 src/madplug/plugin.c:703
 msgid "Error"
 msgstr "Gwall"
 
@@ -2289,7 +2303,7 @@
 msgid "Active"
 msgstr "Acid"
 
-#: src/evdev-plug/ed_ui.c:655 src/sun/configure.c:488
+#: src/evdev-plug/ed_ui.c:655 src/sun/configure.c:486
 msgid "Status"
 msgstr "Statws"
 
@@ -2411,7 +2425,7 @@
 msgid "Output file format:"
 msgstr "Ffeil cyfeiriadur allbwn:"
 
-#: src/filewriter/filewriter.c:511 src/ladspa/ladspa.c:960
+#: src/filewriter/filewriter.c:511 src/ladspa/ladspa.c:959
 #, fuzzy
 msgid "Configure"
 msgstr "Ffurfweddu Echo"
@@ -2651,12 +2665,12 @@
 msgid "Quality level (0 - 10):"
 msgstr ""
 
-#: src/flacng/plugin.c:698
+#: src/flacng/plugin.c:697
 #, fuzzy
 msgid "FLAC Audio Plugin "
 msgstr "Ategynnau Sain FLAC"
 
-#: src/flacng/plugin.c:699
+#: src/flacng/plugin.c:698
 msgid ""
 "\n"
 "\n"
@@ -2666,17 +2680,17 @@
 "http://www.skytale.net/projects/bmp-flac2/"
 msgstr ""
 
-#: src/flacng/plugin.c:704
+#: src/flacng/plugin.c:703
 #, fuzzy
 msgid "About FLAC Audio Plugin"
 msgstr "Ategynnau Sain FLAC"
 
-#: src/gnomeshortcuts/gnomeshortcuts.c:306
+#: src/gnomeshortcuts/gnomeshortcuts.c:305
 #, fuzzy
 msgid "About Gnome Shortcut Plugin"
 msgstr "Ynghylch Ategyn ESounD"
 
-#: src/gnomeshortcuts/gnomeshortcuts.c:307
+#: src/gnomeshortcuts/gnomeshortcuts.c:306
 msgid ""
 "Gnome Shortcut Plugin\n"
 "Let's you control the player with Gnome's shortcuts.\n"
@@ -2689,7 +2703,7 @@
 msgid "Previous Track"
 msgstr ""
 
-#: src/hotkey/gui.c:69
+#: src/hotkey/gui.c:69 src/skins/ui_manager.c:177 src/skins/ui_manager.c:178
 #, fuzzy
 msgid "Play"
 msgstr "Modd chwarae:"
@@ -2698,7 +2712,7 @@
 msgid "Pause/Resume"
 msgstr ""
 
-#: src/hotkey/gui.c:71
+#: src/hotkey/gui.c:71 src/skins/ui_manager.c:183 src/skins/ui_manager.c:184
 #, fuzzy
 msgid "Stop"
 msgstr "Synthpop"
@@ -2731,7 +2745,7 @@
 msgid "Volume Down"
 msgstr "Sain:(%)"
 
-#: src/hotkey/gui.c:78
+#: src/hotkey/gui.c:78 src/skins/ui_manager.c:422 src/skins/ui_manager.c:423
 msgid "Jump to File"
 msgstr ""
 
@@ -2786,12 +2800,12 @@
 msgid "<b>Key Binding:</b>"
 msgstr ""
 
-#: src/hotkey/gui.c:660
+#: src/hotkey/gui.c:659
 #, fuzzy
 msgid "About Global Hotkey Plugin"
 msgstr "Ynghylch Ategyn Scrobbler"
 
-#: src/hotkey/gui.c:661
+#: src/hotkey/gui.c:660
 msgid ""
 "Global Hotkey Plugin\n"
 "Control the player with global key combinations or multimedia keys.\n"
@@ -2807,38 +2821,38 @@
 "\n"
 msgstr ""
 
-#: src/jack/configure.c:70
+#: src/jack/configure.c:69
 msgid "Connect to all available jack ports"
 msgstr ""
 
-#: src/jack/configure.c:77
+#: src/jack/configure.c:76
 msgid "Connect only the output ports"
 msgstr ""
 
-#: src/jack/configure.c:84
+#: src/jack/configure.c:83
 msgid "Connect to no ports"
 msgstr ""
 
-#: src/jack/configure.c:99
+#: src/jack/configure.c:98
 #, fuzzy
 msgid "jack Plugin configuration"
 msgstr "Ffurfweddu Ategyn ESD"
 
-#: src/jack/configure.c:117
+#: src/jack/configure.c:116
 msgid "Connection mode:"
 msgstr ""
 
-#: src/jack/configure.c:129
+#: src/jack/configure.c:128
 #, fuzzy
 msgid "Enable debug printing"
 msgstr "Galluogi ReplayGain"
 
-#: src/jack/jack.c:84
+#: src/jack/jack.c:82
 #, fuzzy
 msgid "Sample rate mismatch"
 msgstr "Graddfa samplo:"
 
-#: src/jack/jack.c:87
+#: src/jack/jack.c:85
 msgid ""
 "Xmms is asking for a sample rate that differs from\n"
 " that of the jack server.  Xmms 1.2.8 or later\n"
@@ -2852,15 +2866,15 @@
 "Chris Morgan <cmorgan@alum.wpi.edu>\n"
 msgstr ""
 
-#: src/jack/jack.c:100 src/wma/wma.c:148
+#: src/jack/jack.c:98 src/wma/wma.c:145
 msgid " Close "
 msgstr "Cau"
 
-#: src/jack/jack.c:452
+#: src/jack/jack.c:450
 msgid "About JACK Output Plugin 0.17"
 msgstr "Ynghylch Ategyn Allbwn JACK 0.17"
 
-#: src/jack/jack.c:453
+#: src/jack/jack.c:451
 msgid ""
 "XMMS jack Driver 0.17\n"
 "\n"
@@ -2878,41 +2892,41 @@
 "Audacious ategyn gan\n"
 "Giacomo Lozito o develia.org"
 
-#: src/ladspa/ladspa.c:722
+#: src/ladspa/ladspa.c:721
 msgid "This LADSPA plugin has no user controls"
 msgstr ""
 
-#: src/ladspa/ladspa.c:767 src/ladspa/ladspa.c:853
+#: src/ladspa/ladspa.c:766 src/ladspa/ladspa.c:852
 #, fuzzy
 msgid "Name"
 msgstr "Enw:"
 
-#: src/ladspa/ladspa.c:853
+#: src/ladspa/ladspa.c:852
 msgid "UID"
 msgstr ""
 
-#: src/ladspa/ladspa.c:928
+#: src/ladspa/ladspa.c:927
 msgid "Installed plugins"
 msgstr ""
 
-#: src/ladspa/ladspa.c:937
+#: src/ladspa/ladspa.c:936
 msgid "Running plugins"
 msgstr ""
 
-#: src/ladspa/ladspa.c:952
+#: src/ladspa/ladspa.c:951
 msgid "Add"
 msgstr ""
 
-#: src/ladspa/ladspa.c:956
+#: src/ladspa/ladspa.c:955
 #, fuzzy
 msgid "Remove"
 msgstr "Tynnu gyrrwr"
 
-#: src/ladspa/ladspa.c:969
+#: src/ladspa/ladspa.c:968
 msgid "LADSPA Plugin Catalog"
 msgstr ""
 
-#: src/lastfm/lastfm.c:96
+#: src/lastfm/lastfm.c:94
 msgid ""
 "<b><big>Couldn't initialize the last.fm radio plugin.</big></b>\n"
 "\n"
@@ -3000,59 +3014,59 @@
 msgid "%s: will try reconnect every %d seconds...\n"
 msgstr ""
 
-#: src/madplug/configure.c:209
+#: src/madplug/configure.c:208
 msgid "MPEG Audio Plugin Configuration"
 msgstr "Ffurfweddiad Chwaraeydd MPEG Sain"
 
-#: src/madplug/configure.c:226
+#: src/madplug/configure.c:225
 #, fuzzy
 msgid "Audio Settings"
 msgstr "Gosodiadau Cymysgu"
 
-#: src/madplug/configure.c:234
+#: src/madplug/configure.c:233
 msgid "Force reopen audio when audio type changed"
 msgstr ""
 
-#: src/madplug/configure.c:243
+#: src/madplug/configure.c:242
 #, fuzzy
 msgid "Metadata Settings"
 msgstr "Gosodiadau Cymysgu"
 
-#: src/madplug/configure.c:252
+#: src/madplug/configure.c:251
 msgid "Enable fast play-length calculation"
 msgstr ""
 
-#: src/madplug/configure.c:259
+#: src/madplug/configure.c:258
 msgid "Parse XING headers"
 msgstr ""
 
-#: src/madplug/configure.c:266
+#: src/madplug/configure.c:265
 msgid "Use SJIS to write ID3 tags (not recommended)"
 msgstr ""
 
-#: src/madplug/configure.c:273
+#: src/madplug/configure.c:272
 #, fuzzy
 msgid "Miscellaneous Settings"
 msgstr "Gosodiadau Cymysgu"
 
-#: src/madplug/configure.c:282
+#: src/madplug/configure.c:281
 msgid "Display average bitrate for VBR"
 msgstr ""
 
-#: src/madplug/configure.c:296 src/vorbis/configure.c:102
+#: src/madplug/configure.c:295 src/vorbis/configure.c:100
 msgid "Override generic titles"
 msgstr "Diystyru'r teitlau cyffredinol"
 
-#: src/madplug/configure.c:308
+#: src/madplug/configure.c:307
 msgid "ID3 format:"
 msgstr "Fformat ID3:"
 
-#: src/madplug/configure.c:320 src/sid/xmms-sid.glade:2540
-#: src/sid/xs_interface.c:1070
+#: src/madplug/configure.c:319 src/sid/xmms-sid.glade:2610
+#: src/sid/xs_interface.c:1102
 msgid "Title"
 msgstr "Teitl"
 
-#: src/madplug/plugin.c:524
+#: src/madplug/plugin.c:661
 #, c-format
 msgid ""
 "Audacious MPEG Audio Plugin\n"
@@ -3070,16 +3084,16 @@
 "    Samuel Krempp"
 msgstr ""
 
-#: src/madplug/plugin.c:540
+#: src/madplug/plugin.c:677
 msgid "About MPEG Audio Plugin"
 msgstr "Ynghylch Ategyn Sain MPEG"
 
-#: src/metronom/metronom.c:87
+#: src/metronom/metronom.c:86
 #, fuzzy
 msgid "About Metronom"
 msgstr "Ynghylch"
 
-#: src/metronom/metronom.c:88
+#: src/metronom/metronom.c:87
 msgid ""
 "A Tact Generator by Martin Strauss <mys@faveve.uni-stuttgart.de>\n"
 "\n"
@@ -3088,12 +3102,12 @@
 "or   tact://60*3/4 to play 60 bpm in 3/4 tacts"
 msgstr ""
 
-#: src/metronom/metronom.c:198 src/metronom/metronom.c:262
+#: src/metronom/metronom.c:197 src/metronom/metronom.c:261
 #, fuzzy, c-format
 msgid "Tact generator: %d bpm"
 msgstr "Cynhyrchydd Tôn:"
 
-#: src/metronom/metronom.c:200 src/metronom/metronom.c:264
+#: src/metronom/metronom.c:199 src/metronom/metronom.c:263
 #, c-format
 msgid "Tact generator: %d bpm %d/%d"
 msgstr ""
@@ -3301,11 +3315,11 @@
 msgid "Message"
 msgstr ""
 
-#: src/modplug/gui/main.cxx:45
+#: src/modplug/gui/main.cxx:48
 msgid "Modplug Input Plugin for Audacious ver"
 msgstr ""
 
-#: src/modplug/gui/main.cxx:46
+#: src/modplug/gui/main.cxx:49
 msgid ""
 "\n"
 "Modplug sound engine written by Olivier Lapicque.\n"
@@ -3315,7 +3329,7 @@
 "Ported to BMP by Theofilos Intzoglou."
 msgstr ""
 
-#: src/modplug/gui/main.cxx:49
+#: src/modplug/gui/main.cxx:52
 #, fuzzy
 msgid "About Modplug"
 msgstr "Ynghylch Ategyn Echo"
@@ -3326,27 +3340,27 @@
 msgid "Couldn't find pixmap file: %s"
 msgstr "Meth agor dyfais ffeil MIDI"
 
-#: src/mtp_up/mtp.c:35
+#: src/mtp_up/mtp.c:33
 msgid "Upload selected track(s)"
 msgstr ""
 
-#: src/mtp_up/mtp.c:296
+#: src/mtp_up/mtp.c:294
 msgid "Upload in progress..."
 msgstr ""
 
-#: src/mtp_up/mtp.c:305
+#: src/mtp_up/mtp.c:303
 msgid "MTP device handler"
 msgstr ""
 
-#: src/mtp_up/mtp.c:309
+#: src/mtp_up/mtp.c:307
 msgid "Disconnect the device"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:146
+#: src/musepack/libmpc.cxx:142
 msgid "Musepack Decoder Plugin 1.2"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:147
+#: src/musepack/libmpc.cxx:143
 msgid ""
 "Plugin code by\n"
 "Benoit Amiaux\n"
@@ -3356,187 +3370,188 @@
 "Get latest version at http://musepack.net\n"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:148
+#: src/musepack/libmpc.cxx:144
 msgid "Nevermind"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:166
+#: src/musepack/libmpc.cxx:162
 #, fuzzy
 msgid "Musepack Decoder Configuration"
 msgstr "Ffurfweddiad Disk Writer"
 
-#: src/musepack/libmpc.cxx:176
+#: src/musepack/libmpc.cxx:172
 #, fuzzy
 msgid "General Settings"
 msgstr "Gosodiadau Cymysgu"
 
-#: src/musepack/libmpc.cxx:183 src/wavpack/ui.cxx:492
+#: src/musepack/libmpc.cxx:179 src/wavpack/ui.cxx:490
 msgid "Enable Dynamic Bitrate Display"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:187 src/wavpack/ui.cxx:498
+#: src/musepack/libmpc.cxx:183 src/wavpack/ui.cxx:496
 #, fuzzy
 msgid "Plugin"
 msgstr "Ategyn LIRC"
 
-#: src/musepack/libmpc.cxx:190
+#: src/musepack/libmpc.cxx:186
 #, fuzzy
 msgid "ReplayGain Settings"
 msgstr "Gosodiadau'r ReplayGain:"
 
-#: src/musepack/libmpc.cxx:197 src/wavpack/ui.cxx:510
+#: src/musepack/libmpc.cxx:193 src/wavpack/ui.cxx:508
 msgid "Enable Clipping Prevention"
 msgstr "Galluogi Atal Clipio"
 
-#: src/musepack/libmpc.cxx:202 src/wavpack/ui.cxx:515
+#: src/musepack/libmpc.cxx:198 src/wavpack/ui.cxx:513
 msgid "Enable ReplayGain"
 msgstr "Galluogi ReplayGain"
 
-#: src/musepack/libmpc.cxx:207
+#: src/musepack/libmpc.cxx:203
 #, fuzzy
 msgid "ReplayGain Type"
 msgstr "Math ReplayGain:"
 
-#: src/musepack/libmpc.cxx:215
+#: src/musepack/libmpc.cxx:211
 #, fuzzy
 msgid "Use Track Gain"
 msgstr "defnyddiwch Cynnydd/Brig Trac"
 
-#: src/musepack/libmpc.cxx:219
+#: src/musepack/libmpc.cxx:215
 #, fuzzy
 msgid "Use Album Gain"
 msgstr "defnyddio Cynnydd/Brig Albwm"
 
-#: src/musepack/libmpc.cxx:224 src/wavpack/ui.cxx:547
+#: src/musepack/libmpc.cxx:220 src/wavpack/ui.cxx:545
 msgid "ReplayGain"
 msgstr "ReplayGain"
 
-#: src/musepack/libmpc.cxx:491 src/sid/xmms-sid.glade:3144
-#: src/sid/xs_interface.c:1564 src/tta/libtta.c:304 src/wavpack/ui.cxx:152
+#: src/musepack/libmpc.cxx:487 src/sid/xmms-sid.glade:3338
+#: src/sid/xs_interface.c:1648 src/tta/libtta.c:301 src/wavpack/ui.cxx:150
 #, fuzzy
 msgid "Filename:"
 msgstr "Enw Defnyddiwr:"
 
-#: src/musepack/libmpc.cxx:506
+#: src/musepack/libmpc.cxx:502
 msgid "Musepack Tag"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:514 src/tta/libtta.c:323 src/wavpack/ui.cxx:172
+#: src/musepack/libmpc.cxx:510 src/tta/libtta.c:320 src/wavpack/ui.cxx:170
 msgid "Title:"
 msgstr "Teitl:"
 
-#: src/musepack/libmpc.cxx:518 src/tta/libtta.c:333 src/wavpack/ui.cxx:184
+#: src/musepack/libmpc.cxx:514 src/tta/libtta.c:330 src/wavpack/ui.cxx:182
 msgid "Artist:"
 msgstr "Artist:"
 
-#: src/musepack/libmpc.cxx:522 src/tta/libtta.c:344 src/wavpack/ui.cxx:196
+#: src/musepack/libmpc.cxx:518 src/tta/libtta.c:341 src/wavpack/ui.cxx:194
 msgid "Album:"
 msgstr "Albwm:"
 
-#: src/musepack/libmpc.cxx:526 src/tta/libtta.c:355 src/wavpack/ui.cxx:208
+#: src/musepack/libmpc.cxx:522 src/tta/libtta.c:352 src/wavpack/ui.cxx:206
 msgid "Comment:"
 msgstr "Sylw:"
 
-#: src/musepack/libmpc.cxx:530 src/tta/libtta.c:366 src/wavpack/ui.cxx:221
+#: src/musepack/libmpc.cxx:526 src/tta/libtta.c:363 src/wavpack/ui.cxx:219
 msgid "Year:"
 msgstr "Blwyddyn:"
 
-#: src/musepack/libmpc.cxx:535
+#: src/musepack/libmpc.cxx:531
 #, fuzzy
 msgid "Track:"
 msgstr "Cynnydd trac:"
 
-#: src/musepack/libmpc.cxx:540 src/tta/libtta.c:390 src/wavpack/ui.cxx:248
+#: src/musepack/libmpc.cxx:536 src/tta/libtta.c:387 src/wavpack/ui.cxx:246
 msgid "Genre:"
 msgstr "Math:"
 
-#: src/musepack/libmpc.cxx:551 src/sid/xmms-sid.glade:1732
-#: src/sid/xs_interface.c:820 src/wavpack/ui.cxx:267
+#: src/musepack/libmpc.cxx:547 src/sid/xmms-sid.glade:1732
+#: src/sid/xs_interface.c:832 src/skins/ui_manager.c:438
+#: src/wavpack/ui.cxx:265
 #, fuzzy
 msgid "Save"
 msgstr "Rave"
 
-#: src/musepack/libmpc.cxx:554 src/wavpack/ui.cxx:273
+#: src/musepack/libmpc.cxx:550 src/wavpack/ui.cxx:271
 #, fuzzy
 msgid "Remove Tag"
 msgstr "Tynnu gyrrwr"
 
-#: src/musepack/libmpc.cxx:562
+#: src/musepack/libmpc.cxx:558
 msgid "Musepack Info"
 msgstr ""
 
+#: src/musepack/libmpc.cxx:591
+#, fuzzy, c-format
+msgid "Streamversion %d"
+msgstr "Llifo"
+
+#: src/musepack/libmpc.cxx:592
+#, c-format
+msgid "Encoder: %s"
+msgstr ""
+
+#: src/musepack/libmpc.cxx:593
+#, c-format
+msgid "Profile: %s"
+msgstr ""
+
+#: src/musepack/libmpc.cxx:594
+#, c-format
+msgid "Average bitrate: %6.1f kbps"
+msgstr ""
+
 #: src/musepack/libmpc.cxx:595
 #, fuzzy, c-format
-msgid "Streamversion %d"
-msgstr "Llifo"
+msgid "Samplerate: %d Hz"
+msgstr "Graddfa samplo:"
 
 #: src/musepack/libmpc.cxx:596
-#, c-format
-msgid "Encoder: %s"
-msgstr ""
-
-#: src/musepack/libmpc.cxx:597
-#, c-format
-msgid "Profile: %s"
-msgstr ""
-
-#: src/musepack/libmpc.cxx:598
-#, c-format
-msgid "Average bitrate: %6.1f kbps"
-msgstr ""
-
-#: src/musepack/libmpc.cxx:599
-#, fuzzy, c-format
-msgid "Samplerate: %d Hz"
-msgstr "Graddfa samplo:"
-
-#: src/musepack/libmpc.cxx:600
 #, fuzzy, c-format
 msgid "Channels: %d"
 msgstr "Sianeli:"
 
-#: src/musepack/libmpc.cxx:601
+#: src/musepack/libmpc.cxx:597
 #, fuzzy, c-format
 msgid "Length: %d:\\%.2d"
 msgstr ""
 "\n"
 "Cyfanswm hyd: %d:%.2d\n"
 
-#: src/musepack/libmpc.cxx:602
+#: src/musepack/libmpc.cxx:598
 #, fuzzy, c-format
 msgid "File size: %d Bytes"
 msgstr "Maint ffeil:"
 
-#: src/musepack/libmpc.cxx:603
+#: src/musepack/libmpc.cxx:599
 #, fuzzy, c-format
 msgid "Track Peak: %5u"
 msgstr "Brig trac:"
 
-#: src/musepack/libmpc.cxx:604
+#: src/musepack/libmpc.cxx:600
 #, fuzzy, c-format
 msgid "Track Gain: %-+2.2f dB"
 msgstr "Cynnydd trac:"
 
-#: src/musepack/libmpc.cxx:605
+#: src/musepack/libmpc.cxx:601
 #, fuzzy, c-format
 msgid "Album Peak: %5u"
 msgstr "Brig albwm:"
 
-#: src/musepack/libmpc.cxx:606
+#: src/musepack/libmpc.cxx:602
 #, fuzzy, c-format
 msgid "Album Gain: %-+5.2f dB"
 msgstr "Cynydd albwm:"
 
-#: src/musepack/libmpc.cxx:634 src/tta/libtta.c:413 src/wavpack/ui.cxx:409
+#: src/musepack/libmpc.cxx:630 src/tta/libtta.c:410 src/wavpack/ui.cxx:407
 #, c-format
 msgid "File Info - %s"
 msgstr "Gwybodaeth Ffeil - %s"
 
-#: src/null/null.c:61
+#: src/null/null.c:58
 msgid "Null output plugin "
 msgstr "Null ategyn allbwn"
 
-#: src/null/null.c:62
+#: src/null/null.c:59
 #, fuzzy
 msgid ""
 " by Christian Birchinger <joker@netswarm.net>\n"
@@ -3545,25 +3560,54 @@
 " am Christian Birchinger <joker@netswarm.net>\n"
 " tarddu gan yr XMMS modiwl am Håvard Kvål <harvardk@xmms.org>"
 
-#: src/null/null.c:65
+#: src/null/null.c:62
 msgid "About Null Output"
 msgstr "Ynghylch Ategyn Allwyn Null"
 
-#: src/null/null.c:94
+#: src/null/null.c:91
 #, fuzzy
 msgid "Null output preferences"
 msgstr "Null ategyn allbwn"
 
-#: src/null/null.c:103
+#: src/null/null.c:100
 msgid "Run in real time"
 msgstr ""
 
-#: src/OSS4/about.c:42
+#: src/OSS4/configure.c:118 src/OSS/configure.c:150
+#, c-format
+msgid "Default (%s)"
+msgstr "Rhagosodedig (%s)"
+
+#: src/OSS4/configure.c:168 src/OSS/configure.c:200
+msgid "OSS Driver configuration"
+msgstr "Ffurfweddu'r Gyrrwr OSS"
+
+#: src/OSS4/configure.c:206 src/OSS/configure.c:238 src/OSS/configure.c:279
+msgid "Use alternate device:"
+msgstr "Defnyddiwr ddyfais arall:"
+
+#: src/OSS4/configure.c:228 src/OSS/configure.c:301 src/sun/configure.c:246
+msgid "Devices"
+msgstr "Dyfeisiau"
+
+#: src/OSS4/configure.c:270 src/OSS/configure.c:342
+msgid "Mixer Settings:"
+msgstr "Gosodiadau Cymysgu"
+
+#: src/OSS4/configure.c:276
+msgid "Save VMIX volume between sessions"
+msgstr ""
+
+#: src/OSS4/configure.c:282 src/OSS/configure.c:354 src/sun/configure.c:392
+msgid "Mixer"
+msgstr "Cymysgwr"
+
+#: src/OSS4/OSS4.c:38
 #, fuzzy
 msgid "About OSSv4 Driver"
 msgstr "Ynghylch Gyrrwr OSS"
 
-#: src/OSS4/about.c:43
+#: src/OSS4/OSS4.c:39
 #, fuzzy
 msgid ""
 "Audacious OSSv4 Driver\n"
@@ -3603,40 +3647,15 @@
 " MA 02111-1307,\n"
 "USA."
 
-#: src/OSS4/configure.c:120 src/OSS/configure.c:151
-#, c-format
-msgid "Default (%s)"
-msgstr "Rhagosodedig (%s)"
-
-#: src/OSS4/configure.c:170 src/OSS/configure.c:201
-msgid "OSS Driver configuration"
-msgstr "Ffurfweddu'r Gyrrwr OSS"
-
-#: src/OSS4/configure.c:208 src/OSS/configure.c:239 src/OSS/configure.c:280
-msgid "Use alternate device:"
-msgstr "Defnyddiwr ddyfais arall:"
-
-#: src/OSS4/configure.c:230 src/OSS/configure.c:302 src/sun/configure.c:248
-msgid "Devices"
-msgstr "Dyfeisiau"
-
-#: src/OSS4/configure.c:272 src/OSS/configure.c:343
-msgid "Mixer Settings:"
-msgstr "Gosodiadau Cymysgu"
-
-#: src/OSS4/configure.c:278
-msgid "Save VMIX volume between sessions"
-msgstr ""
-
-#: src/OSS4/configure.c:284 src/OSS/configure.c:355 src/sun/configure.c:394
-msgid "Mixer"
-msgstr "Cymysgwr"
-
-#: src/OSS/about.c:39
+#: src/OSS/configure.c:348
+msgid "Volume controls Master not PCM"
+msgstr "Nid yw'r Prif reolwr sain yn PCM"
+
+#: src/OSS/OSS.c:37
 msgid "About OSS Driver"
 msgstr "Ynghylch Gyrrwr OSS"
 
-#: src/OSS/about.c:40
+#: src/OSS/OSS.c:38
 msgid ""
 "Audacious OSS Driver\n"
 "\n"
@@ -3672,20 +3691,16 @@
 " MA 02111-1307,\n"
 "USA."
 
-#: src/OSS/configure.c:349
-msgid "Volume controls Master not PCM"
-msgstr "Nid yw'r Prif reolwr sain yn PCM"
-
 #: src/projectm-1.0/main.c:70
 msgid "_Random"
 msgstr ""
 
-#: src/pulse_audio/pulse_audio.c:722
+#: src/pulse_audio/pulse_audio.c:720
 #, fuzzy
 msgid "About Audacious PulseAudio Output Plugin"
 msgstr "Ategyn Allbwn CoreAudio"
 
-#: src/pulse_audio/pulse_audio.c:723
+#: src/pulse_audio/pulse_audio.c:721
 #, fuzzy
 msgid ""
 "Audacious PulseAudio Output Plugin\n"
@@ -3722,27 +3737,27 @@
 " MA 02111-1307,\n"
 "USA."
 
-#: src/scrobbler/configure.c:138
+#: src/scrobbler/configure.c:134
 msgid "<b>Services</b>"
 msgstr "<b>Gwasanaethau</b>"
 
-#: src/scrobbler/configure.c:160 src/scrobbler/configure.c:199
+#: src/scrobbler/configure.c:156 src/scrobbler/configure.c:195
 msgid "Username:"
 msgstr "Enw Defnyddiwr:"
 
-#: src/scrobbler/configure.c:166 src/scrobbler/configure.c:205
+#: src/scrobbler/configure.c:162 src/scrobbler/configure.c:201
 msgid "Password:"
 msgstr "Cyfrinair:"
 
-#: src/scrobbler/configure.c:183
+#: src/scrobbler/configure.c:179
 msgid "<b>Last.FM</b>"
 msgstr "<b>Last.FM</b>"
 
-#: src/scrobbler/configure.c:222
+#: src/scrobbler/configure.c:218
 msgid "<b>Gerpok</b>"
 msgstr "<b>Gerpok</b>"
 
-#: src/scrobbler/gtkstuff.c:21
+#: src/scrobbler/gtkstuff.c:18
 msgid ""
 "Audacious AudioScrobbler Plugin\n"
 "\n"
@@ -3750,11 +3765,11 @@
 "com>\n"
 msgstr ""
 
-#: src/scrobbler/gtkstuff.c:23
+#: src/scrobbler/gtkstuff.c:20
 msgid "About Scrobbler Plugin"
 msgstr "Ynghylch Ategyn Scrobbler"
 
-#: src/scrobbler/gtkstuff.c:36
+#: src/scrobbler/gtkstuff.c:33
 #, c-format
 msgid ""
 "There has been an error that may require your attention.\n"
@@ -3764,116 +3779,116 @@
 "%s\n"
 msgstr ""
 
-#: src/scrobbler/gtkstuff.c:43
+#: src/scrobbler/gtkstuff.c:40
 #, fuzzy
 msgid "Scrobbler Error"
 msgstr "Ategyn Scrobbler"
 
-#: src/sid/xmms-sid.glade:8 src/sid/xs_interface.c:221
+#: src/sid/xmms-sid.glade:8 src/sid/xs_interface.c:233
 #, fuzzy
 msgid "Audacious-SID configuration"
 msgstr "Audacious OSD - ffurfweddiad"
 
-#: src/sid/xmms-sid.glade:71 src/sid/xs_interface.c:257
+#: src/sid/xmms-sid.glade:71 src/sid/xs_interface.c:269
 #, fuzzy
 msgid "8-bit"
 msgstr "8 did"
 
-#: src/sid/xmms-sid.glade:90 src/sid/xs_interface.c:264
+#: src/sid/xmms-sid.glade:90 src/sid/xs_interface.c:276
 #, fuzzy
 msgid "16-bit"
 msgstr "16 did"
 
-#: src/sid/xmms-sid.glade:111 src/sid/xs_interface.c:271
+#: src/sid/xmms-sid.glade:111 src/sid/xs_interface.c:283
 #, fuzzy
 msgid "Resolution:"
 msgstr "Cydraniad:"
 
-#: src/sid/xmms-sid.glade:196 src/sid/xs_interface.c:302
+#: src/sid/xmms-sid.glade:196 src/sid/xs_interface.c:314
 msgid "Autopanning"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:217 src/sid/xs_interface.c:309
+#: src/sid/xmms-sid.glade:217 src/sid/xs_interface.c:321
 msgid "Channels:"
 msgstr "Sianeli:"
 
-#: src/sid/xmms-sid.glade:384 src/sid/xs_interface.c:353
+#: src/sid/xmms-sid.glade:384 src/sid/xs_interface.c:365
 #, fuzzy
 msgid "Samplerate:"
 msgstr "Graddfa samplo:"
 
-#: src/sid/xmms-sid.glade:430 src/sid/xs_interface.c:370
+#: src/sid/xmms-sid.glade:430 src/sid/xs_interface.c:382
 #, fuzzy
 msgid "Use oversampling"
 msgstr "Samplo"
 
-#: src/sid/xmms-sid.glade:456 src/sid/xs_interface.c:381
+#: src/sid/xmms-sid.glade:456 src/sid/xs_interface.c:393
 msgid "Factor:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:500 src/sid/xs_interface.c:393
+#: src/sid/xmms-sid.glade:500 src/sid/xs_interface.c:405
 msgid "Large factors require more CPU-power"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:534 src/sid/xs_interface.c:399
+#: src/sid/xmms-sid.glade:534 src/sid/xs_interface.c:411
 #, fuzzy
 msgid "Oversampling:"
 msgstr "Samplo"
 
-#: src/sid/xmms-sid.glade:570 src/sid/xs_interface.c:404
+#: src/sid/xmms-sid.glade:570 src/sid/xs_interface.c:416
 msgid "Audio"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:620 src/sid/xs_interface.c:436
+#: src/sid/xmms-sid.glade:620 src/sid/xs_interface.c:448
 msgid ""
 "If enabled, this option \"forces\" the emulation engine to use the selected "
 "clock speed/frequency. Otherwise the speed is determined from played file "
 "itself."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:622 src/sid/xs_interface.c:432
+#: src/sid/xmms-sid.glade:622 src/sid/xs_interface.c:444
 msgid "Force speed"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:640 src/sid/xs_interface.c:442
+#: src/sid/xmms-sid.glade:640 src/sid/xs_interface.c:454
 msgid ""
 "PAL is the european TV standard, which uses 50Hz vertical refresh frequency. "
 "Most of SID-tunes have been made for PAL computers."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:642 src/sid/xs_interface.c:438
+#: src/sid/xmms-sid.glade:642 src/sid/xs_interface.c:450
 msgid "PAL (50 Hz)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:660 src/sid/xs_interface.c:450
+#: src/sid/xmms-sid.glade:660 src/sid/xs_interface.c:462
 msgid ""
 "NTSC is the TV standard with 60Hz vertical refresh rate (and other features "
 "that differ from PAL). It is mainly used in United States, Japan and certain "
 "other countries."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:662 src/sid/xs_interface.c:446
+#: src/sid/xmms-sid.glade:662 src/sid/xs_interface.c:458
 msgid "NTSC (60 Hz)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:683 src/sid/xs_interface.c:454
+#: src/sid/xmms-sid.glade:683 src/sid/xs_interface.c:466
 #, fuzzy
 msgid "Clock speed:"
 msgstr "Chwarae cyflymedd"
 
-#: src/sid/xmms-sid.glade:728 src/sid/xs_interface.c:475
+#: src/sid/xmms-sid.glade:728 src/sid/xs_interface.c:487
 msgid ""
 "If enabled, this option \"forces\" the emulation engine to use the selected "
 "SID-chip model. Otherwise the preferred SID model is determined from the "
 "file (if PSIDv2NG type) or if not available, this setting is used."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:730 src/sid/xs_interface.c:471
+#: src/sid/xmms-sid.glade:730 src/sid/xs_interface.c:483
 #, fuzzy
 msgid "Force model"
 msgstr "Enwau'r Traciau:"
 
-#: src/sid/xmms-sid.glade:748 src/sid/xs_interface.c:481
+#: src/sid/xmms-sid.glade:748 src/sid/xs_interface.c:493
 msgid ""
 "MOS/CSG 6581 is the earlier major version of SID chip. It differs from 8580 "
 "in few ways, having much fuller filter (which, due to design error, is never "
@@ -3881,91 +3896,91 @@
 "which enables playing of digital samples."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:750 src/sid/xs_interface.c:477
+#: src/sid/xmms-sid.glade:750 src/sid/xs_interface.c:489
 msgid "MOS 6581"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:769 src/sid/xs_interface.c:485
+#: src/sid/xmms-sid.glade:769 src/sid/xs_interface.c:497
 msgid "MOS 8580"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:790 src/sid/xs_interface.c:492
+#: src/sid/xmms-sid.glade:790 src/sid/xs_interface.c:504
 #, fuzzy
 msgid "SID model:"
 msgstr "Modd chwarae:"
 
-#: src/sid/xmms-sid.glade:842 src/sid/xs_interface.c:513
+#: src/sid/xmms-sid.glade:842 src/sid/xs_interface.c:525
 msgid ""
 "Use libSIDPlay 1.x emulation, faster but not so accurate. Good in most "
 "cases, though."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:844 src/sid/xs_interface.c:509
+#: src/sid/xmms-sid.glade:844 src/sid/xs_interface.c:521
 msgid "SIDPlay 1 (frame-based)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:863 src/sid/xs_interface.c:521
+#: src/sid/xmms-sid.glade:863 src/sid/xs_interface.c:533
 msgid ""
 "Use libSIDPlay 2.x emulation, which requires powerful CPU due to more exact "
 "emulation."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:865 src/sid/xs_interface.c:517
+#: src/sid/xmms-sid.glade:865 src/sid/xs_interface.c:529
 msgid "SIDPlay 2 (cycle-based)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:887 src/sid/xs_interface.c:525
+#: src/sid/xmms-sid.glade:887 src/sid/xs_interface.c:537
 msgid "Emulation library selection:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:933 src/sid/xs_interface.c:542
+#: src/sid/xmms-sid.glade:933 src/sid/xs_interface.c:554
 msgid "Real C64 (SIDPlay 2 only)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:952 src/sid/xs_interface.c:549
+#: src/sid/xmms-sid.glade:952 src/sid/xs_interface.c:561
 msgid "Bank switching"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:972 src/sid/xs_interface.c:556
+#: src/sid/xmms-sid.glade:972 src/sid/xs_interface.c:568
 msgid "Transparent ROM"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:992 src/sid/xs_interface.c:563
+#: src/sid/xmms-sid.glade:992 src/sid/xs_interface.c:575
 msgid "PlaySID environment"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1013 src/sid/xs_interface.c:570
+#: src/sid/xmms-sid.glade:1013 src/sid/xs_interface.c:582
 #, fuzzy
 msgid "Memory mode:"
 msgstr "Modd chwarae:"
 
-#: src/sid/xmms-sid.glade:1049 src/sid/xs_interface.c:575
+#: src/sid/xmms-sid.glade:1049 src/sid/xs_interface.c:587
 msgid "Emu#1"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1093 src/sid/xs_interface.c:602
+#: src/sid/xmms-sid.glade:1093 src/sid/xs_interface.c:614
 msgid ""
 "This setting can be used to enable libSIDPlay2's \"optimization mode\", "
 "which in downgrades the emulation from cycle-exact to something similar to "
 "frame-exact. The result is lower CPU usage, but worse accuracy."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1095 src/sid/xs_interface.c:598
+#: src/sid/xmms-sid.glade:1095 src/sid/xs_interface.c:610
 msgid "Optimization mode (faster, inaccurate)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1113 src/sid/xs_interface.c:608
+#: src/sid/xmms-sid.glade:1113 src/sid/xs_interface.c:620
 msgid ""
 "reSID is the software SID-chip simulator based on SID reverse-engineering, "
 "created by Dag Lem. It is probably the closest thing to real SID available "
 "as software-only emulation."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1115 src/sid/xs_interface.c:604
+#: src/sid/xmms-sid.glade:1115 src/sid/xs_interface.c:616
 msgid "reSID-emulation"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1133 src/sid/xs_interface.c:616
+#: src/sid/xmms-sid.glade:1133 src/sid/xs_interface.c:628
 msgid ""
 "HardSID is a EISA/PCI card for PC-compatibles, which can be fitted with a "
 "real SID-chip. Software can be used to control the HardSID and combined with "
@@ -3974,49 +3989,49 @@
 "http://www.hardsid.com/"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1135 src/sid/xs_interface.c:612
+#: src/sid/xmms-sid.glade:1135 src/sid/xs_interface.c:624
 msgid "HardSID"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1156 src/sid/xs_interface.c:620
+#: src/sid/xmms-sid.glade:1156 src/sid/xs_interface.c:632
 msgid "SIDPlay 2 options:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1201 src/sid/xs_interface.c:641
+#: src/sid/xmms-sid.glade:1201 src/sid/xs_interface.c:653
 msgid ""
 "Fastest and also worst sounding sampling method, simply picks nearest "
 "neighbouring sample."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1203 src/sid/xs_interface.c:637
+#: src/sid/xmms-sid.glade:1203 src/sid/xs_interface.c:649
 msgid "Fast (nearest neighbour)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1221 src/sid/xs_interface.c:649
+#: src/sid/xmms-sid.glade:1221 src/sid/xs_interface.c:661
 msgid ""
 "Uses linear interpolation between samples, yielding higher audio quality "
 "with less sampling noise."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1223 src/sid/xs_interface.c:645
+#: src/sid/xmms-sid.glade:1223 src/sid/xs_interface.c:657
 msgid "Linear interpolation"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1263 src/sid/xs_interface.c:660
+#: src/sid/xmms-sid.glade:1263 src/sid/xs_interface.c:672
 #, fuzzy
 msgid "Resampling (FIR)"
 msgstr "Samplo"
 
-#: src/sid/xmms-sid.glade:1284 src/sid/xs_interface.c:667
+#: src/sid/xmms-sid.glade:1284 src/sid/xs_interface.c:679
 #, fuzzy
 msgid "reSID sampling options:"
 msgstr "Graddfa Samplo"
 
-#: src/sid/xmms-sid.glade:1320 src/sid/xs_interface.c:672
+#: src/sid/xmms-sid.glade:1320 src/sid/xs_interface.c:684
 msgid "Emu#2"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1350 src/sid/xs_interface.c:688
+#: src/sid/xmms-sid.glade:1350 src/sid/xs_interface.c:700
 msgid ""
 "This option enables emulation of SID filter. The filter is an essential part "
 "of SID's sound capacity, but accurate emulation of it may require quite much "
@@ -4024,312 +4039,323 @@
 "authentic at all if they utilize the filter."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1352 src/sid/xs_interface.c:684
+#: src/sid/xmms-sid.glade:1352 src/sid/xs_interface.c:696
 msgid "Emulate filters"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1409 src/sid/xs_interface.c:713
+#: src/sid/xmms-sid.glade:1409 src/sid/xs_interface.c:725
 msgid "FS"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1460 src/sid/xs_interface.c:730
+#: src/sid/xmms-sid.glade:1460 src/sid/xs_interface.c:742
 msgid "FM"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1511 src/sid/xs_interface.c:747
+#: src/sid/xmms-sid.glade:1511 src/sid/xs_interface.c:759
 msgid "FT"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1549 src/sid/xs_interface.c:758
+#: src/sid/xmms-sid.glade:1549 src/sid/xs_interface.c:770
 msgid "Reset values"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1578 src/sid/xs_interface.c:763
+#: src/sid/xmms-sid.glade:1578 src/sid/xs_interface.c:775
 msgid "SIDPlay1"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1690 src/sid/xs_interface.c:804
+#: src/sid/xmms-sid.glade:1690 src/sid/xs_interface.c:816
 #, fuzzy
 msgid "Export"
 msgstr "Porth"
 
-#: src/sid/xmms-sid.glade:1711 src/sid/xs_interface.c:812
+#: src/sid/xmms-sid.glade:1711 src/sid/xs_interface.c:824
 msgid "Use"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1753 src/sid/xs_interface.c:828
+#: src/sid/xmms-sid.glade:1753 src/sid/xs_interface.c:840
+#: src/skins/ui_manager.c:437
 #, fuzzy
 msgid "Import"
 msgstr "Porth"
 
-#: src/sid/xmms-sid.glade:1774 src/sid/xs_interface.c:836
+#: src/sid/xmms-sid.glade:1774 src/sid/xs_interface.c:848
+#: src/skins/ui_manager.c:439
 #, fuzzy
 msgid "Delete"
 msgstr "Rhagosodedig"
 
-#: src/sid/xmms-sid.glade:1819 src/sid/xs_interface.c:850
+#: src/sid/xmms-sid.glade:1819 src/sid/xs_interface.c:862
 #, fuzzy
 msgid "Filter curve:"
 msgstr "Maint ffeil:"
 
-#: src/sid/xmms-sid.glade:1855 src/sid/xs_interface.c:855
+#: src/sid/xmms-sid.glade:1855 src/sid/xs_interface.c:867
 msgid "SIDPlay2"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1891 src/sid/xs_interface.c:861
+#: src/sid/xmms-sid.glade:1891 src/sid/xs_interface.c:873
 msgid "Filters"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1935 src/sid/xs_interface.c:888
+#: src/sid/xmms-sid.glade:1935 src/sid/xs_interface.c:900
 msgid ""
 "If enabled, the tune is played at least for the specified time, adding "
 "silence to the end if necessary."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1937 src/sid/xs_interface.c:884
+#: src/sid/xmms-sid.glade:1937 src/sid/xs_interface.c:896
 msgid "Play at least for specified time"
 msgstr ""
 
 #: src/sid/xmms-sid.glade:1962 src/sid/xmms-sid.glade:2133
-#: src/sid/xmms-sid.glade:2632 src/sid/xs_interface.c:895
-#: src/sid/xs_interface.c:949 src/sid/xs_interface.c:1109
+#: src/sid/xmms-sid.glade:2702 src/sid/xs_interface.c:907
+#: src/sid/xs_interface.c:961 src/sid/xs_interface.c:1141
 #, fuzzy
 msgid "Playtime:"
 msgstr "Modd chwarae:"
 
-#: src/sid/xmms-sid.glade:2041 src/sid/xs_interface.c:915
+#: src/sid/xmms-sid.glade:2041 src/sid/xs_interface.c:927
 msgid "Minimum playtime:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2086 src/sid/xs_interface.c:936
+#: src/sid/xmms-sid.glade:2086 src/sid/xs_interface.c:948
 msgid ""
 "If enabled, tune is played until specified duration is reached (aka maximum "
 "playtime)."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2088 src/sid/xs_interface.c:932
+#: src/sid/xmms-sid.glade:2088 src/sid/xs_interface.c:944
 msgid "Play for specified time maximum"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2107 src/sid/xs_interface.c:942
+#: src/sid/xmms-sid.glade:2107 src/sid/xs_interface.c:954
 msgid ""
 "If enabled, the maximum playtime is applied only if song/tune length is not "
 "known."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2109 src/sid/xs_interface.c:938
+#: src/sid/xmms-sid.glade:2109 src/sid/xs_interface.c:950
 msgid "Only when song length is unknown"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2212 src/sid/xs_interface.c:969
+#: src/sid/xmms-sid.glade:2212 src/sid/xs_interface.c:981
 msgid "Maximum playtime:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2257 src/sid/xs_interface.c:990
+#: src/sid/xmms-sid.glade:2257 src/sid/xs_interface.c:1002
 msgid ""
 "This option enables using of XSIDPLAY compatible song length database. "
 "(Refer to Audacious-SID documentation for more information)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2259 src/sid/xs_interface.c:986
+#: src/sid/xmms-sid.glade:2259 src/sid/xs_interface.c:998
 msgid "Use XSIDPLAY-compatible database"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2284 src/sid/xs_interface.c:997
+#: src/sid/xmms-sid.glade:2284 src/sid/xs_interface.c:1009
 #, fuzzy
 msgid "DB-file:"
 msgstr "Dyfais:"
 
-#: src/sid/xmms-sid.glade:2309 src/sid/xs_interface.c:1007
+#: src/sid/xmms-sid.glade:2309 src/sid/xs_interface.c:1019
 msgid "Database path and filename"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2329 src/sid/xs_interface.c:1014
+#: src/sid/xmms-sid.glade:2329 src/sid/xs_interface.c:1026
 msgid "Browse for song length-database file"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2356 src/sid/xs_interface.c:1016
+#: src/sid/xmms-sid.glade:2418 src/sid/xs_interface.c:1048
 msgid "Song length database:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2392 src/sid/xs_interface.c:1021
+#: src/sid/xmms-sid.glade:2454 src/sid/xs_interface.c:1053
 #, fuzzy
 msgid "Songlength"
 msgstr "Hyd cân rhagosodedig:"
 
-#: src/sid/xmms-sid.glade:2430 src/sid/xs_interface.c:1043
+#: src/sid/xmms-sid.glade:2492 src/sid/xs_interface.c:1075
 msgid ""
 "By enabling this option you can specify a custom Tuplez formatting string "
 "for SID-files. The SID-plugin specific Tuplez tags are described shortly "
 "below."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2432 src/sid/xs_interface.c:1039
+#: src/sid/xmms-sid.glade:2494 src/sid/xs_interface.c:1071
 #, fuzzy
 msgid "Override generic Tuplez format string"
 msgstr "Diystyru'r teitlau cyffredinol"
 
-#: src/sid/xmms-sid.glade:2457 src/sid/xs_interface.c:1054
+#: src/sid/xmms-sid.glade:2519 src/sid/xs_interface.c:1086
 msgid "Tuplez format string for SID-files"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2477 src/sid/xs_interface.c:1057
-msgid "Descriptions of <i>SID-specific</i> Tuplez fields go here. <b>:D</b>"
-msgstr ""
-
-#: src/sid/xmms-sid.glade:2511 src/sid/xs_interface.c:1065
+#: src/sid/xmms-sid.glade:2539 src/sid/xs_interface.c:1089
+msgid ""
+"<u>SID-specific Tuplez fields:</u>\n"
+"\n"
+"<b>sid-format</b>\t\t- Specific fileformat\n"
+"<b>sid-model</b>\t\t- 6581 or 8580\n"
+"<b>sid-speed</b>\t\t- Timing or speed: PAL/NTSC/etc.\n"
+"\n"
+"<u>Other \"special\" fields set:</u>\n"
+"\n"
+"<b>subsong-num, subsong-id</b>"
+msgstr ""
+
+#: src/sid/xmms-sid.glade:2581 src/sid/xs_interface.c:1097
 #, fuzzy
 msgid "Song title format:"
 msgstr "Fformat y teitl:"
 
-#: src/sid/xmms-sid.glade:2584 src/sid/xs_interface.c:1096
+#: src/sid/xmms-sid.glade:2654 src/sid/xs_interface.c:1128
 msgid ""
 "If enabled, sub-tunes of each file will be added to playlist. If disabled, "
 "only the default sub-tune will be added."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2586 src/sid/xs_interface.c:1092
+#: src/sid/xmms-sid.glade:2656 src/sid/xs_interface.c:1124
 msgid "Add sub-tunes to playlist"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2605 src/sid/xs_interface.c:1102
+#: src/sid/xmms-sid.glade:2675 src/sid/xs_interface.c:1134
 msgid "Only add sub-tunes that have a duration of at least specified time."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2607 src/sid/xs_interface.c:1098
+#: src/sid/xmms-sid.glade:2677 src/sid/xs_interface.c:1130
 msgid "Only tunes with specified minimum duration"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2710 src/sid/xs_interface.c:1129
+#: src/sid/xmms-sid.glade:2780 src/sid/xs_interface.c:1161
 #, fuzzy
 msgid "Sub-tune handling:"
 msgstr "Rheolwr sain"
 
-#: src/sid/xmms-sid.glade:2755 src/sid/xs_interface.c:1150
+#: src/sid/xmms-sid.glade:2825 src/sid/xs_interface.c:1182
 msgid ""
 "If this option is enabled (and the database & HVSC settings below are "
 "correctly set), Audacious-SID will use and display additional information "
 "from STIL database when HVSC SIDs are played."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2757 src/sid/xs_interface.c:1146
+#: src/sid/xmms-sid.glade:2827 src/sid/xs_interface.c:1178
 msgid "Use STIL database"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2782 src/sid/xs_interface.c:1157
+#: src/sid/xmms-sid.glade:2852 src/sid/xs_interface.c:1189
 #, fuzzy
 msgid "STIL file:"
 msgstr "Teitl:"
 
-#: src/sid/xmms-sid.glade:2819 src/sid/xs_interface.c:1173
+#: src/sid/xmms-sid.glade:2889 src/sid/xs_interface.c:1205
 msgid ""
 "Path and filename of STIL database file (STIL.txt), usually found from "
 "HVSC's DOCUMENTS-subdirectory."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2854 src/sid/xs_interface.c:1186
+#: src/sid/xmms-sid.glade:2924 src/sid/xs_interface.c:1218
 msgid "Browse for STIL-database file"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2888 src/sid/xs_interface.c:1193
+#: src/sid/xmms-sid.glade:3020 src/sid/xs_interface.c:1245
 msgid "HVSC path:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2925 src/sid/xs_interface.c:1209
+#: src/sid/xmms-sid.glade:3057 src/sid/xs_interface.c:1261
 msgid ""
 "Path to base-directory of your High Voltage SID Collection (HVSC), for "
 "example /media/C64Music/"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2960 src/sid/xs_interface.c:1222
+#: src/sid/xmms-sid.glade:3092 src/sid/xs_interface.c:1274
 msgid "Browse for HVSC path"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2990 src/sid/xs_interface.c:1224
+#: src/sid/xmms-sid.glade:3184 src/sid/xs_interface.c:1296
 msgid "SID Tune Information List (STIL) database:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3063 src/sid/xs_interface.c:1248
+#: src/sid/xmms-sid.glade:3257 src/sid/xs_interface.c:1320
 msgid "Accept and update changes"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3077 src/sid/xs_interface.c:1255
+#: src/sid/xmms-sid.glade:3271 src/sid/xs_interface.c:1327
 msgid "Cancel any changes"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3102 src/sid/xs_interface.c:1543
+#: src/sid/xmms-sid.glade:3296 src/sid/xs_interface.c:1627
 #, fuzzy
 msgid "Audacious-SID Fileinfo"
 msgstr ""
 "\n"
 "Audacious OSD"
 
-#: src/sid/xmms-sid.glade:3172 src/sid/xs_interface.c:1572
+#: src/sid/xmms-sid.glade:3366 src/sid/xs_interface.c:1656
 msgid "Songname:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3200 src/sid/xs_interface.c:1580
+#: src/sid/xmms-sid.glade:3394 src/sid/xs_interface.c:1664
 msgid "Composer:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3228 src/sid/xs_interface.c:1588
+#: src/sid/xmms-sid.glade:3422 src/sid/xs_interface.c:1672
 msgid "Copyright:"
 msgstr "Hawlfraint:"
 
-#: src/sid/xmms-sid.glade:3342 src/sid/xs_interface.c:1632
+#: src/sid/xmms-sid.glade:3536 src/sid/xs_interface.c:1716
 #, fuzzy
 msgid "Song Information:"
 msgstr "Fformat ID3:"
 
-#: src/sid/xmms-sid.glade:3416 src/sid/xs_interface.c:1667
+#: src/sid/xmms-sid.glade:3610 src/sid/xs_interface.c:1751
 msgid "Author:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3514 src/sid/xs_interface.c:1701
+#: src/sid/xmms-sid.glade:3708 src/sid/xs_interface.c:1785
 #, fuzzy
 msgid "Duration:"
 msgstr "Addurniad"
 
-#: src/sid/xmms-sid.glade:3608 src/sid/xs_interface.c:1735
+#: src/sid/xmms-sid.glade:3802 src/sid/xs_interface.c:1819
 #, fuzzy
 msgid "Sub-tune Information:"
 msgstr "Fformat ID3:"
 
-#: src/sid/xmms-sid.glade:3662 src/sid/xs_interface.c:1796
+#: src/sid/xmms-sid.glade:3856 src/sid/xs_interface.c:1880
 msgid "Select HVSC song length database"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3704 src/sid/xs_interface.c:1837
+#: src/sid/xmms-sid.glade:3898 src/sid/xs_interface.c:1921
 msgid "Select STIL-database"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3746 src/sid/xs_interface.c:1878
+#: src/sid/xmms-sid.glade:3940 src/sid/xs_interface.c:1962
 msgid "Select HVSC location prefix"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3788 src/sid/xs_interface.c:1919
+#: src/sid/xmms-sid.glade:3982 src/sid/xs_interface.c:2003
 msgid "Select SIDPlay2 filters file for importing"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3830 src/sid/xs_interface.c:1960
+#: src/sid/xmms-sid.glade:4024 src/sid/xs_interface.c:2044
 msgid "Select SIDPlay2 filters file for exporting"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3871 src/sid/xmms-sid.glade:3953
-#: src/sid/xs_interface.c:2008 src/sid/xs_interface.c:2021
+#: src/sid/xmms-sid.glade:4065 src/sid/xmms-sid.glade:4147
+#: src/sid/xs_interface.c:2092 src/sid/xs_interface.c:2105
 msgid "Confirm selected action"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3909 src/sid/xs_interface.c:2038
+#: src/sid/xmms-sid.glade:4103 src/sid/xs_interface.c:2122
 #, fuzzy
 msgid "Yes"
 msgstr "iawn"
 
-#: src/sid/xmms-sid.glade:3921 src/sid/xs_interface.c:2044
+#: src/sid/xmms-sid.glade:4115 src/sid/xs_interface.c:2128
 msgid "No"
 msgstr "Na"
 
-#: src/sid/xs_about.c:84 src/wma/wma.c:121
+#: src/sid/xs_about.c:84 src/wma/wma.c:118
 #, c-format
 msgid "About %s"
 msgstr "Ynghylch %s"
@@ -4344,12 +4370,1122 @@
 msgid "Tune #%i: "
 msgstr ""
 
-#: src/sndfile/plugin.c:548
+#: src/skins/plugin.c:128
+msgid "About Skinned GUI"
+msgstr ""
+
+#: src/skins/plugin.c:129
+msgid ""
+"Copyright (c) 2008, by Tomasz Moń <desowin@gmail.com>\n"
+"\n"
+msgstr ""
+
+#: src/skins/skins_cfg.c:329
+#, fuzzy
+msgid "<b>_Fonts</b>"
+msgstr "<b>Hatena</b>"
+
+#: src/skins/skins_cfg.c:330
+#, fuzzy
+msgid "_Player:"
+msgstr "Modd chwarae:"
+
+#: src/skins/skins_cfg.c:330
+msgid "Select main player window font:"
+msgstr ""
+
+#: src/skins/skins_cfg.c:331
+#, fuzzy
+msgid "_Playlist:"
+msgstr "Modd chwarae:"
+
+#: src/skins/skins_cfg.c:331
+msgid "Select playlist font:"
+msgstr ""
+
+#: src/skins/skins_cfg.c:332
+#, fuzzy
+msgid "Use Bitmap fonts if available"
+msgstr "Stereo (os ar gael)"
+
+#: src/skins/skins_cfg.c:332
+msgid ""
+"Use bitmap fonts if they are available. Bitmap fonts do not support Unicode "
+"strings."
+msgstr ""
+
+#: src/skins/skins_cfg.c:333
+#, fuzzy
+msgid "<b>_Miscellaneous</b>"
+msgstr "<b>Gwasanaethau</b>"
+
+#: src/skins/skins_cfg.c:334
+msgid "Show track numbers in playlist"
+msgstr ""
+
+#: src/skins/skins_cfg.c:336
+msgid "Show separators in playlist"
+msgstr ""
+
+#: src/skins/skins_cfg.c:338
+msgid "Show window manager decoration"
+msgstr ""
+
+#: src/skins/skins_cfg.c:339
+msgid "This enables the window manager to show decorations for windows."
+msgstr ""
+
+#: src/skins/skins_cfg.c:340
+msgid "Use two-way text scroller"
+msgstr ""
+
+#: src/skins/skins_cfg.c:341
+msgid ""
+"If selected, the file information text in the main window will scroll back "
+"and forth. If not selected, the text will only scroll in one direction."
+msgstr ""
+
+#: src/skins/skins_cfg.c:342
+msgid "Disable inline gtk theme"
+msgstr ""
+
+#: src/skins/skins_cfg.c:343
+msgid "Allow loading incomplete skins"
+msgstr ""
+
+#: src/skins/skins_cfg.c:344
+msgid ""
+"If selected, audacious won't refuse loading broken skins. Use only if your "
+"favourite skin doesn't work"
+msgstr ""
+
+#: src/skins/skins_cfg.c:410
+msgid "Color Adjustment"
+msgstr ""
+
+#: src/skins/skins_cfg.c:417
+msgid ""
+"Audacious allows you to alter the color balance of the skinned UI. The "
+"sliders below will allow you to do this."
+msgstr ""
+
+#: src/skins/skins_cfg.c:427
+#, fuzzy
+msgid "Blue"
+msgstr "Y Felan"
+
+#: src/skins/skins_cfg.c:434
+msgid "Green"
+msgstr ""
+
+#: src/skins/skins_cfg.c:441
+msgid "Red"
+msgstr ""
+
+#: src/skins/skins_cfg.c:571
+#, fuzzy
+msgid "Audacious Skinned GUI Configuration"
+msgstr "Audacious OSD - ffurfweddiad"
+
+#: src/skins/skins_cfg.c:596
+#, fuzzy
+msgid "<b>_Skin</b>"
+msgstr "<b>Hatena</b>"
+
+#: src/skins/ui_equalizer.c:494
+msgid "Audacious Equalizer"
+msgstr ""
+
+#: src/skins/ui_equalizer.c:794
+#, c-format
+msgid "Error importing Winamp EQF file '%s'"
+msgstr ""
+
+#: src/skins/ui_equalizer.c:1172
+msgid "Presets"
+msgstr ""
+
+#: src/skins/ui_main.c:392
+#, c-format
+msgid "%s - Audacious"
+msgstr "%s - Audacious"
+
+#: src/skins/ui_main.c:394 src/skins/ui_main.c:2397
+#, fuzzy
+msgid "Audacious"
+msgstr "%s - Audacious"
+
+#: src/skins/ui_main.c:641
+msgid "VBR"
+msgstr ""
+
+#: src/skins/ui_main.c:659 src/skins/ui_main.c:663
+#, fuzzy
+msgid "stereo"
+msgstr "Stereo"
+
+#: src/skins/ui_main.c:659 src/skins/ui_main.c:663
+#, fuzzy
+msgid "mono"
+msgstr "Mono"
+
+#: src/skins/ui_main.c:957
+msgid "Can't jump to time when no track is being played.\n"
+msgstr ""
+
+#: src/skins/ui_main.c:972 src/skins/ui_manager.c:425
+#: src/skins/ui_manager.c:426
+msgid "Jump to Time"
+msgstr ""
+
+#: src/skins/ui_main.c:993
+#, fuzzy
+msgid "minutes:seconds"
+msgstr "eiliad"
+
+#: src/skins/ui_main.c:1003
+#, fuzzy
+msgid "Track length:"
+msgstr "Cynnydd trac:"
+
+#: src/skins/ui_main.c:1149
+msgid "Audacious - visibility warning"
+msgstr ""
+
+#: src/skins/ui_main.c:1152
+#, fuzzy
+msgid "Show main player window"
+msgstr "Dangos ffenestr rhwydwaith"
+
+#: src/skins/ui_main.c:1153
+msgid "Ignore"
+msgstr ""
+
+#: src/skins/ui_main.c:1159
+msgid ""
+"Audacious has been started with all of its windows hidden.\n"
+"You may want to show the player window again to control Audacious; "
+"otherwise, you'll have to control it remotely via audtool or enabled plugins "
+"(such as the statusicon plugin)."
+msgstr ""
+
+#: src/skins/ui_main.c:1165
+msgid "Always ignore, show/hide is controlled remotely"
+msgstr ""
+
+#: src/skins/ui_main.c:1210
+msgid "Audacious - broken GTK engine usage warning"
+msgstr ""
+
+#: src/skins/ui_main.c:1218
+#, c-format
+msgid ""
+"<big><b>Broken GTK engine in use</b></big>\n"
+"\n"
+"Audacious has detected that you are using a broken GTK engine.\n"
+"\n"
+"The theme engine you are using, <i>%s</i>, is incompatible with some of the "
+"features used by modern skins. The incompatible features have been disabled "
+"for this session.\n"
+"\n"
+"To use these features, please consider using a different GTK theme engine."
+msgstr ""
+
+#: src/skins/ui_main.c:1229
+msgid "Do not display this warning again"
+msgstr ""
+
+#: src/skins/ui_main.c:1253
+msgid "Enter location to play:"
+msgstr ""
+
+#: src/skins/ui_main.c:1497
+#, c-format
+msgid "Seek to: %d:%-2.2d/%d:%-2.2d (%d%%)"
+msgstr ""
+
+#: src/skins/ui_main.c:1527
+#, fuzzy, c-format
+msgid "Volume: %d%%"
+msgstr "Sain:(%)"
+
+#: src/skins/ui_main.c:1555
+#, c-format
+msgid "Balance: %d%% left"
+msgstr ""
+
+#: src/skins/ui_main.c:1559
+msgid "Balance: center"
+msgstr ""
+
+#: src/skins/ui_main.c:1563
+#, c-format
+msgid "Balance: %d%% right"
+msgstr ""
+
+#: src/skins/ui_main.c:1881
+#, fuzzy
+msgid "Options Menu"
+msgstr "Dewisiadau:"
+
+#: src/skins/ui_main.c:1885
+msgid "Disable 'Always On Top'"
+msgstr ""
+
+#: src/skins/ui_main.c:1887
+msgid "Enable 'Always On Top'"
+msgstr ""
+
+#: src/skins/ui_main.c:1890
+#, fuzzy
+msgid "File Info Box"
+msgstr "Gwybodaeth Ffeil - %s"
+
+#: src/skins/ui_main.c:1894
+#, fuzzy
+msgid "Disable 'GUI Scaling'"
+msgstr "Analluogi tagiau ID3V2"
+
+#: src/skins/ui_main.c:1896
+#, fuzzy
+msgid "Enable 'GUI Scaling'"
+msgstr "Gallougi sain dyblusampl"
+
+#: src/skins/ui_main.c:1899
+msgid "Visualization Menu"
+msgstr ""
+
+#: src/skins/ui_main.c:1946
+msgid ""
+"<b><big>Couldn't open audio.</big></b>\n"
+"\n"
+"Please check that:\n"
+"1. You have the correct output plugin selected.\n"
+"2. No other programs is blocking the soundcard.\n"
+"3. Your soundcard is configured properly.\n"
+msgstr ""
+
+#: src/skins/ui_manager.c:53 src/skins/ui_manager.c:54
+msgid "Autoscroll Songname"
+msgstr ""
+
+#: src/skins/ui_manager.c:56 src/skins/ui_manager.c:57
+msgid "Stop after Current Song"
+msgstr ""
+
+#: src/skins/ui_manager.c:59 src/skins/ui_manager.c:60
+#, fuzzy
+msgid "Peaks"
+msgstr "Pranks"
+
+#: src/skins/ui_manager.c:62 src/skins/ui_manager.c:63
+#, fuzzy
+msgid "Repeat"
+msgstr "Beat"
+
+#: src/skins/ui_manager.c:65 src/skins/ui_manager.c:66
+msgid "Shuffle"
+msgstr ""
+
+#: src/skins/ui_manager.c:68 src/skins/ui_manager.c:69
+msgid "No Playlist Advance"
+msgstr ""
+
+#: src/skins/ui_manager.c:71 src/skins/ui_manager.c:72
+msgid "Show Player"
+msgstr ""
+
+#: src/skins/ui_manager.c:74 src/skins/ui_manager.c:75
+msgid "Show Playlist Editor"
+msgstr ""
+
+#: src/skins/ui_manager.c:77 src/skins/ui_manager.c:78
+msgid "Show Equalizer"
+msgstr ""
+
+#: src/skins/ui_manager.c:80 src/skins/ui_manager.c:81
+msgid "Always on Top"
+msgstr ""
+
+#: src/skins/ui_manager.c:83 src/skins/ui_manager.c:84
+msgid "Put on All Workspaces"
+msgstr ""
+
+#: src/skins/ui_manager.c:86 src/skins/ui_manager.c:87
+msgid "Roll up Player"
+msgstr ""
+
+#: src/skins/ui_manager.c:89 src/skins/ui_manager.c:90
+msgid "Roll up Playlist Editor"
+msgstr ""
+
+#: src/skins/ui_manager.c:92 src/skins/ui_manager.c:93
+msgid "Roll up Equalizer"
+msgstr ""
+
+#: src/skins/ui_manager.c:95 src/sndstretch/sndstretch_xmms.c:375
+#, fuzzy
+msgid "Scale"
+msgstr "Rave"
+
+#: src/skins/ui_manager.c:96
+msgid "DoubleSize"
+msgstr ""
+
+#: src/skins/ui_manager.c:98 src/skins/ui_manager.c:99
+msgid "Easy Move"
+msgstr ""
+
+#: src/skins/ui_manager.c:107
+msgid "Analyzer"
+msgstr ""
+
+#: src/skins/ui_manager.c:108
+#, fuzzy
+msgid "Scope"
+msgstr "Synthpop"
+
+#: src/skins/ui_manager.c:109
+msgid "Voiceprint"
+msgstr ""
+
+#: src/skins/ui_manager.c:110
+msgid "Off"
+msgstr ""
+
+#: src/skins/ui_manager.c:114 src/skins/ui_manager.c:131
+#: src/skins/ui_manager.c:137
+#, fuzzy
+msgid "Normal"
+msgstr "Fformat:"
+
+#: src/skins/ui_manager.c:115 src/skins/ui_manager.c:132
+#, fuzzy
+msgid "Fire"
+msgstr "Satire"
+
+#: src/skins/ui_manager.c:116
+msgid "Vertical Lines"
+msgstr ""
+
+#: src/skins/ui_manager.c:120
+#, fuzzy
+msgid "Lines"
+msgstr "Lladin"
+
+#: src/skins/ui_manager.c:121
+#, fuzzy
+msgid "Bars"
+msgstr "Bas"
+
+#: src/skins/ui_manager.c:125
+msgid "Dot Scope"
+msgstr ""
+
+#: src/skins/ui_manager.c:126
+msgid "Line Scope"
+msgstr ""
+
+#: src/skins/ui_manager.c:127
+msgid "Solid Scope"
+msgstr ""
+
+#: src/skins/ui_manager.c:133
+msgid "Ice"
+msgstr ""
+
+#: src/skins/ui_manager.c:138
+msgid "Smooth"
+msgstr ""
+
+#: src/skins/ui_manager.c:142
+msgid "Full (~50 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:143
+msgid "Half (~25 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:144
+msgid "Quarter (~13 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:145
+msgid "Eighth (~6 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:149 src/skins/ui_manager.c:157
+#, fuzzy
+msgid "Slowest"
+msgstr "Showtunes"
+
+#: src/skins/ui_manager.c:150 src/skins/ui_manager.c:158
+#, fuzzy
+msgid "Slow"
+msgstr "Slow Jam"
+
+#: src/skins/ui_manager.c:151 src/skins/ui_manager.c:159
+msgid "Medium"
+msgstr ""
+
+#: src/skins/ui_manager.c:152 src/skins/ui_manager.c:160
+#, fuzzy
+msgid "Fast"
+msgstr "Fformat:"
+
+#: src/skins/ui_manager.c:153 src/skins/ui_manager.c:161
+msgid "Fastest"
+msgstr ""
+
+#: src/skins/ui_manager.c:165
+msgid "Time Elapsed"
+msgstr ""
+
+#: src/skins/ui_manager.c:166
+msgid "Time Remaining"
+msgstr ""
+
+#: src/skins/ui_manager.c:180 src/skins/ui_manager.c:181
+#, fuzzy
+msgid "Pause"
+msgstr "Chwarae"
+
+#: src/skins/ui_manager.c:186 src/skins/ui_manager.c:187
+#, fuzzy
+msgid "Previous"
+msgstr "Primus"
+
+#: src/skins/ui_manager.c:189 src/skins/ui_manager.c:190
+#, fuzzy
+msgid "Next"
+msgstr "Testun"
+
+#: src/skins/ui_manager.c:195
+#, fuzzy
+msgid "Visualization"
+msgstr "Corff:"
+
+#: src/skins/ui_manager.c:196
+msgid "Visualization Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:197
+msgid "Analyzer Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:198
+msgid "Scope Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:199
+msgid "Voiceprint Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:200
+msgid "WindowShade VU Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:201
+msgid "Refresh Rate"
+msgstr ""
+
+#: src/skins/ui_manager.c:202
+msgid "Analyzer Falloff"
+msgstr ""
+
+#: src/skins/ui_manager.c:203
+msgid "Peaks Falloff"
+msgstr ""
+
+#: src/skins/ui_manager.c:208
+#, fuzzy
+msgid "Playlist"
+msgstr "Modd chwarae:"
+
+#: src/skins/ui_manager.c:210 src/skins/ui_manager.c:211
+msgid "New Playlist"
+msgstr ""
+
+#: src/skins/ui_manager.c:213 src/skins/ui_manager.c:214
+msgid "Select Next Playlist"
+msgstr ""
+
+#: src/skins/ui_manager.c:216 src/skins/ui_manager.c:217
+msgid "Select Previous Playlist"
+msgstr ""
+
+#: src/skins/ui_manager.c:219 src/skins/ui_manager.c:220
+msgid "Delete Playlist"
+msgstr ""
+
+#: src/skins/ui_manager.c:222
+msgid "Load List"
+msgstr ""
+
+#: src/skins/ui_manager.c:223
+msgid "Loads a playlist file into the selected playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:225
+#, fuzzy
+msgid "Save List"
+msgstr "Rave"
+
+#: src/skins/ui_manager.c:226
+msgid "Saves the selected playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:228
+#, fuzzy
+msgid "Save Default List"
+msgstr "Rhagosodedig (%s)"
+
+#: src/skins/ui_manager.c:229
+msgid "Saves the selected playlist to the default location."
+msgstr ""
+
+#: src/skins/ui_manager.c:232
+msgid "Refresh List"
+msgstr ""
+
+#: src/skins/ui_manager.c:233
+msgid "Refreshes metadata associated with a playlist entry."
+msgstr ""
+
+#: src/skins/ui_manager.c:236
+msgid "List Manager"
+msgstr ""
+
+#: src/skins/ui_manager.c:237
+msgid "Opens the playlist manager."
+msgstr ""
+
+#: src/skins/ui_manager.c:243
+msgid "View"
+msgstr ""
+
+#: src/skins/ui_manager.c:247
+msgid "Add Internet Address..."
+msgstr ""
+
+#: src/skins/ui_manager.c:248
+msgid "Adds a remote track to the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:251
+msgid "Add Files..."
+msgstr ""
+
+#: src/skins/ui_manager.c:252
+msgid "Adds files to the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:257
+msgid "Search and Select"
+msgstr ""
+
+#: src/skins/ui_manager.c:258
+msgid ""
+"Searches the playlist and selects playlist entries based on specific "
+"criteria."
+msgstr ""
+
+#: src/skins/ui_manager.c:261
+msgid "Invert Selection"
+msgstr ""
+
+#: src/skins/ui_manager.c:262
+msgid "Inverts the selected and unselected entries."
+msgstr ""
+
+#: src/skins/ui_manager.c:265
+msgid "Select All"
+msgstr ""
+
+#: src/skins/ui_manager.c:266
+msgid "Selects all of the playlist entries."
+msgstr ""
+
+#: src/skins/ui_manager.c:269
+msgid "Select None"
+msgstr ""
+
+#: src/skins/ui_manager.c:270
+msgid "Deselects all of the playlist entries."
+msgstr ""
+
+#: src/skins/ui_manager.c:275
+#, fuzzy
+msgid "Remove All"
+msgstr "Tynnu gyrrwr"
+
+#: src/skins/ui_manager.c:276
+msgid "Removes all entries from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:279
+msgid "Clear Queue"
+msgstr ""
+
+#: src/skins/ui_manager.c:280
+msgid "Clears the queue associated with this playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:283
+msgid "Remove Unavailable Files"
+msgstr ""
+
+#: src/skins/ui_manager.c:284
+msgid "Removes unavailable files from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:287
+#, fuzzy
+msgid "Remove Duplicates"
+msgstr "Tynnu gyrrwr"
+
+#: src/skins/ui_manager.c:289 src/skins/ui_manager.c:321
+#: src/skins/ui_manager.c:351
+#, fuzzy
+msgid "By Title"
+msgstr "Teitl"
+
+#: src/skins/ui_manager.c:290
+msgid "Removes duplicate entries from the playlist by title."
+msgstr ""
+
+#: src/skins/ui_manager.c:293 src/skins/ui_manager.c:329
+#: src/skins/ui_manager.c:359
+#, fuzzy
+msgid "By Filename"
+msgstr "Enw ffeil"
+
+#: src/skins/ui_manager.c:294
+msgid "Removes duplicate entries from the playlist by filename."
+msgstr ""
+
+#: src/skins/ui_manager.c:297 src/skins/ui_manager.c:333
+#: src/skins/ui_manager.c:363
+#, fuzzy
+msgid "By Path + Filename"
+msgstr "Enw ffeil"
+
+#: src/skins/ui_manager.c:298
+msgid "Removes duplicate entries from the playlist by their full path."
+msgstr ""
+
+#: src/skins/ui_manager.c:301
+msgid "Remove Unselected"
+msgstr ""
+
+#: src/skins/ui_manager.c:302
+msgid "Remove unselected entries from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:305
+msgid "Remove Selected"
+msgstr ""
+
+#: src/skins/ui_manager.c:306
+msgid "Remove selected entries from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:311
+msgid "Randomize List"
+msgstr ""
+
+#: src/skins/ui_manager.c:312
+msgid "Randomizes the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:315
+msgid "Reverse List"
+msgstr ""
+
+#: src/skins/ui_manager.c:316
+msgid "Reverses the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:319
+#, fuzzy
+msgid "Sort List"
+msgstr "Artist:"
+
+#: src/skins/ui_manager.c:322 src/skins/ui_manager.c:352
+msgid "Sorts the list by title."
+msgstr ""
+
+#: src/skins/ui_manager.c:325 src/skins/ui_manager.c:355
+#, fuzzy
+msgid "By Artist"
+msgstr "Artist:"
+
+#: src/skins/ui_manager.c:326 src/skins/ui_manager.c:356
+msgid "Sorts the list by artist."
+msgstr ""
+
+#: src/skins/ui_manager.c:330 src/skins/ui_manager.c:360
+msgid "Sorts the list by filename."
+msgstr ""
+
+#: src/skins/ui_manager.c:334 src/skins/ui_manager.c:364
+msgid "Sorts the list by full pathname."
+msgstr ""
+
+#: src/skins/ui_manager.c:337 src/skins/ui_manager.c:367
+#, fuzzy
+msgid "By Date"
+msgstr "Dyddiad!"
+
+#: src/skins/ui_manager.c:338 src/skins/ui_manager.c:368
+msgid "Sorts the list by modification time."
+msgstr ""
+
+#: src/skins/ui_manager.c:341 src/skins/ui_manager.c:371
+#, fuzzy
+msgid "By Track Number"
+msgstr "Rhif y Trac:"
+
+#: src/skins/ui_manager.c:342 src/skins/ui_manager.c:372
+msgid "Sorts the list by track number."
+msgstr ""
+
+#: src/skins/ui_manager.c:345 src/skins/ui_manager.c:375
+msgid "By Playlist Entry"
+msgstr ""
+
+#: src/skins/ui_manager.c:346 src/skins/ui_manager.c:376
+msgid "Sorts the list by playlist entry."
+msgstr ""
+
+#: src/skins/ui_manager.c:349
+msgid "Sort Selected"
+msgstr ""
+
+#: src/skins/ui_manager.c:385
+#, fuzzy
+msgid "File"
+msgstr "Enw ffeil"
+
+#: src/skins/ui_manager.c:388
+msgid "Plugin Services"
+msgstr ""
+
+#: src/skins/ui_manager.c:390 src/skins/ui_manager.c:393
+#, fuzzy
+msgid "View Track Details"
+msgstr "defnyddiwch Cynnydd/Brig Trac"
+
+#: src/skins/ui_manager.c:391 src/skins/ui_manager.c:394
+msgid "View track details"
+msgstr ""
+
+#: src/skins/ui_manager.c:396 src/skins/ui_manager.c:397
+#, fuzzy
+msgid "About Audacious"
+msgstr "Ynghylch Audacious Ategyn LIRC"
+
+#: src/skins/ui_manager.c:399
+#, fuzzy
+msgid "Play File"
+msgstr "Modd chwarae:"
+
+#: src/skins/ui_manager.c:400
+msgid "Load and play a file"
+msgstr ""
+
+#: src/skins/ui_manager.c:402
+msgid "Play Location"
+msgstr ""
+
+#: src/skins/ui_manager.c:403
+msgid "Play media from the selected location"
+msgstr ""
+
+#: src/skins/ui_manager.c:405
+msgid "Plugin services"
+msgstr ""
+
+#: src/skins/ui_manager.c:407
+msgid "Preferences"
+msgstr ""
+
+#: src/skins/ui_manager.c:408
+msgid "Open preferences window"
+msgstr ""
+
+#: src/skins/ui_manager.c:410
+msgid "_Quit"
+msgstr ""
+
+#: src/skins/ui_manager.c:411
+#, fuzzy
+msgid "Quit Audacious"
+msgstr "%s - Audacious"
+
+#: src/skins/ui_manager.c:413 src/skins/ui_manager.c:414
+msgid "Set A-B"
+msgstr ""
+
+#: src/skins/ui_manager.c:416 src/skins/ui_manager.c:417
+msgid "Clear A-B"
+msgstr ""
+
+#: src/skins/ui_manager.c:419 src/skins/ui_manager.c:420
+msgid "Jump to Playlist Start"
+msgstr ""
+
+#: src/skins/ui_manager.c:428
+msgid "Queue Toggle"
+msgstr ""
+
+#: src/skins/ui_manager.c:429
+msgid "Enables/disables the entry in the playlist's queue."
+msgstr ""
+
+#: src/skins/ui_manager.c:436
+msgid "Load"
+msgstr ""
+
+#: src/skins/ui_manager.c:441 src/skins/ui_manager.c:462
+#: src/skins/ui_manager.c:477
+#, fuzzy
+msgid "Preset"
+msgstr "Porth"
+
+#: src/skins/ui_manager.c:442
+msgid "Load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:444 src/skins/ui_manager.c:465
+#: src/skins/ui_manager.c:480
+msgid "Auto-load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:445
+msgid "Load auto-load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:448
+msgid "Load default preset into equalizer"
+msgstr ""
+
+#: src/skins/ui_manager.c:450
+#, fuzzy
+msgid "Zero"
+msgstr "Retro"
+
+#: src/skins/ui_manager.c:451
+msgid "Set equalizer preset levels to zero"
+msgstr ""
+
+#: src/skins/ui_manager.c:453
+msgid "From file"
+msgstr ""
+
+#: src/skins/ui_manager.c:454
+msgid "Load preset from file"
+msgstr ""
+
+#: src/skins/ui_manager.c:456
+msgid "From WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:457
+msgid "Load preset from WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:459
+msgid "WinAMP Presets"
+msgstr ""
+
+#: src/skins/ui_manager.c:460
+msgid "Import WinAMP presets"
+msgstr ""
+
+#: src/skins/ui_manager.c:463
+msgid "Save preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:466
+msgid "Save auto-load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:469
+#, fuzzy
+msgid "Save default preset"
+msgstr "rhagosodedig"
+
+#: src/skins/ui_manager.c:471
+#, fuzzy
+msgid "To file"
+msgstr "Teitl:"
+
+#: src/skins/ui_manager.c:472
+#, fuzzy
+msgid "Save preset to file"
+msgstr "Cadw'r llif i ddisg"
+
+#: src/skins/ui_manager.c:474
+msgid "To WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:475
+msgid "Save preset to WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:478
+#, fuzzy
+msgid "Delete preset"
+msgstr "Rhagosodedig"
+
+#: src/skins/ui_manager.c:481
+msgid "Delete auto-load preset"
+msgstr ""
+
+#: src/skins/ui_playlist.c:454
+msgid "Search entries in active playlist"
+msgstr ""
+
+#: src/skins/ui_playlist.c:462
+msgid ""
+"Select entries in playlist by filling one or more fields. Fields use regular "
+"expressions syntax, case-insensitive. If you don't know how regular "
+"expressions work, simply insert a literal portion of what you're searching "
+"for."
+msgstr ""
+
+#: src/skins/ui_playlist.c:477
+#, fuzzy
+msgid "Album: "
+msgstr "Albwm:"
+
+#: src/skins/ui_playlist.c:484
+#, fuzzy
+msgid "Artist: "
+msgstr "Artist:"
+
+#: src/skins/ui_playlist.c:491
+#, fuzzy
+msgid "Filename: "
+msgstr "Enw Defnyddiwr:"
+
+#: src/skins/ui_playlist.c:499
+msgid "Clear previous selection before searching"
+msgstr ""
+
+#: src/skins/ui_playlist.c:502
+msgid "Automatically toggle queue for matching entries"
+msgstr ""
+
+#: src/skins/ui_playlist.c:505
+msgid "Create a new playlist with matching entries"
+msgstr ""
+
+#: src/skins/ui_playlist.c:724
+#, c-format
+msgid "Error writing playlist \"%s\": %s"
+msgstr ""
+
+#: src/skins/ui_playlist.c:746
+#, c-format
+msgid "%s already exist. Continue?"
+msgstr ""
+
+#: src/skins/ui_playlist.c:761
+#, c-format
+msgid ""
+"<b><big>Unable to save playlist.</big></b>\n"
+"\n"
+"Unknown file type for '%s'.\n"
+msgstr ""
+
+#: src/skins/ui_playlist.c:887
+msgid "Save as Static Playlist"
+msgstr ""
+
+#: src/skins/ui_playlist.c:894
+msgid "Use Relative Path"
+msgstr ""
+
+#: src/skins/ui_playlist.c:916
+msgid "Load Playlist"
+msgstr ""
+
+#: src/skins/ui_playlist.c:929
+msgid "Save Playlist"
+msgstr ""
+
+#: src/skins/ui_playlist.c:1497
+msgid "Audacious Playlist Editor"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:377
+msgid "PREAMP"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:377
+msgid "60HZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:377
+msgid "170HZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:378
+msgid "310HZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:378
+#, fuzzy
+msgid "600HZ"
+msgstr "11000 Hz"
+
+#: src/skins/ui_skinned_equalizer_slider.c:378
+msgid "1KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:379
+msgid "3KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:379
+msgid "6KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:379
+msgid "12KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:380
+msgid "14KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:380
+msgid "16KHZ"
+msgstr ""
+
+#: src/skins/ui_skinselector.c:178
+msgid "Archived Winamp 2.x skin"
+msgstr ""
+
+#: src/skins/ui_skinselector.c:183
+msgid "Unarchived Winamp 2.x skin"
+msgstr ""
+
+#: src/skins/util.c:1132
+#, fuzzy, c-format
+msgid "Could not create directory (%s): %s\n"
+msgstr ""
+"Methu gwirio'r cyfeiradur %s\n"
+"Gwall: %s"
+
+#: src/sndfile/plugin.c:554
 #, fuzzy
 msgid "About sndfile plugin"
 msgstr "Ategyn Sain WAV (sndfile)"
 
-#: src/sndfile/plugin.c:549
+#: src/sndfile/plugin.c:555
 msgid ""
 "Adapted for Audacious usage by Tony Vroon <chainsaw@gentoo.org>\n"
 "from the xmms_sndfile plugin which is:\n"
@@ -4390,70 +5526,65 @@
 " MA 02111-1307,\n"
 "USA."
 
-#: src/sndstretch/sndstretch_xmms.c:159
+#: src/sndstretch/sndstretch_xmms.c:158
 #, fuzzy
 msgid "About SndStretch"
 msgstr "Ynghylch Gyrrwr OSS"
 
-#: src/sndstretch/sndstretch_xmms.c:319
+#: src/sndstretch/sndstretch_xmms.c:318
 #, fuzzy
 msgid "Volume corr."
 msgstr "Rheolwr sain"
 
-#: src/sndstretch/sndstretch_xmms.c:320
+#: src/sndstretch/sndstretch_xmms.c:319
 msgid "Short Overlap"
 msgstr ""
 
-#: src/sndstretch/sndstretch_xmms.c:374
+#: src/sndstretch/sndstretch_xmms.c:373
 #, fuzzy
 msgid "Speed"
 msgstr "Llais"
 
-#: src/sndstretch/sndstretch_xmms.c:375
+#: src/sndstretch/sndstretch_xmms.c:374
 #, fuzzy
 msgid "Pitch"
 msgstr "Llwybr:"
 
-#: src/sndstretch/sndstretch_xmms.c:376
-#, fuzzy
-msgid "Scale"
-msgstr "Rave"
-
-#: src/sndstretch/sndstretch_xmms.c:396
+#: src/sndstretch/sndstretch_xmms.c:395
 #, fuzzy
 msgid "SndStretch - Configuration"
 msgstr "Ffurfweddu'r Gyrrwr Sun"
 
-#: src/song_change/song_change.c:312
+#: src/song_change/song_change.c:310
 msgid "Commands"
 msgstr "Gorchymyn:"
 
-#: src/song_change/song_change.c:319
+#: src/song_change/song_change.c:317
 msgid "Command to run when Audacious starts a new song."
 msgstr "Gorchymyn cragen i'w redeg pan fo Audacious yn newid cân."
 
-#: src/song_change/song_change.c:328 src/song_change/song_change.c:350
-#: src/song_change/song_change.c:371 src/song_change/song_change.c:392
+#: src/song_change/song_change.c:326 src/song_change/song_change.c:348
+#: src/song_change/song_change.c:369 src/song_change/song_change.c:390
 msgid "Command:"
 msgstr "Gorchymyn:"
 
-#: src/song_change/song_change.c:342
+#: src/song_change/song_change.c:340
 msgid "Command to run toward the end of a song."
 msgstr ""
 "Gorchymyn cragen, i'w redeg pan fo Audacious wedi cyrraedd diwedd chwarae."
 
-#: src/song_change/song_change.c:362
+#: src/song_change/song_change.c:360
 msgid "Command to run when Audacious reaches the end of the playlist."
 msgstr ""
 "Gorchymyn cragen.i'w redeg pan fo Audacious wedi cyrraedd diwedd rhestr "
 "chwarae."
 
-#: src/song_change/song_change.c:383
+#: src/song_change/song_change.c:381
 msgid ""
 "Command to run when title changes for a song (i.e. network streams titles)."
 msgstr ""
 
-#: src/song_change/song_change.c:404
+#: src/song_change/song_change.c:402
 #, c-format
 msgid ""
 "You can use the following format strings which\n"
@@ -4470,7 +5601,7 @@
 "%%p: Currently playing (1 or 0)"
 msgstr ""
 
-#: src/song_change/song_change.c:429
+#: src/song_change/song_change.c:427
 msgid ""
 "<span size='small'>Parameters passed to the shell should be encapsulated in "
 "quotes. Doing otherwise is a security risk.</span>"
@@ -4478,7 +5609,7 @@
 "<span size='small'>Dylai enw ffeil a thagiau teitl cân fod o fewn dyfynodau "
 "dwb (\"). Gall peidio gwneud achosi risg diogelwch.</span>"
 
-#: src/spectrum/spectrum.c:90
+#: src/spectrum/spectrum.c:89
 msgid "Spectrum Analyzer"
 msgstr ""
 
@@ -4491,12 +5622,12 @@
 msgid "The orientation of the tray"
 msgstr ""
 
-#: src/statusicon/si_ui.c:622
+#: src/statusicon/si_ui.c:620
 #, fuzzy
 msgid "About Status Icon Plugin"
 msgstr "Ynghylch Ategyn ESounD"
 
-#: src/statusicon/si_ui.c:624
+#: src/statusicon/si_ui.c:622
 msgid ""
 "\n"
 "written by Giacomo Lozito < james@develia.org >\n"
@@ -4505,40 +5636,40 @@
 "the system tray area of the window manager.\n"
 msgstr ""
 
-#: src/statusicon/si_ui.c:696
+#: src/statusicon/si_ui.c:694
 #, fuzzy
 msgid "Status Icon Plugin - Preferences"
 msgstr "Ynghylch Ategyn ESounD"
 
-#: src/statusicon/si_ui.c:707
+#: src/statusicon/si_ui.c:705
 msgid "Right-Click Menu"
 msgstr ""
 
-#: src/statusicon/si_ui.c:712
+#: src/statusicon/si_ui.c:710
 msgid "Audacious standard menu"
 msgstr ""
 
-#: src/statusicon/si_ui.c:717
+#: src/statusicon/si_ui.c:715
 msgid "Small playback menu #1"
 msgstr ""
 
-#: src/statusicon/si_ui.c:722
+#: src/statusicon/si_ui.c:720
 msgid "Small playback menu #2"
 msgstr ""
 
-#: src/statusicon/si_ui.c:745
+#: src/statusicon/si_ui.c:743
 msgid "Mouse Scroll Action"
 msgstr ""
 
-#: src/statusicon/si_ui.c:750
+#: src/statusicon/si_ui.c:748
 msgid "Change volume"
 msgstr ""
 
-#: src/statusicon/si_ui.c:755
+#: src/statusicon/si_ui.c:753
 msgid "Change playing song"
 msgstr ""
 
-#: src/stereo_plugin/stereo.c:26
+#: src/stereo_plugin/stereo.c:25
 msgid ""
 "Extra Stereo Plugin\n"
 "\n"
@@ -4548,23 +5679,19 @@
 "\n"
 "Gan Johan Levin 1999."
 
-#: src/stereo_plugin/stereo.c:52
+#: src/stereo_plugin/stereo.c:51
 msgid "About Extra Stereo Plugin"
 msgstr "Ynghylch Ategyn Extra Stereo"
 
-#: src/stereo_plugin/stereo.c:93
+#: src/stereo_plugin/stereo.c:92
 msgid "Configure Extra Stereo"
 msgstr "Ffurfweddu Extra Stereo"
 
-#: src/stereo_plugin/stereo.c:95
-msgid "Effect intensity:"
-msgstr "Dwyster yr effaith:"
+#: src/sun/about.c:33
+msgid "About the Sun Driver"
+msgstr "Ynghylch Gyrrwr Sun"
 
 #: src/sun/about.c:34
-msgid "About the Sun Driver"
-msgstr "Ynghylch Gyrrwr Sun"
-
-#: src/sun/about.c:35
 msgid ""
 "XMMS BSD Sun Driver\n"
 "\n"
@@ -4576,19 +5703,19 @@
 " Hawlfraint (c) 2001 CubeSoft Communications, Inc.\n"
 "Cynhaliwr: <vedge at csoft.org>.\n"
 
-#: src/sun/configure.c:201
+#: src/sun/configure.c:199
 msgid "Audio control device:"
 msgstr "Dyfais rheoli sain:"
 
-#: src/sun/configure.c:350
+#: src/sun/configure.c:348
 msgid "Volume controls device:"
 msgstr "Dyfais rheoli sain:"
 
-#: src/sun/configure.c:363
+#: src/sun/configure.c:361
 msgid "XMMS uses mixer exclusively."
 msgstr " XMMS yn defnyddio'r cymysgydd yn unig"
 
-#: src/sun/configure.c:538
+#: src/sun/configure.c:536
 msgid "Sun driver configuration"
 msgstr "Ffurfweddu'r Gyrrwr Sun"
 
@@ -4616,7 +5743,7 @@
 msgid "TiMidity Configuration File"
 msgstr "Ffeil Ffurfweddiad TiMidity"
 
-#: src/timidity/xmms-timidity.c:118
+#: src/timidity/xmms-timidity.c:115
 msgid ""
 "TiMidity Plugin\n"
 "http://libtimidity.sourceforge.net\n"
@@ -4626,20 +5753,20 @@
 "http://libtimidity.sourceforge.net\n"
 "gan Konstantin Korikov"
 
-#: src/timidity/xmms-timidity.c:119
+#: src/timidity/xmms-timidity.c:116
 #, c-format
 msgid "TiMidity Plugin %s"
 msgstr "Ategyn TiMidity %s"
 
-#: src/timidity/xmms-timidity.c:336
+#: src/timidity/xmms-timidity.c:333
 msgid "Couldn't load MIDI file"
 msgstr "Meth agor dyfais ffeil MIDI"
 
-#: src/tonegen/tonegen.c:56
+#: src/tonegen/tonegen.c:55
 msgid "About Tone Generator"
 msgstr "Ynghylch Cynhyrchydd Tôn"
 
-#: src/tonegen/tonegen.c:58
+#: src/tonegen/tonegen.c:57
 msgid ""
 "Sinus tone generator by Haavard Kvaalen <havardk@xmms.org>\n"
 "Modified by Daniel J. Peng <danielpeng@bigfoot.com>\n"
@@ -4654,91 +5781,91 @@
 "frequency3;...\n"
 "e.e. tôn://2000;2005 i chwarae tôn 2000Hz a thôn 2005Hz"
 
-#: src/tonegen/tonegen.c:167
+#: src/tonegen/tonegen.c:166
 #, c-format
 msgid "%s %.1f Hz"
 msgstr ""
 
-#: src/tonegen/tonegen.c:167
+#: src/tonegen/tonegen.c:166
 msgid "Tone Generator: "
 msgstr "Cynhyrchydd Tôn:"
 
+#: src/tta/libtta.c:127
+msgid "Can't open file\n"
+msgstr ""
+
 #: src/tta/libtta.c:130
-msgid "Can't open file\n"
+msgid "Not supported file format\n"
 msgstr ""
 
 #: src/tta/libtta.c:133
-msgid "Not supported file format\n"
+msgid "File is corrupted\n"
 msgstr ""
 
 #: src/tta/libtta.c:136
-msgid "File is corrupted\n"
+msgid "Can't read from file\n"
 msgstr ""
 
 #: src/tta/libtta.c:139
-msgid "Can't read from file\n"
+msgid "Insufficient memory available\n"
 msgstr ""
 
 #: src/tta/libtta.c:142
-msgid "Insufficient memory available\n"
-msgstr ""
-
-#: src/tta/libtta.c:145
 #, fuzzy
 msgid "Output plugin error\n"
 msgstr "Null ategyn allbwn"
 
-#: src/tta/libtta.c:148
+#: src/tta/libtta.c:145
 #, fuzzy
 msgid "Unknown error\n"
 msgstr "Cerdyn sain anhysbys"
 
-#: src/tta/libtta.c:152
+#: src/tta/libtta.c:149
 msgid "TTA Decoder Error"
 msgstr ""
 
-#: src/tta/libtta.c:261
+#: src/tta/libtta.c:258
 #, fuzzy
 msgid "TTA input plugin "
 msgstr "Null ategyn allbwn"
 
-#: src/tta/libtta.c:262
+#: src/tta/libtta.c:259
 msgid ""
 " for BMP\n"
 "Copyright (c) 2004 True Audio Software\n"
 msgstr ""
 
-#: src/tta/libtta.c:265
+#: src/tta/libtta.c:262
 #, fuzzy
 msgid "About True Audio Plugin"
 msgstr "Ynghylch Ategyn Sain MPEG"
 
-#: src/tta/libtta.c:316
+#: src/tta/libtta.c:313
 #, fuzzy
 msgid "ID3 Tag:"
 msgstr "Tagiau ID3:"
 
-#: src/tta/libtta.c:378 src/wavpack/ui.cxx:234
+#: src/tta/libtta.c:375 src/wavpack/ui.cxx:232
 msgid "Track number:"
 msgstr "Rhif y Trac:"
 
-#: src/vorbis/configure.c:84
+#: src/vorbis/configure.c:82
 msgid "Ogg Vorbis Audio Plugin Configuration"
 msgstr "Ffurfweddiad Ogg Vorbis"
 
-#: src/vorbis/configure.c:94
+#: src/vorbis/configure.c:92
 msgid "Ogg Vorbis Tags:"
 msgstr "Tagiau Ogg Vorbis:"
 
-#: src/vorbis/configure.c:115
+#: src/vorbis/configure.c:113
 msgid "Title format:"
 msgstr "Fformat y teitl:"
 
-#: src/vorbis/vorbis.c:681
+#: src/vorbis/vorbis.c:677
 msgid "About Ogg Vorbis Audio Plugin"
 msgstr "Ynghylch Ategyn Ogg Vorbis"
 
-#: src/vorbis/vorbis.c:687
+#: src/vorbis/vorbis.c:683
 #, fuzzy
 msgid ""
 "Ogg Vorbis Plugin by the Xiph.org Foundation\n"
@@ -4772,11 +5899,11 @@
 "\n"
 "Ewch i  Xiph.org Founfation yn http://www.xiph.org/\n"
 
-#: src/vtx/about.c:23
+#: src/vtx/about.c:17
 msgid "About Vortex Player"
 msgstr ""
 
-#: src/vtx/about.c:25
+#: src/vtx/about.c:19
 msgid ""
 "Vortex file format player by Sashnov Alexander <sashnov@ngs.ru>\n"
 "Founded on original source in_vtx.dll by Roman Sherbakov <v_soft@microfor."
@@ -4788,12 +5915,12 @@
 "Audacious implementation by Pavel Vymetalek <pvymetalek@seznam.cz>"
 msgstr ""
 
-#: src/wavpack/ui.cxx:52
+#: src/wavpack/ui.cxx:50
 #, fuzzy, c-format
 msgid "Wavpack Decoder Plugin %s"
 msgstr "Ategyn Echo %s"
 
-#: src/wavpack/ui.cxx:53
+#: src/wavpack/ui.cxx:51
 msgid ""
 "Copyright (c) 2006 William Pitcock <nenolod -at- nenolod.net>\n"
 "\n"
@@ -4801,98 +5928,98 @@
 "Visit the Wavpack site at http://www.wavpack.com/\n"
 msgstr ""
 
-#: src/wavpack/ui.cxx:165
+#: src/wavpack/ui.cxx:163
 msgid "Ape2 Tag"
 msgstr ""
 
-#: src/wavpack/ui.cxx:288
+#: src/wavpack/ui.cxx:286
 msgid "Wavpack Info:"
 msgstr ""
 
+#: src/wavpack/ui.cxx:379
+#, fuzzy, c-format
+msgid "version %d"
+msgstr "Fersiwn:"
+
+#: src/wavpack/ui.cxx:380
+#, c-format
+msgid "average bitrate: %6.1f kbps"
+msgstr ""
+
 #: src/wavpack/ui.cxx:381
 #, fuzzy, c-format
-msgid "version %d"
-msgstr "Fersiwn:"
+msgid "samplerate: %d Hz"
+msgstr "Graddfa samplo:"
 
 #: src/wavpack/ui.cxx:382
 #, c-format
-msgid "average bitrate: %6.1f kbps"
+msgid "bits per sample: %d"
 msgstr ""
 
 #: src/wavpack/ui.cxx:383
 #, fuzzy, c-format
-msgid "samplerate: %d Hz"
-msgstr "Graddfa samplo:"
+msgid "channels: %d"
+msgstr "Sianeli:"
 
 #: src/wavpack/ui.cxx:384
-#, c-format
-msgid "bits per sample: %d"
-msgstr ""
-
-#: src/wavpack/ui.cxx:385
-#, fuzzy, c-format
-msgid "channels: %d"
-msgstr "Sianeli:"
-
-#: src/wavpack/ui.cxx:386
 #, fuzzy, c-format
 msgid "length: %d:%.2d"
 msgstr ""
 "\n"
 "Cyfanswm hyd: %d:%.2d\n"
 
-#: src/wavpack/ui.cxx:387
+#: src/wavpack/ui.cxx:385
 #, fuzzy, c-format
 msgid "file size: %d Bytes"
 msgstr "Maint ffeil:"
 
-#: src/wavpack/ui.cxx:394
+#: src/wavpack/ui.cxx:392
 #, fuzzy
 msgid "Title Peak: ?"
 msgstr "Teitl:"
 
-#: src/wavpack/ui.cxx:395
+#: src/wavpack/ui.cxx:393
 #, fuzzy
 msgid "Album Peak: ?"
 msgstr "Brig albwm:"
 
-#: src/wavpack/ui.cxx:396
+#: src/wavpack/ui.cxx:394
 #, fuzzy
 msgid "Title Gain: ?"
 msgstr "Newid Teitl"
 
-#: src/wavpack/ui.cxx:397
+#: src/wavpack/ui.cxx:395
 #, fuzzy
 msgid "Album Gain: ?"
 msgstr "Cynydd albwm:"
 
-#: src/wavpack/ui.cxx:471
+#: src/wavpack/ui.cxx:469
 #, fuzzy
 msgid "Wavpack Configuration"
 msgstr "Ffurfweddiad TiMidity"
 
-#: src/wavpack/ui.cxx:484
+#: src/wavpack/ui.cxx:482
 #, fuzzy
 msgid "General Plugin Settings:"
 msgstr "Gosodiadau'r ReplayGain:"
 
-#: src/wavpack/ui.cxx:502
+#: src/wavpack/ui.cxx:500
 msgid "ReplayGain Settings:"
 msgstr "Gosodiadau'r ReplayGain:"
 
-#: src/wavpack/ui.cxx:520
+#: src/wavpack/ui.cxx:518
 msgid "ReplayGain Type:"
 msgstr "Math ReplayGain:"
 
-#: src/wavpack/ui.cxx:531
+#: src/wavpack/ui.cxx:529
 msgid "use Track Gain/Peak"
 msgstr "defnyddiwch Cynnydd/Brig Trac"
 
-#: src/wavpack/ui.cxx:539
+#: src/wavpack/ui.cxx:537
 msgid "use Album Gain/Peak"
 msgstr "defnyddio Cynnydd/Brig Albwm"
 
-#: src/wma/wma.c:123
+#: src/wma/wma.c:120
 msgid ""
 "Adapted for use in Audacious by Tony Vroon (chainsaw@gentoo.org) from\n"
 "the BEEP-WMA plugin which is Copyright (C) 2004,2005 Mokrushin I.V. aka "
@@ -4949,14 +6076,6 @@
 #~ msgstr "Ynghylch ategyn sndfile-WAV"
 
 #, fuzzy
-#~ msgid "Play/Pause:"
-#~ msgstr "Chwarae"
-
-#, fuzzy
-#~ msgid "File Info"
-#~ msgstr "Gwybodaeth Ffeil - %s"
-
-#, fuzzy
 #~ msgid "Couldn't open file!"
 #~ msgstr "Meth agor dyfais ffeil MIDI"
 
@@ -4981,9 +6100,6 @@
 #~ msgid "%d Hz"
 #~ msgstr "%d Hz"
 
-#~ msgid "Blues"
-#~ msgstr "Y Felan"
-
 #~ msgid "Classic Rock"
 #~ msgstr "Roc Clasurol"
 
@@ -5050,9 +6166,6 @@
 #~ msgid "Death Metal"
 #~ msgstr "Death Metal"
 
-#~ msgid "Pranks"
-#~ msgstr "Pranks"
-
 #~ msgid "Soundtrack"
 #~ msgstr "Trac Sain"
 
@@ -5104,9 +6217,6 @@
 #~ msgid "AlternRock"
 #~ msgstr "AlternRock"
 
-#~ msgid "Bass"
-#~ msgstr "Bas"
-
 #~ msgid "Soul"
 #~ msgstr "Soul"
 
@@ -5188,9 +6298,6 @@
 #~ msgid "Rave"
 #~ msgstr "Rave"
 
-#~ msgid "Showtunes"
-#~ msgstr "Showtunes"
-
 #~ msgid "Trailer"
 #~ msgstr "Trailer"
 
@@ -5209,9 +6316,6 @@
 #~ msgid "Polka"
 #~ msgstr "Polka"
 
-#~ msgid "Retro"
-#~ msgstr "Retro"
-
 #~ msgid "Musical"
 #~ msgstr "Musical"
 
@@ -5239,9 +6343,6 @@
 #~ msgid "Bebob"
 #~ msgstr "Bebob"
 
-#~ msgid "Latin"
-#~ msgstr "Lladin"
-
 #~ msgid "Revival"
 #~ msgstr "Revival"
 
@@ -5305,18 +6406,9 @@
 #~ msgid "Booty Bass"
 #~ msgstr "Booty Bass"
 
-#~ msgid "Primus"
-#~ msgstr "Primus"
-
 #~ msgid "Porn Groove"
 #~ msgstr "Porn Groove"
 
-#~ msgid "Satire"
-#~ msgstr "Satire"
-
-#~ msgid "Slow Jam"
-#~ msgstr "Slow Jam"
-
 #~ msgid "Club"
 #~ msgstr "Club"
 
@@ -5386,9 +6478,6 @@
 #~ msgid "Polsk Punk"
 #~ msgstr "Polsk Punk"
 
-#~ msgid "Beat"
-#~ msgstr "Beat"
-
 #~ msgid "Christian Gangsta Rap"
 #~ msgstr "Gangsta Rap Cristnogol"
 
@@ -5447,9 +6536,6 @@
 #~ msgid " Ogg Vorbis Tag "
 #~ msgstr "Tag Ogg Vorbis:"
 
-#~ msgid "Date:"
-#~ msgstr "Dyddiad!"
-
 #~ msgid "Description:"
 #~ msgstr "Disgrifiad:"
 
@@ -5459,15 +6545,9 @@
 #~ msgid "ISRC number:"
 #~ msgstr "Rhif ISRC:"
 
-#~ msgid "Organization:"
-#~ msgstr "Corff:"
-
 #~ msgid " Ogg Vorbis ReplayGain "
 #~ msgstr " Ogg Vorbis ReplayGain "
 
-#~ msgid "Track gain:"
-#~ msgstr "Cynnydd trac:"
-
 #~ msgid "Track peak:"
 #~ msgstr "Brig trac:"
 
@@ -5507,9 +6587,6 @@
 #~ msgid "%d Bytes"
 #~ msgstr "%d Bytes"
 
-#~ msgid "%s - Audacious"
-#~ msgstr "%s - Audacious"
-
 #~ msgid "Use software volume control"
 #~ msgstr "Defnyddio rheolwr sain meddalwedd"
 
@@ -5543,10 +6620,6 @@
 #~ msgstr "11000 Hz"
 
 #, fuzzy
-#~ msgid "16000"
-#~ msgstr "11000 Hz"
-
-#, fuzzy
 #~ msgid "24000"
 #~ msgstr "22000 Hz"
 
@@ -5607,13 +6680,6 @@
 #~ "Methodd prawf tynnu sain digidol: %s\n"
 #~ "\n"
 
-#~ msgid ""
-#~ "Failed to check directory %s\n"
-#~ "Error: %s"
-#~ msgstr ""
-#~ "Methu gwirio'r cyfeiradur %s\n"
-#~ "Gwall: %s"
-
 #~ msgid "Error: %s exist, but is not a directory"
 #~ msgstr "Gwall: %s yn bodoli ond nid yw'n gyfeiriadur"
 
@@ -5644,9 +6710,6 @@
 #~ msgid "Check drive..."
 #~ msgstr "Gwirio'r gyrrwr..."
 
-#~ msgid "Remove drive"
-#~ msgstr "Tynnu gyrrwr"
-
 #~ msgid "CD Audio Player Configuration"
 #~ msgstr "Ffurfweddiad Chwaraeydd CD Sain"
 
@@ -5665,9 +6728,6 @@
 #~ msgid "Get server list"
 #~ msgstr "Estyn rhestr gwasanaethwr"
 
-#~ msgid "Show network window"
-#~ msgstr "Dangos ffenestr rhwydwaith"
-
 #~ msgid "CDDB server:"
 #~ msgstr "Gwasanaethwr CDDB:"
 
@@ -6013,18 +7073,12 @@
 #~ msgid "Save stream to disk:"
 #~ msgstr "Cadw'r llif i ddisg:"
 
-#~ msgid "Save stream to disk"
-#~ msgstr "Cadw'r llif i ddisg"
-
 #~ msgid "SHOUT/Icecast:"
 #~ msgstr "SHOUT/Icecast:"
 
 #~ msgid "Enable Icecast Metadata UDP Channel"
 #~ msgstr "Galluogi Sianel Icecast Metadata UDP"
 
-#~ msgid "Disable ID3V2 tags"
-#~ msgstr "Analluogi tagiau ID3V2"
-
 #~ msgid "Dual channel"
 #~ msgstr "Sianel ddeuol"
 
--- a/po/de.po	Thu Jul 03 17:23:34 2008 +0300
+++ b/po/de.po	Thu Jul 03 17:37:11 2008 +0300
@@ -1,8 +1,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: de\n"
-"Report-Msgid-Bugs-To: http://bugs.audacious-media-player.org\n"
-"POT-Creation-Date: 2008-03-30 17:25+0200\n"
+"Report-Msgid-Bugs-To: http://bugzilla.atheme.org/\n"
+"POT-Creation-Date: 2008-06-21 08:27+0300\n"
 "PO-Revision-Date: 2008-03-30 17:07+0100\n"
 "Last-Translator: Michael Färber <0102@gmx.at>\n"
 "Language-Team: german <0102@gmx.at>\n"
@@ -11,11 +11,11 @@
 "Content-Transfer-Encoding: 8bit\n"
 "X-Poedit-Language: German\n"
 
-#: src/aac/libmp4.c:286
+#: src/aac/libmp4.c:283
 msgid "Using libfaad2-"
 msgstr "Benütze libfaad2-"
 
-#: src/aac/libmp4.c:287
+#: src/aac/libmp4.c:284
 msgid ""
 " for decoding.\n"
 "FAAD2 AAC/HE-AAC/HE-AACv2/DRM decoder (c) Nero AG, www.nero.com\n"
@@ -25,38 +25,38 @@
 "FAAD2 AAC/HE-AAC/HE-AACv2/DRM decoder (c) Nero AG, www.nero.com\n"
 "Copyright (c) 2005-2006 Audacious team"
 
-#: src/aac/libmp4.c:291
+#: src/aac/libmp4.c:288
 msgid "About MP4 AAC player plugin"
 msgstr "Über MP4-AAC-Player-Plugin"
 
-#: src/aac/libmp4.c:293 src/adplug/adplug-xmms.cc:182
-#: src/adplug/adplug-xmms.cc:265 src/adplug/adplug-xmms.cc:526
-#: src/alac/plugin.c:77 src/arts/arts.c:26 src/arts/configure.c:90
-#: src/audiocompress/audacious-glue.c:102
-#: src/audiocompress/audacious-glue.c:552 src/cdaudio-ng/configure.c:228
-#: src/console/Audacious_Driver.cxx:449 src/demac/plugin.c:393
-#: src/echo_plugin/gui.c:26 src/echo_plugin/gui.c:137 src/esd/about.c:49
-#: src/filewriter/filewriter.c:183 src/jack/configure.c:141
-#: src/jack/jack.c:456 src/madplug/plugin.c:542 src/madplug/plugin.c:566
-#: src/metronom/metronom.c:88 src/modplug/gui/main.cxx:49
-#: src/musepack/libmpc.cxx:232 src/null/null.c:67 src/null/null.c:110
-#: src/OSS4/about.c:59 src/OSS/about.c:54 src/paranormal-ng/plugin.c:283
-#: src/paranormal/plugin.c:291 src/scrobbler/gtkstuff.c:25
-#: src/sndfile/plugin.c:565 src/statusicon/si_ui.c:628
-#: src/stereo_plugin/stereo.c:53 src/stereo_plugin/stereo.c:116
-#: src/sun/about.c:38 src/sun/configure.c:559 src/timidity/interface.c:222
-#: src/timidity/xmms-timidity.c:120 src/tonegen/tonegen.c:62
-#: src/tta/libtta.c:153 src/tta/libtta.c:267 src/tta/libtta.c:402
-#: src/vorbis/vorbis.c:700 src/vtx/about.c:32 src/vtx/info.c:43
-#: src/wavpack/ui.cxx:56 src/wavpack/ui.cxx:556
+#: src/aac/libmp4.c:290 src/adplug/adplug-xmms.cc:180
+#: src/adplug/adplug-xmms.cc:263 src/adplug/adplug-xmms.cc:524
+#: src/alac/plugin.c:74 src/arts/arts.c:25 src/arts/configure.c:90
+#: src/audiocompress/audacious-glue.c:110
+#: src/audiocompress/audacious-glue.c:560 src/cdaudio-ng/configure.c:242
+#: src/console/Audacious_Driver.cxx:447 src/crystalizer/crystalizer.c:113
+#: src/demac/plugin.c:364 src/echo_plugin/gui.c:24 src/echo_plugin/gui.c:135
+#: src/esd/about.c:48 src/filewriter/filewriter.c:183 src/jack/configure.c:140
+#: src/jack/jack.c:454 src/madplug/plugin.c:679 src/madplug/plugin.c:703
+#: src/metronom/metronom.c:87 src/modplug/gui/main.cxx:52
+#: src/musepack/libmpc.cxx:228 src/null/null.c:64 src/null/null.c:107
+#: src/OSS4/OSS4.c:55 src/OSS/OSS.c:52 src/paranormal-ng/plugin.c:282
+#: src/paranormal/plugin.c:290 src/scrobbler/gtkstuff.c:22
+#: src/sndfile/plugin.c:571 src/statusicon/si_ui.c:626
+#: src/stereo_plugin/stereo.c:52 src/stereo_plugin/stereo.c:115
+#: src/sun/about.c:37 src/sun/configure.c:557 src/timidity/interface.c:222
+#: src/timidity/xmms-timidity.c:117 src/tonegen/tonegen.c:61
+#: src/tta/libtta.c:150 src/tta/libtta.c:264 src/tta/libtta.c:399
+#: src/vorbis/vorbis.c:696 src/vtx/about.c:26 src/vtx/info.c:38
+#: src/wavpack/ui.cxx:54 src/wavpack/ui.cxx:554
 msgid "Ok"
 msgstr "OK"
 
-#: src/adplug/adplug-xmms.cc:171
+#: src/adplug/adplug-xmms.cc:169
 msgid "About "
 msgstr "Über"
 
-#: src/adplug/adplug-xmms.cc:175
+#: src/adplug/adplug-xmms.cc:173
 msgid ""
 "\n"
 "Copyright (C) 2002, 2003 Simon Peter <dn.tlp@gmx.net>\n"
@@ -79,65 +79,65 @@
 "Peter, et al.\n"
 "Gelinkte AdPlug-Bibliotheks-Version: "
 
-#: src/adplug/adplug-xmms.cc:256
+#: src/adplug/adplug-xmms.cc:254
 msgid "AdPlug :: Configuration"
 msgstr "AdPlug :: Konfiguration"
 
-#: src/adplug/adplug-xmms.cc:275 src/alarm/interface.c:1398
+#: src/adplug/adplug-xmms.cc:273 src/alarm/interface.c:1398
 #: src/alsa/configure.c:389 src/arts/configure.c:91
-#: src/audiocompress/audacious-glue.c:557 src/cdaudio-ng/configure.c:232
-#: src/echo_plugin/gui.c:145 src/jack/configure.c:148
-#: src/modplug/gui/interface.cxx:714 src/modplug/gui/modplug.glade:1668
-#: src/musepack/libmpc.cxx:237 src/musepack/libmpc.cxx:557 src/null/null.c:111
-#: src/sid/xmms-sid.glade:3080 src/sid/xs_interface.c:1250
-#: src/stereo_plugin/stereo.c:125 src/sun/configure.c:567
-#: src/timidity/interface.c:230 src/wavpack/ui.cxx:280 src/wavpack/ui.cxx:563
+#: src/audiocompress/audacious-glue.c:565 src/cdaudio-ng/configure.c:246
+#: src/crystalizer/crystalizer.c:122 src/echo_plugin/gui.c:143
+#: src/jack/configure.c:147 src/modplug/gui/interface.cxx:714
+#: src/modplug/gui/modplug.glade:1668 src/musepack/libmpc.cxx:233
+#: src/musepack/libmpc.cxx:553 src/null/null.c:108
+#: src/stereo_plugin/stereo.c:124 src/sun/configure.c:565
+#: src/timidity/interface.c:230 src/wavpack/ui.cxx:278 src/wavpack/ui.cxx:561
 msgid "Cancel"
 msgstr "Abbrechen"
 
-#: src/adplug/adplug-xmms.cc:291 src/console/Audacious_Config.cxx:145
-#: src/madplug/configure.c:290 src/modplug/gui/interface.cxx:628
+#: src/adplug/adplug-xmms.cc:289 src/console/Audacious_Config.cxx:144
+#: src/madplug/configure.c:289 src/modplug/gui/interface.cxx:628
 #: src/modplug/gui/interface.cxx:887 src/modplug/gui/modplug.glade:1404
 #: src/modplug/gui/modplug.glade:1804
 msgid "General"
 msgstr "Allgemein"
 
-#: src/adplug/adplug-xmms.cc:303
+#: src/adplug/adplug-xmms.cc:301
 msgid "Sound quality"
 msgstr "Sound-Qualität"
 
-#: src/adplug/adplug-xmms.cc:308 src/modplug/gui/interface.cxx:187
+#: src/adplug/adplug-xmms.cc:306 src/modplug/gui/interface.cxx:187
 #: src/modplug/gui/modplug.glade:113
 msgid "Resolution"
 msgstr "Auflösung"
 
-#: src/adplug/adplug-xmms.cc:310
+#: src/adplug/adplug-xmms.cc:308
 msgid "8bit"
 msgstr "8 Bit"
 
-#: src/adplug/adplug-xmms.cc:315
+#: src/adplug/adplug-xmms.cc:313
 msgid "16bit"
 msgstr "16 Bit"
 
-#: src/adplug/adplug-xmms.cc:323 src/modplug/gui/interface.cxx:218
+#: src/adplug/adplug-xmms.cc:321 src/modplug/gui/interface.cxx:218
 #: src/modplug/gui/modplug.glade:199 src/timidity/interface.c:148
 msgid "Channels"
 msgstr "Kanäle"
 
-#: src/adplug/adplug-xmms.cc:325 src/filewriter/mp3.c:900
-#: src/sid/xmms-sid.glade:157 src/sid/xs_interface.c:288
+#: src/adplug/adplug-xmms.cc:323 src/filewriter/mp3.c:900
+#: src/sid/xmms-sid.glade:157 src/sid/xs_interface.c:300
 #: src/timidity/interface.c:165
 msgid "Mono"
 msgstr "Mono"
 
-#: src/adplug/adplug-xmms.cc:330 src/filewriter/mp3.c:895
+#: src/adplug/adplug-xmms.cc:328 src/filewriter/mp3.c:895
 #: src/modplug/gui/interface.cxx:204 src/modplug/gui/modplug.glade:159
-#: src/sid/xmms-sid.glade:176 src/sid/xs_interface.c:295
+#: src/sid/xmms-sid.glade:176 src/sid/xs_interface.c:307
 #: src/timidity/interface.c:173
 msgid "Stereo"
 msgstr "Stereo"
 
-#: src/adplug/adplug-xmms.cc:334
+#: src/adplug/adplug-xmms.cc:332
 msgid ""
 "Setting stereo is not recommended, unless you need to. This won't add any "
 "stereo effects to the sound - OPL2 is just mono - but eats up more CPU power!"
@@ -145,43 +145,43 @@
 "Vom Gebrauch von Stereo wird abgeraten, da es dem Klang keine Stereo-Effekte "
 "hinzufügt - OPL2 ist nur Mono - aber mehr Rechenleistung benötigt!"
 
-#: src/adplug/adplug-xmms.cc:342
+#: src/adplug/adplug-xmms.cc:340
 msgid "Frequency"
 msgstr "Frequenz"
 
-#: src/adplug/adplug-xmms.cc:378 src/adplug/adplug-xmms.cc:582
-#: src/console/Audacious_Config.cxx:147
+#: src/adplug/adplug-xmms.cc:376 src/adplug/adplug-xmms.cc:580
+#: src/console/Audacious_Config.cxx:146 src/skins/ui_manager.c:175
 msgid "Playback"
 msgstr "Wiedergabe"
 
-#: src/adplug/adplug-xmms.cc:382
+#: src/adplug/adplug-xmms.cc:380
 msgid "Detect songend"
 msgstr "Liedende ermitteln"
 
-#: src/adplug/adplug-xmms.cc:386
+#: src/adplug/adplug-xmms.cc:384
 msgid ""
 "If enabled, XMMS will detect a song's ending, stop it and advance in the "
 "playlist. If disabled, XMMS won't take notice of a song's ending and loop it "
 "all over again and again."
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:397
+#: src/adplug/adplug-xmms.cc:395
 msgid "Formats"
 msgstr "Formate"
 
-#: src/adplug/adplug-xmms.cc:404
+#: src/adplug/adplug-xmms.cc:402
 msgid "Format selection"
 msgstr "Format-Auswahl"
 
-#: src/adplug/adplug-xmms.cc:407
+#: src/adplug/adplug-xmms.cc:405
 msgid "Format"
 msgstr "Formal"
 
-#: src/adplug/adplug-xmms.cc:407
+#: src/adplug/adplug-xmms.cc:405
 msgid "Extension"
 msgstr "Erweiterung"
 
-#: src/adplug/adplug-xmms.cc:447
+#: src/adplug/adplug-xmms.cc:445
 msgid ""
 "Selected file types will be recognized and played back by this plugin. "
 "Deselected types will be ignored to make room for other plugins to play "
@@ -191,88 +191,88 @@
 "Deaktivierte Typen werden ignoriert, dass andere Plugins diese Dateien "
 "abspielen können."
 
-#: src/adplug/adplug-xmms.cc:533
+#: src/adplug/adplug-xmms.cc:531
 msgid "AdPlug :: File Info"
 msgstr "AdPlug :: Dateiinformation"
 
-#: src/adplug/adplug-xmms.cc:555 src/amidi-plug/i_configure-fluidsynth.c:448
+#: src/adplug/adplug-xmms.cc:553 src/amidi-plug/i_configure-fluidsynth.c:448
 msgid "Filename"
 msgstr "Dateiname"
 
+#: src/adplug/adplug-xmms.cc:557 src/skins/ui_playlist.c:470
+msgid "Title: "
+msgstr "Titel: "
+
+#: src/adplug/adplug-xmms.cc:558
+msgid "Author: "
+msgstr "Autor: "
+
 #: src/adplug/adplug-xmms.cc:559
-msgid "Title: "
-msgstr "Titel: "
-
-#: src/adplug/adplug-xmms.cc:560
-msgid "Author: "
-msgstr "Autor: "
-
-#: src/adplug/adplug-xmms.cc:561
 msgid "File Type: "
 msgstr "Dateityp: "
 
-#: src/adplug/adplug-xmms.cc:562
+#: src/adplug/adplug-xmms.cc:560
 msgid "Subsongs: "
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:563
+#: src/adplug/adplug-xmms.cc:561
 msgid "Instruments: "
 msgstr "Instrumente: "
 
-#: src/adplug/adplug-xmms.cc:568
+#: src/adplug/adplug-xmms.cc:566
 msgid "Orders: "
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:569
+#: src/adplug/adplug-xmms.cc:567
 msgid "Patterns: "
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:573
+#: src/adplug/adplug-xmms.cc:571
 msgid "Song"
 msgstr "Titel"
 
-#: src/adplug/adplug-xmms.cc:599
+#: src/adplug/adplug-xmms.cc:597
 msgid "Instrument name"
 msgstr "Instrumentenname"
 
-#: src/adplug/adplug-xmms.cc:641
+#: src/adplug/adplug-xmms.cc:639
 msgid "Song message"
 msgstr "Titel-Meldung"
 
-#: src/adplug/adplug-xmms.cc:663
+#: src/adplug/adplug-xmms.cc:661
 msgid "Subsong selection"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:727
+#: src/adplug/adplug-xmms.cc:725
 msgid "Order: "
 msgstr "Reihenfolge: "
 
-#: src/adplug/adplug-xmms.cc:728
+#: src/adplug/adplug-xmms.cc:726
 msgid "Pattern: "
 msgstr "Pattern: "
 
+#: src/adplug/adplug-xmms.cc:728
+msgid "Row: "
+msgstr "Row: "
+
+#: src/adplug/adplug-xmms.cc:729
+msgid "Speed: "
+msgstr "Geschwindigkeit: "
+
 #: src/adplug/adplug-xmms.cc:730
-msgid "Row: "
-msgstr "Row: "
-
-#: src/adplug/adplug-xmms.cc:731
-msgid "Speed: "
-msgstr "Geschwindigkeit: "
-
-#: src/adplug/adplug-xmms.cc:732
 msgid "Timer: "
 msgstr "Timer: "
 
-#: src/adplug/adplug-xmms.cc:733 src/console/Audacious_Config.cxx:225
-#: src/sid/xmms-sid.glade:332 src/sid/xs_interface.c:341
+#: src/adplug/adplug-xmms.cc:731 src/console/Audacious_Config.cxx:224
+#: src/sid/xmms-sid.glade:332 src/sid/xs_interface.c:353
 msgid "Hz"
 msgstr "Hz"
 
-#: src/alac/plugin.c:74
+#: src/alac/plugin.c:71
 msgid "About Apple Lossless Audio Plugin"
 msgstr "Über Apple-Lossless-Audio-Plugin"
 
-#: src/alac/plugin.c:75
+#: src/alac/plugin.c:72
 msgid ""
 "Copyright (c) 2006 Audacious team\n"
 "Portions (c) 2005-2006 David Hammerton <crazney -at- crazney.net>"
@@ -311,8 +311,8 @@
 
 #: src/alarm/interface.c:71 src/lirc/about.c:115
 #: src/modplug/gui/interface.cxx:971 src/modplug/gui/modplug.glade:2030
-#: src/sid/xmms-sid.glade:3643 src/sid/xs_about.c:214
-#: src/sid/xs_interface.c:1740
+#: src/sid/xmms-sid.glade:3837 src/sid/xs_about.c:214
+#: src/sid/xs_interface.c:1824
 msgid "Close"
 msgstr "Schließen"
 
@@ -324,13 +324,12 @@
 msgid "This is your wakeup call."
 msgstr ""
 
-#: src/alarm/interface.c:124 src/alarm/interface.c:1389 src/alsa/about.c:46
+#: src/alarm/interface.c:124 src/alarm/interface.c:1389 src/alsa/about.c:45
 #: src/alsa/configure.c:383 src/cdaudio-ng/cdaudio-ng.c:247
-#: src/flacng/plugin.c:706 src/gnomeshortcuts/gnomeshortcuts.c:311
-#: src/hotkey/gui.c:671 src/modplug/gui/interface.cxx:702
-#: src/modplug/gui/modplug.glade:1642 src/pulse_audio/pulse_audio.c:738
-#: src/scrobbler/gtkstuff.c:45 src/sid/xmms-sid.glade:3066
-#: src/sid/xs_interface.c:1243
+#: src/flacng/plugin.c:705 src/gnomeshortcuts/gnomeshortcuts.c:310
+#: src/hotkey/gui.c:670 src/modplug/gui/interface.cxx:702
+#: src/modplug/gui/modplug.glade:1642 src/pulse_audio/pulse_audio.c:736
+#: src/scrobbler/gtkstuff.c:42 src/skins/plugin.c:130
 msgid "OK"
 msgstr "OK"
 
@@ -399,7 +398,8 @@
 #: src/alarm/interface.c:612 src/alarm/interface.c:660
 #: src/alarm/interface.c:708 src/alarm/interface.c:756
 #: src/alarm/interface.c:804 src/alarm/interface.c:852
-#: src/alarm/interface.c:900 src/OSS4/configure.c:138 src/OSS/configure.c:169
+#: src/alarm/interface.c:900 src/OSS4/configure.c:136 src/OSS/configure.c:168
+#: src/skins/ui_manager.c:447 src/skins/ui_manager.c:468
 msgid "Default"
 msgstr "Standard"
 
@@ -444,9 +444,9 @@
 msgstr "Übergang"
 
 #: src/alarm/interface.c:1087 src/sid/xmms-sid.glade:2007
-#: src/sid/xmms-sid.glade:2178 src/sid/xmms-sid.glade:2676
-#: src/sid/xs_interface.c:908 src/sid/xs_interface.c:962
-#: src/sid/xs_interface.c:1122
+#: src/sid/xmms-sid.glade:2178 src/sid/xmms-sid.glade:2746
+#: src/sid/xs_interface.c:920 src/sid/xs_interface.c:974
+#: src/sid/xs_interface.c:1154
 msgid "seconds"
 msgstr "Sekunden"
 
@@ -499,7 +499,7 @@
 msgid "Use reminder"
 msgstr "Erinnerung benützen"
 
-#: src/alarm/interface.c:1328 src/sndstretch/sndstretch_xmms.c:377
+#: src/alarm/interface.c:1328 src/sndstretch/sndstretch_xmms.c:376
 msgid "Options"
 msgstr "Optionen"
 
@@ -610,7 +610,7 @@
 "  Erinnerung:\n"
 "    Zeige eine Erinnerung an, wenn der Alarm ausgelöst wird.\n"
 
-#: src/alarm/interface.c:1366
+#: src/alarm/interface.c:1366 src/skins/ui_manager.c:386
 msgid "Help"
 msgstr "Hilfe"
 
@@ -622,11 +622,11 @@
 msgid "Thankyou"
 msgstr "Danke"
 
-#: src/alsa/about.c:30
+#: src/alsa/about.c:29
 msgid "About ALSA Driver"
 msgstr "Über den ALSA-Treiber"
 
-#: src/alsa/about.c:31
+#: src/alsa/about.c:30
 msgid ""
 "Audacious ALSA Driver\n"
 "\n"
@@ -660,8 +660,8 @@
 msgid "ALSA Driver configuration"
 msgstr "ALSA-Treiber-Konfiguration"
 
-#: src/alsa/configure.c:274 src/OSS4/configure.c:186 src/OSS/configure.c:217
-#: src/sun/configure.c:183
+#: src/alsa/configure.c:274 src/OSS4/configure.c:184 src/OSS/configure.c:216
+#: src/sun/configure.c:181
 msgid "Audio device:"
 msgstr "Audiogerät:"
 
@@ -673,7 +673,7 @@
 msgid "Mixer card:"
 msgstr "Mixer-Karte:"
 
-#: src/alsa/configure.c:313 src/OSS/configure.c:260 src/sun/configure.c:220
+#: src/alsa/configure.c:313 src/OSS/configure.c:259 src/sun/configure.c:218
 msgid "Mixer device:"
 msgstr "Mixer-Gerät:"
 
@@ -1268,8 +1268,8 @@
 "backend</span>"
 msgstr ""
 
-#: src/amidi-plug/i_fileinfo.c:169 src/sid/xmms-sid.glade:3465
-#: src/sid/xs_interface.c:1684
+#: src/amidi-plug/i_fileinfo.c:169 src/sid/xmms-sid.glade:3659
+#: src/sid/xs_interface.c:1768
 msgid "Name:"
 msgstr "Name:"
 
@@ -1374,19 +1374,19 @@
 msgid "None"
 msgstr "Kein"
 
-#: src/aosd/aosd_trigger.c:75
+#: src/aosd/aosd_trigger.c:74
 msgid "Playback Start"
 msgstr "Wiedergabebeginn"
 
-#: src/aosd/aosd_trigger.c:76
+#: src/aosd/aosd_trigger.c:75
 msgid "Triggers OSD when a playlist entry is played."
 msgstr "Löst OSD beim Abspielen eines Wiedergabelisteneintrags aus"
 
-#: src/aosd/aosd_trigger.c:80
+#: src/aosd/aosd_trigger.c:79
 msgid "Title Change"
 msgstr "Titeländerung"
 
-#: src/aosd/aosd_trigger.c:81
+#: src/aosd/aosd_trigger.c:80
 msgid ""
 "Triggers OSD when, during playback, the song title changes but the filename "
 "is the same. This is mostly useful to display title changes in internet "
@@ -1396,27 +1396,27 @@
 "der Dateiname gleich bleibt. Das ist hauptsächlich nützlich, um "
 "Titeländerungen bei Internetstreams anzuzeigen."
 
-#: src/aosd/aosd_trigger.c:87
+#: src/aosd/aosd_trigger.c:86
 msgid "Volume Change"
 msgstr "Lautstärkeänderung"
 
-#: src/aosd/aosd_trigger.c:88
+#: src/aosd/aosd_trigger.c:87
 msgid "Triggers OSD when volume is changed."
 msgstr "Löst OSD bei Lautstärkeänderung aus"
 
-#: src/aosd/aosd_trigger.c:92
+#: src/aosd/aosd_trigger.c:91
 msgid "Pause On"
 msgstr "Pause An"
 
-#: src/aosd/aosd_trigger.c:93
+#: src/aosd/aosd_trigger.c:92
 msgid "Triggers OSD when playback is paused."
 msgstr "Löst OSD beim Pausieren der Wiedergabe aus"
 
+#: src/aosd/aosd_trigger.c:96
+msgid "Pause Off"
+msgstr "Pause Aus"
+
 #: src/aosd/aosd_trigger.c:97
-msgid "Pause Off"
-msgstr "Pause Aus"
-
-#: src/aosd/aosd_trigger.c:98
 msgid "Triggers OSD when playback is unpaused."
 msgstr "Löst OSD beim Fortsetzen der Wiedergabe aus"
 
@@ -1515,10 +1515,10 @@
 msgid "Skin file:"
 msgstr "Skin-Datei:"
 
-#: src/aosd/aosd_ui.c:644 src/sid/xmms-sid.glade:2331
-#: src/sid/xmms-sid.glade:2856 src/sid/xmms-sid.glade:2962
-#: src/sid/xs_interface.c:1010 src/sid/xs_interface.c:1182
-#: src/sid/xs_interface.c:1218
+#: src/aosd/aosd_ui.c:644 src/sid/xmms-sid.glade:2373
+#: src/sid/xmms-sid.glade:2968 src/sid/xmms-sid.glade:3136
+#: src/sid/xs_interface.c:1043 src/sid/xs_interface.c:1235
+#: src/sid/xs_interface.c:1291
 msgid "Browse"
 msgstr "Suchen"
 
@@ -1601,9 +1601,9 @@
 msgid "Trigger"
 msgstr "Auslöser"
 
-#: src/aosd/aosd_ui.c:1076 src/cdaudio-ng/configure.c:167
+#: src/aosd/aosd_ui.c:1076 src/cdaudio-ng/configure.c:175
 #: src/modplug/gui/interface.cxx:688 src/modplug/gui/modplug.glade:1603
-#: src/sid/xmms-sid.glade:3026 src/sid/xs_interface.c:1229
+#: src/sid/xmms-sid.glade:3220 src/sid/xs_interface.c:1301
 msgid "Misc"
 msgstr "Verschiedenes"
 
@@ -1641,11 +1641,11 @@
 "http://neugierig.org/software/ghosd/\n"
 "\n"
 
-#: src/arts/arts.c:22
+#: src/arts/arts.c:21
 msgid "About aRts Output"
 msgstr "Über aRts-Ausgabe"
 
-#: src/arts/arts.c:23
+#: src/arts/arts.c:22
 msgid ""
 "aRts output plugin by Håvard Kvålen <havardk@xmms.org>\n"
 "Audacious port by Giacomo Lozito from develia.org"
@@ -1655,26 +1655,26 @@
 msgid "aRts Driver configuration"
 msgstr "aRts-Treiber-Konfiguration"
 
-#: src/arts/configure.c:61 src/esd/configure.c:171 src/OSS4/configure.c:232
-#: src/OSS/configure.c:304 src/sun/configure.c:259
+#: src/arts/configure.c:61 src/esd/configure.c:171 src/OSS4/configure.c:230
+#: src/OSS/configure.c:303 src/sun/configure.c:257
 msgid "Buffering:"
 msgstr "Zwischenspeichern:"
 
-#: src/arts/configure.c:73 src/esd/configure.c:184 src/OSS4/configure.c:245
-#: src/OSS/configure.c:317 src/sun/configure.c:272
+#: src/arts/configure.c:73 src/esd/configure.c:184 src/OSS4/configure.c:243
+#: src/OSS/configure.c:316 src/sun/configure.c:270
 msgid "Buffer size (ms):"
 msgstr "Puffergrösse (ms):"
 
-#: src/arts/configure.c:83 src/esd/configure.c:209 src/OSS4/configure.c:270
-#: src/OSS/configure.c:342 src/sun/configure.c:304
+#: src/arts/configure.c:83 src/esd/configure.c:209 src/OSS4/configure.c:268
+#: src/OSS/configure.c:341 src/sun/configure.c:302
 msgid "Buffering"
 msgstr "Zwischenspeichern"
 
-#: src/audiocompress/audacious-glue.c:95
+#: src/audiocompress/audacious-glue.c:103
 msgid "AudioCompress "
 msgstr "AudioCompress"
 
-#: src/audiocompress/audacious-glue.c:96
+#: src/audiocompress/audacious-glue.c:104
 msgid ""
 "\n"
 "(c)2003 trikuare studios(http://trikuare.cx)\n"
@@ -1684,108 +1684,108 @@
 "keeping the volume level more or less consistent"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:101
+#: src/audiocompress/audacious-glue.c:109
 msgid "About AudioCompress"
 msgstr "Über AudioCompress"
 
-#: src/audiocompress/audacious-glue.c:320
+#: src/audiocompress/audacious-glue.c:328
 msgid ""
 "If checked, when the sound peaks the volume will be cut instantly; "
 "otherwise, it will ramp down just in time for the peak (but some minor "
 "clipping may still occur)."
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:324
+#: src/audiocompress/audacious-glue.c:332
 msgid "The maximum amount to amplify the audio by"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:326
+#: src/audiocompress/audacious-glue.c:334
 msgid "Defines how smoothly the volume will ramp up"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:328
+#: src/audiocompress/audacious-glue.c:336
 msgid ""
 "The target audio level for ramping up. Lowering the value gives a bit more "
 "dynamic range for peaks, but will make the overall sound quieter."
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:331
+#: src/audiocompress/audacious-glue.c:339
 msgid "How long of a window to maintain"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:372
+#: src/audiocompress/audacious-glue.c:380
 msgid "AudioCompress preferences"
 msgstr "AudioCompress-Einstellungen"
 
-#: src/audiocompress/audacious-glue.c:389
+#: src/audiocompress/audacious-glue.c:397
 msgid " Quality Options "
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:394
+#: src/audiocompress/audacious-glue.c:402
 msgid " Aggressively prevent clipping"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:406
+#: src/audiocompress/audacious-glue.c:414
 msgid " Target & gain"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:417
-msgid "Target audio level:"
-msgstr ""
-
 #: src/audiocompress/audacious-glue.c:425
-msgid "Maximum gain:"
+msgid "Target audio level:"
 msgstr ""
 
 #: src/audiocompress/audacious-glue.c:433
+msgid "Maximum gain:"
+msgstr ""
+
+#: src/audiocompress/audacious-glue.c:441
 msgid "Gain smooth:"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:485
+#: src/audiocompress/audacious-glue.c:493
 msgid " History "
 msgstr " Chronik "
 
-#: src/audiocompress/audacious-glue.c:517
+#: src/audiocompress/audacious-glue.c:525
 msgid ""
 "How long of a history to maintain.  A higher number will make the volume "
 "changes less responsive."
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:528
+#: src/audiocompress/audacious-glue.c:536
 msgid "Load default values"
 msgstr "Standard-Werte laden"
 
-#: src/audiocompress/audacious-glue.c:533
+#: src/audiocompress/audacious-glue.c:541
 msgid "Audio values"
 msgstr "Audiowerte"
 
-#: src/audiocompress/audacious-glue.c:562 src/echo_plugin/gui.c:152
-#: src/modplug/gui/interface.cxx:708 src/modplug/gui/modplug.glade:1655
-#: src/stereo_plugin/stereo.c:132
+#: src/audiocompress/audacious-glue.c:570 src/crystalizer/crystalizer.c:129
+#: src/echo_plugin/gui.c:150 src/modplug/gui/interface.cxx:708
+#: src/modplug/gui/modplug.glade:1655 src/stereo_plugin/stereo.c:131
 msgid "Apply"
 msgstr "Übernehmen"
 
-#: src/blur_scope/blur_scope.c:54
+#: src/blur_scope/blur_scope.c:52
 msgid "/Toggle Decorations"
 msgstr "/Dekorationen umschalten"
 
-#: src/blur_scope/blur_scope.c:56
+#: src/blur_scope/blur_scope.c:54
 msgid "/-"
 msgstr "/-"
 
-#: src/blur_scope/blur_scope.c:57
+#: src/blur_scope/blur_scope.c:55
 msgid "/Close"
 msgstr "/Schliessen"
 
-#: src/blur_scope/blur_scope.c:181
+#: src/blur_scope/blur_scope.c:179
 msgid "Blur scope"
 msgstr "Blur-Scope"
 
-#: src/blur_scope/config.c:72
+#: src/blur_scope/config.c:71
 msgid "Blur Scope: Color selection"
 msgstr "Blur Scope: Farbauswahl"
 
-#: src/blur_scope/config.c:82 src/jack/configure.c:108
+#: src/blur_scope/config.c:81 src/jack/configure.c:107
 msgid "Options:"
 msgstr "Optionen:"
 
@@ -1824,7 +1824,7 @@
 "\n"
 "Das war ein Google Summer of Code 2007 Projektt."
 
-#: src/cdaudio-ng/cdaudio-ng.c:814
+#: src/cdaudio-ng/cdaudio-ng.c:815
 msgid ""
 "<b><big>No playable CD found.</big></b>\n"
 "\n"
@@ -1834,98 +1834,103 @@
 "\n"
 "Keine CD eingelegt, oder die eingelegte CD ist keine Audio-CD.\n"
 
-#: src/cdaudio-ng/configure.c:147
+#: src/cdaudio-ng/configure.c:155
 msgid "CD Audio Plugin Configuration"
 msgstr "CD-Audio-Plugin-Konfiguration"
 
-#: src/cdaudio-ng/configure.c:157
+#: src/cdaudio-ng/configure.c:165
 msgid "Digital audio extraction"
 msgstr "Digitale Audioextraktion"
 
-#: src/cdaudio-ng/configure.c:162
+#: src/cdaudio-ng/configure.c:170
 msgid "Title information"
 msgstr "Titelinformation"
 
-#: src/cdaudio-ng/configure.c:179
+#: src/cdaudio-ng/configure.c:187
 msgid "Limit read speed to: "
 msgstr "Lesegeschwindigkeit beschränken auf: "
 
-#: src/cdaudio-ng/configure.c:186
+#: src/cdaudio-ng/configure.c:194
 msgid "Use cd-text if available"
 msgstr "CD-Text benutzen, falls vorhanden"
 
-#: src/cdaudio-ng/configure.c:190
+#: src/cdaudio-ng/configure.c:198
 msgid "Use CDDB if available"
 msgstr "CDDB benutzen, falls vorhanden"
 
-#: src/cdaudio-ng/configure.c:194
+#: src/cdaudio-ng/configure.c:202
 msgid "Server: "
 msgstr "Server: "
 
-#: src/cdaudio-ng/configure.c:197
+#: src/cdaudio-ng/configure.c:205
+#, fuzzy
+msgid "Path: "
+msgstr "Pattern: "
+
+#: src/cdaudio-ng/configure.c:208
 msgid "Port: "
 msgstr "Port: "
 
-#: src/cdaudio-ng/configure.c:203
+#: src/cdaudio-ng/configure.c:217
 msgid "Use HTTP instead of CDDBP"
 msgstr ""
 
-#: src/cdaudio-ng/configure.c:211
+#: src/cdaudio-ng/configure.c:225
 msgid "Override default device: "
 msgstr "Anderes Device verwenden: "
 
-#: src/cdaudio-ng/configure.c:218
+#: src/cdaudio-ng/configure.c:232
 msgid "Print debug information"
 msgstr "Debug-Informationen ausgeben"
 
-#: src/console/Audacious_Config.cxx:125
+#: src/console/Audacious_Config.cxx:124
 msgid "Console Music Decoder"
 msgstr "Konsolen-Musik-Dekoder"
 
-#: src/console/Audacious_Config.cxx:162
+#: src/console/Audacious_Config.cxx:161
 msgid "Bass:"
 msgstr "Bass:"
 
-#: src/console/Audacious_Config.cxx:166 src/console/Audacious_Config.cxx:177
-#: src/console/Audacious_Config.cxx:198
+#: src/console/Audacious_Config.cxx:165 src/console/Audacious_Config.cxx:176
+#: src/console/Audacious_Config.cxx:197
 msgid "secs"
 msgstr "sek"
 
-#: src/console/Audacious_Config.cxx:173
+#: src/console/Audacious_Config.cxx:172
 msgid "Treble:"
 msgstr "Höhe:"
 
-#: src/console/Audacious_Config.cxx:194
+#: src/console/Audacious_Config.cxx:193
 msgid "Default song length:"
 msgstr "Standard-Liedlänge:"
 
-#: src/console/Audacious_Config.cxx:200 src/modplug/gui/interface.cxx:268
+#: src/console/Audacious_Config.cxx:199 src/modplug/gui/interface.cxx:268
 #: src/modplug/gui/modplug.glade:338 src/sid/xmms-sid.glade:1243
-#: src/sid/xs_interface.c:653
+#: src/sid/xs_interface.c:665
 msgid "Resampling"
 msgstr "Resampling"
 
-#: src/console/Audacious_Config.cxx:206
+#: src/console/Audacious_Config.cxx:205
 msgid "Enable audio resampling"
 msgstr "Audio-Resampling aktivieren"
 
-#: src/console/Audacious_Config.cxx:221
+#: src/console/Audacious_Config.cxx:220
 msgid "Resampling rate:"
 msgstr "Resampling-Frequenz:"
 
-#: src/console/Audacious_Config.cxx:236
+#: src/console/Audacious_Config.cxx:235
 msgid "SPC"
 msgstr "SPC"
 
-#: src/console/Audacious_Config.cxx:237
+#: src/console/Audacious_Config.cxx:236
 msgid "Ignore length from SPC tags"
 msgstr "Länge von SPC-Tags ignorieren"
 
-#: src/console/Audacious_Config.cxx:238
+#: src/console/Audacious_Config.cxx:237
 msgid "Increase reverb"
 msgstr "Hall verstärken"
 
-#: src/console/Audacious_Config.cxx:263
+#: src/console/Audacious_Config.cxx:262
 msgid ""
 "The default song length, expressed in seconds, is used for songs that do not "
 "provide length information (i.e. looping tracks)."
@@ -1933,11 +1938,11 @@
 "Die standardmäßige Liedlänge (in Sekunden) wird für Lieder benutzt, die "
 "keine Längeninformation beinhalten (z.B. Lieder in der Endlosschleife)."
 
-#: src/console/Audacious_Driver.cxx:444
+#: src/console/Audacious_Driver.cxx:442
 msgid "About the Console Music Decoder"
 msgstr "Über den Konsolen-Musik-Dekoder"
 
-#: src/console/Audacious_Driver.cxx:445
+#: src/console/Audacious_Driver.cxx:443
 msgid ""
 "Console music decoder engine based on Game_Music_Emu 0.5.2.\n"
 "Supported formats: AY, GBS, GYM, HES, KSS, NSF, NSFE, SAP, SPC, VGM, VGZ\n"
@@ -1949,11 +1954,20 @@
 "Implementierung für Audacious von: William Pitcock <nenolod@nenolod.net>, \n"
 "        Shay Green <gblargg@gmail.com>"
 
-#: src/demac/plugin.c:388
+#: src/crystalizer/crystalizer.c:90
+#, fuzzy
+msgid "Configure Crystalizer"
+msgstr "Extra Stereo konfigurieren"
+
+#: src/crystalizer/crystalizer.c:92 src/stereo_plugin/stereo.c:94
+msgid "Effect intensity:"
+msgstr "Effektstärke"
+
+#: src/demac/plugin.c:359
 msgid "About Monkey's Audio Plugin"
 msgstr "Über Monkey's Audio-Plugin"
 
-#: src/demac/plugin.c:389
+#: src/demac/plugin.c:360
 msgid ""
 "Copyright (C) 2007 Eugene Zagidullin <e.asphyx@gmail.com>\n"
 "Based on ffape decoder, Copyright (C) 2007 Benjamin Zores\n"
@@ -1962,7 +1976,7 @@
 "ffape is a part of FFmpeg project, http://ffmpeg.mplayerhq.hu/"
 msgstr ""
 
-#: src/echo_plugin/gui.c:11
+#: src/echo_plugin/gui.c:9
 msgid ""
 "Echo Plugin\n"
 "By Johan Levin 1999.\n"
@@ -1970,35 +1984,35 @@
 "Surround echo by Carl van Schaik 1999"
 msgstr ""
 
-#: src/echo_plugin/gui.c:25
+#: src/echo_plugin/gui.c:23
 msgid "About Echo Plugin"
 msgstr "Über Echo-Plugin"
 
-#: src/echo_plugin/gui.c:76
+#: src/echo_plugin/gui.c:74
 msgid "Configure Echo"
 msgstr "Echo-Plugin konfigurieren"
 
-#: src/echo_plugin/gui.c:89
+#: src/echo_plugin/gui.c:87
 msgid "Delay: (ms)"
 msgstr "Verzögerung: (ms)"
 
-#: src/echo_plugin/gui.c:94
+#: src/echo_plugin/gui.c:92
 msgid "Feedback: (%)"
 msgstr "Rückkoppelung: (%)"
 
-#: src/echo_plugin/gui.c:99
+#: src/echo_plugin/gui.c:97
 msgid "Volume: (%)"
 msgstr "Lautstärke: (%)"
 
-#: src/echo_plugin/gui.c:122
+#: src/echo_plugin/gui.c:120
 msgid "Surround echo"
 msgstr "Surround-Echo"
 
-#: src/esd/about.c:34
+#: src/esd/about.c:33
 msgid "About ESounD Plugin"
 msgstr "Über das ESounD-Plugin"
 
-#: src/esd/about.c:35
+#: src/esd/about.c:34
 msgid ""
 "Audacious ESounD Plugin\n"
 "\n"
@@ -2042,8 +2056,8 @@
 msgid "Server"
 msgstr "Server"
 
-#: src/esd/configure.c:198 src/OSS4/configure.c:259 src/OSS/configure.c:331
-#: src/sun/configure.c:290
+#: src/esd/configure.c:198 src/OSS4/configure.c:257 src/OSS/configure.c:330
+#: src/sun/configure.c:288
 msgid "Pre-buffer (percent):"
 msgstr ""
 
@@ -2115,93 +2129,93 @@
 msgid "Window->JumpToFile"
 msgstr "Fenster->Zu Titel springen"
 
-#: src/evdev-plug/ed_internals.c:94
+#: src/evdev-plug/ed_internals.c:93
 #, c-format
 msgid ""
 "event-device-plugin: unable to open device file %s , skipping this device; "
 "check that the file exists and that you have read permission for it\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:103
+#: src/evdev-plug/ed_internals.c:102
 #, c-format
 msgid ""
 "event-device-plugin: unable to create a io_channel for device file %s ,"
 "skipping this device\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:342
+#: src/evdev-plug/ed_internals.c:341
 msgid ""
 "event-device-plugin: unable to open /proc/bus/input/devices , automatic "
 "detection of event devices won't work.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:351
+#: src/evdev-plug/ed_internals.c:350
 msgid ""
 "event-device-plugin: unable to open a io_channel for /proc/bus/input/"
 "devices , automatic detection of event devices won't work.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:361
+#: src/evdev-plug/ed_internals.c:360
 msgid ""
 "event-device-plugin: an error occurred while reading /proc/bus/input/"
 "devices , automatic detection of event devices won't work.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:424
+#: src/evdev-plug/ed_internals.c:423
 #, c-format
 msgid "event-device-plugin: device %s not found in /dev/input , skipping.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:489 src/evdev-plug/ed_internals.c:583
+#: src/evdev-plug/ed_internals.c:488 src/evdev-plug/ed_internals.c:582
 #, c-format
 msgid ""
 "event-device-plugin: unable to load config file %s , default settings will "
 "be used.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:535
+#: src/evdev-plug/ed_internals.c:534
 #, c-format
 msgid ""
 "event-device-plugin: incomplete information in config file for device \"%s"
 "\" , skipping.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:604 src/evdev-plug/ed_internals.c:936
+#: src/evdev-plug/ed_internals.c:603 src/evdev-plug/ed_internals.c:935
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get is_active value for device "
 "\"%s\", skipping it.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:840
+#: src/evdev-plug/ed_internals.c:839
 #, c-format
 msgid ""
 "event-device-plugin: unable to access local directory %s , settings will not "
 "be saved.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:890
+#: src/evdev-plug/ed_internals.c:889
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get filename value for device "
 "\"%s\", skipping it.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:906
+#: src/evdev-plug/ed_internals.c:905
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get phys value for device \"%s"
 "\", skipping it.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:922
+#: src/evdev-plug/ed_internals.c:921
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get is_custom value for device "
 "\"%s\", skipping it.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:946
+#: src/evdev-plug/ed_internals.c:945
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unexpected value for device \"%s\", "
@@ -2219,7 +2233,7 @@
 "Ensure that the device has been correctly plugged in."
 msgstr ""
 
-#: src/evdev-plug/ed_ui.c:319 src/madplug/plugin.c:566
+#: src/evdev-plug/ed_ui.c:319 src/madplug/plugin.c:703
 msgid "Error"
 msgstr "Fehler"
 
@@ -2273,7 +2287,7 @@
 msgid "Active"
 msgstr ""
 
-#: src/evdev-plug/ed_ui.c:655 src/sun/configure.c:488
+#: src/evdev-plug/ed_ui.c:655 src/sun/configure.c:486
 msgid "Status"
 msgstr "Status"
 
@@ -2369,7 +2383,7 @@
 msgid "Output file format:"
 msgstr "Ausgabedatei-Format:"
 
-#: src/filewriter/filewriter.c:511 src/ladspa/ladspa.c:960
+#: src/filewriter/filewriter.c:511 src/ladspa/ladspa.c:959
 msgid "Configure"
 msgstr "Konfigurieren"
 
@@ -2604,11 +2618,11 @@
 msgid "Quality level (0 - 10):"
 msgstr "Qualitätsstufe (0 - 10):"
 
-#: src/flacng/plugin.c:698
+#: src/flacng/plugin.c:697
 msgid "FLAC Audio Plugin "
 msgstr "FLAC-Audio-Plugin "
 
-#: src/flacng/plugin.c:699
+#: src/flacng/plugin.c:698
 msgid ""
 "\n"
 "\n"
@@ -2624,15 +2638,15 @@
 "\n"
 "http://www.skytale.net/projects/bmp-flac2/"
 
-#: src/flacng/plugin.c:704
+#: src/flacng/plugin.c:703
 msgid "About FLAC Audio Plugin"
 msgstr "Über FLAC-Audio-Plugin"
 
+#: src/gnomeshortcuts/gnomeshortcuts.c:305
+msgid "About Gnome Shortcut Plugin"
+msgstr "Über das Gnome-Shortcut-Plugin"
+
 #: src/gnomeshortcuts/gnomeshortcuts.c:306
-msgid "About Gnome Shortcut Plugin"
-msgstr "Über das Gnome-Shortcut-Plugin"
-
-#: src/gnomeshortcuts/gnomeshortcuts.c:307
 msgid ""
 "Gnome Shortcut Plugin\n"
 "Let's you control the player with Gnome's shortcuts.\n"
@@ -2650,7 +2664,7 @@
 msgid "Previous Track"
 msgstr "Voriger Titel"
 
-#: src/hotkey/gui.c:69
+#: src/hotkey/gui.c:69 src/skins/ui_manager.c:177 src/skins/ui_manager.c:178
 msgid "Play"
 msgstr "Wiedergeben"
 
@@ -2658,7 +2672,7 @@
 msgid "Pause/Resume"
 msgstr "Pause"
 
-#: src/hotkey/gui.c:71
+#: src/hotkey/gui.c:71 src/skins/ui_manager.c:183 src/skins/ui_manager.c:184
 msgid "Stop"
 msgstr "Stop"
 
@@ -2686,7 +2700,7 @@
 msgid "Volume Down"
 msgstr "Lautstärke verringern"
 
-#: src/hotkey/gui.c:78
+#: src/hotkey/gui.c:78 src/skins/ui_manager.c:422 src/skins/ui_manager.c:423
 msgid "Jump to File"
 msgstr "Zu Datei springen"
 
@@ -2740,11 +2754,11 @@
 msgid "<b>Key Binding:</b>"
 msgstr ""
 
-#: src/hotkey/gui.c:660
+#: src/hotkey/gui.c:659
 msgid "About Global Hotkey Plugin"
 msgstr "Über das Global-Hotkeys-Plugin"
 
-#: src/hotkey/gui.c:661
+#: src/hotkey/gui.c:660
 #, fuzzy
 msgid ""
 "Global Hotkey Plugin\n"
@@ -2774,35 +2788,35 @@
 "\t\t\tJeremy Tan <nsx@nsx.homeip.net>\n"
 "\n"
 
-#: src/jack/configure.c:70
+#: src/jack/configure.c:69
 msgid "Connect to all available jack ports"
 msgstr ""
 
-#: src/jack/configure.c:77
+#: src/jack/configure.c:76
 msgid "Connect only the output ports"
 msgstr ""
 
-#: src/jack/configure.c:84
+#: src/jack/configure.c:83
 msgid "Connect to no ports"
 msgstr ""
 
-#: src/jack/configure.c:99
+#: src/jack/configure.c:98
 msgid "jack Plugin configuration"
 msgstr "jack-Plugin-Konfiguration"
 
-#: src/jack/configure.c:117
+#: src/jack/configure.c:116
 msgid "Connection mode:"
 msgstr ""
 
-#: src/jack/configure.c:129
+#: src/jack/configure.c:128
 msgid "Enable debug printing"
 msgstr ""
 
-#: src/jack/jack.c:84
+#: src/jack/jack.c:82
 msgid "Sample rate mismatch"
 msgstr ""
 
-#: src/jack/jack.c:87
+#: src/jack/jack.c:85
 msgid ""
 "Xmms is asking for a sample rate that differs from\n"
 " that of the jack server.  Xmms 1.2.8 or later\n"
@@ -2816,15 +2830,15 @@
 "Chris Morgan <cmorgan@alum.wpi.edu>\n"
 msgstr ""
 
-#: src/jack/jack.c:100 src/wma/wma.c:148
+#: src/jack/jack.c:98 src/wma/wma.c:145
 msgid " Close "
 msgstr " Schliessen"
 
-#: src/jack/jack.c:452
+#: src/jack/jack.c:450
 msgid "About JACK Output Plugin 0.17"
 msgstr ""
 
-#: src/jack/jack.c:453
+#: src/jack/jack.c:451
 msgid ""
 "XMMS jack Driver 0.17\n"
 "\n"
@@ -2835,39 +2849,39 @@
 "Giacomo Lozito from develia.org"
 msgstr ""
 
-#: src/ladspa/ladspa.c:722
+#: src/ladspa/ladspa.c:721
 msgid "This LADSPA plugin has no user controls"
 msgstr "Dieses LADSPA-Plugin hat keine Benutzeroberfläche."
 
-#: src/ladspa/ladspa.c:767 src/ladspa/ladspa.c:853
+#: src/ladspa/ladspa.c:766 src/ladspa/ladspa.c:852
 msgid "Name"
 msgstr "Name"
 
-#: src/ladspa/ladspa.c:853
+#: src/ladspa/ladspa.c:852
 msgid "UID"
 msgstr "UID"
 
-#: src/ladspa/ladspa.c:928
+#: src/ladspa/ladspa.c:927
 msgid "Installed plugins"
 msgstr "Installierte Plugins"
 
-#: src/ladspa/ladspa.c:937
+#: src/ladspa/ladspa.c:936
 msgid "Running plugins"
 msgstr "Aktive Plugins"
 
-#: src/ladspa/ladspa.c:952
+#: src/ladspa/ladspa.c:951
 msgid "Add"
 msgstr "Hinzufügen"
 
-#: src/ladspa/ladspa.c:956
+#: src/ladspa/ladspa.c:955
 msgid "Remove"
 msgstr "Entfernen"
 
-#: src/ladspa/ladspa.c:969
+#: src/ladspa/ladspa.c:968
 msgid "LADSPA Plugin Catalog"
 msgstr "LADSPA-Plugin-Liste"
 
-#: src/lastfm/lastfm.c:96
+#: src/lastfm/lastfm.c:94
 msgid ""
 "<b><big>Couldn't initialize the last.fm radio plugin.</big></b>\n"
 "\n"
@@ -2961,58 +2975,58 @@
 msgid "%s: will try reconnect every %d seconds...\n"
 msgstr ""
 
-#: src/madplug/configure.c:209
+#: src/madplug/configure.c:208
 msgid "MPEG Audio Plugin Configuration"
 msgstr "MPEG-Audio-Plugin-Konfiguration"
 
-#: src/madplug/configure.c:226
+#: src/madplug/configure.c:225
 msgid "Audio Settings"
 msgstr "Audio-Einstellungen"
 
-#: src/madplug/configure.c:234
+#: src/madplug/configure.c:233
 msgid "Force reopen audio when audio type changed"
 msgstr "Neuöffnen von Audio bei Änderung des Audiotyps erzwingen"
 
-#: src/madplug/configure.c:243
+#: src/madplug/configure.c:242
 #, fuzzy
 msgid "Metadata Settings"
 msgstr "Mixer-Einstellungen:"
 
-#: src/madplug/configure.c:252
+#: src/madplug/configure.c:251
 msgid "Enable fast play-length calculation"
 msgstr "Schnelle Spieldauer-Berechnung aktivieren"
 
-#: src/madplug/configure.c:259
+#: src/madplug/configure.c:258
 msgid "Parse XING headers"
 msgstr "XING-Header parsen"
 
-#: src/madplug/configure.c:266
+#: src/madplug/configure.c:265
 #, fuzzy
 msgid "Use SJIS to write ID3 tags (not recommended)"
 msgstr "SJIS anstatt UTF-8 zum Schreiben von ID3-Tags benutzen"
 
-#: src/madplug/configure.c:273
+#: src/madplug/configure.c:272
 msgid "Miscellaneous Settings"
 msgstr "Verschiedene Einstellungen"
 
-#: src/madplug/configure.c:282
+#: src/madplug/configure.c:281
 msgid "Display average bitrate for VBR"
 msgstr "Durchschnittliche Bitrate für VBR anzeigen"
 
-#: src/madplug/configure.c:296 src/vorbis/configure.c:102
+#: src/madplug/configure.c:295 src/vorbis/configure.c:100
 msgid "Override generic titles"
 msgstr "Allgemeine Titel überschreiben"
 
-#: src/madplug/configure.c:308
+#: src/madplug/configure.c:307
 msgid "ID3 format:"
 msgstr "ID3-Format:"
 
-#: src/madplug/configure.c:320 src/sid/xmms-sid.glade:2540
-#: src/sid/xs_interface.c:1070
+#: src/madplug/configure.c:319 src/sid/xmms-sid.glade:2610
+#: src/sid/xs_interface.c:1102
 msgid "Title"
 msgstr "Titel"
 
-#: src/madplug/plugin.c:524
+#: src/madplug/plugin.c:661
 #, c-format
 msgid ""
 "Audacious MPEG Audio Plugin\n"
@@ -3043,15 +3057,15 @@
 "ReplayGain-Unterstützung von:\n"
 "    Samuel Krempp"
 
-#: src/madplug/plugin.c:540
+#: src/madplug/plugin.c:677
 msgid "About MPEG Audio Plugin"
 msgstr "Über MPEG-Audio-Plugin"
 
+#: src/metronom/metronom.c:86
+msgid "About Metronom"
+msgstr "Über Metronom"
+
 #: src/metronom/metronom.c:87
-msgid "About Metronom"
-msgstr "Über Metronom"
-
-#: src/metronom/metronom.c:88
 msgid ""
 "A Tact Generator by Martin Strauss <mys@faveve.uni-stuttgart.de>\n"
 "\n"
@@ -3065,12 +3079,12 @@
 "z.B. tact://77 zum Spielen von 77 Schlägen pro Minute\n"
 "oder tact://60*3/4 zum Spielen von 60 bpm im 3/4-Takt"
 
-#: src/metronom/metronom.c:198 src/metronom/metronom.c:262
+#: src/metronom/metronom.c:197 src/metronom/metronom.c:261
 #, c-format
 msgid "Tact generator: %d bpm"
 msgstr "Takt-Generator: %d bpm"
 
-#: src/metronom/metronom.c:200 src/metronom/metronom.c:264
+#: src/metronom/metronom.c:199 src/metronom/metronom.c:263
 #, c-format
 msgid "Tact generator: %d bpm %d/%d"
 msgstr "Takt-Generator: %d bpm %d/%d"
@@ -3274,11 +3288,11 @@
 msgid "Message"
 msgstr "Meldung"
 
-#: src/modplug/gui/main.cxx:45
+#: src/modplug/gui/main.cxx:48
 msgid "Modplug Input Plugin for Audacious ver"
 msgstr "Modplug-Input-Plugin für Audacious Version"
 
-#: src/modplug/gui/main.cxx:46
+#: src/modplug/gui/main.cxx:49
 msgid ""
 "\n"
 "Modplug sound engine written by Olivier Lapicque.\n"
@@ -3294,7 +3308,7 @@
 "Updates und Betreunung von Konstanty Bialkowski.\n"
 "Portiert für BMP von Theofilos Intzoglou."
 
-#: src/modplug/gui/main.cxx:49
+#: src/modplug/gui/main.cxx:52
 msgid "About Modplug"
 msgstr "Über Modplug"
 
@@ -3304,27 +3318,27 @@
 msgid "Couldn't find pixmap file: %s"
 msgstr "Konnte Pixmap-Datei nicht finden: %s"
 
-#: src/mtp_up/mtp.c:35
+#: src/mtp_up/mtp.c:33
 msgid "Upload selected track(s)"
 msgstr ""
 
-#: src/mtp_up/mtp.c:296
+#: src/mtp_up/mtp.c:294
 msgid "Upload in progress..."
 msgstr ""
 
-#: src/mtp_up/mtp.c:305
+#: src/mtp_up/mtp.c:303
 msgid "MTP device handler"
 msgstr ""
 
-#: src/mtp_up/mtp.c:309
+#: src/mtp_up/mtp.c:307
 msgid "Disconnect the device"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:146
+#: src/musepack/libmpc.cxx:142
 msgid "Musepack Decoder Plugin 1.2"
 msgstr "Musepack-Dekoder-Plugin 1.2"
 
-#: src/musepack/libmpc.cxx:147
+#: src/musepack/libmpc.cxx:143
 msgid ""
 "Plugin code by\n"
 "Benoit Amiaux\n"
@@ -3340,174 +3354,175 @@
 "\n"
 "Die neueste Version ist erhältlich auf http://musepack.net\n"
 
-#: src/musepack/libmpc.cxx:148
+#: src/musepack/libmpc.cxx:144
 msgid "Nevermind"
 msgstr "Vergiss es"
 
-#: src/musepack/libmpc.cxx:166
+#: src/musepack/libmpc.cxx:162
 msgid "Musepack Decoder Configuration"
 msgstr "Musepack-DekoderKonfiguration"
 
-#: src/musepack/libmpc.cxx:176
+#: src/musepack/libmpc.cxx:172
 msgid "General Settings"
 msgstr "Allgemeine Einstellungen"
 
-#: src/musepack/libmpc.cxx:183 src/wavpack/ui.cxx:492
+#: src/musepack/libmpc.cxx:179 src/wavpack/ui.cxx:490
 msgid "Enable Dynamic Bitrate Display"
 msgstr "Dynamische-Bitraten-Anzeige aktivieren"
 
-#: src/musepack/libmpc.cxx:187 src/wavpack/ui.cxx:498
+#: src/musepack/libmpc.cxx:183 src/wavpack/ui.cxx:496
 msgid "Plugin"
 msgstr "Plugin"
 
-#: src/musepack/libmpc.cxx:190
+#: src/musepack/libmpc.cxx:186
 msgid "ReplayGain Settings"
 msgstr "ReplayGain-Einstellungen"
 
-#: src/musepack/libmpc.cxx:197 src/wavpack/ui.cxx:510
+#: src/musepack/libmpc.cxx:193 src/wavpack/ui.cxx:508
 msgid "Enable Clipping Prevention"
 msgstr "Clipping-Verhinderung aktivieren"
 
-#: src/musepack/libmpc.cxx:202 src/wavpack/ui.cxx:515
+#: src/musepack/libmpc.cxx:198 src/wavpack/ui.cxx:513
 msgid "Enable ReplayGain"
 msgstr "ReplayGain aktivieren"
 
-#: src/musepack/libmpc.cxx:207
+#: src/musepack/libmpc.cxx:203
 msgid "ReplayGain Type"
 msgstr "ReplayGain-Typ"
 
-#: src/musepack/libmpc.cxx:215
+#: src/musepack/libmpc.cxx:211
 msgid "Use Track Gain"
 msgstr "Track Gain benutzen"
 
-#: src/musepack/libmpc.cxx:219
+#: src/musepack/libmpc.cxx:215
 msgid "Use Album Gain"
 msgstr "Album Gain benutzen"
 
-#: src/musepack/libmpc.cxx:224 src/wavpack/ui.cxx:547
+#: src/musepack/libmpc.cxx:220 src/wavpack/ui.cxx:545
 msgid "ReplayGain"
 msgstr "ReplayGain"
 
-#: src/musepack/libmpc.cxx:491 src/sid/xmms-sid.glade:3144
-#: src/sid/xs_interface.c:1564 src/tta/libtta.c:304 src/wavpack/ui.cxx:152
+#: src/musepack/libmpc.cxx:487 src/sid/xmms-sid.glade:3338
+#: src/sid/xs_interface.c:1648 src/tta/libtta.c:301 src/wavpack/ui.cxx:150
 msgid "Filename:"
 msgstr "Dateiname:"
 
-#: src/musepack/libmpc.cxx:506
+#: src/musepack/libmpc.cxx:502
 msgid "Musepack Tag"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:514 src/tta/libtta.c:323 src/wavpack/ui.cxx:172
+#: src/musepack/libmpc.cxx:510 src/tta/libtta.c:320 src/wavpack/ui.cxx:170
 msgid "Title:"
 msgstr "Titel:"
 
-#: src/musepack/libmpc.cxx:518 src/tta/libtta.c:333 src/wavpack/ui.cxx:184
+#: src/musepack/libmpc.cxx:514 src/tta/libtta.c:330 src/wavpack/ui.cxx:182
 msgid "Artist:"
 msgstr "Künstler:"
 
-#: src/musepack/libmpc.cxx:522 src/tta/libtta.c:344 src/wavpack/ui.cxx:196
+#: src/musepack/libmpc.cxx:518 src/tta/libtta.c:341 src/wavpack/ui.cxx:194
 msgid "Album:"
 msgstr "Album:"
 
-#: src/musepack/libmpc.cxx:526 src/tta/libtta.c:355 src/wavpack/ui.cxx:208
+#: src/musepack/libmpc.cxx:522 src/tta/libtta.c:352 src/wavpack/ui.cxx:206
 msgid "Comment:"
 msgstr "Kommentar:"
 
-#: src/musepack/libmpc.cxx:530 src/tta/libtta.c:366 src/wavpack/ui.cxx:221
+#: src/musepack/libmpc.cxx:526 src/tta/libtta.c:363 src/wavpack/ui.cxx:219
 msgid "Year:"
 msgstr "Jahr:"
 
-#: src/musepack/libmpc.cxx:535
+#: src/musepack/libmpc.cxx:531
 msgid "Track:"
 msgstr "Titel:"
 
-#: src/musepack/libmpc.cxx:540 src/tta/libtta.c:390 src/wavpack/ui.cxx:248
+#: src/musepack/libmpc.cxx:536 src/tta/libtta.c:387 src/wavpack/ui.cxx:246
 msgid "Genre:"
 msgstr "Genre:"
 
-#: src/musepack/libmpc.cxx:551 src/sid/xmms-sid.glade:1732
-#: src/sid/xs_interface.c:820 src/wavpack/ui.cxx:267
+#: src/musepack/libmpc.cxx:547 src/sid/xmms-sid.glade:1732
+#: src/sid/xs_interface.c:832 src/skins/ui_manager.c:438
+#: src/wavpack/ui.cxx:265
 msgid "Save"
 msgstr "Speichern"
 
-#: src/musepack/libmpc.cxx:554 src/wavpack/ui.cxx:273
+#: src/musepack/libmpc.cxx:550 src/wavpack/ui.cxx:271
 msgid "Remove Tag"
 msgstr "Tag entfernen"
 
-#: src/musepack/libmpc.cxx:562
+#: src/musepack/libmpc.cxx:558
 msgid "Musepack Info"
 msgstr ""
 
+#: src/musepack/libmpc.cxx:591
+#, c-format
+msgid "Streamversion %d"
+msgstr "Streamversion %d"
+
+#: src/musepack/libmpc.cxx:592
+#, c-format
+msgid "Encoder: %s"
+msgstr "Enkoder: %s"
+
+#: src/musepack/libmpc.cxx:593
+#, c-format
+msgid "Profile: %s"
+msgstr "Profil: %s"
+
+#: src/musepack/libmpc.cxx:594
+#, c-format
+msgid "Average bitrate: %6.1f kbps"
+msgstr "Durchschnittliche bitrate: %6.1f kbps"
+
 #: src/musepack/libmpc.cxx:595
 #, c-format
-msgid "Streamversion %d"
-msgstr "Streamversion %d"
+msgid "Samplerate: %d Hz"
+msgstr "Abtastfrequenz: %d Hz"
 
 #: src/musepack/libmpc.cxx:596
 #, c-format
-msgid "Encoder: %s"
-msgstr "Enkoder: %s"
+msgid "Channels: %d"
+msgstr "Kanäle: %d"
 
 #: src/musepack/libmpc.cxx:597
 #, c-format
-msgid "Profile: %s"
-msgstr "Profil: %s"
-
-#: src/musepack/libmpc.cxx:598
-#, c-format
-msgid "Average bitrate: %6.1f kbps"
-msgstr "Durchschnittliche bitrate: %6.1f kbps"
-
-#: src/musepack/libmpc.cxx:599
-#, c-format
-msgid "Samplerate: %d Hz"
-msgstr "Abtastfrequenz: %d Hz"
-
-#: src/musepack/libmpc.cxx:600
-#, c-format
-msgid "Channels: %d"
-msgstr "Kanäle: %d"
-
-#: src/musepack/libmpc.cxx:601
-#, c-format
 msgid "Length: %d:\\%.2d"
 msgstr "Länge: %d:\\%.2d"
 
-#: src/musepack/libmpc.cxx:602
+#: src/musepack/libmpc.cxx:598
 #, c-format
 msgid "File size: %d Bytes"
 msgstr "Dateigröße: %d Byte"
 
-#: src/musepack/libmpc.cxx:603
+#: src/musepack/libmpc.cxx:599
 #, c-format
 msgid "Track Peak: %5u"
 msgstr "Track Peak: %5u"
 
-#: src/musepack/libmpc.cxx:604
+#: src/musepack/libmpc.cxx:600
 #, c-format
 msgid "Track Gain: %-+2.2f dB"
 msgstr "Track Gain: %-+2.2f dB"
 
-#: src/musepack/libmpc.cxx:605
+#: src/musepack/libmpc.cxx:601
 #, c-format
 msgid "Album Peak: %5u"
 msgstr "Album Peak: %5u"
 
-#: src/musepack/libmpc.cxx:606
+#: src/musepack/libmpc.cxx:602
 #, c-format
 msgid "Album Gain: %-+5.2f dB"
 msgstr "Album Gain: %-+5.2f dB"
 
-#: src/musepack/libmpc.cxx:634 src/tta/libtta.c:413 src/wavpack/ui.cxx:409
+#: src/musepack/libmpc.cxx:630 src/tta/libtta.c:410 src/wavpack/ui.cxx:407
 #, c-format
 msgid "File Info - %s"
 msgstr "Dateiinformationen - %s"
 
-#: src/null/null.c:61
+#: src/null/null.c:58
 msgid "Null output plugin "
 msgstr "Null-Ausgabe-Plugin"
 
-#: src/null/null.c:62
+#: src/null/null.c:59
 msgid ""
 " by Christian Birchinger <joker@netswarm.net>\n"
 "based on the XMMS plugin by Håvard Kvål <havardk@xmms.org>"
@@ -3515,23 +3530,52 @@
 " von Christian Birchinger <joker@netswarm.net>\n"
 "basierend auf dem XMMS-Plugin von Håvard Kvål <havardk@xmms.org>"
 
-#: src/null/null.c:65
+#: src/null/null.c:62
 msgid "About Null Output"
 msgstr "Über Null-Ausgabe-Plugin"
 
-#: src/null/null.c:94
+#: src/null/null.c:91
 msgid "Null output preferences"
 msgstr "Null-Ausgabe-Einstellungen"
 
-#: src/null/null.c:103
+#: src/null/null.c:100
 msgid "Run in real time"
 msgstr "In Echtzeit ablaufen lassen"
 
-#: src/OSS4/about.c:42
+#: src/OSS4/configure.c:118 src/OSS/configure.c:150
+#, c-format
+msgid "Default (%s)"
+msgstr "Standard (%s)"
+
+#: src/OSS4/configure.c:168 src/OSS/configure.c:200
+msgid "OSS Driver configuration"
+msgstr "OSS-Treiber-Konfiguration"
+
+#: src/OSS4/configure.c:206 src/OSS/configure.c:238 src/OSS/configure.c:279
+msgid "Use alternate device:"
+msgstr "Alternatives Gerät benutzen:"
+
+#: src/OSS4/configure.c:228 src/OSS/configure.c:301 src/sun/configure.c:246
+msgid "Devices"
+msgstr "Geräte"
+
+#: src/OSS4/configure.c:270 src/OSS/configure.c:342
+msgid "Mixer Settings:"
+msgstr "Mixer-Einstellungen:"
+
+#: src/OSS4/configure.c:276
+msgid "Save VMIX volume between sessions"
+msgstr ""
+
+#: src/OSS4/configure.c:282 src/OSS/configure.c:354 src/sun/configure.c:392
+msgid "Mixer"
+msgstr "Mixer"
+
+#: src/OSS4/OSS4.c:38
 msgid "About OSSv4 Driver"
 msgstr "Über den OSSv4-Treiber"
 
-#: src/OSS4/about.c:43
+#: src/OSS4/OSS4.c:39
 msgid ""
 "Audacious OSSv4 Driver\n"
 "\n"
@@ -3554,40 +3598,15 @@
 "USA."
 msgstr ""
 
-#: src/OSS4/configure.c:120 src/OSS/configure.c:151
-#, c-format
-msgid "Default (%s)"
-msgstr "Standard (%s)"
-
-#: src/OSS4/configure.c:170 src/OSS/configure.c:201
-msgid "OSS Driver configuration"
-msgstr "OSS-Treiber-Konfiguration"
-
-#: src/OSS4/configure.c:208 src/OSS/configure.c:239 src/OSS/configure.c:280
-msgid "Use alternate device:"
-msgstr "Alternatives Gerät benutzen:"
-
-#: src/OSS4/configure.c:230 src/OSS/configure.c:302 src/sun/configure.c:248
-msgid "Devices"
-msgstr "Geräte"
-
-#: src/OSS4/configure.c:272 src/OSS/configure.c:343
-msgid "Mixer Settings:"
-msgstr "Mixer-Einstellungen:"
-
-#: src/OSS4/configure.c:278
-msgid "Save VMIX volume between sessions"
-msgstr ""
-
-#: src/OSS4/configure.c:284 src/OSS/configure.c:355 src/sun/configure.c:394
-msgid "Mixer"
-msgstr "Mixer"
-
-#: src/OSS/about.c:39
+#: src/OSS/configure.c:348
+msgid "Volume controls Master not PCM"
+msgstr ""
+
+#: src/OSS/OSS.c:37
 msgid "About OSS Driver"
 msgstr "Über OSS-Treiber"
 
-#: src/OSS/about.c:40
+#: src/OSS/OSS.c:38
 msgid ""
 "Audacious OSS Driver\n"
 "\n"
@@ -3607,19 +3626,15 @@
 "USA."
 msgstr ""
 
-#: src/OSS/configure.c:349
-msgid "Volume controls Master not PCM"
-msgstr ""
-
 #: src/projectm-1.0/main.c:70
 msgid "_Random"
 msgstr ""
 
-#: src/pulse_audio/pulse_audio.c:722
+#: src/pulse_audio/pulse_audio.c:720
 msgid "About Audacious PulseAudio Output Plugin"
 msgstr "Über Audacious-PulseAudio-Ausgabe-Plugin"
 
-#: src/pulse_audio/pulse_audio.c:723
+#: src/pulse_audio/pulse_audio.c:721
 msgid ""
 "Audacious PulseAudio Output Plugin\n"
 "\n"
@@ -3639,27 +3654,27 @@
 "USA."
 msgstr ""
 
-#: src/scrobbler/configure.c:138
+#: src/scrobbler/configure.c:134
 msgid "<b>Services</b>"
 msgstr "<b>Dienste</b>"
 
-#: src/scrobbler/configure.c:160 src/scrobbler/configure.c:199
+#: src/scrobbler/configure.c:156 src/scrobbler/configure.c:195
 msgid "Username:"
 msgstr "Benutzername:"
 
-#: src/scrobbler/configure.c:166 src/scrobbler/configure.c:205
+#: src/scrobbler/configure.c:162 src/scrobbler/configure.c:201
 msgid "Password:"
 msgstr "Passwort:"
 
-#: src/scrobbler/configure.c:183
+#: src/scrobbler/configure.c:179
 msgid "<b>Last.FM</b>"
 msgstr "<b>Last.FM</b>"
 
-#: src/scrobbler/configure.c:222
+#: src/scrobbler/configure.c:218
 msgid "<b>Gerpok</b>"
 msgstr ""
 
-#: src/scrobbler/gtkstuff.c:21
+#: src/scrobbler/gtkstuff.c:18
 msgid ""
 "Audacious AudioScrobbler Plugin\n"
 "\n"
@@ -3671,11 +3686,11 @@
 "Ursprünglich erstellt von Audun Hove <audun@nlc.no> und Pipian "
 "<pipian@pipian.com>\n"
 
-#: src/scrobbler/gtkstuff.c:23
+#: src/scrobbler/gtkstuff.c:20
 msgid "About Scrobbler Plugin"
 msgstr "Über Scrobbler-Plugin"
 
-#: src/scrobbler/gtkstuff.c:36
+#: src/scrobbler/gtkstuff.c:33
 #, c-format
 msgid ""
 "There has been an error that may require your attention.\n"
@@ -3685,106 +3700,106 @@
 "%s\n"
 msgstr ""
 
-#: src/scrobbler/gtkstuff.c:43
+#: src/scrobbler/gtkstuff.c:40
 msgid "Scrobbler Error"
 msgstr "Scrobbler-Fehler"
 
-#: src/sid/xmms-sid.glade:8 src/sid/xs_interface.c:221
+#: src/sid/xmms-sid.glade:8 src/sid/xs_interface.c:233
 msgid "Audacious-SID configuration"
 msgstr "Audacious-SID-Konfiguration"
 
-#: src/sid/xmms-sid.glade:71 src/sid/xs_interface.c:257
+#: src/sid/xmms-sid.glade:71 src/sid/xs_interface.c:269
 msgid "8-bit"
 msgstr "8 Bit"
 
-#: src/sid/xmms-sid.glade:90 src/sid/xs_interface.c:264
+#: src/sid/xmms-sid.glade:90 src/sid/xs_interface.c:276
 msgid "16-bit"
 msgstr "16 Bit"
 
-#: src/sid/xmms-sid.glade:111 src/sid/xs_interface.c:271
+#: src/sid/xmms-sid.glade:111 src/sid/xs_interface.c:283
 msgid "Resolution:"
 msgstr "Auflösung:"
 
-#: src/sid/xmms-sid.glade:196 src/sid/xs_interface.c:302
+#: src/sid/xmms-sid.glade:196 src/sid/xs_interface.c:314
 msgid "Autopanning"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:217 src/sid/xs_interface.c:309
+#: src/sid/xmms-sid.glade:217 src/sid/xs_interface.c:321
 msgid "Channels:"
 msgstr "Kanäle:"
 
-#: src/sid/xmms-sid.glade:384 src/sid/xs_interface.c:353
+#: src/sid/xmms-sid.glade:384 src/sid/xs_interface.c:365
 msgid "Samplerate:"
 msgstr "Abtastfrequenz:"
 
-#: src/sid/xmms-sid.glade:430 src/sid/xs_interface.c:370
+#: src/sid/xmms-sid.glade:430 src/sid/xs_interface.c:382
 msgid "Use oversampling"
 msgstr "Oversampling benützen"
 
-#: src/sid/xmms-sid.glade:456 src/sid/xs_interface.c:381
+#: src/sid/xmms-sid.glade:456 src/sid/xs_interface.c:393
 msgid "Factor:"
 msgstr "Faktor:"
 
-#: src/sid/xmms-sid.glade:500 src/sid/xs_interface.c:393
+#: src/sid/xmms-sid.glade:500 src/sid/xs_interface.c:405
 msgid "Large factors require more CPU-power"
 msgstr "Große Faktoren benötigen mehr Rechenleistung"
 
-#: src/sid/xmms-sid.glade:534 src/sid/xs_interface.c:399
+#: src/sid/xmms-sid.glade:534 src/sid/xs_interface.c:411
 msgid "Oversampling:"
 msgstr "Oversampling:"
 
-#: src/sid/xmms-sid.glade:570 src/sid/xs_interface.c:404
+#: src/sid/xmms-sid.glade:570 src/sid/xs_interface.c:416
 msgid "Audio"
 msgstr "Audio"
 
-#: src/sid/xmms-sid.glade:620 src/sid/xs_interface.c:436
+#: src/sid/xmms-sid.glade:620 src/sid/xs_interface.c:448
 msgid ""
 "If enabled, this option \"forces\" the emulation engine to use the selected "
 "clock speed/frequency. Otherwise the speed is determined from played file "
 "itself."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:622 src/sid/xs_interface.c:432
+#: src/sid/xmms-sid.glade:622 src/sid/xs_interface.c:444
 msgid "Force speed"
 msgstr "Geschwindigkeit erzwingen"
 
-#: src/sid/xmms-sid.glade:640 src/sid/xs_interface.c:442
+#: src/sid/xmms-sid.glade:640 src/sid/xs_interface.c:454
 msgid ""
 "PAL is the european TV standard, which uses 50Hz vertical refresh frequency. "
 "Most of SID-tunes have been made for PAL computers."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:642 src/sid/xs_interface.c:438
+#: src/sid/xmms-sid.glade:642 src/sid/xs_interface.c:450
 msgid "PAL (50 Hz)"
 msgstr "PAL (50 Hz)"
 
-#: src/sid/xmms-sid.glade:660 src/sid/xs_interface.c:450
+#: src/sid/xmms-sid.glade:660 src/sid/xs_interface.c:462
 msgid ""
 "NTSC is the TV standard with 60Hz vertical refresh rate (and other features "
 "that differ from PAL). It is mainly used in United States, Japan and certain "
 "other countries."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:662 src/sid/xs_interface.c:446
+#: src/sid/xmms-sid.glade:662 src/sid/xs_interface.c:458
 msgid "NTSC (60 Hz)"
 msgstr "NTSC (60 Hz)"
 
-#: src/sid/xmms-sid.glade:683 src/sid/xs_interface.c:454
+#: src/sid/xmms-sid.glade:683 src/sid/xs_interface.c:466
 msgid "Clock speed:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:728 src/sid/xs_interface.c:475
+#: src/sid/xmms-sid.glade:728 src/sid/xs_interface.c:487
 msgid ""
 "If enabled, this option \"forces\" the emulation engine to use the selected "
 "SID-chip model. Otherwise the preferred SID model is determined from the "
 "file (if PSIDv2NG type) or if not available, this setting is used."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:730 src/sid/xs_interface.c:471
+#: src/sid/xmms-sid.glade:730 src/sid/xs_interface.c:483
 msgid "Force model"
 msgstr "Modell erzwingen"
 
-#: src/sid/xmms-sid.glade:748 src/sid/xs_interface.c:481
+#: src/sid/xmms-sid.glade:748 src/sid/xs_interface.c:493
 msgid ""
 "MOS/CSG 6581 is the earlier major version of SID chip. It differs from 8580 "
 "in few ways, having much fuller filter (which, due to design error, is never "
@@ -3792,89 +3807,89 @@
 "which enables playing of digital samples."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:750 src/sid/xs_interface.c:477
+#: src/sid/xmms-sid.glade:750 src/sid/xs_interface.c:489
 msgid "MOS 6581"
 msgstr "MOS 6581"
 
-#: src/sid/xmms-sid.glade:769 src/sid/xs_interface.c:485
+#: src/sid/xmms-sid.glade:769 src/sid/xs_interface.c:497
 msgid "MOS 8580"
 msgstr "MOS 8580"
 
-#: src/sid/xmms-sid.glade:790 src/sid/xs_interface.c:492
+#: src/sid/xmms-sid.glade:790 src/sid/xs_interface.c:504
 msgid "SID model:"
 msgstr "SID-Modell:"
 
-#: src/sid/xmms-sid.glade:842 src/sid/xs_interface.c:513
+#: src/sid/xmms-sid.glade:842 src/sid/xs_interface.c:525
 msgid ""
 "Use libSIDPlay 1.x emulation, faster but not so accurate. Good in most "
 "cases, though."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:844 src/sid/xs_interface.c:509
+#: src/sid/xmms-sid.glade:844 src/sid/xs_interface.c:521
 msgid "SIDPlay 1 (frame-based)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:863 src/sid/xs_interface.c:521
+#: src/sid/xmms-sid.glade:863 src/sid/xs_interface.c:533
 msgid ""
 "Use libSIDPlay 2.x emulation, which requires powerful CPU due to more exact "
 "emulation."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:865 src/sid/xs_interface.c:517
+#: src/sid/xmms-sid.glade:865 src/sid/xs_interface.c:529
 msgid "SIDPlay 2 (cycle-based)"
 msgstr "SIDPlay 2 (zyklus-basiert)"
 
-#: src/sid/xmms-sid.glade:887 src/sid/xs_interface.c:525
+#: src/sid/xmms-sid.glade:887 src/sid/xs_interface.c:537
 msgid "Emulation library selection:"
 msgstr "Auswahl der Emulations-Bibliothek:"
 
-#: src/sid/xmms-sid.glade:933 src/sid/xs_interface.c:542
+#: src/sid/xmms-sid.glade:933 src/sid/xs_interface.c:554
 msgid "Real C64 (SIDPlay 2 only)"
 msgstr "Echter C64 (nur SIDPlay 2)"
 
-#: src/sid/xmms-sid.glade:952 src/sid/xs_interface.c:549
+#: src/sid/xmms-sid.glade:952 src/sid/xs_interface.c:561
 msgid "Bank switching"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:972 src/sid/xs_interface.c:556
+#: src/sid/xmms-sid.glade:972 src/sid/xs_interface.c:568
 msgid "Transparent ROM"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:992 src/sid/xs_interface.c:563
+#: src/sid/xmms-sid.glade:992 src/sid/xs_interface.c:575
 msgid "PlaySID environment"
 msgstr "PlaySID-Umgebung"
 
-#: src/sid/xmms-sid.glade:1013 src/sid/xs_interface.c:570
+#: src/sid/xmms-sid.glade:1013 src/sid/xs_interface.c:582
 msgid "Memory mode:"
 msgstr "Speichermodus:"
 
-#: src/sid/xmms-sid.glade:1049 src/sid/xs_interface.c:575
+#: src/sid/xmms-sid.glade:1049 src/sid/xs_interface.c:587
 msgid "Emu#1"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1093 src/sid/xs_interface.c:602
+#: src/sid/xmms-sid.glade:1093 src/sid/xs_interface.c:614
 msgid ""
 "This setting can be used to enable libSIDPlay2's \"optimization mode\", "
 "which in downgrades the emulation from cycle-exact to something similar to "
 "frame-exact. The result is lower CPU usage, but worse accuracy."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1095 src/sid/xs_interface.c:598
+#: src/sid/xmms-sid.glade:1095 src/sid/xs_interface.c:610
 msgid "Optimization mode (faster, inaccurate)"
 msgstr "Optimierungs-Modus (schneller, ungenau)"
 
-#: src/sid/xmms-sid.glade:1113 src/sid/xs_interface.c:608
+#: src/sid/xmms-sid.glade:1113 src/sid/xs_interface.c:620
 msgid ""
 "reSID is the software SID-chip simulator based on SID reverse-engineering, "
 "created by Dag Lem. It is probably the closest thing to real SID available "
 "as software-only emulation."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1115 src/sid/xs_interface.c:604
+#: src/sid/xmms-sid.glade:1115 src/sid/xs_interface.c:616
 msgid "reSID-emulation"
 msgstr "reSID-Emulation"
 
-#: src/sid/xmms-sid.glade:1133 src/sid/xs_interface.c:616
+#: src/sid/xmms-sid.glade:1133 src/sid/xs_interface.c:628
 msgid ""
 "HardSID is a EISA/PCI card for PC-compatibles, which can be fitted with a "
 "real SID-chip. Software can be used to control the HardSID and combined with "
@@ -3883,47 +3898,47 @@
 "http://www.hardsid.com/"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1135 src/sid/xs_interface.c:612
+#: src/sid/xmms-sid.glade:1135 src/sid/xs_interface.c:624
 msgid "HardSID"
 msgstr "HardSID"
 
-#: src/sid/xmms-sid.glade:1156 src/sid/xs_interface.c:620
+#: src/sid/xmms-sid.glade:1156 src/sid/xs_interface.c:632
 msgid "SIDPlay 2 options:"
 msgstr "SIDPlay 2-Optionen:"
 
-#: src/sid/xmms-sid.glade:1201 src/sid/xs_interface.c:641
+#: src/sid/xmms-sid.glade:1201 src/sid/xs_interface.c:653
 msgid ""
 "Fastest and also worst sounding sampling method, simply picks nearest "
 "neighbouring sample."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1203 src/sid/xs_interface.c:637
+#: src/sid/xmms-sid.glade:1203 src/sid/xs_interface.c:649
 msgid "Fast (nearest neighbour)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1221 src/sid/xs_interface.c:649
+#: src/sid/xmms-sid.glade:1221 src/sid/xs_interface.c:661
 msgid ""
 "Uses linear interpolation between samples, yielding higher audio quality "
 "with less sampling noise."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1223 src/sid/xs_interface.c:645
+#: src/sid/xmms-sid.glade:1223 src/sid/xs_interface.c:657
 msgid "Linear interpolation"
 msgstr "Lineare Interpolation"
 
-#: src/sid/xmms-sid.glade:1263 src/sid/xs_interface.c:660
+#: src/sid/xmms-sid.glade:1263 src/sid/xs_interface.c:672
 msgid "Resampling (FIR)"
 msgstr "Resampling (FIR)"
 
-#: src/sid/xmms-sid.glade:1284 src/sid/xs_interface.c:667
+#: src/sid/xmms-sid.glade:1284 src/sid/xs_interface.c:679
 msgid "reSID sampling options:"
 msgstr "reSID-Sampling-Optionen:"
 
-#: src/sid/xmms-sid.glade:1320 src/sid/xs_interface.c:672
+#: src/sid/xmms-sid.glade:1320 src/sid/xs_interface.c:684
 msgid "Emu#2"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1350 src/sid/xs_interface.c:688
+#: src/sid/xmms-sid.glade:1350 src/sid/xs_interface.c:700
 msgid ""
 "This option enables emulation of SID filter. The filter is an essential part "
 "of SID's sound capacity, but accurate emulation of it may require quite much "
@@ -3931,59 +3946,61 @@
 "authentic at all if they utilize the filter."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1352 src/sid/xs_interface.c:684
+#: src/sid/xmms-sid.glade:1352 src/sid/xs_interface.c:696
 msgid "Emulate filters"
 msgstr "Filter emulieren"
 
-#: src/sid/xmms-sid.glade:1409 src/sid/xs_interface.c:713
+#: src/sid/xmms-sid.glade:1409 src/sid/xs_interface.c:725
 msgid "FS"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1460 src/sid/xs_interface.c:730
+#: src/sid/xmms-sid.glade:1460 src/sid/xs_interface.c:742
 msgid "FM"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1511 src/sid/xs_interface.c:747
+#: src/sid/xmms-sid.glade:1511 src/sid/xs_interface.c:759
 msgid "FT"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1549 src/sid/xs_interface.c:758
+#: src/sid/xmms-sid.glade:1549 src/sid/xs_interface.c:770
 msgid "Reset values"
 msgstr "Werte zurücksetzen"
 
-#: src/sid/xmms-sid.glade:1578 src/sid/xs_interface.c:763
+#: src/sid/xmms-sid.glade:1578 src/sid/xs_interface.c:775
 msgid "SIDPlay1"
 msgstr "SIDPlay1"
 
-#: src/sid/xmms-sid.glade:1690 src/sid/xs_interface.c:804
+#: src/sid/xmms-sid.glade:1690 src/sid/xs_interface.c:816
 msgid "Export"
 msgstr "Exportieren"
 
-#: src/sid/xmms-sid.glade:1711 src/sid/xs_interface.c:812
+#: src/sid/xmms-sid.glade:1711 src/sid/xs_interface.c:824
 msgid "Use"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1753 src/sid/xs_interface.c:828
+#: src/sid/xmms-sid.glade:1753 src/sid/xs_interface.c:840
+#: src/skins/ui_manager.c:437
 msgid "Import"
 msgstr "Importieren"
 
-#: src/sid/xmms-sid.glade:1774 src/sid/xs_interface.c:836
+#: src/sid/xmms-sid.glade:1774 src/sid/xs_interface.c:848
+#: src/skins/ui_manager.c:439
 msgid "Delete"
 msgstr "Löschen"
 
-#: src/sid/xmms-sid.glade:1819 src/sid/xs_interface.c:850
+#: src/sid/xmms-sid.glade:1819 src/sid/xs_interface.c:862
 msgid "Filter curve:"
 msgstr "Filterkurve:"
 
-#: src/sid/xmms-sid.glade:1855 src/sid/xs_interface.c:855
+#: src/sid/xmms-sid.glade:1855 src/sid/xs_interface.c:867
 msgid "SIDPlay2"
 msgstr "SIDPlay2"
 
-#: src/sid/xmms-sid.glade:1891 src/sid/xs_interface.c:861
+#: src/sid/xmms-sid.glade:1891 src/sid/xs_interface.c:873
 msgid "Filters"
 msgstr "Filter"
 
-#: src/sid/xmms-sid.glade:1935 src/sid/xs_interface.c:888
+#: src/sid/xmms-sid.glade:1935 src/sid/xs_interface.c:900
 msgid ""
 "If enabled, the tune is played at least for the specified time, adding "
 "silence to the end if necessary."
@@ -3991,137 +4008,146 @@
 "Wenn aktiviert, wird das Stück mindestens für die angegebene Zeit "
 "abgespielt, wobei nötigenfalls Stille zum Ende hinzugefügt wird."
 
-#: src/sid/xmms-sid.glade:1937 src/sid/xs_interface.c:884
+#: src/sid/xmms-sid.glade:1937 src/sid/xs_interface.c:896
 msgid "Play at least for specified time"
 msgstr "Mindestens für die angegebene Zeit spielen"
 
 #: src/sid/xmms-sid.glade:1962 src/sid/xmms-sid.glade:2133
-#: src/sid/xmms-sid.glade:2632 src/sid/xs_interface.c:895
-#: src/sid/xs_interface.c:949 src/sid/xs_interface.c:1109
+#: src/sid/xmms-sid.glade:2702 src/sid/xs_interface.c:907
+#: src/sid/xs_interface.c:961 src/sid/xs_interface.c:1141
 msgid "Playtime:"
 msgstr "Spielzeit:"
 
-#: src/sid/xmms-sid.glade:2041 src/sid/xs_interface.c:915
+#: src/sid/xmms-sid.glade:2041 src/sid/xs_interface.c:927
 msgid "Minimum playtime:"
 msgstr "Minimale Spielzeit:"
 
-#: src/sid/xmms-sid.glade:2086 src/sid/xs_interface.c:936
+#: src/sid/xmms-sid.glade:2086 src/sid/xs_interface.c:948
 msgid ""
 "If enabled, tune is played until specified duration is reached (aka maximum "
 "playtime)."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2088 src/sid/xs_interface.c:932
+#: src/sid/xmms-sid.glade:2088 src/sid/xs_interface.c:944
 msgid "Play for specified time maximum"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2107 src/sid/xs_interface.c:942
+#: src/sid/xmms-sid.glade:2107 src/sid/xs_interface.c:954
 msgid ""
 "If enabled, the maximum playtime is applied only if song/tune length is not "
 "known."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2109 src/sid/xs_interface.c:938
+#: src/sid/xmms-sid.glade:2109 src/sid/xs_interface.c:950
 msgid "Only when song length is unknown"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2212 src/sid/xs_interface.c:969
+#: src/sid/xmms-sid.glade:2212 src/sid/xs_interface.c:981
 msgid "Maximum playtime:"
 msgstr "Maximale Spielzeit:"
 
-#: src/sid/xmms-sid.glade:2257 src/sid/xs_interface.c:990
+#: src/sid/xmms-sid.glade:2257 src/sid/xs_interface.c:1002
 msgid ""
 "This option enables using of XSIDPLAY compatible song length database. "
 "(Refer to Audacious-SID documentation for more information)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2259 src/sid/xs_interface.c:986
+#: src/sid/xmms-sid.glade:2259 src/sid/xs_interface.c:998
 msgid "Use XSIDPLAY-compatible database"
 msgstr "XSIDPLAY-kompatible Datenbank benützen"
 
-#: src/sid/xmms-sid.glade:2284 src/sid/xs_interface.c:997
+#: src/sid/xmms-sid.glade:2284 src/sid/xs_interface.c:1009
 msgid "DB-file:"
 msgstr "DB-Datei:"
 
-#: src/sid/xmms-sid.glade:2309 src/sid/xs_interface.c:1007
+#: src/sid/xmms-sid.glade:2309 src/sid/xs_interface.c:1019
 msgid "Database path and filename"
 msgstr "Datenbankpfad und -dateiname"
 
-#: src/sid/xmms-sid.glade:2329 src/sid/xs_interface.c:1014
+#: src/sid/xmms-sid.glade:2329 src/sid/xs_interface.c:1026
 msgid "Browse for song length-database file"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2356 src/sid/xs_interface.c:1016
+#: src/sid/xmms-sid.glade:2418 src/sid/xs_interface.c:1048
 msgid "Song length database:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2392 src/sid/xs_interface.c:1021
+#: src/sid/xmms-sid.glade:2454 src/sid/xs_interface.c:1053
 msgid "Songlength"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2430 src/sid/xs_interface.c:1043
+#: src/sid/xmms-sid.glade:2492 src/sid/xs_interface.c:1075
 msgid ""
 "By enabling this option you can specify a custom Tuplez formatting string "
 "for SID-files. The SID-plugin specific Tuplez tags are described shortly "
 "below."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2432 src/sid/xs_interface.c:1039
+#: src/sid/xmms-sid.glade:2494 src/sid/xs_interface.c:1071
 #, fuzzy
 msgid "Override generic Tuplez format string"
 msgstr "Allgemeine Titel überschreiben"
 
-#: src/sid/xmms-sid.glade:2457 src/sid/xs_interface.c:1054
+#: src/sid/xmms-sid.glade:2519 src/sid/xs_interface.c:1086
 msgid "Tuplez format string for SID-files"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2477 src/sid/xs_interface.c:1057
-msgid "Descriptions of <i>SID-specific</i> Tuplez fields go here. <b>:D</b>"
-msgstr ""
-
-#: src/sid/xmms-sid.glade:2511 src/sid/xs_interface.c:1065
+#: src/sid/xmms-sid.glade:2539 src/sid/xs_interface.c:1089
+msgid ""
+"<u>SID-specific Tuplez fields:</u>\n"
+"\n"
+"<b>sid-format</b>\t\t- Specific fileformat\n"
+"<b>sid-model</b>\t\t- 6581 or 8580\n"
+"<b>sid-speed</b>\t\t- Timing or speed: PAL/NTSC/etc.\n"
+"\n"
+"<u>Other \"special\" fields set:</u>\n"
+"\n"
+"<b>subsong-num, subsong-id</b>"
+msgstr ""
+
+#: src/sid/xmms-sid.glade:2581 src/sid/xs_interface.c:1097
 msgid "Song title format:"
 msgstr "Titelformat:"
 
-#: src/sid/xmms-sid.glade:2584 src/sid/xs_interface.c:1096
+#: src/sid/xmms-sid.glade:2654 src/sid/xs_interface.c:1128
 msgid ""
 "If enabled, sub-tunes of each file will be added to playlist. If disabled, "
 "only the default sub-tune will be added."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2586 src/sid/xs_interface.c:1092
+#: src/sid/xmms-sid.glade:2656 src/sid/xs_interface.c:1124
 msgid "Add sub-tunes to playlist"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2605 src/sid/xs_interface.c:1102
+#: src/sid/xmms-sid.glade:2675 src/sid/xs_interface.c:1134
 msgid "Only add sub-tunes that have a duration of at least specified time."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2607 src/sid/xs_interface.c:1098
+#: src/sid/xmms-sid.glade:2677 src/sid/xs_interface.c:1130
 msgid "Only tunes with specified minimum duration"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2710 src/sid/xs_interface.c:1129
+#: src/sid/xmms-sid.glade:2780 src/sid/xs_interface.c:1161
 #, fuzzy
 msgid "Sub-tune handling:"
 msgstr "Lautstärkesteuerung:"
 
-#: src/sid/xmms-sid.glade:2755 src/sid/xs_interface.c:1150
+#: src/sid/xmms-sid.glade:2825 src/sid/xs_interface.c:1182
 msgid ""
 "If this option is enabled (and the database & HVSC settings below are "
 "correctly set), Audacious-SID will use and display additional information "
 "from STIL database when HVSC SIDs are played."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2757 src/sid/xs_interface.c:1146
+#: src/sid/xmms-sid.glade:2827 src/sid/xs_interface.c:1178
 msgid "Use STIL database"
 msgstr "STIL-Datenbank verwenden"
 
-#: src/sid/xmms-sid.glade:2782 src/sid/xs_interface.c:1157
+#: src/sid/xmms-sid.glade:2852 src/sid/xs_interface.c:1189
 msgid "STIL file:"
 msgstr "STIL-Datei:"
 
-#: src/sid/xmms-sid.glade:2819 src/sid/xs_interface.c:1173
+#: src/sid/xmms-sid.glade:2889 src/sid/xs_interface.c:1205
 msgid ""
 "Path and filename of STIL database file (STIL.txt), usually found from "
 "HVSC's DOCUMENTS-subdirectory."
@@ -4129,15 +4155,15 @@
 "Pfad und Dateiname der STIL-Datenbank-Datei (STIL.txt), üblicherweise im "
 "HVSC-DOCUMENTS-Unterverzeichnis."
 
-#: src/sid/xmms-sid.glade:2854 src/sid/xs_interface.c:1186
+#: src/sid/xmms-sid.glade:2924 src/sid/xs_interface.c:1218
 msgid "Browse for STIL-database file"
 msgstr "Nach STIL-Datenbank-Datei suchen"
 
-#: src/sid/xmms-sid.glade:2888 src/sid/xs_interface.c:1193
+#: src/sid/xmms-sid.glade:3020 src/sid/xs_interface.c:1245
 msgid "HVSC path:"
 msgstr "HVSC-Pfad:"
 
-#: src/sid/xmms-sid.glade:2925 src/sid/xs_interface.c:1209
+#: src/sid/xmms-sid.glade:3057 src/sid/xs_interface.c:1261
 msgid ""
 "Path to base-directory of your High Voltage SID Collection (HVSC), for "
 "example /media/C64Music/"
@@ -4145,89 +4171,89 @@
 "Pfad zum Basis-Verzeichnis der High Voltage SID Collection (HVSC), zum "
 "Beispiel /media/C64Music/"
 
-#: src/sid/xmms-sid.glade:2960 src/sid/xs_interface.c:1222
+#: src/sid/xmms-sid.glade:3092 src/sid/xs_interface.c:1274
 msgid "Browse for HVSC path"
 msgstr "Nach HVSC-Pfad suchen"
 
-#: src/sid/xmms-sid.glade:2990 src/sid/xs_interface.c:1224
+#: src/sid/xmms-sid.glade:3184 src/sid/xs_interface.c:1296
 msgid "SID Tune Information List (STIL) database:"
 msgstr "SID Tune Information List (STIL)-Datenbank:"
 
-#: src/sid/xmms-sid.glade:3063 src/sid/xs_interface.c:1248
+#: src/sid/xmms-sid.glade:3257 src/sid/xs_interface.c:1320
 msgid "Accept and update changes"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3077 src/sid/xs_interface.c:1255
+#: src/sid/xmms-sid.glade:3271 src/sid/xs_interface.c:1327
 msgid "Cancel any changes"
 msgstr "Alle Änderungen verwerfen"
 
-#: src/sid/xmms-sid.glade:3102 src/sid/xs_interface.c:1543
+#: src/sid/xmms-sid.glade:3296 src/sid/xs_interface.c:1627
 msgid "Audacious-SID Fileinfo"
 msgstr "Audacious-SID-Dateiinformation"
 
-#: src/sid/xmms-sid.glade:3172 src/sid/xs_interface.c:1572
+#: src/sid/xmms-sid.glade:3366 src/sid/xs_interface.c:1656
 msgid "Songname:"
 msgstr "Titel:"
 
-#: src/sid/xmms-sid.glade:3200 src/sid/xs_interface.c:1580
+#: src/sid/xmms-sid.glade:3394 src/sid/xs_interface.c:1664
 msgid "Composer:"
 msgstr "Komponist:"
 
-#: src/sid/xmms-sid.glade:3228 src/sid/xs_interface.c:1588
+#: src/sid/xmms-sid.glade:3422 src/sid/xs_interface.c:1672
 msgid "Copyright:"
 msgstr "Copyright:"
 
-#: src/sid/xmms-sid.glade:3342 src/sid/xs_interface.c:1632
+#: src/sid/xmms-sid.glade:3536 src/sid/xs_interface.c:1716
 msgid "Song Information:"
 msgstr "Titel-Information:"
 
-#: src/sid/xmms-sid.glade:3416 src/sid/xs_interface.c:1667
+#: src/sid/xmms-sid.glade:3610 src/sid/xs_interface.c:1751
 msgid "Author:"
 msgstr "Autor:"
 
-#: src/sid/xmms-sid.glade:3514 src/sid/xs_interface.c:1701
+#: src/sid/xmms-sid.glade:3708 src/sid/xs_interface.c:1785
 msgid "Duration:"
 msgstr "Länge:"
 
-#: src/sid/xmms-sid.glade:3608 src/sid/xs_interface.c:1735
+#: src/sid/xmms-sid.glade:3802 src/sid/xs_interface.c:1819
 #, fuzzy
 msgid "Sub-tune Information:"
 msgstr "Ort:"
 
-#: src/sid/xmms-sid.glade:3662 src/sid/xs_interface.c:1796
+#: src/sid/xmms-sid.glade:3856 src/sid/xs_interface.c:1880
 msgid "Select HVSC song length database"
 msgstr "HVSC-Titellängendatenbank auswählen"
 
-#: src/sid/xmms-sid.glade:3704 src/sid/xs_interface.c:1837
+#: src/sid/xmms-sid.glade:3898 src/sid/xs_interface.c:1921
 msgid "Select STIL-database"
 msgstr "STIL-Datenbank auswählen"
 
-#: src/sid/xmms-sid.glade:3746 src/sid/xs_interface.c:1878
+#: src/sid/xmms-sid.glade:3940 src/sid/xs_interface.c:1962
 msgid "Select HVSC location prefix"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3788 src/sid/xs_interface.c:1919
+#: src/sid/xmms-sid.glade:3982 src/sid/xs_interface.c:2003
 msgid "Select SIDPlay2 filters file for importing"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3830 src/sid/xs_interface.c:1960
+#: src/sid/xmms-sid.glade:4024 src/sid/xs_interface.c:2044
 msgid "Select SIDPlay2 filters file for exporting"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3871 src/sid/xmms-sid.glade:3953
-#: src/sid/xs_interface.c:2008 src/sid/xs_interface.c:2021
+#: src/sid/xmms-sid.glade:4065 src/sid/xmms-sid.glade:4147
+#: src/sid/xs_interface.c:2092 src/sid/xs_interface.c:2105
 msgid "Confirm selected action"
 msgstr "Gewählte Aktion bestätigen"
 
-#: src/sid/xmms-sid.glade:3909 src/sid/xs_interface.c:2038
+#: src/sid/xmms-sid.glade:4103 src/sid/xs_interface.c:2122
 msgid "Yes"
 msgstr "Ja"
 
-#: src/sid/xmms-sid.glade:3921 src/sid/xs_interface.c:2044
+#: src/sid/xmms-sid.glade:4115 src/sid/xs_interface.c:2128
 msgid "No"
 msgstr "Nein"
 
-#: src/sid/xs_about.c:84 src/wma/wma.c:121
+#: src/sid/xs_about.c:84 src/wma/wma.c:118
 #, c-format
 msgid "About %s"
 msgstr "Über %s"
@@ -4241,11 +4267,1142 @@
 msgid "Tune #%i: "
 msgstr ""
 
-#: src/sndfile/plugin.c:548
+#: src/skins/plugin.c:128
+msgid "About Skinned GUI"
+msgstr ""
+
+#: src/skins/plugin.c:129
+msgid ""
+"Copyright (c) 2008, by Tomasz Moń <desowin@gmail.com>\n"
+"\n"
+msgstr ""
+
+#: src/skins/skins_cfg.c:329
+#, fuzzy
+msgid "<b>_Fonts</b>"
+msgstr "<b>Dateiname: </b>"
+
+#: src/skins/skins_cfg.c:330
+#, fuzzy
+msgid "_Player:"
+msgstr "Spielzeit:"
+
+#: src/skins/skins_cfg.c:330
+msgid "Select main player window font:"
+msgstr ""
+
+#: src/skins/skins_cfg.c:331
+#, fuzzy
+msgid "_Playlist:"
+msgstr "Wiedergabeliste wählen"
+
+#: src/skins/skins_cfg.c:331
+#, fuzzy
+msgid "Select playlist font:"
+msgstr "Wiedergabeliste wählen"
+
+#: src/skins/skins_cfg.c:332
+#, fuzzy
+msgid "Use Bitmap fonts if available"
+msgstr "CDDB benutzen, falls vorhanden"
+
+#: src/skins/skins_cfg.c:332
+msgid ""
+"Use bitmap fonts if they are available. Bitmap fonts do not support Unicode "
+"strings."
+msgstr ""
+
+#: src/skins/skins_cfg.c:333
+#, fuzzy
+msgid "<b>_Miscellaneous</b>"
+msgstr "<b>Dienste</b>"
+
+#: src/skins/skins_cfg.c:334
+msgid "Show track numbers in playlist"
+msgstr ""
+
+#: src/skins/skins_cfg.c:336
+msgid "Show separators in playlist"
+msgstr ""
+
+#: src/skins/skins_cfg.c:338
+msgid "Show window manager decoration"
+msgstr ""
+
+#: src/skins/skins_cfg.c:339
+msgid "This enables the window manager to show decorations for windows."
+msgstr ""
+
+#: src/skins/skins_cfg.c:340
+msgid "Use two-way text scroller"
+msgstr ""
+
+#: src/skins/skins_cfg.c:341
+msgid ""
+"If selected, the file information text in the main window will scroll back "
+"and forth. If not selected, the text will only scroll in one direction."
+msgstr ""
+
+#: src/skins/skins_cfg.c:342
+msgid "Disable inline gtk theme"
+msgstr ""
+
+#: src/skins/skins_cfg.c:343
+msgid "Allow loading incomplete skins"
+msgstr ""
+
+#: src/skins/skins_cfg.c:344
+msgid ""
+"If selected, audacious won't refuse loading broken skins. Use only if your "
+"favourite skin doesn't work"
+msgstr ""
+
+#: src/skins/skins_cfg.c:410
+msgid "Color Adjustment"
+msgstr ""
+
+#: src/skins/skins_cfg.c:417
+msgid ""
+"Audacious allows you to alter the color balance of the skinned UI. The "
+"sliders below will allow you to do this."
+msgstr ""
+
+#: src/skins/skins_cfg.c:427
+#, fuzzy
+msgid "Blue"
+msgstr "Lautstärke"
+
+#: src/skins/skins_cfg.c:434
+msgid "Green"
+msgstr ""
+
+#: src/skins/skins_cfg.c:441
+msgid "Red"
+msgstr ""
+
+#: src/skins/skins_cfg.c:571
+#, fuzzy
+msgid "Audacious Skinned GUI Configuration"
+msgstr "Audacious-OSD - Konfiguration"
+
+#: src/skins/skins_cfg.c:596
+#, fuzzy
+msgid "<b>_Skin</b>"
+msgstr "<b>Dateiname: </b>"
+
+#: src/skins/ui_equalizer.c:494
+#, fuzzy
+msgid "Audacious Equalizer"
+msgstr "Fenster->Equalizer"
+
+#: src/skins/ui_equalizer.c:794
+#, c-format
+msgid "Error importing Winamp EQF file '%s'"
+msgstr ""
+
+#: src/skins/ui_equalizer.c:1172
+msgid "Presets"
+msgstr ""
+
+#: src/skins/ui_main.c:392
+#, fuzzy, c-format
+msgid "%s - Audacious"
+msgstr ""
+"\n"
+"Audacious-OSD "
+
+#: src/skins/ui_main.c:394 src/skins/ui_main.c:2397
+#, fuzzy
+msgid "Audacious"
+msgstr ""
+"\n"
+"Audacious-OSD "
+
+#: src/skins/ui_main.c:641
+#, fuzzy
+msgid "VBR"
+msgstr "VBR/ABR"
+
+#: src/skins/ui_main.c:659 src/skins/ui_main.c:663
+#, fuzzy
+msgid "stereo"
+msgstr "Stereo"
+
+#: src/skins/ui_main.c:659 src/skins/ui_main.c:663
+#, fuzzy
+msgid "mono"
+msgstr "Mono"
+
+#: src/skins/ui_main.c:957
+msgid "Can't jump to time when no track is being played.\n"
+msgstr ""
+
+#: src/skins/ui_main.c:972 src/skins/ui_manager.c:425
+#: src/skins/ui_manager.c:426
+#, fuzzy
+msgid "Jump to Time"
+msgstr "Zu Datei springen"
+
+#: src/skins/ui_main.c:993
+#, fuzzy
+msgid "minutes:seconds"
+msgstr "Minuten"
+
+#: src/skins/ui_main.c:1003
+#, fuzzy
+msgid "Track length:"
+msgstr "Titel:"
+
+#: src/skins/ui_main.c:1149
+msgid "Audacious - visibility warning"
+msgstr ""
+
+#: src/skins/ui_main.c:1152
+msgid "Show main player window"
+msgstr ""
+
+#: src/skins/ui_main.c:1153
+msgid "Ignore"
+msgstr ""
+
+#: src/skins/ui_main.c:1159
+msgid ""
+"Audacious has been started with all of its windows hidden.\n"
+"You may want to show the player window again to control Audacious; "
+"otherwise, you'll have to control it remotely via audtool or enabled plugins "
+"(such as the statusicon plugin)."
+msgstr ""
+
+#: src/skins/ui_main.c:1165
+msgid "Always ignore, show/hide is controlled remotely"
+msgstr ""
+
+#: src/skins/ui_main.c:1210
+msgid "Audacious - broken GTK engine usage warning"
+msgstr ""
+
+#: src/skins/ui_main.c:1218
+#, c-format
+msgid ""
+"<big><b>Broken GTK engine in use</b></big>\n"
+"\n"
+"Audacious has detected that you are using a broken GTK engine.\n"
+"\n"
+"The theme engine you are using, <i>%s</i>, is incompatible with some of the "
+"features used by modern skins. The incompatible features have been disabled "
+"for this session.\n"
+"\n"
+"To use these features, please consider using a different GTK theme engine."
+msgstr ""
+
+#: src/skins/ui_main.c:1229
+msgid "Do not display this warning again"
+msgstr ""
+
+#: src/skins/ui_main.c:1253
+msgid "Enter location to play:"
+msgstr ""
+
+#: src/skins/ui_main.c:1497
+#, c-format
+msgid "Seek to: %d:%-2.2d/%d:%-2.2d (%d%%)"
+msgstr ""
+
+#: src/skins/ui_main.c:1527
+#, fuzzy, c-format
+msgid "Volume: %d%%"
+msgstr "Lautstärke: (%)"
+
+#: src/skins/ui_main.c:1555
+#, c-format
+msgid "Balance: %d%% left"
+msgstr ""
+
+#: src/skins/ui_main.c:1559
+msgid "Balance: center"
+msgstr ""
+
+#: src/skins/ui_main.c:1563
+#, c-format
+msgid "Balance: %d%% right"
+msgstr ""
+
+#: src/skins/ui_main.c:1881
+#, fuzzy
+msgid "Options Menu"
+msgstr "Optionen"
+
+#: src/skins/ui_main.c:1885
+msgid "Disable 'Always On Top'"
+msgstr ""
+
+#: src/skins/ui_main.c:1887
+msgid "Enable 'Always On Top'"
+msgstr ""
+
+#: src/skins/ui_main.c:1890
+#, fuzzy
+msgid "File Info Box"
+msgstr "Dateiinformationen"
+
+#: src/skins/ui_main.c:1894
+msgid "Disable 'GUI Scaling'"
+msgstr ""
+
+#: src/skins/ui_main.c:1896
+#, fuzzy
+msgid "Enable 'GUI Scaling'"
+msgstr "Audio-Resampling aktivieren"
+
+#: src/skins/ui_main.c:1899
+msgid "Visualization Menu"
+msgstr ""
+
+#: src/skins/ui_main.c:1946
+msgid ""
+"<b><big>Couldn't open audio.</big></b>\n"
+"\n"
+"Please check that:\n"
+"1. You have the correct output plugin selected.\n"
+"2. No other programs is blocking the soundcard.\n"
+"3. Your soundcard is configured properly.\n"
+msgstr ""
+
+#: src/skins/ui_manager.c:53 src/skins/ui_manager.c:54
+msgid "Autoscroll Songname"
+msgstr ""
+
+#: src/skins/ui_manager.c:56 src/skins/ui_manager.c:57
+msgid "Stop after Current Song"
+msgstr ""
+
+#: src/skins/ui_manager.c:59 src/skins/ui_manager.c:60
+msgid "Peaks"
+msgstr ""
+
+#: src/skins/ui_manager.c:62 src/skins/ui_manager.c:63
+msgid "Repeat"
+msgstr ""
+
+#: src/skins/ui_manager.c:65 src/skins/ui_manager.c:66
+msgid "Shuffle"
+msgstr ""
+
+#: src/skins/ui_manager.c:68 src/skins/ui_manager.c:69
+msgid "No Playlist Advance"
+msgstr ""
+
+#: src/skins/ui_manager.c:71 src/skins/ui_manager.c:72
+msgid "Show Player"
+msgstr ""
+
+#: src/skins/ui_manager.c:74 src/skins/ui_manager.c:75
+msgid "Show Playlist Editor"
+msgstr ""
+
+#: src/skins/ui_manager.c:77 src/skins/ui_manager.c:78
+#, fuzzy
+msgid "Show Equalizer"
+msgstr "Fenster->Equalizer"
+
+#: src/skins/ui_manager.c:80 src/skins/ui_manager.c:81
+msgid "Always on Top"
+msgstr ""
+
+#: src/skins/ui_manager.c:83 src/skins/ui_manager.c:84
+msgid "Put on All Workspaces"
+msgstr ""
+
+#: src/skins/ui_manager.c:86 src/skins/ui_manager.c:87
+msgid "Roll up Player"
+msgstr ""
+
+#: src/skins/ui_manager.c:89 src/skins/ui_manager.c:90
+msgid "Roll up Playlist Editor"
+msgstr ""
+
+#: src/skins/ui_manager.c:92 src/skins/ui_manager.c:93
+msgid "Roll up Equalizer"
+msgstr ""
+
+#: src/skins/ui_manager.c:95 src/sndstretch/sndstretch_xmms.c:375
+msgid "Scale"
+msgstr "Skalierung"
+
+#: src/skins/ui_manager.c:96
+msgid "DoubleSize"
+msgstr ""
+
+#: src/skins/ui_manager.c:98 src/skins/ui_manager.c:99
+msgid "Easy Move"
+msgstr ""
+
+#: src/skins/ui_manager.c:107
+msgid "Analyzer"
+msgstr ""
+
+#: src/skins/ui_manager.c:108
+#, fuzzy
+msgid "Scope"
+msgstr "Stop"
+
+#: src/skins/ui_manager.c:109
+msgid "Voiceprint"
+msgstr ""
+
+#: src/skins/ui_manager.c:110
+msgid "Off"
+msgstr ""
+
+#: src/skins/ui_manager.c:114 src/skins/ui_manager.c:131
+#: src/skins/ui_manager.c:137
+#, fuzzy
+msgid "Normal"
+msgstr "Formal"
+
+#: src/skins/ui_manager.c:115 src/skins/ui_manager.c:132
+msgid "Fire"
+msgstr ""
+
+#: src/skins/ui_manager.c:116
+msgid "Vertical Lines"
+msgstr ""
+
+#: src/skins/ui_manager.c:120
+#, fuzzy
+msgid "Lines"
+msgstr "Minuten"
+
+#: src/skins/ui_manager.c:121
+#, fuzzy
+msgid "Bars"
+msgstr "Bass:"
+
+#: src/skins/ui_manager.c:125
+#, fuzzy
+msgid "Dot Scope"
+msgstr "Nicht loopen"
+
+#: src/skins/ui_manager.c:126
+msgid "Line Scope"
+msgstr ""
+
+#: src/skins/ui_manager.c:127
+msgid "Solid Scope"
+msgstr ""
+
+#: src/skins/ui_manager.c:133
+msgid "Ice"
+msgstr ""
+
+#: src/skins/ui_manager.c:138
+msgid "Smooth"
+msgstr ""
+
+#: src/skins/ui_manager.c:142
+msgid "Full (~50 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:143
+msgid "Half (~25 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:144
+msgid "Quarter (~13 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:145
+msgid "Eighth (~6 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:149 src/skins/ui_manager.c:157
+msgid "Slowest"
+msgstr ""
+
+#: src/skins/ui_manager.c:150 src/skins/ui_manager.c:158
+#, fuzzy
+msgid "Slow"
+msgstr "Schatten"
+
+#: src/skins/ui_manager.c:151 src/skins/ui_manager.c:159
+msgid "Medium"
+msgstr ""
+
+#: src/skins/ui_manager.c:152 src/skins/ui_manager.c:160
+#, fuzzy
+msgid "Fast"
+msgstr "Formal"
+
+#: src/skins/ui_manager.c:153 src/skins/ui_manager.c:161
+msgid "Fastest"
+msgstr ""
+
+#: src/skins/ui_manager.c:165
+msgid "Time Elapsed"
+msgstr ""
+
+#: src/skins/ui_manager.c:166
+msgid "Time Remaining"
+msgstr ""
+
+#: src/skins/ui_manager.c:180 src/skins/ui_manager.c:181
+#, fuzzy
+msgid "Pause"
+msgstr "Pause An"
+
+#: src/skins/ui_manager.c:186 src/skins/ui_manager.c:187
+#, fuzzy
+msgid "Previous"
+msgstr "Voriger Titel"
+
+#: src/skins/ui_manager.c:189 src/skins/ui_manager.c:190
+#, fuzzy
+msgid "Next"
+msgstr "Text"
+
+#: src/skins/ui_manager.c:195
+#, fuzzy
+msgid "Visualization"
+msgstr "Organisation:"
+
+#: src/skins/ui_manager.c:196
+msgid "Visualization Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:197
+msgid "Analyzer Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:198
+msgid "Scope Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:199
+msgid "Voiceprint Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:200
+msgid "WindowShade VU Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:201
+msgid "Refresh Rate"
+msgstr ""
+
+#: src/skins/ui_manager.c:202
+msgid "Analyzer Falloff"
+msgstr ""
+
+#: src/skins/ui_manager.c:203
+msgid "Peaks Falloff"
+msgstr ""
+
+#: src/skins/ui_manager.c:208
+#, fuzzy
+msgid "Playlist"
+msgstr "Wiedergabeliste wählen"
+
+#: src/skins/ui_manager.c:210 src/skins/ui_manager.c:211
+#, fuzzy
+msgid "New Playlist"
+msgstr "Wiedergabeliste wählen"
+
+#: src/skins/ui_manager.c:213 src/skins/ui_manager.c:214
+#, fuzzy
+msgid "Select Next Playlist"
+msgstr "Wiedergabeliste wählen"
+
+#: src/skins/ui_manager.c:216 src/skins/ui_manager.c:217
+#, fuzzy
+msgid "Select Previous Playlist"
+msgstr "Wiedergabeliste wählen"
+
+#: src/skins/ui_manager.c:219 src/skins/ui_manager.c:220
+#, fuzzy
+msgid "Delete Playlist"
+msgstr "Wiedergabeliste wählen"
+
+#: src/skins/ui_manager.c:222
+msgid "Load List"
+msgstr ""
+
+#: src/skins/ui_manager.c:223
+msgid "Loads a playlist file into the selected playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:225
+#, fuzzy
+msgid "Save List"
+msgstr "Speichern"
+
+#: src/skins/ui_manager.c:226
+#, fuzzy
+msgid "Saves the selected playlist."
+msgstr "Wiedergabeliste wählen"
+
+#: src/skins/ui_manager.c:228
+#, fuzzy
+msgid "Save Default List"
+msgstr "Standard (%s)"
+
+#: src/skins/ui_manager.c:229
+msgid "Saves the selected playlist to the default location."
+msgstr ""
+
+#: src/skins/ui_manager.c:232
+msgid "Refresh List"
+msgstr ""
+
+#: src/skins/ui_manager.c:233
+msgid "Refreshes metadata associated with a playlist entry."
+msgstr ""
+
+#: src/skins/ui_manager.c:236
+msgid "List Manager"
+msgstr ""
+
+#: src/skins/ui_manager.c:237
+msgid "Opens the playlist manager."
+msgstr ""
+
+#: src/skins/ui_manager.c:243
+msgid "View"
+msgstr ""
+
+#: src/skins/ui_manager.c:247
+msgid "Add Internet Address..."
+msgstr ""
+
+#: src/skins/ui_manager.c:248
+msgid "Adds a remote track to the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:251
+msgid "Add Files..."
+msgstr ""
+
+#: src/skins/ui_manager.c:252
+msgid "Adds files to the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:257
+msgid "Search and Select"
+msgstr ""
+
+#: src/skins/ui_manager.c:258
+msgid ""
+"Searches the playlist and selects playlist entries based on specific "
+"criteria."
+msgstr ""
+
+#: src/skins/ui_manager.c:261
+#, fuzzy
+msgid "Invert Selection"
+msgstr "Format-Auswahl"
+
+#: src/skins/ui_manager.c:262
+msgid "Inverts the selected and unselected entries."
+msgstr ""
+
+#: src/skins/ui_manager.c:265
+#, fuzzy
+msgid "Select All"
+msgstr "Wiedergabeliste wählen"
+
+#: src/skins/ui_manager.c:266
+msgid "Selects all of the playlist entries."
+msgstr ""
+
+#: src/skins/ui_manager.c:269
+#, fuzzy
+msgid "Select None"
+msgstr "Skin-Datei auswählen"
+
+#: src/skins/ui_manager.c:270
+msgid "Deselects all of the playlist entries."
+msgstr ""
+
+#: src/skins/ui_manager.c:275
+#, fuzzy
+msgid "Remove All"
+msgstr "Entfernen"
+
+#: src/skins/ui_manager.c:276
+msgid "Removes all entries from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:279
+msgid "Clear Queue"
+msgstr ""
+
+#: src/skins/ui_manager.c:280
+msgid "Clears the queue associated with this playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:283
+msgid "Remove Unavailable Files"
+msgstr ""
+
+#: src/skins/ui_manager.c:284
+msgid "Removes unavailable files from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:287
+msgid "Remove Duplicates"
+msgstr ""
+
+#: src/skins/ui_manager.c:289 src/skins/ui_manager.c:321
+#: src/skins/ui_manager.c:351
+#, fuzzy
+msgid "By Title"
+msgstr "Titel"
+
+#: src/skins/ui_manager.c:290
+msgid "Removes duplicate entries from the playlist by title."
+msgstr ""
+
+#: src/skins/ui_manager.c:293 src/skins/ui_manager.c:329
+#: src/skins/ui_manager.c:359
+#, fuzzy
+msgid "By Filename"
+msgstr "Dateiname"
+
+#: src/skins/ui_manager.c:294
+msgid "Removes duplicate entries from the playlist by filename."
+msgstr ""
+
+#: src/skins/ui_manager.c:297 src/skins/ui_manager.c:333
+#: src/skins/ui_manager.c:363
+#, fuzzy
+msgid "By Path + Filename"
+msgstr "Dateiname"
+
+#: src/skins/ui_manager.c:298
+msgid "Removes duplicate entries from the playlist by their full path."
+msgstr ""
+
+#: src/skins/ui_manager.c:301
+msgid "Remove Unselected"
+msgstr ""
+
+#: src/skins/ui_manager.c:302
+msgid "Remove unselected entries from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:305
+msgid "Remove Selected"
+msgstr ""
+
+#: src/skins/ui_manager.c:306
+msgid "Remove selected entries from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:311
+msgid "Randomize List"
+msgstr ""
+
+#: src/skins/ui_manager.c:312
+msgid "Randomizes the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:315
+msgid "Reverse List"
+msgstr ""
+
+#: src/skins/ui_manager.c:316
+msgid "Reverses the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:319
+#, fuzzy
+msgid "Sort List"
+msgstr "Künstler:"
+
+#: src/skins/ui_manager.c:322 src/skins/ui_manager.c:352
+msgid "Sorts the list by title."
+msgstr ""
+
+#: src/skins/ui_manager.c:325 src/skins/ui_manager.c:355
+#, fuzzy
+msgid "By Artist"
+msgstr "Künstler:"
+
+#: src/skins/ui_manager.c:326 src/skins/ui_manager.c:356
+msgid "Sorts the list by artist."
+msgstr ""
+
+#: src/skins/ui_manager.c:330 src/skins/ui_manager.c:360
+msgid "Sorts the list by filename."
+msgstr ""
+
+#: src/skins/ui_manager.c:334 src/skins/ui_manager.c:364
+msgid "Sorts the list by full pathname."
+msgstr ""
+
+#: src/skins/ui_manager.c:337 src/skins/ui_manager.c:367
+#, fuzzy
+msgid "By Date"
+msgstr "Datum:"
+
+#: src/skins/ui_manager.c:338 src/skins/ui_manager.c:368
+msgid "Sorts the list by modification time."
+msgstr ""
+
+#: src/skins/ui_manager.c:341 src/skins/ui_manager.c:371
+#, fuzzy
+msgid "By Track Number"
+msgstr "Titelnummer:"
+
+#: src/skins/ui_manager.c:342 src/skins/ui_manager.c:372
+msgid "Sorts the list by track number."
+msgstr ""
+
+#: src/skins/ui_manager.c:345 src/skins/ui_manager.c:375
+#, fuzzy
+msgid "By Playlist Entry"
+msgstr "Schnelle Wiedergabenliste-Information"
+
+#: src/skins/ui_manager.c:346 src/skins/ui_manager.c:376
+msgid "Sorts the list by playlist entry."
+msgstr ""
+
+#: src/skins/ui_manager.c:349
+#, fuzzy
+msgid "Sort Selected"
+msgstr "Format-Auswahl"
+
+#: src/skins/ui_manager.c:385
+#, fuzzy
+msgid "File"
+msgstr "Filter"
+
+#: src/skins/ui_manager.c:388
+msgid "Plugin Services"
+msgstr ""
+
+#: src/skins/ui_manager.c:390 src/skins/ui_manager.c:393
+#, fuzzy
+msgid "View Track Details"
+msgstr "Track Gain benutzen"
+
+#: src/skins/ui_manager.c:391 src/skins/ui_manager.c:394
+msgid "View track details"
+msgstr ""
+
+#: src/skins/ui_manager.c:396 src/skins/ui_manager.c:397
+#, fuzzy
+msgid "About Audacious"
+msgstr "Über das LIRC-Audacious-Plugin"
+
+#: src/skins/ui_manager.c:399
+#, fuzzy
+msgid "Play File"
+msgstr "Spielzeit:"
+
+#: src/skins/ui_manager.c:400
+#, fuzzy
+msgid "Load and play a file"
+msgstr "SF beim Player-Start laden"
+
+#: src/skins/ui_manager.c:402
+#, fuzzy
+msgid "Play Location"
+msgstr "SIDPlay 2-Optionen:"
+
+#: src/skins/ui_manager.c:403
+#, fuzzy
+msgid "Play media from the selected location"
+msgstr "Gewählte Aktion bestätigen"
+
+#: src/skins/ui_manager.c:405
+msgid "Plugin services"
+msgstr ""
+
+#: src/skins/ui_manager.c:407
+msgid "Preferences"
+msgstr ""
+
+#: src/skins/ui_manager.c:408
+msgid "Open preferences window"
+msgstr ""
+
+#: src/skins/ui_manager.c:410
+#, fuzzy
+msgid "_Quit"
+msgstr "Qualität"
+
+#: src/skins/ui_manager.c:411
+#, fuzzy
+msgid "Quit Audacious"
+msgstr ""
+"\n"
+"Audacious-OSD "
+
+#: src/skins/ui_manager.c:413 src/skins/ui_manager.c:414
+msgid "Set A-B"
+msgstr ""
+
+#: src/skins/ui_manager.c:416 src/skins/ui_manager.c:417
+msgid "Clear A-B"
+msgstr ""
+
+#: src/skins/ui_manager.c:419 src/skins/ui_manager.c:420
+msgid "Jump to Playlist Start"
+msgstr ""
+
+#: src/skins/ui_manager.c:428
+msgid "Queue Toggle"
+msgstr ""
+
+#: src/skins/ui_manager.c:429
+msgid "Enables/disables the entry in the playlist's queue."
+msgstr ""
+
+#: src/skins/ui_manager.c:436
+msgid "Load"
+msgstr ""
+
+#: src/skins/ui_manager.c:441 src/skins/ui_manager.c:462
+#: src/skins/ui_manager.c:477
+#, fuzzy
+msgid "Preset"
+msgstr "Port"
+
+#: src/skins/ui_manager.c:442
+msgid "Load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:444 src/skins/ui_manager.c:465
+#: src/skins/ui_manager.c:480
+msgid "Auto-load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:445
+msgid "Load auto-load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:448
+#, fuzzy
+msgid "Load default preset into equalizer"
+msgstr "Standard-Werte laden"
+
+#: src/skins/ui_manager.c:450
+#, fuzzy
+msgid "Zero"
+msgstr "Stereo"
+
+#: src/skins/ui_manager.c:451
+msgid "Set equalizer preset levels to zero"
+msgstr ""
+
+#: src/skins/ui_manager.c:453
+#, fuzzy
+msgid "From file"
+msgstr "Profil: %s"
+
+#: src/skins/ui_manager.c:454
+#, fuzzy
+msgid "Load preset from file"
+msgstr "Kann nicht von Datei lesen\n"
+
+#: src/skins/ui_manager.c:456
+msgid "From WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:457
+msgid "Load preset from WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:459
+msgid "WinAMP Presets"
+msgstr ""
+
+#: src/skins/ui_manager.c:460
+msgid "Import WinAMP presets"
+msgstr ""
+
+#: src/skins/ui_manager.c:463
+msgid "Save preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:466
+msgid "Save auto-load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:469
+#, fuzzy
+msgid "Save default preset"
+msgstr "Standard-Werte laden"
+
+#: src/skins/ui_manager.c:471
+#, fuzzy
+msgid "To file"
+msgstr "STIL-Datei:"
+
+#: src/skins/ui_manager.c:472
+msgid "Save preset to file"
+msgstr ""
+
+#: src/skins/ui_manager.c:474
+msgid "To WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:475
+msgid "Save preset to WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:478
+#, fuzzy
+msgid "Delete preset"
+msgstr "Löschen"
+
+#: src/skins/ui_manager.c:481
+msgid "Delete auto-load preset"
+msgstr ""
+
+#: src/skins/ui_playlist.c:454
+msgid "Search entries in active playlist"
+msgstr ""
+
+#: src/skins/ui_playlist.c:462
+msgid ""
+"Select entries in playlist by filling one or more fields. Fields use regular "
+"expressions syntax, case-insensitive. If you don't know how regular "
+"expressions work, simply insert a literal portion of what you're searching "
+"for."
+msgstr ""
+
+#: src/skins/ui_playlist.c:477
+#, fuzzy
+msgid "Album: "
+msgstr "Album:"
+
+#: src/skins/ui_playlist.c:484
+#, fuzzy
+msgid "Artist: "
+msgstr "Künstler:"
+
+#: src/skins/ui_playlist.c:491
+#, fuzzy
+msgid "Filename: "
+msgstr "Dateiname:"
+
+#: src/skins/ui_playlist.c:499
+msgid "Clear previous selection before searching"
+msgstr ""
+
+#: src/skins/ui_playlist.c:502
+msgid "Automatically toggle queue for matching entries"
+msgstr ""
+
+#: src/skins/ui_playlist.c:505
+msgid "Create a new playlist with matching entries"
+msgstr ""
+
+#: src/skins/ui_playlist.c:724
+#, c-format
+msgid "Error writing playlist \"%s\": %s"
+msgstr ""
+
+#: src/skins/ui_playlist.c:746
+#, c-format
+msgid "%s already exist. Continue?"
+msgstr ""
+
+#: src/skins/ui_playlist.c:761
+#, c-format
+msgid ""
+"<b><big>Unable to save playlist.</big></b>\n"
+"\n"
+"Unknown file type for '%s'.\n"
+msgstr ""
+
+#: src/skins/ui_playlist.c:887
+#, fuzzy
+msgid "Save as Static Playlist"
+msgstr "Wiedergabeliste wählen"
+
+#: src/skins/ui_playlist.c:894
+msgid "Use Relative Path"
+msgstr ""
+
+#: src/skins/ui_playlist.c:916
+#, fuzzy
+msgid "Load Playlist"
+msgstr "Schnelle Wiedergabenliste-Information"
+
+#: src/skins/ui_playlist.c:929
+#, fuzzy
+msgid "Save Playlist"
+msgstr "Wiedergabeliste wählen"
+
+#: src/skins/ui_playlist.c:1497
+#, fuzzy
+msgid "Audacious Playlist Editor"
+msgstr "Schnelle Wiedergabenliste-Information"
+
+#: src/skins/ui_skinned_equalizer_slider.c:377
+msgid "PREAMP"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:377
+msgid "60HZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:377
+msgid "170HZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:378
+msgid "310HZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:378
+msgid "600HZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:378
+msgid "1KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:379
+msgid "3KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:379
+msgid "6KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:379
+msgid "12KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:380
+msgid "14KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:380
+msgid "16KHZ"
+msgstr ""
+
+#: src/skins/ui_skinselector.c:178
+msgid "Archived Winamp 2.x skin"
+msgstr ""
+
+#: src/skins/ui_skinselector.c:183
+msgid "Unarchived Winamp 2.x skin"
+msgstr ""
+
+#: src/skins/util.c:1132
+#, c-format
+msgid "Could not create directory (%s): %s\n"
+msgstr ""
+
+#: src/sndfile/plugin.c:554
 msgid "About sndfile plugin"
 msgstr "Über das sndfile-Plugin"
 
-#: src/sndfile/plugin.c:549
+#: src/sndfile/plugin.c:555
 msgid ""
 "Adapted for Audacious usage by Tony Vroon <chainsaw@gentoo.org>\n"
 "from the xmms_sndfile plugin which is:\n"
@@ -4287,63 +5444,59 @@
 "51 Franklin Street, Fifth Floor, \n"
 "Boston, MA  02110-1301  USA"
 
-#: src/sndstretch/sndstretch_xmms.c:159
+#: src/sndstretch/sndstretch_xmms.c:158
 msgid "About SndStretch"
 msgstr "Über SndStretch"
 
-#: src/sndstretch/sndstretch_xmms.c:319
+#: src/sndstretch/sndstretch_xmms.c:318
 msgid "Volume corr."
 msgstr "Lautstärkekorrektur"
 
-#: src/sndstretch/sndstretch_xmms.c:320
+#: src/sndstretch/sndstretch_xmms.c:319
 msgid "Short Overlap"
 msgstr "Kurzes Überlappen"
 
+#: src/sndstretch/sndstretch_xmms.c:373
+msgid "Speed"
+msgstr "Geschwindigkeit"
+
 #: src/sndstretch/sndstretch_xmms.c:374
-msgid "Speed"
-msgstr "Geschwindigkeit"
-
-#: src/sndstretch/sndstretch_xmms.c:375
 msgid "Pitch"
 msgstr "Tonhöhe"
 
-#: src/sndstretch/sndstretch_xmms.c:376
-msgid "Scale"
-msgstr "Skalierung"
-
-#: src/sndstretch/sndstretch_xmms.c:396
+#: src/sndstretch/sndstretch_xmms.c:395
 msgid "SndStretch - Configuration"
 msgstr "SndStretch - Konfiguration"
 
-#: src/song_change/song_change.c:312
+#: src/song_change/song_change.c:310
 msgid "Commands"
 msgstr "Befehle"
 
-#: src/song_change/song_change.c:319
+#: src/song_change/song_change.c:317
 msgid "Command to run when Audacious starts a new song."
 msgstr "Auszuführender Befehl, wenn Audacious ein neues Lied startet"
 
-#: src/song_change/song_change.c:328 src/song_change/song_change.c:350
-#: src/song_change/song_change.c:371 src/song_change/song_change.c:392
+#: src/song_change/song_change.c:326 src/song_change/song_change.c:348
+#: src/song_change/song_change.c:369 src/song_change/song_change.c:390
 msgid "Command:"
 msgstr "Befehl:"
 
-#: src/song_change/song_change.c:342
+#: src/song_change/song_change.c:340
 msgid "Command to run toward the end of a song."
 msgstr "Auszuführender Befehl am Ende eines Lieds"
 
-#: src/song_change/song_change.c:362
+#: src/song_change/song_change.c:360
 msgid "Command to run when Audacious reaches the end of the playlist."
 msgstr "Auszuführender Befehl am Ende der Wiedergabeliste"
 
-#: src/song_change/song_change.c:383
+#: src/song_change/song_change.c:381
 msgid ""
 "Command to run when title changes for a song (i.e. network streams titles)."
 msgstr ""
 "Auszuführender Befehl, wenn sich der Titel eines Lieds ändert (z.B. bei "
 "Netzwerk-Streams)"
 
-#: src/song_change/song_change.c:404
+#: src/song_change/song_change.c:402
 #, c-format
 msgid ""
 "You can use the following format strings which\n"
@@ -4373,13 +5526,13 @@
 "%%t: Wiedergabelisten-Position (%%02d)\n"
 "%%p: Ist die Wiedergabe momentan aktiv? (1 oder 0)"
 
-#: src/song_change/song_change.c:429
+#: src/song_change/song_change.c:427
 msgid ""
 "<span size='small'>Parameters passed to the shell should be encapsulated in "
 "quotes. Doing otherwise is a security risk.</span>"
 msgstr ""
 
-#: src/spectrum/spectrum.c:90
+#: src/spectrum/spectrum.c:89
 msgid "Spectrum Analyzer"
 msgstr ""
 
@@ -4391,11 +5544,11 @@
 msgid "The orientation of the tray"
 msgstr "Die Ausrichtung des Trays"
 
-#: src/statusicon/si_ui.c:622
+#: src/statusicon/si_ui.c:620
 msgid "About Status Icon Plugin"
 msgstr "About Status-Icon-Plugin"
 
-#: src/statusicon/si_ui.c:624
+#: src/statusicon/si_ui.c:622
 msgid ""
 "\n"
 "written by Giacomo Lozito < james@develia.org >\n"
@@ -4409,39 +5562,39 @@
 "Dieses Plugin stellt ein Status-Icon bereit, im\n"
 "System-Tray des Fenstermanagers.\n"
 
-#: src/statusicon/si_ui.c:696
+#: src/statusicon/si_ui.c:694
 msgid "Status Icon Plugin - Preferences"
 msgstr "Status-Icon-Plugin - Einstellungen"
 
-#: src/statusicon/si_ui.c:707
+#: src/statusicon/si_ui.c:705
 msgid "Right-Click Menu"
 msgstr "Rechtsklick-Menü"
 
-#: src/statusicon/si_ui.c:712
+#: src/statusicon/si_ui.c:710
 msgid "Audacious standard menu"
 msgstr "Audacious-Standard-Menü"
 
-#: src/statusicon/si_ui.c:717
+#: src/statusicon/si_ui.c:715
 msgid "Small playback menu #1"
 msgstr "Kleines Wiedergabe-Menü #1"
 
-#: src/statusicon/si_ui.c:722
+#: src/statusicon/si_ui.c:720
 msgid "Small playback menu #2"
 msgstr "Kleines Wiedergabe-Menü #2"
 
-#: src/statusicon/si_ui.c:745
+#: src/statusicon/si_ui.c:743
 msgid "Mouse Scroll Action"
 msgstr "Maus-Scroll-Aktion"
 
-#: src/statusicon/si_ui.c:750
+#: src/statusicon/si_ui.c:748
 msgid "Change volume"
 msgstr "Lautstärke ändern"
 
-#: src/statusicon/si_ui.c:755
+#: src/statusicon/si_ui.c:753
 msgid "Change playing song"
 msgstr "Aktiven Titel ändern"
 
-#: src/stereo_plugin/stereo.c:26
+#: src/stereo_plugin/stereo.c:25
 msgid ""
 "Extra Stereo Plugin\n"
 "\n"
@@ -4451,23 +5604,19 @@
 "\n"
 "Von Johan Levin 1999."
 
-#: src/stereo_plugin/stereo.c:52
+#: src/stereo_plugin/stereo.c:51
 msgid "About Extra Stereo Plugin"
 msgstr "Über das Extra Stereo Plugin"
 
-#: src/stereo_plugin/stereo.c:93
+#: src/stereo_plugin/stereo.c:92
 msgid "Configure Extra Stereo"
 msgstr "Extra Stereo konfigurieren"
 
-#: src/stereo_plugin/stereo.c:95
-msgid "Effect intensity:"
-msgstr "Effektstärke"
+#: src/sun/about.c:33
+msgid "About the Sun Driver"
+msgstr "Über den Sun-Treiber"
 
 #: src/sun/about.c:34
-msgid "About the Sun Driver"
-msgstr "Über den Sun-Treiber"
-
-#: src/sun/about.c:35
 msgid ""
 "XMMS BSD Sun Driver\n"
 "\n"
@@ -4479,19 +5628,19 @@
 "Copyright (c) 2001 CubeSoft Communications, Inc.\n"
 "Betreuer: <vedge at csoft.org>.\n"
 
-#: src/sun/configure.c:201
+#: src/sun/configure.c:199
 msgid "Audio control device:"
 msgstr "Audio-Kontroll-Gerät:"
 
-#: src/sun/configure.c:350
+#: src/sun/configure.c:348
 msgid "Volume controls device:"
 msgstr "Lautstärke-Kontroll-Gerät:"
 
-#: src/sun/configure.c:363
+#: src/sun/configure.c:361
 msgid "XMMS uses mixer exclusively."
 msgstr "XMMS benützt den Mixer exklusiv."
 
-#: src/sun/configure.c:538
+#: src/sun/configure.c:536
 msgid "Sun driver configuration"
 msgstr "Sun-Treiber-Konfiguration"
 
@@ -4519,27 +5668,27 @@
 msgid "TiMidity Configuration File"
 msgstr ""
 
-#: src/timidity/xmms-timidity.c:118
+#: src/timidity/xmms-timidity.c:115
 msgid ""
 "TiMidity Plugin\n"
 "http://libtimidity.sourceforge.net\n"
 "by Konstantin Korikov"
 msgstr ""
 
-#: src/timidity/xmms-timidity.c:119
+#: src/timidity/xmms-timidity.c:116
 #, c-format
 msgid "TiMidity Plugin %s"
 msgstr ""
 
-#: src/timidity/xmms-timidity.c:336
+#: src/timidity/xmms-timidity.c:333
 msgid "Couldn't load MIDI file"
 msgstr ""
 
-#: src/tonegen/tonegen.c:56
+#: src/tonegen/tonegen.c:55
 msgid "About Tone Generator"
 msgstr "Über Ton-Generator"
 
-#: src/tonegen/tonegen.c:58
+#: src/tonegen/tonegen.c:57
 msgid ""
 "Sinus tone generator by Haavard Kvaalen <havardk@xmms.org>\n"
 "Modified by Daniel J. Peng <danielpeng@bigfoot.com>\n"
@@ -4554,52 +5703,52 @@
 "frequency3;...\n"
 "z.B. tone://2000;2005 für einen Ton mit 2000Hz und einen mit 2005Hz"
 
-#: src/tonegen/tonegen.c:167
+#: src/tonegen/tonegen.c:166
 #, c-format
 msgid "%s %.1f Hz"
 msgstr "%s %.1f Hz"
 
-#: src/tonegen/tonegen.c:167
+#: src/tonegen/tonegen.c:166
 msgid "Tone Generator: "
 msgstr "Ton-Generator: "
 
-#: src/tta/libtta.c:130
+#: src/tta/libtta.c:127
 msgid "Can't open file\n"
 msgstr "Kann Datei nicht öffnen\n"
 
+#: src/tta/libtta.c:130
+msgid "Not supported file format\n"
+msgstr "Kein unterstütztes Dateiformat\n"
+
 #: src/tta/libtta.c:133
-msgid "Not supported file format\n"
-msgstr "Kein unterstütztes Dateiformat\n"
+msgid "File is corrupted\n"
+msgstr "Datei ist beschädigt\n"
 
 #: src/tta/libtta.c:136
-msgid "File is corrupted\n"
-msgstr "Datei ist beschädigt\n"
+msgid "Can't read from file\n"
+msgstr "Kann nicht von Datei lesen\n"
 
 #: src/tta/libtta.c:139
-msgid "Can't read from file\n"
-msgstr "Kann nicht von Datei lesen\n"
+msgid "Insufficient memory available\n"
+msgstr "Zu wenig Speicher verfügbar\n"
 
 #: src/tta/libtta.c:142
-msgid "Insufficient memory available\n"
-msgstr "Zu wenig Speicher verfügbar\n"
+msgid "Output plugin error\n"
+msgstr "Ausgabe-Plugin-Fehler\n"
 
 #: src/tta/libtta.c:145
-msgid "Output plugin error\n"
-msgstr "Ausgabe-Plugin-Fehler\n"
-
-#: src/tta/libtta.c:148
 msgid "Unknown error\n"
 msgstr "Unbekannter Fehler\n"
 
-#: src/tta/libtta.c:152
+#: src/tta/libtta.c:149
 msgid "TTA Decoder Error"
 msgstr "TTA-Dekoder-Fehler"
 
-#: src/tta/libtta.c:261
+#: src/tta/libtta.c:258
 msgid "TTA input plugin "
 msgstr "TTA-Eingabe-Plugin "
 
-#: src/tta/libtta.c:262
+#: src/tta/libtta.c:259
 msgid ""
 " for BMP\n"
 "Copyright (c) 2004 True Audio Software\n"
@@ -4607,35 +5756,35 @@
 " für BMP\n"
 "Copyright (c) 2004 True Audio Software\n"
 
-#: src/tta/libtta.c:265
+#: src/tta/libtta.c:262
 msgid "About True Audio Plugin"
 msgstr "Über True-Audio-Plugin"
 
-#: src/tta/libtta.c:316
+#: src/tta/libtta.c:313
 msgid "ID3 Tag:"
 msgstr "ID3-Tag:"
 
-#: src/tta/libtta.c:378 src/wavpack/ui.cxx:234
+#: src/tta/libtta.c:375 src/wavpack/ui.cxx:232
 msgid "Track number:"
 msgstr "Titelnummer:"
 
-#: src/vorbis/configure.c:84
+#: src/vorbis/configure.c:82
 msgid "Ogg Vorbis Audio Plugin Configuration"
 msgstr "Ogg-Vorbis-Audio-Plugin-Konfiguration"
 
-#: src/vorbis/configure.c:94
+#: src/vorbis/configure.c:92
 msgid "Ogg Vorbis Tags:"
 msgstr "Ogg-Vorbis-Tags:"
 
-#: src/vorbis/configure.c:115
+#: src/vorbis/configure.c:113
 msgid "Title format:"
 msgstr "Titelformat:"
 
-#: src/vorbis/vorbis.c:681
+#: src/vorbis/vorbis.c:677
 msgid "About Ogg Vorbis Audio Plugin"
 msgstr "Über Ogg-Vorbis-Audio-Plugin"
 
-#: src/vorbis/vorbis.c:687
+#: src/vorbis/vorbis.c:683
 msgid ""
 "Ogg Vorbis Plugin by the Xiph.org Foundation\n"
 "\n"
@@ -4669,11 +5818,11 @@
 "\n"
 "Xiph.org Foundation, http://www.xiph.org/\n"
 
-#: src/vtx/about.c:23
+#: src/vtx/about.c:17
 msgid "About Vortex Player"
 msgstr "Über den Vortex-Player"
 
-#: src/vtx/about.c:25
+#: src/vtx/about.c:19
 msgid ""
 "Vortex file format player by Sashnov Alexander <sashnov@ngs.ru>\n"
 "Founded on original source in_vtx.dll by Roman Sherbakov <v_soft@microfor."
@@ -4694,12 +5843,12 @@
 "\n"
 "Audacious-Implementierung von Pavel Vymetalek <pvymetalek@seznam.cz>"
 
-#: src/wavpack/ui.cxx:52
+#: src/wavpack/ui.cxx:50
 #, c-format
 msgid "Wavpack Decoder Plugin %s"
 msgstr "Wavpack-Dekoder-Plugin %s"
 
-#: src/wavpack/ui.cxx:53
+#: src/wavpack/ui.cxx:51
 msgid ""
 "Copyright (c) 2006 William Pitcock <nenolod -at- nenolod.net>\n"
 "\n"
@@ -4711,90 +5860,90 @@
 "Ein Teil des Plugin-Codes war von Miles Egan\n"
 "Die Wavpack-Seite befindet sich auf http://www.wavpack.com/\n"
 
-#: src/wavpack/ui.cxx:165
+#: src/wavpack/ui.cxx:163
 msgid "Ape2 Tag"
 msgstr "Ape2-Tag"
 
-#: src/wavpack/ui.cxx:288
+#: src/wavpack/ui.cxx:286
 msgid "Wavpack Info:"
 msgstr "Wavpack-Information:"
 
+#: src/wavpack/ui.cxx:379
+#, c-format
+msgid "version %d"
+msgstr "Version %d"
+
+#: src/wavpack/ui.cxx:380
+#, c-format
+msgid "average bitrate: %6.1f kbps"
+msgstr "durchschnittliche Bitrate: %6.1f kbps"
+
 #: src/wavpack/ui.cxx:381
 #, c-format
-msgid "version %d"
-msgstr "Version %d"
+msgid "samplerate: %d Hz"
+msgstr "Abtastfrequenz: %d Hz"
 
 #: src/wavpack/ui.cxx:382
 #, c-format
-msgid "average bitrate: %6.1f kbps"
-msgstr "durchschnittliche Bitrate: %6.1f kbps"
+msgid "bits per sample: %d"
+msgstr "Bits pro Sample: %d"
 
 #: src/wavpack/ui.cxx:383
 #, c-format
-msgid "samplerate: %d Hz"
-msgstr "Abtastfrequenz: %d Hz"
+msgid "channels: %d"
+msgstr "Kanäle: %d"
 
 #: src/wavpack/ui.cxx:384
 #, c-format
-msgid "bits per sample: %d"
-msgstr "Bits pro Sample: %d"
+msgid "length: %d:%.2d"
+msgstr "Länge: %d:%.2d"
 
 #: src/wavpack/ui.cxx:385
 #, c-format
-msgid "channels: %d"
-msgstr "Kanäle: %d"
-
-#: src/wavpack/ui.cxx:386
-#, c-format
-msgid "length: %d:%.2d"
-msgstr "Länge: %d:%.2d"
-
-#: src/wavpack/ui.cxx:387
-#, c-format
 msgid "file size: %d Bytes"
 msgstr "Dateigrösse: %d Byte"
 
-#: src/wavpack/ui.cxx:394
+#: src/wavpack/ui.cxx:392
 msgid "Title Peak: ?"
 msgstr "Titel-Höchstwert: ?"
 
-#: src/wavpack/ui.cxx:395
+#: src/wavpack/ui.cxx:393
 msgid "Album Peak: ?"
 msgstr "Album-Höchstwert: ?"
 
-#: src/wavpack/ui.cxx:396
+#: src/wavpack/ui.cxx:394
 msgid "Title Gain: ?"
 msgstr "Titel-Verstärkung: ?"
 
-#: src/wavpack/ui.cxx:397
+#: src/wavpack/ui.cxx:395
 msgid "Album Gain: ?"
 msgstr "Album-Verstärkung: ?"
 
-#: src/wavpack/ui.cxx:471
+#: src/wavpack/ui.cxx:469
 msgid "Wavpack Configuration"
 msgstr "Wavpack-Konfiguration"
 
-#: src/wavpack/ui.cxx:484
+#: src/wavpack/ui.cxx:482
 msgid "General Plugin Settings:"
 msgstr "Allgemeine Plugin-Einstellungen:"
 
-#: src/wavpack/ui.cxx:502
+#: src/wavpack/ui.cxx:500
 msgid "ReplayGain Settings:"
 msgstr "ReplayGain-Einstellungen:"
 
-#: src/wavpack/ui.cxx:520
+#: src/wavpack/ui.cxx:518
 msgid "ReplayGain Type:"
 msgstr "ReplayGain-Typ:"
 
-#: src/wavpack/ui.cxx:531
+#: src/wavpack/ui.cxx:529
 msgid "use Track Gain/Peak"
 msgstr "Benutze Track Gain/Peak"
 
-#: src/wavpack/ui.cxx:539
+#: src/wavpack/ui.cxx:537
 msgid "use Album Gain/Peak"
 msgstr "Benutze Album Gain/Peak"
 
-#: src/wma/wma.c:123
+#: src/wma/wma.c:120
 msgid ""
 "Adapted for use in Audacious by Tony Vroon (chainsaw@gentoo.org) from\n"
 "the BEEP-WMA plugin which is Copyright (C) 2004,2005 Mokrushin I.V. aka "
@@ -4878,9 +6027,6 @@
 #~ msgid "Play/Pause:"
 #~ msgstr "Wiedergabe starten/pausieren"
 
-#~ msgid "File Info"
-#~ msgstr "Dateiinformationen"
-
 #~ msgid "Couldn't open file!"
 #~ msgstr "Konnte Datei nicht öffnen!"
 
@@ -4927,9 +6073,6 @@
 #~ msgid "Failed to modify tag"
 #~ msgstr "Verändern des Tags fehlgeschlagen"
 
-#~ msgid "Date:"
-#~ msgstr "Datum:"
-
 #~ msgid "Description:"
 #~ msgstr "Beschreibung:"
 
@@ -4939,9 +6082,6 @@
 #~ msgid "ISRC number:"
 #~ msgstr "ISRC-Nummer:"
 
-#~ msgid "Organization:"
-#~ msgstr "Organisation:"
-
 #~ msgid " Ogg Vorbis Info "
 #~ msgstr " Ogg-Vorbis-Informationen "
 
--- a/po/et.po	Thu Jul 03 17:23:34 2008 +0300
+++ b/po/et.po	Thu Jul 03 17:37:11 2008 +0300
@@ -7,8 +7,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: audacious-plugins 1.4.2\n"
-"Report-Msgid-Bugs-To: http://bugs.audacious-media-player.org\n"
-"POT-Creation-Date: 2008-03-30 17:25+0200\n"
+"Report-Msgid-Bugs-To: http://bugzilla.atheme.org/\n"
+"POT-Creation-Date: 2008-06-21 08:27+0300\n"
 "PO-Revision-Date: 2007-12-30 17:49+0200\n"
 "Last-Translator: Ivar Smolin <okul@linux.ee>\n"
 "Language-Team: Estonian <et@li.org>\n"
@@ -16,49 +16,49 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: src/aac/libmp4.c:286
+#: src/aac/libmp4.c:283
 msgid "Using libfaad2-"
 msgstr ""
 
-#: src/aac/libmp4.c:287
+#: src/aac/libmp4.c:284
 msgid ""
 " for decoding.\n"
 "FAAD2 AAC/HE-AAC/HE-AACv2/DRM decoder (c) Nero AG, www.nero.com\n"
 "Copyright (c) 2005-2006 Audacious team"
 msgstr ""
 
-#: src/aac/libmp4.c:291
+#: src/aac/libmp4.c:288
 msgid "About MP4 AAC player plugin"
 msgstr "MP4 AAC esituspluginast lähemalt"
 
-#: src/aac/libmp4.c:293 src/adplug/adplug-xmms.cc:182
-#: src/adplug/adplug-xmms.cc:265 src/adplug/adplug-xmms.cc:526
-#: src/alac/plugin.c:77 src/arts/arts.c:26 src/arts/configure.c:90
-#: src/audiocompress/audacious-glue.c:102
-#: src/audiocompress/audacious-glue.c:552 src/cdaudio-ng/configure.c:228
-#: src/console/Audacious_Driver.cxx:449 src/demac/plugin.c:393
-#: src/echo_plugin/gui.c:26 src/echo_plugin/gui.c:137 src/esd/about.c:49
-#: src/filewriter/filewriter.c:183 src/jack/configure.c:141
-#: src/jack/jack.c:456 src/madplug/plugin.c:542 src/madplug/plugin.c:566
-#: src/metronom/metronom.c:88 src/modplug/gui/main.cxx:49
-#: src/musepack/libmpc.cxx:232 src/null/null.c:67 src/null/null.c:110
-#: src/OSS4/about.c:59 src/OSS/about.c:54 src/paranormal-ng/plugin.c:283
-#: src/paranormal/plugin.c:291 src/scrobbler/gtkstuff.c:25
-#: src/sndfile/plugin.c:565 src/statusicon/si_ui.c:628
-#: src/stereo_plugin/stereo.c:53 src/stereo_plugin/stereo.c:116
-#: src/sun/about.c:38 src/sun/configure.c:559 src/timidity/interface.c:222
-#: src/timidity/xmms-timidity.c:120 src/tonegen/tonegen.c:62
-#: src/tta/libtta.c:153 src/tta/libtta.c:267 src/tta/libtta.c:402
-#: src/vorbis/vorbis.c:700 src/vtx/about.c:32 src/vtx/info.c:43
-#: src/wavpack/ui.cxx:56 src/wavpack/ui.cxx:556
+#: src/aac/libmp4.c:290 src/adplug/adplug-xmms.cc:180
+#: src/adplug/adplug-xmms.cc:263 src/adplug/adplug-xmms.cc:524
+#: src/alac/plugin.c:74 src/arts/arts.c:25 src/arts/configure.c:90
+#: src/audiocompress/audacious-glue.c:110
+#: src/audiocompress/audacious-glue.c:560 src/cdaudio-ng/configure.c:242
+#: src/console/Audacious_Driver.cxx:447 src/crystalizer/crystalizer.c:113
+#: src/demac/plugin.c:364 src/echo_plugin/gui.c:24 src/echo_plugin/gui.c:135
+#: src/esd/about.c:48 src/filewriter/filewriter.c:183 src/jack/configure.c:140
+#: src/jack/jack.c:454 src/madplug/plugin.c:679 src/madplug/plugin.c:703
+#: src/metronom/metronom.c:87 src/modplug/gui/main.cxx:52
+#: src/musepack/libmpc.cxx:228 src/null/null.c:64 src/null/null.c:107
+#: src/OSS4/OSS4.c:55 src/OSS/OSS.c:52 src/paranormal-ng/plugin.c:282
+#: src/paranormal/plugin.c:290 src/scrobbler/gtkstuff.c:22
+#: src/sndfile/plugin.c:571 src/statusicon/si_ui.c:626
+#: src/stereo_plugin/stereo.c:52 src/stereo_plugin/stereo.c:115
+#: src/sun/about.c:37 src/sun/configure.c:557 src/timidity/interface.c:222
+#: src/timidity/xmms-timidity.c:117 src/tonegen/tonegen.c:61
+#: src/tta/libtta.c:150 src/tta/libtta.c:264 src/tta/libtta.c:399
+#: src/vorbis/vorbis.c:696 src/vtx/about.c:26 src/vtx/info.c:38
+#: src/wavpack/ui.cxx:54 src/wavpack/ui.cxx:554
 msgid "Ok"
 msgstr "Olgu"
 
-#: src/adplug/adplug-xmms.cc:171
+#: src/adplug/adplug-xmms.cc:169
 msgid "About "
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:175
+#: src/adplug/adplug-xmms.cc:173
 msgid ""
 "\n"
 "Copyright (C) 2002, 2003 Simon Peter <dn.tlp@gmx.net>\n"
@@ -71,195 +71,195 @@
 "Linked AdPlug library version: "
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:256
+#: src/adplug/adplug-xmms.cc:254
 msgid "AdPlug :: Configuration"
 msgstr "AdPlug'i sätted"
 
-#: src/adplug/adplug-xmms.cc:275 src/alarm/interface.c:1398
+#: src/adplug/adplug-xmms.cc:273 src/alarm/interface.c:1398
 #: src/alsa/configure.c:389 src/arts/configure.c:91
-#: src/audiocompress/audacious-glue.c:557 src/cdaudio-ng/configure.c:232
-#: src/echo_plugin/gui.c:145 src/jack/configure.c:148
-#: src/modplug/gui/interface.cxx:714 src/modplug/gui/modplug.glade:1668
-#: src/musepack/libmpc.cxx:237 src/musepack/libmpc.cxx:557 src/null/null.c:111
-#: src/sid/xmms-sid.glade:3080 src/sid/xs_interface.c:1250
-#: src/stereo_plugin/stereo.c:125 src/sun/configure.c:567
-#: src/timidity/interface.c:230 src/wavpack/ui.cxx:280 src/wavpack/ui.cxx:563
+#: src/audiocompress/audacious-glue.c:565 src/cdaudio-ng/configure.c:246
+#: src/crystalizer/crystalizer.c:122 src/echo_plugin/gui.c:143
+#: src/jack/configure.c:147 src/modplug/gui/interface.cxx:714
+#: src/modplug/gui/modplug.glade:1668 src/musepack/libmpc.cxx:233
+#: src/musepack/libmpc.cxx:553 src/null/null.c:108
+#: src/stereo_plugin/stereo.c:124 src/sun/configure.c:565
+#: src/timidity/interface.c:230 src/wavpack/ui.cxx:278 src/wavpack/ui.cxx:561
 msgid "Cancel"
 msgstr "Loobu"
 
-#: src/adplug/adplug-xmms.cc:291 src/console/Audacious_Config.cxx:145
-#: src/madplug/configure.c:290 src/modplug/gui/interface.cxx:628
+#: src/adplug/adplug-xmms.cc:289 src/console/Audacious_Config.cxx:144
+#: src/madplug/configure.c:289 src/modplug/gui/interface.cxx:628
 #: src/modplug/gui/interface.cxx:887 src/modplug/gui/modplug.glade:1404
 #: src/modplug/gui/modplug.glade:1804
 msgid "General"
 msgstr "Üldine"
 
-#: src/adplug/adplug-xmms.cc:303
+#: src/adplug/adplug-xmms.cc:301
 msgid "Sound quality"
 msgstr "Helikvaliteet"
 
-#: src/adplug/adplug-xmms.cc:308 src/modplug/gui/interface.cxx:187
+#: src/adplug/adplug-xmms.cc:306 src/modplug/gui/interface.cxx:187
 #: src/modplug/gui/modplug.glade:113
 msgid "Resolution"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:310
+#: src/adplug/adplug-xmms.cc:308
 msgid "8bit"
 msgstr "8-bitine"
 
-#: src/adplug/adplug-xmms.cc:315
+#: src/adplug/adplug-xmms.cc:313
 msgid "16bit"
 msgstr "16-bitine"
 
-#: src/adplug/adplug-xmms.cc:323 src/modplug/gui/interface.cxx:218
+#: src/adplug/adplug-xmms.cc:321 src/modplug/gui/interface.cxx:218
 #: src/modplug/gui/modplug.glade:199 src/timidity/interface.c:148
 msgid "Channels"
 msgstr "Kanaleid"
 
-#: src/adplug/adplug-xmms.cc:325 src/filewriter/mp3.c:900
-#: src/sid/xmms-sid.glade:157 src/sid/xs_interface.c:288
+#: src/adplug/adplug-xmms.cc:323 src/filewriter/mp3.c:900
+#: src/sid/xmms-sid.glade:157 src/sid/xs_interface.c:300
 #: src/timidity/interface.c:165
 msgid "Mono"
 msgstr "Mono"
 
-#: src/adplug/adplug-xmms.cc:330 src/filewriter/mp3.c:895
+#: src/adplug/adplug-xmms.cc:328 src/filewriter/mp3.c:895
 #: src/modplug/gui/interface.cxx:204 src/modplug/gui/modplug.glade:159
-#: src/sid/xmms-sid.glade:176 src/sid/xs_interface.c:295
+#: src/sid/xmms-sid.glade:176 src/sid/xs_interface.c:307
 #: src/timidity/interface.c:173
 msgid "Stereo"
 msgstr "Stereo"
 
-#: src/adplug/adplug-xmms.cc:334
+#: src/adplug/adplug-xmms.cc:332
 msgid ""
 "Setting stereo is not recommended, unless you need to. This won't add any "
 "stereo effects to the sound - OPL2 is just mono - but eats up more CPU power!"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:342
+#: src/adplug/adplug-xmms.cc:340
 msgid "Frequency"
 msgstr "Sagedus"
 
-#: src/adplug/adplug-xmms.cc:378 src/adplug/adplug-xmms.cc:582
-#: src/console/Audacious_Config.cxx:147
+#: src/adplug/adplug-xmms.cc:376 src/adplug/adplug-xmms.cc:580
+#: src/console/Audacious_Config.cxx:146 src/skins/ui_manager.c:175
 msgid "Playback"
 msgstr "Esitamine"
 
-#: src/adplug/adplug-xmms.cc:382
+#: src/adplug/adplug-xmms.cc:380
 msgid "Detect songend"
 msgstr "Loo lõpp tuvastatakse"
 
-#: src/adplug/adplug-xmms.cc:386
+#: src/adplug/adplug-xmms.cc:384
 msgid ""
 "If enabled, XMMS will detect a song's ending, stop it and advance in the "
 "playlist. If disabled, XMMS won't take notice of a song's ending and loop it "
 "all over again and again."
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:397
+#: src/adplug/adplug-xmms.cc:395
 msgid "Formats"
 msgstr "Vormingud"
 
-#: src/adplug/adplug-xmms.cc:404
+#: src/adplug/adplug-xmms.cc:402
 msgid "Format selection"
 msgstr "Vormingute valimine"
 
-#: src/adplug/adplug-xmms.cc:407
+#: src/adplug/adplug-xmms.cc:405
 msgid "Format"
 msgstr "Vorming"
 
-#: src/adplug/adplug-xmms.cc:407
+#: src/adplug/adplug-xmms.cc:405
 msgid "Extension"
 msgstr "Laiend"
 
-#: src/adplug/adplug-xmms.cc:447
+#: src/adplug/adplug-xmms.cc:445
 msgid ""
 "Selected file types will be recognized and played back by this plugin. "
 "Deselected types will be ignored to make room for other plugins to play "
 "these files."
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:533
+#: src/adplug/adplug-xmms.cc:531
 msgid "AdPlug :: File Info"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:555 src/amidi-plug/i_configure-fluidsynth.c:448
+#: src/adplug/adplug-xmms.cc:553 src/amidi-plug/i_configure-fluidsynth.c:448
 msgid "Filename"
 msgstr "Failinimi"
 
-#: src/adplug/adplug-xmms.cc:559
+#: src/adplug/adplug-xmms.cc:557 src/skins/ui_playlist.c:470
 msgid "Title: "
 msgstr "Pealkiri: "
 
-#: src/adplug/adplug-xmms.cc:560
+#: src/adplug/adplug-xmms.cc:558
 msgid "Author: "
 msgstr "Autor: "
 
+#: src/adplug/adplug-xmms.cc:559
+msgid "File Type: "
+msgstr "Faili tüüp: "
+
+#: src/adplug/adplug-xmms.cc:560
+msgid "Subsongs: "
+msgstr ""
+
 #: src/adplug/adplug-xmms.cc:561
-msgid "File Type: "
-msgstr "Faili tüüp: "
-
-#: src/adplug/adplug-xmms.cc:562
-msgid "Subsongs: "
-msgstr ""
-
-#: src/adplug/adplug-xmms.cc:563
 msgid "Instruments: "
 msgstr "Instrumendid: "
 
-#: src/adplug/adplug-xmms.cc:568
+#: src/adplug/adplug-xmms.cc:566
 msgid "Orders: "
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:569
+#: src/adplug/adplug-xmms.cc:567
 msgid "Patterns: "
 msgstr "Mustrid: "
 
-#: src/adplug/adplug-xmms.cc:573
+#: src/adplug/adplug-xmms.cc:571
 msgid "Song"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:599
+#: src/adplug/adplug-xmms.cc:597
 msgid "Instrument name"
 msgstr "Instrumendi nimi"
 
-#: src/adplug/adplug-xmms.cc:641
+#: src/adplug/adplug-xmms.cc:639
 msgid "Song message"
 msgstr "Loo sõnum"
 
-#: src/adplug/adplug-xmms.cc:663
+#: src/adplug/adplug-xmms.cc:661
 msgid "Subsong selection"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:727
+#: src/adplug/adplug-xmms.cc:725
 msgid "Order: "
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:728
+#: src/adplug/adplug-xmms.cc:726
 msgid "Pattern: "
 msgstr "Muster: "
 
-#: src/adplug/adplug-xmms.cc:730
+#: src/adplug/adplug-xmms.cc:728
 msgid "Row: "
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:731
+#: src/adplug/adplug-xmms.cc:729
 msgid "Speed: "
 msgstr "Kiirus: "
 
-#: src/adplug/adplug-xmms.cc:732
+#: src/adplug/adplug-xmms.cc:730
 msgid "Timer: "
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:733 src/console/Audacious_Config.cxx:225
-#: src/sid/xmms-sid.glade:332 src/sid/xs_interface.c:341
+#: src/adplug/adplug-xmms.cc:731 src/console/Audacious_Config.cxx:224
+#: src/sid/xmms-sid.glade:332 src/sid/xs_interface.c:353
 msgid "Hz"
 msgstr "Hz"
 
-#: src/alac/plugin.c:74
+#: src/alac/plugin.c:71
 msgid "About Apple Lossless Audio Plugin"
 msgstr "Apple Lossless Audio pluginast lähemalt"
 
-#: src/alac/plugin.c:75
+#: src/alac/plugin.c:72
 msgid ""
 "Copyright (c) 2006 Audacious team\n"
 "Portions (c) 2005-2006 David Hammerton <crazney -at- crazney.net>"
@@ -297,8 +297,8 @@
 
 #: src/alarm/interface.c:71 src/lirc/about.c:115
 #: src/modplug/gui/interface.cxx:971 src/modplug/gui/modplug.glade:2030
-#: src/sid/xmms-sid.glade:3643 src/sid/xs_about.c:214
-#: src/sid/xs_interface.c:1740
+#: src/sid/xmms-sid.glade:3837 src/sid/xs_about.c:214
+#: src/sid/xs_interface.c:1824
 msgid "Close"
 msgstr "Sulge"
 
@@ -310,13 +310,12 @@
 msgid "This is your wakeup call."
 msgstr "See on sinu äratus."
 
-#: src/alarm/interface.c:124 src/alarm/interface.c:1389 src/alsa/about.c:46
+#: src/alarm/interface.c:124 src/alarm/interface.c:1389 src/alsa/about.c:45
 #: src/alsa/configure.c:383 src/cdaudio-ng/cdaudio-ng.c:247
-#: src/flacng/plugin.c:706 src/gnomeshortcuts/gnomeshortcuts.c:311
-#: src/hotkey/gui.c:671 src/modplug/gui/interface.cxx:702
-#: src/modplug/gui/modplug.glade:1642 src/pulse_audio/pulse_audio.c:738
-#: src/scrobbler/gtkstuff.c:45 src/sid/xmms-sid.glade:3066
-#: src/sid/xs_interface.c:1243
+#: src/flacng/plugin.c:705 src/gnomeshortcuts/gnomeshortcuts.c:310
+#: src/hotkey/gui.c:670 src/modplug/gui/interface.cxx:702
+#: src/modplug/gui/modplug.glade:1642 src/pulse_audio/pulse_audio.c:736
+#: src/scrobbler/gtkstuff.c:42 src/skins/plugin.c:130
 msgid "OK"
 msgstr "Olgu"
 
@@ -385,7 +384,8 @@
 #: src/alarm/interface.c:612 src/alarm/interface.c:660
 #: src/alarm/interface.c:708 src/alarm/interface.c:756
 #: src/alarm/interface.c:804 src/alarm/interface.c:852
-#: src/alarm/interface.c:900 src/OSS4/configure.c:138 src/OSS/configure.c:169
+#: src/alarm/interface.c:900 src/OSS4/configure.c:136 src/OSS/configure.c:168
+#: src/skins/ui_manager.c:447 src/skins/ui_manager.c:468
 msgid "Default"
 msgstr "Vaikimisi"
 
@@ -430,9 +430,9 @@
 msgstr "Kahanemine"
 
 #: src/alarm/interface.c:1087 src/sid/xmms-sid.glade:2007
-#: src/sid/xmms-sid.glade:2178 src/sid/xmms-sid.glade:2676
-#: src/sid/xs_interface.c:908 src/sid/xs_interface.c:962
-#: src/sid/xs_interface.c:1122
+#: src/sid/xmms-sid.glade:2178 src/sid/xmms-sid.glade:2746
+#: src/sid/xs_interface.c:920 src/sid/xs_interface.c:974
+#: src/sid/xs_interface.c:1154
 msgid "seconds"
 msgstr "sekundit"
 
@@ -485,7 +485,7 @@
 msgid "Use reminder"
 msgstr "Meeldetuletaja on kasutusel"
 
-#: src/alarm/interface.c:1328 src/sndstretch/sndstretch_xmms.c:377
+#: src/alarm/interface.c:1328 src/sndstretch/sndstretch_xmms.c:376
 msgid "Options"
 msgstr "Valikud"
 
@@ -548,7 +548,7 @@
 "    toggle button if you want it to be shown.\n"
 msgstr ""
 
-#: src/alarm/interface.c:1366
+#: src/alarm/interface.c:1366 src/skins/ui_manager.c:386
 msgid "Help"
 msgstr "Abi"
 
@@ -560,11 +560,11 @@
 msgid "Thankyou"
 msgstr ""
 
-#: src/alsa/about.c:30
+#: src/alsa/about.c:29
 msgid "About ALSA Driver"
 msgstr "ALSA draiverist lähemalt"
 
-#: src/alsa/about.c:31
+#: src/alsa/about.c:30
 msgid ""
 "Audacious ALSA Driver\n"
 "\n"
@@ -614,8 +614,8 @@
 msgid "ALSA Driver configuration"
 msgstr "ALSA draiveri sätted"
 
-#: src/alsa/configure.c:274 src/OSS4/configure.c:186 src/OSS/configure.c:217
-#: src/sun/configure.c:183
+#: src/alsa/configure.c:274 src/OSS4/configure.c:184 src/OSS/configure.c:216
+#: src/sun/configure.c:181
 msgid "Audio device:"
 msgstr "Audioseade:"
 
@@ -627,7 +627,7 @@
 msgid "Mixer card:"
 msgstr "Miksimiskaart:"
 
-#: src/alsa/configure.c:313 src/OSS/configure.c:260 src/sun/configure.c:220
+#: src/alsa/configure.c:313 src/OSS/configure.c:259 src/sun/configure.c:218
 msgid "Mixer device:"
 msgstr "Miksimisseade:"
 
@@ -1212,8 +1212,8 @@
 "<span size=\"smaller\">TiMidity\n"
 "taustaprogramm</span>"
 
-#: src/amidi-plug/i_fileinfo.c:169 src/sid/xmms-sid.glade:3465
-#: src/sid/xs_interface.c:1684
+#: src/amidi-plug/i_fileinfo.c:169 src/sid/xmms-sid.glade:3659
+#: src/sid/xs_interface.c:1768
 msgid "Name:"
 msgstr "Nimi:"
 
@@ -1316,46 +1316,46 @@
 msgid "None"
 msgstr ""
 
-#: src/aosd/aosd_trigger.c:75
+#: src/aosd/aosd_trigger.c:74
 msgid "Playback Start"
 msgstr "Esitamise alustamine"
 
-#: src/aosd/aosd_trigger.c:76
+#: src/aosd/aosd_trigger.c:75
 msgid "Triggers OSD when a playlist entry is played."
 msgstr ""
 
+#: src/aosd/aosd_trigger.c:79
+msgid "Title Change"
+msgstr "Pealkirja muutumine"
+
 #: src/aosd/aosd_trigger.c:80
-msgid "Title Change"
-msgstr "Pealkirja muutumine"
-
-#: src/aosd/aosd_trigger.c:81
 msgid ""
 "Triggers OSD when, during playback, the song title changes but the filename "
 "is the same. This is mostly useful to display title changes in internet "
 "streams."
 msgstr ""
 
-#: src/aosd/aosd_trigger.c:87
+#: src/aosd/aosd_trigger.c:86
 msgid "Volume Change"
 msgstr "Valjuse muutumine"
 
-#: src/aosd/aosd_trigger.c:88
+#: src/aosd/aosd_trigger.c:87
 msgid "Triggers OSD when volume is changed."
 msgstr ""
 
-#: src/aosd/aosd_trigger.c:92
+#: src/aosd/aosd_trigger.c:91
 msgid "Pause On"
 msgstr "Pausimine"
 
-#: src/aosd/aosd_trigger.c:93
+#: src/aosd/aosd_trigger.c:92
 msgid "Triggers OSD when playback is paused."
 msgstr ""
 
+#: src/aosd/aosd_trigger.c:96
+msgid "Pause Off"
+msgstr "Pausi lõpetamine"
+
 #: src/aosd/aosd_trigger.c:97
-msgid "Pause Off"
-msgstr "Pausi lõpetamine"
-
-#: src/aosd/aosd_trigger.c:98
 msgid "Triggers OSD when playback is unpaused."
 msgstr ""
 
@@ -1454,10 +1454,10 @@
 msgid "Skin file:"
 msgstr ""
 
-#: src/aosd/aosd_ui.c:644 src/sid/xmms-sid.glade:2331
-#: src/sid/xmms-sid.glade:2856 src/sid/xmms-sid.glade:2962
-#: src/sid/xs_interface.c:1010 src/sid/xs_interface.c:1182
-#: src/sid/xs_interface.c:1218
+#: src/aosd/aosd_ui.c:644 src/sid/xmms-sid.glade:2373
+#: src/sid/xmms-sid.glade:2968 src/sid/xmms-sid.glade:3136
+#: src/sid/xs_interface.c:1043 src/sid/xs_interface.c:1235
+#: src/sid/xs_interface.c:1291
 msgid "Browse"
 msgstr ""
 
@@ -1537,9 +1537,9 @@
 msgid "Trigger"
 msgstr "Päästikud"
 
-#: src/aosd/aosd_ui.c:1076 src/cdaudio-ng/configure.c:167
+#: src/aosd/aosd_ui.c:1076 src/cdaudio-ng/configure.c:175
 #: src/modplug/gui/interface.cxx:688 src/modplug/gui/modplug.glade:1603
-#: src/sid/xmms-sid.glade:3026 src/sid/xs_interface.c:1229
+#: src/sid/xmms-sid.glade:3220 src/sid/xs_interface.c:1301
 msgid "Misc"
 msgstr "Muu"
 
@@ -1566,11 +1566,11 @@
 "\n"
 msgstr ""
 
-#: src/arts/arts.c:22
+#: src/arts/arts.c:21
 msgid "About aRts Output"
 msgstr "aRts väljundist lähemalt"
 
-#: src/arts/arts.c:23
+#: src/arts/arts.c:22
 msgid ""
 "aRts output plugin by Håvard Kvålen <havardk@xmms.org>\n"
 "Audacious port by Giacomo Lozito from develia.org"
@@ -1580,26 +1580,26 @@
 msgid "aRts Driver configuration"
 msgstr ""
 
-#: src/arts/configure.c:61 src/esd/configure.c:171 src/OSS4/configure.c:232
-#: src/OSS/configure.c:304 src/sun/configure.c:259
+#: src/arts/configure.c:61 src/esd/configure.c:171 src/OSS4/configure.c:230
+#: src/OSS/configure.c:303 src/sun/configure.c:257
 msgid "Buffering:"
 msgstr "Puhverdamine:"
 
-#: src/arts/configure.c:73 src/esd/configure.c:184 src/OSS4/configure.c:245
-#: src/OSS/configure.c:317 src/sun/configure.c:272
+#: src/arts/configure.c:73 src/esd/configure.c:184 src/OSS4/configure.c:243
+#: src/OSS/configure.c:316 src/sun/configure.c:270
 msgid "Buffer size (ms):"
 msgstr "Puhvri suurus (ms):"
 
-#: src/arts/configure.c:83 src/esd/configure.c:209 src/OSS4/configure.c:270
-#: src/OSS/configure.c:342 src/sun/configure.c:304
+#: src/arts/configure.c:83 src/esd/configure.c:209 src/OSS4/configure.c:268
+#: src/OSS/configure.c:341 src/sun/configure.c:302
 msgid "Buffering"
 msgstr "Puhverdamine"
 
-#: src/audiocompress/audacious-glue.c:95
+#: src/audiocompress/audacious-glue.c:103
 msgid "AudioCompress "
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:96
+#: src/audiocompress/audacious-glue.c:104
 msgid ""
 "\n"
 "(c)2003 trikuare studios(http://trikuare.cx)\n"
@@ -1609,108 +1609,108 @@
 "keeping the volume level more or less consistent"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:101
+#: src/audiocompress/audacious-glue.c:109
 msgid "About AudioCompress"
 msgstr "AudioCompress pluginast lähemalt"
 
-#: src/audiocompress/audacious-glue.c:320
+#: src/audiocompress/audacious-glue.c:328
 msgid ""
 "If checked, when the sound peaks the volume will be cut instantly; "
 "otherwise, it will ramp down just in time for the peak (but some minor "
 "clipping may still occur)."
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:324
+#: src/audiocompress/audacious-glue.c:332
 msgid "The maximum amount to amplify the audio by"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:326
+#: src/audiocompress/audacious-glue.c:334
 msgid "Defines how smoothly the volume will ramp up"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:328
+#: src/audiocompress/audacious-glue.c:336
 msgid ""
 "The target audio level for ramping up. Lowering the value gives a bit more "
 "dynamic range for peaks, but will make the overall sound quieter."
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:331
+#: src/audiocompress/audacious-glue.c:339
 msgid "How long of a window to maintain"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:372
+#: src/audiocompress/audacious-glue.c:380
 msgid "AudioCompress preferences"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:389
+#: src/audiocompress/audacious-glue.c:397
 msgid " Quality Options "
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:394
+#: src/audiocompress/audacious-glue.c:402
 msgid " Aggressively prevent clipping"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:406
+#: src/audiocompress/audacious-glue.c:414
 msgid " Target & gain"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:417
-msgid "Target audio level:"
-msgstr ""
-
 #: src/audiocompress/audacious-glue.c:425
-msgid "Maximum gain:"
+msgid "Target audio level:"
 msgstr ""
 
 #: src/audiocompress/audacious-glue.c:433
+msgid "Maximum gain:"
+msgstr ""
+
+#: src/audiocompress/audacious-glue.c:441
 msgid "Gain smooth:"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:485
+#: src/audiocompress/audacious-glue.c:493
 msgid " History "
 msgstr " Ajalugu "
 
-#: src/audiocompress/audacious-glue.c:517
+#: src/audiocompress/audacious-glue.c:525
 msgid ""
 "How long of a history to maintain.  A higher number will make the volume "
 "changes less responsive."
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:528
+#: src/audiocompress/audacious-glue.c:536
 msgid "Load default values"
 msgstr "Laadi vaikeväärtused"
 
-#: src/audiocompress/audacious-glue.c:533
+#: src/audiocompress/audacious-glue.c:541
 msgid "Audio values"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:562 src/echo_plugin/gui.c:152
-#: src/modplug/gui/interface.cxx:708 src/modplug/gui/modplug.glade:1655
-#: src/stereo_plugin/stereo.c:132
+#: src/audiocompress/audacious-glue.c:570 src/crystalizer/crystalizer.c:129
+#: src/echo_plugin/gui.c:150 src/modplug/gui/interface.cxx:708
+#: src/modplug/gui/modplug.glade:1655 src/stereo_plugin/stereo.c:131
 msgid "Apply"
 msgstr "Rakenda"
 
+#: src/blur_scope/blur_scope.c:52
+msgid "/Toggle Decorations"
+msgstr ""
+
 #: src/blur_scope/blur_scope.c:54
-msgid "/Toggle Decorations"
-msgstr ""
-
-#: src/blur_scope/blur_scope.c:56
 msgid "/-"
 msgstr ""
 
-#: src/blur_scope/blur_scope.c:57
+#: src/blur_scope/blur_scope.c:55
 msgid "/Close"
 msgstr ""
 
-#: src/blur_scope/blur_scope.c:181
+#: src/blur_scope/blur_scope.c:179
 msgid "Blur scope"
 msgstr ""
 
-#: src/blur_scope/config.c:72
+#: src/blur_scope/config.c:71
 msgid "Blur Scope: Color selection"
 msgstr ""
 
-#: src/blur_scope/config.c:82 src/jack/configure.c:108
+#: src/blur_scope/config.c:81 src/jack/configure.c:107
 msgid "Options:"
 msgstr "Valikud:"
 
@@ -1748,7 +1748,7 @@
 "\n"
 "See projekt loodi Google Summer of Code 2007 raames."
 
-#: src/cdaudio-ng/cdaudio-ng.c:814
+#: src/cdaudio-ng/cdaudio-ng.c:815
 msgid ""
 "<b><big>No playable CD found.</big></b>\n"
 "\n"
@@ -1758,108 +1758,113 @@
 "\n"
 "CD-plaati pole sisestatud või pole see audioplaat.\n"
 
-#: src/cdaudio-ng/configure.c:147
+#: src/cdaudio-ng/configure.c:155
 msgid "CD Audio Plugin Configuration"
 msgstr "Audioplaatide plugina sätted"
 
-#: src/cdaudio-ng/configure.c:157
+#: src/cdaudio-ng/configure.c:165
 msgid "Digital audio extraction"
 msgstr "Digitaalne audiolugemine"
 
-#: src/cdaudio-ng/configure.c:162
+#: src/cdaudio-ng/configure.c:170
 msgid "Title information"
 msgstr "Pealkirja andmed"
 
-#: src/cdaudio-ng/configure.c:179
+#: src/cdaudio-ng/configure.c:187
 msgid "Limit read speed to: "
 msgstr "Lugemiskiiruse piirang:"
 
-#: src/cdaudio-ng/configure.c:186
+#: src/cdaudio-ng/configure.c:194
 msgid "Use cd-text if available"
 msgstr "Võimaluse korral kasutatakse cd-teksti"
 
-#: src/cdaudio-ng/configure.c:190
+#: src/cdaudio-ng/configure.c:198
 msgid "Use CDDB if available"
 msgstr "Võimaluse korral kasutatakse CDDB-d"
 
-#: src/cdaudio-ng/configure.c:194
+#: src/cdaudio-ng/configure.c:202
 msgid "Server: "
 msgstr "Server: "
 
-#: src/cdaudio-ng/configure.c:197
+#: src/cdaudio-ng/configure.c:205
+#, fuzzy
+msgid "Path: "
+msgstr "Muster: "
+
+#: src/cdaudio-ng/configure.c:208
 msgid "Port: "
 msgstr "Port: "
 
-#: src/cdaudio-ng/configure.c:203
+#: src/cdaudio-ng/configure.c:217
 msgid "Use HTTP instead of CDDBP"
 msgstr ""
 
-#: src/cdaudio-ng/configure.c:211
+#: src/cdaudio-ng/configure.c:225
 msgid "Override default device: "
 msgstr "Vaikimisi seadme asemel kasutatakse: "
 
-#: src/cdaudio-ng/configure.c:218
+#: src/cdaudio-ng/configure.c:232
 msgid "Print debug information"
 msgstr "Silumisandmeid prinditakse"
 
-#: src/console/Audacious_Config.cxx:125
+#: src/console/Audacious_Config.cxx:124
 msgid "Console Music Decoder"
 msgstr ""
 
-#: src/console/Audacious_Config.cxx:162
+#: src/console/Audacious_Config.cxx:161
 msgid "Bass:"
 msgstr ""
 
-#: src/console/Audacious_Config.cxx:166 src/console/Audacious_Config.cxx:177
-#: src/console/Audacious_Config.cxx:198
+#: src/console/Audacious_Config.cxx:165 src/console/Audacious_Config.cxx:176
+#: src/console/Audacious_Config.cxx:197
 msgid "secs"
 msgstr ""
 
-#: src/console/Audacious_Config.cxx:173
+#: src/console/Audacious_Config.cxx:172
 msgid "Treble:"
 msgstr ""
 
-#: src/console/Audacious_Config.cxx:194
+#: src/console/Audacious_Config.cxx:193
 msgid "Default song length:"
 msgstr ""
 
-#: src/console/Audacious_Config.cxx:200 src/modplug/gui/interface.cxx:268
+#: src/console/Audacious_Config.cxx:199 src/modplug/gui/interface.cxx:268
 #: src/modplug/gui/modplug.glade:338 src/sid/xmms-sid.glade:1243
-#: src/sid/xs_interface.c:653
+#: src/sid/xs_interface.c:665
 msgid "Resampling"
 msgstr ""
 
-#: src/console/Audacious_Config.cxx:206
+#: src/console/Audacious_Config.cxx:205
 msgid "Enable audio resampling"
 msgstr ""
 
-#: src/console/Audacious_Config.cxx:221
+#: src/console/Audacious_Config.cxx:220
 msgid "Resampling rate:"
 msgstr ""
 
+#: src/console/Audacious_Config.cxx:235
+msgid "SPC"
+msgstr ""
+
 #: src/console/Audacious_Config.cxx:236
-msgid "SPC"
+msgid "Ignore length from SPC tags"
 msgstr ""
 
 #: src/console/Audacious_Config.cxx:237
-msgid "Ignore length from SPC tags"
-msgstr ""
-
-#: src/console/Audacious_Config.cxx:238
 msgid "Increase reverb"
 msgstr ""
 
-#: src/console/Audacious_Config.cxx:263
+#: src/console/Audacious_Config.cxx:262
 msgid ""
 "The default song length, expressed in seconds, is used for songs that do not "
 "provide length information (i.e. looping tracks)."
 msgstr ""
 
-#: src/console/Audacious_Driver.cxx:444
+#: src/console/Audacious_Driver.cxx:442
 msgid "About the Console Music Decoder"
 msgstr "Console Music Decoder pluginast lähemalt"
 
-#: src/console/Audacious_Driver.cxx:445
+#: src/console/Audacious_Driver.cxx:443
 msgid ""
 "Console music decoder engine based on Game_Music_Emu 0.5.2.\n"
 "Supported formats: AY, GBS, GYM, HES, KSS, NSF, NSFE, SAP, SPC, VGM, VGZ\n"
@@ -1867,12 +1872,21 @@
 "        Shay Green <gblargg@gmail.com>"
 msgstr ""
 
-#: src/demac/plugin.c:388
+#: src/crystalizer/crystalizer.c:90
+#, fuzzy
+msgid "Configure Crystalizer"
+msgstr "Seadista..."
+
+#: src/crystalizer/crystalizer.c:92 src/stereo_plugin/stereo.c:94
+msgid "Effect intensity:"
+msgstr ""
+
+#: src/demac/plugin.c:359
 #, fuzzy
 msgid "About Monkey's Audio Plugin"
 msgstr "MPEG audiopluginast lähemalt"
 
-#: src/demac/plugin.c:389
+#: src/demac/plugin.c:360
 msgid ""
 "Copyright (C) 2007 Eugene Zagidullin <e.asphyx@gmail.com>\n"
 "Based on ffape decoder, Copyright (C) 2007 Benjamin Zores\n"
@@ -1881,7 +1895,7 @@
 "ffape is a part of FFmpeg project, http://ffmpeg.mplayerhq.hu/"
 msgstr ""
 
-#: src/echo_plugin/gui.c:11
+#: src/echo_plugin/gui.c:9
 msgid ""
 "Echo Plugin\n"
 "By Johan Levin 1999.\n"
@@ -1893,35 +1907,35 @@
 "\n"
 "Surround-kaja autor: Carl van Schaik 1999"
 
-#: src/echo_plugin/gui.c:25
+#: src/echo_plugin/gui.c:23
 msgid "About Echo Plugin"
 msgstr "Kajapluginast lähemalt"
 
-#: src/echo_plugin/gui.c:76
+#: src/echo_plugin/gui.c:74
 msgid "Configure Echo"
 msgstr "Kaja seadistamine"
 
-#: src/echo_plugin/gui.c:89
+#: src/echo_plugin/gui.c:87
 msgid "Delay: (ms)"
 msgstr "Viivitus (ms)"
 
-#: src/echo_plugin/gui.c:94
+#: src/echo_plugin/gui.c:92
 msgid "Feedback: (%)"
 msgstr ""
 
-#: src/echo_plugin/gui.c:99
+#: src/echo_plugin/gui.c:97
 msgid "Volume: (%)"
 msgstr "Valjus: (%)"
 
-#: src/echo_plugin/gui.c:122
+#: src/echo_plugin/gui.c:120
 msgid "Surround echo"
 msgstr "Surround-kaja"
 
+#: src/esd/about.c:33
+msgid "About ESounD Plugin"
+msgstr "ESounD'i pluginast lähemalt"
+
 #: src/esd/about.c:34
-msgid "About ESounD Plugin"
-msgstr "ESounD'i pluginast lähemalt"
-
-#: src/esd/about.c:35
 msgid ""
 "Audacious ESounD Plugin\n"
 "\n"
@@ -1980,8 +1994,8 @@
 msgid "Server"
 msgstr "Server"
 
-#: src/esd/configure.c:198 src/OSS4/configure.c:259 src/OSS/configure.c:331
-#: src/sun/configure.c:290
+#: src/esd/configure.c:198 src/OSS4/configure.c:257 src/OSS/configure.c:330
+#: src/sun/configure.c:288
 msgid "Pre-buffer (percent):"
 msgstr "Eelpuhver (protsentides):"
 
@@ -2053,93 +2067,93 @@
 msgid "Window->JumpToFile"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:94
+#: src/evdev-plug/ed_internals.c:93
 #, c-format
 msgid ""
 "event-device-plugin: unable to open device file %s , skipping this device; "
 "check that the file exists and that you have read permission for it\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:103
+#: src/evdev-plug/ed_internals.c:102
 #, c-format
 msgid ""
 "event-device-plugin: unable to create a io_channel for device file %s ,"
 "skipping this device\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:342
+#: src/evdev-plug/ed_internals.c:341
 msgid ""
 "event-device-plugin: unable to open /proc/bus/input/devices , automatic "
 "detection of event devices won't work.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:351
+#: src/evdev-plug/ed_internals.c:350
 msgid ""
 "event-device-plugin: unable to open a io_channel for /proc/bus/input/"
 "devices , automatic detection of event devices won't work.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:361
+#: src/evdev-plug/ed_internals.c:360
 msgid ""
 "event-device-plugin: an error occurred while reading /proc/bus/input/"
 "devices , automatic detection of event devices won't work.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:424
+#: src/evdev-plug/ed_internals.c:423
 #, c-format
 msgid "event-device-plugin: device %s not found in /dev/input , skipping.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:489 src/evdev-plug/ed_internals.c:583
+#: src/evdev-plug/ed_internals.c:488 src/evdev-plug/ed_internals.c:582
 #, c-format
 msgid ""
 "event-device-plugin: unable to load config file %s , default settings will "
 "be used.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:535
+#: src/evdev-plug/ed_internals.c:534
 #, c-format
 msgid ""
 "event-device-plugin: incomplete information in config file for device \"%s"
 "\" , skipping.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:604 src/evdev-plug/ed_internals.c:936
+#: src/evdev-plug/ed_internals.c:603 src/evdev-plug/ed_internals.c:935
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get is_active value for device "
 "\"%s\", skipping it.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:840
+#: src/evdev-plug/ed_internals.c:839
 #, c-format
 msgid ""
 "event-device-plugin: unable to access local directory %s , settings will not "
 "be saved.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:890
+#: src/evdev-plug/ed_internals.c:889
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get filename value for device "
 "\"%s\", skipping it.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:906
+#: src/evdev-plug/ed_internals.c:905
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get phys value for device \"%s"
 "\", skipping it.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:922
+#: src/evdev-plug/ed_internals.c:921
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get is_custom value for device "
 "\"%s\", skipping it.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:946
+#: src/evdev-plug/ed_internals.c:945
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unexpected value for device \"%s\", "
@@ -2157,7 +2171,7 @@
 "Ensure that the device has been correctly plugged in."
 msgstr ""
 
-#: src/evdev-plug/ed_ui.c:319 src/madplug/plugin.c:566
+#: src/evdev-plug/ed_ui.c:319 src/madplug/plugin.c:703
 msgid "Error"
 msgstr ""
 
@@ -2211,7 +2225,7 @@
 msgid "Active"
 msgstr "Aktiivne"
 
-#: src/evdev-plug/ed_ui.c:655 src/sun/configure.c:488
+#: src/evdev-plug/ed_ui.c:655 src/sun/configure.c:486
 msgid "Status"
 msgstr "Olek"
 
@@ -2322,7 +2336,7 @@
 msgid "Output file format:"
 msgstr "Väljundfaili vorming:"
 
-#: src/filewriter/filewriter.c:511 src/ladspa/ladspa.c:960
+#: src/filewriter/filewriter.c:511 src/ladspa/ladspa.c:959
 msgid "Configure"
 msgstr "Seadista..."
 
@@ -2550,11 +2564,11 @@
 msgid "Quality level (0 - 10):"
 msgstr "Kvaliteedi tase (0-10):"
 
-#: src/flacng/plugin.c:698
+#: src/flacng/plugin.c:697
 msgid "FLAC Audio Plugin "
 msgstr "FLAC audioplugin "
 
-#: src/flacng/plugin.c:699
+#: src/flacng/plugin.c:698
 msgid ""
 "\n"
 "\n"
@@ -2570,15 +2584,15 @@
 "\n"
 "http://www.skytale.net/projects/bmp-flac2/"
 
-#: src/flacng/plugin.c:704
+#: src/flacng/plugin.c:703
 msgid "About FLAC Audio Plugin"
 msgstr "FLAC audiopluginast lähemalt"
 
+#: src/gnomeshortcuts/gnomeshortcuts.c:305
+msgid "About Gnome Shortcut Plugin"
+msgstr "Gnome kiirklahvide pluginast lähemalt"
+
 #: src/gnomeshortcuts/gnomeshortcuts.c:306
-msgid "About Gnome Shortcut Plugin"
-msgstr "Gnome kiirklahvide pluginast lähemalt"
-
-#: src/gnomeshortcuts/gnomeshortcuts.c:307
 #, fuzzy
 msgid ""
 "Gnome Shortcut Plugin\n"
@@ -2597,7 +2611,7 @@
 msgid "Previous Track"
 msgstr ""
 
-#: src/hotkey/gui.c:69
+#: src/hotkey/gui.c:69 src/skins/ui_manager.c:177 src/skins/ui_manager.c:178
 #, fuzzy
 msgid "Play"
 msgstr "Esitamine"
@@ -2606,7 +2620,7 @@
 msgid "Pause/Resume"
 msgstr ""
 
-#: src/hotkey/gui.c:71
+#: src/hotkey/gui.c:71 src/skins/ui_manager.c:183 src/skins/ui_manager.c:184
 #, fuzzy
 msgid "Stop"
 msgstr "Stereo"
@@ -2637,7 +2651,7 @@
 msgid "Volume Down"
 msgstr "Valjus"
 
-#: src/hotkey/gui.c:78
+#: src/hotkey/gui.c:78 src/skins/ui_manager.c:422 src/skins/ui_manager.c:423
 msgid "Jump to File"
 msgstr ""
 
@@ -2689,11 +2703,11 @@
 msgid "<b>Key Binding:</b>"
 msgstr ""
 
-#: src/hotkey/gui.c:660
+#: src/hotkey/gui.c:659
 msgid "About Global Hotkey Plugin"
 msgstr ""
 
-#: src/hotkey/gui.c:661
+#: src/hotkey/gui.c:660
 msgid ""
 "Global Hotkey Plugin\n"
 "Control the player with global key combinations or multimedia keys.\n"
@@ -2709,35 +2723,35 @@
 "\n"
 msgstr ""
 
-#: src/jack/configure.c:70
+#: src/jack/configure.c:69
 msgid "Connect to all available jack ports"
 msgstr ""
 
-#: src/jack/configure.c:77
+#: src/jack/configure.c:76
 msgid "Connect only the output ports"
 msgstr ""
 
-#: src/jack/configure.c:84
+#: src/jack/configure.c:83
 msgid "Connect to no ports"
 msgstr ""
 
-#: src/jack/configure.c:99
+#: src/jack/configure.c:98
 msgid "jack Plugin configuration"
 msgstr ""
 
-#: src/jack/configure.c:117
+#: src/jack/configure.c:116
 msgid "Connection mode:"
 msgstr ""
 
-#: src/jack/configure.c:129
+#: src/jack/configure.c:128
 msgid "Enable debug printing"
 msgstr ""
 
-#: src/jack/jack.c:84
+#: src/jack/jack.c:82
 msgid "Sample rate mismatch"
 msgstr ""
 
-#: src/jack/jack.c:87
+#: src/jack/jack.c:85
 msgid ""
 "Xmms is asking for a sample rate that differs from\n"
 " that of the jack server.  Xmms 1.2.8 or later\n"
@@ -2751,15 +2765,15 @@
 "Chris Morgan <cmorgan@alum.wpi.edu>\n"
 msgstr ""
 
-#: src/jack/jack.c:100 src/wma/wma.c:148
+#: src/jack/jack.c:98 src/wma/wma.c:145
 msgid " Close "
 msgstr " Sulge "
 
-#: src/jack/jack.c:452
+#: src/jack/jack.c:450
 msgid "About JACK Output Plugin 0.17"
 msgstr "JACK väljundplugina versioonist 0.17 lähemalt"
 
-#: src/jack/jack.c:453
+#: src/jack/jack.c:451
 msgid ""
 "XMMS jack Driver 0.17\n"
 "\n"
@@ -2770,39 +2784,39 @@
 "Giacomo Lozito from develia.org"
 msgstr ""
 
-#: src/ladspa/ladspa.c:722
+#: src/ladspa/ladspa.c:721
 msgid "This LADSPA plugin has no user controls"
 msgstr ""
 
-#: src/ladspa/ladspa.c:767 src/ladspa/ladspa.c:853
+#: src/ladspa/ladspa.c:766 src/ladspa/ladspa.c:852
 msgid "Name"
 msgstr "Nimi"
 
-#: src/ladspa/ladspa.c:853
+#: src/ladspa/ladspa.c:852
 msgid "UID"
 msgstr "UID"
 
-#: src/ladspa/ladspa.c:928
+#: src/ladspa/ladspa.c:927
 msgid "Installed plugins"
 msgstr "Paigaldatud pluginad"
 
-#: src/ladspa/ladspa.c:937
+#: src/ladspa/ladspa.c:936
 msgid "Running plugins"
 msgstr "Töötavad pluginad"
 
-#: src/ladspa/ladspa.c:952
+#: src/ladspa/ladspa.c:951
 msgid "Add"
 msgstr "Lisa"
 
-#: src/ladspa/ladspa.c:956
+#: src/ladspa/ladspa.c:955
 msgid "Remove"
 msgstr "Eemalda"
 
-#: src/ladspa/ladspa.c:969
+#: src/ladspa/ladspa.c:968
 msgid "LADSPA Plugin Catalog"
 msgstr "LADSPA pluginate kataloog"
 
-#: src/lastfm/lastfm.c:96
+#: src/lastfm/lastfm.c:94
 msgid ""
 "<b><big>Couldn't initialize the last.fm radio plugin.</big></b>\n"
 "\n"
@@ -2886,59 +2900,59 @@
 msgid "%s: will try reconnect every %d seconds...\n"
 msgstr ""
 
-#: src/madplug/configure.c:209
+#: src/madplug/configure.c:208
 msgid "MPEG Audio Plugin Configuration"
 msgstr "MPEG audioplugina sätted"
 
-#: src/madplug/configure.c:226
+#: src/madplug/configure.c:225
 #, fuzzy
 msgid "Audio Settings"
 msgstr "Alarmi sätted"
 
-#: src/madplug/configure.c:234
+#: src/madplug/configure.c:233
 msgid "Force reopen audio when audio type changed"
 msgstr ""
 
-#: src/madplug/configure.c:243
+#: src/madplug/configure.c:242
 #, fuzzy
 msgid "Metadata Settings"
 msgstr "Mikseri sätted"
 
-#: src/madplug/configure.c:252
+#: src/madplug/configure.c:251
 msgid "Enable fast play-length calculation"
 msgstr ""
 
-#: src/madplug/configure.c:259
+#: src/madplug/configure.c:258
 msgid "Parse XING headers"
 msgstr ""
 
-#: src/madplug/configure.c:266
+#: src/madplug/configure.c:265
 msgid "Use SJIS to write ID3 tags (not recommended)"
 msgstr ""
 
-#: src/madplug/configure.c:273
+#: src/madplug/configure.c:272
 #, fuzzy
 msgid "Miscellaneous Settings"
 msgstr "Mikseri sätted"
 
-#: src/madplug/configure.c:282
+#: src/madplug/configure.c:281
 msgid "Display average bitrate for VBR"
 msgstr ""
 
-#: src/madplug/configure.c:296 src/vorbis/configure.c:102
+#: src/madplug/configure.c:295 src/vorbis/configure.c:100
 msgid "Override generic titles"
 msgstr "Kasutatakse oma pealkirjavormingut"
 
-#: src/madplug/configure.c:308
+#: src/madplug/configure.c:307
 msgid "ID3 format:"
 msgstr "ID3 vorming:"
 
-#: src/madplug/configure.c:320 src/sid/xmms-sid.glade:2540
-#: src/sid/xs_interface.c:1070
+#: src/madplug/configure.c:319 src/sid/xmms-sid.glade:2610
+#: src/sid/xs_interface.c:1102
 msgid "Title"
 msgstr "Pealkiri"
 
-#: src/madplug/plugin.c:524
+#: src/madplug/plugin.c:661
 #, c-format
 msgid ""
 "Audacious MPEG Audio Plugin\n"
@@ -2969,15 +2983,15 @@
 "ReplayGain tugi:\n"
 "    Samuel Krempp"
 
-#: src/madplug/plugin.c:540
+#: src/madplug/plugin.c:677
 msgid "About MPEG Audio Plugin"
 msgstr "MPEG audiopluginast lähemalt"
 
+#: src/metronom/metronom.c:86
+msgid "About Metronom"
+msgstr "Metronoomist lähemalt"
+
 #: src/metronom/metronom.c:87
-msgid "About Metronom"
-msgstr "Metronoomist lähemalt"
-
-#: src/metronom/metronom.c:88
 msgid ""
 "A Tact Generator by Martin Strauss <mys@faveve.uni-stuttgart.de>\n"
 "\n"
@@ -2986,12 +3000,12 @@
 "or   tact://60*3/4 to play 60 bpm in 3/4 tacts"
 msgstr ""
 
-#: src/metronom/metronom.c:198 src/metronom/metronom.c:262
+#: src/metronom/metronom.c:197 src/metronom/metronom.c:261
 #, c-format
 msgid "Tact generator: %d bpm"
 msgstr "Taktigeneraator: %d bpm"
 
-#: src/metronom/metronom.c:200 src/metronom/metronom.c:264
+#: src/metronom/metronom.c:199 src/metronom/metronom.c:263
 #, c-format
 msgid "Tact generator: %d bpm %d/%d"
 msgstr "Taktigeneraator: %d bpm %d/%d"
@@ -3204,11 +3218,11 @@
 msgid "Message"
 msgstr "Sõnum"
 
-#: src/modplug/gui/main.cxx:45
+#: src/modplug/gui/main.cxx:48
 msgid "Modplug Input Plugin for Audacious ver"
 msgstr ""
 
-#: src/modplug/gui/main.cxx:46
+#: src/modplug/gui/main.cxx:49
 msgid ""
 "\n"
 "Modplug sound engine written by Olivier Lapicque.\n"
@@ -3224,7 +3238,7 @@
 "Uuendused ja hooldus: Konstanty Bialkowski.\n"
 "BMP jaoks portinud Theofilos Intzoglou."
 
-#: src/modplug/gui/main.cxx:49
+#: src/modplug/gui/main.cxx:52
 msgid "About Modplug"
 msgstr "Modplug'ist lähemalt"
 
@@ -3234,27 +3248,27 @@
 msgid "Couldn't find pixmap file: %s"
 msgstr ""
 
-#: src/mtp_up/mtp.c:35
+#: src/mtp_up/mtp.c:33
 msgid "Upload selected track(s)"
 msgstr ""
 
-#: src/mtp_up/mtp.c:296
+#: src/mtp_up/mtp.c:294
 msgid "Upload in progress..."
 msgstr ""
 
-#: src/mtp_up/mtp.c:305
+#: src/mtp_up/mtp.c:303
 msgid "MTP device handler"
 msgstr ""
 
-#: src/mtp_up/mtp.c:309
+#: src/mtp_up/mtp.c:307
 msgid "Disconnect the device"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:146
+#: src/musepack/libmpc.cxx:142
 msgid "Musepack Decoder Plugin 1.2"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:147
+#: src/musepack/libmpc.cxx:143
 msgid ""
 "Plugin code by\n"
 "Benoit Amiaux\n"
@@ -3264,196 +3278,226 @@
 "Get latest version at http://musepack.net\n"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:148
+#: src/musepack/libmpc.cxx:144
 msgid "Nevermind"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:166
+#: src/musepack/libmpc.cxx:162
 msgid "Musepack Decoder Configuration"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:176
+#: src/musepack/libmpc.cxx:172
 msgid "General Settings"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:183 src/wavpack/ui.cxx:492
+#: src/musepack/libmpc.cxx:179 src/wavpack/ui.cxx:490
 msgid "Enable Dynamic Bitrate Display"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:187 src/wavpack/ui.cxx:498
+#: src/musepack/libmpc.cxx:183 src/wavpack/ui.cxx:496
 msgid "Plugin"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:190
+#: src/musepack/libmpc.cxx:186
 msgid "ReplayGain Settings"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:197 src/wavpack/ui.cxx:510
+#: src/musepack/libmpc.cxx:193 src/wavpack/ui.cxx:508
 msgid "Enable Clipping Prevention"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:202 src/wavpack/ui.cxx:515
+#: src/musepack/libmpc.cxx:198 src/wavpack/ui.cxx:513
 msgid "Enable ReplayGain"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:207
+#: src/musepack/libmpc.cxx:203
 msgid "ReplayGain Type"
 msgstr ""
 
+#: src/musepack/libmpc.cxx:211
+msgid "Use Track Gain"
+msgstr ""
+
 #: src/musepack/libmpc.cxx:215
-msgid "Use Track Gain"
-msgstr ""
-
-#: src/musepack/libmpc.cxx:219
 msgid "Use Album Gain"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:224 src/wavpack/ui.cxx:547
+#: src/musepack/libmpc.cxx:220 src/wavpack/ui.cxx:545
 msgid "ReplayGain"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:491 src/sid/xmms-sid.glade:3144
-#: src/sid/xs_interface.c:1564 src/tta/libtta.c:304 src/wavpack/ui.cxx:152
+#: src/musepack/libmpc.cxx:487 src/sid/xmms-sid.glade:3338
+#: src/sid/xs_interface.c:1648 src/tta/libtta.c:301 src/wavpack/ui.cxx:150
 msgid "Filename:"
 msgstr "Failinimi:"
 
-#: src/musepack/libmpc.cxx:506
+#: src/musepack/libmpc.cxx:502
 msgid "Musepack Tag"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:514 src/tta/libtta.c:323 src/wavpack/ui.cxx:172
+#: src/musepack/libmpc.cxx:510 src/tta/libtta.c:320 src/wavpack/ui.cxx:170
 msgid "Title:"
 msgstr "Pealkiri:"
 
-#: src/musepack/libmpc.cxx:518 src/tta/libtta.c:333 src/wavpack/ui.cxx:184
+#: src/musepack/libmpc.cxx:514 src/tta/libtta.c:330 src/wavpack/ui.cxx:182
 msgid "Artist:"
 msgstr "Esitaja:"
 
-#: src/musepack/libmpc.cxx:522 src/tta/libtta.c:344 src/wavpack/ui.cxx:196
+#: src/musepack/libmpc.cxx:518 src/tta/libtta.c:341 src/wavpack/ui.cxx:194
 msgid "Album:"
 msgstr "Album:"
 
-#: src/musepack/libmpc.cxx:526 src/tta/libtta.c:355 src/wavpack/ui.cxx:208
+#: src/musepack/libmpc.cxx:522 src/tta/libtta.c:352 src/wavpack/ui.cxx:206
 msgid "Comment:"
 msgstr "Kommentaar:"
 
-#: src/musepack/libmpc.cxx:530 src/tta/libtta.c:366 src/wavpack/ui.cxx:221
+#: src/musepack/libmpc.cxx:526 src/tta/libtta.c:363 src/wavpack/ui.cxx:219
 msgid "Year:"
 msgstr "Aasta:"
 
-#: src/musepack/libmpc.cxx:535
+#: src/musepack/libmpc.cxx:531
 msgid "Track:"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:540 src/tta/libtta.c:390 src/wavpack/ui.cxx:248
+#: src/musepack/libmpc.cxx:536 src/tta/libtta.c:387 src/wavpack/ui.cxx:246
 msgid "Genre:"
 msgstr "Žanr:"
 
-#: src/musepack/libmpc.cxx:551 src/sid/xmms-sid.glade:1732
-#: src/sid/xs_interface.c:820 src/wavpack/ui.cxx:267
+#: src/musepack/libmpc.cxx:547 src/sid/xmms-sid.glade:1732
+#: src/sid/xs_interface.c:832 src/skins/ui_manager.c:438
+#: src/wavpack/ui.cxx:265
 msgid "Save"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:554 src/wavpack/ui.cxx:273
+#: src/musepack/libmpc.cxx:550 src/wavpack/ui.cxx:271
 msgid "Remove Tag"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:562
+#: src/musepack/libmpc.cxx:558
 msgid "Musepack Info"
 msgstr ""
 
+#: src/musepack/libmpc.cxx:591
+#, c-format
+msgid "Streamversion %d"
+msgstr ""
+
+#: src/musepack/libmpc.cxx:592
+#, c-format
+msgid "Encoder: %s"
+msgstr ""
+
+#: src/musepack/libmpc.cxx:593
+#, c-format
+msgid "Profile: %s"
+msgstr ""
+
+#: src/musepack/libmpc.cxx:594
+#, c-format
+msgid "Average bitrate: %6.1f kbps"
+msgstr "Keskmine bitikiirus: %6.1f kbps"
+
 #: src/musepack/libmpc.cxx:595
 #, c-format
-msgid "Streamversion %d"
+msgid "Samplerate: %d Hz"
 msgstr ""
 
 #: src/musepack/libmpc.cxx:596
 #, c-format
-msgid "Encoder: %s"
-msgstr ""
+msgid "Channels: %d"
+msgstr "Kanaleid: %d"
 
 #: src/musepack/libmpc.cxx:597
 #, c-format
-msgid "Profile: %s"
-msgstr ""
+msgid "Length: %d:\\%.2d"
+msgstr "Kestus: %d:\\%.2d"
 
 #: src/musepack/libmpc.cxx:598
 #, c-format
-msgid "Average bitrate: %6.1f kbps"
-msgstr "Keskmine bitikiirus: %6.1f kbps"
+msgid "File size: %d Bytes"
+msgstr ""
 
 #: src/musepack/libmpc.cxx:599
 #, c-format
-msgid "Samplerate: %d Hz"
+msgid "Track Peak: %5u"
 msgstr ""
 
 #: src/musepack/libmpc.cxx:600
 #, c-format
-msgid "Channels: %d"
-msgstr "Kanaleid: %d"
+msgid "Track Gain: %-+2.2f dB"
+msgstr ""
 
 #: src/musepack/libmpc.cxx:601
 #, c-format
-msgid "Length: %d:\\%.2d"
-msgstr "Kestus: %d:\\%.2d"
+msgid "Album Peak: %5u"
+msgstr ""
 
 #: src/musepack/libmpc.cxx:602
 #, c-format
-msgid "File size: %d Bytes"
-msgstr ""
-
-#: src/musepack/libmpc.cxx:603
-#, c-format
-msgid "Track Peak: %5u"
-msgstr ""
-
-#: src/musepack/libmpc.cxx:604
-#, c-format
-msgid "Track Gain: %-+2.2f dB"
-msgstr ""
-
-#: src/musepack/libmpc.cxx:605
-#, c-format
-msgid "Album Peak: %5u"
-msgstr ""
-
-#: src/musepack/libmpc.cxx:606
-#, c-format
 msgid "Album Gain: %-+5.2f dB"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:634 src/tta/libtta.c:413 src/wavpack/ui.cxx:409
+#: src/musepack/libmpc.cxx:630 src/tta/libtta.c:410 src/wavpack/ui.cxx:407
 #, c-format
 msgid "File Info - %s"
 msgstr "Faili andmed: %s"
 
-#: src/null/null.c:61
+#: src/null/null.c:58
 msgid "Null output plugin "
 msgstr ""
 
-#: src/null/null.c:62
+#: src/null/null.c:59
 msgid ""
 " by Christian Birchinger <joker@netswarm.net>\n"
 "based on the XMMS plugin by Håvard Kvål <havardk@xmms.org>"
 msgstr ""
 
-#: src/null/null.c:65
+#: src/null/null.c:62
 msgid "About Null Output"
 msgstr "Nullväljundist lähemalt"
 
-#: src/null/null.c:94
+#: src/null/null.c:91
 msgid "Null output preferences"
 msgstr "Nullväljundi eelistused"
 
-#: src/null/null.c:103
+#: src/null/null.c:100
 msgid "Run in real time"
 msgstr ""
 
-#: src/OSS4/about.c:42
+#: src/OSS4/configure.c:118 src/OSS/configure.c:150
+#, c-format
+msgid "Default (%s)"
+msgstr "Vaikimisi (%s)"
+
+#: src/OSS4/configure.c:168 src/OSS/configure.c:200
+msgid "OSS Driver configuration"
+msgstr "OSS draiveri sätted"
+
+#: src/OSS4/configure.c:206 src/OSS/configure.c:238 src/OSS/configure.c:279
+msgid "Use alternate device:"
+msgstr "Kasutatakse alternatiivseadet:"
+
+#: src/OSS4/configure.c:228 src/OSS/configure.c:301 src/sun/configure.c:246
+msgid "Devices"
+msgstr "Seadmed"
+
+#: src/OSS4/configure.c:270 src/OSS/configure.c:342
+msgid "Mixer Settings:"
+msgstr "Mikseri sätted"
+
+#: src/OSS4/configure.c:276
+msgid "Save VMIX volume between sessions"
+msgstr ""
+
+#: src/OSS4/configure.c:282 src/OSS/configure.c:354 src/sun/configure.c:392
+msgid "Mixer"
+msgstr "Mikser"
+
+#: src/OSS4/OSS4.c:38
 msgid "About OSSv4 Driver"
 msgstr "OSSv4 draiverist lähemalt"
 
-#: src/OSS4/about.c:43
+#: src/OSS4/OSS4.c:39
 msgid ""
 "Audacious OSSv4 Driver\n"
 "\n"
@@ -3491,40 +3535,15 @@
 "programmiga; kui ei, siis võtke ühendust Free Software Foundation'iga,\n"
 "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA."
 
-#: src/OSS4/configure.c:120 src/OSS/configure.c:151
-#, c-format
-msgid "Default (%s)"
-msgstr "Vaikimisi (%s)"
-
-#: src/OSS4/configure.c:170 src/OSS/configure.c:201
-msgid "OSS Driver configuration"
-msgstr "OSS draiveri sätted"
-
-#: src/OSS4/configure.c:208 src/OSS/configure.c:239 src/OSS/configure.c:280
-msgid "Use alternate device:"
-msgstr "Kasutatakse alternatiivseadet:"
-
-#: src/OSS4/configure.c:230 src/OSS/configure.c:302 src/sun/configure.c:248
-msgid "Devices"
-msgstr "Seadmed"
-
-#: src/OSS4/configure.c:272 src/OSS/configure.c:343
-msgid "Mixer Settings:"
-msgstr "Mikseri sätted"
-
-#: src/OSS4/configure.c:278
-msgid "Save VMIX volume between sessions"
-msgstr ""
-
-#: src/OSS4/configure.c:284 src/OSS/configure.c:355 src/sun/configure.c:394
-msgid "Mixer"
-msgstr "Mikser"
-
-#: src/OSS/about.c:39
+#: src/OSS/configure.c:348
+msgid "Volume controls Master not PCM"
+msgstr ""
+
+#: src/OSS/OSS.c:37
 msgid "About OSS Driver"
 msgstr "OSS draiverist lähemalt"
 
-#: src/OSS/about.c:40
+#: src/OSS/OSS.c:38
 msgid ""
 "Audacious OSS Driver\n"
 "\n"
@@ -3559,19 +3578,15 @@
 "programmiga; kui ei, siis võtke ühendust Free Software Foundation'iga,\n"
 "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA."
 
-#: src/OSS/configure.c:349
-msgid "Volume controls Master not PCM"
-msgstr ""
-
 #: src/projectm-1.0/main.c:70
 msgid "_Random"
 msgstr ""
 
-#: src/pulse_audio/pulse_audio.c:722
+#: src/pulse_audio/pulse_audio.c:720
 msgid "About Audacious PulseAudio Output Plugin"
 msgstr "Audacious'e PulseAudio väljundpluginast lähemalt"
 
-#: src/pulse_audio/pulse_audio.c:723
+#: src/pulse_audio/pulse_audio.c:721
 msgid ""
 "Audacious PulseAudio Output Plugin\n"
 "\n"
@@ -3606,27 +3621,27 @@
 "programmiga; kui ei, siis võtke ühendust Free Software Foundation'iga,\n"
 "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA."
 
-#: src/scrobbler/configure.c:138
+#: src/scrobbler/configure.c:134
 msgid "<b>Services</b>"
 msgstr "<b>Teenused</b>"
 
-#: src/scrobbler/configure.c:160 src/scrobbler/configure.c:199
+#: src/scrobbler/configure.c:156 src/scrobbler/configure.c:195
 msgid "Username:"
 msgstr "Kasutajanimi:"
 
-#: src/scrobbler/configure.c:166 src/scrobbler/configure.c:205
+#: src/scrobbler/configure.c:162 src/scrobbler/configure.c:201
 msgid "Password:"
 msgstr "Parool:"
 
-#: src/scrobbler/configure.c:183
+#: src/scrobbler/configure.c:179
 msgid "<b>Last.FM</b>"
 msgstr "<b>Last.FM</b>"
 
-#: src/scrobbler/configure.c:222
+#: src/scrobbler/configure.c:218
 msgid "<b>Gerpok</b>"
 msgstr "<b>Gerpok</b>"
 
-#: src/scrobbler/gtkstuff.c:21
+#: src/scrobbler/gtkstuff.c:18
 msgid ""
 "Audacious AudioScrobbler Plugin\n"
 "\n"
@@ -3634,11 +3649,11 @@
 "com>\n"
 msgstr ""
 
-#: src/scrobbler/gtkstuff.c:23
+#: src/scrobbler/gtkstuff.c:20
 msgid "About Scrobbler Plugin"
 msgstr ""
 
-#: src/scrobbler/gtkstuff.c:36
+#: src/scrobbler/gtkstuff.c:33
 #, c-format
 msgid ""
 "There has been an error that may require your attention.\n"
@@ -3648,106 +3663,106 @@
 "%s\n"
 msgstr ""
 
-#: src/scrobbler/gtkstuff.c:43
+#: src/scrobbler/gtkstuff.c:40
 msgid "Scrobbler Error"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:8 src/sid/xs_interface.c:221
+#: src/sid/xmms-sid.glade:8 src/sid/xs_interface.c:233
 msgid "Audacious-SID configuration"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:71 src/sid/xs_interface.c:257
+#: src/sid/xmms-sid.glade:71 src/sid/xs_interface.c:269
 msgid "8-bit"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:90 src/sid/xs_interface.c:264
+#: src/sid/xmms-sid.glade:90 src/sid/xs_interface.c:276
 msgid "16-bit"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:111 src/sid/xs_interface.c:271
+#: src/sid/xmms-sid.glade:111 src/sid/xs_interface.c:283
 msgid "Resolution:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:196 src/sid/xs_interface.c:302
+#: src/sid/xmms-sid.glade:196 src/sid/xs_interface.c:314
 msgid "Autopanning"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:217 src/sid/xs_interface.c:309
+#: src/sid/xmms-sid.glade:217 src/sid/xs_interface.c:321
 msgid "Channels:"
 msgstr "Kanaleid:"
 
-#: src/sid/xmms-sid.glade:384 src/sid/xs_interface.c:353
+#: src/sid/xmms-sid.glade:384 src/sid/xs_interface.c:365
 msgid "Samplerate:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:430 src/sid/xs_interface.c:370
+#: src/sid/xmms-sid.glade:430 src/sid/xs_interface.c:382
 msgid "Use oversampling"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:456 src/sid/xs_interface.c:381
+#: src/sid/xmms-sid.glade:456 src/sid/xs_interface.c:393
 msgid "Factor:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:500 src/sid/xs_interface.c:393
+#: src/sid/xmms-sid.glade:500 src/sid/xs_interface.c:405
 msgid "Large factors require more CPU-power"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:534 src/sid/xs_interface.c:399
+#: src/sid/xmms-sid.glade:534 src/sid/xs_interface.c:411
 msgid "Oversampling:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:570 src/sid/xs_interface.c:404
+#: src/sid/xmms-sid.glade:570 src/sid/xs_interface.c:416
 msgid "Audio"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:620 src/sid/xs_interface.c:436
+#: src/sid/xmms-sid.glade:620 src/sid/xs_interface.c:448
 msgid ""
 "If enabled, this option \"forces\" the emulation engine to use the selected "
 "clock speed/frequency. Otherwise the speed is determined from played file "
 "itself."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:622 src/sid/xs_interface.c:432
+#: src/sid/xmms-sid.glade:622 src/sid/xs_interface.c:444
 msgid "Force speed"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:640 src/sid/xs_interface.c:442
+#: src/sid/xmms-sid.glade:640 src/sid/xs_interface.c:454
 msgid ""
 "PAL is the european TV standard, which uses 50Hz vertical refresh frequency. "
 "Most of SID-tunes have been made for PAL computers."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:642 src/sid/xs_interface.c:438
+#: src/sid/xmms-sid.glade:642 src/sid/xs_interface.c:450
 msgid "PAL (50 Hz)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:660 src/sid/xs_interface.c:450
+#: src/sid/xmms-sid.glade:660 src/sid/xs_interface.c:462
 msgid ""
 "NTSC is the TV standard with 60Hz vertical refresh rate (and other features "
 "that differ from PAL). It is mainly used in United States, Japan and certain "
 "other countries."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:662 src/sid/xs_interface.c:446
+#: src/sid/xmms-sid.glade:662 src/sid/xs_interface.c:458
 msgid "NTSC (60 Hz)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:683 src/sid/xs_interface.c:454
+#: src/sid/xmms-sid.glade:683 src/sid/xs_interface.c:466
 msgid "Clock speed:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:728 src/sid/xs_interface.c:475
+#: src/sid/xmms-sid.glade:728 src/sid/xs_interface.c:487
 msgid ""
 "If enabled, this option \"forces\" the emulation engine to use the selected "
 "SID-chip model. Otherwise the preferred SID model is determined from the "
 "file (if PSIDv2NG type) or if not available, this setting is used."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:730 src/sid/xs_interface.c:471
+#: src/sid/xmms-sid.glade:730 src/sid/xs_interface.c:483
 msgid "Force model"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:748 src/sid/xs_interface.c:481
+#: src/sid/xmms-sid.glade:748 src/sid/xs_interface.c:493
 msgid ""
 "MOS/CSG 6581 is the earlier major version of SID chip. It differs from 8580 "
 "in few ways, having much fuller filter (which, due to design error, is never "
@@ -3755,89 +3770,89 @@
 "which enables playing of digital samples."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:750 src/sid/xs_interface.c:477
+#: src/sid/xmms-sid.glade:750 src/sid/xs_interface.c:489
 msgid "MOS 6581"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:769 src/sid/xs_interface.c:485
+#: src/sid/xmms-sid.glade:769 src/sid/xs_interface.c:497
 msgid "MOS 8580"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:790 src/sid/xs_interface.c:492
+#: src/sid/xmms-sid.glade:790 src/sid/xs_interface.c:504
 msgid "SID model:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:842 src/sid/xs_interface.c:513
+#: src/sid/xmms-sid.glade:842 src/sid/xs_interface.c:525
 msgid ""
 "Use libSIDPlay 1.x emulation, faster but not so accurate. Good in most "
 "cases, though."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:844 src/sid/xs_interface.c:509
+#: src/sid/xmms-sid.glade:844 src/sid/xs_interface.c:521
 msgid "SIDPlay 1 (frame-based)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:863 src/sid/xs_interface.c:521
+#: src/sid/xmms-sid.glade:863 src/sid/xs_interface.c:533
 msgid ""
 "Use libSIDPlay 2.x emulation, which requires powerful CPU due to more exact "
 "emulation."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:865 src/sid/xs_interface.c:517
+#: src/sid/xmms-sid.glade:865 src/sid/xs_interface.c:529
 msgid "SIDPlay 2 (cycle-based)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:887 src/sid/xs_interface.c:525
+#: src/sid/xmms-sid.glade:887 src/sid/xs_interface.c:537
 msgid "Emulation library selection:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:933 src/sid/xs_interface.c:542
+#: src/sid/xmms-sid.glade:933 src/sid/xs_interface.c:554
 msgid "Real C64 (SIDPlay 2 only)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:952 src/sid/xs_interface.c:549
+#: src/sid/xmms-sid.glade:952 src/sid/xs_interface.c:561
 msgid "Bank switching"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:972 src/sid/xs_interface.c:556
+#: src/sid/xmms-sid.glade:972 src/sid/xs_interface.c:568
 msgid "Transparent ROM"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:992 src/sid/xs_interface.c:563
+#: src/sid/xmms-sid.glade:992 src/sid/xs_interface.c:575
 msgid "PlaySID environment"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1013 src/sid/xs_interface.c:570
+#: src/sid/xmms-sid.glade:1013 src/sid/xs_interface.c:582
 msgid "Memory mode:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1049 src/sid/xs_interface.c:575
+#: src/sid/xmms-sid.glade:1049 src/sid/xs_interface.c:587
 msgid "Emu#1"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1093 src/sid/xs_interface.c:602
+#: src/sid/xmms-sid.glade:1093 src/sid/xs_interface.c:614
 msgid ""
 "This setting can be used to enable libSIDPlay2's \"optimization mode\", "
 "which in downgrades the emulation from cycle-exact to something similar to "
 "frame-exact. The result is lower CPU usage, but worse accuracy."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1095 src/sid/xs_interface.c:598
+#: src/sid/xmms-sid.glade:1095 src/sid/xs_interface.c:610
 msgid "Optimization mode (faster, inaccurate)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1113 src/sid/xs_interface.c:608
+#: src/sid/xmms-sid.glade:1113 src/sid/xs_interface.c:620
 msgid ""
 "reSID is the software SID-chip simulator based on SID reverse-engineering, "
 "created by Dag Lem. It is probably the closest thing to real SID available "
 "as software-only emulation."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1115 src/sid/xs_interface.c:604
+#: src/sid/xmms-sid.glade:1115 src/sid/xs_interface.c:616
 msgid "reSID-emulation"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1133 src/sid/xs_interface.c:616
+#: src/sid/xmms-sid.glade:1133 src/sid/xs_interface.c:628
 msgid ""
 "HardSID is a EISA/PCI card for PC-compatibles, which can be fitted with a "
 "real SID-chip. Software can be used to control the HardSID and combined with "
@@ -3846,47 +3861,47 @@
 "http://www.hardsid.com/"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1135 src/sid/xs_interface.c:612
+#: src/sid/xmms-sid.glade:1135 src/sid/xs_interface.c:624
 msgid "HardSID"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1156 src/sid/xs_interface.c:620
+#: src/sid/xmms-sid.glade:1156 src/sid/xs_interface.c:632
 msgid "SIDPlay 2 options:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1201 src/sid/xs_interface.c:641
+#: src/sid/xmms-sid.glade:1201 src/sid/xs_interface.c:653
 msgid ""
 "Fastest and also worst sounding sampling method, simply picks nearest "
 "neighbouring sample."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1203 src/sid/xs_interface.c:637
+#: src/sid/xmms-sid.glade:1203 src/sid/xs_interface.c:649
 msgid "Fast (nearest neighbour)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1221 src/sid/xs_interface.c:649
+#: src/sid/xmms-sid.glade:1221 src/sid/xs_interface.c:661
 msgid ""
 "Uses linear interpolation between samples, yielding higher audio quality "
 "with less sampling noise."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1223 src/sid/xs_interface.c:645
+#: src/sid/xmms-sid.glade:1223 src/sid/xs_interface.c:657
 msgid "Linear interpolation"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1263 src/sid/xs_interface.c:660
+#: src/sid/xmms-sid.glade:1263 src/sid/xs_interface.c:672
 msgid "Resampling (FIR)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1284 src/sid/xs_interface.c:667
+#: src/sid/xmms-sid.glade:1284 src/sid/xs_interface.c:679
 msgid "reSID sampling options:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1320 src/sid/xs_interface.c:672
+#: src/sid/xmms-sid.glade:1320 src/sid/xs_interface.c:684
 msgid "Emu#2"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1350 src/sid/xs_interface.c:688
+#: src/sid/xmms-sid.glade:1350 src/sid/xs_interface.c:700
 msgid ""
 "This option enables emulation of SID filter. The filter is an essential part "
 "of SID's sound capacity, but accurate emulation of it may require quite much "
@@ -3894,294 +3909,305 @@
 "authentic at all if they utilize the filter."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1352 src/sid/xs_interface.c:684
+#: src/sid/xmms-sid.glade:1352 src/sid/xs_interface.c:696
 msgid "Emulate filters"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1409 src/sid/xs_interface.c:713
+#: src/sid/xmms-sid.glade:1409 src/sid/xs_interface.c:725
 msgid "FS"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1460 src/sid/xs_interface.c:730
+#: src/sid/xmms-sid.glade:1460 src/sid/xs_interface.c:742
 msgid "FM"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1511 src/sid/xs_interface.c:747
+#: src/sid/xmms-sid.glade:1511 src/sid/xs_interface.c:759
 msgid "FT"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1549 src/sid/xs_interface.c:758
+#: src/sid/xmms-sid.glade:1549 src/sid/xs_interface.c:770
 msgid "Reset values"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1578 src/sid/xs_interface.c:763
+#: src/sid/xmms-sid.glade:1578 src/sid/xs_interface.c:775
 msgid "SIDPlay1"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1690 src/sid/xs_interface.c:804
+#: src/sid/xmms-sid.glade:1690 src/sid/xs_interface.c:816
 msgid "Export"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1711 src/sid/xs_interface.c:812
+#: src/sid/xmms-sid.glade:1711 src/sid/xs_interface.c:824
 msgid "Use"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1753 src/sid/xs_interface.c:828
+#: src/sid/xmms-sid.glade:1753 src/sid/xs_interface.c:840
+#: src/skins/ui_manager.c:437
 msgid "Import"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1774 src/sid/xs_interface.c:836
+#: src/sid/xmms-sid.glade:1774 src/sid/xs_interface.c:848
+#: src/skins/ui_manager.c:439
 msgid "Delete"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1819 src/sid/xs_interface.c:850
+#: src/sid/xmms-sid.glade:1819 src/sid/xs_interface.c:862
 msgid "Filter curve:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1855 src/sid/xs_interface.c:855
+#: src/sid/xmms-sid.glade:1855 src/sid/xs_interface.c:867
 msgid "SIDPlay2"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1891 src/sid/xs_interface.c:861
+#: src/sid/xmms-sid.glade:1891 src/sid/xs_interface.c:873
 msgid "Filters"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1935 src/sid/xs_interface.c:888
+#: src/sid/xmms-sid.glade:1935 src/sid/xs_interface.c:900
 msgid ""
 "If enabled, the tune is played at least for the specified time, adding "
 "silence to the end if necessary."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1937 src/sid/xs_interface.c:884
+#: src/sid/xmms-sid.glade:1937 src/sid/xs_interface.c:896
 msgid "Play at least for specified time"
 msgstr ""
 
 #: src/sid/xmms-sid.glade:1962 src/sid/xmms-sid.glade:2133
-#: src/sid/xmms-sid.glade:2632 src/sid/xs_interface.c:895
-#: src/sid/xs_interface.c:949 src/sid/xs_interface.c:1109
+#: src/sid/xmms-sid.glade:2702 src/sid/xs_interface.c:907
+#: src/sid/xs_interface.c:961 src/sid/xs_interface.c:1141
 msgid "Playtime:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2041 src/sid/xs_interface.c:915
+#: src/sid/xmms-sid.glade:2041 src/sid/xs_interface.c:927
 msgid "Minimum playtime:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2086 src/sid/xs_interface.c:936
+#: src/sid/xmms-sid.glade:2086 src/sid/xs_interface.c:948
 msgid ""
 "If enabled, tune is played until specified duration is reached (aka maximum "
 "playtime)."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2088 src/sid/xs_interface.c:932
+#: src/sid/xmms-sid.glade:2088 src/sid/xs_interface.c:944
 msgid "Play for specified time maximum"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2107 src/sid/xs_interface.c:942
+#: src/sid/xmms-sid.glade:2107 src/sid/xs_interface.c:954
 msgid ""
 "If enabled, the maximum playtime is applied only if song/tune length is not "
 "known."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2109 src/sid/xs_interface.c:938
+#: src/sid/xmms-sid.glade:2109 src/sid/xs_interface.c:950
 msgid "Only when song length is unknown"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2212 src/sid/xs_interface.c:969
+#: src/sid/xmms-sid.glade:2212 src/sid/xs_interface.c:981
 msgid "Maximum playtime:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2257 src/sid/xs_interface.c:990
+#: src/sid/xmms-sid.glade:2257 src/sid/xs_interface.c:1002
 msgid ""
 "This option enables using of XSIDPLAY compatible song length database. "
 "(Refer to Audacious-SID documentation for more information)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2259 src/sid/xs_interface.c:986
+#: src/sid/xmms-sid.glade:2259 src/sid/xs_interface.c:998
 msgid "Use XSIDPLAY-compatible database"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2284 src/sid/xs_interface.c:997
+#: src/sid/xmms-sid.glade:2284 src/sid/xs_interface.c:1009
 msgid "DB-file:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2309 src/sid/xs_interface.c:1007
+#: src/sid/xmms-sid.glade:2309 src/sid/xs_interface.c:1019
 msgid "Database path and filename"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2329 src/sid/xs_interface.c:1014
+#: src/sid/xmms-sid.glade:2329 src/sid/xs_interface.c:1026
 msgid "Browse for song length-database file"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2356 src/sid/xs_interface.c:1016
+#: src/sid/xmms-sid.glade:2418 src/sid/xs_interface.c:1048
 msgid "Song length database:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2392 src/sid/xs_interface.c:1021
+#: src/sid/xmms-sid.glade:2454 src/sid/xs_interface.c:1053
 msgid "Songlength"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2430 src/sid/xs_interface.c:1043
+#: src/sid/xmms-sid.glade:2492 src/sid/xs_interface.c:1075
 msgid ""
 "By enabling this option you can specify a custom Tuplez formatting string "
 "for SID-files. The SID-plugin specific Tuplez tags are described shortly "
 "below."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2432 src/sid/xs_interface.c:1039
+#: src/sid/xmms-sid.glade:2494 src/sid/xs_interface.c:1071
 msgid "Override generic Tuplez format string"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2457 src/sid/xs_interface.c:1054
+#: src/sid/xmms-sid.glade:2519 src/sid/xs_interface.c:1086
 msgid "Tuplez format string for SID-files"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2477 src/sid/xs_interface.c:1057
-msgid "Descriptions of <i>SID-specific</i> Tuplez fields go here. <b>:D</b>"
-msgstr ""
-
-#: src/sid/xmms-sid.glade:2511 src/sid/xs_interface.c:1065
+#: src/sid/xmms-sid.glade:2539 src/sid/xs_interface.c:1089
+msgid ""
+"<u>SID-specific Tuplez fields:</u>\n"
+"\n"
+"<b>sid-format</b>\t\t- Specific fileformat\n"
+"<b>sid-model</b>\t\t- 6581 or 8580\n"
+"<b>sid-speed</b>\t\t- Timing or speed: PAL/NTSC/etc.\n"
+"\n"
+"<u>Other \"special\" fields set:</u>\n"
+"\n"
+"<b>subsong-num, subsong-id</b>"
+msgstr ""
+
+#: src/sid/xmms-sid.glade:2581 src/sid/xs_interface.c:1097
 msgid "Song title format:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2584 src/sid/xs_interface.c:1096
+#: src/sid/xmms-sid.glade:2654 src/sid/xs_interface.c:1128
 msgid ""
 "If enabled, sub-tunes of each file will be added to playlist. If disabled, "
 "only the default sub-tune will be added."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2586 src/sid/xs_interface.c:1092
+#: src/sid/xmms-sid.glade:2656 src/sid/xs_interface.c:1124
 msgid "Add sub-tunes to playlist"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2605 src/sid/xs_interface.c:1102
+#: src/sid/xmms-sid.glade:2675 src/sid/xs_interface.c:1134
 msgid "Only add sub-tunes that have a duration of at least specified time."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2607 src/sid/xs_interface.c:1098
+#: src/sid/xmms-sid.glade:2677 src/sid/xs_interface.c:1130
 msgid "Only tunes with specified minimum duration"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2710 src/sid/xs_interface.c:1129
+#: src/sid/xmms-sid.glade:2780 src/sid/xs_interface.c:1161
 msgid "Sub-tune handling:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2755 src/sid/xs_interface.c:1150
+#: src/sid/xmms-sid.glade:2825 src/sid/xs_interface.c:1182
 msgid ""
 "If this option is enabled (and the database & HVSC settings below are "
 "correctly set), Audacious-SID will use and display additional information "
 "from STIL database when HVSC SIDs are played."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2757 src/sid/xs_interface.c:1146
+#: src/sid/xmms-sid.glade:2827 src/sid/xs_interface.c:1178
 msgid "Use STIL database"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2782 src/sid/xs_interface.c:1157
+#: src/sid/xmms-sid.glade:2852 src/sid/xs_interface.c:1189
 msgid "STIL file:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2819 src/sid/xs_interface.c:1173
+#: src/sid/xmms-sid.glade:2889 src/sid/xs_interface.c:1205
 msgid ""
 "Path and filename of STIL database file (STIL.txt), usually found from "
 "HVSC's DOCUMENTS-subdirectory."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2854 src/sid/xs_interface.c:1186
+#: src/sid/xmms-sid.glade:2924 src/sid/xs_interface.c:1218
 msgid "Browse for STIL-database file"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2888 src/sid/xs_interface.c:1193
+#: src/sid/xmms-sid.glade:3020 src/sid/xs_interface.c:1245
 msgid "HVSC path:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2925 src/sid/xs_interface.c:1209
+#: src/sid/xmms-sid.glade:3057 src/sid/xs_interface.c:1261
 msgid ""
 "Path to base-directory of your High Voltage SID Collection (HVSC), for "
 "example /media/C64Music/"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2960 src/sid/xs_interface.c:1222
+#: src/sid/xmms-sid.glade:3092 src/sid/xs_interface.c:1274
 msgid "Browse for HVSC path"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2990 src/sid/xs_interface.c:1224
+#: src/sid/xmms-sid.glade:3184 src/sid/xs_interface.c:1296
 msgid "SID Tune Information List (STIL) database:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3063 src/sid/xs_interface.c:1248
+#: src/sid/xmms-sid.glade:3257 src/sid/xs_interface.c:1320
 msgid "Accept and update changes"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3077 src/sid/xs_interface.c:1255
+#: src/sid/xmms-sid.glade:3271 src/sid/xs_interface.c:1327
 msgid "Cancel any changes"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3102 src/sid/xs_interface.c:1543
+#: src/sid/xmms-sid.glade:3296 src/sid/xs_interface.c:1627
 msgid "Audacious-SID Fileinfo"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3172 src/sid/xs_interface.c:1572
+#: src/sid/xmms-sid.glade:3366 src/sid/xs_interface.c:1656
 msgid "Songname:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3200 src/sid/xs_interface.c:1580
+#: src/sid/xmms-sid.glade:3394 src/sid/xs_interface.c:1664
 msgid "Composer:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3228 src/sid/xs_interface.c:1588
+#: src/sid/xmms-sid.glade:3422 src/sid/xs_interface.c:1672
 msgid "Copyright:"
 msgstr "Autoriõigused:"
 
-#: src/sid/xmms-sid.glade:3342 src/sid/xs_interface.c:1632
+#: src/sid/xmms-sid.glade:3536 src/sid/xs_interface.c:1716
 msgid "Song Information:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3416 src/sid/xs_interface.c:1667
+#: src/sid/xmms-sid.glade:3610 src/sid/xs_interface.c:1751
 msgid "Author:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3514 src/sid/xs_interface.c:1701
+#: src/sid/xmms-sid.glade:3708 src/sid/xs_interface.c:1785
 msgid "Duration:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3608 src/sid/xs_interface.c:1735
+#: src/sid/xmms-sid.glade:3802 src/sid/xs_interface.c:1819
 msgid "Sub-tune Information:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3662 src/sid/xs_interface.c:1796
+#: src/sid/xmms-sid.glade:3856 src/sid/xs_interface.c:1880
 msgid "Select HVSC song length database"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3704 src/sid/xs_interface.c:1837
+#: src/sid/xmms-sid.glade:3898 src/sid/xs_interface.c:1921
 msgid "Select STIL-database"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3746 src/sid/xs_interface.c:1878
+#: src/sid/xmms-sid.glade:3940 src/sid/xs_interface.c:1962
 msgid "Select HVSC location prefix"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3788 src/sid/xs_interface.c:1919
+#: src/sid/xmms-sid.glade:3982 src/sid/xs_interface.c:2003
 msgid "Select SIDPlay2 filters file for importing"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3830 src/sid/xs_interface.c:1960
+#: src/sid/xmms-sid.glade:4024 src/sid/xs_interface.c:2044
 msgid "Select SIDPlay2 filters file for exporting"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3871 src/sid/xmms-sid.glade:3953
-#: src/sid/xs_interface.c:2008 src/sid/xs_interface.c:2021
+#: src/sid/xmms-sid.glade:4065 src/sid/xmms-sid.glade:4147
+#: src/sid/xs_interface.c:2092 src/sid/xs_interface.c:2105
 msgid "Confirm selected action"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3909 src/sid/xs_interface.c:2038
+#: src/sid/xmms-sid.glade:4103 src/sid/xs_interface.c:2122
 msgid "Yes"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3921 src/sid/xs_interface.c:2044
+#: src/sid/xmms-sid.glade:4115 src/sid/xs_interface.c:2128
 msgid "No"
 msgstr ""
 
-#: src/sid/xs_about.c:84 src/wma/wma.c:121
+#: src/sid/xs_about.c:84 src/wma/wma.c:118
 #, c-format
 msgid "About %s"
 msgstr "\"%s\" pluginast lähemalt"
@@ -4195,12 +4221,1122 @@
 msgid "Tune #%i: "
 msgstr ""
 
-#: src/sndfile/plugin.c:548
+#: src/skins/plugin.c:128
+msgid "About Skinned GUI"
+msgstr ""
+
+#: src/skins/plugin.c:129
+msgid ""
+"Copyright (c) 2008, by Tomasz Moń <desowin@gmail.com>\n"
+"\n"
+msgstr ""
+
+#: src/skins/skins_cfg.c:329
+#, fuzzy
+msgid "<b>_Fonts</b>"
+msgstr "<b>Failinimi: </b>"
+
+#: src/skins/skins_cfg.c:330
+#, fuzzy
+msgid "_Player:"
+msgstr "Esitamine"
+
+#: src/skins/skins_cfg.c:330
+msgid "Select main player window font:"
+msgstr ""
+
+#: src/skins/skins_cfg.c:331
+#, fuzzy
+msgid "_Playlist:"
+msgstr "Esitusnimekirja valimine"
+
+#: src/skins/skins_cfg.c:331
+#, fuzzy
+msgid "Select playlist font:"
+msgstr "Esitusnimekirja valimine"
+
+#: src/skins/skins_cfg.c:332
+#, fuzzy
+msgid "Use Bitmap fonts if available"
+msgstr "Võimaluse korral kasutatakse CDDB-d"
+
+#: src/skins/skins_cfg.c:332
+msgid ""
+"Use bitmap fonts if they are available. Bitmap fonts do not support Unicode "
+"strings."
+msgstr ""
+
+#: src/skins/skins_cfg.c:333
+#, fuzzy
+msgid "<b>_Miscellaneous</b>"
+msgstr "<b>Teenused</b>"
+
+#: src/skins/skins_cfg.c:334
+msgid "Show track numbers in playlist"
+msgstr ""
+
+#: src/skins/skins_cfg.c:336
+msgid "Show separators in playlist"
+msgstr ""
+
+#: src/skins/skins_cfg.c:338
+msgid "Show window manager decoration"
+msgstr ""
+
+#: src/skins/skins_cfg.c:339
+msgid "This enables the window manager to show decorations for windows."
+msgstr ""
+
+#: src/skins/skins_cfg.c:340
+msgid "Use two-way text scroller"
+msgstr ""
+
+#: src/skins/skins_cfg.c:341
+msgid ""
+"If selected, the file information text in the main window will scroll back "
+"and forth. If not selected, the text will only scroll in one direction."
+msgstr ""
+
+#: src/skins/skins_cfg.c:342
+msgid "Disable inline gtk theme"
+msgstr ""
+
+#: src/skins/skins_cfg.c:343
+msgid "Allow loading incomplete skins"
+msgstr ""
+
+#: src/skins/skins_cfg.c:344
+msgid ""
+"If selected, audacious won't refuse loading broken skins. Use only if your "
+"favourite skin doesn't work"
+msgstr ""
+
+#: src/skins/skins_cfg.c:410
+msgid "Color Adjustment"
+msgstr ""
+
+#: src/skins/skins_cfg.c:417
+msgid ""
+"Audacious allows you to alter the color balance of the skinned UI. The "
+"sliders below will allow you to do this."
+msgstr ""
+
+#: src/skins/skins_cfg.c:427
+#, fuzzy
+msgid "Blue"
+msgstr "Valjus"
+
+#: src/skins/skins_cfg.c:434
+msgid "Green"
+msgstr ""
+
+#: src/skins/skins_cfg.c:441
+msgid "Red"
+msgstr ""
+
+#: src/skins/skins_cfg.c:571
+#, fuzzy
+msgid "Audacious Skinned GUI Configuration"
+msgstr "Audioplaatide plugina sätted"
+
+#: src/skins/skins_cfg.c:596
+#, fuzzy
+msgid "<b>_Skin</b>"
+msgstr "<b>Failinimi: </b>"
+
+#: src/skins/ui_equalizer.c:494
+msgid "Audacious Equalizer"
+msgstr ""
+
+#: src/skins/ui_equalizer.c:794
+#, c-format
+msgid "Error importing Winamp EQF file '%s'"
+msgstr ""
+
+#: src/skins/ui_equalizer.c:1172
+msgid "Presets"
+msgstr ""
+
+#: src/skins/ui_main.c:392
+#, c-format
+msgid "%s - Audacious"
+msgstr "%s - Audacious"
+
+#: src/skins/ui_main.c:394 src/skins/ui_main.c:2397
+#, fuzzy
+msgid "Audacious"
+msgstr "%s - Audacious"
+
+#: src/skins/ui_main.c:641
+msgid "VBR"
+msgstr ""
+
+#: src/skins/ui_main.c:659 src/skins/ui_main.c:663
+#, fuzzy
+msgid "stereo"
+msgstr "Stereo"
+
+#: src/skins/ui_main.c:659 src/skins/ui_main.c:663
+#, fuzzy
+msgid "mono"
+msgstr "Mono"
+
+#: src/skins/ui_main.c:957
+msgid "Can't jump to time when no track is being played.\n"
+msgstr ""
+
+#: src/skins/ui_main.c:972 src/skins/ui_manager.c:425
+#: src/skins/ui_manager.c:426
+msgid "Jump to Time"
+msgstr ""
+
+#: src/skins/ui_main.c:993
+#, fuzzy
+msgid "minutes:seconds"
+msgstr "minutit"
+
+#: src/skins/ui_main.c:1003
+#, fuzzy
+msgid "Track length:"
+msgstr "Loo number:"
+
+#: src/skins/ui_main.c:1149
+msgid "Audacious - visibility warning"
+msgstr ""
+
+#: src/skins/ui_main.c:1152
+msgid "Show main player window"
+msgstr ""
+
+#: src/skins/ui_main.c:1153
+msgid "Ignore"
+msgstr ""
+
+#: src/skins/ui_main.c:1159
+msgid ""
+"Audacious has been started with all of its windows hidden.\n"
+"You may want to show the player window again to control Audacious; "
+"otherwise, you'll have to control it remotely via audtool or enabled plugins "
+"(such as the statusicon plugin)."
+msgstr ""
+
+#: src/skins/ui_main.c:1165
+msgid "Always ignore, show/hide is controlled remotely"
+msgstr ""
+
+#: src/skins/ui_main.c:1210
+msgid "Audacious - broken GTK engine usage warning"
+msgstr ""
+
+#: src/skins/ui_main.c:1218
+#, c-format
+msgid ""
+"<big><b>Broken GTK engine in use</b></big>\n"
+"\n"
+"Audacious has detected that you are using a broken GTK engine.\n"
+"\n"
+"The theme engine you are using, <i>%s</i>, is incompatible with some of the "
+"features used by modern skins. The incompatible features have been disabled "
+"for this session.\n"
+"\n"
+"To use these features, please consider using a different GTK theme engine."
+msgstr ""
+
+#: src/skins/ui_main.c:1229
+msgid "Do not display this warning again"
+msgstr ""
+
+#: src/skins/ui_main.c:1253
+msgid "Enter location to play:"
+msgstr ""
+
+#: src/skins/ui_main.c:1497
+#, c-format
+msgid "Seek to: %d:%-2.2d/%d:%-2.2d (%d%%)"
+msgstr ""
+
+#: src/skins/ui_main.c:1527
+#, fuzzy, c-format
+msgid "Volume: %d%%"
+msgstr "Valjus: (%)"
+
+#: src/skins/ui_main.c:1555
+#, c-format
+msgid "Balance: %d%% left"
+msgstr ""
+
+#: src/skins/ui_main.c:1559
+msgid "Balance: center"
+msgstr ""
+
+#: src/skins/ui_main.c:1563
+#, c-format
+msgid "Balance: %d%% right"
+msgstr ""
+
+#: src/skins/ui_main.c:1881
+#, fuzzy
+msgid "Options Menu"
+msgstr "Valikud"
+
+#: src/skins/ui_main.c:1885
+msgid "Disable 'Always On Top'"
+msgstr ""
+
+#: src/skins/ui_main.c:1887
+msgid "Enable 'Always On Top'"
+msgstr ""
+
+#: src/skins/ui_main.c:1890
+#, fuzzy
+msgid "File Info Box"
+msgstr "Faili andmed"
+
+#: src/skins/ui_main.c:1894
+msgid "Disable 'GUI Scaling'"
+msgstr ""
+
+#: src/skins/ui_main.c:1896
+msgid "Enable 'GUI Scaling'"
+msgstr ""
+
+#: src/skins/ui_main.c:1899
+msgid "Visualization Menu"
+msgstr ""
+
+#: src/skins/ui_main.c:1946
+msgid ""
+"<b><big>Couldn't open audio.</big></b>\n"
+"\n"
+"Please check that:\n"
+"1. You have the correct output plugin selected.\n"
+"2. No other programs is blocking the soundcard.\n"
+"3. Your soundcard is configured properly.\n"
+msgstr ""
+
+#: src/skins/ui_manager.c:53 src/skins/ui_manager.c:54
+msgid "Autoscroll Songname"
+msgstr ""
+
+#: src/skins/ui_manager.c:56 src/skins/ui_manager.c:57
+msgid "Stop after Current Song"
+msgstr ""
+
+#: src/skins/ui_manager.c:59 src/skins/ui_manager.c:60
+msgid "Peaks"
+msgstr ""
+
+#: src/skins/ui_manager.c:62 src/skins/ui_manager.c:63
+msgid "Repeat"
+msgstr ""
+
+#: src/skins/ui_manager.c:65 src/skins/ui_manager.c:66
+msgid "Shuffle"
+msgstr ""
+
+#: src/skins/ui_manager.c:68 src/skins/ui_manager.c:69
+msgid "No Playlist Advance"
+msgstr ""
+
+#: src/skins/ui_manager.c:71 src/skins/ui_manager.c:72
+msgid "Show Player"
+msgstr ""
+
+#: src/skins/ui_manager.c:74 src/skins/ui_manager.c:75
+msgid "Show Playlist Editor"
+msgstr ""
+
+#: src/skins/ui_manager.c:77 src/skins/ui_manager.c:78
+msgid "Show Equalizer"
+msgstr ""
+
+#: src/skins/ui_manager.c:80 src/skins/ui_manager.c:81
+msgid "Always on Top"
+msgstr ""
+
+#: src/skins/ui_manager.c:83 src/skins/ui_manager.c:84
+msgid "Put on All Workspaces"
+msgstr ""
+
+#: src/skins/ui_manager.c:86 src/skins/ui_manager.c:87
+msgid "Roll up Player"
+msgstr ""
+
+#: src/skins/ui_manager.c:89 src/skins/ui_manager.c:90
+msgid "Roll up Playlist Editor"
+msgstr ""
+
+#: src/skins/ui_manager.c:92 src/skins/ui_manager.c:93
+msgid "Roll up Equalizer"
+msgstr ""
+
+#: src/skins/ui_manager.c:95 src/sndstretch/sndstretch_xmms.c:375
+msgid "Scale"
+msgstr ""
+
+#: src/skins/ui_manager.c:96
+msgid "DoubleSize"
+msgstr ""
+
+#: src/skins/ui_manager.c:98 src/skins/ui_manager.c:99
+msgid "Easy Move"
+msgstr ""
+
+#: src/skins/ui_manager.c:107
+msgid "Analyzer"
+msgstr ""
+
+#: src/skins/ui_manager.c:108
+#, fuzzy
+msgid "Scope"
+msgstr "Stereo"
+
+#: src/skins/ui_manager.c:109
+msgid "Voiceprint"
+msgstr ""
+
+#: src/skins/ui_manager.c:110
+msgid "Off"
+msgstr ""
+
+#: src/skins/ui_manager.c:114 src/skins/ui_manager.c:131
+#: src/skins/ui_manager.c:137
+#, fuzzy
+msgid "Normal"
+msgstr "Vorming"
+
+#: src/skins/ui_manager.c:115 src/skins/ui_manager.c:132
+msgid "Fire"
+msgstr ""
+
+#: src/skins/ui_manager.c:116
+msgid "Vertical Lines"
+msgstr ""
+
+#: src/skins/ui_manager.c:120
+#, fuzzy
+msgid "Lines"
+msgstr "minutit"
+
+#: src/skins/ui_manager.c:121
+msgid "Bars"
+msgstr ""
+
+#: src/skins/ui_manager.c:125
+#, fuzzy
+msgid "Dot Scope"
+msgstr "Ei korrata"
+
+#: src/skins/ui_manager.c:126
+msgid "Line Scope"
+msgstr ""
+
+#: src/skins/ui_manager.c:127
+msgid "Solid Scope"
+msgstr ""
+
+#: src/skins/ui_manager.c:133
+msgid "Ice"
+msgstr ""
+
+#: src/skins/ui_manager.c:138
+msgid "Smooth"
+msgstr ""
+
+#: src/skins/ui_manager.c:142
+msgid "Full (~50 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:143
+msgid "Half (~25 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:144
+msgid "Quarter (~13 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:145
+msgid "Eighth (~6 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:149 src/skins/ui_manager.c:157
+msgid "Slowest"
+msgstr ""
+
+#: src/skins/ui_manager.c:150 src/skins/ui_manager.c:158
+#, fuzzy
+msgid "Slow"
+msgstr "Vari"
+
+#: src/skins/ui_manager.c:151 src/skins/ui_manager.c:159
+msgid "Medium"
+msgstr ""
+
+#: src/skins/ui_manager.c:152 src/skins/ui_manager.c:160
+#, fuzzy
+msgid "Fast"
+msgstr "Vorming"
+
+#: src/skins/ui_manager.c:153 src/skins/ui_manager.c:161
+msgid "Fastest"
+msgstr ""
+
+#: src/skins/ui_manager.c:165
+msgid "Time Elapsed"
+msgstr ""
+
+#: src/skins/ui_manager.c:166
+msgid "Time Remaining"
+msgstr ""
+
+#: src/skins/ui_manager.c:180 src/skins/ui_manager.c:181
+#, fuzzy
+msgid "Pause"
+msgstr "Pausimine"
+
+#: src/skins/ui_manager.c:186 src/skins/ui_manager.c:187
+msgid "Previous"
+msgstr ""
+
+#: src/skins/ui_manager.c:189 src/skins/ui_manager.c:190
+#, fuzzy
+msgid "Next"
+msgstr "Tekst"
+
+#: src/skins/ui_manager.c:195
+msgid "Visualization"
+msgstr ""
+
+#: src/skins/ui_manager.c:196
+msgid "Visualization Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:197
+msgid "Analyzer Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:198
+msgid "Scope Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:199
+msgid "Voiceprint Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:200
+msgid "WindowShade VU Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:201
+msgid "Refresh Rate"
+msgstr ""
+
+#: src/skins/ui_manager.c:202
+msgid "Analyzer Falloff"
+msgstr ""
+
+#: src/skins/ui_manager.c:203
+msgid "Peaks Falloff"
+msgstr ""
+
+#: src/skins/ui_manager.c:208
+#, fuzzy
+msgid "Playlist"
+msgstr "Esitusnimekirja valimine"
+
+#: src/skins/ui_manager.c:210 src/skins/ui_manager.c:211
+#, fuzzy
+msgid "New Playlist"
+msgstr "Esitusnimekirja valimine"
+
+#: src/skins/ui_manager.c:213 src/skins/ui_manager.c:214
+#, fuzzy
+msgid "Select Next Playlist"
+msgstr "Esitusnimekirja valimine"
+
+#: src/skins/ui_manager.c:216 src/skins/ui_manager.c:217
+#, fuzzy
+msgid "Select Previous Playlist"
+msgstr "Esitusnimekirja valimine"
+
+#: src/skins/ui_manager.c:219 src/skins/ui_manager.c:220
+#, fuzzy
+msgid "Delete Playlist"
+msgstr "Esitusnimekirja valimine"
+
+#: src/skins/ui_manager.c:222
+msgid "Load List"
+msgstr ""
+
+#: src/skins/ui_manager.c:223
+msgid "Loads a playlist file into the selected playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:225
+msgid "Save List"
+msgstr ""
+
+#: src/skins/ui_manager.c:226
+#, fuzzy
+msgid "Saves the selected playlist."
+msgstr "Esitusnimekirja valimine"
+
+#: src/skins/ui_manager.c:228
+#, fuzzy
+msgid "Save Default List"
+msgstr "Vaikimisi (%s)"
+
+#: src/skins/ui_manager.c:229
+msgid "Saves the selected playlist to the default location."
+msgstr ""
+
+#: src/skins/ui_manager.c:232
+msgid "Refresh List"
+msgstr ""
+
+#: src/skins/ui_manager.c:233
+msgid "Refreshes metadata associated with a playlist entry."
+msgstr ""
+
+#: src/skins/ui_manager.c:236
+msgid "List Manager"
+msgstr ""
+
+#: src/skins/ui_manager.c:237
+msgid "Opens the playlist manager."
+msgstr ""
+
+#: src/skins/ui_manager.c:243
+msgid "View"
+msgstr ""
+
+#: src/skins/ui_manager.c:247
+msgid "Add Internet Address..."
+msgstr ""
+
+#: src/skins/ui_manager.c:248
+msgid "Adds a remote track to the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:251
+msgid "Add Files..."
+msgstr ""
+
+#: src/skins/ui_manager.c:252
+msgid "Adds files to the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:257
+msgid "Search and Select"
+msgstr ""
+
+#: src/skins/ui_manager.c:258
+msgid ""
+"Searches the playlist and selects playlist entries based on specific "
+"criteria."
+msgstr ""
+
+#: src/skins/ui_manager.c:261
+#, fuzzy
+msgid "Invert Selection"
+msgstr "Vormingute valimine"
+
+#: src/skins/ui_manager.c:262
+msgid "Inverts the selected and unselected entries."
+msgstr ""
+
+#: src/skins/ui_manager.c:265
+#, fuzzy
+msgid "Select All"
+msgstr "Esitusnimekirja valimine"
+
+#: src/skins/ui_manager.c:266
+msgid "Selects all of the playlist entries."
+msgstr ""
+
+#: src/skins/ui_manager.c:269
+#, fuzzy
+msgid "Select None"
+msgstr "Loo lõpp tuvastatakse"
+
+#: src/skins/ui_manager.c:270
+msgid "Deselects all of the playlist entries."
+msgstr ""
+
+#: src/skins/ui_manager.c:275
+#, fuzzy
+msgid "Remove All"
+msgstr "Eemalda"
+
+#: src/skins/ui_manager.c:276
+msgid "Removes all entries from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:279
+msgid "Clear Queue"
+msgstr ""
+
+#: src/skins/ui_manager.c:280
+msgid "Clears the queue associated with this playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:283
+msgid "Remove Unavailable Files"
+msgstr ""
+
+#: src/skins/ui_manager.c:284
+msgid "Removes unavailable files from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:287
+msgid "Remove Duplicates"
+msgstr ""
+
+#: src/skins/ui_manager.c:289 src/skins/ui_manager.c:321
+#: src/skins/ui_manager.c:351
+#, fuzzy
+msgid "By Title"
+msgstr "Pealkiri"
+
+#: src/skins/ui_manager.c:290
+msgid "Removes duplicate entries from the playlist by title."
+msgstr ""
+
+#: src/skins/ui_manager.c:293 src/skins/ui_manager.c:329
+#: src/skins/ui_manager.c:359
+#, fuzzy
+msgid "By Filename"
+msgstr "Failinimi"
+
+#: src/skins/ui_manager.c:294
+msgid "Removes duplicate entries from the playlist by filename."
+msgstr ""
+
+#: src/skins/ui_manager.c:297 src/skins/ui_manager.c:333
+#: src/skins/ui_manager.c:363
+#, fuzzy
+msgid "By Path + Filename"
+msgstr "Failinimi"
+
+#: src/skins/ui_manager.c:298
+msgid "Removes duplicate entries from the playlist by their full path."
+msgstr ""
+
+#: src/skins/ui_manager.c:301
+msgid "Remove Unselected"
+msgstr ""
+
+#: src/skins/ui_manager.c:302
+msgid "Remove unselected entries from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:305
+msgid "Remove Selected"
+msgstr ""
+
+#: src/skins/ui_manager.c:306
+msgid "Remove selected entries from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:311
+msgid "Randomize List"
+msgstr ""
+
+#: src/skins/ui_manager.c:312
+msgid "Randomizes the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:315
+msgid "Reverse List"
+msgstr ""
+
+#: src/skins/ui_manager.c:316
+msgid "Reverses the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:319
+#, fuzzy
+msgid "Sort List"
+msgstr "Esitaja:"
+
+#: src/skins/ui_manager.c:322 src/skins/ui_manager.c:352
+msgid "Sorts the list by title."
+msgstr ""
+
+#: src/skins/ui_manager.c:325 src/skins/ui_manager.c:355
+#, fuzzy
+msgid "By Artist"
+msgstr "Esitaja:"
+
+#: src/skins/ui_manager.c:326 src/skins/ui_manager.c:356
+msgid "Sorts the list by artist."
+msgstr ""
+
+#: src/skins/ui_manager.c:330 src/skins/ui_manager.c:360
+msgid "Sorts the list by filename."
+msgstr ""
+
+#: src/skins/ui_manager.c:334 src/skins/ui_manager.c:364
+msgid "Sorts the list by full pathname."
+msgstr ""
+
+#: src/skins/ui_manager.c:337 src/skins/ui_manager.c:367
+#, fuzzy
+msgid "By Date"
+msgstr "Kuupäev:"
+
+#: src/skins/ui_manager.c:338 src/skins/ui_manager.c:368
+msgid "Sorts the list by modification time."
+msgstr ""
+
+#: src/skins/ui_manager.c:341 src/skins/ui_manager.c:371
+#, fuzzy
+msgid "By Track Number"
+msgstr "Loo number:"
+
+#: src/skins/ui_manager.c:342 src/skins/ui_manager.c:372
+msgid "Sorts the list by track number."
+msgstr ""
+
+#: src/skins/ui_manager.c:345 src/skins/ui_manager.c:375
+#, fuzzy
+msgid "By Playlist Entry"
+msgstr "Esitusnimekirja andmed kiiresti"
+
+#: src/skins/ui_manager.c:346 src/skins/ui_manager.c:376
+msgid "Sorts the list by playlist entry."
+msgstr ""
+
+#: src/skins/ui_manager.c:349
+#, fuzzy
+msgid "Sort Selected"
+msgstr "Vormingute valimine"
+
+#: src/skins/ui_manager.c:385
+#, fuzzy
+msgid "File"
+msgstr "Failinimi"
+
+#: src/skins/ui_manager.c:388
+msgid "Plugin Services"
+msgstr ""
+
+#: src/skins/ui_manager.c:390 src/skins/ui_manager.c:393
+msgid "View Track Details"
+msgstr ""
+
+#: src/skins/ui_manager.c:391 src/skins/ui_manager.c:394
+msgid "View track details"
+msgstr ""
+
+#: src/skins/ui_manager.c:396 src/skins/ui_manager.c:397
+#, fuzzy
+msgid "About Audacious"
+msgstr "Audacious'e LIRC pluginast lähemalt"
+
+#: src/skins/ui_manager.c:399
+#, fuzzy
+msgid "Play File"
+msgstr "Esitamine"
+
+#: src/skins/ui_manager.c:400
+msgid "Load and play a file"
+msgstr ""
+
+#: src/skins/ui_manager.c:402
+#, fuzzy
+msgid "Play Location"
+msgstr "Esitusnimekiri (valikuline)"
+
+#: src/skins/ui_manager.c:403
+msgid "Play media from the selected location"
+msgstr ""
+
+#: src/skins/ui_manager.c:405
+msgid "Plugin services"
+msgstr ""
+
+#: src/skins/ui_manager.c:407
+msgid "Preferences"
+msgstr ""
+
+#: src/skins/ui_manager.c:408
+msgid "Open preferences window"
+msgstr ""
+
+#: src/skins/ui_manager.c:410
+#, fuzzy
+msgid "_Quit"
+msgstr "Kvaliteet"
+
+#: src/skins/ui_manager.c:411
+#, fuzzy
+msgid "Quit Audacious"
+msgstr "%s - Audacious"
+
+#: src/skins/ui_manager.c:413 src/skins/ui_manager.c:414
+msgid "Set A-B"
+msgstr ""
+
+#: src/skins/ui_manager.c:416 src/skins/ui_manager.c:417
+msgid "Clear A-B"
+msgstr ""
+
+#: src/skins/ui_manager.c:419 src/skins/ui_manager.c:420
+msgid "Jump to Playlist Start"
+msgstr ""
+
+#: src/skins/ui_manager.c:428
+msgid "Queue Toggle"
+msgstr ""
+
+#: src/skins/ui_manager.c:429
+msgid "Enables/disables the entry in the playlist's queue."
+msgstr ""
+
+#: src/skins/ui_manager.c:436
+msgid "Load"
+msgstr ""
+
+#: src/skins/ui_manager.c:441 src/skins/ui_manager.c:462
+#: src/skins/ui_manager.c:477
+#, fuzzy
+msgid "Preset"
+msgstr "Proovi"
+
+#: src/skins/ui_manager.c:442
+msgid "Load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:444 src/skins/ui_manager.c:465
+#: src/skins/ui_manager.c:480
+msgid "Auto-load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:445
+msgid "Load auto-load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:448
+#, fuzzy
+msgid "Load default preset into equalizer"
+msgstr "Laadi vaikeväärtused"
+
+#: src/skins/ui_manager.c:450
+#, fuzzy
+msgid "Zero"
+msgstr "Stereo"
+
+#: src/skins/ui_manager.c:451
+msgid "Set equalizer preset levels to zero"
+msgstr ""
+
+#: src/skins/ui_manager.c:453
+msgid "From file"
+msgstr ""
+
+#: src/skins/ui_manager.c:454
+msgid "Load preset from file"
+msgstr ""
+
+#: src/skins/ui_manager.c:456
+msgid "From WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:457
+msgid "Load preset from WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:459
+msgid "WinAMP Presets"
+msgstr ""
+
+#: src/skins/ui_manager.c:460
+msgid "Import WinAMP presets"
+msgstr ""
+
+#: src/skins/ui_manager.c:463
+msgid "Save preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:466
+msgid "Save auto-load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:469
+#, fuzzy
+msgid "Save default preset"
+msgstr "Laadi vaikeväärtused"
+
+#: src/skins/ui_manager.c:471
+#, fuzzy
+msgid "To file"
+msgstr "Pealkiri"
+
+#: src/skins/ui_manager.c:472
+msgid "Save preset to file"
+msgstr ""
+
+#: src/skins/ui_manager.c:474
+msgid "To WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:475
+msgid "Save preset to WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:478
+msgid "Delete preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:481
+msgid "Delete auto-load preset"
+msgstr ""
+
+#: src/skins/ui_playlist.c:454
+msgid "Search entries in active playlist"
+msgstr ""
+
+#: src/skins/ui_playlist.c:462
+msgid ""
+"Select entries in playlist by filling one or more fields. Fields use regular "
+"expressions syntax, case-insensitive. If you don't know how regular "
+"expressions work, simply insert a literal portion of what you're searching "
+"for."
+msgstr ""
+
+#: src/skins/ui_playlist.c:477
+#, fuzzy
+msgid "Album: "
+msgstr "Album:"
+
+#: src/skins/ui_playlist.c:484
+#, fuzzy
+msgid "Artist: "
+msgstr "Esitaja:"
+
+#: src/skins/ui_playlist.c:491
+#, fuzzy
+msgid "Filename: "
+msgstr "Failinimi:"
+
+#: src/skins/ui_playlist.c:499
+msgid "Clear previous selection before searching"
+msgstr ""
+
+#: src/skins/ui_playlist.c:502
+msgid "Automatically toggle queue for matching entries"
+msgstr ""
+
+#: src/skins/ui_playlist.c:505
+msgid "Create a new playlist with matching entries"
+msgstr ""
+
+#: src/skins/ui_playlist.c:724
+#, c-format
+msgid "Error writing playlist \"%s\": %s"
+msgstr ""
+
+#: src/skins/ui_playlist.c:746
+#, c-format
+msgid "%s already exist. Continue?"
+msgstr ""
+
+#: src/skins/ui_playlist.c:761
+#, c-format
+msgid ""
+"<b><big>Unable to save playlist.</big></b>\n"
+"\n"
+"Unknown file type for '%s'.\n"
+msgstr ""
+
+#: src/skins/ui_playlist.c:887
+#, fuzzy
+msgid "Save as Static Playlist"
+msgstr "Esitusnimekirja valimine"
+
+#: src/skins/ui_playlist.c:894
+msgid "Use Relative Path"
+msgstr ""
+
+#: src/skins/ui_playlist.c:916
+#, fuzzy
+msgid "Load Playlist"
+msgstr "Esitusnimekirja andmed kiiresti"
+
+#: src/skins/ui_playlist.c:929
+#, fuzzy
+msgid "Save Playlist"
+msgstr "Esitusnimekirja valimine"
+
+#: src/skins/ui_playlist.c:1497
+#, fuzzy
+msgid "Audacious Playlist Editor"
+msgstr "Esitusnimekirja andmed kiiresti"
+
+#: src/skins/ui_skinned_equalizer_slider.c:377
+msgid "PREAMP"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:377
+msgid "60HZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:377
+msgid "170HZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:378
+msgid "310HZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:378
+msgid "600HZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:378
+msgid "1KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:379
+msgid "3KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:379
+msgid "6KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:379
+msgid "12KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:380
+msgid "14KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:380
+msgid "16KHZ"
+msgstr ""
+
+#: src/skins/ui_skinselector.c:178
+msgid "Archived Winamp 2.x skin"
+msgstr ""
+
+#: src/skins/ui_skinselector.c:183
+msgid "Unarchived Winamp 2.x skin"
+msgstr ""
+
+#: src/skins/util.c:1132
+#, c-format
+msgid "Could not create directory (%s): %s\n"
+msgstr ""
+
+#: src/sndfile/plugin.c:554
 #, fuzzy
 msgid "About sndfile plugin"
 msgstr "ESounD'i pluginast lähemalt"
 
-#: src/sndfile/plugin.c:549
+#: src/sndfile/plugin.c:555
 msgid ""
 "Adapted for Audacious usage by Tony Vroon <chainsaw@gentoo.org>\n"
 "from the xmms_sndfile plugin which is:\n"
@@ -4223,61 +5359,57 @@
 "Boston, MA  02110-1301  USA"
 msgstr ""
 
-#: src/sndstretch/sndstretch_xmms.c:159
+#: src/sndstretch/sndstretch_xmms.c:158
 msgid "About SndStretch"
 msgstr ""
 
+#: src/sndstretch/sndstretch_xmms.c:318
+msgid "Volume corr."
+msgstr ""
+
 #: src/sndstretch/sndstretch_xmms.c:319
-msgid "Volume corr."
-msgstr ""
-
-#: src/sndstretch/sndstretch_xmms.c:320
 msgid "Short Overlap"
 msgstr ""
 
-#: src/sndstretch/sndstretch_xmms.c:374
+#: src/sndstretch/sndstretch_xmms.c:373
 msgid "Speed"
 msgstr "Kiirus"
 
-#: src/sndstretch/sndstretch_xmms.c:375
+#: src/sndstretch/sndstretch_xmms.c:374
 msgid "Pitch"
 msgstr ""
 
-#: src/sndstretch/sndstretch_xmms.c:376
-msgid "Scale"
-msgstr ""
-
-#: src/sndstretch/sndstretch_xmms.c:396
+#: src/sndstretch/sndstretch_xmms.c:395
 msgid "SndStretch - Configuration"
 msgstr ""
 
-#: src/song_change/song_change.c:312
+#: src/song_change/song_change.c:310
 msgid "Commands"
 msgstr ""
 
-#: src/song_change/song_change.c:319
+#: src/song_change/song_change.c:317
 msgid "Command to run when Audacious starts a new song."
 msgstr ""
 
-#: src/song_change/song_change.c:328 src/song_change/song_change.c:350
-#: src/song_change/song_change.c:371 src/song_change/song_change.c:392
+#: src/song_change/song_change.c:326 src/song_change/song_change.c:348
+#: src/song_change/song_change.c:369 src/song_change/song_change.c:390
 msgid "Command:"
 msgstr ""
 
-#: src/song_change/song_change.c:342
+#: src/song_change/song_change.c:340
 msgid "Command to run toward the end of a song."
 msgstr ""
 
-#: src/song_change/song_change.c:362
+#: src/song_change/song_change.c:360
 msgid "Command to run when Audacious reaches the end of the playlist."
 msgstr ""
 
-#: src/song_change/song_change.c:383
+#: src/song_change/song_change.c:381
 msgid ""
 "Command to run when title changes for a song (i.e. network streams titles)."
 msgstr ""
 
-#: src/song_change/song_change.c:404
+#: src/song_change/song_change.c:402
 #, c-format
 msgid ""
 "You can use the following format strings which\n"
@@ -4294,13 +5426,13 @@
 "%%p: Currently playing (1 or 0)"
 msgstr ""
 
-#: src/song_change/song_change.c:429
+#: src/song_change/song_change.c:427
 msgid ""
 "<span size='small'>Parameters passed to the shell should be encapsulated in "
 "quotes. Doing otherwise is a security risk.</span>"
 msgstr ""
 
-#: src/spectrum/spectrum.c:90
+#: src/spectrum/spectrum.c:89
 msgid "Spectrum Analyzer"
 msgstr ""
 
@@ -4312,11 +5444,11 @@
 msgid "The orientation of the tray"
 msgstr ""
 
-#: src/statusicon/si_ui.c:622
+#: src/statusicon/si_ui.c:620
 msgid "About Status Icon Plugin"
 msgstr "Olekuikooni pluginast lähemalt"
 
-#: src/statusicon/si_ui.c:624
+#: src/statusicon/si_ui.c:622
 msgid ""
 "\n"
 "written by Giacomo Lozito < james@develia.org >\n"
@@ -4325,62 +5457,58 @@
 "the system tray area of the window manager.\n"
 msgstr ""
 
-#: src/statusicon/si_ui.c:696
+#: src/statusicon/si_ui.c:694
 msgid "Status Icon Plugin - Preferences"
 msgstr "Olekuikooni plugina eelistused"
 
-#: src/statusicon/si_ui.c:707
+#: src/statusicon/si_ui.c:705
 msgid "Right-Click Menu"
 msgstr "Paremklõpsu menüü"
 
-#: src/statusicon/si_ui.c:712
+#: src/statusicon/si_ui.c:710
 msgid "Audacious standard menu"
 msgstr "Audacious'e standardmenüü"
 
-#: src/statusicon/si_ui.c:717
+#: src/statusicon/si_ui.c:715
 msgid "Small playback menu #1"
 msgstr "Väike esitusmenüü nr. 1"
 
-#: src/statusicon/si_ui.c:722
+#: src/statusicon/si_ui.c:720
 msgid "Small playback menu #2"
 msgstr "Väike esitusmenüü nr. 2"
 
-#: src/statusicon/si_ui.c:745
+#: src/statusicon/si_ui.c:743
 msgid "Mouse Scroll Action"
 msgstr "Hiire kerimisel"
 
-#: src/statusicon/si_ui.c:750
+#: src/statusicon/si_ui.c:748
 msgid "Change volume"
 msgstr "Muudetakse valjust"
 
-#: src/statusicon/si_ui.c:755
+#: src/statusicon/si_ui.c:753
 msgid "Change playing song"
 msgstr "Vahetatakse esitatavat lugu"
 
-#: src/stereo_plugin/stereo.c:26
+#: src/stereo_plugin/stereo.c:25
 msgid ""
 "Extra Stereo Plugin\n"
 "\n"
 "By Johan Levin 1999."
 msgstr ""
 
-#: src/stereo_plugin/stereo.c:52
+#: src/stereo_plugin/stereo.c:51
 msgid "About Extra Stereo Plugin"
 msgstr "Ekstra stereo pluginast lähemalt"
 
-#: src/stereo_plugin/stereo.c:93
+#: src/stereo_plugin/stereo.c:92
 msgid "Configure Extra Stereo"
 msgstr ""
 
-#: src/stereo_plugin/stereo.c:95
-msgid "Effect intensity:"
+#: src/sun/about.c:33
+msgid "About the Sun Driver"
 msgstr ""
 
 #: src/sun/about.c:34
-msgid "About the Sun Driver"
-msgstr ""
-
-#: src/sun/about.c:35
 msgid ""
 "XMMS BSD Sun Driver\n"
 "\n"
@@ -4388,19 +5516,19 @@
 "Maintainer: <vedge at csoft.org>.\n"
 msgstr ""
 
-#: src/sun/configure.c:201
+#: src/sun/configure.c:199
 msgid "Audio control device:"
 msgstr ""
 
-#: src/sun/configure.c:350
+#: src/sun/configure.c:348
 msgid "Volume controls device:"
 msgstr ""
 
-#: src/sun/configure.c:363
+#: src/sun/configure.c:361
 msgid "XMMS uses mixer exclusively."
 msgstr ""
 
-#: src/sun/configure.c:538
+#: src/sun/configure.c:536
 msgid "Sun driver configuration"
 msgstr ""
 
@@ -4428,7 +5556,7 @@
 msgid "TiMidity Configuration File"
 msgstr "TiMidity sätete fail"
 
-#: src/timidity/xmms-timidity.c:118
+#: src/timidity/xmms-timidity.c:115
 msgid ""
 "TiMidity Plugin\n"
 "http://libtimidity.sourceforge.net\n"
@@ -4438,20 +5566,20 @@
 "http://libtimidity.sourceforge.net\n"
 "autor: Konstantin Korikov"
 
-#: src/timidity/xmms-timidity.c:119
+#: src/timidity/xmms-timidity.c:116
 #, c-format
 msgid "TiMidity Plugin %s"
 msgstr "TiMidity plugin %s"
 
-#: src/timidity/xmms-timidity.c:336
+#: src/timidity/xmms-timidity.c:333
 msgid "Couldn't load MIDI file"
 msgstr "MIDI-faili pole võimalik laadida"
 
-#: src/tonegen/tonegen.c:56
+#: src/tonegen/tonegen.c:55
 msgid "About Tone Generator"
 msgstr "Toonigeneraatorist lähemalt"
 
-#: src/tonegen/tonegen.c:58
+#: src/tonegen/tonegen.c:57
 msgid ""
 "Sinus tone generator by Haavard Kvaalen <havardk@xmms.org>\n"
 "Modified by Daniel J. Peng <danielpeng@bigfoot.com>\n"
@@ -4460,86 +5588,86 @@
 "e.g. tone://2000;2005 to play a 2000Hz tone and a 2005Hz tone"
 msgstr ""
 
-#: src/tonegen/tonegen.c:167
+#: src/tonegen/tonegen.c:166
 #, c-format
 msgid "%s %.1f Hz"
 msgstr ""
 
-#: src/tonegen/tonegen.c:167
+#: src/tonegen/tonegen.c:166
 msgid "Tone Generator: "
 msgstr ""
 
+#: src/tta/libtta.c:127
+msgid "Can't open file\n"
+msgstr ""
+
 #: src/tta/libtta.c:130
-msgid "Can't open file\n"
+msgid "Not supported file format\n"
 msgstr ""
 
 #: src/tta/libtta.c:133
-msgid "Not supported file format\n"
+msgid "File is corrupted\n"
 msgstr ""
 
 #: src/tta/libtta.c:136
-msgid "File is corrupted\n"
+msgid "Can't read from file\n"
 msgstr ""
 
 #: src/tta/libtta.c:139
-msgid "Can't read from file\n"
+msgid "Insufficient memory available\n"
 msgstr ""
 
 #: src/tta/libtta.c:142
-msgid "Insufficient memory available\n"
+msgid "Output plugin error\n"
 msgstr ""
 
 #: src/tta/libtta.c:145
-msgid "Output plugin error\n"
-msgstr ""
-
-#: src/tta/libtta.c:148
 msgid "Unknown error\n"
 msgstr ""
 
-#: src/tta/libtta.c:152
+#: src/tta/libtta.c:149
 msgid "TTA Decoder Error"
 msgstr ""
 
-#: src/tta/libtta.c:261
+#: src/tta/libtta.c:258
 msgid "TTA input plugin "
 msgstr ""
 
-#: src/tta/libtta.c:262
+#: src/tta/libtta.c:259
 msgid ""
 " for BMP\n"
 "Copyright (c) 2004 True Audio Software\n"
 msgstr ""
 
-#: src/tta/libtta.c:265
+#: src/tta/libtta.c:262
 msgid "About True Audio Plugin"
 msgstr ""
 
-#: src/tta/libtta.c:316
+#: src/tta/libtta.c:313
 msgid "ID3 Tag:"
 msgstr ""
 
-#: src/tta/libtta.c:378 src/wavpack/ui.cxx:234
+#: src/tta/libtta.c:375 src/wavpack/ui.cxx:232
 msgid "Track number:"
 msgstr "Loo number:"
 
-#: src/vorbis/configure.c:84
+#: src/vorbis/configure.c:82
 msgid "Ogg Vorbis Audio Plugin Configuration"
 msgstr "Ogg Vorbis audioplugina sätted"
 
-#: src/vorbis/configure.c:94
+#: src/vorbis/configure.c:92
 msgid "Ogg Vorbis Tags:"
 msgstr "Ogg Vorbis sildid:"
 
-#: src/vorbis/configure.c:115
+#: src/vorbis/configure.c:113
 msgid "Title format:"
 msgstr "Pealkirja vorming:"
 
-#: src/vorbis/vorbis.c:681
+#: src/vorbis/vorbis.c:677
 msgid "About Ogg Vorbis Audio Plugin"
 msgstr "Ogg Vorbis audiopluginast lähemalt"
 
-#: src/vorbis/vorbis.c:687
+#: src/vorbis/vorbis.c:683
 #, fuzzy
 msgid ""
 "Ogg Vorbis Plugin by the Xiph.org Foundation\n"
@@ -4573,11 +5701,11 @@
 "\n"
 "Külasta ka Xiph.org kodulehte at http://www.xiph.org/\n"
 
-#: src/vtx/about.c:23
+#: src/vtx/about.c:17
 msgid "About Vortex Player"
 msgstr ""
 
-#: src/vtx/about.c:25
+#: src/vtx/about.c:19
 msgid ""
 "Vortex file format player by Sashnov Alexander <sashnov@ngs.ru>\n"
 "Founded on original source in_vtx.dll by Roman Sherbakov <v_soft@microfor."
@@ -4589,12 +5717,12 @@
 "Audacious implementation by Pavel Vymetalek <pvymetalek@seznam.cz>"
 msgstr ""
 
-#: src/wavpack/ui.cxx:52
+#: src/wavpack/ui.cxx:50
 #, c-format
 msgid "Wavpack Decoder Plugin %s"
 msgstr ""
 
-#: src/wavpack/ui.cxx:53
+#: src/wavpack/ui.cxx:51
 msgid ""
 "Copyright (c) 2006 William Pitcock <nenolod -at- nenolod.net>\n"
 "\n"
@@ -4602,90 +5730,90 @@
 "Visit the Wavpack site at http://www.wavpack.com/\n"
 msgstr ""
 
-#: src/wavpack/ui.cxx:165
+#: src/wavpack/ui.cxx:163
 msgid "Ape2 Tag"
 msgstr ""
 
-#: src/wavpack/ui.cxx:288
+#: src/wavpack/ui.cxx:286
 msgid "Wavpack Info:"
 msgstr ""
 
+#: src/wavpack/ui.cxx:379
+#, c-format
+msgid "version %d"
+msgstr "versioon %d"
+
+#: src/wavpack/ui.cxx:380
+#, c-format
+msgid "average bitrate: %6.1f kbps"
+msgstr "keskmine bitikiirus: %6.1f kbps"
+
 #: src/wavpack/ui.cxx:381
 #, c-format
-msgid "version %d"
-msgstr "versioon %d"
+msgid "samplerate: %d Hz"
+msgstr ""
 
 #: src/wavpack/ui.cxx:382
 #, c-format
-msgid "average bitrate: %6.1f kbps"
-msgstr "keskmine bitikiirus: %6.1f kbps"
+msgid "bits per sample: %d"
+msgstr ""
 
 #: src/wavpack/ui.cxx:383
 #, c-format
-msgid "samplerate: %d Hz"
-msgstr ""
+msgid "channels: %d"
+msgstr "kanaleid: %d"
 
 #: src/wavpack/ui.cxx:384
 #, c-format
-msgid "bits per sample: %d"
-msgstr ""
+msgid "length: %d:%.2d"
+msgstr "kestus: %d:%.2d"
 
 #: src/wavpack/ui.cxx:385
 #, c-format
-msgid "channels: %d"
-msgstr "kanaleid: %d"
-
-#: src/wavpack/ui.cxx:386
-#, c-format
-msgid "length: %d:%.2d"
-msgstr "kestus: %d:%.2d"
-
-#: src/wavpack/ui.cxx:387
-#, c-format
 msgid "file size: %d Bytes"
 msgstr "faili suurus: %d baiti"
 
+#: src/wavpack/ui.cxx:392
+msgid "Title Peak: ?"
+msgstr ""
+
+#: src/wavpack/ui.cxx:393
+msgid "Album Peak: ?"
+msgstr ""
+
 #: src/wavpack/ui.cxx:394
-msgid "Title Peak: ?"
+msgid "Title Gain: ?"
 msgstr ""
 
 #: src/wavpack/ui.cxx:395
-msgid "Album Peak: ?"
-msgstr ""
-
-#: src/wavpack/ui.cxx:396
-msgid "Title Gain: ?"
-msgstr ""
-
-#: src/wavpack/ui.cxx:397
 msgid "Album Gain: ?"
 msgstr ""
 
-#: src/wavpack/ui.cxx:471
+#: src/wavpack/ui.cxx:469
 msgid "Wavpack Configuration"
 msgstr ""
 
-#: src/wavpack/ui.cxx:484
+#: src/wavpack/ui.cxx:482
 msgid "General Plugin Settings:"
 msgstr ""
 
-#: src/wavpack/ui.cxx:502
+#: src/wavpack/ui.cxx:500
 msgid "ReplayGain Settings:"
 msgstr ""
 
-#: src/wavpack/ui.cxx:520
+#: src/wavpack/ui.cxx:518
 msgid "ReplayGain Type:"
 msgstr ""
 
-#: src/wavpack/ui.cxx:531
+#: src/wavpack/ui.cxx:529
 msgid "use Track Gain/Peak"
 msgstr ""
 
-#: src/wavpack/ui.cxx:539
+#: src/wavpack/ui.cxx:537
 msgid "use Album Gain/Peak"
 msgstr ""
 
-#: src/wma/wma.c:123
+#: src/wma/wma.c:120
 msgid ""
 "Adapted for use in Audacious by Tony Vroon (chainsaw@gentoo.org) from\n"
 "the BEEP-WMA plugin which is Copyright (C) 2004,2005 Mokrushin I.V. aka "
@@ -4698,9 +5826,6 @@
 #~ msgid "<b>Volume Control:</b>"
 #~ msgstr "<b>Helivaljuse juhtimine:</b>"
 
-#~ msgid "File Info"
-#~ msgstr "Faili andmed"
-
 #~ msgid "Couldn't open file!"
 #~ msgstr "Faili pole võimalik avada!"
 
@@ -4722,9 +5847,6 @@
 #~ msgid "Error!"
 #~ msgstr "Viga!"
 
-#~ msgid "Date:"
-#~ msgstr "Kuupäev:"
-
 #~ msgid "Description:"
 #~ msgstr "Kirjeldus:"
 
@@ -4748,6 +5870,3 @@
 
 #~ msgid "%d Bytes"
 #~ msgstr "%d baiti"
-
-#~ msgid "%s - Audacious"
-#~ msgstr "%s - Audacious"
--- a/po/fr.po	Thu Jul 03 17:23:34 2008 +0300
+++ b/po/fr.po	Thu Jul 03 17:37:11 2008 +0300
@@ -8,8 +8,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: 1.5.x\n"
-"Report-Msgid-Bugs-To: http://bugs.audacious-media-player.org\n"
-"POT-Creation-Date: 2008-03-30 17:25+0200\n"
+"Report-Msgid-Bugs-To: http://bugzilla.atheme.org/\n"
+"POT-Creation-Date: 2008-06-21 08:27+0300\n"
 "PO-Revision-Date: 2008-02-20 14:00+0100\n"
 "Last-Translator: Stany Henry <StrassBoy@gmail.com>\n"
 "Language-Team: fr_FR\n"
@@ -17,11 +17,11 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: src/aac/libmp4.c:286
+#: src/aac/libmp4.c:283
 msgid "Using libfaad2-"
 msgstr "Le module utilise la bibliothèque 'libfaad2-"
 
-#: src/aac/libmp4.c:287
+#: src/aac/libmp4.c:284
 msgid ""
 " for decoding.\n"
 "FAAD2 AAC/HE-AAC/HE-AACv2/DRM decoder (c) Nero AG, www.nero.com\n"
@@ -35,38 +35,38 @@
 "\n"
 "Droits d'utilisation : Équipe Audacious (2005-2006)."
 
-#: src/aac/libmp4.c:291
+#: src/aac/libmp4.c:288
 msgid "About MP4 AAC player plugin"
 msgstr "À propos du module 'MP4 AAC'"
 
-#: src/aac/libmp4.c:293 src/adplug/adplug-xmms.cc:182
-#: src/adplug/adplug-xmms.cc:265 src/adplug/adplug-xmms.cc:526
-#: src/alac/plugin.c:77 src/arts/arts.c:26 src/arts/configure.c:90
-#: src/audiocompress/audacious-glue.c:102
-#: src/audiocompress/audacious-glue.c:552 src/cdaudio-ng/configure.c:228
-#: src/console/Audacious_Driver.cxx:449 src/demac/plugin.c:393
-#: src/echo_plugin/gui.c:26 src/echo_plugin/gui.c:137 src/esd/about.c:49
-#: src/filewriter/filewriter.c:183 src/jack/configure.c:141
-#: src/jack/jack.c:456 src/madplug/plugin.c:542 src/madplug/plugin.c:566
-#: src/metronom/metronom.c:88 src/modplug/gui/main.cxx:49
-#: src/musepack/libmpc.cxx:232 src/null/null.c:67 src/null/null.c:110
-#: src/OSS4/about.c:59 src/OSS/about.c:54 src/paranormal-ng/plugin.c:283
-#: src/paranormal/plugin.c:291 src/scrobbler/gtkstuff.c:25
-#: src/sndfile/plugin.c:565 src/statusicon/si_ui.c:628
-#: src/stereo_plugin/stereo.c:53 src/stereo_plugin/stereo.c:116
-#: src/sun/about.c:38 src/sun/configure.c:559 src/timidity/interface.c:222
-#: src/timidity/xmms-timidity.c:120 src/tonegen/tonegen.c:62
-#: src/tta/libtta.c:153 src/tta/libtta.c:267 src/tta/libtta.c:402
-#: src/vorbis/vorbis.c:700 src/vtx/about.c:32 src/vtx/info.c:43
-#: src/wavpack/ui.cxx:56 src/wavpack/ui.cxx:556
+#: src/aac/libmp4.c:290 src/adplug/adplug-xmms.cc:180
+#: src/adplug/adplug-xmms.cc:263 src/adplug/adplug-xmms.cc:524
+#: src/alac/plugin.c:74 src/arts/arts.c:25 src/arts/configure.c:90
+#: src/audiocompress/audacious-glue.c:110
+#: src/audiocompress/audacious-glue.c:560 src/cdaudio-ng/configure.c:242
+#: src/console/Audacious_Driver.cxx:447 src/crystalizer/crystalizer.c:113
+#: src/demac/plugin.c:364 src/echo_plugin/gui.c:24 src/echo_plugin/gui.c:135
+#: src/esd/about.c:48 src/filewriter/filewriter.c:183 src/jack/configure.c:140
+#: src/jack/jack.c:454 src/madplug/plugin.c:679 src/madplug/plugin.c:703
+#: src/metronom/metronom.c:87 src/modplug/gui/main.cxx:52
+#: src/musepack/libmpc.cxx:228 src/null/null.c:64 src/null/null.c:107
+#: src/OSS4/OSS4.c:55 src/OSS/OSS.c:52 src/paranormal-ng/plugin.c:282
+#: src/paranormal/plugin.c:290 src/scrobbler/gtkstuff.c:22
+#: src/sndfile/plugin.c:571 src/statusicon/si_ui.c:626
+#: src/stereo_plugin/stereo.c:52 src/stereo_plugin/stereo.c:115
+#: src/sun/about.c:37 src/sun/configure.c:557 src/timidity/interface.c:222
+#: src/timidity/xmms-timidity.c:117 src/tonegen/tonegen.c:61
+#: src/tta/libtta.c:150 src/tta/libtta.c:264 src/tta/libtta.c:399
+#: src/vorbis/vorbis.c:696 src/vtx/about.c:26 src/vtx/info.c:38
+#: src/wavpack/ui.cxx:54 src/wavpack/ui.cxx:554
 msgid "Ok"
 msgstr "OK"
 
-#: src/adplug/adplug-xmms.cc:171
+#: src/adplug/adplug-xmms.cc:169
 msgid "About "
 msgstr "À propos de "
 
-#: src/adplug/adplug-xmms.cc:175
+#: src/adplug/adplug-xmms.cc:173
 msgid ""
 "\n"
 "Copyright (C) 2002, 2003 Simon Peter <dn.tlp@gmx.net>\n"
@@ -91,65 +91,65 @@
 "\n"
 "Version de la bibliothèque 'AdPlug' liée : "
 
-#: src/adplug/adplug-xmms.cc:256
+#: src/adplug/adplug-xmms.cc:254
 msgid "AdPlug :: Configuration"
 msgstr "Configuration de 'AdPlug'"
 
-#: src/adplug/adplug-xmms.cc:275 src/alarm/interface.c:1398
+#: src/adplug/adplug-xmms.cc:273 src/alarm/interface.c:1398
 #: src/alsa/configure.c:389 src/arts/configure.c:91
-#: src/audiocompress/audacious-glue.c:557 src/cdaudio-ng/configure.c:232
-#: src/echo_plugin/gui.c:145 src/jack/configure.c:148
-#: src/modplug/gui/interface.cxx:714 src/modplug/gui/modplug.glade:1668
-#: src/musepack/libmpc.cxx:237 src/musepack/libmpc.cxx:557 src/null/null.c:111
-#: src/sid/xmms-sid.glade:3080 src/sid/xs_interface.c:1250
-#: src/stereo_plugin/stereo.c:125 src/sun/configure.c:567
-#: src/timidity/interface.c:230 src/wavpack/ui.cxx:280 src/wavpack/ui.cxx:563
+#: src/audiocompress/audacious-glue.c:565 src/cdaudio-ng/configure.c:246
+#: src/crystalizer/crystalizer.c:122 src/echo_plugin/gui.c:143
+#: src/jack/configure.c:147 src/modplug/gui/interface.cxx:714
+#: src/modplug/gui/modplug.glade:1668 src/musepack/libmpc.cxx:233
+#: src/musepack/libmpc.cxx:553 src/null/null.c:108
+#: src/stereo_plugin/stereo.c:124 src/sun/configure.c:565
+#: src/timidity/interface.c:230 src/wavpack/ui.cxx:278 src/wavpack/ui.cxx:561
 msgid "Cancel"
 msgstr "Annuler"
 
-#: src/adplug/adplug-xmms.cc:291 src/console/Audacious_Config.cxx:145
-#: src/madplug/configure.c:290 src/modplug/gui/interface.cxx:628
+#: src/adplug/adplug-xmms.cc:289 src/console/Audacious_Config.cxx:144
+#: src/madplug/configure.c:289 src/modplug/gui/interface.cxx:628
 #: src/modplug/gui/interface.cxx:887 src/modplug/gui/modplug.glade:1404
 #: src/modplug/gui/modplug.glade:1804
 msgid "General"
 msgstr "Général"
 
-#: src/adplug/adplug-xmms.cc:303
+#: src/adplug/adplug-xmms.cc:301
 msgid "Sound quality"
 msgstr "Qualité du son"
 
-#: src/adplug/adplug-xmms.cc:308 src/modplug/gui/interface.cxx:187
+#: src/adplug/adplug-xmms.cc:306 src/modplug/gui/interface.cxx:187
 #: src/modplug/gui/modplug.glade:113
 msgid "Resolution"
 msgstr "Résolution"
 
-#: src/adplug/adplug-xmms.cc:310
+#: src/adplug/adplug-xmms.cc:308
 msgid "8bit"
 msgstr "8 bits"
 
-#: src/adplug/adplug-xmms.cc:315
+#: src/adplug/adplug-xmms.cc:313
 msgid "16bit"
 msgstr "16 bits"
 
-#: src/adplug/adplug-xmms.cc:323 src/modplug/gui/interface.cxx:218
+#: src/adplug/adplug-xmms.cc:321 src/modplug/gui/interface.cxx:218
 #: src/modplug/gui/modplug.glade:199 src/timidity/interface.c:148
 msgid "Channels"
 msgstr "Sortie"
 
-#: src/adplug/adplug-xmms.cc:325 src/filewriter/mp3.c:900
-#: src/sid/xmms-sid.glade:157 src/sid/xs_interface.c:288
+#: src/adplug/adplug-xmms.cc:323 src/filewriter/mp3.c:900
+#: src/sid/xmms-sid.glade:157 src/sid/xs_interface.c:300
 #: src/timidity/interface.c:165
 msgid "Mono"
 msgstr "Mono"
 
-#: src/adplug/adplug-xmms.cc:330 src/filewriter/mp3.c:895
+#: src/adplug/adplug-xmms.cc:328 src/filewriter/mp3.c:895
 #: src/modplug/gui/interface.cxx:204 src/modplug/gui/modplug.glade:159
-#: src/sid/xmms-sid.glade:176 src/sid/xs_interface.c:295
+#: src/sid/xmms-sid.glade:176 src/sid/xs_interface.c:307
 #: src/timidity/interface.c:173
 msgid "Stereo"
 msgstr "Stéréo"
 
-#: src/adplug/adplug-xmms.cc:334
+#: src/adplug/adplug-xmms.cc:332
 msgid ""
 "Setting stereo is not recommended, unless you need to. This won't add any "
 "stereo effects to the sound - OPL2 is just mono - but eats up more CPU power!"
@@ -159,20 +159,20 @@
 "n'utilise que le mode mono), mais nécessitera beaucoup plus de puissance "
 "CPU !"
 
-#: src/adplug/adplug-xmms.cc:342
+#: src/adplug/adplug-xmms.cc:340
 msgid "Frequency"
 msgstr "Fréquence"
 
-#: src/adplug/adplug-xmms.cc:378 src/adplug/adplug-xmms.cc:582
-#: src/console/Audacious_Config.cxx:147
+#: src/adplug/adplug-xmms.cc:376 src/adplug/adplug-xmms.cc:580
+#: src/console/Audacious_Config.cxx:146 src/skins/ui_manager.c:175
 msgid "Playback"
 msgstr "Lecture"
 
-#: src/adplug/adplug-xmms.cc:382
+#: src/adplug/adplug-xmms.cc:380
 msgid "Detect songend"
 msgstr "Détecter la fin du morceau"
 
-#: src/adplug/adplug-xmms.cc:386
+#: src/adplug/adplug-xmms.cc:384
 msgid ""
 "If enabled, XMMS will detect a song's ending, stop it and advance in the "
 "playlist. If disabled, XMMS won't take notice of a song's ending and loop it "
@@ -183,23 +183,23 @@
 "lecture. Dans le cas contraire, Audacious ne se préoccupera pas de la fin "
 "des morceaux : le titre sera lu en boucle."
 
-#: src/adplug/adplug-xmms.cc:397
+#: src/adplug/adplug-xmms.cc:395
 msgid "Formats"
 msgstr "Formats"
 
-#: src/adplug/adplug-xmms.cc:404
+#: src/adplug/adplug-xmms.cc:402
 msgid "Format selection"
 msgstr "Choix des formats"
 
-#: src/adplug/adplug-xmms.cc:407
+#: src/adplug/adplug-xmms.cc:405
 msgid "Format"
 msgstr "Format"
 
-#: src/adplug/adplug-xmms.cc:407
+#: src/adplug/adplug-xmms.cc:405
 msgid "Extension"
 msgstr "Extension"
 
-#: src/adplug/adplug-xmms.cc:447
+#: src/adplug/adplug-xmms.cc:445
 msgid ""
 "Selected file types will be recognized and played back by this plugin. "
 "Deselected types will be ignored to make room for other plugins to play "
@@ -209,88 +209,88 @@
 "Les autres seront ignorés, de manière à pouvoir être supportés par d'autres "
 "extensions."
 
-#: src/adplug/adplug-xmms.cc:533
+#: src/adplug/adplug-xmms.cc:531
 msgid "AdPlug :: File Info"
 msgstr "Informations sur le fichier"
 
-#: src/adplug/adplug-xmms.cc:555 src/amidi-plug/i_configure-fluidsynth.c:448
+#: src/adplug/adplug-xmms.cc:553 src/amidi-plug/i_configure-fluidsynth.c:448
 msgid "Filename"
 msgstr "Nom du fichier"
 
+#: src/adplug/adplug-xmms.cc:557 src/skins/ui_playlist.c:470
+msgid "Title: "
+msgstr "Titre : "
+
+#: src/adplug/adplug-xmms.cc:558
+msgid "Author: "
+msgstr "Auteur : "
+
 #: src/adplug/adplug-xmms.cc:559
-msgid "Title: "
-msgstr "Titre : "
-
-#: src/adplug/adplug-xmms.cc:560
-msgid "Author: "
-msgstr "Auteur : "
-
-#: src/adplug/adplug-xmms.cc:561
 msgid "File Type: "
 msgstr "Format : "
 
-#: src/adplug/adplug-xmms.cc:562
+#: src/adplug/adplug-xmms.cc:560
 msgid "Subsongs: "
 msgstr "Sous-modules : "
 
-#: src/adplug/adplug-xmms.cc:563
+#: src/adplug/adplug-xmms.cc:561
 msgid "Instruments: "
 msgstr "Instruments : "
 
-#: src/adplug/adplug-xmms.cc:568
+#: src/adplug/adplug-xmms.cc:566
 msgid "Orders: "
 msgstr "Partitions : "
 
-#: src/adplug/adplug-xmms.cc:569
+#: src/adplug/adplug-xmms.cc:567
 msgid "Patterns: "
 msgstr "Séquences : "
 
-#: src/adplug/adplug-xmms.cc:573
+#: src/adplug/adplug-xmms.cc:571
 msgid "Song"
 msgstr "Morceau"
 
-#: src/adplug/adplug-xmms.cc:599
+#: src/adplug/adplug-xmms.cc:597
 msgid "Instrument name"
 msgstr "Nom de l'instrument"
 
-#: src/adplug/adplug-xmms.cc:641
+#: src/adplug/adplug-xmms.cc:639
 msgid "Song message"
 msgstr "Commentaires"
 
-#: src/adplug/adplug-xmms.cc:663
+#: src/adplug/adplug-xmms.cc:661
 msgid "Subsong selection"
 msgstr "Sélection du sous-module"
 
-#: src/adplug/adplug-xmms.cc:727
+#: src/adplug/adplug-xmms.cc:725
 msgid "Order: "
 msgstr "Partition : "
 
-#: src/adplug/adplug-xmms.cc:728
+#: src/adplug/adplug-xmms.cc:726
 msgid "Pattern: "
 msgstr "Séquence : "
 
+#: src/adplug/adplug-xmms.cc:728
+msgid "Row: "
+msgstr "Ligne : "
+
+#: src/adplug/adplug-xmms.cc:729
+msgid "Speed: "
+msgstr "Vitesse : "
+
 #: src/adplug/adplug-xmms.cc:730
-msgid "Row: "
-msgstr "Ligne : "
-
-#: src/adplug/adplug-xmms.cc:731
-msgid "Speed: "
-msgstr "Vitesse : "
-
-#: src/adplug/adplug-xmms.cc:732
 msgid "Timer: "
 msgstr "Fréquence : "
 
-#: src/adplug/adplug-xmms.cc:733 src/console/Audacious_Config.cxx:225
-#: src/sid/xmms-sid.glade:332 src/sid/xs_interface.c:341
+#: src/adplug/adplug-xmms.cc:731 src/console/Audacious_Config.cxx:224
+#: src/sid/xmms-sid.glade:332 src/sid/xs_interface.c:353
 msgid "Hz"
 msgstr "Hz"
 
-#: src/alac/plugin.c:74
+#: src/alac/plugin.c:71
 msgid "About Apple Lossless Audio Plugin"
 msgstr "À propos du module audio 'Apple Lossless'"
 
-#: src/alac/plugin.c:75
+#: src/alac/plugin.c:72
 msgid ""
 "Copyright (c) 2006 Audacious team\n"
 "Portions (c) 2005-2006 David Hammerton <crazney -at- crazney.net>"
@@ -333,8 +333,8 @@
 
 #: src/alarm/interface.c:71 src/lirc/about.c:115
 #: src/modplug/gui/interface.cxx:971 src/modplug/gui/modplug.glade:2030
-#: src/sid/xmms-sid.glade:3643 src/sid/xs_about.c:214
-#: src/sid/xs_interface.c:1740
+#: src/sid/xmms-sid.glade:3837 src/sid/xs_about.c:214
+#: src/sid/xs_interface.c:1824
 msgid "Close"
 msgstr "Fermer"
 
@@ -346,13 +346,12 @@
 msgid "This is your wakeup call."
 msgstr "L'appel du réveil... ;-)"
 
-#: src/alarm/interface.c:124 src/alarm/interface.c:1389 src/alsa/about.c:46
+#: src/alarm/interface.c:124 src/alarm/interface.c:1389 src/alsa/about.c:45
 #: src/alsa/configure.c:383 src/cdaudio-ng/cdaudio-ng.c:247
-#: src/flacng/plugin.c:706 src/gnomeshortcuts/gnomeshortcuts.c:311
-#: src/hotkey/gui.c:671 src/modplug/gui/interface.cxx:702
-#: src/modplug/gui/modplug.glade:1642 src/pulse_audio/pulse_audio.c:738
-#: src/scrobbler/gtkstuff.c:45 src/sid/xmms-sid.glade:3066
-#: src/sid/xs_interface.c:1243
+#: src/flacng/plugin.c:705 src/gnomeshortcuts/gnomeshortcuts.c:310
+#: src/hotkey/gui.c:670 src/modplug/gui/interface.cxx:702
+#: src/modplug/gui/modplug.glade:1642 src/pulse_audio/pulse_audio.c:736
+#: src/scrobbler/gtkstuff.c:42 src/skins/plugin.c:130
 msgid "OK"
 msgstr "OK"
 
@@ -431,7 +430,8 @@
 #: src/alarm/interface.c:612 src/alarm/interface.c:660
 #: src/alarm/interface.c:708 src/alarm/interface.c:756
 #: src/alarm/interface.c:804 src/alarm/interface.c:852
-#: src/alarm/interface.c:900 src/OSS4/configure.c:138 src/OSS/configure.c:169
+#: src/alarm/interface.c:900 src/OSS4/configure.c:136 src/OSS/configure.c:168
+#: src/skins/ui_manager.c:447 src/skins/ui_manager.c:468
 msgid "Default"
 msgstr "Défaut"
 
@@ -476,9 +476,9 @@
 msgstr "Fondu"
 
 #: src/alarm/interface.c:1087 src/sid/xmms-sid.glade:2007
-#: src/sid/xmms-sid.glade:2178 src/sid/xmms-sid.glade:2676
-#: src/sid/xs_interface.c:908 src/sid/xs_interface.c:962
-#: src/sid/xs_interface.c:1122
+#: src/sid/xmms-sid.glade:2178 src/sid/xmms-sid.glade:2746
+#: src/sid/xs_interface.c:920 src/sid/xs_interface.c:974
+#: src/sid/xs_interface.c:1154
 msgid "seconds"
 msgstr "secondes"
 
@@ -531,7 +531,7 @@
 msgid "Use reminder"
 msgstr "Utiliser le pense-bête"
 
-#: src/alarm/interface.c:1328 src/sndstretch/sndstretch_xmms.c:377
+#: src/alarm/interface.c:1328 src/sndstretch/sndstretch_xmms.c:376
 msgid "Options"
 msgstr "Options"
 
@@ -666,7 +666,7 @@
 "(écrivez le message dans le champ prévu à cet effet, puis cochez l'option du "
 "pense-bête).\n"
 
-#: src/alarm/interface.c:1366
+#: src/alarm/interface.c:1366 src/skins/ui_manager.c:386
 msgid "Help"
 msgstr "Aide"
 
@@ -678,11 +678,11 @@
 msgid "Thankyou"
 msgstr "Merci"
 
-#: src/alsa/about.c:30
+#: src/alsa/about.c:29
 msgid "About ALSA Driver"
 msgstr "À propos du pilote 'ALSA'"
 
-#: src/alsa/about.c:31
+#: src/alsa/about.c:30
 msgid ""
 "Audacious ALSA Driver\n"
 "\n"
@@ -746,8 +746,8 @@
 msgid "ALSA Driver configuration"
 msgstr "Configuration du pilote 'ALSA'"
 
-#: src/alsa/configure.c:274 src/OSS4/configure.c:186 src/OSS/configure.c:217
-#: src/sun/configure.c:183
+#: src/alsa/configure.c:274 src/OSS4/configure.c:184 src/OSS/configure.c:216
+#: src/sun/configure.c:181
 msgid "Audio device:"
 msgstr "Périphérique audio :"
 
@@ -759,7 +759,7 @@
 msgid "Mixer card:"
 msgstr "Carte de mélange audio :"
 
-#: src/alsa/configure.c:313 src/OSS/configure.c:260 src/sun/configure.c:220
+#: src/alsa/configure.c:313 src/OSS/configure.c:259 src/sun/configure.c:218
 msgid "Mixer device:"
 msgstr "Mélangeur audio :"
 
@@ -1520,8 +1520,8 @@
 "<span size=\"smaller\">Sortie\n"
 "'TiMidity'</span>"
 
-#: src/amidi-plug/i_fileinfo.c:169 src/sid/xmms-sid.glade:3465
-#: src/sid/xs_interface.c:1684
+#: src/amidi-plug/i_fileinfo.c:169 src/sid/xmms-sid.glade:3659
+#: src/sid/xs_interface.c:1768
 msgid "Name:"
 msgstr "Nom :"
 
@@ -1650,20 +1650,20 @@
 msgid "None"
 msgstr "Aucun"
 
-#: src/aosd/aosd_trigger.c:75
+#: src/aosd/aosd_trigger.c:74
 msgid "Playback Start"
 msgstr "Début de la lecture"
 
-#: src/aosd/aosd_trigger.c:76
+#: src/aosd/aosd_trigger.c:75
 msgid "Triggers OSD when a playlist entry is played."
 msgstr ""
 "Déclenche la fonction 'OSD' lorsqu'une entrée de la liste de lecture est lue."
 
-#: src/aosd/aosd_trigger.c:80
+#: src/aosd/aosd_trigger.c:79
 msgid "Title Change"
 msgstr "Changement de titre"
 
-#: src/aosd/aosd_trigger.c:81
+#: src/aosd/aosd_trigger.c:80
 msgid ""
 "Triggers OSD when, during playback, the song title changes but the filename "
 "is the same. This is mostly useful to display title changes in internet "
@@ -1674,27 +1674,27 @@
 "particulièrement utile pour afficher le changement de titre des flux "
 "Internet."
 
-#: src/aosd/aosd_trigger.c:87
+#: src/aosd/aosd_trigger.c:86
 msgid "Volume Change"
 msgstr "Changement de volume"
 
-#: src/aosd/aosd_trigger.c:88
+#: src/aosd/aosd_trigger.c:87
 msgid "Triggers OSD when volume is changed."
 msgstr "Déclenche la fonction 'OSD' en cas de changement de volume."
 
-#: src/aosd/aosd_trigger.c:92
+#: src/aosd/aosd_trigger.c:91
 msgid "Pause On"
 msgstr "Mode 'pause' activé"
 
-#: src/aosd/aosd_trigger.c:93
+#: src/aosd/aosd_trigger.c:92
 msgid "Triggers OSD when playback is paused."
 msgstr "Déclenche la fonction 'OSD' lorsque la lecture est en mode 'pause'."
 
+#: src/aosd/aosd_trigger.c:96
+msgid "Pause Off"
+msgstr "Mode 'pause' désactivé"
+
 #: src/aosd/aosd_trigger.c:97
-msgid "Pause Off"
-msgstr "Mode 'pause' désactivé"
-
-#: src/aosd/aosd_trigger.c:98
 msgid "Triggers OSD when playback is unpaused."
 msgstr ""
 "Déclenche la fonction 'OSD' lorsque la lecture n'est plus en mode 'pause'."
@@ -1794,10 +1794,10 @@
 msgid "Skin file:"
 msgstr "Fichier du thème"
 
-#: src/aosd/aosd_ui.c:644 src/sid/xmms-sid.glade:2331
-#: src/sid/xmms-sid.glade:2856 src/sid/xmms-sid.glade:2962
-#: src/sid/xs_interface.c:1010 src/sid/xs_interface.c:1182
-#: src/sid/xs_interface.c:1218
+#: src/aosd/aosd_ui.c:644 src/sid/xmms-sid.glade:2373
+#: src/sid/xmms-sid.glade:2968 src/sid/xmms-sid.glade:3136
+#: src/sid/xs_interface.c:1043 src/sid/xs_interface.c:1235
+#: src/sid/xs_interface.c:1291
 msgid "Browse"
 msgstr "Parcourir"
 
@@ -1881,9 +1881,9 @@
 msgid "Trigger"
 msgstr "Déclenchement"
 
-#: src/aosd/aosd_ui.c:1076 src/cdaudio-ng/configure.c:167
+#: src/aosd/aosd_ui.c:1076 src/cdaudio-ng/configure.c:175
 #: src/modplug/gui/interface.cxx:688 src/modplug/gui/modplug.glade:1603
-#: src/sid/xmms-sid.glade:3026 src/sid/xs_interface.c:1229
+#: src/sid/xmms-sid.glade:3220 src/sid/xs_interface.c:1301
 msgid "Misc"
 msgstr "Divers"
 
@@ -1919,11 +1919,11 @@
 "'On-Screen-Display' est basé sur la bibliothèque 'Ghosd' de Evan Martin\n"
 "http://neugierig.org/software/ghosd/\n"
 
-#: src/arts/arts.c:22
+#: src/arts/arts.c:21
 msgid "About aRts Output"
 msgstr "À propos du pilote 'aRts'"
 
-#: src/arts/arts.c:23
+#: src/arts/arts.c:22
 msgid ""
 "aRts output plugin by Håvard Kvålen <havardk@xmms.org>\n"
 "Audacious port by Giacomo Lozito from develia.org"
@@ -1941,26 +1941,26 @@
 msgid "aRts Driver configuration"
 msgstr "Configuration du pilote 'aRts'"
 
-#: src/arts/configure.c:61 src/esd/configure.c:171 src/OSS4/configure.c:232
-#: src/OSS/configure.c:304 src/sun/configure.c:259
+#: src/arts/configure.c:61 src/esd/configure.c:171 src/OSS4/configure.c:230
+#: src/OSS/configure.c:303 src/sun/configure.c:257
 msgid "Buffering:"
 msgstr "Tampon"
 
-#: src/arts/configure.c:73 src/esd/configure.c:184 src/OSS4/configure.c:245
-#: src/OSS/configure.c:317 src/sun/configure.c:272
+#: src/arts/configure.c:73 src/esd/configure.c:184 src/OSS4/configure.c:243
+#: src/OSS/configure.c:316 src/sun/configure.c:270
 msgid "Buffer size (ms):"
 msgstr "Taille du tampon (ms) :"
 
-#: src/arts/configure.c:83 src/esd/configure.c:209 src/OSS4/configure.c:270
-#: src/OSS/configure.c:342 src/sun/configure.c:304
+#: src/arts/configure.c:83 src/esd/configure.c:209 src/OSS4/configure.c:268
+#: src/OSS/configure.c:341 src/sun/configure.c:302
 msgid "Buffering"
 msgstr "Tampon"
 
-#: src/audiocompress/audacious-glue.c:95
+#: src/audiocompress/audacious-glue.c:103
 msgid "AudioCompress "
 msgstr "AudioCompress "
 
-#: src/audiocompress/audacious-glue.c:96
+#: src/audiocompress/audacious-glue.c:104
 msgid ""
 "\n"
 "(c)2003 trikuare studios(http://trikuare.cx)\n"
@@ -1980,11 +1980,11 @@
 "pour maintenir, de manière transparente, le volume à un niveau\n"
 "plus ou moins uniforme."
 
-#: src/audiocompress/audacious-glue.c:101
+#: src/audiocompress/audacious-glue.c:109
 msgid "About AudioCompress"
 msgstr "À propos de 'AudioCompress'"
 
-#: src/audiocompress/audacious-glue.c:320
+#: src/audiocompress/audacious-glue.c:328
 msgid ""
 "If checked, when the sound peaks the volume will be cut instantly; "
 "otherwise, it will ramp down just in time for the peak (but some minor "
@@ -1994,17 +1994,17 @@
 "immédiatement coupé ; sinon, il diminuera juste à temps, de manière à éviter "
 "le pic (malgré tout, une saturation faible peut survenir)."
 
-#: src/audiocompress/audacious-glue.c:324
+#: src/audiocompress/audacious-glue.c:332
 msgid "The maximum amount to amplify the audio by"
 msgstr "Détermine l'amplification maximale à appliquer au flux audio."
 
-#: src/audiocompress/audacious-glue.c:326
+#: src/audiocompress/audacious-glue.c:334
 msgid "Defines how smoothly the volume will ramp up"
 msgstr ""
 "Détermine la vitesse à laquelle le volume sera réduit. Une valeur élevée "
 "correspond à une vitesse plus lente."
 
-#: src/audiocompress/audacious-glue.c:328
+#: src/audiocompress/audacious-glue.c:336
 msgid ""
 "The target audio level for ramping up. Lowering the value gives a bit more "
 "dynamic range for peaks, but will make the overall sound quieter."
@@ -2013,43 +2013,43 @@
 "Des valeurs faibles permettent d'obtenir une variation des pics plus "
 "dynamique, mais rendent l'ensemble du flux moins audible."
 
-#: src/audiocompress/audacious-glue.c:331
+#: src/audiocompress/audacious-glue.c:339
 msgid "How long of a window to maintain"
 msgstr "Temps de relâchement (ms) :"
 
-#: src/audiocompress/audacious-glue.c:372
+#: src/audiocompress/audacious-glue.c:380
 msgid "AudioCompress preferences"
 msgstr "Préférences de 'AudioCompress'"
 
-#: src/audiocompress/audacious-glue.c:389
+#: src/audiocompress/audacious-glue.c:397
 msgid " Quality Options "
 msgstr " Qualité "
 
-#: src/audiocompress/audacious-glue.c:394
+#: src/audiocompress/audacious-glue.c:402
 msgid " Aggressively prevent clipping"
 msgstr " Prévention agressive de la saturation numérique"
 
-#: src/audiocompress/audacious-glue.c:406
+#: src/audiocompress/audacious-glue.c:414
 msgid " Target & gain"
 msgstr " Seuil & Gain"
 
-#: src/audiocompress/audacious-glue.c:417
+#: src/audiocompress/audacious-glue.c:425
 msgid "Target audio level:"
 msgstr "Seuil de compression :"
 
-#: src/audiocompress/audacious-glue.c:425
-msgid "Maximum gain:"
-msgstr "Gain maximal :"
-
 #: src/audiocompress/audacious-glue.c:433
+msgid "Maximum gain:"
+msgstr "Gain maximal :"
+
+#: src/audiocompress/audacious-glue.c:441
 msgid "Gain smooth:"
 msgstr "Vitesse du gain :"
 
-#: src/audiocompress/audacious-glue.c:485
+#: src/audiocompress/audacious-glue.c:493
 msgid " History "
 msgstr " Relâchement "
 
-#: src/audiocompress/audacious-glue.c:517
+#: src/audiocompress/audacious-glue.c:525
 msgid ""
 "How long of a history to maintain.  A higher number will make the volume "
 "changes less responsive."
@@ -2057,41 +2057,41 @@
 "Détermine la durée (exprimée en millisecondes) pendant laquelle la "
 "compression sera appliquée."
 
-#: src/audiocompress/audacious-glue.c:528
+#: src/audiocompress/audacious-glue.c:536
 msgid "Load default values"
 msgstr "Charger les valeurs par défaut"
 
-#: src/audiocompress/audacious-glue.c:533
+#: src/audiocompress/audacious-glue.c:541
 msgid "Audio values"
 msgstr "Paramètres audio"
 
-#: src/audiocompress/audacious-glue.c:562 src/echo_plugin/gui.c:152
-#: src/modplug/gui/interface.cxx:708 src/modplug/gui/modplug.glade:1655
-#: src/stereo_plugin/stereo.c:132
+#: src/audiocompress/audacious-glue.c:570 src/crystalizer/crystalizer.c:129
+#: src/echo_plugin/gui.c:150 src/modplug/gui/interface.cxx:708
+#: src/modplug/gui/modplug.glade:1655 src/stereo_plugin/stereo.c:131
 msgid "Apply"
 msgstr "Appliquer"
 
-#: src/blur_scope/blur_scope.c:54
+#: src/blur_scope/blur_scope.c:52
 msgid "/Toggle Decorations"
 msgstr "/Montrer les décorations"
 
-#: src/blur_scope/blur_scope.c:56
+#: src/blur_scope/blur_scope.c:54
 msgid "/-"
 msgstr "/-"
 
-#: src/blur_scope/blur_scope.c:57
+#: src/blur_scope/blur_scope.c:55
 msgid "/Close"
 msgstr "/Fermer"
 
-#: src/blur_scope/blur_scope.c:181
+#: src/blur_scope/blur_scope.c:179
 msgid "Blur scope"
 msgstr "'Blur Scope'"
 
-#: src/blur_scope/config.c:72
+#: src/blur_scope/config.c:71
 msgid "Blur Scope: Color selection"
 msgstr "'Blur Scope' : sélection de la couleur"
 
-#: src/blur_scope/config.c:82 src/jack/configure.c:108
+#: src/blur_scope/config.c:81 src/jack/configure.c:107
 msgid "Options:"
 msgstr "Options :"
 
@@ -2133,7 +2133,7 @@
 "\n"
 "Ce module était un projet de 'Google Summer of Code 2007'."
 
-#: src/cdaudio-ng/cdaudio-ng.c:814
+#: src/cdaudio-ng/cdaudio-ng.c:815
 msgid ""
 "<b><big>No playable CD found.</big></b>\n"
 "\n"
@@ -2144,98 +2144,103 @@
 "Le lecteur ne comporte pas de CD ou le support inséré n'est pas un CD "
 "audio.\n"
 
-#: src/cdaudio-ng/configure.c:147
+#: src/cdaudio-ng/configure.c:155
 msgid "CD Audio Plugin Configuration"
 msgstr "Configuration du module 'CD Audio'"
 
-#: src/cdaudio-ng/configure.c:157
+#: src/cdaudio-ng/configure.c:165
 msgid "Digital audio extraction"
 msgstr "Extraction audio digitale"
 
-#: src/cdaudio-ng/configure.c:162
+#: src/cdaudio-ng/configure.c:170
 msgid "Title information"
 msgstr "Informations sur le titre"
 
-#: src/cdaudio-ng/configure.c:179
+#: src/cdaudio-ng/configure.c:187
 msgid "Limit read speed to: "
 msgstr "Limiter la vitesse de lecture à : "
 
-#: src/cdaudio-ng/configure.c:186
+#: src/cdaudio-ng/configure.c:194
 msgid "Use cd-text if available"
 msgstr "Utiliser CD-TEXT, si la fonction est disponible"
 
-#: src/cdaudio-ng/configure.c:190
+#: src/cdaudio-ng/configure.c:198
 msgid "Use CDDB if available"
 msgstr "Utiliser CDDB, si le service est disponible"
 
-#: src/cdaudio-ng/configure.c:194
+#: src/cdaudio-ng/configure.c:202
 msgid "Server: "
 msgstr "Serveur : "
 
-#: src/cdaudio-ng/configure.c:197
+#: src/cdaudio-ng/configure.c:205
+#, fuzzy
+msgid "Path: "
+msgstr "Séquence : "
+
+#: src/cdaudio-ng/configure.c:208
 msgid "Port: "
 msgstr "Port : "
 
-#: src/cdaudio-ng/configure.c:203
+#: src/cdaudio-ng/configure.c:217
 msgid "Use HTTP instead of CDDBP"
 msgstr "Utiliser HTTP à la place de CDDB"
 
-#: src/cdaudio-ng/configure.c:211
+#: src/cdaudio-ng/configure.c:225
 msgid "Override default device: "
 msgstr "Remplacer le périphérique par défaut : "
 
-#: src/cdaudio-ng/configure.c:218
+#: src/cdaudio-ng/configure.c:232
 msgid "Print debug information"
 msgstr "Afficher les informations de débogage"
 
-#: src/console/Audacious_Config.cxx:125
+#: src/console/Audacious_Config.cxx:124
 msgid "Console Music Decoder"
 msgstr "Décodeur 'Console Music'"
 
-#: src/console/Audacious_Config.cxx:162
+#: src/console/Audacious_Config.cxx:161
 msgid "Bass:"
 msgstr "Basses :"
 
-#: src/console/Audacious_Config.cxx:166 src/console/Audacious_Config.cxx:177
-#: src/console/Audacious_Config.cxx:198
+#: src/console/Audacious_Config.cxx:165 src/console/Audacious_Config.cxx:176
+#: src/console/Audacious_Config.cxx:197
 msgid "secs"
 msgstr "secondes"
 
-#: src/console/Audacious_Config.cxx:173
+#: src/console/Audacious_Config.cxx:172
 msgid "Treble:"
 msgstr "Aiguës :"
 
-#: src/console/Audacious_Config.cxx:194
+#: src/console/Audacious_Config.cxx:193
 msgid "Default song length:"
 msgstr "Durée par défaut :"
 
-#: src/console/Audacious_Config.cxx:200 src/modplug/gui/interface.cxx:268
+#: src/console/Audacious_Config.cxx:199 src/modplug/gui/interface.cxx:268
 #: src/modplug/gui/modplug.glade:338 src/sid/xmms-sid.glade:1243
-#: src/sid/xs_interface.c:653
+#: src/sid/xs_interface.c:665
 msgid "Resampling"
 msgstr "Rééchantillonnage"
 
-#: src/console/Audacious_Config.cxx:206
+#: src/console/Audacious_Config.cxx:205
 msgid "Enable audio resampling"
 msgstr "Activer le rééchantillonnage"
 
-#: src/console/Audacious_Config.cxx:221
+#: src/console/Audacious_Config.cxx:220
 msgid "Resampling rate:"
 msgstr "Taux de rééchantillonnage"
 
-#: src/console/Audacious_Config.cxx:236
+#: src/console/Audacious_Config.cxx:235
 msgid "SPC"
 msgstr "SPC"
 
-#: src/console/Audacious_Config.cxx:237
+#: src/console/Audacious_Config.cxx:236
 msgid "Ignore length from SPC tags"
 msgstr "Ignorer la durée des métadonnées SPC"
 
-#: src/console/Audacious_Config.cxx:238
+#: src/console/Audacious_Config.cxx:237
 msgid "Increase reverb"
 msgstr "Augmenter la réverbération"
 
-#: src/console/Audacious_Config.cxx:263
+#: src/console/Audacious_Config.cxx:262
 msgid ""
 "The default song length, expressed in seconds, is used for songs that do not "
 "provide length information (i.e. looping tracks)."
@@ -2245,11 +2250,11 @@
 "qui ne disposent pas d'informations quant à leur durée (les pistes en "
 "boucle, par exemple)."
 
-#: src/console/Audacious_Driver.cxx:444
+#: src/console/Audacious_Driver.cxx:442
 msgid "About the Console Music Decoder"
 msgstr "À propos de 'Console Music Decoder'"
 
-#: src/console/Audacious_Driver.cxx:445
+#: src/console/Audacious_Driver.cxx:443
 msgid ""
 "Console music decoder engine based on Game_Music_Emu 0.5.2.\n"
 "Supported formats: AY, GBS, GYM, HES, KSS, NSF, NSFE, SAP, SPC, VGM, VGZ\n"
@@ -2265,11 +2270,20 @@
 "William Pitcock <nenolod@nenolod.net>\n"
 "Shay Green <gblargg@gmail.com>"
 
-#: src/demac/plugin.c:388
+#: src/crystalizer/crystalizer.c:90
+#, fuzzy
+msgid "Configure Crystalizer"
+msgstr "Configurer 'Extra Stereo'"
+
+#: src/crystalizer/crystalizer.c:92 src/stereo_plugin/stereo.c:94
+msgid "Effect intensity:"
+msgstr "Intensité de l'effet :"
+
+#: src/demac/plugin.c:359
 msgid "About Monkey's Audio Plugin"
 msgstr "À propos du module 'Monkey's Audio'"
 
-#: src/demac/plugin.c:389
+#: src/demac/plugin.c:360
 msgid ""
 "Copyright (C) 2007 Eugene Zagidullin <e.asphyx@gmail.com>\n"
 "Based on ffape decoder, Copyright (C) 2007 Benjamin Zores\n"
@@ -2286,7 +2300,7 @@
 "\n"
 "'ffape' fait partie du projet 'FFmpeg' (http://ffmpeg.mplayerhq.hu/)"
 
-#: src/echo_plugin/gui.c:11
+#: src/echo_plugin/gui.c:9
 msgid ""
 "Echo Plugin\n"
 "By Johan Levin 1999.\n"
@@ -2299,35 +2313,35 @@
 "\n"
 "'Surround echo' est écrit par Carl van Schaik (1999)"
 
-#: src/echo_plugin/gui.c:25
+#: src/echo_plugin/gui.c:23
 msgid "About Echo Plugin"
 msgstr "À propos du module 'Écho'"
 
-#: src/echo_plugin/gui.c:76
+#: src/echo_plugin/gui.c:74
 msgid "Configure Echo"
 msgstr "Configuration de 'Écho'"
 
-#: src/echo_plugin/gui.c:89
+#: src/echo_plugin/gui.c:87
 msgid "Delay: (ms)"
 msgstr "Délai : (ms)"
 
-#: src/echo_plugin/gui.c:94
+#: src/echo_plugin/gui.c:92
 msgid "Feedback: (%)"
 msgstr "Retour : (%)"
 
-#: src/echo_plugin/gui.c:99
+#: src/echo_plugin/gui.c:97
 msgid "Volume: (%)"
 msgstr "Volume : (%)"
 
-#: src/echo_plugin/gui.c:122
+#: src/echo_plugin/gui.c:120
 msgid "Surround echo"
 msgstr "Écho d'ambiance"
 
-#: src/esd/about.c:34
+#: src/esd/about.c:33
 msgid "About ESounD Plugin"
 msgstr "À propos du module 'ESounD'"
 
-#: src/esd/about.c:35
+#: src/esd/about.c:34
 msgid ""
 "Audacious ESounD Plugin\n"
 "\n"
@@ -2397,8 +2411,8 @@
 msgid "Server"
 msgstr "Serveur"
 
-#: src/esd/configure.c:198 src/OSS4/configure.c:259 src/OSS/configure.c:331
-#: src/sun/configure.c:290
+#: src/esd/configure.c:198 src/OSS4/configure.c:257 src/OSS/configure.c:330
+#: src/sun/configure.c:288
 msgid "Pre-buffer (percent):"
 msgstr "Pré-tampon (pourcents) :"
 
@@ -2470,7 +2484,7 @@
 msgid "Window->JumpToFile"
 msgstr "Fenêtre -> Aller au titre..."
 
-#: src/evdev-plug/ed_internals.c:94
+#: src/evdev-plug/ed_internals.c:93
 #, c-format
 msgid ""
 "event-device-plugin: unable to open device file %s , skipping this device; "
@@ -2480,7 +2494,7 @@
 "le périphérique sera ignoré...Veuillez vérifier que le fichier existe et que "
 "disposez des permissions de lecture requises.\n"
 
-#: src/evdev-plug/ed_internals.c:103
+#: src/evdev-plug/ed_internals.c:102
 #, c-format
 msgid ""
 "event-device-plugin: unable to create a io_channel for device file %s ,"
@@ -2489,7 +2503,7 @@
 "Module 'Event-Device' : impossible de créer un canal 'io' pour le fichier de "
 "périphérique %s ; le périphérique sera ignoré...\n"
 
-#: src/evdev-plug/ed_internals.c:342
+#: src/evdev-plug/ed_internals.c:341
 msgid ""
 "event-device-plugin: unable to open /proc/bus/input/devices , automatic "
 "detection of event devices won't work.\n"
@@ -2497,7 +2511,7 @@
 "Module 'Event-Device' : impossible d'ouvrir '/proc/bus/input/devices' ; la "
 "détection automatique des périphériques échouera...\n"
 
-#: src/evdev-plug/ed_internals.c:351
+#: src/evdev-plug/ed_internals.c:350
 msgid ""
 "event-device-plugin: unable to open a io_channel for /proc/bus/input/"
 "devices , automatic detection of event devices won't work.\n"
@@ -2505,7 +2519,7 @@
 "Module 'Event-Device' : impossible de créer un canal 'io' pour '/proc/bus/"
 "input/devices' ; la détection automatique des périphériques échouera...\n"
 
-#: src/evdev-plug/ed_internals.c:361
+#: src/evdev-plug/ed_internals.c:360
 msgid ""
 "event-device-plugin: an error occurred while reading /proc/bus/input/"
 "devices , automatic detection of event devices won't work.\n"
@@ -2513,14 +2527,14 @@
 "Module 'Event-Device' : une erreur s'est produite lors de lecture de '/proc/"
 "bus/input/devices' ; la détection automatique des périphériques échouera...\n"
 
-#: src/evdev-plug/ed_internals.c:424
+#: src/evdev-plug/ed_internals.c:423
 #, c-format
 msgid "event-device-plugin: device %s not found in /dev/input , skipping.\n"
 msgstr ""
 "Module 'Event-Device' : le périphérique %s n'a pas été trouvé dans '/dev/"
 "input' ; le périphérique sera ignoré...\n"
 
-#: src/evdev-plug/ed_internals.c:489 src/evdev-plug/ed_internals.c:583
+#: src/evdev-plug/ed_internals.c:488 src/evdev-plug/ed_internals.c:582
 #, c-format
 msgid ""
 "event-device-plugin: unable to load config file %s , default settings will "
@@ -2529,7 +2543,7 @@
 "Module 'Event-Device' : impossible de charger le fichier de configuration %"
 "s ; les paramètres par défaut seront utilisés...\n"
 
-#: src/evdev-plug/ed_internals.c:535
+#: src/evdev-plug/ed_internals.c:534
 #, c-format
 msgid ""
 "event-device-plugin: incomplete information in config file for device \"%s"
@@ -2538,7 +2552,7 @@
 "Module 'Event-Device' : information incomplète au sujet du périphérique \"%s"
 "\" ; le périphérique sera ignoré...\n"
 
-#: src/evdev-plug/ed_internals.c:604 src/evdev-plug/ed_internals.c:936
+#: src/evdev-plug/ed_internals.c:603 src/evdev-plug/ed_internals.c:935
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get is_active value for device "
@@ -2548,7 +2562,7 @@
 "le fichier de configuration pour le périphérique  \"%s\" ; le périphérique "
 "sera ignoré...\n"
 
-#: src/evdev-plug/ed_internals.c:840
+#: src/evdev-plug/ed_internals.c:839
 #, c-format
 msgid ""
 "event-device-plugin: unable to access local directory %s , settings will not "
@@ -2557,7 +2571,7 @@
 "Module 'Event-Device' : impossible d'accéder au dossier local %s ; les "
 "paramètres ne seront pas enregistrés...\n"
 
-#: src/evdev-plug/ed_internals.c:890
+#: src/evdev-plug/ed_internals.c:889
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get filename value for device "
@@ -2567,7 +2581,7 @@
 "configuration, le nom du fichier du périphérique \"%s\" ;le périphérique "
 "sera ignoré...\n"
 
-#: src/evdev-plug/ed_internals.c:906
+#: src/evdev-plug/ed_internals.c:905
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get phys value for device \"%s"
@@ -2576,7 +2590,7 @@
 "event-device-plugin : configuration ; impossible d'obtenir la valeur "
 "physique du périphérique \"%s\" ; opération ignorée.\n"
 
-#: src/evdev-plug/ed_internals.c:922
+#: src/evdev-plug/ed_internals.c:921
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get is_custom value for device "
@@ -2585,7 +2599,7 @@
 "event-device-plugin : configuration ; impossible d'obtenir la valeur "
 "\"is_custom\" pour le périphérique \"%s\" ; opération ignorée.\n"
 
-#: src/evdev-plug/ed_internals.c:946
+#: src/evdev-plug/ed_internals.c:945
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unexpected value for device \"%s\", "
@@ -2608,7 +2622,7 @@
 "périphérique qui n'a pas été détecté.\n"
 "Veuillez vous assurer que le périphérique a été correctement branché."
 
-#: src/evdev-plug/ed_ui.c:319 src/madplug/plugin.c:566
+#: src/evdev-plug/ed_ui.c:319 src/madplug/plugin.c:703
 msgid "Error"
 msgstr "Erreur"
 
@@ -2672,7 +2686,7 @@
 msgid "Active"
 msgstr "Actif"
 
-#: src/evdev-plug/ed_ui.c:655 src/sun/configure.c:488
+#: src/evdev-plug/ed_ui.c:655 src/sun/configure.c:486
 msgid "Status"
 msgstr "Statut"
 
@@ -2811,7 +2825,7 @@
 msgid "Output file format:"
 msgstr "Format du fichier de sortie :"
 
-#: src/filewriter/filewriter.c:511 src/ladspa/ladspa.c:960
+#: src/filewriter/filewriter.c:511 src/ladspa/ladspa.c:959
 msgid "Configure"
 msgstr "Configurer"
 
@@ -3046,11 +3060,11 @@
 msgid "Quality level (0 - 10):"
 msgstr "Niveau de qualité (0 - 10) :"
 
-#: src/flacng/plugin.c:698
+#: src/flacng/plugin.c:697
 msgid "FLAC Audio Plugin "
 msgstr "Module audio 'Flac' "
 
-#: src/flacng/plugin.c:699
+#: src/flacng/plugin.c:698
 msgid ""
 "\n"
 "\n"
@@ -3066,15 +3080,15 @@
 "\n"
 "http://www.skytale.net/projects/bmp-flac2/"
 
-#: src/flacng/plugin.c:704
+#: src/flacng/plugin.c:703
 msgid "About FLAC Audio Plugin"
 msgstr "À propos du module audio 'FLAC'"
 
+#: src/gnomeshortcuts/gnomeshortcuts.c:305
+msgid "About Gnome Shortcut Plugin"
+msgstr "À propos du module 'Gnome Shortcut'"
+
 #: src/gnomeshortcuts/gnomeshortcuts.c:306
-msgid "About Gnome Shortcut Plugin"
-msgstr "À propos du module 'Gnome Shortcut'"
-
-#: src/gnomeshortcuts/gnomeshortcuts.c:307
 msgid ""
 "Gnome Shortcut Plugin\n"
 "Let's you control the player with Gnome's shortcuts.\n"
@@ -3094,7 +3108,7 @@
 msgid "Previous Track"
 msgstr "Piste précédente"
 
-#: src/hotkey/gui.c:69
+#: src/hotkey/gui.c:69 src/skins/ui_manager.c:177 src/skins/ui_manager.c:178
 msgid "Play"
 msgstr "Lecture"
 
@@ -3102,7 +3116,7 @@
 msgid "Pause/Resume"
 msgstr "Pause / Reprise"
 
-#: src/hotkey/gui.c:71
+#: src/hotkey/gui.c:71 src/skins/ui_manager.c:183 src/skins/ui_manager.c:184
 msgid "Stop"
 msgstr "Arrêt"
 
@@ -3130,7 +3144,7 @@
 msgid "Volume Down"
 msgstr "Réduire le volume"
 
-#: src/hotkey/gui.c:78
+#: src/hotkey/gui.c:78 src/skins/ui_manager.c:422 src/skins/ui_manager.c:423
 msgid "Jump to File"
 msgstr "Aller au fichier..."
 
@@ -3189,11 +3203,11 @@
 msgid "<b>Key Binding:</b>"
 msgstr "<b>Touche associée :</b>"
 
-#: src/hotkey/gui.c:660
+#: src/hotkey/gui.c:659
 msgid "About Global Hotkey Plugin"
 msgstr "À propos du module 'Global Hotkey'"
 
-#: src/hotkey/gui.c:661
+#: src/hotkey/gui.c:660
 msgid ""
 "Global Hotkey Plugin\n"
 "Control the player with global key combinations or multimedia keys.\n"
@@ -3228,35 +3242,35 @@
 "Jeremy Tan             <nsx@nsx.homeip.net>\n"
 "\n"
 
-#: src/jack/configure.c:70
+#: src/jack/configure.c:69
 msgid "Connect to all available jack ports"
 msgstr "Connexion à tous les ports 'jack' disponibles"
 
-#: src/jack/configure.c:77
+#: src/jack/configure.c:76
 msgid "Connect only the output ports"
 msgstr "Connexion aux ports de sortie uniquement"
 
-#: src/jack/configure.c:84
+#: src/jack/configure.c:83
 msgid "Connect to no ports"
 msgstr "Aucune connexion"
 
-#: src/jack/configure.c:99
+#: src/jack/configure.c:98
 msgid "jack Plugin configuration"
 msgstr "Configuration du module 'Jack'"
 
-#: src/jack/configure.c:117
+#: src/jack/configure.c:116
 msgid "Connection mode:"
 msgstr "Mode de connexion :"
 
-#: src/jack/configure.c:129
+#: src/jack/configure.c:128
 msgid "Enable debug printing"
 msgstr "Activer le mode de débogage"
 
-#: src/jack/jack.c:84
+#: src/jack/jack.c:82
 msgid "Sample rate mismatch"
 msgstr "Problème de correspondance entre les taux d'échantillonnage"
 
-#: src/jack/jack.c:87
+#: src/jack/jack.c:85
 msgid ""
 "Xmms is asking for a sample rate that differs from\n"
 " that of the jack server.  Xmms 1.2.8 or later\n"
@@ -3281,15 +3295,15 @@
 "\n"
 "Chris Morgan <cmorgan@alum.wpi.edu>\n"
 
-#: src/jack/jack.c:100 src/wma/wma.c:148
+#: src/jack/jack.c:98 src/wma/wma.c:145
 msgid " Close "
 msgstr " Fermer "
 
-#: src/jack/jack.c:452
+#: src/jack/jack.c:450
 msgid "About JACK Output Plugin 0.17"
 msgstr "À propos du module 'JACK' 0.17"
 
-#: src/jack/jack.c:453
+#: src/jack/jack.c:451
 msgid ""
 "XMMS jack Driver 0.17\n"
 "\n"
@@ -3308,39 +3322,39 @@
 "Rétroportage pour Audacious effectué par :\n"
 "Giacomo Lozito from develia.org"
 
-#: src/ladspa/ladspa.c:722
+#: src/ladspa/ladspa.c:721
 msgid "This LADSPA plugin has no user controls"
 msgstr "Cette extension LADSPA ne dispose pas de contrôles utilisateur"
 
-#: src/ladspa/ladspa.c:767 src/ladspa/ladspa.c:853
+#: src/ladspa/ladspa.c:766 src/ladspa/ladspa.c:852
 msgid "Name"
 msgstr "Nom"
 
-#: src/ladspa/ladspa.c:853
+#: src/ladspa/ladspa.c:852
 msgid "UID"
 msgstr "UID"
 
-#: src/ladspa/ladspa.c:928
+#: src/ladspa/ladspa.c:927
 msgid "Installed plugins"
 msgstr "Extensions installées"
 
-#: src/ladspa/ladspa.c:937
+#: src/ladspa/ladspa.c:936
 msgid "Running plugins"
 msgstr "Extensions utilisées"
 
-#: src/ladspa/ladspa.c:952
+#: src/ladspa/ladspa.c:951
 msgid "Add"
 msgstr "Ajouter"
 
-#: src/ladspa/ladspa.c:956
+#: src/ladspa/ladspa.c:955
 msgid "Remove"
 msgstr "Enlever"
 
-#: src/ladspa/ladspa.c:969
+#: src/ladspa/ladspa.c:968
 msgid "LADSPA Plugin Catalog"
 msgstr "Liste des extensions 'LADSPA'"
 
-#: src/lastfm/lastfm.c:96
+#: src/lastfm/lastfm.c:94
 msgid ""
 "<b><big>Couldn't initialize the last.fm radio plugin.</big></b>\n"
 "\n"
@@ -3445,59 +3459,59 @@
 msgid "%s: will try reconnect every %d seconds...\n"
 msgstr "%s: le système va essayer de se reconnecter toutes les %d seconds...\n"
 
-#: src/madplug/configure.c:209
+#: src/madplug/configure.c:208
 msgid "MPEG Audio Plugin Configuration"
 msgstr "Configuration du module audio 'MPEG'"
 
-#: src/madplug/configure.c:226
+#: src/madplug/configure.c:225
 msgid "Audio Settings"
 msgstr "Options audio"
 
-#: src/madplug/configure.c:234
+#: src/madplug/configure.c:233
 msgid "Force reopen audio when audio type changed"
 msgstr ""
 "Forcer la réouverture de la sortie audio lorsque le format du flux a changé"
 
-#: src/madplug/configure.c:243
+#: src/madplug/configure.c:242
 msgid "Metadata Settings"
 msgstr "Options des métadonnées"
 
-#: src/madplug/configure.c:252
+#: src/madplug/configure.c:251
 msgid "Enable fast play-length calculation"
 msgstr "Activer le calcul rapide de la durée"
 
-#: src/madplug/configure.c:259
+#: src/madplug/configure.c:258
 msgid "Parse XING headers"
 msgstr "Analyser les en-têtes 'XING'"
 
-#: src/madplug/configure.c:266
+#: src/madplug/configure.c:265
 msgid "Use SJIS to write ID3 tags (not recommended)"
 msgstr ""
 "Utiliser 'SJIS' pour écrire les métadonnées ID3 (l'opération n'est pas "
 "recommandée)"
 
-#: src/madplug/configure.c:273
+#: src/madplug/configure.c:272
 msgid "Miscellaneous Settings"
 msgstr "Options diverses"
 
-#: src/madplug/configure.c:282
+#: src/madplug/configure.c:281
 msgid "Display average bitrate for VBR"
 msgstr "Afficher le débit moyen pour l'encodage VBR"
 
-#: src/madplug/configure.c:296 src/vorbis/configure.c:102
+#: src/madplug/configure.c:295 src/vorbis/configure.c:100
 msgid "Override generic titles"
 msgstr "Remplacer les titres génériques"
 
-#: src/madplug/configure.c:308
+#: src/madplug/configure.c:307
 msgid "ID3 format:"
 msgstr "Format ID3 :"
 
-#: src/madplug/configure.c:320 src/sid/xmms-sid.glade:2540
-#: src/sid/xs_interface.c:1070
+#: src/madplug/configure.c:319 src/sid/xmms-sid.glade:2610
+#: src/sid/xs_interface.c:1102
 msgid "Title"
 msgstr "Titre"
 
-#: src/madplug/plugin.c:524
+#: src/madplug/plugin.c:661
 #, c-format
 msgid ""
 "Audacious MPEG Audio Plugin\n"
@@ -3530,15 +3544,15 @@
 "\n"
 "Support de 'ReplayGain' : Samuel Krempp"
 
-#: src/madplug/plugin.c:540
+#: src/madplug/plugin.c:677
 msgid "About MPEG Audio Plugin"
 msgstr "À propos du module audio 'MPEG'"
 
+#: src/metronom/metronom.c:86
+msgid "About Metronom"
+msgstr "À propos de 'Métronome'"
+
 #: src/metronom/metronom.c:87
-msgid "About Metronom"
-msgstr "À propos de 'Métronome'"
-
-#: src/metronom/metronom.c:88
 msgid ""
 "A Tact Generator by Martin Strauss <mys@faveve.uni-stuttgart.de>\n"
 "\n"
@@ -3557,12 +3571,12 @@
 "'tact://77' produira 77 battements par minute\n"
 "'tact://60*3/4' produira 60 battements par minute (mesure à 3/4)"
 
-#: src/metronom/metronom.c:198 src/metronom/metronom.c:262
+#: src/metronom/metronom.c:197 src/metronom/metronom.c:261
 #, c-format
 msgid "Tact generator: %d bpm"
 msgstr "Métronome : %d bpm"
 
-#: src/metronom/metronom.c:200 src/metronom/metronom.c:264
+#: src/metronom/metronom.c:199 src/metronom/metronom.c:263
 #, c-format
 msgid "Tact generator: %d bpm %d/%d"
 msgstr "Métronome : %d bpm %d/%d"
@@ -3777,11 +3791,11 @@
 msgid "Message"
 msgstr "Commentaires"
 
-#: src/modplug/gui/main.cxx:45
+#: src/modplug/gui/main.cxx:48
 msgid "Modplug Input Plugin for Audacious ver"
 msgstr "Module d'entrée 'Modplug' pour Audacious, version "
 
-#: src/modplug/gui/main.cxx:46
+#: src/modplug/gui/main.cxx:49
 msgid ""
 "\n"
 "Modplug sound engine written by Olivier Lapicque.\n"
@@ -3800,7 +3814,7 @@
 "Mises à jour et maintenance : Konstanty Bialkowski.\n"
 "Rétroportage pour BMP : Theofilos Intzoglou."
 
-#: src/modplug/gui/main.cxx:49
+#: src/modplug/gui/main.cxx:52
 msgid "About Modplug"
 msgstr "À propos de 'Modplug'"
 
@@ -3810,27 +3824,27 @@
 msgid "Couldn't find pixmap file: %s"
 msgstr "Impossible d'ouvrir l'image : %s"
 
-#: src/mtp_up/mtp.c:35
+#: src/mtp_up/mtp.c:33
 msgid "Upload selected track(s)"
 msgstr "Transférer la sélection"
 
-#: src/mtp_up/mtp.c:296
+#: src/mtp_up/mtp.c:294
 msgid "Upload in progress..."
 msgstr "Transfert en cours..."
 
-#: src/mtp_up/mtp.c:305
+#: src/mtp_up/mtp.c:303
 msgid "MTP device handler"
 msgstr "Support MTP"
 
-#: src/mtp_up/mtp.c:309
+#: src/mtp_up/mtp.c:307
 msgid "Disconnect the device"
 msgstr "Déconnecter le périphérique"
 
-#: src/musepack/libmpc.cxx:146
+#: src/musepack/libmpc.cxx:142
 msgid "Musepack Decoder Plugin 1.2"
 msgstr "Décodeur 'Musepack' 1.2"
 
-#: src/musepack/libmpc.cxx:147
+#: src/musepack/libmpc.cxx:143
 msgid ""
 "Plugin code by\n"
 "Benoit Amiaux\n"
@@ -3848,174 +3862,175 @@
 "Vous pouvez obtenir la dernière version à l'adresse suivante :\n"
 "http://musepack.net\n"
 
-#: src/musepack/libmpc.cxx:148
+#: src/musepack/libmpc.cxx:144
 msgid "Nevermind"
 msgstr "Qu'importe !"
 
-#: src/musepack/libmpc.cxx:166
+#: src/musepack/libmpc.cxx:162
 msgid "Musepack Decoder Configuration"
 msgstr "Configuration de 'Musepack'"
 
-#: src/musepack/libmpc.cxx:176
+#: src/musepack/libmpc.cxx:172
 msgid "General Settings"
 msgstr "Réglages généraux"
 
-#: src/musepack/libmpc.cxx:183 src/wavpack/ui.cxx:492
+#: src/musepack/libmpc.cxx:179 src/wavpack/ui.cxx:490
 msgid "Enable Dynamic Bitrate Display"
 msgstr "Activer l'affichage dynamique du débit"
 
-#: src/musepack/libmpc.cxx:187 src/wavpack/ui.cxx:498
+#: src/musepack/libmpc.cxx:183 src/wavpack/ui.cxx:496
 msgid "Plugin"
 msgstr "Module"
 
-#: src/musepack/libmpc.cxx:190
+#: src/musepack/libmpc.cxx:186
 msgid "ReplayGain Settings"
 msgstr "Paramètres de 'ReplayGain'"
 
-#: src/musepack/libmpc.cxx:197 src/wavpack/ui.cxx:510
+#: src/musepack/libmpc.cxx:193 src/wavpack/ui.cxx:508
 msgid "Enable Clipping Prevention"
 msgstr "Activer la prévention de la saturation"
 
-#: src/musepack/libmpc.cxx:202 src/wavpack/ui.cxx:515
+#: src/musepack/libmpc.cxx:198 src/wavpack/ui.cxx:513
 msgid "Enable ReplayGain"
 msgstr "Activer 'ReplayGain'"
 
-#: src/musepack/libmpc.cxx:207
+#: src/musepack/libmpc.cxx:203
 msgid "ReplayGain Type"
 msgstr "Traitement 'ReplayGain'"
 
-#: src/musepack/libmpc.cxx:215
+#: src/musepack/libmpc.cxx:211
 msgid "Use Track Gain"
 msgstr "Utiliser le gain 'piste'"
 
-#: src/musepack/libmpc.cxx:219
+#: src/musepack/libmpc.cxx:215
 msgid "Use Album Gain"
 msgstr "Utiliser le gain 'album'"
 
-#: src/musepack/libmpc.cxx:224 src/wavpack/ui.cxx:547
+#: src/musepack/libmpc.cxx:220 src/wavpack/ui.cxx:545
 msgid "ReplayGain"
 msgstr "ReplayGain"
 
-#: src/musepack/libmpc.cxx:491 src/sid/xmms-sid.glade:3144
-#: src/sid/xs_interface.c:1564 src/tta/libtta.c:304 src/wavpack/ui.cxx:152
+#: src/musepack/libmpc.cxx:487 src/sid/xmms-sid.glade:3338
+#: src/sid/xs_interface.c:1648 src/tta/libtta.c:301 src/wavpack/ui.cxx:150
 msgid "Filename:"
 msgstr "Nom du fichier :"
 
-#: src/musepack/libmpc.cxx:506
+#: src/musepack/libmpc.cxx:502
 msgid "Musepack Tag"
 msgstr "Métadonnées 'Musepack'"
 
-#: src/musepack/libmpc.cxx:514 src/tta/libtta.c:323 src/wavpack/ui.cxx:172
+#: src/musepack/libmpc.cxx:510 src/tta/libtta.c:320 src/wavpack/ui.cxx:170
 msgid "Title:"
 msgstr "Titre :"
 
-#: src/musepack/libmpc.cxx:518 src/tta/libtta.c:333 src/wavpack/ui.cxx:184
+#: src/musepack/libmpc.cxx:514 src/tta/libtta.c:330 src/wavpack/ui.cxx:182
 msgid "Artist:"
 msgstr "Artiste :"
 
-#: src/musepack/libmpc.cxx:522 src/tta/libtta.c:344 src/wavpack/ui.cxx:196
+#: src/musepack/libmpc.cxx:518 src/tta/libtta.c:341 src/wavpack/ui.cxx:194
 msgid "Album:"
 msgstr "Album :"
 
-#: src/musepack/libmpc.cxx:526 src/tta/libtta.c:355 src/wavpack/ui.cxx:208
+#: src/musepack/libmpc.cxx:522 src/tta/libtta.c:352 src/wavpack/ui.cxx:206
 msgid "Comment:"
 msgstr "Commentaire :"
 
-#: src/musepack/libmpc.cxx:530 src/tta/libtta.c:366 src/wavpack/ui.cxx:221
+#: src/musepack/libmpc.cxx:526 src/tta/libtta.c:363 src/wavpack/ui.cxx:219
 msgid "Year:"
 msgstr "Année :"
 
-#: src/musepack/libmpc.cxx:535
+#: src/musepack/libmpc.cxx:531
 msgid "Track:"
 msgstr "Piste :"
 
-#: src/musepack/libmpc.cxx:540 src/tta/libtta.c:390 src/wavpack/ui.cxx:248
+#: src/musepack/libmpc.cxx:536 src/tta/libtta.c:387 src/wavpack/ui.cxx:246
 msgid "Genre:"
 msgstr "Genre :"
 
-#: src/musepack/libmpc.cxx:551 src/sid/xmms-sid.glade:1732
-#: src/sid/xs_interface.c:820 src/wavpack/ui.cxx:267
+#: src/musepack/libmpc.cxx:547 src/sid/xmms-sid.glade:1732
+#: src/sid/xs_interface.c:832 src/skins/ui_manager.c:438
+#: src/wavpack/ui.cxx:265
 msgid "Save"
 msgstr "Enregistrer"
 
-#: src/musepack/libmpc.cxx:554 src/wavpack/ui.cxx:273
+#: src/musepack/libmpc.cxx:550 src/wavpack/ui.cxx:271
 msgid "Remove Tag"
 msgstr "Supprimer les métadonnées"
 
-#: src/musepack/libmpc.cxx:562
+#: src/musepack/libmpc.cxx:558
 msgid "Musepack Info"
 msgstr "Informations 'Musepack'"
 
+#: src/musepack/libmpc.cxx:591
+#, c-format
+msgid "Streamversion %d"
+msgstr "Version du flux : %d"
+
+#: src/musepack/libmpc.cxx:592
+#, c-format
+msgid "Encoder: %s"
+msgstr "Encodeur : %s"
+
+#: src/musepack/libmpc.cxx:593
+#, c-format
+msgid "Profile: %s"
+msgstr "Profil : %s"
+
+#: src/musepack/libmpc.cxx:594
+#, c-format
+msgid "Average bitrate: %6.1f kbps"
+msgstr "Débit moyen : %6.1f kbps"
+
 #: src/musepack/libmpc.cxx:595
 #, c-format
-msgid "Streamversion %d"
-msgstr "Version du flux : %d"
+msgid "Samplerate: %d Hz"
+msgstr "Taux d'échantillonnage : %d Hz"
 
 #: src/musepack/libmpc.cxx:596
 #, c-format
-msgid "Encoder: %s"
-msgstr "Encodeur : %s"
+msgid "Channels: %d"
+msgstr "Voies : %d"
 
 #: src/musepack/libmpc.cxx:597
 #, c-format
-msgid "Profile: %s"
-msgstr "Profil : %s"
-
-#: src/musepack/libmpc.cxx:598
-#, c-format
-msgid "Average bitrate: %6.1f kbps"
-msgstr "Débit moyen : %6.1f kbps"
-
-#: src/musepack/libmpc.cxx:599
-#, c-format
-msgid "Samplerate: %d Hz"
-msgstr "Taux d'échantillonnage : %d Hz"
-
-#: src/musepack/libmpc.cxx:600
-#, c-format
-msgid "Channels: %d"
-msgstr "Voies : %d"
-
-#: src/musepack/libmpc.cxx:601
-#, c-format
 msgid "Length: %d:\\%.2d"
 msgstr "Durée : %d:\\%.2d"
 
-#: src/musepack/libmpc.cxx:602
+#: src/musepack/libmpc.cxx:598
 #, c-format
 msgid "File size: %d Bytes"
 msgstr "Taille du fichier : %d Bytes"
 
-#: src/musepack/libmpc.cxx:603
+#: src/musepack/libmpc.cxx:599
 #, c-format
 msgid "Track Peak: %5u"
 msgstr "Pic sonore 'piste' : %5u"
 
-#: src/musepack/libmpc.cxx:604
+#: src/musepack/libmpc.cxx:600
 #, c-format
 msgid "Track Gain: %-+2.2f dB"
 msgstr "Gain 'piste' : %-+2.2f dB"
 
-#: src/musepack/libmpc.cxx:605
+#: src/musepack/libmpc.cxx:601
 #, c-format
 msgid "Album Peak: %5u"
 msgstr "Pic sonore 'album' : %5u"
 
-#: src/musepack/libmpc.cxx:606
+#: src/musepack/libmpc.cxx:602
 #, c-format
 msgid "Album Gain: %-+5.2f dB"
 msgstr "Gain 'album': %-+5.2f dB"
 
-#: src/musepack/libmpc.cxx:634 src/tta/libtta.c:413 src/wavpack/ui.cxx:409
+#: src/musepack/libmpc.cxx:630 src/tta/libtta.c:410 src/wavpack/ui.cxx:407
 #, c-format
 msgid "File Info - %s"
 msgstr "Informations sur le fichier : %s"
 
-#: src/null/null.c:61
+#: src/null/null.c:58
 msgid "Null output plugin "
 msgstr "Module de sortie 'Null' "
 
-#: src/null/null.c:62
+#: src/null/null.c:59
 msgid ""
 " by Christian Birchinger <joker@netswarm.net>\n"
 "based on the XMMS plugin by Håvard Kvål <havardk@xmms.org>"
@@ -4025,23 +4040,52 @@
 "Écrit par Christian Birchinger <joker@netswarm.net>,\n"
 "à partir du module pour XMMS de Håvard Kvål <havardk@xmms.org>"
 
-#: src/null/null.c:65
+#: src/null/null.c:62
 msgid "About Null Output"
 msgstr "À propos du module de sortie 'Null'"
 
-#: src/null/null.c:94
+#: src/null/null.c:91
 msgid "Null output preferences"
 msgstr "Préférences du module de sortie 'Null'"
 
-#: src/null/null.c:103
+#: src/null/null.c:100
 msgid "Run in real time"
 msgstr "Utiliser en temps réel"
 
-#: src/OSS4/about.c:42
+#: src/OSS4/configure.c:118 src/OSS/configure.c:150
+#, c-format
+msgid "Default (%s)"
+msgstr "Défaut (%s)"
+
+#: src/OSS4/configure.c:168 src/OSS/configure.c:200
+msgid "OSS Driver configuration"
+msgstr "Configuration du pilote 'OSS'"
+
+#: src/OSS4/configure.c:206 src/OSS/configure.c:238 src/OSS/configure.c:279
+msgid "Use alternate device:"
+msgstr "Utiliser un autre périphérique :"
+
+#: src/OSS4/configure.c:228 src/OSS/configure.c:301 src/sun/configure.c:246
+msgid "Devices"
+msgstr "Périphériques"
+
+#: src/OSS4/configure.c:270 src/OSS/configure.c:342
+msgid "Mixer Settings:"
+msgstr "Paramètres du mélangeur :"
+
+#: src/OSS4/configure.c:276
+msgid "Save VMIX volume between sessions"
+msgstr "Conserver le volume de 'VMIX', d'une session à l'autre"
+
+#: src/OSS4/configure.c:282 src/OSS/configure.c:354 src/sun/configure.c:392
+msgid "Mixer"
+msgstr "Mélangeur audio"
+
+#: src/OSS4/OSS4.c:38
 msgid "About OSSv4 Driver"
 msgstr "À propos du pilote 'OSSv4'"
 
-#: src/OSS4/about.c:43
+#: src/OSS4/OSS4.c:39
 msgid ""
 "Audacious OSSv4 Driver\n"
 "\n"
@@ -4094,40 +4138,15 @@
 "Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,\n"
 "MA 02110-1301, USA."
 
-#: src/OSS4/configure.c:120 src/OSS/configure.c:151
-#, c-format
-msgid "Default (%s)"
-msgstr "Défaut (%s)"
-
-#: src/OSS4/configure.c:170 src/OSS/configure.c:201
-msgid "OSS Driver configuration"
-msgstr "Configuration du pilote 'OSS'"
-
-#: src/OSS4/configure.c:208 src/OSS/configure.c:239 src/OSS/configure.c:280
-msgid "Use alternate device:"
-msgstr "Utiliser un autre périphérique :"
-
-#: src/OSS4/configure.c:230 src/OSS/configure.c:302 src/sun/configure.c:248
-msgid "Devices"
-msgstr "Périphériques"
-
-#: src/OSS4/configure.c:272 src/OSS/configure.c:343
-msgid "Mixer Settings:"
-msgstr "Paramètres du mélangeur :"
-
-#: src/OSS4/configure.c:278
-msgid "Save VMIX volume between sessions"
-msgstr "Conserver le volume de 'VMIX', d'une session à l'autre"
-
-#: src/OSS4/configure.c:284 src/OSS/configure.c:355 src/sun/configure.c:394
-msgid "Mixer"
-msgstr "Mélangeur audio"
-
-#: src/OSS/about.c:39
+#: src/OSS/configure.c:348
+msgid "Volume controls Master not PCM"
+msgstr "Contrôle du volume via le canal 'maître' au lieu du canal 'PCM'"
+
+#: src/OSS/OSS.c:37
 msgid "About OSS Driver"
 msgstr "À propos du pilote 'OSS'"
 
-#: src/OSS/about.c:40
+#: src/OSS/OSS.c:38
 msgid ""
 "Audacious OSS Driver\n"
 "\n"
@@ -4173,19 +4192,15 @@
 "Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,\n"
 "MA 02110-1301, USA."
 
-#: src/OSS/configure.c:349
-msgid "Volume controls Master not PCM"
-msgstr "Contrôle du volume via le canal 'maître' au lieu du canal 'PCM'"
-
 #: src/projectm-1.0/main.c:70
 msgid "_Random"
 msgstr "_Aléatoire"
 
-#: src/pulse_audio/pulse_audio.c:722
+#: src/pulse_audio/pulse_audio.c:720
 msgid "About Audacious PulseAudio Output Plugin"
 msgstr "À propos du module de sortie 'PulseAudio' pour Audacious"
 
-#: src/pulse_audio/pulse_audio.c:723
+#: src/pulse_audio/pulse_audio.c:721
 msgid ""
 "Audacious PulseAudio Output Plugin\n"
 "\n"
@@ -4231,27 +4246,27 @@
 "Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,\n"
 "MA 02110-1301, USA."
 
-#: src/scrobbler/configure.c:138
+#: src/scrobbler/configure.c:134
 msgid "<b>Services</b>"
 msgstr "<b>Services</b>"
 
-#: src/scrobbler/configure.c:160 src/scrobbler/configure.c:199
+#: src/scrobbler/configure.c:156 src/scrobbler/configure.c:195
 msgid "Username:"
 msgstr "Utilisateur :"
 
-#: src/scrobbler/configure.c:166 src/scrobbler/configure.c:205
+#: src/scrobbler/configure.c:162 src/scrobbler/configure.c:201
 msgid "Password:"
 msgstr "Mot de passe :"
 
-#: src/scrobbler/configure.c:183
+#: src/scrobbler/configure.c:179
 msgid "<b>Last.FM</b>"
 msgstr "<b>Last.FM</b>"
 
-#: src/scrobbler/configure.c:222
+#: src/scrobbler/configure.c:218
 msgid "<b>Gerpok</b>"
 msgstr "<b>Gerpok</b>"
 
-#: src/scrobbler/gtkstuff.c:21
+#: src/scrobbler/gtkstuff.c:18
 msgid ""
 "Audacious AudioScrobbler Plugin\n"
 "\n"
@@ -4265,11 +4280,11 @@
 "Audun Hove  <audun@nlc.no>\n"
 "Pipian            <pipian@pipian.com>\n"
 
-#: src/scrobbler/gtkstuff.c:23
+#: src/scrobbler/gtkstuff.c:20
 msgid "About Scrobbler Plugin"
 msgstr "À propos du module 'Scrobbler'"
 
-#: src/scrobbler/gtkstuff.c:36
+#: src/scrobbler/gtkstuff.c:33
 #, c-format
 msgid ""
 "There has been an error that may require your attention.\n"
@@ -4284,59 +4299,59 @@
 "\n"
 "%s\n"
 
-#: src/scrobbler/gtkstuff.c:43
+#: src/scrobbler/gtkstuff.c:40
 msgid "Scrobbler Error"
 msgstr "Erreur de 'Scrobbler'"
 
-#: src/sid/xmms-sid.glade:8 src/sid/xs_interface.c:221
+#: src/sid/xmms-sid.glade:8 src/sid/xs_interface.c:233
 msgid "Audacious-SID configuration"
 msgstr "Configuration de 'Audacious-SID'"
 
-#: src/sid/xmms-sid.glade:71 src/sid/xs_interface.c:257
+#: src/sid/xmms-sid.glade:71 src/sid/xs_interface.c:269
 msgid "8-bit"
 msgstr "8 bits"
 
-#: src/sid/xmms-sid.glade:90 src/sid/xs_interface.c:264
+#: src/sid/xmms-sid.glade:90 src/sid/xs_interface.c:276
 msgid "16-bit"
 msgstr "16 bits"
 
-#: src/sid/xmms-sid.glade:111 src/sid/xs_interface.c:271
+#: src/sid/xmms-sid.glade:111 src/sid/xs_interface.c:283
 msgid "Resolution:"
 msgstr "Résolution :"
 
-#: src/sid/xmms-sid.glade:196 src/sid/xs_interface.c:302
+#: src/sid/xmms-sid.glade:196 src/sid/xs_interface.c:314
 msgid "Autopanning"
 msgstr "Son panoramique"
 
-#: src/sid/xmms-sid.glade:217 src/sid/xs_interface.c:309
+#: src/sid/xmms-sid.glade:217 src/sid/xs_interface.c:321
 msgid "Channels:"
 msgstr "Sortie :"
 
-#: src/sid/xmms-sid.glade:384 src/sid/xs_interface.c:353
+#: src/sid/xmms-sid.glade:384 src/sid/xs_interface.c:365
 msgid "Samplerate:"
 msgstr "Taux d'échantillonnage :"
 
-#: src/sid/xmms-sid.glade:430 src/sid/xs_interface.c:370
+#: src/sid/xmms-sid.glade:430 src/sid/xs_interface.c:382
 msgid "Use oversampling"
 msgstr "Utiliser le suréchantillonnage"
 
-#: src/sid/xmms-sid.glade:456 src/sid/xs_interface.c:381
+#: src/sid/xmms-sid.glade:456 src/sid/xs_interface.c:393
 msgid "Factor:"
 msgstr "Facteur :"
 
-#: src/sid/xmms-sid.glade:500 src/sid/xs_interface.c:393
+#: src/sid/xmms-sid.glade:500 src/sid/xs_interface.c:405
 msgid "Large factors require more CPU-power"
 msgstr "Les facteurs élevés nécessitent plus de ressources du processeur"
 
-#: src/sid/xmms-sid.glade:534 src/sid/xs_interface.c:399
+#: src/sid/xmms-sid.glade:534 src/sid/xs_interface.c:411
 msgid "Oversampling:"
 msgstr "Suréchantillonnage :"
 
-#: src/sid/xmms-sid.glade:570 src/sid/xs_interface.c:404
+#: src/sid/xmms-sid.glade:570 src/sid/xs_interface.c:416
 msgid "Audio"
 msgstr "Audio"
 
-#: src/sid/xmms-sid.glade:620 src/sid/xs_interface.c:436
+#: src/sid/xmms-sid.glade:620 src/sid/xs_interface.c:448
 msgid ""
 "If enabled, this option \"forces\" the emulation engine to use the selected "
 "clock speed/frequency. Otherwise the speed is determined from played file "
@@ -4346,11 +4361,11 @@
 "vitesse/fréquence de l'horloge sélectionnée. Dans le cas contraire, la "
 "vitesse est déterminée par le fichier lui-même."
 
-#: src/sid/xmms-sid.glade:622 src/sid/xs_interface.c:432
+#: src/sid/xmms-sid.glade:622 src/sid/xs_interface.c:444
 msgid "Force speed"
 msgstr "Forcer la vitesse"
 
-#: src/sid/xmms-sid.glade:640 src/sid/xs_interface.c:442
+#: src/sid/xmms-sid.glade:640 src/sid/xs_interface.c:454
 msgid ""
 "PAL is the european TV standard, which uses 50Hz vertical refresh frequency. "
 "Most of SID-tunes have been made for PAL computers."
@@ -4359,11 +4374,11 @@
 "rafraîchissement vertical de 50 hz. La plupart des compositions 'SID' ont "
 "été réalisées pour les ordinateurs 'PAL'."
 
-#: src/sid/xmms-sid.glade:642 src/sid/xs_interface.c:438
+#: src/sid/xmms-sid.glade:642 src/sid/xs_interface.c:450
 msgid "PAL (50 Hz)"
 msgstr "PAL (50 Hz)"
 
-#: src/sid/xmms-sid.glade:660 src/sid/xs_interface.c:450
+#: src/sid/xmms-sid.glade:660 src/sid/xs_interface.c:462
 msgid ""
 "NTSC is the TV standard with 60Hz vertical refresh rate (and other features "
 "that differ from PAL). It is mainly used in United States, Japan and certain "
@@ -4374,15 +4389,15 @@
 "'PAL'). Il est principalement utilisé aux États-Unis, au Japon et dans "
 "d'autres pays."
 
-#: src/sid/xmms-sid.glade:662 src/sid/xs_interface.c:446
+#: src/sid/xmms-sid.glade:662 src/sid/xs_interface.c:458
 msgid "NTSC (60 Hz)"
 msgstr "NTSC (60 Hz)"
 
-#: src/sid/xmms-sid.glade:683 src/sid/xs_interface.c:454
+#: src/sid/xmms-sid.glade:683 src/sid/xs_interface.c:466
 msgid "Clock speed:"
 msgstr "Vitesse d'horloge :"
 
-#: src/sid/xmms-sid.glade:728 src/sid/xs_interface.c:475
+#: src/sid/xmms-sid.glade:728 src/sid/xs_interface.c:487
 msgid ""
 "If enabled, this option \"forces\" the emulation engine to use the selected "
 "SID-chip model. Otherwise the preferred SID model is determined from the "
@@ -4394,11 +4409,11 @@
 "l'information concernant le modèle n'est pas disponible, c'est le réglage "
 "choisi via cette option qui sera utilisé."
 
-#: src/sid/xmms-sid.glade:730 src/sid/xs_interface.c:471
+#: src/sid/xmms-sid.glade:730 src/sid/xs_interface.c:483
 msgid "Force model"
 msgstr "Forcer le modèle"
 
-#: src/sid/xmms-sid.glade:748 src/sid/xs_interface.c:481
+#: src/sid/xmms-sid.glade:748 src/sid/xs_interface.c:493
 msgid ""
 "MOS/CSG 6581 is the earlier major version of SID chip. It differs from 8580 "
 "in few ways, having much fuller filter (which, due to design error, is never "
@@ -4411,19 +4426,19 @@
 "d'un modèle de puce 'SID' à l'autre) et présente le \"problème d'ajustement "
 "du volume\" qui permet la lecture des échantillons digitaux."
 
-#: src/sid/xmms-sid.glade:750 src/sid/xs_interface.c:477
+#: src/sid/xmms-sid.glade:750 src/sid/xs_interface.c:489
 msgid "MOS 6581"
 msgstr "MOS 6581"
 
-#: src/sid/xmms-sid.glade:769 src/sid/xs_interface.c:485
+#: src/sid/xmms-sid.glade:769 src/sid/xs_interface.c:497
 msgid "MOS 8580"
 msgstr "MOS 8580"
 
-#: src/sid/xmms-sid.glade:790 src/sid/xs_interface.c:492
+#: src/sid/xmms-sid.glade:790 src/sid/xs_interface.c:504
 msgid "SID model:"
 msgstr "Modèle 'SID' :"
 
-#: src/sid/xmms-sid.glade:842 src/sid/xs_interface.c:513
+#: src/sid/xmms-sid.glade:842 src/sid/xs_interface.c:525
 msgid ""
 "Use libSIDPlay 1.x emulation, faster but not so accurate. Good in most "
 "cases, though."
@@ -4432,11 +4447,11 @@
 "moins précise (toutefois, elle offre une bonne restitution, dans la plupart "
 "des cas)."
 
-#: src/sid/xmms-sid.glade:844 src/sid/xs_interface.c:509
+#: src/sid/xmms-sid.glade:844 src/sid/xs_interface.c:521
 msgid "SIDPlay 1 (frame-based)"
 msgstr "SIDPlay 1 (synchronisation de la trame)"
 
-#: src/sid/xmms-sid.glade:863 src/sid/xs_interface.c:521
+#: src/sid/xmms-sid.glade:863 src/sid/xs_interface.c:533
 msgid ""
 "Use libSIDPlay 2.x emulation, which requires powerful CPU due to more exact "
 "emulation."
@@ -4444,39 +4459,39 @@
 "Utilise la bibliothèque 'libSIDPlay 2.x'. L'émulation nécessite un "
 "processeur puissant, mais est plus précise."
 
-#: src/sid/xmms-sid.glade:865 src/sid/xs_interface.c:517
+#: src/sid/xmms-sid.glade:865 src/sid/xs_interface.c:529
 msgid "SIDPlay 2 (cycle-based)"
 msgstr "SIDPlay 2 (synchronisation du cycle)"
 
-#: src/sid/xmms-sid.glade:887 src/sid/xs_interface.c:525
+#: src/sid/xmms-sid.glade:887 src/sid/xs_interface.c:537
 msgid "Emulation library selection:"
 msgstr "Choix de la bibliothèque d'émulation :"
 
-#: src/sid/xmms-sid.glade:933 src/sid/xs_interface.c:542
+#: src/sid/xmms-sid.glade:933 src/sid/xs_interface.c:554
 msgid "Real C64 (SIDPlay 2 only)"
 msgstr "C64 réel (SIDPlay 2 uniquement)"
 
-#: src/sid/xmms-sid.glade:952 src/sid/xs_interface.c:549
+#: src/sid/xmms-sid.glade:952 src/sid/xs_interface.c:561
 msgid "Bank switching"
 msgstr "Pagination"
 
-#: src/sid/xmms-sid.glade:972 src/sid/xs_interface.c:556
+#: src/sid/xmms-sid.glade:972 src/sid/xs_interface.c:568
 msgid "Transparent ROM"
 msgstr "ROM transparente"
 
-#: src/sid/xmms-sid.glade:992 src/sid/xs_interface.c:563
+#: src/sid/xmms-sid.glade:992 src/sid/xs_interface.c:575
 msgid "PlaySID environment"
 msgstr "Environnement 'PlaySID'"
 
-#: src/sid/xmms-sid.glade:1013 src/sid/xs_interface.c:570
+#: src/sid/xmms-sid.glade:1013 src/sid/xs_interface.c:582
 msgid "Memory mode:"
 msgstr "Gestion de la mémoire :"
 
-#: src/sid/xmms-sid.glade:1049 src/sid/xs_interface.c:575
+#: src/sid/xmms-sid.glade:1049 src/sid/xs_interface.c:587
 msgid "Emu#1"
 msgstr "Émulation #1"
 
-#: src/sid/xmms-sid.glade:1093 src/sid/xs_interface.c:602
+#: src/sid/xmms-sid.glade:1093 src/sid/xs_interface.c:614
 msgid ""
 "This setting can be used to enable libSIDPlay2's \"optimization mode\", "
 "which in downgrades the emulation from cycle-exact to something similar to "
@@ -4486,11 +4501,11 @@
 "bibliothèque 'libSIDPlay2'. Ce mode réduit l'émulation de 'synchronisation "
 "du cycle' à quelque chose équivalant à 'synchronisation de la trame'."
 
-#: src/sid/xmms-sid.glade:1095 src/sid/xs_interface.c:598
+#: src/sid/xmms-sid.glade:1095 src/sid/xs_interface.c:610
 msgid "Optimization mode (faster, inaccurate)"
 msgstr "Mode 'optimisation' (plus rapide, mais imprécis)"
 
-#: src/sid/xmms-sid.glade:1113 src/sid/xs_interface.c:608
+#: src/sid/xmms-sid.glade:1113 src/sid/xs_interface.c:620
 msgid ""
 "reSID is the software SID-chip simulator based on SID reverse-engineering, "
 "created by Dag Lem. It is probably the closest thing to real SID available "
@@ -4500,11 +4515,11 @@
 "ingénierie inverse. Il constitue probablement l'émulation logicielle la plus "
 "proche des véritables puces 'SID'."
 
-#: src/sid/xmms-sid.glade:1115 src/sid/xs_interface.c:604
+#: src/sid/xmms-sid.glade:1115 src/sid/xs_interface.c:616
 msgid "reSID-emulation"
 msgstr "Émulation 'reSID'"
 
-#: src/sid/xmms-sid.glade:1133 src/sid/xs_interface.c:616
+#: src/sid/xmms-sid.glade:1133 src/sid/xs_interface.c:628
 msgid ""
 "HardSID is a EISA/PCI card for PC-compatibles, which can be fitted with a "
 "real SID-chip. Software can be used to control the HardSID and combined with "
@@ -4520,15 +4535,15 @@
 "amples informations, vous pouvez consulter le site suivant : http://www."
 "hardsid.com/"
 
-#: src/sid/xmms-sid.glade:1135 src/sid/xs_interface.c:612
+#: src/sid/xmms-sid.glade:1135 src/sid/xs_interface.c:624
 msgid "HardSID"
 msgstr "HardSID"
 
-#: src/sid/xmms-sid.glade:1156 src/sid/xs_interface.c:620
+#: src/sid/xmms-sid.glade:1156 src/sid/xs_interface.c:632
 msgid "SIDPlay 2 options:"
 msgstr "Options de 'SIDPlay 2' :"
 
-#: src/sid/xmms-sid.glade:1201 src/sid/xs_interface.c:641
+#: src/sid/xmms-sid.glade:1201 src/sid/xs_interface.c:653
 msgid ""
 "Fastest and also worst sounding sampling method, simply picks nearest "
 "neighbouring sample."
@@ -4536,11 +4551,11 @@
 "La plus rapide, mais aussi la pire méthode de restitution sonore : les "
 "échantillons sont choisis selon la méthode du 'plus proche voisin'."
 
-#: src/sid/xmms-sid.glade:1203 src/sid/xs_interface.c:637
+#: src/sid/xmms-sid.glade:1203 src/sid/xs_interface.c:649
 msgid "Fast (nearest neighbour)"
 msgstr "Rapide (méthode du 'plus proche voisin')"
 
-#: src/sid/xmms-sid.glade:1221 src/sid/xs_interface.c:649
+#: src/sid/xmms-sid.glade:1221 src/sid/xs_interface.c:661
 msgid ""
 "Uses linear interpolation between samples, yielding higher audio quality "
 "with less sampling noise."
@@ -4548,23 +4563,23 @@
 "Utilise l'interpolation linéaire entre les échantillons. Le flux audio est "
 "alors de plus grande qualité et est moins affecté par le bruit. "
 
-#: src/sid/xmms-sid.glade:1223 src/sid/xs_interface.c:645
+#: src/sid/xmms-sid.glade:1223 src/sid/xs_interface.c:657
 msgid "Linear interpolation"
 msgstr "Interpolation linéaire"
 
-#: src/sid/xmms-sid.glade:1263 src/sid/xs_interface.c:660
+#: src/sid/xmms-sid.glade:1263 src/sid/xs_interface.c:672
 msgid "Resampling (FIR)"
 msgstr "Filtre à réponse impulsionnelle finie (FIR)"
 
-#: src/sid/xmms-sid.glade:1284 src/sid/xs_interface.c:667
+#: src/sid/xmms-sid.glade:1284 src/sid/xs_interface.c:679
 msgid "reSID sampling options:"
 msgstr "Options d'échantillonnage de 'reSID' :"
 
-#: src/sid/xmms-sid.glade:1320 src/sid/xs_interface.c:672
+#: src/sid/xmms-sid.glade:1320 src/sid/xs_interface.c:684
 msgid "Emu#2"
 msgstr "Émulation #2"
 
-#: src/sid/xmms-sid.glade:1350 src/sid/xs_interface.c:688
+#: src/sid/xmms-sid.glade:1350 src/sid/xs_interface.c:700
 msgid ""
 "This option enables emulation of SID filter. The filter is an essential part "
 "of SID's sound capacity, but accurate emulation of it may require quite much "
@@ -4577,59 +4592,61 @@
 "l'émulation est désactivée, alors qu'un module audio a été composé avec les "
 "fonctions d'un filtre, le son ne sera pas restitué de manière authentique."
 
-#: src/sid/xmms-sid.glade:1352 src/sid/xs_interface.c:684
+#: src/sid/xmms-sid.glade:1352 src/sid/xs_interface.c:696
 msgid "Emulate filters"
 msgstr "Émuler les filtres"
 
-#: src/sid/xmms-sid.glade:1409 src/sid/xs_interface.c:713
+#: src/sid/xmms-sid.glade:1409 src/sid/xs_interface.c:725
 msgid "FS"
 msgstr "FS"
 
-#: src/sid/xmms-sid.glade:1460 src/sid/xs_interface.c:730
+#: src/sid/xmms-sid.glade:1460 src/sid/xs_interface.c:742
 msgid "FM"
 msgstr "FM"
 
-#: src/sid/xmms-sid.glade:1511 src/sid/xs_interface.c:747
+#: src/sid/xmms-sid.glade:1511 src/sid/xs_interface.c:759
 msgid "FT"
 msgstr "FT"
 
-#: src/sid/xmms-sid.glade:1549 src/sid/xs_interface.c:758
+#: src/sid/xmms-sid.glade:1549 src/sid/xs_interface.c:770
 msgid "Reset values"
 msgstr "Réinitialiser"
 
-#: src/sid/xmms-sid.glade:1578 src/sid/xs_interface.c:763
+#: src/sid/xmms-sid.glade:1578 src/sid/xs_interface.c:775
 msgid "SIDPlay1"
 msgstr "SIDPlay 1"
 
-#: src/sid/xmms-sid.glade:1690 src/sid/xs_interface.c:804
+#: src/sid/xmms-sid.glade:1690 src/sid/xs_interface.c:816
 msgid "Export"
 msgstr "Exporter"
 
-#: src/sid/xmms-sid.glade:1711 src/sid/xs_interface.c:812
+#: src/sid/xmms-sid.glade:1711 src/sid/xs_interface.c:824
 msgid "Use"
 msgstr "Utiliser"
 
-#: src/sid/xmms-sid.glade:1753 src/sid/xs_interface.c:828
+#: src/sid/xmms-sid.glade:1753 src/sid/xs_interface.c:840
+#: src/skins/ui_manager.c:437
 msgid "Import"
 msgstr "Importer"
 
-#: src/sid/xmms-sid.glade:1774 src/sid/xs_interface.c:836
+#: src/sid/xmms-sid.glade:1774 src/sid/xs_interface.c:848
+#: src/skins/ui_manager.c:439
 msgid "Delete"
 msgstr "Supprimer"
 
-#: src/sid/xmms-sid.glade:1819 src/sid/xs_interface.c:850
+#: src/sid/xmms-sid.glade:1819 src/sid/xs_interface.c:862
 msgid "Filter curve:"
 msgstr "Courbe du filtre :"
 
-#: src/sid/xmms-sid.glade:1855 src/sid/xs_interface.c:855
+#: src/sid/xmms-sid.glade:1855 src/sid/xs_interface.c:867
 msgid "SIDPlay2"
 msgstr "SIDPlay 2"
 
-#: src/sid/xmms-sid.glade:1891 src/sid/xs_interface.c:861
+#: src/sid/xmms-sid.glade:1891 src/sid/xs_interface.c:873
 msgid "Filters"
 msgstr "Filtres"
 
-#: src/sid/xmms-sid.glade:1935 src/sid/xs_interface.c:888
+#: src/sid/xmms-sid.glade:1935 src/sid/xs_interface.c:900
 msgid ""
 "If enabled, the tune is played at least for the specified time, adding "
 "silence to the end if necessary."
@@ -4638,21 +4655,21 @@
 "durée indiquée. Si cela s'avère nécessaire, un silence sera ajouté à la fin "
 "du morceau."
 
-#: src/sid/xmms-sid.glade:1937 src/sid/xs_interface.c:884
+#: src/sid/xmms-sid.glade:1937 src/sid/xs_interface.c:896
 msgid "Play at least for specified time"
 msgstr "Lire au moins pendant la durée indiquée"
 
 #: src/sid/xmms-sid.glade:1962 src/sid/xmms-sid.glade:2133
-#: src/sid/xmms-sid.glade:2632 src/sid/xs_interface.c:895
-#: src/sid/xs_interface.c:949 src/sid/xs_interface.c:1109
+#: src/sid/xmms-sid.glade:2702 src/sid/xs_interface.c:907
+#: src/sid/xs_interface.c:961 src/sid/xs_interface.c:1141
 msgid "Playtime:"
 msgstr "Durée :"
 
-#: src/sid/xmms-sid.glade:2041 src/sid/xs_interface.c:915
+#: src/sid/xmms-sid.glade:2041 src/sid/xs_interface.c:927
 msgid "Minimum playtime:"
 msgstr "Durée de lecture minimale :"
 
-#: src/sid/xmms-sid.glade:2086 src/sid/xs_interface.c:936
+#: src/sid/xmms-sid.glade:2086 src/sid/xs_interface.c:948
 msgid ""
 "If enabled, tune is played until specified duration is reached (aka maximum "
 "playtime)."
@@ -4661,11 +4678,11 @@
 "atteinte la durée indiquée (la durée de lecture maximale, en d'autres "
 "termes)."
 
-#: src/sid/xmms-sid.glade:2088 src/sid/xs_interface.c:932
+#: src/sid/xmms-sid.glade:2088 src/sid/xs_interface.c:944
 msgid "Play for specified time maximum"
 msgstr "Lire au maximum pendant la durée indiquée"
 
-#: src/sid/xmms-sid.glade:2107 src/sid/xs_interface.c:942
+#: src/sid/xmms-sid.glade:2107 src/sid/xs_interface.c:954
 msgid ""
 "If enabled, the maximum playtime is applied only if song/tune length is not "
 "known."
@@ -4673,15 +4690,15 @@
 "Si cette option est activée, la durée de lecture maximale ne sera appliquée "
 "que si la durée du module audio ne peut pas être déterminée."
 
-#: src/sid/xmms-sid.glade:2109 src/sid/xs_interface.c:938
+#: src/sid/xmms-sid.glade:2109 src/sid/xs_interface.c:950
 msgid "Only when song length is unknown"
 msgstr "Uniquement si la durée du module audio est inconnue"
 
-#: src/sid/xmms-sid.glade:2212 src/sid/xs_interface.c:969
+#: src/sid/xmms-sid.glade:2212 src/sid/xs_interface.c:981
 msgid "Maximum playtime:"
 msgstr "Durée de lecture maximale :"
 
-#: src/sid/xmms-sid.glade:2257 src/sid/xs_interface.c:990
+#: src/sid/xmms-sid.glade:2257 src/sid/xs_interface.c:1002
 msgid ""
 "This option enables using of XSIDPLAY compatible song length database. "
 "(Refer to Audacious-SID documentation for more information)"
@@ -4690,33 +4707,33 @@
 "'XSIDPLAY' relative à la durée des modules audio. Pour de plus amples "
 "informations, vous pouvez consulter la documentation de 'Audacious-SID'."
 
-#: src/sid/xmms-sid.glade:2259 src/sid/xs_interface.c:986
+#: src/sid/xmms-sid.glade:2259 src/sid/xs_interface.c:998
 msgid "Use XSIDPLAY-compatible database"
 msgstr "Utiliser une base de données compatible 'XSIDPLAY'"
 
-#: src/sid/xmms-sid.glade:2284 src/sid/xs_interface.c:997
+#: src/sid/xmms-sid.glade:2284 src/sid/xs_interface.c:1009
 msgid "DB-file:"
 msgstr "Fichier :"
 
-#: src/sid/xmms-sid.glade:2309 src/sid/xs_interface.c:1007
+#: src/sid/xmms-sid.glade:2309 src/sid/xs_interface.c:1019
 msgid "Database path and filename"
 msgstr "Emplacement et nom du fichier de la base de données"
 
-#: src/sid/xmms-sid.glade:2329 src/sid/xs_interface.c:1014
+#: src/sid/xmms-sid.glade:2329 src/sid/xs_interface.c:1026
 msgid "Browse for song length-database file"
 msgstr ""
 "Permet de parcourir l'arborescence pour sélectionner le fichier de la base "
 "de données"
 
-#: src/sid/xmms-sid.glade:2356 src/sid/xs_interface.c:1016
+#: src/sid/xmms-sid.glade:2418 src/sid/xs_interface.c:1048
 msgid "Song length database:"
 msgstr "Base de données relative à la durée des modules audio :"
 
-#: src/sid/xmms-sid.glade:2392 src/sid/xs_interface.c:1021
+#: src/sid/xmms-sid.glade:2454 src/sid/xs_interface.c:1053
 msgid "Songlength"
 msgstr "Durée"
 
-#: src/sid/xmms-sid.glade:2430 src/sid/xs_interface.c:1043
+#: src/sid/xmms-sid.glade:2492 src/sid/xs_interface.c:1075
 msgid ""
 "By enabling this option you can specify a custom Tuplez formatting string "
 "for SID-files. The SID-plugin specific Tuplez tags are described shortly "
@@ -4726,25 +4743,32 @@
 "personnalisé pour les fichiers 'SID'. Les métadonnées propres au module "
 "d'extension 'SID' sont brièvement expliquées ci-dessous."
 
-#: src/sid/xmms-sid.glade:2432 src/sid/xs_interface.c:1039
+#: src/sid/xmms-sid.glade:2494 src/sid/xs_interface.c:1071
 msgid "Override generic Tuplez format string"
 msgstr "Remplacer les titres génériques"
 
-#: src/sid/xmms-sid.glade:2457 src/sid/xs_interface.c:1054
+#: src/sid/xmms-sid.glade:2519 src/sid/xs_interface.c:1086
 msgid "Tuplez format string for SID-files"
 msgstr "Format du titre des modules audio 'SID'"
 
-#: src/sid/xmms-sid.glade:2477 src/sid/xs_interface.c:1057
-msgid "Descriptions of <i>SID-specific</i> Tuplez fields go here. <b>:D</b>"
-msgstr ""
-"La description des métadonnées <i>propres à 'SID'</i> est prévue à cet "
-"endroit. <b>:D</b>"
-
-#: src/sid/xmms-sid.glade:2511 src/sid/xs_interface.c:1065
+#: src/sid/xmms-sid.glade:2539 src/sid/xs_interface.c:1089
+msgid ""
+"<u>SID-specific Tuplez fields:</u>\n"
+"\n"
+"<b>sid-format</b>\t\t- Specific fileformat\n"
+"<b>sid-model</b>\t\t- 6581 or 8580\n"
+"<b>sid-speed</b>\t\t- Timing or speed: PAL/NTSC/etc.\n"
+"\n"
+"<u>Other \"special\" fields set:</u>\n"
+"\n"
+"<b>subsong-num, subsong-id</b>"
+msgstr ""
+
+#: src/sid/xmms-sid.glade:2581 src/sid/xs_interface.c:1097
 msgid "Song title format:"
 msgstr "Format du titre :"
 
-#: src/sid/xmms-sid.glade:2584 src/sid/xs_interface.c:1096
+#: src/sid/xmms-sid.glade:2654 src/sid/xs_interface.c:1128
 msgid ""
 "If enabled, sub-tunes of each file will be added to playlist. If disabled, "
 "only the default sub-tune will be added."
@@ -4753,25 +4777,25 @@
 "ajoutés à la liste de lecture. Dans le cas contraire, seul le sous-module "
 "par défaut sera ajouté."
 
-#: src/sid/xmms-sid.glade:2586 src/sid/xs_interface.c:1092
+#: src/sid/xmms-sid.glade:2656 src/sid/xs_interface.c:1124
 msgid "Add sub-tunes to playlist"
 msgstr "Ajouter les sous-modules à la liste de lecture"
 
-#: src/sid/xmms-sid.glade:2605 src/sid/xs_interface.c:1102
+#: src/sid/xmms-sid.glade:2675 src/sid/xs_interface.c:1134
 msgid "Only add sub-tunes that have a duration of at least specified time."
 msgstr ""
 "Ajoute uniquement les sous-modules dont la durée est au moins égale au temps "
 "spécifié."
 
-#: src/sid/xmms-sid.glade:2607 src/sid/xs_interface.c:1098
+#: src/sid/xmms-sid.glade:2677 src/sid/xs_interface.c:1130
 msgid "Only tunes with specified minimum duration"
 msgstr "Uniquement les morceaux dont la durée minimale est la suivante :"
 
-#: src/sid/xmms-sid.glade:2710 src/sid/xs_interface.c:1129
+#: src/sid/xmms-sid.glade:2780 src/sid/xs_interface.c:1161
 msgid "Sub-tune handling:"
 msgstr "Gestion des sous-modules :"
 
-#: src/sid/xmms-sid.glade:2755 src/sid/xs_interface.c:1150
+#: src/sid/xmms-sid.glade:2825 src/sid/xs_interface.c:1182
 msgid ""
 "If this option is enabled (and the database & HVSC settings below are "
 "correctly set), Audacious-SID will use and display additional information "
@@ -4783,15 +4807,15 @@
 "de données 'STIL', lorsque des modules audio 'SID' de la collection 'HVSC' "
 "seront lus."
 
-#: src/sid/xmms-sid.glade:2757 src/sid/xs_interface.c:1146
+#: src/sid/xmms-sid.glade:2827 src/sid/xs_interface.c:1178
 msgid "Use STIL database"
 msgstr "Utiliser une base de données 'STIL'"
 
-#: src/sid/xmms-sid.glade:2782 src/sid/xs_interface.c:1157
+#: src/sid/xmms-sid.glade:2852 src/sid/xs_interface.c:1189
 msgid "STIL file:"
 msgstr "Fichier 'STIL' :"
 
-#: src/sid/xmms-sid.glade:2819 src/sid/xs_interface.c:1173
+#: src/sid/xmms-sid.glade:2889 src/sid/xs_interface.c:1205
 msgid ""
 "Path and filename of STIL database file (STIL.txt), usually found from "
 "HVSC's DOCUMENTS-subdirectory."
@@ -4800,17 +4824,17 @@
 "txt' est habituellement situé dans le sous-répertoire 'DOCUMENTS' du dossier "
 "'HVSC')."
 
-#: src/sid/xmms-sid.glade:2854 src/sid/xs_interface.c:1186
+#: src/sid/xmms-sid.glade:2924 src/sid/xs_interface.c:1218
 msgid "Browse for STIL-database file"
 msgstr ""
 "Permet de parcourir l'arborescence pour sélectionner le fichier de la base "
 "de données 'STIL'"
 
-#: src/sid/xmms-sid.glade:2888 src/sid/xs_interface.c:1193
+#: src/sid/xmms-sid.glade:3020 src/sid/xs_interface.c:1245
 msgid "HVSC path:"
 msgstr "Emplacement de 'HVSC' :"
 
-#: src/sid/xmms-sid.glade:2925 src/sid/xs_interface.c:1209
+#: src/sid/xmms-sid.glade:3057 src/sid/xs_interface.c:1261
 msgid ""
 "Path to base-directory of your High Voltage SID Collection (HVSC), for "
 "example /media/C64Music/"
@@ -4818,88 +4842,88 @@
 "Emplacement du dossier de base de 'High Voltage SID Collection' (HVSC) ('/"
 "media/C64Music/', par exemple)"
 
-#: src/sid/xmms-sid.glade:2960 src/sid/xs_interface.c:1222
+#: src/sid/xmms-sid.glade:3092 src/sid/xs_interface.c:1274
 msgid "Browse for HVSC path"
 msgstr "Permet de parcourir l'arborescence pour sélectionner le dossier 'HVSC'"
 
-#: src/sid/xmms-sid.glade:2990 src/sid/xs_interface.c:1224
+#: src/sid/xmms-sid.glade:3184 src/sid/xs_interface.c:1296
 msgid "SID Tune Information List (STIL) database:"
 msgstr "Base de données 'STIL' (SID Tune Information List) :"
 
-#: src/sid/xmms-sid.glade:3063 src/sid/xs_interface.c:1248
+#: src/sid/xmms-sid.glade:3257 src/sid/xs_interface.c:1320
 msgid "Accept and update changes"
 msgstr "Valide et applique les changements"
 
-#: src/sid/xmms-sid.glade:3077 src/sid/xs_interface.c:1255
+#: src/sid/xmms-sid.glade:3271 src/sid/xs_interface.c:1327
 msgid "Cancel any changes"
 msgstr "Annule tous les changements"
 
-#: src/sid/xmms-sid.glade:3102 src/sid/xs_interface.c:1543
+#: src/sid/xmms-sid.glade:3296 src/sid/xs_interface.c:1627
 msgid "Audacious-SID Fileinfo"
 msgstr "Infomations sur le fichier 'Audacious-SID'"
 
-#: src/sid/xmms-sid.glade:3172 src/sid/xs_interface.c:1572
+#: src/sid/xmms-sid.glade:3366 src/sid/xs_interface.c:1656
 msgid "Songname:"
 msgstr "Nom du morceau :"
 
-#: src/sid/xmms-sid.glade:3200 src/sid/xs_interface.c:1580
+#: src/sid/xmms-sid.glade:3394 src/sid/xs_interface.c:1664
 msgid "Composer:"
 msgstr "Compositeur :"
 
-#: src/sid/xmms-sid.glade:3228 src/sid/xs_interface.c:1588
+#: src/sid/xmms-sid.glade:3422 src/sid/xs_interface.c:1672
 msgid "Copyright:"
 msgstr "Droits :"
 
-#: src/sid/xmms-sid.glade:3342 src/sid/xs_interface.c:1632
+#: src/sid/xmms-sid.glade:3536 src/sid/xs_interface.c:1716
 msgid "Song Information:"
 msgstr "Informations sur le module :"
 
-#: src/sid/xmms-sid.glade:3416 src/sid/xs_interface.c:1667
+#: src/sid/xmms-sid.glade:3610 src/sid/xs_interface.c:1751
 msgid "Author:"
 msgstr "Auteur :"
 
-#: src/sid/xmms-sid.glade:3514 src/sid/xs_interface.c:1701
+#: src/sid/xmms-sid.glade:3708 src/sid/xs_interface.c:1785
 msgid "Duration:"
 msgstr "Durée :"
 
-#: src/sid/xmms-sid.glade:3608 src/sid/xs_interface.c:1735
+#: src/sid/xmms-sid.glade:3802 src/sid/xs_interface.c:1819
 msgid "Sub-tune Information:"
 msgstr "Informations sur les sous-modules :"
 
-#: src/sid/xmms-sid.glade:3662 src/sid/xs_interface.c:1796
+#: src/sid/xmms-sid.glade:3856 src/sid/xs_interface.c:1880
 msgid "Select HVSC song length database"
 msgstr "Choix de la base de données 'HVSC'"
 
-#: src/sid/xmms-sid.glade:3704 src/sid/xs_interface.c:1837
+#: src/sid/xmms-sid.glade:3898 src/sid/xs_interface.c:1921
 msgid "Select STIL-database"
 msgstr "Choix de la base de données 'STIL'"
 
-#: src/sid/xmms-sid.glade:3746 src/sid/xs_interface.c:1878
+#: src/sid/xmms-sid.glade:3940 src/sid/xs_interface.c:1962
 msgid "Select HVSC location prefix"
 msgstr "Emplacement de 'HVSC'"
 
-#: src/sid/xmms-sid.glade:3788 src/sid/xs_interface.c:1919
+#: src/sid/xmms-sid.glade:3982 src/sid/xs_interface.c:2003
 msgid "Select SIDPlay2 filters file for importing"
 msgstr "Fichier de filtres 'SIDPlay2' à importer :"
 
-#: src/sid/xmms-sid.glade:3830 src/sid/xs_interface.c:1960
+#: src/sid/xmms-sid.glade:4024 src/sid/xs_interface.c:2044
 msgid "Select SIDPlay2 filters file for exporting"
 msgstr "Fichier de filtres 'SIDPlay2' à exporter :"
 
-#: src/sid/xmms-sid.glade:3871 src/sid/xmms-sid.glade:3953
-#: src/sid/xs_interface.c:2008 src/sid/xs_interface.c:2021
+#: src/sid/xmms-sid.glade:4065 src/sid/xmms-sid.glade:4147
+#: src/sid/xs_interface.c:2092 src/sid/xs_interface.c:2105
 msgid "Confirm selected action"
 msgstr "Confirmer l'action choisie"
 
-#: src/sid/xmms-sid.glade:3909 src/sid/xs_interface.c:2038
+#: src/sid/xmms-sid.glade:4103 src/sid/xs_interface.c:2122
 msgid "Yes"
 msgstr "Oui"
 
-#: src/sid/xmms-sid.glade:3921 src/sid/xs_interface.c:2044
+#: src/sid/xmms-sid.glade:4115 src/sid/xs_interface.c:2128
 msgid "No"
 msgstr "Aucun"
 
-#: src/sid/xs_about.c:84 src/wma/wma.c:121
+#: src/sid/xs_about.c:84 src/wma/wma.c:118
 #, c-format
 msgid "About %s"
 msgstr "À propos de '%s'"
@@ -4913,11 +4937,1143 @@
 msgid "Tune #%i: "
 msgstr "Module #%i : "
 
-#: src/sndfile/plugin.c:548
+#: src/skins/plugin.c:128
+msgid "About Skinned GUI"
+msgstr ""
+
+#: src/skins/plugin.c:129
+msgid ""
+"Copyright (c) 2008, by Tomasz Moń <desowin@gmail.com>\n"
+"\n"
+msgstr ""
+
+#: src/skins/skins_cfg.c:329
+#, fuzzy
+msgid "<b>_Fonts</b>"
+msgstr "<b>Action : </b>"
+
+#: src/skins/skins_cfg.c:330
+#, fuzzy
+msgid "_Player:"
+msgstr "Durée :"
+
+#: src/skins/skins_cfg.c:330
+msgid "Select main player window font:"
+msgstr ""
+
+#: src/skins/skins_cfg.c:331
+#, fuzzy
+msgid "_Playlist:"
+msgstr "Choisir une liste de lecture"
+
+#: src/skins/skins_cfg.c:331
+#, fuzzy
+msgid "Select playlist font:"
+msgstr "Choisir une liste de lecture"
+
+#: src/skins/skins_cfg.c:332
+#, fuzzy
+msgid "Use Bitmap fonts if available"
+msgstr "Utiliser CDDB, si le service est disponible"
+
+#: src/skins/skins_cfg.c:332
+msgid ""
+"Use bitmap fonts if they are available. Bitmap fonts do not support Unicode "
+"strings."
+msgstr ""
+
+#: src/skins/skins_cfg.c:333
+#, fuzzy
+msgid "<b>_Miscellaneous</b>"
+msgstr "<b>Services</b>"
+
+#: src/skins/skins_cfg.c:334
+msgid "Show track numbers in playlist"
+msgstr ""
+
+#: src/skins/skins_cfg.c:336
+msgid "Show separators in playlist"
+msgstr ""
+
+#: src/skins/skins_cfg.c:338
+msgid "Show window manager decoration"
+msgstr ""
+
+#: src/skins/skins_cfg.c:339
+msgid "This enables the window manager to show decorations for windows."
+msgstr ""
+
+#: src/skins/skins_cfg.c:340
+msgid "Use two-way text scroller"
+msgstr ""
+
+#: src/skins/skins_cfg.c:341
+msgid ""
+"If selected, the file information text in the main window will scroll back "
+"and forth. If not selected, the text will only scroll in one direction."
+msgstr ""
+
+#: src/skins/skins_cfg.c:342
+msgid "Disable inline gtk theme"
+msgstr ""
+
+#: src/skins/skins_cfg.c:343
+msgid "Allow loading incomplete skins"
+msgstr ""
+
+#: src/skins/skins_cfg.c:344
+msgid ""
+"If selected, audacious won't refuse loading broken skins. Use only if your "
+"favourite skin doesn't work"
+msgstr ""
+
+#: src/skins/skins_cfg.c:410
+msgid "Color Adjustment"
+msgstr ""
+
+#: src/skins/skins_cfg.c:417
+msgid ""
+"Audacious allows you to alter the color balance of the skinned UI. The "
+"sliders below will allow you to do this."
+msgstr ""
+
+#: src/skins/skins_cfg.c:427
+#, fuzzy
+msgid "Blue"
+msgstr "Volume"
+
+#: src/skins/skins_cfg.c:434
+msgid "Green"
+msgstr ""
+
+#: src/skins/skins_cfg.c:441
+msgid "Red"
+msgstr ""
+
+#: src/skins/skins_cfg.c:571
+#, fuzzy
+msgid "Audacious Skinned GUI Configuration"
+msgstr "Configuration de 'Audacious OSD'"
+
+#: src/skins/skins_cfg.c:596
+#, fuzzy
+msgid "<b>_Skin</b>"
+msgstr "<b>Action : </b>"
+
+#: src/skins/ui_equalizer.c:494
+#, fuzzy
+msgid "Audacious Equalizer"
+msgstr "Fenêtre -> Égaliseur"
+
+#: src/skins/ui_equalizer.c:794
+#, c-format
+msgid "Error importing Winamp EQF file '%s'"
+msgstr ""
+
+#: src/skins/ui_equalizer.c:1172
+msgid "Presets"
+msgstr ""
+
+#: src/skins/ui_main.c:392
+#, fuzzy, c-format
+msgid "%s - Audacious"
+msgstr ""
+"\n"
+"'OSD' pour Audacious "
+
+#: src/skins/ui_main.c:394 src/skins/ui_main.c:2397
+#, fuzzy
+msgid "Audacious"
+msgstr ""
+"\n"
+"'OSD' pour Audacious "
+
+#: src/skins/ui_main.c:641
+#, fuzzy
+msgid "VBR"
+msgstr "VBR/ABR"
+
+#: src/skins/ui_main.c:659 src/skins/ui_main.c:663
+#, fuzzy
+msgid "stereo"
+msgstr "Stéréo"
+
+#: src/skins/ui_main.c:659 src/skins/ui_main.c:663
+#, fuzzy
+msgid "mono"
+msgstr "Mono"
+
+#: src/skins/ui_main.c:957
+msgid "Can't jump to time when no track is being played.\n"
+msgstr ""
+
+#: src/skins/ui_main.c:972 src/skins/ui_manager.c:425
+#: src/skins/ui_manager.c:426
+#, fuzzy
+msgid "Jump to Time"
+msgstr "Aller au fichier..."
+
+#: src/skins/ui_main.c:993
+#, fuzzy
+msgid "minutes:seconds"
+msgstr " minutes "
+
+#: src/skins/ui_main.c:1003
+#, fuzzy
+msgid "Track length:"
+msgstr "Piste :"
+
+#: src/skins/ui_main.c:1149
+msgid "Audacious - visibility warning"
+msgstr ""
+
+#: src/skins/ui_main.c:1152
+msgid "Show main player window"
+msgstr ""
+
+#: src/skins/ui_main.c:1153
+msgid "Ignore"
+msgstr ""
+
+#: src/skins/ui_main.c:1159
+msgid ""
+"Audacious has been started with all of its windows hidden.\n"
+"You may want to show the player window again to control Audacious; "
+"otherwise, you'll have to control it remotely via audtool or enabled plugins "
+"(such as the statusicon plugin)."
+msgstr ""
+
+#: src/skins/ui_main.c:1165
+msgid "Always ignore, show/hide is controlled remotely"
+msgstr ""
+
+#: src/skins/ui_main.c:1210
+msgid "Audacious - broken GTK engine usage warning"
+msgstr ""
+
+#: src/skins/ui_main.c:1218
+#, c-format
+msgid ""
+"<big><b>Broken GTK engine in use</b></big>\n"
+"\n"
+"Audacious has detected that you are using a broken GTK engine.\n"
+"\n"
+"The theme engine you are using, <i>%s</i>, is incompatible with some of the "
+"features used by modern skins. The incompatible features have been disabled "
+"for this session.\n"
+"\n"
+"To use these features, please consider using a different GTK theme engine."
+msgstr ""
+
+#: src/skins/ui_main.c:1229
+msgid "Do not display this warning again"
+msgstr ""
+
+#: src/skins/ui_main.c:1253
+msgid "Enter location to play:"
+msgstr ""
+
+#: src/skins/ui_main.c:1497
+#, c-format
+msgid "Seek to: %d:%-2.2d/%d:%-2.2d (%d%%)"
+msgstr ""
+
+#: src/skins/ui_main.c:1527
+#, fuzzy, c-format
+msgid "Volume: %d%%"
+msgstr "Volume : (%)"
+
+#: src/skins/ui_main.c:1555
+#, c-format
+msgid "Balance: %d%% left"
+msgstr ""
+
+#: src/skins/ui_main.c:1559
+msgid "Balance: center"
+msgstr ""
+
+#: src/skins/ui_main.c:1563
+#, c-format
+msgid "Balance: %d%% right"
+msgstr ""
+
+#: src/skins/ui_main.c:1881
+#, fuzzy
+msgid "Options Menu"
+msgstr "Options"
+
+#: src/skins/ui_main.c:1885
+msgid "Disable 'Always On Top'"
+msgstr ""
+
+#: src/skins/ui_main.c:1887
+msgid "Enable 'Always On Top'"
+msgstr ""
+
+#: src/skins/ui_main.c:1890
+#, fuzzy
+msgid "File Info Box"
+msgstr "Informations sur le fichier : %s"
+
+#: src/skins/ui_main.c:1894
+msgid "Disable 'GUI Scaling'"
+msgstr ""
+
+#: src/skins/ui_main.c:1896
+#, fuzzy
+msgid "Enable 'GUI Scaling'"
+msgstr "Activer le rééchantillonnage"
+
+#: src/skins/ui_main.c:1899
+msgid "Visualization Menu"
+msgstr ""
+
+#: src/skins/ui_main.c:1946
+msgid ""
+"<b><big>Couldn't open audio.</big></b>\n"
+"\n"
+"Please check that:\n"
+"1. You have the correct output plugin selected.\n"
+"2. No other programs is blocking the soundcard.\n"
+"3. Your soundcard is configured properly.\n"
+msgstr ""
+
+#: src/skins/ui_manager.c:53 src/skins/ui_manager.c:54
+msgid "Autoscroll Songname"
+msgstr ""
+
+#: src/skins/ui_manager.c:56 src/skins/ui_manager.c:57
+msgid "Stop after Current Song"
+msgstr ""
+
+#: src/skins/ui_manager.c:59 src/skins/ui_manager.c:60
+msgid "Peaks"
+msgstr ""
+
+#: src/skins/ui_manager.c:62 src/skins/ui_manager.c:63
+msgid "Repeat"
+msgstr ""
+
+#: src/skins/ui_manager.c:65 src/skins/ui_manager.c:66
+msgid "Shuffle"
+msgstr ""
+
+#: src/skins/ui_manager.c:68 src/skins/ui_manager.c:69
+msgid "No Playlist Advance"
+msgstr ""
+
+#: src/skins/ui_manager.c:71 src/skins/ui_manager.c:72
+msgid "Show Player"
+msgstr ""
+
+#: src/skins/ui_manager.c:74 src/skins/ui_manager.c:75
+msgid "Show Playlist Editor"
+msgstr ""
+
+#: src/skins/ui_manager.c:77 src/skins/ui_manager.c:78
+#, fuzzy
+msgid "Show Equalizer"
+msgstr "Fenêtre -> Égaliseur"
+
+#: src/skins/ui_manager.c:80 src/skins/ui_manager.c:81
+msgid "Always on Top"
+msgstr ""
+
+#: src/skins/ui_manager.c:83 src/skins/ui_manager.c:84
+msgid "Put on All Workspaces"
+msgstr ""
+
+#: src/skins/ui_manager.c:86 src/skins/ui_manager.c:87
+msgid "Roll up Player"
+msgstr ""
+
+#: src/skins/ui_manager.c:89 src/skins/ui_manager.c:90
+msgid "Roll up Playlist Editor"
+msgstr ""
+
+#: src/skins/ui_manager.c:92 src/skins/ui_manager.c:93
+msgid "Roll up Equalizer"
+msgstr ""
+
+#: src/skins/ui_manager.c:95 src/sndstretch/sndstretch_xmms.c:375
+msgid "Scale"
+msgstr "Échelle"
+
+#: src/skins/ui_manager.c:96
+msgid "DoubleSize"
+msgstr ""
+
+#: src/skins/ui_manager.c:98 src/skins/ui_manager.c:99
+msgid "Easy Move"
+msgstr ""
+
+#: src/skins/ui_manager.c:107
+#, fuzzy
+msgid "Analyzer"
+msgstr "Analyseur Spectral"
+
+#: src/skins/ui_manager.c:108
+#, fuzzy
+msgid "Scope"
+msgstr "Arrêt"
+
+#: src/skins/ui_manager.c:109
+msgid "Voiceprint"
+msgstr ""
+
+#: src/skins/ui_manager.c:110
+msgid "Off"
+msgstr ""
+
+#: src/skins/ui_manager.c:114 src/skins/ui_manager.c:131
+#: src/skins/ui_manager.c:137
+#, fuzzy
+msgid "Normal"
+msgstr "Format"
+
+#: src/skins/ui_manager.c:115 src/skins/ui_manager.c:132
+msgid "Fire"
+msgstr ""
+
+#: src/skins/ui_manager.c:116
+msgid "Vertical Lines"
+msgstr ""
+
+#: src/skins/ui_manager.c:120
+#, fuzzy
+msgid "Lines"
+msgstr " minutes "
+
+#: src/skins/ui_manager.c:121
+#, fuzzy
+msgid "Bars"
+msgstr "Basses :"
+
+#: src/skins/ui_manager.c:125
+#, fuzzy
+msgid "Dot Scope"
+msgstr "Ne pas répéter"
+
+#: src/skins/ui_manager.c:126
+msgid "Line Scope"
+msgstr ""
+
+#: src/skins/ui_manager.c:127
+msgid "Solid Scope"
+msgstr ""
+
+#: src/skins/ui_manager.c:133
+msgid "Ice"
+msgstr ""
+
+#: src/skins/ui_manager.c:138
+msgid "Smooth"
+msgstr ""
+
+#: src/skins/ui_manager.c:142
+msgid "Full (~50 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:143
+msgid "Half (~25 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:144
+msgid "Quarter (~13 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:145
+msgid "Eighth (~6 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:149 src/skins/ui_manager.c:157
+msgid "Slowest"
+msgstr ""
+
+#: src/skins/ui_manager.c:150 src/skins/ui_manager.c:158
+#, fuzzy
+msgid "Slow"
+msgstr "Ombre"
+
+#: src/skins/ui_manager.c:151 src/skins/ui_manager.c:159
+msgid "Medium"
+msgstr ""
+
+#: src/skins/ui_manager.c:152 src/skins/ui_manager.c:160
+#, fuzzy
+msgid "Fast"
+msgstr "Format"
+
+#: src/skins/ui_manager.c:153 src/skins/ui_manager.c:161
+msgid "Fastest"
+msgstr ""
+
+#: src/skins/ui_manager.c:165
+msgid "Time Elapsed"
+msgstr ""
+
+#: src/skins/ui_manager.c:166
+msgid "Time Remaining"
+msgstr ""
+
+#: src/skins/ui_manager.c:180 src/skins/ui_manager.c:181
+#, fuzzy
+msgid "Pause"
+msgstr "Mode 'pause' activé"
+
+#: src/skins/ui_manager.c:186 src/skins/ui_manager.c:187
+#, fuzzy
+msgid "Previous"
+msgstr "Piste précédente"
+
+#: src/skins/ui_manager.c:189 src/skins/ui_manager.c:190
+#, fuzzy
+msgid "Next"
+msgstr "Texte"
+
+#: src/skins/ui_manager.c:195
+#, fuzzy
+msgid "Visualization"
+msgstr "Internationalisation"
+
+#: src/skins/ui_manager.c:196
+msgid "Visualization Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:197
+msgid "Analyzer Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:198
+msgid "Scope Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:199
+msgid "Voiceprint Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:200
+msgid "WindowShade VU Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:201
+msgid "Refresh Rate"
+msgstr ""
+
+#: src/skins/ui_manager.c:202
+msgid "Analyzer Falloff"
+msgstr ""
+
+#: src/skins/ui_manager.c:203
+msgid "Peaks Falloff"
+msgstr ""
+
+#: src/skins/ui_manager.c:208
+#, fuzzy
+msgid "Playlist"
+msgstr "Choisir une liste de lecture"
+
+#: src/skins/ui_manager.c:210 src/skins/ui_manager.c:211
+#, fuzzy
+msgid "New Playlist"
+msgstr "Choisir une liste de lecture"
+
+#: src/skins/ui_manager.c:213 src/skins/ui_manager.c:214
+#, fuzzy
+msgid "Select Next Playlist"
+msgstr "Choisir une liste de lecture"
+
+#: src/skins/ui_manager.c:216 src/skins/ui_manager.c:217
+#, fuzzy
+msgid "Select Previous Playlist"
+msgstr "Choisir une liste de lecture"
+
+#: src/skins/ui_manager.c:219 src/skins/ui_manager.c:220
+#, fuzzy
+msgid "Delete Playlist"
+msgstr "Choisir une liste de lecture"
+
+#: src/skins/ui_manager.c:222
+msgid "Load List"
+msgstr ""
+
+#: src/skins/ui_manager.c:223
+msgid "Loads a playlist file into the selected playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:225
+#, fuzzy
+msgid "Save List"
+msgstr "Enregistrer"
+
+#: src/skins/ui_manager.c:226
+#, fuzzy
+msgid "Saves the selected playlist."
+msgstr "Choisir une liste de lecture"
+
+#: src/skins/ui_manager.c:228
+#, fuzzy
+msgid "Save Default List"
+msgstr "Défaut (%s)"
+
+#: src/skins/ui_manager.c:229
+msgid "Saves the selected playlist to the default location."
+msgstr ""
+
+#: src/skins/ui_manager.c:232
+msgid "Refresh List"
+msgstr ""
+
+#: src/skins/ui_manager.c:233
+msgid "Refreshes metadata associated with a playlist entry."
+msgstr ""
+
+#: src/skins/ui_manager.c:236
+msgid "List Manager"
+msgstr ""
+
+#: src/skins/ui_manager.c:237
+msgid "Opens the playlist manager."
+msgstr ""
+
+#: src/skins/ui_manager.c:243
+msgid "View"
+msgstr ""
+
+#: src/skins/ui_manager.c:247
+msgid "Add Internet Address..."
+msgstr ""
+
+#: src/skins/ui_manager.c:248
+msgid "Adds a remote track to the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:251
+msgid "Add Files..."
+msgstr ""
+
+#: src/skins/ui_manager.c:252
+#, fuzzy
+msgid "Adds files to the playlist."
+msgstr "Ajouter les sous-modules à la liste de lecture"
+
+#: src/skins/ui_manager.c:257
+msgid "Search and Select"
+msgstr ""
+
+#: src/skins/ui_manager.c:258
+msgid ""
+"Searches the playlist and selects playlist entries based on specific "
+"criteria."
+msgstr ""
+
+#: src/skins/ui_manager.c:261
+#, fuzzy
+msgid "Invert Selection"
+msgstr "Choix des formats"
+
+#: src/skins/ui_manager.c:262
+msgid "Inverts the selected and unselected entries."
+msgstr ""
+
+#: src/skins/ui_manager.c:265
+#, fuzzy
+msgid "Select All"
+msgstr "Choisir une liste de lecture"
+
+#: src/skins/ui_manager.c:266
+msgid "Selects all of the playlist entries."
+msgstr ""
+
+#: src/skins/ui_manager.c:269
+#, fuzzy
+msgid "Select None"
+msgstr "Choisir un fichier de thème"
+
+#: src/skins/ui_manager.c:270
+msgid "Deselects all of the playlist entries."
+msgstr ""
+
+#: src/skins/ui_manager.c:275
+#, fuzzy
+msgid "Remove All"
+msgstr "Enlever"
+
+#: src/skins/ui_manager.c:276
+msgid "Removes all entries from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:279
+msgid "Clear Queue"
+msgstr ""
+
+#: src/skins/ui_manager.c:280
+msgid "Clears the queue associated with this playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:283
+msgid "Remove Unavailable Files"
+msgstr ""
+
+#: src/skins/ui_manager.c:284
+msgid "Removes unavailable files from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:287
+msgid "Remove Duplicates"
+msgstr ""
+
+#: src/skins/ui_manager.c:289 src/skins/ui_manager.c:321
+#: src/skins/ui_manager.c:351
+#, fuzzy
+msgid "By Title"
+msgstr "Titre"
+
+#: src/skins/ui_manager.c:290
+msgid "Removes duplicate entries from the playlist by title."
+msgstr ""
+
+#: src/skins/ui_manager.c:293 src/skins/ui_manager.c:329
+#: src/skins/ui_manager.c:359
+#, fuzzy
+msgid "By Filename"
+msgstr "Nom du fichier"
+
+#: src/skins/ui_manager.c:294
+msgid "Removes duplicate entries from the playlist by filename."
+msgstr ""
+
+#: src/skins/ui_manager.c:297 src/skins/ui_manager.c:333
+#: src/skins/ui_manager.c:363
+#, fuzzy
+msgid "By Path + Filename"
+msgstr "Nom du fichier"
+
+#: src/skins/ui_manager.c:298
+msgid "Removes duplicate entries from the playlist by their full path."
+msgstr ""
+
+#: src/skins/ui_manager.c:301
+msgid "Remove Unselected"
+msgstr ""
+
+#: src/skins/ui_manager.c:302
+msgid "Remove unselected entries from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:305
+msgid "Remove Selected"
+msgstr ""
+
+#: src/skins/ui_manager.c:306
+msgid "Remove selected entries from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:311
+msgid "Randomize List"
+msgstr ""
+
+#: src/skins/ui_manager.c:312
+msgid "Randomizes the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:315
+msgid "Reverse List"
+msgstr ""
+
+#: src/skins/ui_manager.c:316
+msgid "Reverses the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:319
+#, fuzzy
+msgid "Sort List"
+msgstr "Artiste :"
+
+#: src/skins/ui_manager.c:322 src/skins/ui_manager.c:352
+msgid "Sorts the list by title."
+msgstr ""
+
+#: src/skins/ui_manager.c:325 src/skins/ui_manager.c:355
+#, fuzzy
+msgid "By Artist"
+msgstr "Artiste :"
+
+#: src/skins/ui_manager.c:326 src/skins/ui_manager.c:356
+msgid "Sorts the list by artist."
+msgstr ""
+
+#: src/skins/ui_manager.c:330 src/skins/ui_manager.c:360
+msgid "Sorts the list by filename."
+msgstr ""
+
+#: src/skins/ui_manager.c:334 src/skins/ui_manager.c:364
+msgid "Sorts the list by full pathname."
+msgstr ""
+
+#: src/skins/ui_manager.c:337 src/skins/ui_manager.c:367
+msgid "By Date"
+msgstr ""
+
+#: src/skins/ui_manager.c:338 src/skins/ui_manager.c:368
+msgid "Sorts the list by modification time."
+msgstr ""
+
+#: src/skins/ui_manager.c:341 src/skins/ui_manager.c:371
+#, fuzzy
+msgid "By Track Number"
+msgstr "Piste :"
+
+#: src/skins/ui_manager.c:342 src/skins/ui_manager.c:372
+msgid "Sorts the list by track number."
+msgstr ""
+
+#: src/skins/ui_manager.c:345 src/skins/ui_manager.c:375
+#, fuzzy
+msgid "By Playlist Entry"
+msgstr "Informations rapides sur la liste de lecture"
+
+#: src/skins/ui_manager.c:346 src/skins/ui_manager.c:376
+msgid "Sorts the list by playlist entry."
+msgstr ""
+
+#: src/skins/ui_manager.c:349
+#, fuzzy
+msgid "Sort Selected"
+msgstr "Choix des formats"
+
+#: src/skins/ui_manager.c:385
+#, fuzzy
+msgid "File"
+msgstr "Filtres"
+
+#: src/skins/ui_manager.c:388
+msgid "Plugin Services"
+msgstr ""
+
+#: src/skins/ui_manager.c:390 src/skins/ui_manager.c:393
+#, fuzzy
+msgid "View Track Details"
+msgstr "Utiliser le gain 'piste'"
+
+#: src/skins/ui_manager.c:391 src/skins/ui_manager.c:394
+msgid "View track details"
+msgstr ""
+
+#: src/skins/ui_manager.c:396 src/skins/ui_manager.c:397
+#, fuzzy
+msgid "About Audacious"
+msgstr "À propos du module 'LIRC'"
+
+#: src/skins/ui_manager.c:399
+#, fuzzy
+msgid "Play File"
+msgstr "Durée :"
+
+#: src/skins/ui_manager.c:400
+#, fuzzy
+msgid "Load and play a file"
+msgstr "Charger la banque de sons au démarrage du lecteur"
+
+#: src/skins/ui_manager.c:402
+#, fuzzy
+msgid "Play Location"
+msgstr "Options de 'SIDPlay 2' :"
+
+#: src/skins/ui_manager.c:403
+#, fuzzy
+msgid "Play media from the selected location"
+msgstr "Confirmer l'action choisie"
+
+#: src/skins/ui_manager.c:405
+msgid "Plugin services"
+msgstr ""
+
+#: src/skins/ui_manager.c:407
+msgid "Preferences"
+msgstr ""
+
+#: src/skins/ui_manager.c:408
+msgid "Open preferences window"
+msgstr ""
+
+#: src/skins/ui_manager.c:410
+#, fuzzy
+msgid "_Quit"
+msgstr "Qualité"
+
+#: src/skins/ui_manager.c:411
+#, fuzzy
+msgid "Quit Audacious"
+msgstr ""
+"\n"
+"'OSD' pour Audacious "
+
+#: src/skins/ui_manager.c:413 src/skins/ui_manager.c:414
+msgid "Set A-B"
+msgstr ""
+
+#: src/skins/ui_manager.c:416 src/skins/ui_manager.c:417
+msgid "Clear A-B"
+msgstr ""
+
+#: src/skins/ui_manager.c:419 src/skins/ui_manager.c:420
+msgid "Jump to Playlist Start"
+msgstr ""
+
+#: src/skins/ui_manager.c:428
+msgid "Queue Toggle"
+msgstr ""
+
+#: src/skins/ui_manager.c:429
+msgid "Enables/disables the entry in the playlist's queue."
+msgstr ""
+
+#: src/skins/ui_manager.c:436
+msgid "Load"
+msgstr ""
+
+#: src/skins/ui_manager.c:441 src/skins/ui_manager.c:462
+#: src/skins/ui_manager.c:477
+#, fuzzy
+msgid "Preset"
+msgstr "Port"
+
+#: src/skins/ui_manager.c:442
+msgid "Load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:444 src/skins/ui_manager.c:465
+#: src/skins/ui_manager.c:480
+msgid "Auto-load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:445
+msgid "Load auto-load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:448
+#, fuzzy
+msgid "Load default preset into equalizer"
+msgstr "Charger les valeurs par défaut"
+
+#: src/skins/ui_manager.c:450
+#, fuzzy
+msgid "Zero"
+msgstr "Stéréo"
+
+#: src/skins/ui_manager.c:451
+msgid "Set equalizer preset levels to zero"
+msgstr ""
+
+#: src/skins/ui_manager.c:453
+#, fuzzy
+msgid "From file"
+msgstr "Profil : %s"
+
+#: src/skins/ui_manager.c:454
+#, fuzzy
+msgid "Load preset from file"
+msgstr "Impossible de lire le fichier\n"
+
+#: src/skins/ui_manager.c:456
+msgid "From WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:457
+msgid "Load preset from WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:459
+msgid "WinAMP Presets"
+msgstr ""
+
+#: src/skins/ui_manager.c:460
+msgid "Import WinAMP presets"
+msgstr ""
+
+#: src/skins/ui_manager.c:463
+msgid "Save preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:466
+msgid "Save auto-load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:469
+#, fuzzy
+msgid "Save default preset"
+msgstr "Charger les valeurs par défaut"
+
+#: src/skins/ui_manager.c:471
+#, fuzzy
+msgid "To file"
+msgstr "Fichier 'STIL' :"
+
+#: src/skins/ui_manager.c:472
+msgid "Save preset to file"
+msgstr ""
+
+#: src/skins/ui_manager.c:474
+msgid "To WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:475
+msgid "Save preset to WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:478
+#, fuzzy
+msgid "Delete preset"
+msgstr "Supprimer"
+
+#: src/skins/ui_manager.c:481
+msgid "Delete auto-load preset"
+msgstr ""
+
+#: src/skins/ui_playlist.c:454
+msgid "Search entries in active playlist"
+msgstr ""
+
+#: src/skins/ui_playlist.c:462
+msgid ""
+"Select entries in playlist by filling one or more fields. Fields use regular "
+"expressions syntax, case-insensitive. If you don't know how regular "
+"expressions work, simply insert a literal portion of what you're searching "
+"for."
+msgstr ""
+
+#: src/skins/ui_playlist.c:477
+#, fuzzy
+msgid "Album: "
+msgstr "Album :"
+
+#: src/skins/ui_playlist.c:484
+#, fuzzy
+msgid "Artist: "
+msgstr "Artiste :"
+
+#: src/skins/ui_playlist.c:491
+#, fuzzy
+msgid "Filename: "
+msgstr "Nom du fichier :"
+
+#: src/skins/ui_playlist.c:499
+msgid "Clear previous selection before searching"
+msgstr ""
+
+#: src/skins/ui_playlist.c:502
+msgid "Automatically toggle queue for matching entries"
+msgstr ""
+
+#: src/skins/ui_playlist.c:505
+msgid "Create a new playlist with matching entries"
+msgstr ""
+
+#: src/skins/ui_playlist.c:724
+#, c-format
+msgid "Error writing playlist \"%s\": %s"
+msgstr ""
+
+#: src/skins/ui_playlist.c:746
+#, c-format
+msgid "%s already exist. Continue?"
+msgstr ""
+
+#: src/skins/ui_playlist.c:761
+#, c-format
+msgid ""
+"<b><big>Unable to save playlist.</big></b>\n"
+"\n"
+"Unknown file type for '%s'.\n"
+msgstr ""
+
+#: src/skins/ui_playlist.c:887
+#, fuzzy
+msgid "Save as Static Playlist"
+msgstr "Choisir une liste de lecture"
+
+#: src/skins/ui_playlist.c:894
+msgid "Use Relative Path"
+msgstr ""
+
+#: src/skins/ui_playlist.c:916
+#, fuzzy
+msgid "Load Playlist"
+msgstr "Informations rapides sur la liste de lecture"
+
+#: src/skins/ui_playlist.c:929
+#, fuzzy
+msgid "Save Playlist"
+msgstr "Choisir une liste de lecture"
+
+#: src/skins/ui_playlist.c:1497
+#, fuzzy
+msgid "Audacious Playlist Editor"
+msgstr "Informations rapides sur la liste de lecture"
+
+#: src/skins/ui_skinned_equalizer_slider.c:377
+msgid "PREAMP"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:377
+msgid "60HZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:377
+msgid "170HZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:378
+msgid "310HZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:378
+msgid "600HZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:378
+msgid "1KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:379
+msgid "3KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:379
+msgid "6KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:379
+msgid "12KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:380
+msgid "14KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:380
+msgid "16KHZ"
+msgstr ""
+
+#: src/skins/ui_skinselector.c:178
+msgid "Archived Winamp 2.x skin"
+msgstr ""
+
+#: src/skins/ui_skinselector.c:183
+msgid "Unarchived Winamp 2.x skin"
+msgstr ""
+
+#: src/skins/util.c:1132
+#, fuzzy, c-format
+msgid "Could not create directory (%s): %s\n"
+msgstr "Erreur lors de l'allocation du fichier 'SID' ('%s').\n"
+
+#: src/sndfile/plugin.c:554
 msgid "About sndfile plugin"
 msgstr "À propos du module 'sndfile'"
 
-#: src/sndfile/plugin.c:549
+#: src/sndfile/plugin.c:555
 msgid ""
 "Adapted for Audacious usage by Tony Vroon <chainsaw@gentoo.org>\n"
 "from the xmms_sndfile plugin which is:\n"
@@ -4969,64 +6125,60 @@
 "Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,\n"
 "MA 02110-1301, USA."
 
-#: src/sndstretch/sndstretch_xmms.c:159
+#: src/sndstretch/sndstretch_xmms.c:158
 msgid "About SndStretch"
 msgstr "À propos de 'SndStretch'"
 
-#: src/sndstretch/sndstretch_xmms.c:319
+#: src/sndstretch/sndstretch_xmms.c:318
 msgid "Volume corr."
 msgstr "Correction du volume"
 
-#: src/sndstretch/sndstretch_xmms.c:320
+#: src/sndstretch/sndstretch_xmms.c:319
 msgid "Short Overlap"
 msgstr "Chevauchement léger"
 
+#: src/sndstretch/sndstretch_xmms.c:373
+msgid "Speed"
+msgstr "Vitesse"
+
 #: src/sndstretch/sndstretch_xmms.c:374
-msgid "Speed"
-msgstr "Vitesse"
-
-#: src/sndstretch/sndstretch_xmms.c:375
 msgid "Pitch"
 msgstr "Hauteur"
 
-#: src/sndstretch/sndstretch_xmms.c:376
-msgid "Scale"
-msgstr "Échelle"
-
-#: src/sndstretch/sndstretch_xmms.c:396
+#: src/sndstretch/sndstretch_xmms.c:395
 msgid "SndStretch - Configuration"
 msgstr "Configuration de 'SndStretch'"
 
-#: src/song_change/song_change.c:312
+#: src/song_change/song_change.c:310
 msgid "Commands"
 msgstr "Commandes"
 
-#: src/song_change/song_change.c:319
+#: src/song_change/song_change.c:317
 msgid "Command to run when Audacious starts a new song."
 msgstr "Commande à exécuter lorsqu'un nouveau morceau commence :"
 
-#: src/song_change/song_change.c:328 src/song_change/song_change.c:350
-#: src/song_change/song_change.c:371 src/song_change/song_change.c:392
+#: src/song_change/song_change.c:326 src/song_change/song_change.c:348
+#: src/song_change/song_change.c:369 src/song_change/song_change.c:390
 msgid "Command:"
 msgstr "Commande :"
 
-#: src/song_change/song_change.c:342
+#: src/song_change/song_change.c:340
 msgid "Command to run toward the end of a song."
 msgstr "Commande à exécuter lorsque la lecture d'un morceau se termine :"
 
-#: src/song_change/song_change.c:362
+#: src/song_change/song_change.c:360
 msgid "Command to run when Audacious reaches the end of the playlist."
 msgstr ""
 "Commande à exécuter lorsque la fin de la liste de lecture est atteinte :"
 
-#: src/song_change/song_change.c:383
+#: src/song_change/song_change.c:381
 msgid ""
 "Command to run when title changes for a song (i.e. network streams titles)."
 msgstr ""
 "Commande à exécuter lorsque le titre d'un morceau change (le titre d'un flux "
 "distant, par exemple) :"
 
-#: src/song_change/song_change.c:404
+#: src/song_change/song_change.c:402
 #, c-format
 msgid ""
 "You can use the following format strings which\n"
@@ -5055,7 +6207,7 @@
 "%%t: Position dans la liste de lecture (%%02d)\n"
 "%%p: Statut de la lecture (1 ou 0)"
 
-#: src/song_change/song_change.c:429
+#: src/song_change/song_change.c:427
 msgid ""
 "<span size='small'>Parameters passed to the shell should be encapsulated in "
 "quotes. Doing otherwise is a security risk.</span>"
@@ -5064,7 +6216,7 @@
 "entourés de guillemets.\n"
 "Une utilisation différente constitue un risque en matière de sécurité.</span>"
 
-#: src/spectrum/spectrum.c:90
+#: src/spectrum/spectrum.c:89
 msgid "Spectrum Analyzer"
 msgstr "Analyseur Spectral"
 
@@ -5076,11 +6228,11 @@
 msgid "The orientation of the tray"
 msgstr "Définit l'orientation de l'icône"
 
-#: src/statusicon/si_ui.c:622
+#: src/statusicon/si_ui.c:620
 msgid "About Status Icon Plugin"
 msgstr "À propos du module 'Status Icon'"
 
-#: src/statusicon/si_ui.c:624
+#: src/statusicon/si_ui.c:622
 msgid ""
 "\n"
 "written by Giacomo Lozito < james@develia.org >\n"
@@ -5094,39 +6246,39 @@
 "Ce module affiche une icône de statut dans la\n"
 "boîte de notification du gestionnaire de fenêtres.\n"
 
-#: src/statusicon/si_ui.c:696
+#: src/statusicon/si_ui.c:694
 msgid "Status Icon Plugin - Preferences"
 msgstr "Préférences de 'Status Icon'"
 
-#: src/statusicon/si_ui.c:707
+#: src/statusicon/si_ui.c:705
 msgid "Right-Click Menu"
 msgstr "Menu disponible via le clic droit :"
 
-#: src/statusicon/si_ui.c:712
+#: src/statusicon/si_ui.c:710
 msgid "Audacious standard menu"
 msgstr "Menu standard d'Audacious"
 
-#: src/statusicon/si_ui.c:717
+#: src/statusicon/si_ui.c:715
 msgid "Small playback menu #1"
 msgstr "Menu de lecture compact #1"
 
-#: src/statusicon/si_ui.c:722
+#: src/statusicon/si_ui.c:720
 msgid "Small playback menu #2"
 msgstr "Menu de lecture compact #2"
 
-#: src/statusicon/si_ui.c:745
+#: src/statusicon/si_ui.c:743
 msgid "Mouse Scroll Action"
 msgstr "Effet du défilement de la souris :"
 
-#: src/statusicon/si_ui.c:750
+#: src/statusicon/si_ui.c:748
 msgid "Change volume"
 msgstr "Changement du volume"
 
-#: src/statusicon/si_ui.c:755
+#: src/statusicon/si_ui.c:753
 msgid "Change playing song"
 msgstr "Changement du titre en cours de lecture"
 
-#: src/stereo_plugin/stereo.c:26
+#: src/stereo_plugin/stereo.c:25
 msgid ""
 "Extra Stereo Plugin\n"
 "\n"
@@ -5136,23 +6288,19 @@
 "\n"
 "Écrit par Johan Levin (1999)."
 
-#: src/stereo_plugin/stereo.c:52
+#: src/stereo_plugin/stereo.c:51
 msgid "About Extra Stereo Plugin"
 msgstr "À propos..."
 
-#: src/stereo_plugin/stereo.c:93
+#: src/stereo_plugin/stereo.c:92
 msgid "Configure Extra Stereo"
 msgstr "Configurer 'Extra Stereo'"
 
-#: src/stereo_plugin/stereo.c:95
-msgid "Effect intensity:"
-msgstr "Intensité de l'effet :"
+#: src/sun/about.c:33
+msgid "About the Sun Driver"
+msgstr "À propos du pilote 'Sun'"
 
 #: src/sun/about.c:34
-msgid "About the Sun Driver"
-msgstr "À propos du pilote 'Sun'"
-
-#: src/sun/about.c:35
 msgid ""
 "XMMS BSD Sun Driver\n"
 "\n"
@@ -5167,19 +6315,19 @@
 "Responsable de la maintenance :\n"
 "<vedge at csoft.org>.\n"
 
-#: src/sun/configure.c:201
+#: src/sun/configure.c:199
 msgid "Audio control device:"
 msgstr "Périphérique de contrôle audio :"
 
-#: src/sun/configure.c:350
+#: src/sun/configure.c:348
 msgid "Volume controls device:"
 msgstr "Périphérique de contrôle du volume :"
 
-#: src/sun/configure.c:363
+#: src/sun/configure.c:361
 msgid "XMMS uses mixer exclusively."
 msgstr "XMMS utilise le mélangeur audio de manière exclusive."
 
-#: src/sun/configure.c:538
+#: src/sun/configure.c:536
 msgid "Sun driver configuration"
 msgstr "Configuration du pilote 'Sun'"
 
@@ -5207,7 +6355,7 @@
 msgid "TiMidity Configuration File"
 msgstr "Fichier de configuration de 'TiMidity'"
 
-#: src/timidity/xmms-timidity.c:118
+#: src/timidity/xmms-timidity.c:115
 msgid ""
 "TiMidity Plugin\n"
 "http://libtimidity.sourceforge.net\n"
@@ -5219,20 +6367,20 @@
 "\n"
 "Écrit par Konstantin Korikov"
 
-#: src/timidity/xmms-timidity.c:119
+#: src/timidity/xmms-timidity.c:116
 #, c-format
 msgid "TiMidity Plugin %s"
 msgstr "Module 'TiMidity' %s"
 
-#: src/timidity/xmms-timidity.c:336
+#: src/timidity/xmms-timidity.c:333
 msgid "Couldn't load MIDI file"
 msgstr "Impossible de lire le fichier MIDI"
 
-#: src/tonegen/tonegen.c:56
+#: src/tonegen/tonegen.c:55
 msgid "About Tone Generator"
 msgstr "À propos de 'Tone Generator'"
 
-#: src/tonegen/tonegen.c:58
+#: src/tonegen/tonegen.c:57
 msgid ""
 "Sinus tone generator by Haavard Kvaalen <havardk@xmms.org>\n"
 "Modified by Daniel J. Peng <danielpeng@bigfoot.com>\n"
@@ -5250,52 +6398,52 @@
 "Par exemple, 'tone://2000;2005' émettra un son de 2000 Hz et un son de 2005 "
 "Hz."
 
-#: src/tonegen/tonegen.c:167
+#: src/tonegen/tonegen.c:166
 #, c-format
 msgid "%s %.1f Hz"
 msgstr "%s %.1f Hz"
 
-#: src/tonegen/tonegen.c:167
+#: src/tonegen/tonegen.c:166
 msgid "Tone Generator: "
 msgstr "Générateur de sons : "
 
-#: src/tta/libtta.c:130
+#: src/tta/libtta.c:127
 msgid "Can't open file\n"
 msgstr "Impossible d'ouvrir le fichier\n"
 
+#: src/tta/libtta.c:130
+msgid "Not supported file format\n"
+msgstr "Le format du fichier n'est pas supporté\n"
+
 #: src/tta/libtta.c:133
-msgid "Not supported file format\n"
-msgstr "Le format du fichier n'est pas supporté\n"
+msgid "File is corrupted\n"
+msgstr "Le fichier est corrompu\n"
 
 #: src/tta/libtta.c:136
-msgid "File is corrupted\n"
-msgstr "Le fichier est corrompu\n"
+msgid "Can't read from file\n"
+msgstr "Impossible de lire le fichier\n"
 
 #: src/tta/libtta.c:139
-msgid "Can't read from file\n"
-msgstr "Impossible de lire le fichier\n"
+msgid "Insufficient memory available\n"
+msgstr "La mémoire disponible est insuffisante\n"
 
 #: src/tta/libtta.c:142
-msgid "Insufficient memory available\n"
-msgstr "La mémoire disponible est insuffisante\n"
+msgid "Output plugin error\n"
+msgstr "Erreur relative au module de sortie\n"
 
 #: src/tta/libtta.c:145
-msgid "Output plugin error\n"
-msgstr "Erreur relative au module de sortie\n"
-
-#: src/tta/libtta.c:148
 msgid "Unknown error\n"
 msgstr "Erreur inconnue\n"
 
-#: src/tta/libtta.c:152
+#: src/tta/libtta.c:149
 msgid "TTA Decoder Error"
 msgstr "Erreur du décodeur 'TTA'"
 
-#: src/tta/libtta.c:261
+#: src/tta/libtta.c:258
 msgid "TTA input plugin "
 msgstr "Module d'entrée 'TTA' "
 
-#: src/tta/libtta.c:262
+#: src/tta/libtta.c:259
 msgid ""
 " for BMP\n"
 "Copyright (c) 2004 True Audio Software\n"
@@ -5306,35 +6454,35 @@
 "\n"
 "True Audio Software\n"
 
-#: src/tta/libtta.c:265
+#: src/tta/libtta.c:262
 msgid "About True Audio Plugin"
 msgstr "À propos du module 'True Audio'"
 
-#: src/tta/libtta.c:316
+#: src/tta/libtta.c:313
 msgid "ID3 Tag:"
 msgstr "Métadonnées ID3"
 
-#: src/tta/libtta.c:378 src/wavpack/ui.cxx:234
+#: src/tta/libtta.c:375 src/wavpack/ui.cxx:232
 msgid "Track number:"
 msgstr "Piste :"
 
-#: src/vorbis/configure.c:84
+#: src/vorbis/configure.c:82
 msgid "Ogg Vorbis Audio Plugin Configuration"
 msgstr "Configuration du module audio 'Ogg Vorbis'"
 
-#: src/vorbis/configure.c:94
+#: src/vorbis/configure.c:92
 msgid "Ogg Vorbis Tags:"
 msgstr "Métadonnées 'Ogg Vorbis' :"
 
-#: src/vorbis/configure.c:115
+#: src/vorbis/configure.c:113
 msgid "Title format:"
 msgstr "Format du titre :"
 
-#: src/vorbis/vorbis.c:681
+#: src/vorbis/vorbis.c:677
 msgid "About Ogg Vorbis Audio Plugin"
 msgstr "À propos du module audio 'Ogg Vorbis'"
 
-#: src/vorbis/vorbis.c:687
+#: src/vorbis/vorbis.c:683
 msgid ""
 "Ogg Vorbis Plugin by the Xiph.org Foundation\n"
 "\n"
@@ -5371,11 +6519,11 @@
 "Vous pouvez visiter 'Xiph.org Foundation' à cette adresse :\n"
 "http://www.xiph.org/\n"
 
-#: src/vtx/about.c:23
+#: src/vtx/about.c:17
 msgid "About Vortex Player"
 msgstr "À propos du lecteur 'Vortex'"
 
-#: src/vtx/about.c:25
+#: src/vtx/about.c:19
 msgid ""
 "Vortex file format player by Sashnov Alexander <sashnov@ngs.ru>\n"
 "Founded on original source in_vtx.dll by Roman Sherbakov <v_soft@microfor."
@@ -5400,12 +6548,12 @@
 "Adaptation pour Audacious :\n"
 "Pavel Vymetalek <pvymetalek@seznam.cz>"
 
-#: src/wavpack/ui.cxx:52
+#: src/wavpack/ui.cxx:50
 #, c-format
 msgid "Wavpack Decoder Plugin %s"
 msgstr "Module de décodage 'Wavpack' %s"
 
-#: src/wavpack/ui.cxx:53
+#: src/wavpack/ui.cxx:51
 msgid ""
 "Copyright (c) 2006 William Pitcock <nenolod -at- nenolod.net>\n"
 "\n"
@@ -5419,90 +6567,90 @@
 "Vous pouvez visiter le site 'Wavpack' à l'adresse suivante :\n"
 "http://www.wavpack.com/\n"
 
-#: src/wavpack/ui.cxx:165
+#: src/wavpack/ui.cxx:163
 msgid "Ape2 Tag"
 msgstr "Métadonnées 'Ape2'"
 
-#: src/wavpack/ui.cxx:288
+#: src/wavpack/ui.cxx:286
 msgid "Wavpack Info:"
 msgstr "Informations Wavpack"
 
+#: src/wavpack/ui.cxx:379
+#, c-format
+msgid "version %d"
+msgstr "Version : %d"
+
+#: src/wavpack/ui.cxx:380
+#, c-format
+msgid "average bitrate: %6.1f kbps"
+msgstr "Débit moyen : %6.1f kbps"
+
 #: src/wavpack/ui.cxx:381
 #, c-format
-msgid "version %d"
-msgstr "Version : %d"
+msgid "samplerate: %d Hz"
+msgstr "Taux d'échantillonnage : %d Hz"
 
 #: src/wavpack/ui.cxx:382
 #, c-format
-msgid "average bitrate: %6.1f kbps"
-msgstr "Débit moyen : %6.1f kbps"
+msgid "bits per sample: %d"
+msgstr "Bits par échantillon : %d"
 
 #: src/wavpack/ui.cxx:383
 #, c-format
-msgid "samplerate: %d Hz"
-msgstr "Taux d'échantillonnage : %d Hz"
+msgid "channels: %d"
+msgstr "Voies : %d"
 
 #: src/wavpack/ui.cxx:384
 #, c-format
-msgid "bits per sample: %d"
-msgstr "Bits par échantillon : %d"
+msgid "length: %d:%.2d"
+msgstr "Durée : %d:%.2d"
 
 #: src/wavpack/ui.cxx:385
 #, c-format
-msgid "channels: %d"
-msgstr "Voies : %d"
-
-#: src/wavpack/ui.cxx:386
-#, c-format
-msgid "length: %d:%.2d"
-msgstr "Durée : %d:%.2d"
-
-#: src/wavpack/ui.cxx:387
-#, c-format
 msgid "file size: %d Bytes"
 msgstr "Taille du fichier : %d Bytes"
 
-#: src/wavpack/ui.cxx:394
+#: src/wavpack/ui.cxx:392
 msgid "Title Peak: ?"
 msgstr "Pic sonore 'piste' : ?"
 
-#: src/wavpack/ui.cxx:395
+#: src/wavpack/ui.cxx:393
 msgid "Album Peak: ?"
 msgstr "Pic sonore 'album' : ?"
 
-#: src/wavpack/ui.cxx:396
+#: src/wavpack/ui.cxx:394
 msgid "Title Gain: ?"
 msgstr "Gain 'piste' : ?"
 
-#: src/wavpack/ui.cxx:397
+#: src/wavpack/ui.cxx:395
 msgid "Album Gain: ?"
 msgstr "Gain 'album' : ?"
 
-#: src/wavpack/ui.cxx:471
+#: src/wavpack/ui.cxx:469
 msgid "Wavpack Configuration"
 msgstr "Configuration de 'Wavpack'"
 
-#: src/wavpack/ui.cxx:484
+#: src/wavpack/ui.cxx:482
 msgid "General Plugin Settings:"
 msgstr "Réglages généraux"
 
-#: src/wavpack/ui.cxx:502
+#: src/wavpack/ui.cxx:500
 msgid "ReplayGain Settings:"
 msgstr "Paramètres de 'ReplayGain' :"
 
-#: src/wavpack/ui.cxx:520
+#: src/wavpack/ui.cxx:518
 msgid "ReplayGain Type:"
 msgstr "Traitement 'ReplayGain' :"
 
-#: src/wavpack/ui.cxx:531
+#: src/wavpack/ui.cxx:529
 msgid "use Track Gain/Peak"
 msgstr "Utiliser le gain/pic sonore 'piste'"
 
-#: src/wavpack/ui.cxx:539
+#: src/wavpack/ui.cxx:537
 msgid "use Album Gain/Peak"
 msgstr "Utiliser le gain/pic sonore 'album'"
 
-#: src/wma/wma.c:123
+#: src/wma/wma.c:120
 msgid ""
 "Adapted for use in Audacious by Tony Vroon (chainsaw@gentoo.org) from\n"
 "the BEEP-WMA plugin which is Copyright (C) 2004,2005 Mokrushin I.V. aka "
@@ -5519,6 +6667,11 @@
 "<bogorodskiy@inbox.ru>).\n"
 "Ce module est basé sur le code source de la bibliothèque "
 
+#~ msgid "Descriptions of <i>SID-specific</i> Tuplez fields go here. <b>:D</b>"
+#~ msgstr ""
+#~ "La description des métadonnées <i>propres à 'SID'</i> est prévue à cet "
+#~ "endroit. <b>:D</b>"
+
 #~ msgid "Error initializing song-length database!\n"
 #~ msgstr ""
 #~ "Erreur lors de l'initialisation de la base de données relative à la durée "
@@ -5674,9 +6827,6 @@
 #~ msgid "Could not allocate memory for t_xs_tuneinfo ('%s')\n"
 #~ msgstr "Impossible d'allouer de la mémoire pour t_xs_tuneinfo ('%s')\n"
 
-#~ msgid "Could not allocate sidFilename ('%s')\n"
-#~ msgstr "Erreur lors de l'allocation du fichier 'SID' ('%s').\n"
-
 #~ msgid "Could not allocate memory for t_xs_subtuneinfo ('%s', %i)\n"
 #~ msgstr ""
 #~ "Impossible d'allouer de la mémoire pour t_xs_subtuneinfo ('%s', %i)\n"
--- a/po/ja.po	Thu Jul 03 17:23:34 2008 +0300
+++ b/po/ja.po	Thu Jul 03 17:37:11 2008 +0300
@@ -12,8 +12,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: audacious-plugins HEAD\n"
-"Report-Msgid-Bugs-To: http://bugs.audacious-media-player.org\n"
-"POT-Creation-Date: 2008-03-30 17:25+0200\n"
+"Report-Msgid-Bugs-To: http://bugzilla.atheme.org/\n"
+"POT-Creation-Date: 2008-06-21 08:27+0300\n"
 "PO-Revision-Date: 2008-03-31 15:01+0900\n"
 "Last-Translator: dai <d+po@vdr.jp>\n"
 "Language-Team: Japanese <ja@li.org>\n"
@@ -21,11 +21,11 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: src/aac/libmp4.c:286
+#: src/aac/libmp4.c:283
 msgid "Using libfaad2-"
 msgstr "libfaad2-"
 
-#: src/aac/libmp4.c:287
+#: src/aac/libmp4.c:284
 msgid ""
 " for decoding.\n"
 "FAAD2 AAC/HE-AAC/HE-AACv2/DRM decoder (c) Nero AG, www.nero.com\n"
@@ -35,38 +35,38 @@
 "FAAD2 AAC/HE-AAC/HE-AACv2/DRM decoder (c) Nero AG, www.nero.com\n"
 "Copyright (c) 2005-2006 Audacious team"
 
-#: src/aac/libmp4.c:291
+#: src/aac/libmp4.c:288
 msgid "About MP4 AAC player plugin"
 msgstr "MP4 AAC プレイヤプラグインについて"
 
-#: src/aac/libmp4.c:293 src/adplug/adplug-xmms.cc:182
-#: src/adplug/adplug-xmms.cc:265 src/adplug/adplug-xmms.cc:526
-#: src/alac/plugin.c:77 src/arts/arts.c:26 src/arts/configure.c:90
-#: src/audiocompress/audacious-glue.c:102
-#: src/audiocompress/audacious-glue.c:552 src/cdaudio-ng/configure.c:228
-#: src/console/Audacious_Driver.cxx:449 src/demac/plugin.c:393
-#: src/echo_plugin/gui.c:26 src/echo_plugin/gui.c:137 src/esd/about.c:49
-#: src/filewriter/filewriter.c:183 src/jack/configure.c:141
-#: src/jack/jack.c:456 src/madplug/plugin.c:542 src/madplug/plugin.c:566
-#: src/metronom/metronom.c:88 src/modplug/gui/main.cxx:49
-#: src/musepack/libmpc.cxx:232 src/null/null.c:67 src/null/null.c:110
-#: src/OSS4/about.c:59 src/OSS/about.c:54 src/paranormal-ng/plugin.c:283
-#: src/paranormal/plugin.c:291 src/scrobbler/gtkstuff.c:25
-#: src/sndfile/plugin.c:565 src/statusicon/si_ui.c:628
-#: src/stereo_plugin/stereo.c:53 src/stereo_plugin/stereo.c:116
-#: src/sun/about.c:38 src/sun/configure.c:559 src/timidity/interface.c:222
-#: src/timidity/xmms-timidity.c:120 src/tonegen/tonegen.c:62
-#: src/tta/libtta.c:153 src/tta/libtta.c:267 src/tta/libtta.c:402
-#: src/vorbis/vorbis.c:700 src/vtx/about.c:32 src/vtx/info.c:43
-#: src/wavpack/ui.cxx:56 src/wavpack/ui.cxx:556
+#: src/aac/libmp4.c:290 src/adplug/adplug-xmms.cc:180
+#: src/adplug/adplug-xmms.cc:263 src/adplug/adplug-xmms.cc:524
+#: src/alac/plugin.c:74 src/arts/arts.c:25 src/arts/configure.c:90
+#: src/audiocompress/audacious-glue.c:110
+#: src/audiocompress/audacious-glue.c:560 src/cdaudio-ng/configure.c:242
+#: src/console/Audacious_Driver.cxx:447 src/crystalizer/crystalizer.c:113
+#: src/demac/plugin.c:364 src/echo_plugin/gui.c:24 src/echo_plugin/gui.c:135
+#: src/esd/about.c:48 src/filewriter/filewriter.c:183 src/jack/configure.c:140
+#: src/jack/jack.c:454 src/madplug/plugin.c:679 src/madplug/plugin.c:703
+#: src/metronom/metronom.c:87 src/modplug/gui/main.cxx:52
+#: src/musepack/libmpc.cxx:228 src/null/null.c:64 src/null/null.c:107
+#: src/OSS4/OSS4.c:55 src/OSS/OSS.c:52 src/paranormal-ng/plugin.c:282
+#: src/paranormal/plugin.c:290 src/scrobbler/gtkstuff.c:22
+#: src/sndfile/plugin.c:571 src/statusicon/si_ui.c:626
+#: src/stereo_plugin/stereo.c:52 src/stereo_plugin/stereo.c:115
+#: src/sun/about.c:37 src/sun/configure.c:557 src/timidity/interface.c:222
+#: src/timidity/xmms-timidity.c:117 src/tonegen/tonegen.c:61
+#: src/tta/libtta.c:150 src/tta/libtta.c:264 src/tta/libtta.c:399
+#: src/vorbis/vorbis.c:696 src/vtx/about.c:26 src/vtx/info.c:38
+#: src/wavpack/ui.cxx:54 src/wavpack/ui.cxx:554
 msgid "Ok"
 msgstr "OK"
 
-#: src/adplug/adplug-xmms.cc:171
+#: src/adplug/adplug-xmms.cc:169
 msgid "About "
 msgstr "プラグインについて"
 
-#: src/adplug/adplug-xmms.cc:175
+#: src/adplug/adplug-xmms.cc:173
 msgid ""
 "\n"
 "Copyright (C) 2002, 2003 Simon Peter <dn.tlp@gmx.net>\n"
@@ -88,65 +88,65 @@
 "リを用いている.\n"
 "リンクしている AdPlug ライブラリのヴァージョン: "
 
-#: src/adplug/adplug-xmms.cc:256
+#: src/adplug/adplug-xmms.cc:254
 msgid "AdPlug :: Configuration"
 msgstr "AdPlug :: 設定"
 
-#: src/adplug/adplug-xmms.cc:275 src/alarm/interface.c:1398
+#: src/adplug/adplug-xmms.cc:273 src/alarm/interface.c:1398
 #: src/alsa/configure.c:389 src/arts/configure.c:91
-#: src/audiocompress/audacious-glue.c:557 src/cdaudio-ng/configure.c:232
-#: src/echo_plugin/gui.c:145 src/jack/configure.c:148
-#: src/modplug/gui/interface.cxx:714 src/modplug/gui/modplug.glade:1668
-#: src/musepack/libmpc.cxx:237 src/musepack/libmpc.cxx:557 src/null/null.c:111
-#: src/sid/xmms-sid.glade:3080 src/sid/xs_interface.c:1250
-#: src/stereo_plugin/stereo.c:125 src/sun/configure.c:567
-#: src/timidity/interface.c:230 src/wavpack/ui.cxx:280 src/wavpack/ui.cxx:563
+#: src/audiocompress/audacious-glue.c:565 src/cdaudio-ng/configure.c:246
+#: src/crystalizer/crystalizer.c:122 src/echo_plugin/gui.c:143
+#: src/jack/configure.c:147 src/modplug/gui/interface.cxx:714
+#: src/modplug/gui/modplug.glade:1668 src/musepack/libmpc.cxx:233
+#: src/musepack/libmpc.cxx:553 src/null/null.c:108
+#: src/stereo_plugin/stereo.c:124 src/sun/configure.c:565
+#: src/timidity/interface.c:230 src/wavpack/ui.cxx:278 src/wavpack/ui.cxx:561
 msgid "Cancel"
 msgstr "キャンセル"
 
-#: src/adplug/adplug-xmms.cc:291 src/console/Audacious_Config.cxx:145
-#: src/madplug/configure.c:290 src/modplug/gui/interface.cxx:628
+#: src/adplug/adplug-xmms.cc:289 src/console/Audacious_Config.cxx:144
+#: src/madplug/configure.c:289 src/modplug/gui/interface.cxx:628
 #: src/modplug/gui/interface.cxx:887 src/modplug/gui/modplug.glade:1404
 #: src/modplug/gui/modplug.glade:1804
 msgid "General"
 msgstr "一般"
 
-#: src/adplug/adplug-xmms.cc:303
+#: src/adplug/adplug-xmms.cc:301
 msgid "Sound quality"
 msgstr "音質"
 
-#: src/adplug/adplug-xmms.cc:308 src/modplug/gui/interface.cxx:187
+#: src/adplug/adplug-xmms.cc:306 src/modplug/gui/interface.cxx:187
 #: src/modplug/gui/modplug.glade:113
 msgid "Resolution"
 msgstr "解像度"
 
-#: src/adplug/adplug-xmms.cc:310
+#: src/adplug/adplug-xmms.cc:308
 msgid "8bit"
 msgstr " 8ビット"
 
-#: src/adplug/adplug-xmms.cc:315
+#: src/adplug/adplug-xmms.cc:313
 msgid "16bit"
 msgstr "16ビット"
 
-#: src/adplug/adplug-xmms.cc:323 src/modplug/gui/interface.cxx:218
+#: src/adplug/adplug-xmms.cc:321 src/modplug/gui/interface.cxx:218
 #: src/modplug/gui/modplug.glade:199 src/timidity/interface.c:148
 msgid "Channels"
 msgstr "チャンネル数"
 
-#: src/adplug/adplug-xmms.cc:325 src/filewriter/mp3.c:900
-#: src/sid/xmms-sid.glade:157 src/sid/xs_interface.c:288
+#: src/adplug/adplug-xmms.cc:323 src/filewriter/mp3.c:900
+#: src/sid/xmms-sid.glade:157 src/sid/xs_interface.c:300
 #: src/timidity/interface.c:165
 msgid "Mono"
 msgstr "モノラル"
 
-#: src/adplug/adplug-xmms.cc:330 src/filewriter/mp3.c:895
+#: src/adplug/adplug-xmms.cc:328 src/filewriter/mp3.c:895
 #: src/modplug/gui/interface.cxx:204 src/modplug/gui/modplug.glade:159
-#: src/sid/xmms-sid.glade:176 src/sid/xs_interface.c:295
+#: src/sid/xmms-sid.glade:176 src/sid/xs_interface.c:307
 #: src/timidity/interface.c:173
 msgid "Stereo"
 msgstr "ステレオ"
 
-#: src/adplug/adplug-xmms.cc:334
+#: src/adplug/adplug-xmms.cc:332
 msgid ""
 "Setting stereo is not recommended, unless you need to. This won't add any "
 "stereo effects to the sound - OPL2 is just mono - but eats up more CPU power!"
@@ -154,20 +154,20 @@
 "必要でないならば, ステレオ設定は推奨しません. OPL2 は単にモノラルなので, サウ"
 "ンドにステレオエフェクトはかかりませんが, より CPU パワーを消費します!"
 
-#: src/adplug/adplug-xmms.cc:342
+#: src/adplug/adplug-xmms.cc:340
 msgid "Frequency"
 msgstr "周波数"
 
-#: src/adplug/adplug-xmms.cc:378 src/adplug/adplug-xmms.cc:582
-#: src/console/Audacious_Config.cxx:147
+#: src/adplug/adplug-xmms.cc:376 src/adplug/adplug-xmms.cc:580
+#: src/console/Audacious_Config.cxx:146 src/skins/ui_manager.c:175
 msgid "Playback"
 msgstr "演奏"
 
-#: src/adplug/adplug-xmms.cc:382
+#: src/adplug/adplug-xmms.cc:380
 msgid "Detect songend"
 msgstr "曲の終わりを検出する"
 
-#: src/adplug/adplug-xmms.cc:386
+#: src/adplug/adplug-xmms.cc:384
 msgid ""
 "If enabled, XMMS will detect a song's ending, stop it and advance in the "
 "playlist. If disabled, XMMS won't take notice of a song's ending and loop it "
@@ -176,23 +176,23 @@
 "有効ならば, XMMS は曲の終わりを検出し, 曲を停止してプレイリストを進みます. 無"
 "効ならば, XMMS は曲の終わりを通知せずに, 曲全体を何度も繰り返します. "
 
-#: src/adplug/adplug-xmms.cc:397
+#: src/adplug/adplug-xmms.cc:395
 msgid "Formats"
 msgstr "フォーマット"
 
-#: src/adplug/adplug-xmms.cc:404
+#: src/adplug/adplug-xmms.cc:402
 msgid "Format selection"
 msgstr "フォーマット選択"
 
-#: src/adplug/adplug-xmms.cc:407
+#: src/adplug/adplug-xmms.cc:405
 msgid "Format"
 msgstr "フォーマット"
 
-#: src/adplug/adplug-xmms.cc:407
+#: src/adplug/adplug-xmms.cc:405
 msgid "Extension"
 msgstr "拡張子"
 
-#: src/adplug/adplug-xmms.cc:447
+#: src/adplug/adplug-xmms.cc:445
 msgid ""
 "Selected file types will be recognized and played back by this plugin. "
 "Deselected types will be ignored to make room for other plugins to play "
@@ -202,88 +202,88 @@
 "されていないタイプは, このプラグインからは無視され, 他のプラグインによって再"
 "生されます. "
 
-#: src/adplug/adplug-xmms.cc:533
+#: src/adplug/adplug-xmms.cc:531
 msgid "AdPlug :: File Info"
 msgstr "AdPlug :: ファイル情報"
 
-#: src/adplug/adplug-xmms.cc:555 src/amidi-plug/i_configure-fluidsynth.c:448
+#: src/adplug/adplug-xmms.cc:553 src/amidi-plug/i_configure-fluidsynth.c:448
 msgid "Filename"
 msgstr "ファイル名"
 
+#: src/adplug/adplug-xmms.cc:557 src/skins/ui_playlist.c:470
+msgid "Title: "
+msgstr "タイトル: "
+
+#: src/adplug/adplug-xmms.cc:558
+msgid "Author: "
+msgstr "作者: "
+
 #: src/adplug/adplug-xmms.cc:559
-msgid "Title: "
-msgstr "タイトル: "
-
-#: src/adplug/adplug-xmms.cc:560
-msgid "Author: "
-msgstr "作者: "
-
-#: src/adplug/adplug-xmms.cc:561
 msgid "File Type: "
 msgstr "ファイルタイプ: "
 
-#: src/adplug/adplug-xmms.cc:562
+#: src/adplug/adplug-xmms.cc:560
 msgid "Subsongs: "
 msgstr "サブソング: "
 
-#: src/adplug/adplug-xmms.cc:563
+#: src/adplug/adplug-xmms.cc:561
 msgid "Instruments: "
 msgstr "楽器: "
 
-#: src/adplug/adplug-xmms.cc:568
+#: src/adplug/adplug-xmms.cc:566
 msgid "Orders: "
 msgstr "順序: "
 
-#: src/adplug/adplug-xmms.cc:569
+#: src/adplug/adplug-xmms.cc:567
 msgid "Patterns: "
 msgstr "パターン: "
 
-#: src/adplug/adplug-xmms.cc:573
+#: src/adplug/adplug-xmms.cc:571
 msgid "Song"
 msgstr "曲"
 
-#: src/adplug/adplug-xmms.cc:599
+#: src/adplug/adplug-xmms.cc:597
 msgid "Instrument name"
 msgstr "楽器名"
 
-#: src/adplug/adplug-xmms.cc:641
+#: src/adplug/adplug-xmms.cc:639
 msgid "Song message"
 msgstr "曲メッセージ"
 
-#: src/adplug/adplug-xmms.cc:663
+#: src/adplug/adplug-xmms.cc:661
 msgid "Subsong selection"
 msgstr "サブソング選択"
 
-#: src/adplug/adplug-xmms.cc:727
+#: src/adplug/adplug-xmms.cc:725
 msgid "Order: "
 msgstr "順序: "
 
-#: src/adplug/adplug-xmms.cc:728
+#: src/adplug/adplug-xmms.cc:726
 msgid "Pattern: "
 msgstr "パターン: "
 
+#: src/adplug/adplug-xmms.cc:728
+msgid "Row: "
+msgstr "列: "
+
+#: src/adplug/adplug-xmms.cc:729
+msgid "Speed: "
+msgstr "早さ: "
+
 #: src/adplug/adplug-xmms.cc:730
-msgid "Row: "
-msgstr "列: "
-
-#: src/adplug/adplug-xmms.cc:731
-msgid "Speed: "
-msgstr "早さ: "
-
-#: src/adplug/adplug-xmms.cc:732
 msgid "Timer: "
 msgstr "タイマー: "
 
-#: src/adplug/adplug-xmms.cc:733 src/console/Audacious_Config.cxx:225
-#: src/sid/xmms-sid.glade:332 src/sid/xs_interface.c:341
+#: src/adplug/adplug-xmms.cc:731 src/console/Audacious_Config.cxx:224
+#: src/sid/xmms-sid.glade:332 src/sid/xs_interface.c:353
 msgid "Hz"
 msgstr "Hz"
 
-#: src/alac/plugin.c:74
+#: src/alac/plugin.c:71
 msgid "About Apple Lossless Audio Plugin"
 msgstr "Apple Lossless オーディオプラグインについて"
 
-#: src/alac/plugin.c:75
+#: src/alac/plugin.c:72
 msgid ""
 "Copyright (c) 2006 Audacious team\n"
 "Portions (c) 2005-2006 David Hammerton <crazney -at- crazney.net>"
@@ -321,8 +321,8 @@
 
 #: src/alarm/interface.c:71 src/lirc/about.c:115
 #: src/modplug/gui/interface.cxx:971 src/modplug/gui/modplug.glade:2030
-#: src/sid/xmms-sid.glade:3643 src/sid/xs_about.c:214
-#: src/sid/xs_interface.c:1740
+#: src/sid/xmms-sid.glade:3837 src/sid/xs_about.c:214
+#: src/sid/xs_interface.c:1824
 msgid "Close"
 msgstr "閉じる"
 
@@ -334,13 +334,12 @@
 msgid "This is your wakeup call."
 msgstr "目覚ましです."
 
-#: src/alarm/interface.c:124 src/alarm/interface.c:1389 src/alsa/about.c:46
+#: src/alarm/interface.c:124 src/alarm/interface.c:1389 src/alsa/about.c:45
 #: src/alsa/configure.c:383 src/cdaudio-ng/cdaudio-ng.c:247
-#: src/flacng/plugin.c:706 src/gnomeshortcuts/gnomeshortcuts.c:311
-#: src/hotkey/gui.c:671 src/modplug/gui/interface.cxx:702
-#: src/modplug/gui/modplug.glade:1642 src/pulse_audio/pulse_audio.c:738
-#: src/scrobbler/gtkstuff.c:45 src/sid/xmms-sid.glade:3066
-#: src/sid/xs_interface.c:1243
+#: src/flacng/plugin.c:705 src/gnomeshortcuts/gnomeshortcuts.c:310
+#: src/hotkey/gui.c:670 src/modplug/gui/interface.cxx:702
+#: src/modplug/gui/modplug.glade:1642 src/pulse_audio/pulse_audio.c:736
+#: src/scrobbler/gtkstuff.c:42 src/skins/plugin.c:130
 msgid "OK"
 msgstr "OK"
 
@@ -417,7 +416,8 @@
 #: src/alarm/interface.c:612 src/alarm/interface.c:660
 #: src/alarm/interface.c:708 src/alarm/interface.c:756
 #: src/alarm/interface.c:804 src/alarm/interface.c:852
-#: src/alarm/interface.c:900 src/OSS4/configure.c:138 src/OSS/configure.c:169
+#: src/alarm/interface.c:900 src/OSS4/configure.c:136 src/OSS/configure.c:168
+#: src/skins/ui_manager.c:447 src/skins/ui_manager.c:468
 msgid "Default"
 msgstr "デフォルト"
 
@@ -462,9 +462,9 @@
 msgstr "フェーディング"
 
 #: src/alarm/interface.c:1087 src/sid/xmms-sid.glade:2007
-#: src/sid/xmms-sid.glade:2178 src/sid/xmms-sid.glade:2676
-#: src/sid/xs_interface.c:908 src/sid/xs_interface.c:962
-#: src/sid/xs_interface.c:1122
+#: src/sid/xmms-sid.glade:2178 src/sid/xmms-sid.glade:2746
+#: src/sid/xs_interface.c:920 src/sid/xs_interface.c:974
+#: src/sid/xs_interface.c:1154
 msgid "seconds"
 msgstr "秒"
 
@@ -517,7 +517,7 @@
 msgid "Use reminder"
 msgstr "リマインダを使う"
 
-#: src/alarm/interface.c:1328 src/sndstretch/sndstretch_xmms.c:377
+#: src/alarm/interface.c:1328 src/sndstretch/sndstretch_xmms.c:376
 msgid "Options"
 msgstr "オプション"
 
@@ -631,7 +631,7 @@
 "    これを利用するにはボックス内にリマインダを書き\n"
 "    トグルボタンを有効にします.\n"
 
-#: src/alarm/interface.c:1366
+#: src/alarm/interface.c:1366 src/skins/ui_manager.c:386
 msgid "Help"
 msgstr "ヘルプ"
 
@@ -643,11 +643,11 @@
 msgid "Thankyou"
 msgstr "ありがとう"
 
-#: src/alsa/about.c:30
+#: src/alsa/about.c:29
 msgid "About ALSA Driver"
 msgstr "ALSA ドライバについて"
 
-#: src/alsa/about.c:31
+#: src/alsa/about.c:30
 msgid ""
 "Audacious ALSA Driver\n"
 "\n"
@@ -698,8 +698,8 @@
 msgid "ALSA Driver configuration"
 msgstr "ALSA ドライバ設定"
 
-#: src/alsa/configure.c:274 src/OSS4/configure.c:186 src/OSS/configure.c:217
-#: src/sun/configure.c:183
+#: src/alsa/configure.c:274 src/OSS4/configure.c:184 src/OSS/configure.c:216
+#: src/sun/configure.c:181
 msgid "Audio device:"
 msgstr "オーディオデバイス:"
 
@@ -711,7 +711,7 @@
 msgid "Mixer card:"
 msgstr "ミキサカード:"
 
-#: src/alsa/configure.c:313 src/OSS/configure.c:260 src/sun/configure.c:220
+#: src/alsa/configure.c:313 src/OSS/configure.c:259 src/sun/configure.c:218
 msgid "Mixer device:"
 msgstr "ミキサデバイス:"
 
@@ -1432,8 +1432,8 @@
 "<span size=\"smaller\">TiMidity\n"
 "バックエンド</span>"
 
-#: src/amidi-plug/i_fileinfo.c:169 src/sid/xmms-sid.glade:3465
-#: src/sid/xs_interface.c:1684
+#: src/amidi-plug/i_fileinfo.c:169 src/sid/xmms-sid.glade:3659
+#: src/sid/xs_interface.c:1768
 msgid "Name:"
 msgstr "名前:"
 
@@ -1559,19 +1559,19 @@
 msgid "None"
 msgstr "なし"
 
-#: src/aosd/aosd_trigger.c:75
+#: src/aosd/aosd_trigger.c:74
 msgid "Playback Start"
 msgstr "演奏開始"
 
-#: src/aosd/aosd_trigger.c:76
+#: src/aosd/aosd_trigger.c:75
 msgid "Triggers OSD when a playlist entry is played."
 msgstr "プレイリストのエントリが演奏されたら OSD が動作します."
 
-#: src/aosd/aosd_trigger.c:80
+#: src/aosd/aosd_trigger.c:79
 msgid "Title Change"
 msgstr "タイトル変更"
 
-#: src/aosd/aosd_trigger.c:81
+#: src/aosd/aosd_trigger.c:80
 msgid ""
 "Triggers OSD when, during playback, the song title changes but the filename "
 "is the same. This is mostly useful to display title changes in internet "
@@ -1581,27 +1581,27 @@
 "す. これはインターネットストリームのタイトル変更を表示するのにとても役立ちま"
 "す."
 
-#: src/aosd/aosd_trigger.c:87
+#: src/aosd/aosd_trigger.c:86
 msgid "Volume Change"
 msgstr "音量変更"
 
-#: src/aosd/aosd_trigger.c:88
+#: src/aosd/aosd_trigger.c:87
 msgid "Triggers OSD when volume is changed."
 msgstr "音量が変更されたら OSD が動作します."
 
-#: src/aosd/aosd_trigger.c:92
+#: src/aosd/aosd_trigger.c:91
 msgid "Pause On"
 msgstr "演奏停止"
 
-#: src/aosd/aosd_trigger.c:93
+#: src/aosd/aosd_trigger.c:92
 msgid "Triggers OSD when playback is paused."
 msgstr "演奏が停止されたら OSD が動作します."
 
+#: src/aosd/aosd_trigger.c:96
+msgid "Pause Off"
+msgstr "演奏再開"
+
 #: src/aosd/aosd_trigger.c:97
-msgid "Pause Off"
-msgstr "演奏再開"
-
-#: src/aosd/aosd_trigger.c:98
 msgid "Triggers OSD when playback is unpaused."
 msgstr "演奏が再開されたら OSD が動作します."
 
@@ -1700,10 +1700,10 @@
 msgid "Skin file:"
 msgstr "スキンファイル:"
 
-#: src/aosd/aosd_ui.c:644 src/sid/xmms-sid.glade:2331
-#: src/sid/xmms-sid.glade:2856 src/sid/xmms-sid.glade:2962
-#: src/sid/xs_interface.c:1010 src/sid/xs_interface.c:1182
-#: src/sid/xs_interface.c:1218
+#: src/aosd/aosd_ui.c:644 src/sid/xmms-sid.glade:2373
+#: src/sid/xmms-sid.glade:2968 src/sid/xmms-sid.glade:3136
+#: src/sid/xs_interface.c:1043 src/sid/xs_interface.c:1235
+#: src/sid/xs_interface.c:1291
 msgid "Browse"
 msgstr "参照"
 
@@ -1786,9 +1786,9 @@
 msgid "Trigger"
 msgstr "トリガー"
 
-#: src/aosd/aosd_ui.c:1076 src/cdaudio-ng/configure.c:167
+#: src/aosd/aosd_ui.c:1076 src/cdaudio-ng/configure.c:175
 #: src/modplug/gui/interface.cxx:688 src/modplug/gui/modplug.glade:1603
-#: src/sid/xmms-sid.glade:3026 src/sid/xs_interface.c:1229
+#: src/sid/xmms-sid.glade:3220 src/sid/xs_interface.c:1301
 msgid "Misc"
 msgstr "その他"
 
@@ -1826,11 +1826,11 @@
 "http://neugierig.org/software/ghosd/\n"
 "\n"
 
-#: src/arts/arts.c:22
+#: src/arts/arts.c:21
 msgid "About aRts Output"
 msgstr "aRts 出力プラグインについて"
 
-#: src/arts/arts.c:23
+#: src/arts/arts.c:22
 msgid ""
 "aRts output plugin by Håvard Kvålen <havardk@xmms.org>\n"
 "Audacious port by Giacomo Lozito from develia.org"
@@ -1842,26 +1842,26 @@
 msgid "aRts Driver configuration"
 msgstr "aRts ドライバ設定"
 
-#: src/arts/configure.c:61 src/esd/configure.c:171 src/OSS4/configure.c:232
-#: src/OSS/configure.c:304 src/sun/configure.c:259
+#: src/arts/configure.c:61 src/esd/configure.c:171 src/OSS4/configure.c:230
+#: src/OSS/configure.c:303 src/sun/configure.c:257
 msgid "Buffering:"
 msgstr "バッファリング:"
 
-#: src/arts/configure.c:73 src/esd/configure.c:184 src/OSS4/configure.c:245
-#: src/OSS/configure.c:317 src/sun/configure.c:272
+#: src/arts/configure.c:73 src/esd/configure.c:184 src/OSS4/configure.c:243
+#: src/OSS/configure.c:316 src/sun/configure.c:270
 msgid "Buffer size (ms):"
 msgstr "バッファのサイズ (ミリ秒):"
 
-#: src/arts/configure.c:83 src/esd/configure.c:209 src/OSS4/configure.c:270
-#: src/OSS/configure.c:342 src/sun/configure.c:304
+#: src/arts/configure.c:83 src/esd/configure.c:209 src/OSS4/configure.c:268
+#: src/OSS/configure.c:341 src/sun/configure.c:302
 msgid "Buffering"
 msgstr "バッファリング"
 
-#: src/audiocompress/audacious-glue.c:95
+#: src/audiocompress/audacious-glue.c:103
 msgid "AudioCompress "
 msgstr "オーディオ圧縮 "
 
-#: src/audiocompress/audacious-glue.c:96
+#: src/audiocompress/audacious-glue.c:104
 msgid ""
 "\n"
 "(c)2003 trikuare studios(http://trikuare.cx)\n"
@@ -1877,11 +1877,11 @@
 "ボリュームを一定のレベルに透過的に上げ下げする\n"
 "シンプルなダイナミックレンジコンプレッサ"
 
-#: src/audiocompress/audacious-glue.c:101
+#: src/audiocompress/audacious-glue.c:109
 msgid "About AudioCompress"
 msgstr "AudioCompress について"
 
-#: src/audiocompress/audacious-glue.c:320
+#: src/audiocompress/audacious-glue.c:328
 msgid ""
 "If checked, when the sound peaks the volume will be cut instantly; "
 "otherwise, it will ramp down just in time for the peak (but some minor "
@@ -1891,15 +1891,15 @@
 "ば, 必要に応じて音量が下げられます(ただし若干のクリッピングがそれでも発生しま"
 "す)."
 
-#: src/audiocompress/audacious-glue.c:324
+#: src/audiocompress/audacious-glue.c:332
 msgid "The maximum amount to amplify the audio by"
 msgstr "オーディオの増幅に用いられる最大値"
 
-#: src/audiocompress/audacious-glue.c:326
+#: src/audiocompress/audacious-glue.c:334
 msgid "Defines how smoothly the volume will ramp up"
 msgstr "音量を徐々に上げていく際のなめらかさ"
 
-#: src/audiocompress/audacious-glue.c:328
+#: src/audiocompress/audacious-glue.c:336
 msgid ""
 "The target audio level for ramping up. Lowering the value gives a bit more "
 "dynamic range for peaks, but will make the overall sound quieter."
@@ -1907,83 +1907,83 @@
 "音量を徐々に上げていく際のターゲットのオーディオレベル. 値を低くすると, ピー"
 "クへの範囲がより動的になるが, 全体的に音が静かになります."
 
-#: src/audiocompress/audacious-glue.c:331
+#: src/audiocompress/audacious-glue.c:339
 msgid "How long of a window to maintain"
 msgstr "保存用のウィンドウの長さ"
 
-#: src/audiocompress/audacious-glue.c:372
+#: src/audiocompress/audacious-glue.c:380
 msgid "AudioCompress preferences"
 msgstr "オーディオ圧縮 設定"
 
-#: src/audiocompress/audacious-glue.c:389
+#: src/audiocompress/audacious-glue.c:397
 msgid " Quality Options "
 msgstr " 音質オプション "
 
-#: src/audiocompress/audacious-glue.c:394
+#: src/audiocompress/audacious-glue.c:402
 msgid " Aggressively prevent clipping"
 msgstr " 積極的にクリッピングを予防する"
 
-#: src/audiocompress/audacious-glue.c:406
+#: src/audiocompress/audacious-glue.c:414
 msgid " Target & gain"
 msgstr " ターゲットとゲイン"
 
-#: src/audiocompress/audacious-glue.c:417
+#: src/audiocompress/audacious-glue.c:425
 msgid "Target audio level:"
 msgstr "ターゲットのオーディオレベル:"
 
-#: src/audiocompress/audacious-glue.c:425
-msgid "Maximum gain:"
-msgstr "最大ゲイン:"
-
 #: src/audiocompress/audacious-glue.c:433
+msgid "Maximum gain:"
+msgstr "最大ゲイン:"
+
+#: src/audiocompress/audacious-glue.c:441
 msgid "Gain smooth:"
 msgstr "ゲインのなめらかさ:"
 
-#: src/audiocompress/audacious-glue.c:485
+#: src/audiocompress/audacious-glue.c:493
 msgid " History "
 msgstr " 履歴 "
 
-#: src/audiocompress/audacious-glue.c:517
+#: src/audiocompress/audacious-glue.c:525
 msgid ""
 "How long of a history to maintain.  A higher number will make the volume "
 "changes less responsive."
 msgstr "保存する履歴の長さ. 高い数値は音量の変更の応答性を低くします."
 
-#: src/audiocompress/audacious-glue.c:528
+#: src/audiocompress/audacious-glue.c:536
 msgid "Load default values"
 msgstr "デフォルト値を読み込む"
 
-#: src/audiocompress/audacious-glue.c:533
+#: src/audiocompress/audacious-glue.c:541
 msgid "Audio values"
 msgstr "オーディオ設定"
 
-#: src/audiocompress/audacious-glue.c:562 src/echo_plugin/gui.c:152
-#: src/modplug/gui/interface.cxx:708 src/modplug/gui/modplug.glade:1655
-#: src/stereo_plugin/stereo.c:132
+#: src/audiocompress/audacious-glue.c:570 src/crystalizer/crystalizer.c:129
+#: src/echo_plugin/gui.c:150 src/modplug/gui/interface.cxx:708
+#: src/modplug/gui/modplug.glade:1655 src/stereo_plugin/stereo.c:131
 msgid "Apply"
 msgstr "適用"
 
-#: src/blur_scope/blur_scope.c:54
+#: src/blur_scope/blur_scope.c:52
 msgid "/Toggle Decorations"
 msgstr "/装飾の切り替え"
 
-#: src/blur_scope/blur_scope.c:56
+#: src/blur_scope/blur_scope.c:54
 msgid "/-"
 msgstr "/-"
 
-#: src/blur_scope/blur_scope.c:57
+#: src/blur_scope/blur_scope.c:55
 msgid "/Close"
 msgstr "/閉じる"
 
-#: src/blur_scope/blur_scope.c:181
+#: src/blur_scope/blur_scope.c:179
 msgid "Blur scope"
 msgstr "ブラースコープ"
 
-#: src/blur_scope/config.c:72
+#: src/blur_scope/config.c:71
 msgid "Blur Scope: Color selection"
 msgstr "ブラースコープ: 色の選択"
 
-#: src/blur_scope/config.c:82 src/jack/configure.c:108
+#: src/blur_scope/config.c:81 src/jack/configure.c:107
 msgid "Options:"
 msgstr "オプション:"
 
@@ -2021,7 +2021,7 @@
 "\n"
 "これは Google Summer of Code 2007 のプロジェクトでした."
 
-#: src/cdaudio-ng/cdaudio-ng.c:814
+#: src/cdaudio-ng/cdaudio-ng.c:815
 msgid ""
 "<b><big>No playable CD found.</big></b>\n"
 "\n"
@@ -2031,98 +2031,103 @@
 "\n"
 "CD が挿入されていないか, オーディオ CD ではありません.\n"
 
-#: src/cdaudio-ng/configure.c:147
+#: src/cdaudio-ng/configure.c:155
 msgid "CD Audio Plugin Configuration"
 msgstr "CD オーディオプラグインの設定"
 
-#: src/cdaudio-ng/configure.c:157
+#: src/cdaudio-ng/configure.c:165
 msgid "Digital audio extraction"
 msgstr "ディジタルオーディオ抽出"
 
-#: src/cdaudio-ng/configure.c:162
+#: src/cdaudio-ng/configure.c:170
 msgid "Title information"
 msgstr "タイトル情報"
 
-#: src/cdaudio-ng/configure.c:179
+#: src/cdaudio-ng/configure.c:187
 msgid "Limit read speed to: "
 msgstr "読み込み速度の制限値: "
 
-#: src/cdaudio-ng/configure.c:186
+#: src/cdaudio-ng/configure.c:194
 msgid "Use cd-text if available"
 msgstr "有効ならば cd-text を使う"
 
-#: src/cdaudio-ng/configure.c:190
+#: src/cdaudio-ng/configure.c:198
 msgid "Use CDDB if available"
 msgstr "有効ならば CDDB を使う"
 
-#: src/cdaudio-ng/configure.c:194
+#: src/cdaudio-ng/configure.c:202
 msgid "Server: "
 msgstr "サーバ: "
 
-#: src/cdaudio-ng/configure.c:197
+#: src/cdaudio-ng/configure.c:205
+#, fuzzy
+msgid "Path: "
+msgstr "パターン: "
+
+#: src/cdaudio-ng/configure.c:208
 msgid "Port: "
 msgstr "ポート番号: "
 
-#: src/cdaudio-ng/configure.c:203
+#: src/cdaudio-ng/configure.c:217
 msgid "Use HTTP instead of CDDBP"
 msgstr "CDDBP の代わりに HTTP を使う"
 
-#: src/cdaudio-ng/configure.c:211
+#: src/cdaudio-ng/configure.c:225
 msgid "Override default device: "
 msgstr "デフォルトデバイスを上書きする: "
 
-#: src/cdaudio-ng/configure.c:218
+#: src/cdaudio-ng/configure.c:232
 msgid "Print debug information"
 msgstr "デバグ情報を出力する"
 
-#: src/console/Audacious_Config.cxx:125
+#: src/console/Audacious_Config.cxx:124
 msgid "Console Music Decoder"
 msgstr "コンソールミュージックデコーダ"
 
-#: src/console/Audacious_Config.cxx:162
+#: src/console/Audacious_Config.cxx:161
 msgid "Bass:"
 msgstr "ベース:"
 
-#: src/console/Audacious_Config.cxx:166 src/console/Audacious_Config.cxx:177
-#: src/console/Audacious_Config.cxx:198
+#: src/console/Audacious_Config.cxx:165 src/console/Audacious_Config.cxx:176
+#: src/console/Audacious_Config.cxx:197
 msgid "secs"
 msgstr "秒"
 
-#: src/console/Audacious_Config.cxx:173
+#: src/console/Audacious_Config.cxx:172
 msgid "Treble:"
 msgstr "トリバル:"
 
-#: src/console/Audacious_Config.cxx:194
+#: src/console/Audacious_Config.cxx:193
 msgid "Default song length:"
 msgstr "デフォルトの曲の長さ:"
 
-#: src/console/Audacious_Config.cxx:200 src/modplug/gui/interface.cxx:268
+#: src/console/Audacious_Config.cxx:199 src/modplug/gui/interface.cxx:268
 #: src/modplug/gui/modplug.glade:338 src/sid/xmms-sid.glade:1243
-#: src/sid/xs_interface.c:653
+#: src/sid/xs_interface.c:665
 msgid "Resampling"
 msgstr "リサンプリング"
 
-#: src/console/Audacious_Config.cxx:206
+#: src/console/Audacious_Config.cxx:205
 msgid "Enable audio resampling"
 msgstr "オーディオリサンプリングを有効にする"
 
-#: src/console/Audacious_Config.cxx:221
+#: src/console/Audacious_Config.cxx:220
 msgid "Resampling rate:"
 msgstr "リサンプリングレート:"
 
-#: src/console/Audacious_Config.cxx:236
+#: src/console/Audacious_Config.cxx:235
 msgid "SPC"
 msgstr "SPC"
 
-#: src/console/Audacious_Config.cxx:237
+#: src/console/Audacious_Config.cxx:236
 msgid "Ignore length from SPC tags"
 msgstr "SPC タグからの長さを無視する"
 
-#: src/console/Audacious_Config.cxx:238
+#: src/console/Audacious_Config.cxx:237
 msgid "Increase reverb"
 msgstr "リバーブを増やす"
 
-#: src/console/Audacious_Config.cxx:263
+#: src/console/Audacious_Config.cxx:262
 msgid ""
 "The default song length, expressed in seconds, is used for songs that do not "
 "provide length information (i.e. looping tracks)."
@@ -2130,11 +2135,11 @@
 "秒数で表現されるデフォルトの曲の長さは, 長さ情報を提供しない曲 (例えばループ"
 "するトラック) に用いられます."
 
-#: src/console/Audacious_Driver.cxx:444
+#: src/console/Audacious_Driver.cxx:442
 msgid "About the Console Music Decoder"
 msgstr "コンソールミュージックデコーダについて"
 
-#: src/console/Audacious_Driver.cxx:445
+#: src/console/Audacious_Driver.cxx:443
 msgid ""
 "Console music decoder engine based on Game_Music_Emu 0.5.2.\n"
 "Supported formats: AY, GBS, GYM, HES, KSS, NSF, NSFE, SAP, SPC, VGM, VGZ\n"
@@ -2148,11 +2153,20 @@
 "Audacious の実装は William Pitcock <nenolod@nenolod.net> と\n"
 "Shay Green <hotpop.com@blargg> によります."
 
-#: src/demac/plugin.c:388
+#: src/crystalizer/crystalizer.c:90
+#, fuzzy
+msgid "Configure Crystalizer"
+msgstr "エクストラステレオの設定"
+
+#: src/crystalizer/crystalizer.c:92 src/stereo_plugin/stereo.c:94
+msgid "Effect intensity:"
+msgstr "エフェクトの強さ:"
+
+#: src/demac/plugin.c:359
 msgid "About Monkey's Audio Plugin"
 msgstr "Monkey's オーディオプラグインについて"
 
-#: src/demac/plugin.c:389
+#: src/demac/plugin.c:360
 msgid ""
 "Copyright (C) 2007 Eugene Zagidullin <e.asphyx@gmail.com>\n"
 "Based on ffape decoder, Copyright (C) 2007 Benjamin Zores\n"
@@ -2166,7 +2180,7 @@
 "\n"
 "ffape は FFmpeg プロジェクト(http://ffmpeg.mplayerhq.hu/) の一部である."
 
-#: src/echo_plugin/gui.c:11
+#: src/echo_plugin/gui.c:9
 msgid ""
 "Echo Plugin\n"
 "By Johan Levin 1999.\n"
@@ -2178,35 +2192,35 @@
 "\n"
 "サラウンドエコーは 1999 年 Carl van Schaik による"
 
-#: src/echo_plugin/gui.c:25
+#: src/echo_plugin/gui.c:23
 msgid "About Echo Plugin"
 msgstr "エコー プラグインについて"
 
-#: src/echo_plugin/gui.c:76
+#: src/echo_plugin/gui.c:74
 msgid "Configure Echo"
 msgstr "エコー設定"
 
-#: src/echo_plugin/gui.c:89
+#: src/echo_plugin/gui.c:87
 msgid "Delay: (ms)"
 msgstr "遅延: (ミリ秒)"
 
-#: src/echo_plugin/gui.c:94
+#: src/echo_plugin/gui.c:92
 msgid "Feedback: (%)"
 msgstr "フィードバック: (%)"
 
-#: src/echo_plugin/gui.c:99
+#: src/echo_plugin/gui.c:97
 msgid "Volume: (%)"
 msgstr "音量: (%)"
 
-#: src/echo_plugin/gui.c:122
+#: src/echo_plugin/gui.c:120
 msgid "Surround echo"
 msgstr "サラウンドエコー"
 
-#: src/esd/about.c:34
+#: src/esd/about.c:33
 msgid "About ESounD Plugin"
 msgstr "ESounD プラグインについて"
 
-#: src/esd/about.c:35
+#: src/esd/about.c:34
 msgid ""
 "Audacious ESounD Plugin\n"
 "\n"
@@ -2266,8 +2280,8 @@
 msgid "Server"
 msgstr "サーバ"
 
-#: src/esd/configure.c:198 src/OSS4/configure.c:259 src/OSS/configure.c:331
-#: src/sun/configure.c:290
+#: src/esd/configure.c:198 src/OSS4/configure.c:257 src/OSS/configure.c:330
+#: src/sun/configure.c:288
 msgid "Pre-buffer (percent):"
 msgstr "事前にバッファリングする割合 (%):"
 
@@ -2339,7 +2353,7 @@
 msgid "Window->JumpToFile"
 msgstr "ウィンドウ->ファイルへジャンプ"
 
-#: src/evdev-plug/ed_internals.c:94
+#: src/evdev-plug/ed_internals.c:93
 #, c-format
 msgid ""
 "event-device-plugin: unable to open device file %s , skipping this device; "
@@ -2349,7 +2363,7 @@
 "します; ファイルが存在することと読み込みパーミッションがあるか確認してくださ"
 "い\n"
 
-#: src/evdev-plug/ed_internals.c:103
+#: src/evdev-plug/ed_internals.c:102
 #, c-format
 msgid ""
 "event-device-plugin: unable to create a io_channel for device file %s ,"
@@ -2358,7 +2372,7 @@
 "event-device-plugin: デバイスファイル %s の io_channel を作成できません,この"
 "デバイスをスキップします\n"
 
-#: src/evdev-plug/ed_internals.c:342
+#: src/evdev-plug/ed_internals.c:341
 msgid ""
 "event-device-plugin: unable to open /proc/bus/input/devices , automatic "
 "detection of event devices won't work.\n"
@@ -2366,7 +2380,7 @@
 "event-device-plugin: /proc/bus/input/devices を開けません, イベントデバイスの"
 "自動検出は動作しません.\n"
 
-#: src/evdev-plug/ed_internals.c:351
+#: src/evdev-plug/ed_internals.c:350
 msgid ""
 "event-device-plugin: unable to open a io_channel for /proc/bus/input/"
 "devices , automatic detection of event devices won't work.\n"
@@ -2374,7 +2388,7 @@
 "event-device-plugin: /proc/bus/input/ デバイスの io_channel を開けません, イ"
 "ベントデバイスの自動検出は動作しません.\n"
 
-#: src/evdev-plug/ed_internals.c:361
+#: src/evdev-plug/ed_internals.c:360
 msgid ""
 "event-device-plugin: an error occurred while reading /proc/bus/input/"
 "devices , automatic detection of event devices won't work.\n"
@@ -2382,14 +2396,14 @@
 "event-device-plugin: /proc/bus/input/ デバイスの読み込み中にエラーが発生しま"
 "した, イベントデバイスの自動検出は動作しません.\n"
 
-#: src/evdev-plug/ed_internals.c:424
+#: src/evdev-plug/ed_internals.c:423
 #, c-format
 msgid "event-device-plugin: device %s not found in /dev/input , skipping.\n"
 msgstr ""
 "event-device-plugin: デバイス %s が /dev/input に見つかりません, スキップしま"
 "す.\n"
 
-#: src/evdev-plug/ed_internals.c:489 src/evdev-plug/ed_internals.c:583
+#: src/evdev-plug/ed_internals.c:488 src/evdev-plug/ed_internals.c:582
 #, c-format
 msgid ""
 "event-device-plugin: unable to load config file %s , default settings will "
@@ -2398,7 +2412,7 @@
 "event-device-plugin: コンフィグファイル %s が読み込めません, デフォルト設定が"
 "用いられます.\n"
 
-#: src/evdev-plug/ed_internals.c:535
+#: src/evdev-plug/ed_internals.c:534
 #, c-format
 msgid ""
 "event-device-plugin: incomplete information in config file for device \"%s"
@@ -2407,7 +2421,7 @@
 "event-device-plugin: デバイス \"%s\" のコンフィグファイルの情報が不完全です, "
 "スキップします.\n"
 
-#: src/evdev-plug/ed_internals.c:604 src/evdev-plug/ed_internals.c:936
+#: src/evdev-plug/ed_internals.c:603 src/evdev-plug/ed_internals.c:935
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get is_active value for device "
@@ -2416,7 +2430,7 @@
 "event-device-plugin: 設定: デバイス \"%s\" の is_active 値が取得できません, "
 "スキップします.\n"
 
-#: src/evdev-plug/ed_internals.c:840
+#: src/evdev-plug/ed_internals.c:839
 #, c-format
 msgid ""
 "event-device-plugin: unable to access local directory %s , settings will not "
@@ -2425,7 +2439,7 @@
 "event-device-plugin: ローカルディレクトリ %s にアクセスできません, 設定は保存"
 "されません.\n"
 
-#: src/evdev-plug/ed_internals.c:890
+#: src/evdev-plug/ed_internals.c:889
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get filename value for device "
@@ -2434,7 +2448,7 @@
 "event-device-plugin: 設定: デバイス \"%s\" のファイル名が取得できません, ス"
 "キップします.\n"
 
-#: src/evdev-plug/ed_internals.c:906
+#: src/evdev-plug/ed_internals.c:905
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get phys value for device \"%s"
@@ -2443,7 +2457,7 @@
 "event-device-plugin: 設定: デバイス \"%s\" の phys 値が取得できません, スキッ"
 "プします.\n"
 
-#: src/evdev-plug/ed_internals.c:922
+#: src/evdev-plug/ed_internals.c:921
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get is_custom value for device "
@@ -2452,7 +2466,7 @@
 "event-device-plugin: 設定: デバイス \"%s\" の is_custom 値が取得できません, "
 "スキップします.\n"
 
-#: src/evdev-plug/ed_internals.c:946
+#: src/evdev-plug/ed_internals.c:945
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unexpected value for device \"%s\", "
@@ -2474,7 +2488,7 @@
 "デバイスが検出されていないため, バインディングウィンドウが開けません.\n"
 "デバイスが正しく接続されていることを確認してください."
 
-#: src/evdev-plug/ed_ui.c:319 src/madplug/plugin.c:566
+#: src/evdev-plug/ed_ui.c:319 src/madplug/plugin.c:703
 msgid "Error"
 msgstr "エラー"
 
@@ -2537,7 +2551,7 @@
 msgid "Active"
 msgstr "アクティブ"
 
-#: src/evdev-plug/ed_ui.c:655 src/sun/configure.c:488
+#: src/evdev-plug/ed_ui.c:655 src/sun/configure.c:486
 msgid "Status"
 msgstr "状態"
 
@@ -2662,7 +2676,7 @@
 msgid "Output file format:"
 msgstr "出力ファイルフォーマット:"
 
-#: src/filewriter/filewriter.c:511 src/ladspa/ladspa.c:960
+#: src/filewriter/filewriter.c:511 src/ladspa/ladspa.c:959
 msgid "Configure"
 msgstr "設定"
 
@@ -2897,11 +2911,11 @@
 msgid "Quality level (0 - 10):"
 msgstr "品質レベル (0 - 10):"
 
-#: src/flacng/plugin.c:698
+#: src/flacng/plugin.c:697
 msgid "FLAC Audio Plugin "
 msgstr "FLAC オーディオ プラグイン"
 
-#: src/flacng/plugin.c:699
+#: src/flacng/plugin.c:698
 msgid ""
 "\n"
 "\n"
@@ -2917,15 +2931,15 @@
 "\n"
 "http://www.skytale.net/projects/bmp-flac2/"
 
-#: src/flacng/plugin.c:704
+#: src/flacng/plugin.c:703
 msgid "About FLAC Audio Plugin"
 msgstr "FLAC オーディオプラグインについて"
 
+#: src/gnomeshortcuts/gnomeshortcuts.c:305
+msgid "About Gnome Shortcut Plugin"
+msgstr "Gnome ショートカットプラグインについて"
+
 #: src/gnomeshortcuts/gnomeshortcuts.c:306
-msgid "About Gnome Shortcut Plugin"
-msgstr "Gnome ショートカットプラグインについて"
-
-#: src/gnomeshortcuts/gnomeshortcuts.c:307
 msgid ""
 "Gnome Shortcut Plugin\n"
 "Let's you control the player with Gnome's shortcuts.\n"
@@ -2943,7 +2957,7 @@
 msgid "Previous Track"
 msgstr "前のトラック"
 
-#: src/hotkey/gui.c:69
+#: src/hotkey/gui.c:69 src/skins/ui_manager.c:177 src/skins/ui_manager.c:178
 msgid "Play"
 msgstr "演奏開始"
 
@@ -2951,7 +2965,7 @@
 msgid "Pause/Resume"
 msgstr "一時停止/再開"
 
-#: src/hotkey/gui.c:71
+#: src/hotkey/gui.c:71 src/skins/ui_manager.c:183 src/skins/ui_manager.c:184
 msgid "Stop"
 msgstr "演奏停止"
 
@@ -2979,7 +2993,7 @@
 msgid "Volume Down"
 msgstr "音量を下げる"
 
-#: src/hotkey/gui.c:78
+#: src/hotkey/gui.c:78 src/skins/ui_manager.c:422 src/skins/ui_manager.c:423
 msgid "Jump to File"
 msgstr "指定ファイルへ移動"
 
@@ -3034,11 +3048,11 @@
 msgid "<b>Key Binding:</b>"
 msgstr "<b>キーバインド:</b>"
 
-#: src/hotkey/gui.c:660
+#: src/hotkey/gui.c:659
 msgid "About Global Hotkey Plugin"
 msgstr "グローバルホットキープラグインについて"
 
-#: src/hotkey/gui.c:661
+#: src/hotkey/gui.c:660
 msgid ""
 "Global Hotkey Plugin\n"
 "Control the player with global key combinations or multimedia keys.\n"
@@ -3066,35 +3080,35 @@
 "\t\t\tJeremy Tan <nsx@nsx.homeip.net>\n"
 "\n"
 
-#: src/jack/configure.c:70
+#: src/jack/configure.c:69
 msgid "Connect to all available jack ports"
 msgstr "有効なすべての jack ポートに接続する"
 
-#: src/jack/configure.c:77
+#: src/jack/configure.c:76
 msgid "Connect only the output ports"
 msgstr "出力ポートにのみ接続する"
 
-#: src/jack/configure.c:84
+#: src/jack/configure.c:83
 msgid "Connect to no ports"
 msgstr "ポートに接続しない"
 
-#: src/jack/configure.c:99
+#: src/jack/configure.c:98
 msgid "jack Plugin configuration"
 msgstr "jack プラグイン設定"
 
-#: src/jack/configure.c:117
+#: src/jack/configure.c:116
 msgid "Connection mode:"
 msgstr "接続モード"
 
-#: src/jack/configure.c:129
+#: src/jack/configure.c:128
 msgid "Enable debug printing"
 msgstr "デバグ出力を有効にする"
 
-#: src/jack/jack.c:84
+#: src/jack/jack.c:82
 msgid "Sample rate mismatch"
 msgstr "サンプリングレートの不一致"
 
-#: src/jack/jack.c:87
+#: src/jack/jack.c:85
 msgid ""
 "Xmms is asking for a sample rate that differs from\n"
 " that of the jack server.  Xmms 1.2.8 or later\n"
@@ -3117,15 +3131,15 @@
 "\n"
 "Chris Morgan <cmorgan@alum.wpi.edu>\n"
 
-#: src/jack/jack.c:100 src/wma/wma.c:148
+#: src/jack/jack.c:98 src/wma/wma.c:145
 msgid " Close "
 msgstr " 閉じる "
 
-#: src/jack/jack.c:452
+#: src/jack/jack.c:450
 msgid "About JACK Output Plugin 0.17"
 msgstr "JACK 出力プラグイン 0.17 について"
 
-#: src/jack/jack.c:453
+#: src/jack/jack.c:451
 msgid ""
 "XMMS jack Driver 0.17\n"
 "\n"
@@ -3143,39 +3157,39 @@
 "develia.org の Giacomo Lozito による\n"
 "Audacious ポート"
 
-#: src/ladspa/ladspa.c:722
+#: src/ladspa/ladspa.c:721
 msgid "This LADSPA plugin has no user controls"
 msgstr "LADSPA プラグインにユーザコントロールはありません"
 
-#: src/ladspa/ladspa.c:767 src/ladspa/ladspa.c:853
+#: src/ladspa/ladspa.c:766 src/ladspa/ladspa.c:852
 msgid "Name"
 msgstr "名前"
 
-#: src/ladspa/ladspa.c:853
+#: src/ladspa/ladspa.c:852
 msgid "UID"
 msgstr "UID"
 
-#: src/ladspa/ladspa.c:928
+#: src/ladspa/ladspa.c:927
 msgid "Installed plugins"
 msgstr "インストール済プラグイン"
 
-#: src/ladspa/ladspa.c:937
+#: src/ladspa/ladspa.c:936
 msgid "Running plugins"
 msgstr "動作中のプラグイン"
 
-#: src/ladspa/ladspa.c:952
+#: src/ladspa/ladspa.c:951
 msgid "Add"
 msgstr "追加"
 
-#: src/ladspa/ladspa.c:956
+#: src/ladspa/ladspa.c:955
 msgid "Remove"
 msgstr "削除"
 
-#: src/ladspa/ladspa.c:969
+#: src/ladspa/ladspa.c:968
 msgid "LADSPA Plugin Catalog"
 msgstr "LADSPA プラグイン カタログ"
 
-#: src/lastfm/lastfm.c:96
+#: src/lastfm/lastfm.c:94
 msgid ""
 "<b><big>Couldn't initialize the last.fm radio plugin.</big></b>\n"
 "\n"
@@ -3275,56 +3289,56 @@
 msgid "%s: will try reconnect every %d seconds...\n"
 msgstr "%s: %d 秒ごとに再接続を試みます...\n"
 
-#: src/madplug/configure.c:209
+#: src/madplug/configure.c:208
 msgid "MPEG Audio Plugin Configuration"
 msgstr "MPEG オーディオ プラグインの設定"
 
-#: src/madplug/configure.c:226
+#: src/madplug/configure.c:225
 msgid "Audio Settings"
 msgstr "オーディオ設定"
 
-#: src/madplug/configure.c:234
+#: src/madplug/configure.c:233
 msgid "Force reopen audio when audio type changed"
 msgstr "オーディオタイプが変更されたとき強制的にオーディオを再オープンする"
 
-#: src/madplug/configure.c:243
+#: src/madplug/configure.c:242
 msgid "Metadata Settings"
 msgstr "メタデータ設定"
 
-#: src/madplug/configure.c:252
+#: src/madplug/configure.c:251
 msgid "Enable fast play-length calculation"
 msgstr "高速演奏長計算を有効にする"
 
-#: src/madplug/configure.c:259
+#: src/madplug/configure.c:258
 msgid "Parse XING headers"
 msgstr "XING ヘッダをパースする"
 
-#: src/madplug/configure.c:266
+#: src/madplug/configure.c:265
 msgid "Use SJIS to write ID3 tags (not recommended)"
 msgstr "ID3 タグの書き込みに SJIS を使う (非推奨)"
 
-#: src/madplug/configure.c:273
+#: src/madplug/configure.c:272
 msgid "Miscellaneous Settings"
 msgstr "雑多な設定"
 
-#: src/madplug/configure.c:282
+#: src/madplug/configure.c:281
 msgid "Display average bitrate for VBR"
 msgstr "VBR の平均ビットレートを表示する"
 
-#: src/madplug/configure.c:296 src/vorbis/configure.c:102
+#: src/madplug/configure.c:295 src/vorbis/configure.c:100
 msgid "Override generic titles"
 msgstr "オリジナルのタイトルを上書きする"
 
-#: src/madplug/configure.c:308
+#: src/madplug/configure.c:307
 msgid "ID3 format:"
 msgstr "ID3 の書式:"
 
-#: src/madplug/configure.c:320 src/sid/xmms-sid.glade:2540
-#: src/sid/xs_interface.c:1070
+#: src/madplug/configure.c:319 src/sid/xmms-sid.glade:2610
+#: src/sid/xs_interface.c:1102
 msgid "Title"
 msgstr "タイトル"
 
-#: src/madplug/plugin.c:524
+#: src/madplug/plugin.c:661
 #, c-format
 msgid ""
 "Audacious MPEG Audio Plugin\n"
@@ -3355,15 +3369,15 @@
 "リプレイゲインサポート:\n"
 "    Samuel Krempp"
 
-#: src/madplug/plugin.c:540
+#: src/madplug/plugin.c:677
 msgid "About MPEG Audio Plugin"
 msgstr "MPEG オーディオプラグインについて"
 
+#: src/metronom/metronom.c:86
+msgid "About Metronom"
+msgstr "Metronom について"
+
 #: src/metronom/metronom.c:87
-msgid "About Metronom"
-msgstr "Metronom について"
-
-#: src/metronom/metronom.c:88
 msgid ""
 "A Tact Generator by Martin Strauss <mys@faveve.uni-stuttgart.de>\n"
 "\n"
@@ -3377,12 +3391,12 @@
 "例: tact://77 - 毎分 77 拍を演奏\n"
 "    tact://60*3/4 - 60 bpm を 3/4 拍子で演奏"
 
-#: src/metronom/metronom.c:198 src/metronom/metronom.c:262
+#: src/metronom/metronom.c:197 src/metronom/metronom.c:261
 #, c-format
 msgid "Tact generator: %d bpm"
 msgstr "タクトジェネレータ: %d bpm"
 
-#: src/metronom/metronom.c:200 src/metronom/metronom.c:264
+#: src/metronom/metronom.c:199 src/metronom/metronom.c:263
 #, c-format
 msgid "Tact generator: %d bpm %d/%d"
 msgstr "タクトジェネレータ: %d bpm %d/%d"
@@ -3597,11 +3611,11 @@
 msgid "Message"
 msgstr "メッセージ"
 
-#: src/modplug/gui/main.cxx:45
+#: src/modplug/gui/main.cxx:48
 msgid "Modplug Input Plugin for Audacious ver"
 msgstr "Modplug 入力プラグイン for Audacious ver"
 
-#: src/modplug/gui/main.cxx:46
+#: src/modplug/gui/main.cxx:49
 msgid ""
 "\n"
 "Modplug sound engine written by Olivier Lapicque.\n"
@@ -3617,7 +3631,7 @@
 "更新とメンテナンスは Konstanty Bialkowski による.\n"
 "BMP へのポートは Theofilos Intzoglou による."
 
-#: src/modplug/gui/main.cxx:49
+#: src/modplug/gui/main.cxx:52
 msgid "About Modplug"
 msgstr "Modplug について"
 
@@ -3627,27 +3641,27 @@
 msgid "Couldn't find pixmap file: %s"
 msgstr "pixmap ファイルが見つかりませんでした: %s"
 
-#: src/mtp_up/mtp.c:35
+#: src/mtp_up/mtp.c:33
 msgid "Upload selected track(s)"
 msgstr "選択されたトラックをアップロード"
 
-#: src/mtp_up/mtp.c:296
+#: src/mtp_up/mtp.c:294
 msgid "Upload in progress..."
 msgstr "アップロード進行中..."
 
-#: src/mtp_up/mtp.c:305
+#: src/mtp_up/mtp.c:303
 msgid "MTP device handler"
 msgstr "MTP デバイスハンドラ"
 
-#: src/mtp_up/mtp.c:309
+#: src/mtp_up/mtp.c:307
 msgid "Disconnect the device"
 msgstr "デバイスを切断"
 
-#: src/musepack/libmpc.cxx:146
+#: src/musepack/libmpc.cxx:142
 msgid "Musepack Decoder Plugin 1.2"
 msgstr "Musepack デコーダプラグイン 1.2"
 
-#: src/musepack/libmpc.cxx:147
+#: src/musepack/libmpc.cxx:143
 msgid ""
 "Plugin code by\n"
 "Benoit Amiaux\n"
@@ -3663,174 +3677,175 @@
 "\n"
 "http://musepack.net にて最新版が取得できます\n"
 
-#: src/musepack/libmpc.cxx:148
+#: src/musepack/libmpc.cxx:144
 msgid "Nevermind"
 msgstr "気にしない"
 
-#: src/musepack/libmpc.cxx:166
+#: src/musepack/libmpc.cxx:162
 msgid "Musepack Decoder Configuration"
 msgstr "Musepack デコーダ設定"
 
-#: src/musepack/libmpc.cxx:176
+#: src/musepack/libmpc.cxx:172
 msgid "General Settings"
 msgstr "一般的な設定"
 
-#: src/musepack/libmpc.cxx:183 src/wavpack/ui.cxx:492
+#: src/musepack/libmpc.cxx:179 src/wavpack/ui.cxx:490
 msgid "Enable Dynamic Bitrate Display"
 msgstr "動的ビットレート表示を有効にする"
 
-#: src/musepack/libmpc.cxx:187 src/wavpack/ui.cxx:498
+#: src/musepack/libmpc.cxx:183 src/wavpack/ui.cxx:496
 msgid "Plugin"
 msgstr "プラグイン"
 
-#: src/musepack/libmpc.cxx:190
+#: src/musepack/libmpc.cxx:186
 msgid "ReplayGain Settings"
 msgstr "リプレイゲインの設定"
 
-#: src/musepack/libmpc.cxx:197 src/wavpack/ui.cxx:510
+#: src/musepack/libmpc.cxx:193 src/wavpack/ui.cxx:508
 msgid "Enable Clipping Prevention"
 msgstr "クリッピング回避機能を有効にする"
 
-#: src/musepack/libmpc.cxx:202 src/wavpack/ui.cxx:515
+#: src/musepack/libmpc.cxx:198 src/wavpack/ui.cxx:513
 msgid "Enable ReplayGain"
 msgstr "リプレイゲインを有効にする"
 
-#: src/musepack/libmpc.cxx:207
+#: src/musepack/libmpc.cxx:203
 msgid "ReplayGain Type"
 msgstr "リプレイゲインの種類"
 
-#: src/musepack/libmpc.cxx:215
+#: src/musepack/libmpc.cxx:211
 msgid "Use Track Gain"
 msgstr "トラックゲインを使用する"
 
-#: src/musepack/libmpc.cxx:219
+#: src/musepack/libmpc.cxx:215
 msgid "Use Album Gain"
 msgstr "アルバムゲインを使用する"
 
-#: src/musepack/libmpc.cxx:224 src/wavpack/ui.cxx:547
+#: src/musepack/libmpc.cxx:220 src/wavpack/ui.cxx:545
 msgid "ReplayGain"
 msgstr "リプレイゲイン"
 
-#: src/musepack/libmpc.cxx:491 src/sid/xmms-sid.glade:3144
-#: src/sid/xs_interface.c:1564 src/tta/libtta.c:304 src/wavpack/ui.cxx:152
+#: src/musepack/libmpc.cxx:487 src/sid/xmms-sid.glade:3338
+#: src/sid/xs_interface.c:1648 src/tta/libtta.c:301 src/wavpack/ui.cxx:150
 msgid "Filename:"
 msgstr "ファイル名:"
 
-#: src/musepack/libmpc.cxx:506
+#: src/musepack/libmpc.cxx:502
 msgid "Musepack Tag"
 msgstr "Musepack タグ"
 
-#: src/musepack/libmpc.cxx:514 src/tta/libtta.c:323 src/wavpack/ui.cxx:172
+#: src/musepack/libmpc.cxx:510 src/tta/libtta.c:320 src/wavpack/ui.cxx:170
 msgid "Title:"
 msgstr "タイトル:"
 
-#: src/musepack/libmpc.cxx:518 src/tta/libtta.c:333 src/wavpack/ui.cxx:184
+#: src/musepack/libmpc.cxx:514 src/tta/libtta.c:330 src/wavpack/ui.cxx:182
 msgid "Artist:"
 msgstr "アーティスト:"
 
-#: src/musepack/libmpc.cxx:522 src/tta/libtta.c:344 src/wavpack/ui.cxx:196
+#: src/musepack/libmpc.cxx:518 src/tta/libtta.c:341 src/wavpack/ui.cxx:194
 msgid "Album:"
 msgstr "アルバム名:"
 
-#: src/musepack/libmpc.cxx:526 src/tta/libtta.c:355 src/wavpack/ui.cxx:208
+#: src/musepack/libmpc.cxx:522 src/tta/libtta.c:352 src/wavpack/ui.cxx:206
 msgid "Comment:"
 msgstr "コメント:"
 
-#: src/musepack/libmpc.cxx:530 src/tta/libtta.c:366 src/wavpack/ui.cxx:221
+#: src/musepack/libmpc.cxx:526 src/tta/libtta.c:363 src/wavpack/ui.cxx:219
 msgid "Year:"
 msgstr "年:"
 
-#: src/musepack/libmpc.cxx:535
+#: src/musepack/libmpc.cxx:531
 msgid "Track:"
 msgstr "トラック:"
 
-#: src/musepack/libmpc.cxx:540 src/tta/libtta.c:390 src/wavpack/ui.cxx:248
+#: src/musepack/libmpc.cxx:536 src/tta/libtta.c:387 src/wavpack/ui.cxx:246
 msgid "Genre:"
 msgstr "ジャンル:"
 
-#: src/musepack/libmpc.cxx:551 src/sid/xmms-sid.glade:1732
-#: src/sid/xs_interface.c:820 src/wavpack/ui.cxx:267
+#: src/musepack/libmpc.cxx:547 src/sid/xmms-sid.glade:1732
+#: src/sid/xs_interface.c:832 src/skins/ui_manager.c:438
+#: src/wavpack/ui.cxx:265
 msgid "Save"
 msgstr "保存"
 
-#: src/musepack/libmpc.cxx:554 src/wavpack/ui.cxx:273
+#: src/musepack/libmpc.cxx:550 src/wavpack/ui.cxx:271
 msgid "Remove Tag"
 msgstr "タグの削除"
 
-#: src/musepack/libmpc.cxx:562
+#: src/musepack/libmpc.cxx:558
 msgid "Musepack Info"
 msgstr "Musepack 情報"
 
+#: src/musepack/libmpc.cxx:591
+#, c-format
+msgid "Streamversion %d"
+msgstr "ストリームヴァージョン %d"
+
+#: src/musepack/libmpc.cxx:592
+#, c-format
+msgid "Encoder: %s"
+msgstr "エンコーダ: %s"
+
+#: src/musepack/libmpc.cxx:593
+#, c-format
+msgid "Profile: %s"
+msgstr "プロファイル: %s"
+
+#: src/musepack/libmpc.cxx:594
+#, c-format
+msgid "Average bitrate: %6.1f kbps"
+msgstr "平均ビットレート: %6.1f kbps"
+
 #: src/musepack/libmpc.cxx:595
 #, c-format
-msgid "Streamversion %d"
-msgstr "ストリームヴァージョン %d"
+msgid "Samplerate: %d Hz"
+msgstr "サンプリングレート: %d Hz"
 
 #: src/musepack/libmpc.cxx:596
 #, c-format
-msgid "Encoder: %s"
-msgstr "エンコーダ: %s"
+msgid "Channels: %d"
+msgstr "チャンネル数: %d"
 
 #: src/musepack/libmpc.cxx:597
 #, c-format
-msgid "Profile: %s"
-msgstr "プロファイル: %s"
-
-#: src/musepack/libmpc.cxx:598
-#, c-format
-msgid "Average bitrate: %6.1f kbps"
-msgstr "平均ビットレート: %6.1f kbps"
-
-#: src/musepack/libmpc.cxx:599
-#, c-format
-msgid "Samplerate: %d Hz"
-msgstr "サンプリングレート: %d Hz"
-
-#: src/musepack/libmpc.cxx:600
-#, c-format
-msgid "Channels: %d"
-msgstr "チャンネル数: %d"
-
-#: src/musepack/libmpc.cxx:601
-#, c-format
 msgid "Length: %d:\\%.2d"
 msgstr "長さ: %d:\\%.2d"
 
-#: src/musepack/libmpc.cxx:602
+#: src/musepack/libmpc.cxx:598
 #, c-format
 msgid "File size: %d Bytes"
 msgstr "ファイルサイズ: %d Bytes"
 
-#: src/musepack/libmpc.cxx:603
+#: src/musepack/libmpc.cxx:599
 #, c-format
 msgid "Track Peak: %5u"
 msgstr "トラックピーク: %5u"
 
-#: src/musepack/libmpc.cxx:604
+#: src/musepack/libmpc.cxx:600
 #, c-format
 msgid "Track Gain: %-+2.2f dB"
 msgstr "トラックゲイン: %-+2.2f dB"
 
-#: src/musepack/libmpc.cxx:605
+#: src/musepack/libmpc.cxx:601
 #, c-format
 msgid "Album Peak: %5u"
 msgstr "アルバムピーク: %5u"
 
-#: src/musepack/libmpc.cxx:606
+#: src/musepack/libmpc.cxx:602
 #, c-format
 msgid "Album Gain: %-+5.2f dB"
 msgstr "アルバムゲイン: %-+5.2f dB"
 
-#: src/musepack/libmpc.cxx:634 src/tta/libtta.c:413 src/wavpack/ui.cxx:409
+#: src/musepack/libmpc.cxx:630 src/tta/libtta.c:410 src/wavpack/ui.cxx:407
 #, c-format
 msgid "File Info - %s"
 msgstr "ファイル情報 - %s"
 
-#: src/null/null.c:61
+#: src/null/null.c:58
 msgid "Null output plugin "
 msgstr "ヌル出力プラグイン "
 
-#: src/null/null.c:62
+#: src/null/null.c:59
 msgid ""
 " by Christian Birchinger <joker@netswarm.net>\n"
 "based on the XMMS plugin by Håvard Kvål <havardk@xmms.org>"
@@ -3838,23 +3853,52 @@
 " Håvard Kvål <havardk@xmms.org> の XMMS プラグインをベースとした\n"
 " Christian Birchinger <joker@netswarm.net> によるポート"
 
-#: src/null/null.c:65
+#: src/null/null.c:62
 msgid "About Null Output"
 msgstr "ヌル出力プラグインについて"
 
-#: src/null/null.c:94
+#: src/null/null.c:91
 msgid "Null output preferences"
 msgstr "ヌル出力設定"
 
-#: src/null/null.c:103
+#: src/null/null.c:100
 msgid "Run in real time"
 msgstr "実時間で実行する"
 
-#: src/OSS4/about.c:42
+#: src/OSS4/configure.c:118 src/OSS/configure.c:150
+#, c-format
+msgid "Default (%s)"
+msgstr "デフォルト (%s)"
+
+#: src/OSS4/configure.c:168 src/OSS/configure.c:200
+msgid "OSS Driver configuration"
+msgstr "OSS ドライバの設定"
+
+#: src/OSS4/configure.c:206 src/OSS/configure.c:238 src/OSS/configure.c:279
+msgid "Use alternate device:"
+msgstr "代替デバイスを使用する:"
+
+#: src/OSS4/configure.c:228 src/OSS/configure.c:301 src/sun/configure.c:246
+msgid "Devices"
+msgstr "デバイス"
+
+#: src/OSS4/configure.c:270 src/OSS/configure.c:342
+msgid "Mixer Settings:"
+msgstr "ミキサの設定:"
+
+#: src/OSS4/configure.c:276
+msgid "Save VMIX volume between sessions"
+msgstr "セッション間の VMIX 音量を保存"
+
+#: src/OSS4/configure.c:282 src/OSS/configure.c:354 src/sun/configure.c:392
+msgid "Mixer"
+msgstr "ミキサ"
+
+#: src/OSS4/OSS4.c:38
 msgid "About OSSv4 Driver"
 msgstr "OSSv4 ドライバについて"
 
-#: src/OSS4/about.c:43
+#: src/OSS4/OSS4.c:39
 msgid ""
 "Audacious OSSv4 Driver\n"
 "\n"
@@ -3896,40 +3940,15 @@
 "Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,\n"
 "USA. まで請求して下さい."
 
-#: src/OSS4/configure.c:120 src/OSS/configure.c:151
-#, c-format
-msgid "Default (%s)"
-msgstr "デフォルト (%s)"
-
-#: src/OSS4/configure.c:170 src/OSS/configure.c:201
-msgid "OSS Driver configuration"
-msgstr "OSS ドライバの設定"
-
-#: src/OSS4/configure.c:208 src/OSS/configure.c:239 src/OSS/configure.c:280
-msgid "Use alternate device:"
-msgstr "代替デバイスを使用する:"
-
-#: src/OSS4/configure.c:230 src/OSS/configure.c:302 src/sun/configure.c:248
-msgid "Devices"
-msgstr "デバイス"
-
-#: src/OSS4/configure.c:272 src/OSS/configure.c:343
-msgid "Mixer Settings:"
-msgstr "ミキサの設定:"
-
-#: src/OSS4/configure.c:278
-msgid "Save VMIX volume between sessions"
-msgstr "セッション間の VMIX 音量を保存"
-
-#: src/OSS4/configure.c:284 src/OSS/configure.c:355 src/sun/configure.c:394
-msgid "Mixer"
-msgstr "ミキサ"
-
-#: src/OSS/about.c:39
+#: src/OSS/configure.c:348
+msgid "Volume controls Master not PCM"
+msgstr "音量の調整は PCM ではなくマスタを使用する"
+
+#: src/OSS/OSS.c:37
 msgid "About OSS Driver"
 msgstr "OSS ドライバについて"
 
-#: src/OSS/about.c:40
+#: src/OSS/OSS.c:38
 msgid ""
 "Audacious OSS Driver\n"
 "\n"
@@ -3965,19 +3984,15 @@
 "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,\n"
 "USA. へ手紙を書いて下さい."
 
-#: src/OSS/configure.c:349
-msgid "Volume controls Master not PCM"
-msgstr "音量の調整は PCM ではなくマスタを使用する"
-
 #: src/projectm-1.0/main.c:70
 msgid "_Random"
 msgstr "ランダム(R_)"
 
-#: src/pulse_audio/pulse_audio.c:722
+#: src/pulse_audio/pulse_audio.c:720
 msgid "About Audacious PulseAudio Output Plugin"
 msgstr "Audacious PulseAudio 出力プラグインについて"
 
-#: src/pulse_audio/pulse_audio.c:723
+#: src/pulse_audio/pulse_audio.c:721
 msgid ""
 "Audacious PulseAudio Output Plugin\n"
 "\n"
@@ -4013,27 +4028,27 @@
 "Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,\n"
 "USA. まで請求して下さい."
 
-#: src/scrobbler/configure.c:138
+#: src/scrobbler/configure.c:134
 msgid "<b>Services</b>"
 msgstr "<b>サービス</b>"
 
-#: src/scrobbler/configure.c:160 src/scrobbler/configure.c:199
+#: src/scrobbler/configure.c:156 src/scrobbler/configure.c:195
 msgid "Username:"
 msgstr "ユーザ名:"
 
-#: src/scrobbler/configure.c:166 src/scrobbler/configure.c:205
+#: src/scrobbler/configure.c:162 src/scrobbler/configure.c:201
 msgid "Password:"
 msgstr "パスワード:"
 
-#: src/scrobbler/configure.c:183
+#: src/scrobbler/configure.c:179
 msgid "<b>Last.FM</b>"
 msgstr "<b>Last.FM</b>"
 
-#: src/scrobbler/configure.c:222
+#: src/scrobbler/configure.c:218
 msgid "<b>Gerpok</b>"
 msgstr "<b>Gerpok</b>"
 
-#: src/scrobbler/gtkstuff.c:21
+#: src/scrobbler/gtkstuff.c:18
 msgid ""
 "Audacious AudioScrobbler Plugin\n"
 "\n"
@@ -4045,11 +4060,11 @@
 "Audun Hove <audun@nlc.no> と Pipian <pipian@pipian.com> によってオリジナルは"
 "作成された\n"
 
-#: src/scrobbler/gtkstuff.c:23
+#: src/scrobbler/gtkstuff.c:20
 msgid "About Scrobbler Plugin"
 msgstr "Scrobbler プラグインについて"
 
-#: src/scrobbler/gtkstuff.c:36
+#: src/scrobbler/gtkstuff.c:33
 #, c-format
 msgid ""
 "There has been an error that may require your attention.\n"
@@ -4064,59 +4079,59 @@
 "\n"
 "%s\n"
 
-#: src/scrobbler/gtkstuff.c:43
+#: src/scrobbler/gtkstuff.c:40
 msgid "Scrobbler Error"
 msgstr "Scrobbler エラー"
 
-#: src/sid/xmms-sid.glade:8 src/sid/xs_interface.c:221
+#: src/sid/xmms-sid.glade:8 src/sid/xs_interface.c:233
 msgid "Audacious-SID configuration"
 msgstr "Audacious-SID 設定"
 
-#: src/sid/xmms-sid.glade:71 src/sid/xs_interface.c:257
+#: src/sid/xmms-sid.glade:71 src/sid/xs_interface.c:269
 msgid "8-bit"
 msgstr " 8ビット"
 
-#: src/sid/xmms-sid.glade:90 src/sid/xs_interface.c:264
+#: src/sid/xmms-sid.glade:90 src/sid/xs_interface.c:276
 msgid "16-bit"
 msgstr "16ビット"
 
-#: src/sid/xmms-sid.glade:111 src/sid/xs_interface.c:271
+#: src/sid/xmms-sid.glade:111 src/sid/xs_interface.c:283
 msgid "Resolution:"
 msgstr "解像度:"
 
-#: src/sid/xmms-sid.glade:196 src/sid/xs_interface.c:302
+#: src/sid/xmms-sid.glade:196 src/sid/xs_interface.c:314
 msgid "Autopanning"
 msgstr "オートパニング"
 
-#: src/sid/xmms-sid.glade:217 src/sid/xs_interface.c:309
+#: src/sid/xmms-sid.glade:217 src/sid/xs_interface.c:321
 msgid "Channels:"
 msgstr "チャンネル数:"
 
-#: src/sid/xmms-sid.glade:384 src/sid/xs_interface.c:353
+#: src/sid/xmms-sid.glade:384 src/sid/xs_interface.c:365
 msgid "Samplerate:"
 msgstr "サンプリングレート:"
 
-#: src/sid/xmms-sid.glade:430 src/sid/xs_interface.c:370
+#: src/sid/xmms-sid.glade:430 src/sid/xs_interface.c:382
 msgid "Use oversampling"
 msgstr "オーバーサンプリングを使う"
 
-#: src/sid/xmms-sid.glade:456 src/sid/xs_interface.c:381
+#: src/sid/xmms-sid.glade:456 src/sid/xs_interface.c:393
 msgid "Factor:"
 msgstr "ファクター:"
 
-#: src/sid/xmms-sid.glade:500 src/sid/xs_interface.c:393
+#: src/sid/xmms-sid.glade:500 src/sid/xs_interface.c:405
 msgid "Large factors require more CPU-power"
 msgstr "大きなファクターはより CPU パワーを必要とします"
 
-#: src/sid/xmms-sid.glade:534 src/sid/xs_interface.c:399
+#: src/sid/xmms-sid.glade:534 src/sid/xs_interface.c:411
 msgid "Oversampling:"
 msgstr "オーバーサンプリング:"
 
-#: src/sid/xmms-sid.glade:570 src/sid/xs_interface.c:404
+#: src/sid/xmms-sid.glade:570 src/sid/xs_interface.c:416
 msgid "Audio"
 msgstr "オーディオ"
 
-#: src/sid/xmms-sid.glade:620 src/sid/xs_interface.c:436
+#: src/sid/xmms-sid.glade:620 src/sid/xs_interface.c:448
 msgid ""
 "If enabled, this option \"forces\" the emulation engine to use the selected "
 "clock speed/frequency. Otherwise the speed is determined from played file "
@@ -4126,11 +4141,11 @@
 "うことを\"強制\"します. そうでなければ, 速度は演奏するファイル自体から決定さ"
 "れます."
 
-#: src/sid/xmms-sid.glade:622 src/sid/xs_interface.c:432
+#: src/sid/xmms-sid.glade:622 src/sid/xs_interface.c:444
 msgid "Force speed"
 msgstr "速度を強制する"
 
-#: src/sid/xmms-sid.glade:640 src/sid/xs_interface.c:442
+#: src/sid/xmms-sid.glade:640 src/sid/xs_interface.c:454
 msgid ""
 "PAL is the european TV standard, which uses 50Hz vertical refresh frequency. "
 "Most of SID-tunes have been made for PAL computers."
@@ -4138,11 +4153,11 @@
 "PAL は 50Hz のリフレッシュレートを用いるヨーロッパの TV 規格です. ほとんどの "
 "SID-tunes は PAL コンピュータ向けに作られています."
 
-#: src/sid/xmms-sid.glade:642 src/sid/xs_interface.c:438
+#: src/sid/xmms-sid.glade:642 src/sid/xs_interface.c:450
 msgid "PAL (50 Hz)"
 msgstr "PAL (50 Hz)"
 
-#: src/sid/xmms-sid.glade:660 src/sid/xs_interface.c:450
+#: src/sid/xmms-sid.glade:660 src/sid/xs_interface.c:462
 msgid ""
 "NTSC is the TV standard with 60Hz vertical refresh rate (and other features "
 "that differ from PAL). It is mainly used in United States, Japan and certain "
@@ -4151,15 +4166,15 @@
 "NTSC は 60Hz のリフレッシュレートを用い, PAL とは他にも異なる特徴を持つ TV 規"
 "格です. 主にアメリカ, 日本や他の国々で用いられています."
 
-#: src/sid/xmms-sid.glade:662 src/sid/xs_interface.c:446
+#: src/sid/xmms-sid.glade:662 src/sid/xs_interface.c:458
 msgid "NTSC (60 Hz)"
 msgstr "NTSC (60 Hz)"
 
-#: src/sid/xmms-sid.glade:683 src/sid/xs_interface.c:454
+#: src/sid/xmms-sid.glade:683 src/sid/xs_interface.c:466
 msgid "Clock speed:"
 msgstr "クロック速度:"
 
-#: src/sid/xmms-sid.glade:728 src/sid/xs_interface.c:475
+#: src/sid/xmms-sid.glade:728 src/sid/xs_interface.c:487
 msgid ""
 "If enabled, this option \"forces\" the emulation engine to use the selected "
 "SID-chip model. Otherwise the preferred SID model is determined from the "
@@ -4169,11 +4184,11 @@
 "\"強制\"します. 無効ならば, ファイルが PSIDv2NG タイプなら, 望ましい SID モデ"
 "ルが決定されますが, 利用できなければこの設定が用いられます."
 
-#: src/sid/xmms-sid.glade:730 src/sid/xs_interface.c:471
+#: src/sid/xmms-sid.glade:730 src/sid/xs_interface.c:483
 msgid "Force model"
 msgstr "モデルを強制する"
 
-#: src/sid/xmms-sid.glade:748 src/sid/xs_interface.c:481
+#: src/sid/xmms-sid.glade:748 src/sid/xs_interface.c:493
 msgid ""
 "MOS/CSG 6581 is the earlier major version of SID chip. It differs from 8580 "
 "in few ways, having much fuller filter (which, due to design error, is never "
@@ -4185,19 +4200,19 @@
 "の SID チップは同じではありません), デジタルサンプルの再生を有効にする \"音量"
 "調整バグ\" があります."
 
-#: src/sid/xmms-sid.glade:750 src/sid/xs_interface.c:477
+#: src/sid/xmms-sid.glade:750 src/sid/xs_interface.c:489
 msgid "MOS 6581"
 msgstr "MOS 6581"
 
-#: src/sid/xmms-sid.glade:769 src/sid/xs_interface.c:485
+#: src/sid/xmms-sid.glade:769 src/sid/xs_interface.c:497
 msgid "MOS 8580"
 msgstr "MOS 8580"
 
-#: src/sid/xmms-sid.glade:790 src/sid/xs_interface.c:492
+#: src/sid/xmms-sid.glade:790 src/sid/xs_interface.c:504
 msgid "SID model:"
 msgstr "SID モデル:"
 
-#: src/sid/xmms-sid.glade:842 src/sid/xs_interface.c:513
+#: src/sid/xmms-sid.glade:842 src/sid/xs_interface.c:525
 msgid ""
 "Use libSIDPlay 1.x emulation, faster but not so accurate. Good in most "
 "cases, though."
@@ -4205,11 +4220,11 @@
 "高速ですがそれほど正確ではない libSIDPlay 1.x を用います. ですがほとんどの場"
 "合問題ありません."
 
-#: src/sid/xmms-sid.glade:844 src/sid/xs_interface.c:509
+#: src/sid/xmms-sid.glade:844 src/sid/xs_interface.c:521
 msgid "SIDPlay 1 (frame-based)"
 msgstr "SIDPlay 1 (フレームベース)"
 
-#: src/sid/xmms-sid.glade:863 src/sid/xs_interface.c:521
+#: src/sid/xmms-sid.glade:863 src/sid/xs_interface.c:533
 msgid ""
 "Use libSIDPlay 2.x emulation, which requires powerful CPU due to more exact "
 "emulation."
@@ -4217,39 +4232,39 @@
 "より正確なエミュレーションのために強力な CPU を必要とする libSIDPlay 2.x を用"
 "います."
 
-#: src/sid/xmms-sid.glade:865 src/sid/xs_interface.c:517
+#: src/sid/xmms-sid.glade:865 src/sid/xs_interface.c:529
 msgid "SIDPlay 2 (cycle-based)"
 msgstr "SIDPlay 2 (サイクルベース)"
 
-#: src/sid/xmms-sid.glade:887 src/sid/xs_interface.c:525
+#: src/sid/xmms-sid.glade:887 src/sid/xs_interface.c:537
 msgid "Emulation library selection:"
 msgstr "エミュレーションライブラリの選択"
 
-#: src/sid/xmms-sid.glade:933 src/sid/xs_interface.c:542
+#: src/sid/xmms-sid.glade:933 src/sid/xs_interface.c:554
 msgid "Real C64 (SIDPlay 2 only)"
 msgstr "Real C64 (SIDPlay 2 専用)"
 
-#: src/sid/xmms-sid.glade:952 src/sid/xs_interface.c:549
+#: src/sid/xmms-sid.glade:952 src/sid/xs_interface.c:561
 msgid "Bank switching"
 msgstr "バンクスイッチング"
 
-#: src/sid/xmms-sid.glade:972 src/sid/xs_interface.c:556
+#: src/sid/xmms-sid.glade:972 src/sid/xs_interface.c:568
 msgid "Transparent ROM"
 msgstr "透過 ROM"
 
-#: src/sid/xmms-sid.glade:992 src/sid/xs_interface.c:563
+#: src/sid/xmms-sid.glade:992 src/sid/xs_interface.c:575
 msgid "PlaySID environment"
 msgstr "PlaySID 環境"
 
-#: src/sid/xmms-sid.glade:1013 src/sid/xs_interface.c:570
+#: src/sid/xmms-sid.glade:1013 src/sid/xs_interface.c:582
 msgid "Memory mode:"
 msgstr "メモリモード:"
 
-#: src/sid/xmms-sid.glade:1049 src/sid/xs_interface.c:575
+#: src/sid/xmms-sid.glade:1049 src/sid/xs_interface.c:587
 msgid "Emu#1"
 msgstr "Emu#1"
 
-#: src/sid/xmms-sid.glade:1093 src/sid/xs_interface.c:602
+#: src/sid/xmms-sid.glade:1093 src/sid/xs_interface.c:614
 msgid ""
 "This setting can be used to enable libSIDPlay2's \"optimization mode\", "
 "which in downgrades the emulation from cycle-exact to something similar to "
@@ -4259,11 +4274,11 @@
 "クル正確からフレーム正確に似た何かに格下げします. この結果, CPU 使用率は下が"
 "りますが, 正確さは悪くなります."
 
-#: src/sid/xmms-sid.glade:1095 src/sid/xs_interface.c:598
+#: src/sid/xmms-sid.glade:1095 src/sid/xs_interface.c:610
 msgid "Optimization mode (faster, inaccurate)"
 msgstr "最適化モード (高速, 不正確)"
 
-#: src/sid/xmms-sid.glade:1113 src/sid/xs_interface.c:608
+#: src/sid/xmms-sid.glade:1113 src/sid/xs_interface.c:620
 msgid ""
 "reSID is the software SID-chip simulator based on SID reverse-engineering, "
 "created by Dag Lem. It is probably the closest thing to real SID available "
@@ -4273,11 +4288,11 @@
 "トウェア SID チップシミュレータです. ソフトウェアのみでのエミュレーションで"
 "は, 本物の利用可能な SID におそらく最も近いものです."
 
-#: src/sid/xmms-sid.glade:1115 src/sid/xs_interface.c:604
+#: src/sid/xmms-sid.glade:1115 src/sid/xs_interface.c:616
 msgid "reSID-emulation"
 msgstr "reSID エミュレーション"
 
-#: src/sid/xmms-sid.glade:1133 src/sid/xs_interface.c:616
+#: src/sid/xmms-sid.glade:1133 src/sid/xs_interface.c:628
 msgid ""
 "HardSID is a EISA/PCI card for PC-compatibles, which can be fitted with a "
 "real SID-chip. Software can be used to control the HardSID and combined with "
@@ -4291,49 +4306,49 @@
 "似点を \"ほぼ 100%\" 達成するために用いられます. より多くの情報は http://www."
 "hardsid.com/ を参照してください."
 
-#: src/sid/xmms-sid.glade:1135 src/sid/xs_interface.c:612
+#: src/sid/xmms-sid.glade:1135 src/sid/xs_interface.c:624
 msgid "HardSID"
 msgstr "HardSID"
 
-#: src/sid/xmms-sid.glade:1156 src/sid/xs_interface.c:620
+#: src/sid/xmms-sid.glade:1156 src/sid/xs_interface.c:632
 msgid "SIDPlay 2 options:"
 msgstr "SIDPlay 2 オプション:"
 
-#: src/sid/xmms-sid.glade:1201 src/sid/xs_interface.c:641
+#: src/sid/xmms-sid.glade:1201 src/sid/xs_interface.c:653
 msgid ""
 "Fastest and also worst sounding sampling method, simply picks nearest "
 "neighbouring sample."
 msgstr ""
 "単純に最近傍のサンプルを用いるだけの, 最速ですが最悪のサンプリング方法です."
 
-#: src/sid/xmms-sid.glade:1203 src/sid/xs_interface.c:637
+#: src/sid/xmms-sid.glade:1203 src/sid/xs_interface.c:649
 msgid "Fast (nearest neighbour)"
 msgstr "高速 (最近傍)"
 
-#: src/sid/xmms-sid.glade:1221 src/sid/xs_interface.c:649
+#: src/sid/xmms-sid.glade:1221 src/sid/xs_interface.c:661
 msgid ""
 "Uses linear interpolation between samples, yielding higher audio quality "
 "with less sampling noise."
 msgstr ""
 "高い音質を低いサンプリングノイズで生成する, サンプル間の線形補間を用います."
 
-#: src/sid/xmms-sid.glade:1223 src/sid/xs_interface.c:645
+#: src/sid/xmms-sid.glade:1223 src/sid/xs_interface.c:657
 msgid "Linear interpolation"
 msgstr "線形補間"
 
-#: src/sid/xmms-sid.glade:1263 src/sid/xs_interface.c:660
+#: src/sid/xmms-sid.glade:1263 src/sid/xs_interface.c:672
 msgid "Resampling (FIR)"
 msgstr "リサンプリング (FIR)"
 
-#: src/sid/xmms-sid.glade:1284 src/sid/xs_interface.c:667
+#: src/sid/xmms-sid.glade:1284 src/sid/xs_interface.c:679
 msgid "reSID sampling options:"
 msgstr "reSID サンプリングオプション:"
 
-#: src/sid/xmms-sid.glade:1320 src/sid/xs_interface.c:672
+#: src/sid/xmms-sid.glade:1320 src/sid/xs_interface.c:684
 msgid "Emu#2"
 msgstr "Emu#2"
 
-#: src/sid/xmms-sid.glade:1350 src/sid/xs_interface.c:688
+#: src/sid/xmms-sid.glade:1350 src/sid/xs_interface.c:700
 msgid ""
 "This option enables emulation of SID filter. The filter is an essential part "
 "of SID's sound capacity, but accurate emulation of it may require quite much "
@@ -4345,59 +4360,61 @@
 "ます. しかし, フィルタエミュレーションが無効だと, フィルタを使っている音色は"
 "まったく本物のようには聞こえません."
 
-#: src/sid/xmms-sid.glade:1352 src/sid/xs_interface.c:684
+#: src/sid/xmms-sid.glade:1352 src/sid/xs_interface.c:696
 msgid "Emulate filters"
 msgstr "フィルタをエミュレートする"
 
-#: src/sid/xmms-sid.glade:1409 src/sid/xs_interface.c:713
+#: src/sid/xmms-sid.glade:1409 src/sid/xs_interface.c:725
 msgid "FS"
 msgstr "FS"
 
-#: src/sid/xmms-sid.glade:1460 src/sid/xs_interface.c:730
+#: src/sid/xmms-sid.glade:1460 src/sid/xs_interface.c:742
 msgid "FM"
 msgstr "FM"
 
-#: src/sid/xmms-sid.glade:1511 src/sid/xs_interface.c:747
+#: src/sid/xmms-sid.glade:1511 src/sid/xs_interface.c:759
 msgid "FT"
 msgstr "FT"
 
-#: src/sid/xmms-sid.glade:1549 src/sid/xs_interface.c:758
+#: src/sid/xmms-sid.glade:1549 src/sid/xs_interface.c:770
 msgid "Reset values"
 msgstr "値をリセット"
 
-#: src/sid/xmms-sid.glade:1578 src/sid/xs_interface.c:763
+#: src/sid/xmms-sid.glade:1578 src/sid/xs_interface.c:775
 msgid "SIDPlay1"
 msgstr "SIDPlay1"
 
-#: src/sid/xmms-sid.glade:1690 src/sid/xs_interface.c:804
+#: src/sid/xmms-sid.glade:1690 src/sid/xs_interface.c:816
 msgid "Export"
 msgstr "エクスポート"
 
-#: src/sid/xmms-sid.glade:1711 src/sid/xs_interface.c:812
+#: src/sid/xmms-sid.glade:1711 src/sid/xs_interface.c:824
 msgid "Use"
 msgstr "使用"
 
-#: src/sid/xmms-sid.glade:1753 src/sid/xs_interface.c:828
+#: src/sid/xmms-sid.glade:1753 src/sid/xs_interface.c:840
+#: src/skins/ui_manager.c:437
 msgid "Import"
 msgstr "インポート"
 
-#: src/sid/xmms-sid.glade:1774 src/sid/xs_interface.c:836
+#: src/sid/xmms-sid.glade:1774 src/sid/xs_interface.c:848
+#: src/skins/ui_manager.c:439
 msgid "Delete"
 msgstr "削除"
 
-#: src/sid/xmms-sid.glade:1819 src/sid/xs_interface.c:850
+#: src/sid/xmms-sid.glade:1819 src/sid/xs_interface.c:862
 msgid "Filter curve:"
 msgstr "フィルタ曲線:"
 
-#: src/sid/xmms-sid.glade:1855 src/sid/xs_interface.c:855
+#: src/sid/xmms-sid.glade:1855 src/sid/xs_interface.c:867
 msgid "SIDPlay2"
 msgstr "SIDPlay2"
 
-#: src/sid/xmms-sid.glade:1891 src/sid/xs_interface.c:861
+#: src/sid/xmms-sid.glade:1891 src/sid/xs_interface.c:873
 msgid "Filters"
 msgstr "フィルタ"
 
-#: src/sid/xmms-sid.glade:1935 src/sid/xs_interface.c:888
+#: src/sid/xmms-sid.glade:1935 src/sid/xs_interface.c:900
 msgid ""
 "If enabled, the tune is played at least for the specified time, adding "
 "silence to the end if necessary."
@@ -4405,21 +4422,21 @@
 "有効ならば, 必要に応じて末尾に無音部分を追加し, 音色は少なくとも指定された時"
 "間で演奏されます."
 
-#: src/sid/xmms-sid.glade:1937 src/sid/xs_interface.c:884
+#: src/sid/xmms-sid.glade:1937 src/sid/xs_interface.c:896
 msgid "Play at least for specified time"
 msgstr "少なくとも指定された時間で演奏"
 
 #: src/sid/xmms-sid.glade:1962 src/sid/xmms-sid.glade:2133
-#: src/sid/xmms-sid.glade:2632 src/sid/xs_interface.c:895
-#: src/sid/xs_interface.c:949 src/sid/xs_interface.c:1109
+#: src/sid/xmms-sid.glade:2702 src/sid/xs_interface.c:907
+#: src/sid/xs_interface.c:961 src/sid/xs_interface.c:1141
 msgid "Playtime:"
 msgstr "演奏時間:"
 
-#: src/sid/xmms-sid.glade:2041 src/sid/xs_interface.c:915
+#: src/sid/xmms-sid.glade:2041 src/sid/xs_interface.c:927
 msgid "Minimum playtime:"
 msgstr "最小演奏時間:"
 
-#: src/sid/xmms-sid.glade:2086 src/sid/xs_interface.c:936
+#: src/sid/xmms-sid.glade:2086 src/sid/xs_interface.c:948
 msgid ""
 "If enabled, tune is played until specified duration is reached (aka maximum "
 "playtime)."
@@ -4427,26 +4444,26 @@
 "有効ならば, 音色は指定された持続時間 (最大演奏時間) に到達するまで演奏されま"
 "す."
 
-#: src/sid/xmms-sid.glade:2088 src/sid/xs_interface.c:932
+#: src/sid/xmms-sid.glade:2088 src/sid/xs_interface.c:944
 msgid "Play for specified time maximum"
 msgstr "指定された時間いっぱいまで演奏"
 
-#: src/sid/xmms-sid.glade:2107 src/sid/xs_interface.c:942
+#: src/sid/xmms-sid.glade:2107 src/sid/xs_interface.c:954
 msgid ""
 "If enabled, the maximum playtime is applied only if song/tune length is not "
 "known."
 msgstr ""
 "有効ならば, 曲や音色の長さが不明な場合のみ, 最大演奏時間が用いられます."
 
-#: src/sid/xmms-sid.glade:2109 src/sid/xs_interface.c:938
+#: src/sid/xmms-sid.glade:2109 src/sid/xs_interface.c:950
 msgid "Only when song length is unknown"
 msgstr "曲の長さが不明な場合のみ"
 
-#: src/sid/xmms-sid.glade:2212 src/sid/xs_interface.c:969
+#: src/sid/xmms-sid.glade:2212 src/sid/xs_interface.c:981
 msgid "Maximum playtime:"
 msgstr "最大演奏時間:"
 
-#: src/sid/xmms-sid.glade:2257 src/sid/xs_interface.c:990
+#: src/sid/xmms-sid.glade:2257 src/sid/xs_interface.c:1002
 msgid ""
 "This option enables using of XSIDPLAY compatible song length database. "
 "(Refer to Audacious-SID documentation for more information)"
@@ -4454,31 +4471,31 @@
 "XSIDPLAY 互換の曲の長さデータベースを使用します. (より多くの情報は Audacious-"
 "SID の文書を参照してください)"
 
-#: src/sid/xmms-sid.glade:2259 src/sid/xs_interface.c:986
+#: src/sid/xmms-sid.glade:2259 src/sid/xs_interface.c:998
 msgid "Use XSIDPLAY-compatible database"
 msgstr "XSIDPLAY 互換データベースを使う"
 
-#: src/sid/xmms-sid.glade:2284 src/sid/xs_interface.c:997
+#: src/sid/xmms-sid.glade:2284 src/sid/xs_interface.c:1009
 msgid "DB-file:"
 msgstr "DB ファイル:"
 
-#: src/sid/xmms-sid.glade:2309 src/sid/xs_interface.c:1007
+#: src/sid/xmms-sid.glade:2309 src/sid/xs_interface.c:1019
 msgid "Database path and filename"
 msgstr "データベースパスとファイル名"
 
-#: src/sid/xmms-sid.glade:2329 src/sid/xs_interface.c:1014
+#: src/sid/xmms-sid.glade:2329 src/sid/xs_interface.c:1026
 msgid "Browse for song length-database file"
 msgstr "曲の長さデータベースファイルを参照"
 
-#: src/sid/xmms-sid.glade:2356 src/sid/xs_interface.c:1016
+#: src/sid/xmms-sid.glade:2418 src/sid/xs_interface.c:1048
 msgid "Song length database:"
 msgstr "曲の長さデータベース:"
 
-#: src/sid/xmms-sid.glade:2392 src/sid/xs_interface.c:1021
+#: src/sid/xmms-sid.glade:2454 src/sid/xs_interface.c:1053
 msgid "Songlength"
 msgstr "曲の長さ"
 
-#: src/sid/xmms-sid.glade:2430 src/sid/xs_interface.c:1043
+#: src/sid/xmms-sid.glade:2492 src/sid/xs_interface.c:1075
 msgid ""
 "By enabling this option you can specify a custom Tuplez formatting string "
 "for SID-files. The SID-plugin specific Tuplez tags are described shortly "
@@ -4487,23 +4504,32 @@
 "このオプションを有効にすると,SID ファイルのカスタムタプルフォーマット文字列"
 "を指定できます.SID プラグインで指定するタプルタグはすぐ下に記述します."
 
-#: src/sid/xmms-sid.glade:2432 src/sid/xs_interface.c:1039
+#: src/sid/xmms-sid.glade:2494 src/sid/xs_interface.c:1071
 msgid "Override generic Tuplez format string"
 msgstr "オリジナルのタプルフォーマット文字列を上書きする"
 
-#: src/sid/xmms-sid.glade:2457 src/sid/xs_interface.c:1054
+#: src/sid/xmms-sid.glade:2519 src/sid/xs_interface.c:1086
 msgid "Tuplez format string for SID-files"
 msgstr "SID ファイルのタプルフォーマット文字列"
 
-#: src/sid/xmms-sid.glade:2477 src/sid/xs_interface.c:1057
-msgid "Descriptions of <i>SID-specific</i> Tuplez fields go here. <b>:D</b>"
-msgstr "<i>SID 特有</i>のタプルフィールドはここに記載されます.<b>:D</b>"
-
-#: src/sid/xmms-sid.glade:2511 src/sid/xs_interface.c:1065
+#: src/sid/xmms-sid.glade:2539 src/sid/xs_interface.c:1089
+msgid ""
+"<u>SID-specific Tuplez fields:</u>\n"
+"\n"
+"<b>sid-format</b>\t\t- Specific fileformat\n"
+"<b>sid-model</b>\t\t- 6581 or 8580\n"
+"<b>sid-speed</b>\t\t- Timing or speed: PAL/NTSC/etc.\n"
+"\n"
+"<u>Other \"special\" fields set:</u>\n"
+"\n"
+"<b>subsong-num, subsong-id</b>"
+msgstr ""
+
+#: src/sid/xmms-sid.glade:2581 src/sid/xs_interface.c:1097
 msgid "Song title format:"
 msgstr "曲のタイトルの書式:"
 
-#: src/sid/xmms-sid.glade:2584 src/sid/xs_interface.c:1096
+#: src/sid/xmms-sid.glade:2654 src/sid/xs_interface.c:1128
 msgid ""
 "If enabled, sub-tunes of each file will be added to playlist. If disabled, "
 "only the default sub-tune will be added."
@@ -4511,23 +4537,23 @@
 "有効にすると,各ファイルのサブチューンがプレイリストに追加されます.無効にす"
 "ると,デフォルトのサブチューンのみが追加されます."
 
-#: src/sid/xmms-sid.glade:2586 src/sid/xs_interface.c:1092
+#: src/sid/xmms-sid.glade:2656 src/sid/xs_interface.c:1124
 msgid "Add sub-tunes to playlist"
 msgstr "サブチューンをプレイリストに追加"
 
-#: src/sid/xmms-sid.glade:2605 src/sid/xs_interface.c:1102
+#: src/sid/xmms-sid.glade:2675 src/sid/xs_interface.c:1134
 msgid "Only add sub-tunes that have a duration of at least specified time."
 msgstr "少なくとも指定された時間の持続時間を持ったサブチューンのみ追加します."
 
-#: src/sid/xmms-sid.glade:2607 src/sid/xs_interface.c:1098
+#: src/sid/xmms-sid.glade:2677 src/sid/xs_interface.c:1130
 msgid "Only tunes with specified minimum duration"
 msgstr "指定された最小の長さのチューンのみ"
 
-#: src/sid/xmms-sid.glade:2710 src/sid/xs_interface.c:1129
+#: src/sid/xmms-sid.glade:2780 src/sid/xs_interface.c:1161
 msgid "Sub-tune handling:"
 msgstr "サブチューンの取り扱い:"
 
-#: src/sid/xmms-sid.glade:2755 src/sid/xs_interface.c:1150
+#: src/sid/xmms-sid.glade:2825 src/sid/xs_interface.c:1182
 msgid ""
 "If this option is enabled (and the database & HVSC settings below are "
 "correctly set), Audacious-SID will use and display additional information "
@@ -4537,15 +4563,15 @@
 "Audacious-SID は HVSC SID が演奏された場合 STIL データベースから追加情報の使"
 "用・表示を行います."
 
-#: src/sid/xmms-sid.glade:2757 src/sid/xs_interface.c:1146
+#: src/sid/xmms-sid.glade:2827 src/sid/xs_interface.c:1178
 msgid "Use STIL database"
 msgstr "STIL データベースを使う"
 
-#: src/sid/xmms-sid.glade:2782 src/sid/xs_interface.c:1157
+#: src/sid/xmms-sid.glade:2852 src/sid/xs_interface.c:1189
 msgid "STIL file:"
 msgstr "STIL ファイル:"
 
-#: src/sid/xmms-sid.glade:2819 src/sid/xs_interface.c:1173
+#: src/sid/xmms-sid.glade:2889 src/sid/xs_interface.c:1205
 msgid ""
 "Path and filename of STIL database file (STIL.txt), usually found from "
 "HVSC's DOCUMENTS-subdirectory."
@@ -4553,15 +4579,15 @@
 "STIL データベースファイル (STIL.txt) のパスとファイル名を指定します.通常, "
 "HVSC のドキュメントのサブディレクトリです."
 
-#: src/sid/xmms-sid.glade:2854 src/sid/xs_interface.c:1186
+#: src/sid/xmms-sid.glade:2924 src/sid/xs_interface.c:1218
 msgid "Browse for STIL-database file"
 msgstr "STIL データベースファイルを参照"
 
-#: src/sid/xmms-sid.glade:2888 src/sid/xs_interface.c:1193
+#: src/sid/xmms-sid.glade:3020 src/sid/xs_interface.c:1245
 msgid "HVSC path:"
 msgstr "HVSC パス:"
 
-#: src/sid/xmms-sid.glade:2925 src/sid/xs_interface.c:1209
+#: src/sid/xmms-sid.glade:3057 src/sid/xs_interface.c:1261
 msgid ""
 "Path to base-directory of your High Voltage SID Collection (HVSC), for "
 "example /media/C64Music/"
@@ -4569,88 +4595,88 @@
 "High Voltage SID コレクション (HVSC) のベースディレクトリのパスを指定します. "
 "例: /media/C64Music/"
 
-#: src/sid/xmms-sid.glade:2960 src/sid/xs_interface.c:1222
+#: src/sid/xmms-sid.glade:3092 src/sid/xs_interface.c:1274
 msgid "Browse for HVSC path"
 msgstr "HVSC パスを参照"
 
-#: src/sid/xmms-sid.glade:2990 src/sid/xs_interface.c:1224
+#: src/sid/xmms-sid.glade:3184 src/sid/xs_interface.c:1296
 msgid "SID Tune Information List (STIL) database:"
 msgstr "SID Tune 情報リスト (STIL) データベース:"
 
-#: src/sid/xmms-sid.glade:3063 src/sid/xs_interface.c:1248
+#: src/sid/xmms-sid.glade:3257 src/sid/xs_interface.c:1320
 msgid "Accept and update changes"
 msgstr "変更を承認して更新する"
 
-#: src/sid/xmms-sid.glade:3077 src/sid/xs_interface.c:1255
+#: src/sid/xmms-sid.glade:3271 src/sid/xs_interface.c:1327
 msgid "Cancel any changes"
 msgstr "あらゆる変更を取り消す"
 
-#: src/sid/xmms-sid.glade:3102 src/sid/xs_interface.c:1543
+#: src/sid/xmms-sid.glade:3296 src/sid/xs_interface.c:1627
 msgid "Audacious-SID Fileinfo"
 msgstr "Audacious-SID ファイル情報"
 
-#: src/sid/xmms-sid.glade:3172 src/sid/xs_interface.c:1572
+#: src/sid/xmms-sid.glade:3366 src/sid/xs_interface.c:1656
 msgid "Songname:"
 msgstr "曲名:"
 
-#: src/sid/xmms-sid.glade:3200 src/sid/xs_interface.c:1580
+#: src/sid/xmms-sid.glade:3394 src/sid/xs_interface.c:1664
 msgid "Composer:"
 msgstr "作曲者:"
 
-#: src/sid/xmms-sid.glade:3228 src/sid/xs_interface.c:1588
+#: src/sid/xmms-sid.glade:3422 src/sid/xs_interface.c:1672
 msgid "Copyright:"
 msgstr "著作権:"
 
-#: src/sid/xmms-sid.glade:3342 src/sid/xs_interface.c:1632
+#: src/sid/xmms-sid.glade:3536 src/sid/xs_interface.c:1716
 msgid "Song Information:"
 msgstr "曲情報:"
 
-#: src/sid/xmms-sid.glade:3416 src/sid/xs_interface.c:1667
+#: src/sid/xmms-sid.glade:3610 src/sid/xs_interface.c:1751
 msgid "Author:"
 msgstr "作者:"
 
-#: src/sid/xmms-sid.glade:3514 src/sid/xs_interface.c:1701
+#: src/sid/xmms-sid.glade:3708 src/sid/xs_interface.c:1785
 msgid "Duration:"
 msgstr "持続時間:"
 
-#: src/sid/xmms-sid.glade:3608 src/sid/xs_interface.c:1735
+#: src/sid/xmms-sid.glade:3802 src/sid/xs_interface.c:1819
 msgid "Sub-tune Information:"
 msgstr "サブチューン情報:"
 
-#: src/sid/xmms-sid.glade:3662 src/sid/xs_interface.c:1796
+#: src/sid/xmms-sid.glade:3856 src/sid/xs_interface.c:1880
 msgid "Select HVSC song length database"
 msgstr "HVSC 曲の長さデータベースを選択"
 
-#: src/sid/xmms-sid.glade:3704 src/sid/xs_interface.c:1837
+#: src/sid/xmms-sid.glade:3898 src/sid/xs_interface.c:1921
 msgid "Select STIL-database"
 msgstr "STIL データベースを選択"
 
-#: src/sid/xmms-sid.glade:3746 src/sid/xs_interface.c:1878
+#: src/sid/xmms-sid.glade:3940 src/sid/xs_interface.c:1962
 msgid "Select HVSC location prefix"
 msgstr "HVSC 位置のプレフィックスを選択"
 
-#: src/sid/xmms-sid.glade:3788 src/sid/xs_interface.c:1919
+#: src/sid/xmms-sid.glade:3982 src/sid/xs_interface.c:2003
 msgid "Select SIDPlay2 filters file for importing"
 msgstr "インポートする SIDPlay2 フィルタファイルを選択"
 
-#: src/sid/xmms-sid.glade:3830 src/sid/xs_interface.c:1960
+#: src/sid/xmms-sid.glade:4024 src/sid/xs_interface.c:2044
 msgid "Select SIDPlay2 filters file for exporting"
 msgstr "エクスポートする SIDPlay2 フィルタファイルを選択"
 
-#: src/sid/xmms-sid.glade:3871 src/sid/xmms-sid.glade:3953
-#: src/sid/xs_interface.c:2008 src/sid/xs_interface.c:2021
+#: src/sid/xmms-sid.glade:4065 src/sid/xmms-sid.glade:4147
+#: src/sid/xs_interface.c:2092 src/sid/xs_interface.c:2105
 msgid "Confirm selected action"
 msgstr "選択されたアクションの確認"
 
-#: src/sid/xmms-sid.glade:3909 src/sid/xs_interface.c:2038
+#: src/sid/xmms-sid.glade:4103 src/sid/xs_interface.c:2122
 msgid "Yes"
 msgstr "はい"
 
-#: src/sid/xmms-sid.glade:3921 src/sid/xs_interface.c:2044
+#: src/sid/xmms-sid.glade:4115 src/sid/xs_interface.c:2128
 msgid "No"
 msgstr "いいえ"
 
-#: src/sid/xs_about.c:84 src/wma/wma.c:121
+#: src/sid/xs_about.c:84 src/wma/wma.c:118
 #, c-format
 msgid "About %s"
 msgstr "%s について"
@@ -4664,11 +4690,1147 @@
 msgid "Tune #%i: "
 msgstr "チューン #%i:"
 
-#: src/sndfile/plugin.c:548
+#: src/skins/plugin.c:128
+msgid "About Skinned GUI"
+msgstr ""
+
+#: src/skins/plugin.c:129
+msgid ""
+"Copyright (c) 2008, by Tomasz Moń <desowin@gmail.com>\n"
+"\n"
+msgstr ""
+
+#: src/skins/skins_cfg.c:329
+#, fuzzy
+msgid "<b>_Fonts</b>"
+msgstr "<b>動作:</b>"
+
+#: src/skins/skins_cfg.c:330
+#, fuzzy
+msgid "_Player:"
+msgstr "演奏時間:"
+
+#: src/skins/skins_cfg.c:330
+msgid "Select main player window font:"
+msgstr ""
+
+#: src/skins/skins_cfg.c:331
+#, fuzzy
+msgid "_Playlist:"
+msgstr "プレイリストの選択"
+
+#: src/skins/skins_cfg.c:331
+#, fuzzy
+msgid "Select playlist font:"
+msgstr "プレイリストの選択"
+
+#: src/skins/skins_cfg.c:332
+#, fuzzy
+msgid "Use Bitmap fonts if available"
+msgstr "有効ならば CDDB を使う"
+
+#: src/skins/skins_cfg.c:332
+msgid ""
+"Use bitmap fonts if they are available. Bitmap fonts do not support Unicode "
+"strings."
+msgstr ""
+
+#: src/skins/skins_cfg.c:333
+#, fuzzy
+msgid "<b>_Miscellaneous</b>"
+msgstr "<b>サービス</b>"
+
+#: src/skins/skins_cfg.c:334
+msgid "Show track numbers in playlist"
+msgstr ""
+
+#: src/skins/skins_cfg.c:336
+msgid "Show separators in playlist"
+msgstr ""
+
+#: src/skins/skins_cfg.c:338
+msgid "Show window manager decoration"
+msgstr ""
+
+#: src/skins/skins_cfg.c:339
+msgid "This enables the window manager to show decorations for windows."
+msgstr ""
+
+#: src/skins/skins_cfg.c:340
+msgid "Use two-way text scroller"
+msgstr ""
+
+#: src/skins/skins_cfg.c:341
+msgid ""
+"If selected, the file information text in the main window will scroll back "
+"and forth. If not selected, the text will only scroll in one direction."
+msgstr ""
+
+#: src/skins/skins_cfg.c:342
+msgid "Disable inline gtk theme"
+msgstr ""
+
+#: src/skins/skins_cfg.c:343
+msgid "Allow loading incomplete skins"
+msgstr ""
+
+#: src/skins/skins_cfg.c:344
+msgid ""
+"If selected, audacious won't refuse loading broken skins. Use only if your "
+"favourite skin doesn't work"
+msgstr ""
+
+#: src/skins/skins_cfg.c:410
+msgid "Color Adjustment"
+msgstr ""
+
+#: src/skins/skins_cfg.c:417
+msgid ""
+"Audacious allows you to alter the color balance of the skinned UI. The "
+"sliders below will allow you to do this."
+msgstr ""
+
+#: src/skins/skins_cfg.c:427
+#, fuzzy
+msgid "Blue"
+msgstr "ブルース"
+
+#: src/skins/skins_cfg.c:434
+msgid "Green"
+msgstr ""
+
+#: src/skins/skins_cfg.c:441
+msgid "Red"
+msgstr ""
+
+#: src/skins/skins_cfg.c:571
+#, fuzzy
+msgid "Audacious Skinned GUI Configuration"
+msgstr "Audacious OSD - 設定"
+
+#: src/skins/skins_cfg.c:596
+#, fuzzy
+msgid "<b>_Skin</b>"
+msgstr "<b>動作:</b>"
+
+#: src/skins/ui_equalizer.c:494
+#, fuzzy
+msgid "Audacious Equalizer"
+msgstr "ウィンドウ->イコライザー"
+
+#: src/skins/ui_equalizer.c:794
+#, fuzzy, c-format
+msgid "Error importing Winamp EQF file '%s'"
+msgstr "pixmap ファイルの読み込みエラー: %s"
+
+#: src/skins/ui_equalizer.c:1172
+msgid "Presets"
+msgstr ""
+
+#: src/skins/ui_main.c:392
+#, c-format
+msgid "%s - Audacious"
+msgstr "%s - Audacious"
+
+#: src/skins/ui_main.c:394 src/skins/ui_main.c:2397
+#, fuzzy
+msgid "Audacious"
+msgstr "%s - Audacious"
+
+#: src/skins/ui_main.c:641
+#, fuzzy
+msgid "VBR"
+msgstr "VBR/ABR"
+
+#: src/skins/ui_main.c:659 src/skins/ui_main.c:663
+#, fuzzy
+msgid "stereo"
+msgstr "ステレオ"
+
+#: src/skins/ui_main.c:659 src/skins/ui_main.c:663
+#, fuzzy
+msgid "mono"
+msgstr "モノラル"
+
+#: src/skins/ui_main.c:957
+msgid "Can't jump to time when no track is being played.\n"
+msgstr ""
+
+#: src/skins/ui_main.c:972 src/skins/ui_manager.c:425
+#: src/skins/ui_manager.c:426
+#, fuzzy
+msgid "Jump to Time"
+msgstr "指定ファイルへ移動"
+
+#: src/skins/ui_main.c:993
+#, fuzzy
+msgid "minutes:seconds"
+msgstr "分"
+
+#: src/skins/ui_main.c:1003
+#, fuzzy
+msgid "Track length:"
+msgstr "トラックのゲイン:"
+
+#: src/skins/ui_main.c:1149
+msgid "Audacious - visibility warning"
+msgstr ""
+
+#: src/skins/ui_main.c:1152
+#, fuzzy
+msgid "Show main player window"
+msgstr "ネットワークウィンドウの表示"
+
+#: src/skins/ui_main.c:1153
+msgid "Ignore"
+msgstr ""
+
+#: src/skins/ui_main.c:1159
+msgid ""
+"Audacious has been started with all of its windows hidden.\n"
+"You may want to show the player window again to control Audacious; "
+"otherwise, you'll have to control it remotely via audtool or enabled plugins "
+"(such as the statusicon plugin)."
+msgstr ""
+
+#: src/skins/ui_main.c:1165
+msgid "Always ignore, show/hide is controlled remotely"
+msgstr ""
+
+#: src/skins/ui_main.c:1210
+msgid "Audacious - broken GTK engine usage warning"
+msgstr ""
+
+#: src/skins/ui_main.c:1218
+#, c-format
+msgid ""
+"<big><b>Broken GTK engine in use</b></big>\n"
+"\n"
+"Audacious has detected that you are using a broken GTK engine.\n"
+"\n"
+"The theme engine you are using, <i>%s</i>, is incompatible with some of the "
+"features used by modern skins. The incompatible features have been disabled "
+"for this session.\n"
+"\n"
+"To use these features, please consider using a different GTK theme engine."
+msgstr ""
+
+#: src/skins/ui_main.c:1229
+msgid "Do not display this warning again"
+msgstr ""
+
+#: src/skins/ui_main.c:1253
+msgid "Enter location to play:"
+msgstr ""
+
+#: src/skins/ui_main.c:1497
+#, c-format
+msgid "Seek to: %d:%-2.2d/%d:%-2.2d (%d%%)"
+msgstr ""
+
+#: src/skins/ui_main.c:1527
+#, fuzzy, c-format
+msgid "Volume: %d%%"
+msgstr "音量: (%)"
+
+#: src/skins/ui_main.c:1555
+#, c-format
+msgid "Balance: %d%% left"
+msgstr ""
+
+#: src/skins/ui_main.c:1559
+msgid "Balance: center"
+msgstr ""
+
+#: src/skins/ui_main.c:1563
+#, c-format
+msgid "Balance: %d%% right"
+msgstr ""
+
+#: src/skins/ui_main.c:1881
+#, fuzzy
+msgid "Options Menu"
+msgstr "オプション"
+
+#: src/skins/ui_main.c:1885
+msgid "Disable 'Always On Top'"
+msgstr ""
+
+#: src/skins/ui_main.c:1887
+msgid "Enable 'Always On Top'"
+msgstr ""
+
+#: src/skins/ui_main.c:1890
+#, fuzzy
+msgid "File Info Box"
+msgstr "ファイル情報"
+
+#: src/skins/ui_main.c:1894
+msgid "Disable 'GUI Scaling'"
+msgstr ""
+
+#: src/skins/ui_main.c:1896
+#, fuzzy
+msgid "Enable 'GUI Scaling'"
+msgstr "オーディオリサンプリングを有効にする"
+
+#: src/skins/ui_main.c:1899
+msgid "Visualization Menu"
+msgstr ""
+
+#: src/skins/ui_main.c:1946
+msgid ""
+"<b><big>Couldn't open audio.</big></b>\n"
+"\n"
+"Please check that:\n"
+"1. You have the correct output plugin selected.\n"
+"2. No other programs is blocking the soundcard.\n"
+"3. Your soundcard is configured properly.\n"
+msgstr ""
+
+#: src/skins/ui_manager.c:53 src/skins/ui_manager.c:54
+msgid "Autoscroll Songname"
+msgstr ""
+
+#: src/skins/ui_manager.c:56 src/skins/ui_manager.c:57
+msgid "Stop after Current Song"
+msgstr ""
+
+#: src/skins/ui_manager.c:59 src/skins/ui_manager.c:60
+#, fuzzy
+msgid "Peaks"
+msgstr "プランク"
+
+#: src/skins/ui_manager.c:62 src/skins/ui_manager.c:63
+#, fuzzy
+msgid "Repeat"
+msgstr "ビート"
+
+#: src/skins/ui_manager.c:65 src/skins/ui_manager.c:66
+msgid "Shuffle"
+msgstr ""
+
+#: src/skins/ui_manager.c:68 src/skins/ui_manager.c:69
+msgid "No Playlist Advance"
+msgstr ""
+
+#: src/skins/ui_manager.c:71 src/skins/ui_manager.c:72
+msgid "Show Player"
+msgstr ""
+
+#: src/skins/ui_manager.c:74 src/skins/ui_manager.c:75
+msgid "Show Playlist Editor"
+msgstr ""
+
+#: src/skins/ui_manager.c:77 src/skins/ui_manager.c:78
+#, fuzzy
+msgid "Show Equalizer"
+msgstr "ウィンドウ->イコライザー"
+
+#: src/skins/ui_manager.c:80 src/skins/ui_manager.c:81
+msgid "Always on Top"
+msgstr ""
+
+#: src/skins/ui_manager.c:83 src/skins/ui_manager.c:84
+msgid "Put on All Workspaces"
+msgstr ""
+
+#: src/skins/ui_manager.c:86 src/skins/ui_manager.c:87
+msgid "Roll up Player"
+msgstr ""
+
+#: src/skins/ui_manager.c:89 src/skins/ui_manager.c:90
+msgid "Roll up Playlist Editor"
+msgstr ""
+
+#: src/skins/ui_manager.c:92 src/skins/ui_manager.c:93
+msgid "Roll up Equalizer"
+msgstr ""
+
+#: src/skins/ui_manager.c:95 src/sndstretch/sndstretch_xmms.c:375
+msgid "Scale"
+msgstr "スケール"
+
+#: src/skins/ui_manager.c:96
+msgid "DoubleSize"
+msgstr ""
+
+#: src/skins/ui_manager.c:98 src/skins/ui_manager.c:99
+msgid "Easy Move"
+msgstr ""
+
+#: src/skins/ui_manager.c:107
+#, fuzzy
+msgid "Analyzer"
+msgstr "スペクトラムアナライザ"
+
+#: src/skins/ui_manager.c:108
+#, fuzzy
+msgid "Scope"
+msgstr "演奏停止"
+
+#: src/skins/ui_manager.c:109
+msgid "Voiceprint"
+msgstr ""
+
+#: src/skins/ui_manager.c:110
+msgid "Off"
+msgstr ""
+
+#: src/skins/ui_manager.c:114 src/skins/ui_manager.c:131
+#: src/skins/ui_manager.c:137
+#, fuzzy
+msgid "Normal"
+msgstr "フォーマット"
+
+#: src/skins/ui_manager.c:115 src/skins/ui_manager.c:132
+#, fuzzy
+msgid "Fire"
+msgstr "サティア"
+
+#: src/skins/ui_manager.c:116
+msgid "Vertical Lines"
+msgstr ""
+
+#: src/skins/ui_manager.c:120
+#, fuzzy
+msgid "Lines"
+msgstr "分"
+
+#: src/skins/ui_manager.c:121
+#, fuzzy
+msgid "Bars"
+msgstr "ベース"
+
+#: src/skins/ui_manager.c:125
+#, fuzzy
+msgid "Dot Scope"
+msgstr "ループしない"
+
+#: src/skins/ui_manager.c:126
+msgid "Line Scope"
+msgstr ""
+
+#: src/skins/ui_manager.c:127
+msgid "Solid Scope"
+msgstr ""
+
+#: src/skins/ui_manager.c:133
+msgid "Ice"
+msgstr ""
+
+#: src/skins/ui_manager.c:138
+msgid "Smooth"
+msgstr ""
+
+#: src/skins/ui_manager.c:142
+msgid "Full (~50 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:143
+msgid "Half (~25 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:144
+msgid "Quarter (~13 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:145
+msgid "Eighth (~6 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:149 src/skins/ui_manager.c:157
+#, fuzzy
+msgid "Slowest"
+msgstr "ショーチューン"
+
+#: src/skins/ui_manager.c:150 src/skins/ui_manager.c:158
+#, fuzzy
+msgid "Slow"
+msgstr "低"
+
+#: src/skins/ui_manager.c:151 src/skins/ui_manager.c:159
+#, fuzzy
+msgid "Medium"
+msgstr "中"
+
+#: src/skins/ui_manager.c:152 src/skins/ui_manager.c:160
+#, fuzzy
+msgid "Fast"
+msgstr "フォーマット"
+
+#: src/skins/ui_manager.c:153 src/skins/ui_manager.c:161
+msgid "Fastest"
+msgstr ""
+
+#: src/skins/ui_manager.c:165
+msgid "Time Elapsed"
+msgstr ""
+
+#: src/skins/ui_manager.c:166
+msgid "Time Remaining"
+msgstr ""
+
+#: src/skins/ui_manager.c:180 src/skins/ui_manager.c:181
+#, fuzzy
+msgid "Pause"
+msgstr "演奏停止"
+
+#: src/skins/ui_manager.c:186 src/skins/ui_manager.c:187
+#, fuzzy
+msgid "Previous"
+msgstr "前のトラック"
+
+#: src/skins/ui_manager.c:189 src/skins/ui_manager.c:190
+#, fuzzy
+msgid "Next"
+msgstr "文字"
+
+#: src/skins/ui_manager.c:195
+#, fuzzy
+msgid "Visualization"
+msgstr "組織:"
+
+#: src/skins/ui_manager.c:196
+msgid "Visualization Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:197
+msgid "Analyzer Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:198
+msgid "Scope Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:199
+msgid "Voiceprint Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:200
+msgid "WindowShade VU Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:201
+msgid "Refresh Rate"
+msgstr ""
+
+#: src/skins/ui_manager.c:202
+msgid "Analyzer Falloff"
+msgstr ""
+
+#: src/skins/ui_manager.c:203
+msgid "Peaks Falloff"
+msgstr ""
+
+#: src/skins/ui_manager.c:208
+#, fuzzy
+msgid "Playlist"
+msgstr "プレイリストの選択"
+
+#: src/skins/ui_manager.c:210 src/skins/ui_manager.c:211
+#, fuzzy
+msgid "New Playlist"
+msgstr "プレイリストの選択"
+
+#: src/skins/ui_manager.c:213 src/skins/ui_manager.c:214
+#, fuzzy
+msgid "Select Next Playlist"
+msgstr "プレイリストの選択"
+
+#: src/skins/ui_manager.c:216 src/skins/ui_manager.c:217
+#, fuzzy
+msgid "Select Previous Playlist"
+msgstr "プレイリストの選択"
+
+#: src/skins/ui_manager.c:219 src/skins/ui_manager.c:220
+#, fuzzy
+msgid "Delete Playlist"
+msgstr "プレイリストの選択"
+
+#: src/skins/ui_manager.c:222
+#, fuzzy
+msgid "Load List"
+msgstr "読み込み"
+
+#: src/skins/ui_manager.c:223
+msgid "Loads a playlist file into the selected playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:225
+#, fuzzy
+msgid "Save List"
+msgstr "保存"
+
+#: src/skins/ui_manager.c:226
+#, fuzzy
+msgid "Saves the selected playlist."
+msgstr "プレイリストの選択"
+
+#: src/skins/ui_manager.c:228
+#, fuzzy
+msgid "Save Default List"
+msgstr "デフォルト (%s)"
+
+#: src/skins/ui_manager.c:229
+msgid "Saves the selected playlist to the default location."
+msgstr ""
+
+#: src/skins/ui_manager.c:232
+msgid "Refresh List"
+msgstr ""
+
+#: src/skins/ui_manager.c:233
+msgid "Refreshes metadata associated with a playlist entry."
+msgstr ""
+
+#: src/skins/ui_manager.c:236
+msgid "List Manager"
+msgstr ""
+
+#: src/skins/ui_manager.c:237
+msgid "Opens the playlist manager."
+msgstr ""
+
+#: src/skins/ui_manager.c:243
+msgid "View"
+msgstr ""
+
+#: src/skins/ui_manager.c:247
+msgid "Add Internet Address..."
+msgstr ""
+
+#: src/skins/ui_manager.c:248
+msgid "Adds a remote track to the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:251
+msgid "Add Files..."
+msgstr ""
+
+#: src/skins/ui_manager.c:252
+#, fuzzy
+msgid "Adds files to the playlist."
+msgstr "サブチューンをプレイリストに追加"
+
+#: src/skins/ui_manager.c:257
+msgid "Search and Select"
+msgstr ""
+
+#: src/skins/ui_manager.c:258
+msgid ""
+"Searches the playlist and selects playlist entries based on specific "
+"criteria."
+msgstr ""
+
+#: src/skins/ui_manager.c:261
+#, fuzzy
+msgid "Invert Selection"
+msgstr "フォーマット選択"
+
+#: src/skins/ui_manager.c:262
+msgid "Inverts the selected and unselected entries."
+msgstr ""
+
+#: src/skins/ui_manager.c:265
+#, fuzzy
+msgid "Select All"
+msgstr "プレイリストの選択"
+
+#: src/skins/ui_manager.c:266
+msgid "Selects all of the playlist entries."
+msgstr ""
+
+#: src/skins/ui_manager.c:269
+#, fuzzy
+msgid "Select None"
+msgstr "スキンファイル選択"
+
+#: src/skins/ui_manager.c:270
+msgid "Deselects all of the playlist entries."
+msgstr ""
+
+#: src/skins/ui_manager.c:275
+#, fuzzy
+msgid "Remove All"
+msgstr "削除"
+
+#: src/skins/ui_manager.c:276
+msgid "Removes all entries from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:279
+msgid "Clear Queue"
+msgstr ""
+
+#: src/skins/ui_manager.c:280
+msgid "Clears the queue associated with this playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:283
+msgid "Remove Unavailable Files"
+msgstr ""
+
+#: src/skins/ui_manager.c:284
+msgid "Removes unavailable files from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:287
+#, fuzzy
+msgid "Remove Duplicates"
+msgstr "ドライブの削除"
+
+#: src/skins/ui_manager.c:289 src/skins/ui_manager.c:321
+#: src/skins/ui_manager.c:351
+#, fuzzy
+msgid "By Title"
+msgstr "タイトル"
+
+#: src/skins/ui_manager.c:290
+msgid "Removes duplicate entries from the playlist by title."
+msgstr ""
+
+#: src/skins/ui_manager.c:293 src/skins/ui_manager.c:329
+#: src/skins/ui_manager.c:359
+#, fuzzy
+msgid "By Filename"
+msgstr "ファイル名"
+
+#: src/skins/ui_manager.c:294
+msgid "Removes duplicate entries from the playlist by filename."
+msgstr ""
+
+#: src/skins/ui_manager.c:297 src/skins/ui_manager.c:333
+#: src/skins/ui_manager.c:363
+#, fuzzy
+msgid "By Path + Filename"
+msgstr "ファイル名"
+
+#: src/skins/ui_manager.c:298
+msgid "Removes duplicate entries from the playlist by their full path."
+msgstr ""
+
+#: src/skins/ui_manager.c:301
+msgid "Remove Unselected"
+msgstr ""
+
+#: src/skins/ui_manager.c:302
+msgid "Remove unselected entries from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:305
+msgid "Remove Selected"
+msgstr ""
+
+#: src/skins/ui_manager.c:306
+msgid "Remove selected entries from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:311
+msgid "Randomize List"
+msgstr ""
+
+#: src/skins/ui_manager.c:312
+msgid "Randomizes the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:315
+msgid "Reverse List"
+msgstr ""
+
+#: src/skins/ui_manager.c:316
+msgid "Reverses the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:319
+#, fuzzy
+msgid "Sort List"
+msgstr "アーティスト:"
+
+#: src/skins/ui_manager.c:322 src/skins/ui_manager.c:352
+msgid "Sorts the list by title."
+msgstr ""
+
+#: src/skins/ui_manager.c:325 src/skins/ui_manager.c:355
+#, fuzzy
+msgid "By Artist"
+msgstr "アーティスト:"
+
+#: src/skins/ui_manager.c:326 src/skins/ui_manager.c:356
+msgid "Sorts the list by artist."
+msgstr ""
+
+#: src/skins/ui_manager.c:330 src/skins/ui_manager.c:360
+msgid "Sorts the list by filename."
+msgstr ""
+
+#: src/skins/ui_manager.c:334 src/skins/ui_manager.c:364
+msgid "Sorts the list by full pathname."
+msgstr ""
+
+#: src/skins/ui_manager.c:337 src/skins/ui_manager.c:367
+#, fuzzy
+msgid "By Date"
+msgstr "日付:"
+
+#: src/skins/ui_manager.c:338 src/skins/ui_manager.c:368
+msgid "Sorts the list by modification time."
+msgstr ""
+
+#: src/skins/ui_manager.c:341 src/skins/ui_manager.c:371
+#, fuzzy
+msgid "By Track Number"
+msgstr "トラック番号:"
+
+#: src/skins/ui_manager.c:342 src/skins/ui_manager.c:372
+msgid "Sorts the list by track number."
+msgstr ""
+
+#: src/skins/ui_manager.c:345 src/skins/ui_manager.c:375
+#, fuzzy
+msgid "By Playlist Entry"
+msgstr "高速なプレイリスト情報"
+
+#: src/skins/ui_manager.c:346 src/skins/ui_manager.c:376
+msgid "Sorts the list by playlist entry."
+msgstr ""
+
+#: src/skins/ui_manager.c:349
+#, fuzzy
+msgid "Sort Selected"
+msgstr "フォーマット選択"
+
+#: src/skins/ui_manager.c:385
+#, fuzzy
+msgid "File"
+msgstr "フィルタ"
+
+#: src/skins/ui_manager.c:388
+msgid "Plugin Services"
+msgstr ""
+
+#: src/skins/ui_manager.c:390 src/skins/ui_manager.c:393
+#, fuzzy
+msgid "View Track Details"
+msgstr "トラックゲインを使用する"
+
+#: src/skins/ui_manager.c:391 src/skins/ui_manager.c:394
+msgid "View track details"
+msgstr ""
+
+#: src/skins/ui_manager.c:396 src/skins/ui_manager.c:397
+#, fuzzy
+msgid "About Audacious"
+msgstr "LIRC Audacious プラグインについて"
+
+#: src/skins/ui_manager.c:399
+#, fuzzy
+msgid "Play File"
+msgstr "演奏時間:"
+
+#: src/skins/ui_manager.c:400
+#, fuzzy
+msgid "Load and play a file"
+msgstr "プレイヤ起動時に SF を読み込む"
+
+#: src/skins/ui_manager.c:402
+#, fuzzy
+msgid "Play Location"
+msgstr "場所:"
+
+#: src/skins/ui_manager.c:403
+#, fuzzy
+msgid "Play media from the selected location"
+msgstr "選択されたアクションの確認"
+
+#: src/skins/ui_manager.c:405
+msgid "Plugin services"
+msgstr ""
+
+#: src/skins/ui_manager.c:407
+msgid "Preferences"
+msgstr ""
+
+#: src/skins/ui_manager.c:408
+msgid "Open preferences window"
+msgstr ""
+
+#: src/skins/ui_manager.c:410
+#, fuzzy
+msgid "_Quit"
+msgstr "品質"
+
+#: src/skins/ui_manager.c:411
+#, fuzzy
+msgid "Quit Audacious"
+msgstr "%s - Audacious"
+
+#: src/skins/ui_manager.c:413 src/skins/ui_manager.c:414
+msgid "Set A-B"
+msgstr ""
+
+#: src/skins/ui_manager.c:416 src/skins/ui_manager.c:417
+msgid "Clear A-B"
+msgstr ""
+
+#: src/skins/ui_manager.c:419 src/skins/ui_manager.c:420
+msgid "Jump to Playlist Start"
+msgstr ""
+
+#: src/skins/ui_manager.c:428
+msgid "Queue Toggle"
+msgstr ""
+
+#: src/skins/ui_manager.c:429
+msgid "Enables/disables the entry in the playlist's queue."
+msgstr ""
+
+#: src/skins/ui_manager.c:436
+msgid "Load"
+msgstr "読み込み"
+
+#: src/skins/ui_manager.c:441 src/skins/ui_manager.c:462
+#: src/skins/ui_manager.c:477
+#, fuzzy
+msgid "Preset"
+msgstr "ポート"
+
+#: src/skins/ui_manager.c:442
+msgid "Load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:444 src/skins/ui_manager.c:465
+#: src/skins/ui_manager.c:480
+msgid "Auto-load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:445
+msgid "Load auto-load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:448
+#, fuzzy
+msgid "Load default preset into equalizer"
+msgstr "デフォルト値を読み込む"
+
+#: src/skins/ui_manager.c:450
+#, fuzzy
+msgid "Zero"
+msgstr "レトロ"
+
+#: src/skins/ui_manager.c:451
+msgid "Set equalizer preset levels to zero"
+msgstr ""
+
+#: src/skins/ui_manager.c:453
+#, fuzzy
+msgid "From file"
+msgstr "プロファイル: %s"
+
+#: src/skins/ui_manager.c:454
+#, fuzzy
+msgid "Load preset from file"
+msgstr "ファイルから読み込めません\n"
+
+#: src/skins/ui_manager.c:456
+msgid "From WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:457
+msgid "Load preset from WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:459
+msgid "WinAMP Presets"
+msgstr ""
+
+#: src/skins/ui_manager.c:460
+msgid "Import WinAMP presets"
+msgstr ""
+
+#: src/skins/ui_manager.c:463
+msgid "Save preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:466
+msgid "Save auto-load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:469
+#, fuzzy
+msgid "Save default preset"
+msgstr "デフォルト値を読み込む"
+
+#: src/skins/ui_manager.c:471
+#, fuzzy
+msgid "To file"
+msgstr "STIL ファイル:"
+
+#: src/skins/ui_manager.c:472
+msgid "Save preset to file"
+msgstr ""
+
+#: src/skins/ui_manager.c:474
+msgid "To WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:475
+msgid "Save preset to WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:478
+#, fuzzy
+msgid "Delete preset"
+msgstr "削除"
+
+#: src/skins/ui_manager.c:481
+msgid "Delete auto-load preset"
+msgstr ""
+
+#: src/skins/ui_playlist.c:454
+msgid "Search entries in active playlist"
+msgstr ""
+
+#: src/skins/ui_playlist.c:462
+msgid ""
+"Select entries in playlist by filling one or more fields. Fields use regular "
+"expressions syntax, case-insensitive. If you don't know how regular "
+"expressions work, simply insert a literal portion of what you're searching "
+"for."
+msgstr ""
+
+#: src/skins/ui_playlist.c:477
+#, fuzzy
+msgid "Album: "
+msgstr "アルバム名:"
+
+#: src/skins/ui_playlist.c:484
+#, fuzzy
+msgid "Artist: "
+msgstr "アーティスト:"
+
+#: src/skins/ui_playlist.c:491
+#, fuzzy
+msgid "Filename: "
+msgstr "ファイル名:"
+
+#: src/skins/ui_playlist.c:499
+msgid "Clear previous selection before searching"
+msgstr ""
+
+#: src/skins/ui_playlist.c:502
+msgid "Automatically toggle queue for matching entries"
+msgstr ""
+
+#: src/skins/ui_playlist.c:505
+msgid "Create a new playlist with matching entries"
+msgstr ""
+
+#: src/skins/ui_playlist.c:724
+#, c-format
+msgid "Error writing playlist \"%s\": %s"
+msgstr ""
+
+#: src/skins/ui_playlist.c:746
+#, c-format
+msgid "%s already exist. Continue?"
+msgstr ""
+
+#: src/skins/ui_playlist.c:761
+#, c-format
+msgid ""
+"<b><big>Unable to save playlist.</big></b>\n"
+"\n"
+"Unknown file type for '%s'.\n"
+msgstr ""
+
+#: src/skins/ui_playlist.c:887
+#, fuzzy
+msgid "Save as Static Playlist"
+msgstr "プレイリストの選択"
+
+#: src/skins/ui_playlist.c:894
+msgid "Use Relative Path"
+msgstr ""
+
+#: src/skins/ui_playlist.c:916
+#, fuzzy
+msgid "Load Playlist"
+msgstr "高速なプレイリスト情報"
+
+#: src/skins/ui_playlist.c:929
+#, fuzzy
+msgid "Save Playlist"
+msgstr "プレイリストの選択"
+
+#: src/skins/ui_playlist.c:1497
+#, fuzzy
+msgid "Audacious Playlist Editor"
+msgstr "高速なプレイリスト情報"
+
+#: src/skins/ui_skinned_equalizer_slider.c:377
+msgid "PREAMP"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:377
+msgid "60HZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:377
+msgid "170HZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:378
+msgid "310HZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:378
+#, fuzzy
+msgid "600HZ"
+msgstr "11000 Hz"
+
+#: src/skins/ui_skinned_equalizer_slider.c:378
+msgid "1KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:379
+msgid "3KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:379
+msgid "6KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:379
+msgid "12KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:380
+msgid "14KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:380
+msgid "16KHZ"
+msgstr ""
+
+#: src/skins/ui_skinselector.c:178
+msgid "Archived Winamp 2.x skin"
+msgstr ""
+
+#: src/skins/ui_skinselector.c:183
+msgid "Unarchived Winamp 2.x skin"
+msgstr ""
+
+#: src/skins/util.c:1132
+#, fuzzy, c-format
+msgid "Could not create directory (%s): %s\n"
+msgstr "sidFilename ('%s') を割り当てられませんでした\n"
+
+#: src/sndfile/plugin.c:554
 msgid "About sndfile plugin"
 msgstr "sndfile プラグインについて"
 
-#: src/sndfile/plugin.c:549
+#: src/sndfile/plugin.c:555
 msgid ""
 "Adapted for Audacious usage by Tony Vroon <chainsaw@gentoo.org>\n"
 "from the xmms_sndfile plugin which is:\n"
@@ -4710,63 +5872,59 @@
 "51 Franklin Street, Fifth Floor, \n"
 "Boston, MA  02110-1301  USA へ手紙を書いて下さい."
 
-#: src/sndstretch/sndstretch_xmms.c:159
+#: src/sndstretch/sndstretch_xmms.c:158
 msgid "About SndStretch"
 msgstr "SndStretch について"
 
-#: src/sndstretch/sndstretch_xmms.c:319
+#: src/sndstretch/sndstretch_xmms.c:318
 msgid "Volume corr."
 msgstr "音量補正"
 
-#: src/sndstretch/sndstretch_xmms.c:320
+#: src/sndstretch/sndstretch_xmms.c:319
 msgid "Short Overlap"
 msgstr "一部重ね合わせ"
 
+#: src/sndstretch/sndstretch_xmms.c:373
+msgid "Speed"
+msgstr "スピード"
+
 #: src/sndstretch/sndstretch_xmms.c:374
-msgid "Speed"
-msgstr "スピード"
-
-#: src/sndstretch/sndstretch_xmms.c:375
 msgid "Pitch"
 msgstr "ピッチ"
 
-#: src/sndstretch/sndstretch_xmms.c:376
-msgid "Scale"
-msgstr "スケール"
-
-#: src/sndstretch/sndstretch_xmms.c:396
+#: src/sndstretch/sndstretch_xmms.c:395
 msgid "SndStretch - Configuration"
 msgstr "SndStretch - 設定"
 
-#: src/song_change/song_change.c:312
+#: src/song_change/song_change.c:310
 msgid "Commands"
 msgstr "コマンド"
 
-#: src/song_change/song_change.c:319
+#: src/song_change/song_change.c:317
 msgid "Command to run when Audacious starts a new song."
 msgstr "Audacious が新しい曲を開始したときに実行するコマンド"
 
-#: src/song_change/song_change.c:328 src/song_change/song_change.c:350
-#: src/song_change/song_change.c:371 src/song_change/song_change.c:392
+#: src/song_change/song_change.c:326 src/song_change/song_change.c:348
+#: src/song_change/song_change.c:369 src/song_change/song_change.c:390
 msgid "Command:"
 msgstr "コマンド:"
 
-#: src/song_change/song_change.c:342
+#: src/song_change/song_change.c:340
 msgid "Command to run toward the end of a song."
 msgstr "曲の終わりで実行するコマンド."
 
-#: src/song_change/song_change.c:362
+#: src/song_change/song_change.c:360
 msgid "Command to run when Audacious reaches the end of the playlist."
 msgstr "Audacious がプレイリストの最後に到達したときに実行するコマンド."
 
-#: src/song_change/song_change.c:383
+#: src/song_change/song_change.c:381
 msgid ""
 "Command to run when title changes for a song (i.e. network streams titles)."
 msgstr ""
 "例えばネットワークストリームのタイトルなど, 曲のタイトルが変わったときに実行"
 "するコマンド."
 
-#: src/song_change/song_change.c:404
+#: src/song_change/song_change.c:402
 #, c-format
 msgid ""
 "You can use the following format strings which\n"
@@ -4794,7 +5952,7 @@
 "%%t: プレイリストの位置 (%%02d)\n"
 "%%p: 現在演奏中か (1 or 0)"
 
-#: src/song_change/song_change.c:429
+#: src/song_change/song_change.c:427
 msgid ""
 "<span size='small'>Parameters passed to the shell should be encapsulated in "
 "quotes. Doing otherwise is a security risk.</span>"
@@ -4802,7 +5960,7 @@
 "<span size='small'>シェルに渡されるパラメータはクォートでくくられるべきです."
 "さもないとセキュリティ上の危険があります.</span>"
 
-#: src/spectrum/spectrum.c:90
+#: src/spectrum/spectrum.c:89
 msgid "Spectrum Analyzer"
 msgstr "スペクトラムアナライザ"
 
@@ -4814,11 +5972,11 @@
 msgid "The orientation of the tray"
 msgstr "トレイの向き"
 
-#: src/statusicon/si_ui.c:622
+#: src/statusicon/si_ui.c:620
 msgid "About Status Icon Plugin"
 msgstr "ステータスアイコン プラグインについて"
 
-#: src/statusicon/si_ui.c:624
+#: src/statusicon/si_ui.c:622
 msgid ""
 "\n"
 "written by Giacomo Lozito < james@develia.org >\n"
@@ -4832,39 +5990,39 @@
 "このプラグインは, ウィンドウマネージャの\n"
 "システムトレイエリアに置かれるステータスアイコンを提供します.\n"
 
-#: src/statusicon/si_ui.c:696
+#: src/statusicon/si_ui.c:694
 msgid "Status Icon Plugin - Preferences"
 msgstr "ステータスアイコンプラグイン - 設定"
 
-#: src/statusicon/si_ui.c:707
+#: src/statusicon/si_ui.c:705
 msgid "Right-Click Menu"
 msgstr "右クリックメニュー"
 
-#: src/statusicon/si_ui.c:712
+#: src/statusicon/si_ui.c:710
 msgid "Audacious standard menu"
 msgstr "Audacious 標準メニュー"
 
-#: src/statusicon/si_ui.c:717
+#: src/statusicon/si_ui.c:715
 msgid "Small playback menu #1"
 msgstr "小型再生メニュー #1"
 
-#: src/statusicon/si_ui.c:722
+#: src/statusicon/si_ui.c:720
 msgid "Small playback menu #2"
 msgstr "小型再生メニュー #2"
 
-#: src/statusicon/si_ui.c:745
+#: src/statusicon/si_ui.c:743
 msgid "Mouse Scroll Action"
 msgstr "マウススクロールの動作"
 
-#: src/statusicon/si_ui.c:750
+#: src/statusicon/si_ui.c:748
 msgid "Change volume"
 msgstr "音量の変更"
 
-#: src/statusicon/si_ui.c:755
+#: src/statusicon/si_ui.c:753
 msgid "Change playing song"
 msgstr "演奏曲の変更"
 
-#: src/stereo_plugin/stereo.c:26
+#: src/stereo_plugin/stereo.c:25
 msgid ""
 "Extra Stereo Plugin\n"
 "\n"
@@ -4874,23 +6032,19 @@
 "\n"
 "1999. Johan Levin による"
 
-#: src/stereo_plugin/stereo.c:52
+#: src/stereo_plugin/stereo.c:51
 msgid "About Extra Stereo Plugin"
 msgstr "エクストラステレオプラグインについて"
 
-#: src/stereo_plugin/stereo.c:93
+#: src/stereo_plugin/stereo.c:92
 msgid "Configure Extra Stereo"
 msgstr "エクストラステレオの設定"
 
-#: src/stereo_plugin/stereo.c:95
-msgid "Effect intensity:"
-msgstr "エフェクトの強さ:"
+#: src/sun/about.c:33
+msgid "About the Sun Driver"
+msgstr "Sun ドライバについて"
 
 #: src/sun/about.c:34
-msgid "About the Sun Driver"
-msgstr "Sun ドライバについて"
-
-#: src/sun/about.c:35
 msgid ""
 "XMMS BSD Sun Driver\n"
 "\n"
@@ -4902,19 +6056,19 @@
 "Copyright (c) 2001 CubeSoft Communications, Inc.\n"
 "メンテナ: <vedge at csoft.org>.\n"
 
-#: src/sun/configure.c:201
+#: src/sun/configure.c:199
 msgid "Audio control device:"
 msgstr "オーディオコントロールデバイス:"
 
-#: src/sun/configure.c:350
+#: src/sun/configure.c:348
 msgid "Volume controls device:"
 msgstr "音量コントロールデバイス:"
 
-#: src/sun/configure.c:363
+#: src/sun/configure.c:361
 msgid "XMMS uses mixer exclusively."
 msgstr "ミキサを排他的に使う"
 
-#: src/sun/configure.c:538
+#: src/sun/configure.c:536
 msgid "Sun driver configuration"
 msgstr "Sun ドライバの設定"
 
@@ -4942,7 +6096,7 @@
 msgid "TiMidity Configuration File"
 msgstr "TiMidity 設定ファイル"
 
-#: src/timidity/xmms-timidity.c:118
+#: src/timidity/xmms-timidity.c:115
 msgid ""
 "TiMidity Plugin\n"
 "http://libtimidity.sourceforge.net\n"
@@ -4952,20 +6106,20 @@
 "http://libtimidity.sourceforge.net\n"
 "Konstantin Korikov による"
 
-#: src/timidity/xmms-timidity.c:119
+#: src/timidity/xmms-timidity.c:116
 #, c-format
 msgid "TiMidity Plugin %s"
 msgstr "TiMidity プラグイン %s"
 
-#: src/timidity/xmms-timidity.c:336
+#: src/timidity/xmms-timidity.c:333
 msgid "Couldn't load MIDI file"
 msgstr "MIDI ファイルを読み込めません"
 
-#: src/tonegen/tonegen.c:56
+#: src/tonegen/tonegen.c:55
 msgid "About Tone Generator"
 msgstr "トーンジェネレータについて"
 
-#: src/tonegen/tonegen.c:58
+#: src/tonegen/tonegen.c:57
 msgid ""
 "Sinus tone generator by Haavard Kvaalen <havardk@xmms.org>\n"
 "Modified by Daniel J. Peng <danielpeng@bigfoot.com>\n"
@@ -4979,52 +6133,52 @@
 "URLに tone://frequency1;frequency2;frequency3;... と追加して使用します\n"
 "例 tone://2000;2005 は 2000Hz トーンと 2005Hz トーンを演奏します"
 
-#: src/tonegen/tonegen.c:167
+#: src/tonegen/tonegen.c:166
 #, c-format
 msgid "%s %.1f Hz"
 msgstr "%s %.1f Hz"
 
-#: src/tonegen/tonegen.c:167
+#: src/tonegen/tonegen.c:166
 msgid "Tone Generator: "
 msgstr "トーンジェネレータ: "
 
-#: src/tta/libtta.c:130
+#: src/tta/libtta.c:127
 msgid "Can't open file\n"
 msgstr "ファイルを開けません\n"
 
+#: src/tta/libtta.c:130
+msgid "Not supported file format\n"
+msgstr "サポートしていないファイルフォーマットです\n"
+
 #: src/tta/libtta.c:133
-msgid "Not supported file format\n"
-msgstr "サポートしていないファイルフォーマットです\n"
+msgid "File is corrupted\n"
+msgstr "ファイルが壊れています\n"
 
 #: src/tta/libtta.c:136
-msgid "File is corrupted\n"
-msgstr "ファイルが壊れています\n"
+msgid "Can't read from file\n"
+msgstr "ファイルから読み込めません\n"
 
 #: src/tta/libtta.c:139
-msgid "Can't read from file\n"
-msgstr "ファイルから読み込めません\n"
+msgid "Insufficient memory available\n"
+msgstr "利用可能メモリが不十分です\n"
 
 #: src/tta/libtta.c:142
-msgid "Insufficient memory available\n"
-msgstr "利用可能メモリが不十分です\n"
+msgid "Output plugin error\n"
+msgstr "出力プラグインエラー\n"
 
 #: src/tta/libtta.c:145
-msgid "Output plugin error\n"
-msgstr "出力プラグインエラー\n"
-
-#: src/tta/libtta.c:148
 msgid "Unknown error\n"
 msgstr "不明なエラー\n"
 
-#: src/tta/libtta.c:152
+#: src/tta/libtta.c:149
 msgid "TTA Decoder Error"
 msgstr "TTA デコーダエラー"
 
-#: src/tta/libtta.c:261
+#: src/tta/libtta.c:258
 msgid "TTA input plugin "
 msgstr "TTA 入力プラグイン"
 
-#: src/tta/libtta.c:262
+#: src/tta/libtta.c:259
 msgid ""
 " for BMP\n"
 "Copyright (c) 2004 True Audio Software\n"
@@ -5032,35 +6186,35 @@
 " for BMP\n"
 "Copyright (c) 2004 True Audio Software\n"
 
-#: src/tta/libtta.c:265
+#: src/tta/libtta.c:262
 msgid "About True Audio Plugin"
 msgstr "True Audio プラグインについて"
 
-#: src/tta/libtta.c:316
+#: src/tta/libtta.c:313
 msgid "ID3 Tag:"
 msgstr " ID3 タグ:"
 
-#: src/tta/libtta.c:378 src/wavpack/ui.cxx:234
+#: src/tta/libtta.c:375 src/wavpack/ui.cxx:232
 msgid "Track number:"
 msgstr "トラック番号:"
 
-#: src/vorbis/configure.c:84
+#: src/vorbis/configure.c:82
 msgid "Ogg Vorbis Audio Plugin Configuration"
 msgstr "Ogg Vorbis オーディオプラグインの設定"
 
-#: src/vorbis/configure.c:94
+#: src/vorbis/configure.c:92
 msgid "Ogg Vorbis Tags:"
 msgstr "Ogg Vorbis タグ:"
 
-#: src/vorbis/configure.c:115
+#: src/vorbis/configure.c:113
 msgid "Title format:"
 msgstr "タイトルの書式:"
 
-#: src/vorbis/vorbis.c:681
+#: src/vorbis/vorbis.c:677
 msgid "About Ogg Vorbis Audio Plugin"
 msgstr "Ogg Vorbis オーディオ プラグインについて"
 
-#: src/vorbis/vorbis.c:687
+#: src/vorbis/vorbis.c:683
 msgid ""
 "Ogg Vorbis Plugin by the Xiph.org Foundation\n"
 "\n"
@@ -5094,11 +6248,11 @@
 "\n"
 "Xiph.org Foundation <http://www.xiph.org/> もご覧下さい.\n"
 
-#: src/vtx/about.c:23
+#: src/vtx/about.c:17
 msgid "About Vortex Player"
 msgstr "Vortex プレイヤについて"
 
-#: src/vtx/about.c:25
+#: src/vtx/about.c:19
 msgid ""
 "Vortex file format player by Sashnov Alexander <sashnov@ngs.ru>\n"
 "Founded on original source in_vtx.dll by Roman Sherbakov <v_soft@microfor."
@@ -5118,12 +6272,12 @@
 "\n"
 "Audacious 実装は Pavel Vymetalek <pvymetalek@seznam.cz> による"
 
-#: src/wavpack/ui.cxx:52
+#: src/wavpack/ui.cxx:50
 #, c-format
 msgid "Wavpack Decoder Plugin %s"
 msgstr "Wavpack デコーダプラグイン %s"
 
-#: src/wavpack/ui.cxx:53
+#: src/wavpack/ui.cxx:51
 msgid ""
 "Copyright (c) 2006 William Pitcock <nenolod -at- nenolod.net>\n"
 "\n"
@@ -5135,90 +6289,90 @@
 "プラグインコードの一部は Miles Egan による\n"
 "Wavpack のサイト http://www.wavpack.com/ をご覧ください\n"
 
-#: src/wavpack/ui.cxx:165
+#: src/wavpack/ui.cxx:163
 msgid "Ape2 Tag"
 msgstr "Ape2 タグ"
 
-#: src/wavpack/ui.cxx:288
+#: src/wavpack/ui.cxx:286
 msgid "Wavpack Info:"
 msgstr "Wavpack 情報:"
 
+#: src/wavpack/ui.cxx:379
+#, c-format
+msgid "version %d"
+msgstr "バージョン %d"
+
+#: src/wavpack/ui.cxx:380
+#, c-format
+msgid "average bitrate: %6.1f kbps"
+msgstr "平均ビットレート: %6.1f kbps"
+
 #: src/wavpack/ui.cxx:381
 #, c-format
-msgid "version %d"
-msgstr "バージョン %d"
+msgid "samplerate: %d Hz"
+msgstr "サンプリングレート: %d Hz"
 
 #: src/wavpack/ui.cxx:382
 #, c-format
-msgid "average bitrate: %6.1f kbps"
-msgstr "平均ビットレート: %6.1f kbps"
+msgid "bits per sample: %d"
+msgstr "ビット/サンプリング: %d"
 
 #: src/wavpack/ui.cxx:383
 #, c-format
-msgid "samplerate: %d Hz"
-msgstr "サンプリングレート: %d Hz"
+msgid "channels: %d"
+msgstr "チャンネル数: %d"
 
 #: src/wavpack/ui.cxx:384
 #, c-format
-msgid "bits per sample: %d"
-msgstr "ビット/サンプリング: %d"
+msgid "length: %d:%.2d"
+msgstr "長さ: %d:%.2d"
 
 #: src/wavpack/ui.cxx:385
 #, c-format
-msgid "channels: %d"
-msgstr "チャンネル数: %d"
-
-#: src/wavpack/ui.cxx:386
-#, c-format
-msgid "length: %d:%.2d"
-msgstr "長さ: %d:%.2d"
-
-#: src/wavpack/ui.cxx:387
-#, c-format
 msgid "file size: %d Bytes"
 msgstr "ファイルサイズ: %d Bytes"
 
-#: src/wavpack/ui.cxx:394
+#: src/wavpack/ui.cxx:392
 msgid "Title Peak: ?"
 msgstr "タイトルピーク: ?"
 
-#: src/wavpack/ui.cxx:395
+#: src/wavpack/ui.cxx:393
 msgid "Album Peak: ?"
 msgstr "アルバムピーク: ?"
 
-#: src/wavpack/ui.cxx:396
+#: src/wavpack/ui.cxx:394
 msgid "Title Gain: ?"
 msgstr "タイトルゲイン: ?"
 
-#: src/wavpack/ui.cxx:397
+#: src/wavpack/ui.cxx:395
 msgid "Album Gain: ?"
 msgstr "アルバムゲイン: ?"
 
-#: src/wavpack/ui.cxx:471
+#: src/wavpack/ui.cxx:469
 msgid "Wavpack Configuration"
 msgstr "Wavpack 設定"
 
-#: src/wavpack/ui.cxx:484
+#: src/wavpack/ui.cxx:482
 msgid "General Plugin Settings:"
 msgstr "一般的なプラグイン設定:"
 
-#: src/wavpack/ui.cxx:502
+#: src/wavpack/ui.cxx:500
 msgid "ReplayGain Settings:"
 msgstr "リプレイゲインの設定:"
 
-#: src/wavpack/ui.cxx:520
+#: src/wavpack/ui.cxx:518
 msgid "ReplayGain Type:"
 msgstr "リプレイゲインの種類:"
 
-#: src/wavpack/ui.cxx:531
+#: src/wavpack/ui.cxx:529
 msgid "use Track Gain/Peak"
 msgstr "トラックのゲイン/ピークを使用する"
 
-#: src/wavpack/ui.cxx:539
+#: src/wavpack/ui.cxx:537
 msgid "use Album Gain/Peak"
 msgstr "アルバムのゲイン/ピークを使用する"
 
-#: src/wma/wma.c:123
+#: src/wma/wma.c:120
 msgid ""
 "Adapted for use in Audacious by Tony Vroon (chainsaw@gentoo.org) from\n"
 "the BEEP-WMA plugin which is Copyright (C) 2004,2005 Mokrushin I.V. aka "
@@ -5234,6 +6388,9 @@
 "Tony Vroon <chainsaw@gentoo.org> による Audacious への適用.\n"
 "このプラグインは以下のソースコードを元とする: "
 
+#~ msgid "Descriptions of <i>SID-specific</i> Tuplez fields go here. <b>:D</b>"
+#~ msgstr "<i>SID 特有</i>のタプルフィールドはここに記載されます.<b>:D</b>"
+
 #~ msgid "Error initializing song-length database!\n"
 #~ msgstr "曲の長さデータベース初期化エラー!\n"
 
@@ -5367,9 +6524,6 @@
 #~ msgid "Could not allocate memory for t_xs_tuneinfo ('%s')\n"
 #~ msgstr "t_xs_tuneinfo ('%s') のメモリを割り当てられませんでした\n"
 
-#~ msgid "Could not allocate sidFilename ('%s')\n"
-#~ msgstr "sidFilename ('%s') を割り当てられませんでした\n"
-
 #~ msgid "Could not allocate memory for t_xs_subtuneinfo ('%s', %i)\n"
 #~ msgstr "t_xs_subtuneinfo ('%s', %i) のメモリを割り当てられませんでした\n"
 
@@ -5445,9 +6599,6 @@
 #~ msgid "Play/Pause:"
 #~ msgstr "演奏/一時停止:"
 
-#~ msgid "File Info"
-#~ msgstr "ファイル情報"
-
 #~ msgid "Couldn't open file!"
 #~ msgstr "ファイルを開けませんでした!"
 
@@ -5499,9 +6650,6 @@
 #~ msgid "mp3gain minmax=%4s (max-min=%+6.3fdB)"
 #~ msgstr "mp3ゲイン minmax=%4s (max-min=%+6.3fdB)"
 
-#~ msgid "Blues"
-#~ msgstr "ブルース"
-
 #~ msgid "Classic Rock"
 #~ msgstr "クラシックロック"
 
@@ -5568,9 +6716,6 @@
 #~ msgid "Death Metal"
 #~ msgstr "デスメタル"
 
-#~ msgid "Pranks"
-#~ msgstr "プランク"
-
 #~ msgid "Soundtrack"
 #~ msgstr "サウンドトラック"
 
@@ -5622,9 +6767,6 @@
 #~ msgid "AlternRock"
 #~ msgstr "オルタナロック"
 
-#~ msgid "Bass"
-#~ msgstr "ベース"
-
 #~ msgid "Soul"
 #~ msgstr "ソウル"
 
@@ -5706,9 +6848,6 @@
 #~ msgid "Rave"
 #~ msgstr "レイブ"
 
-#~ msgid "Showtunes"
-#~ msgstr "ショーチューン"
-
 #~ msgid "Trailer"
 #~ msgstr "トレイラー"
 
@@ -5727,9 +6866,6 @@
 #~ msgid "Polka"
 #~ msgstr "ポルカ"
 
-#~ msgid "Retro"
-#~ msgstr "レトロ"
-
 #~ msgid "Musical"
 #~ msgstr "ミュージカル"
 
@@ -5829,9 +6965,6 @@
 #~ msgid "Porn Groove"
 #~ msgstr "ポルノグルーヴ"
 
-#~ msgid "Satire"
-#~ msgstr "サティア"
-
 #~ msgid "Slow Jam"
 #~ msgstr "スロージャム"
 
@@ -5904,9 +7037,6 @@
 #~ msgid "Polsk Punk"
 #~ msgstr "ポルスクパンク"
 
-#~ msgid "Beat"
-#~ msgstr "ビート"
-
 #~ msgid "Christian Gangsta Rap"
 #~ msgstr "クリスチャンギャングスタラップ"
 
@@ -5965,30 +7095,18 @@
 #~ msgid " Ogg Vorbis Tag "
 #~ msgstr " Ogg Vorbis タグ "
 
-#~ msgid "Date:"
-#~ msgstr "日付:"
-
 #~ msgid "Description:"
 #~ msgstr "詳細:"
 
-#~ msgid "Location:"
-#~ msgstr "場所:"
-
 #~ msgid "Version:"
 #~ msgstr "バージョン:"
 
 #~ msgid "ISRC number:"
 #~ msgstr "ISRC 番号:"
 
-#~ msgid "Organization:"
-#~ msgstr "組織:"
-
 #~ msgid " Ogg Vorbis ReplayGain "
 #~ msgstr " Ogg Vorbis リプレイゲイン "
 
-#~ msgid "Track gain:"
-#~ msgstr "トラックのゲイン:"
-
 #~ msgid "Track peak:"
 #~ msgstr "トラックのピーク:"
 
@@ -6028,9 +7146,6 @@
 #~ msgid "%d Bytes"
 #~ msgstr "%d バイト"
 
-#~ msgid "%s - Audacious"
-#~ msgstr "%s - Audacious"
-
 #~ msgid "Use software volume control"
 #~ msgstr "ソフトウェア音量コントロールを使う"
 
@@ -6041,9 +7156,6 @@
 #~ "リアルタイムモードで実行しているとき\n"
 #~ "ファイルライタ プラグインは利用できません."
 
-#~ msgid "Error loading pixmap file: %s"
-#~ msgstr "pixmap ファイルの読み込みエラー: %s"
-
 #~ msgid "Tune #%i"
 #~ msgstr "チューン #%i"
 
@@ -6059,9 +7171,6 @@
 #~ msgid "6581R4 (alankila)"
 #~ msgstr "6581R4 (alankila)"
 
-#~ msgid "Load"
-#~ msgstr "読み込み"
-
 #~ msgid ""
 #~ "XMMS v1.2.5 and later support generic titlestring formatting (see XMMS "
 #~ "preferences). This option can be enabled to override those generic titles "
@@ -6196,10 +7305,6 @@
 #~ msgstr "11000 Hz"
 
 #, fuzzy
-#~ msgid "16000"
-#~ msgstr "11000 Hz"
-
-#, fuzzy
 #~ msgid "24000"
 #~ msgstr "22000 Hz"
 
@@ -6294,9 +7399,6 @@
 #~ msgid "Check drive..."
 #~ msgstr "ドライブのチェック..."
 
-#~ msgid "Remove drive"
-#~ msgstr "ドライブの削除"
-
 #~ msgid "CD Audio Player Configuration"
 #~ msgstr "CD オーディオプレイヤの設定"
 
@@ -6315,9 +7417,6 @@
 #~ msgid "Get server list"
 #~ msgstr "サーバリストの取得"
 
-#~ msgid "Show network window"
-#~ msgstr "ネットワークウィンドウの表示"
-
 #~ msgid "CDDB server:"
 #~ msgstr "CDDB サーバ:"
 
@@ -6650,12 +7749,6 @@
 #~ msgid "Noise shaping"
 #~ msgstr "ノイズシェーピング"
 
-#~ msgid "low"
-#~ msgstr "低"
-
-#~ msgid "medium"
-#~ msgstr "中"
-
 #~ msgid "high"
 #~ msgstr "高"
 
--- a/po/ro.po	Thu Jul 03 17:23:34 2008 +0300
+++ b/po/ro.po	Thu Jul 03 17:37:11 2008 +0300
@@ -9,8 +9,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: audacious-plugins 1.4.0\n"
-"Report-Msgid-Bugs-To: http://bugs.audacious-media-player.org\n"
-"POT-Creation-Date: 2008-03-30 17:25+0200\n"
+"Report-Msgid-Bugs-To: http://bugzilla.atheme.org/\n"
+"POT-Creation-Date: 2008-06-21 08:27+0300\n"
 "PO-Revision-Date: 2007-08-28 20:44+0200\n"
 "Last-Translator: Daniel Patriche <m4st3rth0r@gmail.com>\n"
 "Language-Team: Romanian <audacious@atheme.org>\n"
@@ -18,11 +18,11 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: src/aac/libmp4.c:286
+#: src/aac/libmp4.c:283
 msgid "Using libfaad2-"
 msgstr "Este utilizat libfaad2"
 
-#: src/aac/libmp4.c:287
+#: src/aac/libmp4.c:284
 msgid ""
 " for decoding.\n"
 "FAAD2 AAC/HE-AAC/HE-AACv2/DRM decoder (c) Nero AG, www.nero.com\n"
@@ -33,38 +33,38 @@
 "decoder-ul este ·(C)·Nero·AG,·www.nero.com\n"
 "Copyright·(c)·2005-2006·Echipa de dezvoltare Audacious"
 
-#: src/aac/libmp4.c:291
+#: src/aac/libmp4.c:288
 msgid "About MP4 AAC player plugin"
 msgstr "Despre plugin-ul decodor MP4·AAC"
 
-#: src/aac/libmp4.c:293 src/adplug/adplug-xmms.cc:182
-#: src/adplug/adplug-xmms.cc:265 src/adplug/adplug-xmms.cc:526
-#: src/alac/plugin.c:77 src/arts/arts.c:26 src/arts/configure.c:90
-#: src/audiocompress/audacious-glue.c:102
-#: src/audiocompress/audacious-glue.c:552 src/cdaudio-ng/configure.c:228
-#: src/console/Audacious_Driver.cxx:449 src/demac/plugin.c:393
-#: src/echo_plugin/gui.c:26 src/echo_plugin/gui.c:137 src/esd/about.c:49
-#: src/filewriter/filewriter.c:183 src/jack/configure.c:141
-#: src/jack/jack.c:456 src/madplug/plugin.c:542 src/madplug/plugin.c:566
-#: src/metronom/metronom.c:88 src/modplug/gui/main.cxx:49
-#: src/musepack/libmpc.cxx:232 src/null/null.c:67 src/null/null.c:110
-#: src/OSS4/about.c:59 src/OSS/about.c:54 src/paranormal-ng/plugin.c:283
-#: src/paranormal/plugin.c:291 src/scrobbler/gtkstuff.c:25
-#: src/sndfile/plugin.c:565 src/statusicon/si_ui.c:628
-#: src/stereo_plugin/stereo.c:53 src/stereo_plugin/stereo.c:116
-#: src/sun/about.c:38 src/sun/configure.c:559 src/timidity/interface.c:222
-#: src/timidity/xmms-timidity.c:120 src/tonegen/tonegen.c:62
-#: src/tta/libtta.c:153 src/tta/libtta.c:267 src/tta/libtta.c:402
-#: src/vorbis/vorbis.c:700 src/vtx/about.c:32 src/vtx/info.c:43
-#: src/wavpack/ui.cxx:56 src/wavpack/ui.cxx:556
+#: src/aac/libmp4.c:290 src/adplug/adplug-xmms.cc:180
+#: src/adplug/adplug-xmms.cc:263 src/adplug/adplug-xmms.cc:524
+#: src/alac/plugin.c:74 src/arts/arts.c:25 src/arts/configure.c:90
+#: src/audiocompress/audacious-glue.c:110
+#: src/audiocompress/audacious-glue.c:560 src/cdaudio-ng/configure.c:242
+#: src/console/Audacious_Driver.cxx:447 src/crystalizer/crystalizer.c:113
+#: src/demac/plugin.c:364 src/echo_plugin/gui.c:24 src/echo_plugin/gui.c:135
+#: src/esd/about.c:48 src/filewriter/filewriter.c:183 src/jack/configure.c:140
+#: src/jack/jack.c:454 src/madplug/plugin.c:679 src/madplug/plugin.c:703
+#: src/metronom/metronom.c:87 src/modplug/gui/main.cxx:52
+#: src/musepack/libmpc.cxx:228 src/null/null.c:64 src/null/null.c:107
+#: src/OSS4/OSS4.c:55 src/OSS/OSS.c:52 src/paranormal-ng/plugin.c:282
+#: src/paranormal/plugin.c:290 src/scrobbler/gtkstuff.c:22
+#: src/sndfile/plugin.c:571 src/statusicon/si_ui.c:626
+#: src/stereo_plugin/stereo.c:52 src/stereo_plugin/stereo.c:115
+#: src/sun/about.c:37 src/sun/configure.c:557 src/timidity/interface.c:222
+#: src/timidity/xmms-timidity.c:117 src/tonegen/tonegen.c:61
+#: src/tta/libtta.c:150 src/tta/libtta.c:264 src/tta/libtta.c:399
+#: src/vorbis/vorbis.c:696 src/vtx/about.c:26 src/vtx/info.c:38
+#: src/wavpack/ui.cxx:54 src/wavpack/ui.cxx:554
 msgid "Ok"
 msgstr "Ok"
 
-#: src/adplug/adplug-xmms.cc:171
+#: src/adplug/adplug-xmms.cc:169
 msgid "About "
 msgstr "Despre "
 
-#: src/adplug/adplug-xmms.cc:175
+#: src/adplug/adplug-xmms.cc:173
 msgid ""
 "\n"
 "Copyright (C) 2002, 2003 Simon Peter <dn.tlp@gmx.net>\n"
@@ -86,65 +86,65 @@
 "Plugin-ul folosește biblioteca AdPlug,·Copyright·(C)·Simon·Peter·și alții.\n"
 "Versiunea AdPlug pentru care a fost link-editat:·"
 
-#: src/adplug/adplug-xmms.cc:256
+#: src/adplug/adplug-xmms.cc:254
 msgid "AdPlug :: Configuration"
 msgstr "AdPlug·::·Configurare"
 
-#: src/adplug/adplug-xmms.cc:275 src/alarm/interface.c:1398
+#: src/adplug/adplug-xmms.cc:273 src/alarm/interface.c:1398
 #: src/alsa/configure.c:389 src/arts/configure.c:91
-#: src/audiocompress/audacious-glue.c:557 src/cdaudio-ng/configure.c:232
-#: src/echo_plugin/gui.c:145 src/jack/configure.c:148
-#: src/modplug/gui/interface.cxx:714 src/modplug/gui/modplug.glade:1668
-#: src/musepack/libmpc.cxx:237 src/musepack/libmpc.cxx:557 src/null/null.c:111
-#: src/sid/xmms-sid.glade:3080 src/sid/xs_interface.c:1250
-#: src/stereo_plugin/stereo.c:125 src/sun/configure.c:567
-#: src/timidity/interface.c:230 src/wavpack/ui.cxx:280 src/wavpack/ui.cxx:563
+#: src/audiocompress/audacious-glue.c:565 src/cdaudio-ng/configure.c:246
+#: src/crystalizer/crystalizer.c:122 src/echo_plugin/gui.c:143
+#: src/jack/configure.c:147 src/modplug/gui/interface.cxx:714
+#: src/modplug/gui/modplug.glade:1668 src/musepack/libmpc.cxx:233
+#: src/musepack/libmpc.cxx:553 src/null/null.c:108
+#: src/stereo_plugin/stereo.c:124 src/sun/configure.c:565
+#: src/timidity/interface.c:230 src/wavpack/ui.cxx:278 src/wavpack/ui.cxx:561
 msgid "Cancel"
 msgstr "Anulează"
 
-#: src/adplug/adplug-xmms.cc:291 src/console/Audacious_Config.cxx:145
-#: src/madplug/configure.c:290 src/modplug/gui/interface.cxx:628
+#: src/adplug/adplug-xmms.cc:289 src/console/Audacious_Config.cxx:144
+#: src/madplug/configure.c:289 src/modplug/gui/interface.cxx:628
 #: src/modplug/gui/interface.cxx:887 src/modplug/gui/modplug.glade:1404
 #: src/modplug/gui/modplug.glade:1804
 msgid "General"
 msgstr "General"
 
-#: src/adplug/adplug-xmms.cc:303
+#: src/adplug/adplug-xmms.cc:301
 msgid "Sound quality"
 msgstr "Calitatea sunetului"
 
-#: src/adplug/adplug-xmms.cc:308 src/modplug/gui/interface.cxx:187
+#: src/adplug/adplug-xmms.cc:306 src/modplug/gui/interface.cxx:187
 #: src/modplug/gui/modplug.glade:113
 msgid "Resolution"
 msgstr "Rezoluție"
 
-#: src/adplug/adplug-xmms.cc:310
+#: src/adplug/adplug-xmms.cc:308
 msgid "8bit"
 msgstr "8 biți"
 
-#: src/adplug/adplug-xmms.cc:315
+#: src/adplug/adplug-xmms.cc:313
 msgid "16bit"
 msgstr "16 biți"
 
-#: src/adplug/adplug-xmms.cc:323 src/modplug/gui/interface.cxx:218
+#: src/adplug/adplug-xmms.cc:321 src/modplug/gui/interface.cxx:218
 #: src/modplug/gui/modplug.glade:199 src/timidity/interface.c:148
 msgid "Channels"
 msgstr "Canale"
 
-#: src/adplug/adplug-xmms.cc:325 src/filewriter/mp3.c:900
-#: src/sid/xmms-sid.glade:157 src/sid/xs_interface.c:288
+#: src/adplug/adplug-xmms.cc:323 src/filewriter/mp3.c:900
+#: src/sid/xmms-sid.glade:157 src/sid/xs_interface.c:300
 #: src/timidity/interface.c:165
 msgid "Mono"
 msgstr "Mono"
 
-#: src/adplug/adplug-xmms.cc:330 src/filewriter/mp3.c:895
+#: src/adplug/adplug-xmms.cc:328 src/filewriter/mp3.c:895
 #: src/modplug/gui/interface.cxx:204 src/modplug/gui/modplug.glade:159
-#: src/sid/xmms-sid.glade:176 src/sid/xs_interface.c:295
+#: src/sid/xmms-sid.glade:176 src/sid/xs_interface.c:307
 #: src/timidity/interface.c:173
 msgid "Stereo"
 msgstr "Stereo"
 
-#: src/adplug/adplug-xmms.cc:334
+#: src/adplug/adplug-xmms.cc:332
 msgid ""
 "Setting stereo is not recommended, unless you need to. This won't add any "
 "stereo effects to the sound - OPL2 is just mono - but eats up more CPU power!"
@@ -153,20 +153,20 @@
 "nevoieAceastă setare nu va adăuga efecte stereo, deoarece OPL2 suportă doar "
 "MonoVa consuma însă mai multe resurse de calcul!"
 
-#: src/adplug/adplug-xmms.cc:342
+#: src/adplug/adplug-xmms.cc:340
 msgid "Frequency"
 msgstr "Frecvența"
 
-#: src/adplug/adplug-xmms.cc:378 src/adplug/adplug-xmms.cc:582
-#: src/console/Audacious_Config.cxx:147
+#: src/adplug/adplug-xmms.cc:376 src/adplug/adplug-xmms.cc:580
+#: src/console/Audacious_Config.cxx:146 src/skins/ui_manager.c:175
 msgid "Playback"
 msgstr "Redare"
 
-#: src/adplug/adplug-xmms.cc:382
+#: src/adplug/adplug-xmms.cc:380
 msgid "Detect songend"
 msgstr "Detectează sfârșitul melodiei"
 
-#: src/adplug/adplug-xmms.cc:386
+#: src/adplug/adplug-xmms.cc:384
 msgid ""
 "If enabled, XMMS will detect a song's ending, stop it and advance in the "
 "playlist. If disabled, XMMS won't take notice of a song's ending and loop it "
@@ -176,23 +176,23 @@
 "și va avansa la melodia următoare. Dacă este dezactivat, nu se va ști când s-"
 "a terminat melodia și va fi redată din nou, la infinit. "
 
-#: src/adplug/adplug-xmms.cc:397
+#: src/adplug/adplug-xmms.cc:395
 msgid "Formats"
 msgstr "Formate"
 
-#: src/adplug/adplug-xmms.cc:404
+#: src/adplug/adplug-xmms.cc:402
 msgid "Format selection"
 msgstr "Selecția formatelor"
 
-#: src/adplug/adplug-xmms.cc:407
+#: src/adplug/adplug-xmms.cc:405
 msgid "Format"
 msgstr "Format"
 
-#: src/adplug/adplug-xmms.cc:407
+#: src/adplug/adplug-xmms.cc:405
 msgid "Extension"
 msgstr "Extensie"
 
-#: src/adplug/adplug-xmms.cc:447
+#: src/adplug/adplug-xmms.cc:445
 msgid ""
 "Selected file types will be recognized and played back by this plugin. "
 "Deselected types will be ignored to make room for other plugins to play "
@@ -201,88 +201,88 @@
 "Tipurile de fișiere selectate vor fi recunoscute și redate de acest plugin. "
 "Cele deselectate vor fi ignorate, dar pot fi redate de alte pluginuri."
 
-#: src/adplug/adplug-xmms.cc:533
+#: src/adplug/adplug-xmms.cc:531
 msgid "AdPlug :: File Info"
 msgstr "AdPlug·::·Informații despre fișier"
 
-#: src/adplug/adplug-xmms.cc:555 src/amidi-plug/i_configure-fluidsynth.c:448
+#: src/adplug/adplug-xmms.cc:553 src/amidi-plug/i_configure-fluidsynth.c:448
 msgid "Filename"
 msgstr "Numele Fișierului:"
 
+#: src/adplug/adplug-xmms.cc:557 src/skins/ui_playlist.c:470
+msgid "Title: "
+msgstr "Titlu: "
+
+#: src/adplug/adplug-xmms.cc:558
+msgid "Author: "
+msgstr "Autor: "
+
 #: src/adplug/adplug-xmms.cc:559
-msgid "Title: "
-msgstr "Titlu: "
-
-#: src/adplug/adplug-xmms.cc:560
-msgid "Author: "
-msgstr "Autor: "
-
-#: src/adplug/adplug-xmms.cc:561
 msgid "File Type: "
 msgstr "Tipul Fișierului: "
 
-#: src/adplug/adplug-xmms.cc:562
+#: src/adplug/adplug-xmms.cc:560
 msgid "Subsongs: "
 msgstr "Sub-melodii: "
 
-#: src/adplug/adplug-xmms.cc:563
+#: src/adplug/adplug-xmms.cc:561
 msgid "Instruments: "
 msgstr "Instrumente: "
 
-#: src/adplug/adplug-xmms.cc:568
+#: src/adplug/adplug-xmms.cc:566
 msgid "Orders: "
 msgstr "Ordine: "
 
-#: src/adplug/adplug-xmms.cc:569
+#: src/adplug/adplug-xmms.cc:567
 msgid "Patterns: "
 msgstr "Șabloane: "
 
-#: src/adplug/adplug-xmms.cc:573
+#: src/adplug/adplug-xmms.cc:571
 msgid "Song"
 msgstr "Melodia"
 
-#: src/adplug/adplug-xmms.cc:599
+#: src/adplug/adplug-xmms.cc:597
 msgid "Instrument name"
 msgstr "Numele Instrumentului"
 
-#: src/adplug/adplug-xmms.cc:641
+#: src/adplug/adplug-xmms.cc:639
 msgid "Song message"
 msgstr "Mesajul melodiei"
 
-#: src/adplug/adplug-xmms.cc:663
+#: src/adplug/adplug-xmms.cc:661
 msgid "Subsong selection"
 msgstr "Selecția sub-melodiei"
 
-#: src/adplug/adplug-xmms.cc:727
+#: src/adplug/adplug-xmms.cc:725
 msgid "Order: "
 msgstr "Ordine: "
 
-#: src/adplug/adplug-xmms.cc:728
+#: src/adplug/adplug-xmms.cc:726
 msgid "Pattern: "
 msgstr "Șablon: "
 
+#: src/adplug/adplug-xmms.cc:728
+msgid "Row: "
+msgstr "Linie: "
+
+#: src/adplug/adplug-xmms.cc:729
+msgid "Speed: "
+msgstr "Viteză: "
+
 #: src/adplug/adplug-xmms.cc:730
-msgid "Row: "
-msgstr "Linie: "
-
-#: src/adplug/adplug-xmms.cc:731
-msgid "Speed: "
-msgstr "Viteză: "
-
-#: src/adplug/adplug-xmms.cc:732
 msgid "Timer: "
 msgstr "Cronometru: "
 
-#: src/adplug/adplug-xmms.cc:733 src/console/Audacious_Config.cxx:225
-#: src/sid/xmms-sid.glade:332 src/sid/xs_interface.c:341
+#: src/adplug/adplug-xmms.cc:731 src/console/Audacious_Config.cxx:224
+#: src/sid/xmms-sid.glade:332 src/sid/xs_interface.c:353
 msgid "Hz"
 msgstr "Hz"
 
-#: src/alac/plugin.c:74
+#: src/alac/plugin.c:71
 msgid "About Apple Lossless Audio Plugin"
 msgstr "Despre plugin-ul·Apple·Lossless·Audio"
 
-#: src/alac/plugin.c:75
+#: src/alac/plugin.c:72
 msgid ""
 "Copyright (c) 2006 Audacious team\n"
 "Portions (c) 2005-2006 David Hammerton <crazney -at- crazney.net>"
@@ -320,8 +320,8 @@
 
 #: src/alarm/interface.c:71 src/lirc/about.c:115
 #: src/modplug/gui/interface.cxx:971 src/modplug/gui/modplug.glade:2030
-#: src/sid/xmms-sid.glade:3643 src/sid/xs_about.c:214
-#: src/sid/xs_interface.c:1740
+#: src/sid/xmms-sid.glade:3837 src/sid/xs_about.c:214
+#: src/sid/xs_interface.c:1824
 msgid "Close"
 msgstr "Închide"
 
@@ -333,13 +333,12 @@
 msgid "This is your wakeup call."
 msgstr "Acesta este semnalul de deșteptare."
 
-#: src/alarm/interface.c:124 src/alarm/interface.c:1389 src/alsa/about.c:46
+#: src/alarm/interface.c:124 src/alarm/interface.c:1389 src/alsa/about.c:45
 #: src/alsa/configure.c:383 src/cdaudio-ng/cdaudio-ng.c:247
-#: src/flacng/plugin.c:706 src/gnomeshortcuts/gnomeshortcuts.c:311
-#: src/hotkey/gui.c:671 src/modplug/gui/interface.cxx:702
-#: src/modplug/gui/modplug.glade:1642 src/pulse_audio/pulse_audio.c:738
-#: src/scrobbler/gtkstuff.c:45 src/sid/xmms-sid.glade:3066
-#: src/sid/xs_interface.c:1243
+#: src/flacng/plugin.c:705 src/gnomeshortcuts/gnomeshortcuts.c:310
+#: src/hotkey/gui.c:670 src/modplug/gui/interface.cxx:702
+#: src/modplug/gui/modplug.glade:1642 src/pulse_audio/pulse_audio.c:736
+#: src/scrobbler/gtkstuff.c:42 src/skins/plugin.c:130
 msgid "OK"
 msgstr "Ok"
 
@@ -418,7 +417,8 @@
 #: src/alarm/interface.c:612 src/alarm/interface.c:660
 #: src/alarm/interface.c:708 src/alarm/interface.c:756
 #: src/alarm/interface.c:804 src/alarm/interface.c:852
-#: src/alarm/interface.c:900 src/OSS4/configure.c:138 src/OSS/configure.c:169
+#: src/alarm/interface.c:900 src/OSS4/configure.c:136 src/OSS/configure.c:168
+#: src/skins/ui_manager.c:447 src/skins/ui_manager.c:468
 #, fuzzy
 msgid "Default"
 msgstr "Implicit"
@@ -464,9 +464,9 @@
 msgstr "Tranziție"
 
 #: src/alarm/interface.c:1087 src/sid/xmms-sid.glade:2007
-#: src/sid/xmms-sid.glade:2178 src/sid/xmms-sid.glade:2676
-#: src/sid/xs_interface.c:908 src/sid/xs_interface.c:962
-#: src/sid/xs_interface.c:1122
+#: src/sid/xmms-sid.glade:2178 src/sid/xmms-sid.glade:2746
+#: src/sid/xs_interface.c:920 src/sid/xs_interface.c:974
+#: src/sid/xs_interface.c:1154
 #, fuzzy
 msgid "seconds"
 msgstr "secunde"
@@ -527,7 +527,7 @@
 msgid "Use reminder"
 msgstr "Folosește cursoare de mouse personalizate (oferite de skin)"
 
-#: src/alarm/interface.c:1328 src/sndstretch/sndstretch_xmms.c:377
+#: src/alarm/interface.c:1328 src/sndstretch/sndstretch_xmms.c:376
 #, fuzzy
 msgid "Options"
 msgstr "Meniu de Opțiuni"
@@ -642,7 +642,7 @@
 "    oprește. Editați mesajul și activați-l dacă doriți \n"
 "    ca acesta să fie afișat.\n"
 
-#: src/alarm/interface.c:1366
+#: src/alarm/interface.c:1366 src/skins/ui_manager.c:386
 msgid "Help"
 msgstr "Ajutor"
 
@@ -654,12 +654,12 @@
 msgid "Thankyou"
 msgstr "Mulțumesc"
 
-#: src/alsa/about.c:30
+#: src/alsa/about.c:29
 #, fuzzy
 msgid "About ALSA Driver"
 msgstr "Despre plugin-ul·pentru Alarmă"
 
-#: src/alsa/about.c:31
+#: src/alsa/about.c:30
 msgid ""
 "Audacious ALSA Driver\n"
 "\n"
@@ -708,8 +708,8 @@
 msgid "ALSA Driver configuration"
 msgstr "Configurarea plugin-ului ALSA"
 
-#: src/alsa/configure.c:274 src/OSS4/configure.c:186 src/OSS/configure.c:217
-#: src/sun/configure.c:183
+#: src/alsa/configure.c:274 src/OSS4/configure.c:184 src/OSS/configure.c:216
+#: src/sun/configure.c:181
 #, fuzzy
 msgid "Audio device:"
 msgstr "<b>Sistemul Audio</b>"
@@ -722,7 +722,7 @@
 msgid "Mixer card:"
 msgstr "Placă mixer:"
 
-#: src/alsa/configure.c:313 src/OSS/configure.c:260 src/sun/configure.c:220
+#: src/alsa/configure.c:313 src/OSS/configure.c:259 src/sun/configure.c:218
 msgid "Mixer device:"
 msgstr "Dispozitiv mixer:"
 
@@ -1356,8 +1356,8 @@
 "backend</span>"
 msgstr ""
 
-#: src/amidi-plug/i_fileinfo.c:169 src/sid/xmms-sid.glade:3465
-#: src/sid/xs_interface.c:1684
+#: src/amidi-plug/i_fileinfo.c:169 src/sid/xmms-sid.glade:3659
+#: src/sid/xs_interface.c:1768
 #, fuzzy
 msgid "Name:"
 msgstr "Numele Instrumentului"
@@ -1469,51 +1469,51 @@
 msgid "None"
 msgstr "Deselectează tot"
 
-#: src/aosd/aosd_trigger.c:75
+#: src/aosd/aosd_trigger.c:74
 #, fuzzy
 msgid "Playback Start"
 msgstr "Începe redarea playlist-ului curent"
 
-#: src/aosd/aosd_trigger.c:76
+#: src/aosd/aosd_trigger.c:75
 msgid "Triggers OSD when a playlist entry is played."
 msgstr ""
 
-#: src/aosd/aosd_trigger.c:80
+#: src/aosd/aosd_trigger.c:79
 #, fuzzy
 msgid "Title Change"
 msgstr "Formatul titlului:"
 
-#: src/aosd/aosd_trigger.c:81
+#: src/aosd/aosd_trigger.c:80
 msgid ""
 "Triggers OSD when, during playback, the song title changes but the filename "
 "is the same. This is mostly useful to display title changes in internet "
 "streams."
 msgstr ""
 
-#: src/aosd/aosd_trigger.c:87
+#: src/aosd/aosd_trigger.c:86
 #, fuzzy
 msgid "Volume Change"
 msgstr "Schimbă volumul cu"
 
-#: src/aosd/aosd_trigger.c:88
+#: src/aosd/aosd_trigger.c:87
 msgid "Triggers OSD when volume is changed."
 msgstr ""
 
-#: src/aosd/aosd_trigger.c:92
+#: src/aosd/aosd_trigger.c:91
 #, fuzzy
 msgid "Pause On"
 msgstr "La încărcare"
 
-#: src/aosd/aosd_trigger.c:93
+#: src/aosd/aosd_trigger.c:92
 msgid "Triggers OSD when playback is paused."
 msgstr ""
 
-#: src/aosd/aosd_trigger.c:97
+#: src/aosd/aosd_trigger.c:96
 #, fuzzy
 msgid "Pause Off"
 msgstr "Pauză pentru"
 
-#: src/aosd/aosd_trigger.c:98
+#: src/aosd/aosd_trigger.c:97
 msgid "Triggers OSD when playback is unpaused."
 msgstr ""
 
@@ -1622,10 +1622,10 @@
 msgid "Skin file:"
 msgstr "Tipul Fișierului: "
 
-#: src/aosd/aosd_ui.c:644 src/sid/xmms-sid.glade:2331
-#: src/sid/xmms-sid.glade:2856 src/sid/xmms-sid.glade:2962
-#: src/sid/xs_interface.c:1010 src/sid/xs_interface.c:1182
-#: src/sid/xs_interface.c:1218
+#: src/aosd/aosd_ui.c:644 src/sid/xmms-sid.glade:2373
+#: src/sid/xmms-sid.glade:2968 src/sid/xmms-sid.glade:3136
+#: src/sid/xs_interface.c:1043 src/sid/xs_interface.c:1235
+#: src/sid/xs_interface.c:1291
 msgid "Browse"
 msgstr ""
 
@@ -1708,9 +1708,9 @@
 msgid "Trigger"
 msgstr "Declanşator"
 
-#: src/aosd/aosd_ui.c:1076 src/cdaudio-ng/configure.c:167
+#: src/aosd/aosd_ui.c:1076 src/cdaudio-ng/configure.c:175
 #: src/modplug/gui/interface.cxx:688 src/modplug/gui/modplug.glade:1603
-#: src/sid/xmms-sid.glade:3026 src/sid/xs_interface.c:1229
+#: src/sid/xmms-sid.glade:3220 src/sid/xs_interface.c:1301
 msgid "Misc"
 msgstr ""
 
@@ -1738,12 +1738,12 @@
 "\n"
 msgstr ""
 
-#: src/arts/arts.c:22
+#: src/arts/arts.c:21
 #, fuzzy
 msgid "About aRts Output"
 msgstr "Plugin-ul de ieșire curent"
 
-#: src/arts/arts.c:23
+#: src/arts/arts.c:22
 msgid ""
 "aRts output plugin by Håvard Kvålen <havardk@xmms.org>\n"
 "Audacious port by Giacomo Lozito from develia.org"
@@ -1753,27 +1753,27 @@
 msgid "aRts Driver configuration"
 msgstr ""
 
-#: src/arts/configure.c:61 src/esd/configure.c:171 src/OSS4/configure.c:232
-#: src/OSS/configure.c:304 src/sun/configure.c:259
+#: src/arts/configure.c:61 src/esd/configure.c:171 src/OSS4/configure.c:230
+#: src/OSS/configure.c:303 src/sun/configure.c:257
 msgid "Buffering:"
 msgstr ""
 
-#: src/arts/configure.c:73 src/esd/configure.c:184 src/OSS4/configure.c:245
-#: src/OSS/configure.c:317 src/sun/configure.c:272
+#: src/arts/configure.c:73 src/esd/configure.c:184 src/OSS4/configure.c:243
+#: src/OSS/configure.c:316 src/sun/configure.c:270
 #, fuzzy
 msgid "Buffer size (ms):"
 msgstr "<span size=\"small\">Titlu</span>"
 
-#: src/arts/configure.c:83 src/esd/configure.c:209 src/OSS4/configure.c:270
-#: src/OSS/configure.c:342 src/sun/configure.c:304
+#: src/arts/configure.c:83 src/esd/configure.c:209 src/OSS4/configure.c:268
+#: src/OSS/configure.c:341 src/sun/configure.c:302
 msgid "Buffering"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:95
+#: src/audiocompress/audacious-glue.c:103
 msgid "AudioCompress "
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:96
+#: src/audiocompress/audacious-glue.c:104
 msgid ""
 "\n"
 "(c)2003 trikuare studios(http://trikuare.cx)\n"
@@ -1783,117 +1783,117 @@
 "keeping the volume level more or less consistent"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:101
+#: src/audiocompress/audacious-glue.c:109
 #, fuzzy
 msgid "About AudioCompress"
 msgstr "Despre Audacious"
 
-#: src/audiocompress/audacious-glue.c:320
+#: src/audiocompress/audacious-glue.c:328
 msgid ""
 "If checked, when the sound peaks the volume will be cut instantly; "
 "otherwise, it will ramp down just in time for the peak (but some minor "
 "clipping may still occur)."
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:324
+#: src/audiocompress/audacious-glue.c:332
 msgid "The maximum amount to amplify the audio by"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:326
+#: src/audiocompress/audacious-glue.c:334
 msgid "Defines how smoothly the volume will ramp up"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:328
+#: src/audiocompress/audacious-glue.c:336
 msgid ""
 "The target audio level for ramping up. Lowering the value gives a bit more "
 "dynamic range for peaks, but will make the overall sound quieter."
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:331
+#: src/audiocompress/audacious-glue.c:339
 msgid "How long of a window to maintain"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:372
+#: src/audiocompress/audacious-glue.c:380
 #, fuzzy
 msgid "AudioCompress preferences"
 msgstr "Preferințe Audacious"
 
-#: src/audiocompress/audacious-glue.c:389
+#: src/audiocompress/audacious-glue.c:397
 #, fuzzy
 msgid " Quality Options "
 msgstr "Meniu de Opțiuni"
 
-#: src/audiocompress/audacious-glue.c:394
+#: src/audiocompress/audacious-glue.c:402
 msgid " Aggressively prevent clipping"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:406
+#: src/audiocompress/audacious-glue.c:414
 msgid " Target & gain"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:417
+#: src/audiocompress/audacious-glue.c:425
 #, fuzzy
 msgid "Target audio level:"
 msgstr "Despre plugin-ul·Apple·Lossless·Audio"
 
-#: src/audiocompress/audacious-glue.c:425
+#: src/audiocompress/audacious-glue.c:433
 msgid "Maximum gain:"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:433
+#: src/audiocompress/audacious-glue.c:441
 msgid "Gain smooth:"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:485
+#: src/audiocompress/audacious-glue.c:493
 msgid " History "
 msgstr " Istorie "
 
-#: src/audiocompress/audacious-glue.c:517
+#: src/audiocompress/audacious-glue.c:525
 msgid ""
 "How long of a history to maintain.  A higher number will make the volume "
 "changes less responsive."
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:528
+#: src/audiocompress/audacious-glue.c:536
 #, fuzzy
 msgid "Load default values"
 msgstr "Încarcă presetarea implicită a egalizatorului"
 
-#: src/audiocompress/audacious-glue.c:533
+#: src/audiocompress/audacious-glue.c:541
 #, fuzzy
 msgid "Audio values"
 msgstr "<b>Sistemul Audio</b>"
 
-#: src/audiocompress/audacious-glue.c:562 src/echo_plugin/gui.c:152
-#: src/modplug/gui/interface.cxx:708 src/modplug/gui/modplug.glade:1655
-#: src/stereo_plugin/stereo.c:132
+#: src/audiocompress/audacious-glue.c:570 src/crystalizer/crystalizer.c:129
+#: src/echo_plugin/gui.c:150 src/modplug/gui/interface.cxx:708
+#: src/modplug/gui/modplug.glade:1655 src/stereo_plugin/stereo.c:131
 msgid "Apply"
 msgstr ""
 
-#: src/blur_scope/blur_scope.c:54
+#: src/blur_scope/blur_scope.c:52
 #, fuzzy
 msgid "/Toggle Decorations"
 msgstr "Schimbă Coada"
 
-#: src/blur_scope/blur_scope.c:56
+#: src/blur_scope/blur_scope.c:54
 msgid "/-"
 msgstr "/-"
 
-#: src/blur_scope/blur_scope.c:57
+#: src/blur_scope/blur_scope.c:55
 #, fuzzy
 msgid "/Close"
 msgstr "Închide"
 
-#: src/blur_scope/blur_scope.c:181
+#: src/blur_scope/blur_scope.c:179
 #, fuzzy
 msgid "Blur scope"
 msgstr "Scop din Puncte"
 
-#: src/blur_scope/config.c:72
+#: src/blur_scope/config.c:71
 msgid "Blur Scope: Color selection"
 msgstr ""
 
-#: src/blur_scope/config.c:82 src/jack/configure.c:108
+#: src/blur_scope/config.c:81 src/jack/configure.c:107
 #, fuzzy
 msgid "Options:"
 msgstr "Meniu de Opțiuni"
@@ -1925,7 +1925,7 @@
 "This was a Google Summer of Code 2007 project."
 msgstr ""
 
-#: src/cdaudio-ng/cdaudio-ng.c:814
+#: src/cdaudio-ng/cdaudio-ng.c:815
 #, fuzzy
 msgid ""
 "<b><big>No playable CD found.</big></b>\n"
@@ -1936,119 +1936,124 @@
 "\n"
 "Nici un CD inserat, sau CD-ul inserat nu este audio.\n"
 
-#: src/cdaudio-ng/configure.c:147
+#: src/cdaudio-ng/configure.c:155
 #, fuzzy
 msgid "CD Audio Plugin Configuration"
 msgstr "Despre plugin-ul·Apple·Lossless·Audio"
 
-#: src/cdaudio-ng/configure.c:157
+#: src/cdaudio-ng/configure.c:165
 #, fuzzy
 msgid "Digital audio extraction"
 msgstr "Despre plugin-ul·Apple·Lossless·Audio"
 
-#: src/cdaudio-ng/configure.c:162
+#: src/cdaudio-ng/configure.c:170
 #, fuzzy
 msgid "Title information"
 msgstr "Informații despre Track"
 
-#: src/cdaudio-ng/configure.c:179
+#: src/cdaudio-ng/configure.c:187
 msgid "Limit read speed to: "
 msgstr "Limitează viteza de citire la:"
 
-#: src/cdaudio-ng/configure.c:186
+#: src/cdaudio-ng/configure.c:194
 #, fuzzy
 msgid "Use cd-text if available"
 msgstr "Folosește fonturi Bitmap dacă sunt disponibile"
 
-#: src/cdaudio-ng/configure.c:190
+#: src/cdaudio-ng/configure.c:198
 #, fuzzy
 msgid "Use CDDB if available"
 msgstr "Folosește fonturi Bitmap dacă sunt disponibile"
 
-#: src/cdaudio-ng/configure.c:194
+#: src/cdaudio-ng/configure.c:202
 msgid "Server: "
 msgstr "Server:"
 
-#: src/cdaudio-ng/configure.c:197
+#: src/cdaudio-ng/configure.c:205
+#, fuzzy
+msgid "Path: "
+msgstr "Șablon: "
+
+#: src/cdaudio-ng/configure.c:208
 #, fuzzy
 msgid "Port: "
 msgstr "Port-ul:"
 
-#: src/cdaudio-ng/configure.c:203
+#: src/cdaudio-ng/configure.c:217
 msgid "Use HTTP instead of CDDBP"
 msgstr ""
 
-#: src/cdaudio-ng/configure.c:211
+#: src/cdaudio-ng/configure.c:225
 #, fuzzy
 msgid "Override default device: "
 msgstr "Salvează Lista Implicită"
 
-#: src/cdaudio-ng/configure.c:218
+#: src/cdaudio-ng/configure.c:232
 #, fuzzy
 msgid "Print debug information"
 msgstr "Informații despre Pluginul de ieșire"
 
-#: src/console/Audacious_Config.cxx:125
+#: src/console/Audacious_Config.cxx:124
 msgid "Console Music Decoder"
 msgstr ""
 
-#: src/console/Audacious_Config.cxx:162
+#: src/console/Audacious_Config.cxx:161
 msgid "Bass:"
 msgstr "Bass:"
 
-#: src/console/Audacious_Config.cxx:166 src/console/Audacious_Config.cxx:177
-#: src/console/Audacious_Config.cxx:198
+#: src/console/Audacious_Config.cxx:165 src/console/Audacious_Config.cxx:176
+#: src/console/Audacious_Config.cxx:197
 msgid "secs"
 msgstr ""
 
-#: src/console/Audacious_Config.cxx:173
+#: src/console/Audacious_Config.cxx:172
 msgid "Treble:"
 msgstr "Inalte:"
 
-#: src/console/Audacious_Config.cxx:194
+#: src/console/Audacious_Config.cxx:193
 #, fuzzy
 msgid "Default song length:"
 msgstr "Pauză"
 
-#: src/console/Audacious_Config.cxx:200 src/modplug/gui/interface.cxx:268
+#: src/console/Audacious_Config.cxx:199 src/modplug/gui/interface.cxx:268
 #: src/modplug/gui/modplug.glade:338 src/sid/xmms-sid.glade:1243
-#: src/sid/xs_interface.c:653
+#: src/sid/xs_interface.c:665
 msgid "Resampling"
 msgstr ""
 
-#: src/console/Audacious_Config.cxx:206
+#: src/console/Audacious_Config.cxx:205
 #, fuzzy
 msgid "Enable audio resampling"
 msgstr "Activează proxy"
 
-#: src/console/Audacious_Config.cxx:221
+#: src/console/Audacious_Config.cxx:220
 #, fuzzy
 msgid "Resampling rate:"
 msgstr "Rata de Reîmprospătare"
 
-#: src/console/Audacious_Config.cxx:236
+#: src/console/Audacious_Config.cxx:235
 msgid "SPC"
 msgstr "SPC"
 
+#: src/console/Audacious_Config.cxx:236
+msgid "Ignore length from SPC tags"
+msgstr ""
+
 #: src/console/Audacious_Config.cxx:237
-msgid "Ignore length from SPC tags"
-msgstr ""
-
-#: src/console/Audacious_Config.cxx:238
 msgid "Increase reverb"
 msgstr "Măreşte reverbul"
 
-#: src/console/Audacious_Config.cxx:263
+#: src/console/Audacious_Config.cxx:262
 msgid ""
 "The default song length, expressed in seconds, is used for songs that do not "
 "provide length information (i.e. looping tracks)."
 msgstr ""
 
-#: src/console/Audacious_Driver.cxx:444
+#: src/console/Audacious_Driver.cxx:442
 msgid "About the Console Music Decoder"
 msgstr ""
 
-#: src/console/Audacious_Driver.cxx:445
+#: src/console/Audacious_Driver.cxx:443
 msgid ""
 "Console music decoder engine based on Game_Music_Emu 0.5.2.\n"
 "Supported formats: AY, GBS, GYM, HES, KSS, NSF, NSFE, SAP, SPC, VGM, VGZ\n"
@@ -2056,12 +2061,22 @@
 "        Shay Green <gblargg@gmail.com>"
 msgstr ""
 
-#: src/demac/plugin.c:388
+#: src/crystalizer/crystalizer.c:90
+#, fuzzy
+msgid "Configure Crystalizer"
+msgstr "Configurează"
+
+#: src/crystalizer/crystalizer.c:92 src/stereo_plugin/stereo.c:94
+#, fuzzy
+msgid "Effect intensity:"
+msgstr "Lista plugin-urilor de _Efecte"
+
+#: src/demac/plugin.c:359
 #, fuzzy
 msgid "About Monkey's Audio Plugin"
 msgstr "Despre plugin-ul·Apple·Lossless·Audio"
 
-#: src/demac/plugin.c:389
+#: src/demac/plugin.c:360
 msgid ""
 "Copyright (C) 2007 Eugene Zagidullin <e.asphyx@gmail.com>\n"
 "Based on ffape decoder, Copyright (C) 2007 Benjamin Zores\n"
@@ -2070,7 +2085,7 @@
 "ffape is a part of FFmpeg project, http://ffmpeg.mplayerhq.hu/"
 msgstr ""
 
-#: src/echo_plugin/gui.c:11
+#: src/echo_plugin/gui.c:9
 msgid ""
 "Echo Plugin\n"
 "By Johan Levin 1999.\n"
@@ -2078,38 +2093,38 @@
 "Surround echo by Carl van Schaik 1999"
 msgstr ""
 
-#: src/echo_plugin/gui.c:25
+#: src/echo_plugin/gui.c:23
 #, fuzzy
 msgid "About Echo Plugin"
 msgstr "Despre plugin-ul decodor MP4·AAC"
 
-#: src/echo_plugin/gui.c:76
+#: src/echo_plugin/gui.c:74
 msgid "Configure Echo"
 msgstr "Configurează Ecou"
 
-#: src/echo_plugin/gui.c:89
+#: src/echo_plugin/gui.c:87
 msgid "Delay: (ms)"
 msgstr ""
 
-#: src/echo_plugin/gui.c:94
+#: src/echo_plugin/gui.c:92
 msgid "Feedback: (%)"
 msgstr ""
 
-#: src/echo_plugin/gui.c:99
+#: src/echo_plugin/gui.c:97
 #, fuzzy
 msgid "Volume: (%)"
 msgstr "Volum: %d%%"
 
-#: src/echo_plugin/gui.c:122
+#: src/echo_plugin/gui.c:120
 msgid "Surround echo"
 msgstr ""
 
-#: src/esd/about.c:34
+#: src/esd/about.c:33
 #, fuzzy
 msgid "About ESounD Plugin"
 msgstr "Despre plugin-ul decodor MP4·AAC"
 
-#: src/esd/about.c:35
+#: src/esd/about.c:34
 msgid ""
 "Audacious ESounD Plugin\n"
 "\n"
@@ -2155,8 +2170,8 @@
 msgid "Server"
 msgstr "Server"
 
-#: src/esd/configure.c:198 src/OSS4/configure.c:259 src/OSS/configure.c:331
-#: src/sun/configure.c:290
+#: src/esd/configure.c:198 src/OSS4/configure.c:257 src/OSS/configure.c:330
+#: src/sun/configure.c:288
 msgid "Pre-buffer (percent):"
 msgstr ""
 
@@ -2245,93 +2260,93 @@
 msgid "Window->JumpToFile"
 msgstr "Fereastra de Preferințe"
 
-#: src/evdev-plug/ed_internals.c:94
+#: src/evdev-plug/ed_internals.c:93
 #, c-format
 msgid ""
 "event-device-plugin: unable to open device file %s , skipping this device; "
 "check that the file exists and that you have read permission for it\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:103
+#: src/evdev-plug/ed_internals.c:102
 #, c-format
 msgid ""
 "event-device-plugin: unable to create a io_channel for device file %s ,"
 "skipping this device\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:342
+#: src/evdev-plug/ed_internals.c:341
 msgid ""
 "event-device-plugin: unable to open /proc/bus/input/devices , automatic "
 "detection of event devices won't work.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:351
+#: src/evdev-plug/ed_internals.c:350
 msgid ""
 "event-device-plugin: unable to open a io_channel for /proc/bus/input/"
 "devices , automatic detection of event devices won't work.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:361
+#: src/evdev-plug/ed_internals.c:360
 msgid ""
 "event-device-plugin: an error occurred while reading /proc/bus/input/"
 "devices , automatic detection of event devices won't work.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:424
+#: src/evdev-plug/ed_internals.c:423
 #, c-format
 msgid "event-device-plugin: device %s not found in /dev/input , skipping.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:489 src/evdev-plug/ed_internals.c:583
+#: src/evdev-plug/ed_internals.c:488 src/evdev-plug/ed_internals.c:582
 #, c-format
 msgid ""
 "event-device-plugin: unable to load config file %s , default settings will "
 "be used.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:535
+#: src/evdev-plug/ed_internals.c:534
 #, c-format
 msgid ""
 "event-device-plugin: incomplete information in config file for device \"%s"
 "\" , skipping.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:604 src/evdev-plug/ed_internals.c:936
+#: src/evdev-plug/ed_internals.c:603 src/evdev-plug/ed_internals.c:935
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get is_active value for device "
 "\"%s\", skipping it.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:840
+#: src/evdev-plug/ed_internals.c:839
 #, c-format
 msgid ""
 "event-device-plugin: unable to access local directory %s , settings will not "
 "be saved.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:890
+#: src/evdev-plug/ed_internals.c:889
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get filename value for device "
 "\"%s\", skipping it.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:906
+#: src/evdev-plug/ed_internals.c:905
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get phys value for device \"%s"
 "\", skipping it.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:922
+#: src/evdev-plug/ed_internals.c:921
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get is_custom value for device "
 "\"%s\", skipping it.\n"
 msgstr ""
 
-#: src/evdev-plug/ed_internals.c:946
+#: src/evdev-plug/ed_internals.c:945
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unexpected value for device \"%s\", "
@@ -2350,7 +2365,7 @@
 "Ensure that the device has been correctly plugged in."
 msgstr ""
 
-#: src/evdev-plug/ed_ui.c:319 src/madplug/plugin.c:566
+#: src/evdev-plug/ed_ui.c:319 src/madplug/plugin.c:703
 #, fuzzy
 msgid "Error"
 msgstr "Eroare în Audacious"
@@ -2407,7 +2422,7 @@
 msgid "Active"
 msgstr "Activ"
 
-#: src/evdev-plug/ed_ui.c:655 src/sun/configure.c:488
+#: src/evdev-plug/ed_ui.c:655 src/sun/configure.c:486
 msgid "Status"
 msgstr "Statut"
 
@@ -2513,7 +2528,7 @@
 msgid "Output file format:"
 msgstr "AdPlug·::·Informații despre fișier"
 
-#: src/filewriter/filewriter.c:511 src/ladspa/ladspa.c:960
+#: src/filewriter/filewriter.c:511 src/ladspa/ladspa.c:959
 msgid "Configure"
 msgstr "Configurează"
 
@@ -2756,12 +2771,12 @@
 msgid "Quality level (0 - 10):"
 msgstr "Nivelul de calitate (0 - 10):"
 
-#: src/flacng/plugin.c:698
+#: src/flacng/plugin.c:697
 #, fuzzy
 msgid "FLAC Audio Plugin "
 msgstr "Despre plugin-ul·Apple·Lossless·Audio"
 
-#: src/flacng/plugin.c:699
+#: src/flacng/plugin.c:698
 msgid ""
 "\n"
 "\n"
@@ -2771,17 +2786,17 @@
 "http://www.skytale.net/projects/bmp-flac2/"
 msgstr ""
 
-#: src/flacng/plugin.c:704
+#: src/flacng/plugin.c:703
 #, fuzzy
 msgid "About FLAC Audio Plugin"
 msgstr "Despre plugin-ul·Apple·Lossless·Audio"
 
-#: src/gnomeshortcuts/gnomeshortcuts.c:306
+#: src/gnomeshortcuts/gnomeshortcuts.c:305
 #, fuzzy
 msgid "About Gnome Shortcut Plugin"
 msgstr "Despre plugin-ul decodor MP4·AAC"
 
-#: src/gnomeshortcuts/gnomeshortcuts.c:307
+#: src/gnomeshortcuts/gnomeshortcuts.c:306
 msgid ""
 "Gnome Shortcut Plugin\n"
 "Let's you control the player with Gnome's shortcuts.\n"
@@ -2794,7 +2809,7 @@
 msgid "Previous Track"
 msgstr ""
 
-#: src/hotkey/gui.c:69
+#: src/hotkey/gui.c:69 src/skins/ui_manager.c:177 src/skins/ui_manager.c:178
 #, fuzzy
 msgid "Play"
 msgstr "Pauză pentru"
@@ -2804,7 +2819,7 @@
 msgid "Pause/Resume"
 msgstr "La încărcare"
 
-#: src/hotkey/gui.c:71
+#: src/hotkey/gui.c:71 src/skins/ui_manager.c:183 src/skins/ui_manager.c:184
 #, fuzzy
 msgid "Stop"
 msgstr "Synthpop"
@@ -2837,7 +2852,7 @@
 msgid "Volume Down"
 msgstr "Schimbă volumul cu"
 
-#: src/hotkey/gui.c:78
+#: src/hotkey/gui.c:78 src/skins/ui_manager.c:422 src/skins/ui_manager.c:423
 #, fuzzy
 msgid "Jump to File"
 msgstr "Fereastra de Preferințe"
@@ -2892,12 +2907,12 @@
 msgid "<b>Key Binding:</b>"
 msgstr ""
 
-#: src/hotkey/gui.c:660
+#: src/hotkey/gui.c:659
 #, fuzzy
 msgid "About Global Hotkey Plugin"
 msgstr "Despre plugin-ul decodor MP4·AAC"
 
-#: src/hotkey/gui.c:661
+#: src/hotkey/gui.c:660
 msgid ""
 "Global Hotkey Plugin\n"
 "Control the player with global key combinations or multimedia keys.\n"
@@ -2913,39 +2928,39 @@
 "\n"
 msgstr ""
 
-#: src/jack/configure.c:70
+#: src/jack/configure.c:69
 msgid "Connect to all available jack ports"
 msgstr "Conectează la toate porturile jack"
 
-#: src/jack/configure.c:77
+#: src/jack/configure.c:76
 msgid "Connect only the output ports"
 msgstr "Conectează numai la porturile de ieşire"
 
-#: src/jack/configure.c:84
+#: src/jack/configure.c:83
 msgid "Connect to no ports"
 msgstr ""
 
-#: src/jack/configure.c:99
+#: src/jack/configure.c:98
 #, fuzzy
 msgid "jack Plugin configuration"
 msgstr "Lista plugin-urilor _Generale"
 
-#: src/jack/configure.c:117
+#: src/jack/configure.c:116
 #, fuzzy
 msgid "Connection mode:"
 msgstr "Mod de Vizualizare"
 
-#: src/jack/configure.c:129
+#: src/jack/configure.c:128
 #, fuzzy
 msgid "Enable debug printing"
 msgstr "Activează proxy"
 
-#: src/jack/jack.c:84
+#: src/jack/jack.c:82
 #, fuzzy
 msgid "Sample rate mismatch"
 msgstr "<b>Convertor pentru rata de eșantionare</b>"
 
-#: src/jack/jack.c:87
+#: src/jack/jack.c:85
 msgid ""
 "Xmms is asking for a sample rate that differs from\n"
 " that of the jack server.  Xmms 1.2.8 or later\n"
@@ -2959,16 +2974,16 @@
 "Chris Morgan <cmorgan@alum.wpi.edu>\n"
 msgstr ""
 
-#: src/jack/jack.c:100 src/wma/wma.c:148
+#: src/jack/jack.c:98 src/wma/wma.c:145
 #, fuzzy
 msgid " Close "
 msgstr "Închide"
 
-#: src/jack/jack.c:452
+#: src/jack/jack.c:450
 msgid "About JACK Output Plugin 0.17"
 msgstr ""
 
-#: src/jack/jack.c:453
+#: src/jack/jack.c:451
 msgid ""
 "XMMS jack Driver 0.17\n"
 "\n"
@@ -2979,45 +2994,45 @@
 "Giacomo Lozito from develia.org"
 msgstr ""
 
-#: src/ladspa/ladspa.c:722
+#: src/ladspa/ladspa.c:721
 msgid "This LADSPA plugin has no user controls"
 msgstr ""
 
-#: src/ladspa/ladspa.c:767 src/ladspa/ladspa.c:853
+#: src/ladspa/ladspa.c:766 src/ladspa/ladspa.c:852
 #, fuzzy
 msgid "Name"
 msgstr "Numele Instrumentului"
 
-#: src/ladspa/ladspa.c:853
+#: src/ladspa/ladspa.c:852
 msgid "UID"
 msgstr ""
 
-#: src/ladspa/ladspa.c:928
+#: src/ladspa/ladspa.c:927
 #, fuzzy
 msgid "Installed plugins"
 msgstr "Reîncarcă Plugin-urile"
 
-#: src/ladspa/ladspa.c:937
+#: src/ladspa/ladspa.c:936
 #, fuzzy
 msgid "Running plugins"
 msgstr "Reîncarcă Plugin-urile"
 
-#: src/ladspa/ladspa.c:952
+#: src/ladspa/ladspa.c:951
 #, fuzzy
 msgid "Add"
 msgstr "Adaugă Fișiere"
 
-#: src/ladspa/ladspa.c:956
+#: src/ladspa/ladspa.c:955
 #, fuzzy
 msgid "Remove"
 msgstr "Șterge Duplicatele"
 
-#: src/ladspa/ladspa.c:969
+#: src/ladspa/ladspa.c:968
 #, fuzzy
 msgid "LADSPA Plugin Catalog"
 msgstr "Lista plugin-urilor _Generale"
 
-#: src/lastfm/lastfm.c:96
+#: src/lastfm/lastfm.c:94
 msgid ""
 "<b><big>Couldn't initialize the last.fm radio plugin.</big></b>\n"
 "\n"
@@ -3104,62 +3119,62 @@
 msgid "%s: will try reconnect every %d seconds...\n"
 msgstr ""
 
-#: src/madplug/configure.c:209
+#: src/madplug/configure.c:208
 #, fuzzy
 msgid "MPEG Audio Plugin Configuration"
 msgstr "Despre plugin-ul·Apple·Lossless·Audio"
 
-#: src/madplug/configure.c:226
+#: src/madplug/configure.c:225
 #, fuzzy
 msgid "Audio Settings"
 msgstr "Opțiuni ale plugin-ului Alarm"
 
-#: src/madplug/configure.c:234
+#: src/madplug/configure.c:233
 msgid "Force reopen audio when audio type changed"
 msgstr ""
 
-#: src/madplug/configure.c:243
+#: src/madplug/configure.c:242
 #, fuzzy
 msgid "Metadata Settings"
 msgstr "Opțiuni pentru Popup-ul cu informații suplimentare"
 
-#: src/madplug/configure.c:252
+#: src/madplug/configure.c:251
 msgid "Enable fast play-length calculation"
 msgstr ""
 
-#: src/madplug/configure.c:259
+#: src/madplug/configure.c:258
 msgid "Parse XING headers"
 msgstr ""
 
-#: src/madplug/configure.c:266
+#: src/madplug/configure.c:265
 msgid "Use SJIS to write ID3 tags (not recommended)"
 msgstr ""
 
-#: src/madplug/configure.c:273
+#: src/madplug/configure.c:272
 #, fuzzy
 msgid "Miscellaneous Settings"
 msgstr "Meniu de Opțiuni"
 
-#: src/madplug/configure.c:282
+#: src/madplug/configure.c:281
 msgid "Display average bitrate for VBR"
 msgstr ""
 
-#: src/madplug/configure.c:296 src/vorbis/configure.c:102
+#: src/madplug/configure.c:295 src/vorbis/configure.c:100
 msgid "Override generic titles"
 msgstr ""
 
-#: src/madplug/configure.c:308
+#: src/madplug/configure.c:307
 #, fuzzy
 msgid "ID3 format:"
 msgstr "Selecția formatelor"
 
-#: src/madplug/configure.c:320 src/sid/xmms-sid.glade:2540
-#: src/sid/xs_interface.c:1070
+#: src/madplug/configure.c:319 src/sid/xmms-sid.glade:2610
+#: src/sid/xs_interface.c:1102
 #, fuzzy
 msgid "Title"
 msgstr "Titlu"
 
-#: src/madplug/plugin.c:524
+#: src/madplug/plugin.c:661
 #, c-format
 msgid ""
 "Audacious MPEG Audio Plugin\n"
@@ -3177,17 +3192,17 @@
 "    Samuel Krempp"
 msgstr ""
 
-#: src/madplug/plugin.c:540
+#: src/madplug/plugin.c:677
 #, fuzzy
 msgid "About MPEG Audio Plugin"
 msgstr "Despre plugin-ul·Apple·Lossless·Audio"
 
-#: src/metronom/metronom.c:87
+#: src/metronom/metronom.c:86
 #, fuzzy
 msgid "About Metronom"
 msgstr "Despre Audacious"
 
-#: src/metronom/metronom.c:88
+#: src/metronom/metronom.c:87
 msgid ""
 "A Tact Generator by Martin Strauss <mys@faveve.uni-stuttgart.de>\n"
 "\n"
@@ -3196,12 +3211,12 @@
 "or   tact://60*3/4 to play 60 bpm in 3/4 tacts"
 msgstr ""
 
-#: src/metronom/metronom.c:198 src/metronom/metronom.c:262
+#: src/metronom/metronom.c:197 src/metronom/metronom.c:261
 #, c-format
 msgid "Tact generator: %d bpm"
 msgstr ""
 
-#: src/metronom/metronom.c:200 src/metronom/metronom.c:264
+#: src/metronom/metronom.c:199 src/metronom/metronom.c:263
 #, c-format
 msgid "Tact generator: %d bpm %d/%d"
 msgstr ""
@@ -3406,11 +3421,11 @@
 msgid "Message"
 msgstr "Mesajul melodiei"
 
-#: src/modplug/gui/main.cxx:45
+#: src/modplug/gui/main.cxx:48
 msgid "Modplug Input Plugin for Audacious ver"
 msgstr ""
 
-#: src/modplug/gui/main.cxx:46
+#: src/modplug/gui/main.cxx:49
 msgid ""
 "\n"
 "Modplug sound engine written by Olivier Lapicque.\n"
@@ -3420,7 +3435,7 @@
 "Ported to BMP by Theofilos Intzoglou."
 msgstr ""
 
-#: src/modplug/gui/main.cxx:49
+#: src/modplug/gui/main.cxx:52
 #, fuzzy
 msgid "About Modplug"
 msgstr "Despre Audacious"
@@ -3431,28 +3446,28 @@
 msgid "Couldn't find pixmap file: %s"
 msgstr ""
 
-#: src/mtp_up/mtp.c:35
+#: src/mtp_up/mtp.c:33
 msgid "Upload selected track(s)"
 msgstr ""
 
-#: src/mtp_up/mtp.c:296
+#: src/mtp_up/mtp.c:294
 msgid "Upload in progress..."
 msgstr ""
 
-#: src/mtp_up/mtp.c:305
+#: src/mtp_up/mtp.c:303
 msgid "MTP device handler"
 msgstr ""
 
-#: src/mtp_up/mtp.c:309
+#: src/mtp_up/mtp.c:307
 msgid "Disconnect the device"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:146
+#: src/musepack/libmpc.cxx:142
 #, fuzzy
 msgid "Musepack Decoder Plugin 1.2"
 msgstr "Lista plugin-urilor _Generale"
 
-#: src/musepack/libmpc.cxx:147
+#: src/musepack/libmpc.cxx:143
 msgid ""
 "Plugin code by\n"
 "Benoit Amiaux\n"
@@ -3462,219 +3477,251 @@
 "Get latest version at http://musepack.net\n"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:148
+#: src/musepack/libmpc.cxx:144
 msgid "Nevermind"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:166
+#: src/musepack/libmpc.cxx:162
 msgid "Musepack Decoder Configuration"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:176
+#: src/musepack/libmpc.cxx:172
 #, fuzzy
 msgid "General Settings"
 msgstr "Opțiuni pentru Popup-ul cu informații suplimentare"
 
-#: src/musepack/libmpc.cxx:183 src/wavpack/ui.cxx:492
+#: src/musepack/libmpc.cxx:179 src/wavpack/ui.cxx:490
 msgid "Enable Dynamic Bitrate Display"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:187 src/wavpack/ui.cxx:498
+#: src/musepack/libmpc.cxx:183 src/wavpack/ui.cxx:496
 #, fuzzy
 msgid "Plugin"
 msgstr "Plugin de intrare: %s"
 
-#: src/musepack/libmpc.cxx:190
+#: src/musepack/libmpc.cxx:186
 #, fuzzy
 msgid "ReplayGain Settings"
 msgstr "Opțiuni pentru Popup-ul cu informații suplimentare"
 
-#: src/musepack/libmpc.cxx:197 src/wavpack/ui.cxx:510
+#: src/musepack/libmpc.cxx:193 src/wavpack/ui.cxx:508
 #, fuzzy
 msgid "Enable Clipping Prevention"
 msgstr "Activează proxy"
 
-#: src/musepack/libmpc.cxx:202 src/wavpack/ui.cxx:515
+#: src/musepack/libmpc.cxx:198 src/wavpack/ui.cxx:513
 #, fuzzy
 msgid "Enable ReplayGain"
 msgstr "Activează modul 'Mărime Dublă'"
 
-#: src/musepack/libmpc.cxx:207
+#: src/musepack/libmpc.cxx:203
 #, fuzzy
 msgid "ReplayGain Type"
 msgstr "Tipul Fișierului: "
 
-#: src/musepack/libmpc.cxx:215
+#: src/musepack/libmpc.cxx:211
 #, fuzzy
 msgid "Use Track Gain"
 msgstr "Fereastra cu informații despre Track"
 
-#: src/musepack/libmpc.cxx:219
+#: src/musepack/libmpc.cxx:215
 #, fuzzy
 msgid "Use Album Gain"
 msgstr "Folosește cursoare de mouse personalizate (oferite de skin)"
 
-#: src/musepack/libmpc.cxx:224 src/wavpack/ui.cxx:547
+#: src/musepack/libmpc.cxx:220 src/wavpack/ui.cxx:545
 msgid "ReplayGain"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:491 src/sid/xmms-sid.glade:3144
-#: src/sid/xs_interface.c:1564 src/tta/libtta.c:304 src/wavpack/ui.cxx:152
+#: src/musepack/libmpc.cxx:487 src/sid/xmms-sid.glade:3338
+#: src/sid/xs_interface.c:1648 src/tta/libtta.c:301 src/wavpack/ui.cxx:150
 #, fuzzy
 msgid "Filename:"
 msgstr "Fișier:"
 
-#: src/musepack/libmpc.cxx:506
+#: src/musepack/libmpc.cxx:502
 msgid "Musepack Tag"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:514 src/tta/libtta.c:323 src/wavpack/ui.cxx:172
+#: src/musepack/libmpc.cxx:510 src/tta/libtta.c:320 src/wavpack/ui.cxx:170
 #, fuzzy
 msgid "Title:"
 msgstr "Titlu: "
 
-#: src/musepack/libmpc.cxx:518 src/tta/libtta.c:333 src/wavpack/ui.cxx:184
+#: src/musepack/libmpc.cxx:514 src/tta/libtta.c:330 src/wavpack/ui.cxx:182
 #, fuzzy
 msgid "Artist:"
 msgstr "Artist"
 
-#: src/musepack/libmpc.cxx:522 src/tta/libtta.c:344 src/wavpack/ui.cxx:196
+#: src/musepack/libmpc.cxx:518 src/tta/libtta.c:341 src/wavpack/ui.cxx:194
 #, fuzzy
 msgid "Album:"
 msgstr "Album"
 
-#: src/musepack/libmpc.cxx:526 src/tta/libtta.c:355 src/wavpack/ui.cxx:208
+#: src/musepack/libmpc.cxx:522 src/tta/libtta.c:352 src/wavpack/ui.cxx:206
 #, fuzzy
 msgid "Comment:"
 msgstr "Comentariu"
 
-#: src/musepack/libmpc.cxx:530 src/tta/libtta.c:366 src/wavpack/ui.cxx:221
+#: src/musepack/libmpc.cxx:526 src/tta/libtta.c:363 src/wavpack/ui.cxx:219
 #, fuzzy
 msgid "Year:"
 msgstr "Anul"
 
-#: src/musepack/libmpc.cxx:535
+#: src/musepack/libmpc.cxx:531
 #, fuzzy
 msgid "Track:"
 msgstr "Informații despre Track"
 
-#: src/musepack/libmpc.cxx:540 src/tta/libtta.c:390 src/wavpack/ui.cxx:248
+#: src/musepack/libmpc.cxx:536 src/tta/libtta.c:387 src/wavpack/ui.cxx:246
 #, fuzzy
 msgid "Genre:"
 msgstr "Genul"
 
-#: src/musepack/libmpc.cxx:551 src/sid/xmms-sid.glade:1732
-#: src/sid/xs_interface.c:820 src/wavpack/ui.cxx:267
+#: src/musepack/libmpc.cxx:547 src/sid/xmms-sid.glade:1732
+#: src/sid/xs_interface.c:832 src/skins/ui_manager.c:438
+#: src/wavpack/ui.cxx:265
 #, fuzzy
 msgid "Save"
 msgstr "Salvează"
 
-#: src/musepack/libmpc.cxx:554 src/wavpack/ui.cxx:273
+#: src/musepack/libmpc.cxx:550 src/wavpack/ui.cxx:271
 #, fuzzy
 msgid "Remove Tag"
 msgstr "Șterge Duplicatele"
 
-#: src/musepack/libmpc.cxx:562
+#: src/musepack/libmpc.cxx:558
 #, fuzzy
 msgid "Musepack Info"
 msgstr "AdPlug·::·Informații despre fișier"
 
-#: src/musepack/libmpc.cxx:595
+#: src/musepack/libmpc.cxx:591
 #, c-format
 msgid "Streamversion %d"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:596
+#: src/musepack/libmpc.cxx:592
 #, c-format
 msgid "Encoder: %s"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:597
+#: src/musepack/libmpc.cxx:593
 #, c-format
 msgid "Profile: %s"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:598
+#: src/musepack/libmpc.cxx:594
 #, c-format
 msgid "Average bitrate: %6.1f kbps"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:599
+#: src/musepack/libmpc.cxx:595
 #, fuzzy, c-format
 msgid "Samplerate: %d Hz"
 msgstr "Rata de eșantionare [Hz]:"
 
-#: src/musepack/libmpc.cxx:600
+#: src/musepack/libmpc.cxx:596
 #, fuzzy, c-format
 msgid "Channels: %d"
 msgstr "Canale"
 
-#: src/musepack/libmpc.cxx:601
+#: src/musepack/libmpc.cxx:597
 #, fuzzy, c-format
 msgid "Length: %d:\\%.2d"
 msgstr "Mărimea track-ului"
 
-#: src/musepack/libmpc.cxx:602
+#: src/musepack/libmpc.cxx:598
 #, fuzzy, c-format
 msgid "File size: %d Bytes"
 msgstr "AdPlug·::·Informații despre fișier"
 
-#: src/musepack/libmpc.cxx:603
+#: src/musepack/libmpc.cxx:599
 #, fuzzy, c-format
 msgid "Track Peak: %5u"
 msgstr "Fereastra cu informații despre Track"
 
-#: src/musepack/libmpc.cxx:604
+#: src/musepack/libmpc.cxx:600
 #, c-format
 msgid "Track Gain: %-+2.2f dB"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:605
+#: src/musepack/libmpc.cxx:601
 #, fuzzy, c-format
 msgid "Album Peak: %5u"
 msgstr "<span size=\"small\">Album</span>"
 
-#: src/musepack/libmpc.cxx:606
+#: src/musepack/libmpc.cxx:602
 #, c-format
 msgid "Album Gain: %-+5.2f dB"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:634 src/tta/libtta.c:413 src/wavpack/ui.cxx:409
+#: src/musepack/libmpc.cxx:630 src/tta/libtta.c:410 src/wavpack/ui.cxx:407
 #, fuzzy, c-format
 msgid "File Info - %s"
 msgstr "AdPlug·::·Informații despre fișier"
 
-#: src/null/null.c:61
+#: src/null/null.c:58
 #, fuzzy
 msgid "Null output plugin "
 msgstr "Plugin-ul de ieșire curent"
 
-#: src/null/null.c:62
+#: src/null/null.c:59
 msgid ""
 " by Christian Birchinger <joker@netswarm.net>\n"
 "based on the XMMS plugin by Håvard Kvål <havardk@xmms.org>"
 msgstr ""
 
-#: src/null/null.c:65
+#: src/null/null.c:62
 #, fuzzy
 msgid "About Null Output"
 msgstr "Plugin-ul de ieșire curent"
 
-#: src/null/null.c:94
+#: src/null/null.c:91
 #, fuzzy
 msgid "Null output preferences"
 msgstr "Preferințele Plugin-ului de Ieșire"
 
-#: src/null/null.c:103
+#: src/null/null.c:100
 msgid "Run in real time"
 msgstr ""
 
-#: src/OSS4/about.c:42
+#: src/OSS4/configure.c:118 src/OSS/configure.c:150
+#, fuzzy, c-format
+msgid "Default (%s)"
+msgstr "Implicit"
+
+#: src/OSS4/configure.c:168 src/OSS/configure.c:200
+msgid "OSS Driver configuration"
+msgstr ""
+
+#: src/OSS4/configure.c:206 src/OSS/configure.c:238 src/OSS/configure.c:279
+#, fuzzy
+msgid "Use alternate device:"
+msgstr "Folosește cursoare de mouse personalizate (oferite de skin)"
+
+#: src/OSS4/configure.c:228 src/OSS/configure.c:301 src/sun/configure.c:246
+msgid "Devices"
+msgstr ""
+
+#: src/OSS4/configure.c:270 src/OSS/configure.c:342
+#, fuzzy
+msgid "Mixer Settings:"
+msgstr "Opțiuni pentru Popup-ul cu informații suplimentare"
+
+#: src/OSS4/configure.c:276
+msgid "Save VMIX volume between sessions"
+msgstr ""
+
+#: src/OSS4/configure.c:282 src/OSS/configure.c:354 src/sun/configure.c:392
+msgid "Mixer"
+msgstr ""
+
+#: src/OSS4/OSS4.c:38
 #, fuzzy
 msgid "About OSSv4 Driver"
 msgstr "Despre plugin-ul·pentru Alarmă"
 
-#: src/OSS4/about.c:43
+#: src/OSS4/OSS4.c:39
 msgid ""
 "Audacious OSSv4 Driver\n"
 "\n"
@@ -3697,43 +3744,16 @@
 "USA."
 msgstr ""
 
-#: src/OSS4/configure.c:120 src/OSS/configure.c:151
-#, fuzzy, c-format
-msgid "Default (%s)"
-msgstr "Implicit"
-
-#: src/OSS4/configure.c:170 src/OSS/configure.c:201
-msgid "OSS Driver configuration"
-msgstr ""
-
-#: src/OSS4/configure.c:208 src/OSS/configure.c:239 src/OSS/configure.c:280
-#, fuzzy
-msgid "Use alternate device:"
-msgstr "Folosește cursoare de mouse personalizate (oferite de skin)"
-
-#: src/OSS4/configure.c:230 src/OSS/configure.c:302 src/sun/configure.c:248
-msgid "Devices"
-msgstr ""
-
-#: src/OSS4/configure.c:272 src/OSS/configure.c:343
-#, fuzzy
-msgid "Mixer Settings:"
-msgstr "Opțiuni pentru Popup-ul cu informații suplimentare"
-
-#: src/OSS4/configure.c:278
-msgid "Save VMIX volume between sessions"
-msgstr ""
-
-#: src/OSS4/configure.c:284 src/OSS/configure.c:355 src/sun/configure.c:394
-msgid "Mixer"
-msgstr ""
-
-#: src/OSS/about.c:39
+#: src/OSS/configure.c:348
+msgid "Volume controls Master not PCM"
+msgstr ""
+
+#: src/OSS/OSS.c:37
 #, fuzzy
 msgid "About OSS Driver"
 msgstr "Despre plugin-ul·pentru Alarmă"
 
-#: src/OSS/about.c:40
+#: src/OSS/OSS.c:38
 msgid ""
 "Audacious OSS Driver\n"
 "\n"
@@ -3753,19 +3773,15 @@
 "USA."
 msgstr ""
 
-#: src/OSS/configure.c:349
-msgid "Volume controls Master not PCM"
-msgstr ""
-
 #: src/projectm-1.0/main.c:70
 msgid "_Random"
 msgstr ""
 
-#: src/pulse_audio/pulse_audio.c:722
+#: src/pulse_audio/pulse_audio.c:720
 msgid "About Audacious PulseAudio Output Plugin"
 msgstr ""
 
-#: src/pulse_audio/pulse_audio.c:723
+#: src/pulse_audio/pulse_audio.c:721
 msgid ""
 "Audacious PulseAudio Output Plugin\n"
 "\n"
@@ -3785,30 +3801,30 @@
 "USA."
 msgstr ""
 
-#: src/scrobbler/configure.c:138
+#: src/scrobbler/configure.c:134
 msgid "<b>Services</b>"
 msgstr ""
 
-#: src/scrobbler/configure.c:160 src/scrobbler/configure.c:199
+#: src/scrobbler/configure.c:156 src/scrobbler/configure.c:195
 #, fuzzy
 msgid "Username:"
 msgstr "Utilizator:"
 
-#: src/scrobbler/configure.c:166 src/scrobbler/configure.c:205
+#: src/scrobbler/configure.c:162 src/scrobbler/configure.c:201
 #, fuzzy
 msgid "Password:"
 msgstr "Parolă:"
 
-#: src/scrobbler/configure.c:183
+#: src/scrobbler/configure.c:179
 #, fuzzy
 msgid "<b>Last.FM</b>"
 msgstr "Radio Last.fm"
 
-#: src/scrobbler/configure.c:222
+#: src/scrobbler/configure.c:218
 msgid "<b>Gerpok</b>"
 msgstr ""
 
-#: src/scrobbler/gtkstuff.c:21
+#: src/scrobbler/gtkstuff.c:18
 msgid ""
 "Audacious AudioScrobbler Plugin\n"
 "\n"
@@ -3816,12 +3832,12 @@
 "com>\n"
 msgstr ""
 
-#: src/scrobbler/gtkstuff.c:23
+#: src/scrobbler/gtkstuff.c:20
 #, fuzzy
 msgid "About Scrobbler Plugin"
 msgstr "Despre plugin-ul decodor MP4·AAC"
 
-#: src/scrobbler/gtkstuff.c:36
+#: src/scrobbler/gtkstuff.c:33
 #, c-format
 msgid ""
 "There has been an error that may require your attention.\n"
@@ -3831,114 +3847,114 @@
 "%s\n"
 msgstr ""
 
-#: src/scrobbler/gtkstuff.c:43
+#: src/scrobbler/gtkstuff.c:40
 #, fuzzy
 msgid "Scrobbler Error"
 msgstr "Eroare în Audacious"
 
-#: src/sid/xmms-sid.glade:8 src/sid/xs_interface.c:221
+#: src/sid/xmms-sid.glade:8 src/sid/xs_interface.c:233
 #, fuzzy
 msgid "Audacious-SID configuration"
 msgstr "Developerii Audacious:"
 
-#: src/sid/xmms-sid.glade:71 src/sid/xs_interface.c:257
+#: src/sid/xmms-sid.glade:71 src/sid/xs_interface.c:269
 msgid "8-bit"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:90 src/sid/xs_interface.c:264
+#: src/sid/xmms-sid.glade:90 src/sid/xs_interface.c:276
 msgid "16-bit"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:111 src/sid/xs_interface.c:271
+#: src/sid/xmms-sid.glade:111 src/sid/xs_interface.c:283
 #, fuzzy
 msgid "Resolution:"
 msgstr "Rezoluție"
 
-#: src/sid/xmms-sid.glade:196 src/sid/xs_interface.c:302
+#: src/sid/xmms-sid.glade:196 src/sid/xs_interface.c:314
 msgid "Autopanning"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:217 src/sid/xs_interface.c:309
+#: src/sid/xmms-sid.glade:217 src/sid/xs_interface.c:321
 #, fuzzy
 msgid "Channels:"
 msgstr "Canale"
 
-#: src/sid/xmms-sid.glade:384 src/sid/xs_interface.c:353
+#: src/sid/xmms-sid.glade:384 src/sid/xs_interface.c:365
 msgid "Samplerate:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:430 src/sid/xs_interface.c:370
+#: src/sid/xmms-sid.glade:430 src/sid/xs_interface.c:382
 #, fuzzy
 msgid "Use oversampling"
 msgstr "Folosește cursoare de mouse personalizate (oferite de skin)"
 
-#: src/sid/xmms-sid.glade:456 src/sid/xs_interface.c:381
+#: src/sid/xmms-sid.glade:456 src/sid/xs_interface.c:393
 msgid "Factor:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:500 src/sid/xs_interface.c:393
+#: src/sid/xmms-sid.glade:500 src/sid/xs_interface.c:405
 msgid "Large factors require more CPU-power"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:534 src/sid/xs_interface.c:399
+#: src/sid/xmms-sid.glade:534 src/sid/xs_interface.c:411
 msgid "Oversampling:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:570 src/sid/xs_interface.c:404
+#: src/sid/xmms-sid.glade:570 src/sid/xs_interface.c:416
 #, fuzzy
 msgid "Audio"
 msgstr "Audio"
 
-#: src/sid/xmms-sid.glade:620 src/sid/xs_interface.c:436
+#: src/sid/xmms-sid.glade:620 src/sid/xs_interface.c:448
 msgid ""
 "If enabled, this option \"forces\" the emulation engine to use the selected "
 "clock speed/frequency. Otherwise the speed is determined from played file "
 "itself."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:622 src/sid/xs_interface.c:432
+#: src/sid/xmms-sid.glade:622 src/sid/xs_interface.c:444
 msgid "Force speed"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:640 src/sid/xs_interface.c:442
+#: src/sid/xmms-sid.glade:640 src/sid/xs_interface.c:454
 msgid ""
 "PAL is the european TV standard, which uses 50Hz vertical refresh frequency. "
 "Most of SID-tunes have been made for PAL computers."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:642 src/sid/xs_interface.c:438
+#: src/sid/xmms-sid.glade:642 src/sid/xs_interface.c:450
 #, fuzzy
 msgid "PAL (50 Hz)"
 msgstr "Rata de eșantionare [Hz]:"
 
-#: src/sid/xmms-sid.glade:660 src/sid/xs_interface.c:450
+#: src/sid/xmms-sid.glade:660 src/sid/xs_interface.c:462
 msgid ""
 "NTSC is the TV standard with 60Hz vertical refresh rate (and other features "
 "that differ from PAL). It is mainly used in United States, Japan and certain "
 "other countries."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:662 src/sid/xs_interface.c:446
+#: src/sid/xmms-sid.glade:662 src/sid/xs_interface.c:458
 #, fuzzy
 msgid "NTSC (60 Hz)"
 msgstr "Rata de eșantionare [Hz]:"
 
-#: src/sid/xmms-sid.glade:683 src/sid/xs_interface.c:454
+#: src/sid/xmms-sid.glade:683 src/sid/xs_interface.c:466
 msgid "Clock speed:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:728 src/sid/xs_interface.c:475
+#: src/sid/xmms-sid.glade:728 src/sid/xs_interface.c:487
 msgid ""
 "If enabled, this option \"forces\" the emulation engine to use the selected "
 "SID-chip model. Otherwise the preferred SID model is determined from the "
 "file (if PSIDv2NG type) or if not available, this setting is used."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:730 src/sid/xs_interface.c:471
+#: src/sid/xmms-sid.glade:730 src/sid/xs_interface.c:483
 msgid "Force model"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:748 src/sid/xs_interface.c:481
+#: src/sid/xmms-sid.glade:748 src/sid/xs_interface.c:493
 msgid ""
 "MOS/CSG 6581 is the earlier major version of SID chip. It differs from 8580 "
 "in few ways, having much fuller filter (which, due to design error, is never "
@@ -3946,91 +3962,91 @@
 "which enables playing of digital samples."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:750 src/sid/xs_interface.c:477
+#: src/sid/xmms-sid.glade:750 src/sid/xs_interface.c:489
 msgid "MOS 6581"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:769 src/sid/xs_interface.c:485
+#: src/sid/xmms-sid.glade:769 src/sid/xs_interface.c:497
 msgid "MOS 8580"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:790 src/sid/xs_interface.c:492
+#: src/sid/xmms-sid.glade:790 src/sid/xs_interface.c:504
 msgid "SID model:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:842 src/sid/xs_interface.c:513
+#: src/sid/xmms-sid.glade:842 src/sid/xs_interface.c:525
 msgid ""
 "Use libSIDPlay 1.x emulation, faster but not so accurate. Good in most "
 "cases, though."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:844 src/sid/xs_interface.c:509
+#: src/sid/xmms-sid.glade:844 src/sid/xs_interface.c:521
 msgid "SIDPlay 1 (frame-based)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:863 src/sid/xs_interface.c:521
+#: src/sid/xmms-sid.glade:863 src/sid/xs_interface.c:533
 msgid ""
 "Use libSIDPlay 2.x emulation, which requires powerful CPU due to more exact "
 "emulation."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:865 src/sid/xs_interface.c:517
+#: src/sid/xmms-sid.glade:865 src/sid/xs_interface.c:529
 msgid "SIDPlay 2 (cycle-based)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:887 src/sid/xs_interface.c:525
+#: src/sid/xmms-sid.glade:887 src/sid/xs_interface.c:537
 #, fuzzy
 msgid "Emulation library selection:"
 msgstr "Șterge selecția anterioară înainte de a căuta"
 
-#: src/sid/xmms-sid.glade:933 src/sid/xs_interface.c:542
+#: src/sid/xmms-sid.glade:933 src/sid/xs_interface.c:554
 msgid "Real C64 (SIDPlay 2 only)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:952 src/sid/xs_interface.c:549
+#: src/sid/xmms-sid.glade:952 src/sid/xs_interface.c:561
 msgid "Bank switching"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:972 src/sid/xs_interface.c:556
+#: src/sid/xmms-sid.glade:972 src/sid/xs_interface.c:568
 msgid "Transparent ROM"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:992 src/sid/xs_interface.c:563
+#: src/sid/xmms-sid.glade:992 src/sid/xs_interface.c:575
 msgid "PlaySID environment"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1013 src/sid/xs_interface.c:570
+#: src/sid/xmms-sid.glade:1013 src/sid/xs_interface.c:582
 #, fuzzy
 msgid "Memory mode:"
 msgstr "Mod de Vizualizare"
 
-#: src/sid/xmms-sid.glade:1049 src/sid/xs_interface.c:575
+#: src/sid/xmms-sid.glade:1049 src/sid/xs_interface.c:587
 msgid "Emu#1"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1093 src/sid/xs_interface.c:602
+#: src/sid/xmms-sid.glade:1093 src/sid/xs_interface.c:614
 msgid ""
 "This setting can be used to enable libSIDPlay2's \"optimization mode\", "
 "which in downgrades the emulation from cycle-exact to something similar to "
 "frame-exact. The result is lower CPU usage, but worse accuracy."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1095 src/sid/xs_interface.c:598
+#: src/sid/xmms-sid.glade:1095 src/sid/xs_interface.c:610
 msgid "Optimization mode (faster, inaccurate)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1113 src/sid/xs_interface.c:608
+#: src/sid/xmms-sid.glade:1113 src/sid/xs_interface.c:620
 msgid ""
 "reSID is the software SID-chip simulator based on SID reverse-engineering, "
 "created by Dag Lem. It is probably the closest thing to real SID available "
 "as software-only emulation."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1115 src/sid/xs_interface.c:604
+#: src/sid/xmms-sid.glade:1115 src/sid/xs_interface.c:616
 msgid "reSID-emulation"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1133 src/sid/xs_interface.c:616
+#: src/sid/xmms-sid.glade:1133 src/sid/xs_interface.c:628
 msgid ""
 "HardSID is a EISA/PCI card for PC-compatibles, which can be fitted with a "
 "real SID-chip. Software can be used to control the HardSID and combined with "
@@ -4039,49 +4055,49 @@
 "http://www.hardsid.com/"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1135 src/sid/xs_interface.c:612
+#: src/sid/xmms-sid.glade:1135 src/sid/xs_interface.c:624
 msgid "HardSID"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1156 src/sid/xs_interface.c:620
+#: src/sid/xmms-sid.glade:1156 src/sid/xs_interface.c:632
 #, fuzzy
 msgid "SIDPlay 2 options:"
 msgstr "Meniu de Opțiuni"
 
-#: src/sid/xmms-sid.glade:1201 src/sid/xs_interface.c:641
+#: src/sid/xmms-sid.glade:1201 src/sid/xs_interface.c:653
 msgid ""
 "Fastest and also worst sounding sampling method, simply picks nearest "
 "neighbouring sample."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1203 src/sid/xs_interface.c:637
+#: src/sid/xmms-sid.glade:1203 src/sid/xs_interface.c:649
 msgid "Fast (nearest neighbour)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1221 src/sid/xs_interface.c:649
+#: src/sid/xmms-sid.glade:1221 src/sid/xs_interface.c:661
 msgid ""
 "Uses linear interpolation between samples, yielding higher audio quality "
 "with less sampling noise."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1223 src/sid/xs_interface.c:645
+#: src/sid/xmms-sid.glade:1223 src/sid/xs_interface.c:657
 msgid "Linear interpolation"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1263 src/sid/xs_interface.c:660
+#: src/sid/xmms-sid.glade:1263 src/sid/xs_interface.c:672
 msgid "Resampling (FIR)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1284 src/sid/xs_interface.c:667
+#: src/sid/xmms-sid.glade:1284 src/sid/xs_interface.c:679
 #, fuzzy
 msgid "reSID sampling options:"
 msgstr "<b>Convertor pentru rata de eșantionare</b>"
 
-#: src/sid/xmms-sid.glade:1320 src/sid/xs_interface.c:672
+#: src/sid/xmms-sid.glade:1320 src/sid/xs_interface.c:684
 msgid "Emu#2"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1350 src/sid/xs_interface.c:688
+#: src/sid/xmms-sid.glade:1350 src/sid/xs_interface.c:700
 msgid ""
 "This option enables emulation of SID filter. The filter is an essential part "
 "of SID's sound capacity, but accurate emulation of it may require quite much "
@@ -4089,311 +4105,322 @@
 "authentic at all if they utilize the filter."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1352 src/sid/xs_interface.c:684
+#: src/sid/xmms-sid.glade:1352 src/sid/xs_interface.c:696
 msgid "Emulate filters"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1409 src/sid/xs_interface.c:713
+#: src/sid/xmms-sid.glade:1409 src/sid/xs_interface.c:725
 msgid "FS"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1460 src/sid/xs_interface.c:730
+#: src/sid/xmms-sid.glade:1460 src/sid/xs_interface.c:742
 #, fuzzy
 msgid "FM"
 msgstr "Radio Last.fm"
 
-#: src/sid/xmms-sid.glade:1511 src/sid/xs_interface.c:747
+#: src/sid/xmms-sid.glade:1511 src/sid/xs_interface.c:759
 msgid "FT"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1549 src/sid/xs_interface.c:758
+#: src/sid/xmms-sid.glade:1549 src/sid/xs_interface.c:770
 msgid "Reset values"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1578 src/sid/xs_interface.c:763
+#: src/sid/xmms-sid.glade:1578 src/sid/xs_interface.c:775
 msgid "SIDPlay1"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1690 src/sid/xs_interface.c:804
+#: src/sid/xmms-sid.glade:1690 src/sid/xs_interface.c:816
 msgid "Export"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1711 src/sid/xs_interface.c:812
+#: src/sid/xmms-sid.glade:1711 src/sid/xs_interface.c:824
 msgid "Use"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1753 src/sid/xs_interface.c:828
+#: src/sid/xmms-sid.glade:1753 src/sid/xs_interface.c:840
+#: src/skins/ui_manager.c:437
 #, fuzzy
 msgid "Import"
 msgstr "Importă"
 
-#: src/sid/xmms-sid.glade:1774 src/sid/xs_interface.c:836
+#: src/sid/xmms-sid.glade:1774 src/sid/xs_interface.c:848
+#: src/skins/ui_manager.c:439
 #, fuzzy
 msgid "Delete"
 msgstr "Implicit"
 
-#: src/sid/xmms-sid.glade:1819 src/sid/xs_interface.c:850
+#: src/sid/xmms-sid.glade:1819 src/sid/xs_interface.c:862
 msgid "Filter curve:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1855 src/sid/xs_interface.c:855
+#: src/sid/xmms-sid.glade:1855 src/sid/xs_interface.c:867
 msgid "SIDPlay2"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1891 src/sid/xs_interface.c:861
+#: src/sid/xmms-sid.glade:1891 src/sid/xs_interface.c:873
 msgid "Filters"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1935 src/sid/xs_interface.c:888
+#: src/sid/xmms-sid.glade:1935 src/sid/xs_interface.c:900
 msgid ""
 "If enabled, the tune is played at least for the specified time, adding "
 "silence to the end if necessary."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1937 src/sid/xs_interface.c:884
+#: src/sid/xmms-sid.glade:1937 src/sid/xs_interface.c:896
 msgid "Play at least for specified time"
 msgstr ""
 
 #: src/sid/xmms-sid.glade:1962 src/sid/xmms-sid.glade:2133
-#: src/sid/xmms-sid.glade:2632 src/sid/xs_interface.c:895
-#: src/sid/xs_interface.c:949 src/sid/xs_interface.c:1109
+#: src/sid/xmms-sid.glade:2702 src/sid/xs_interface.c:907
+#: src/sid/xs_interface.c:961 src/sid/xs_interface.c:1141
 msgid "Playtime:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2041 src/sid/xs_interface.c:915
+#: src/sid/xmms-sid.glade:2041 src/sid/xs_interface.c:927
 msgid "Minimum playtime:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2086 src/sid/xs_interface.c:936
+#: src/sid/xmms-sid.glade:2086 src/sid/xs_interface.c:948
 msgid ""
 "If enabled, tune is played until specified duration is reached (aka maximum "
 "playtime)."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2088 src/sid/xs_interface.c:932
+#: src/sid/xmms-sid.glade:2088 src/sid/xs_interface.c:944
 msgid "Play for specified time maximum"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2107 src/sid/xs_interface.c:942
+#: src/sid/xmms-sid.glade:2107 src/sid/xs_interface.c:954
 msgid ""
 "If enabled, the maximum playtime is applied only if song/tune length is not "
 "known."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2109 src/sid/xs_interface.c:938
+#: src/sid/xmms-sid.glade:2109 src/sid/xs_interface.c:950
 msgid "Only when song length is unknown"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2212 src/sid/xs_interface.c:969
+#: src/sid/xmms-sid.glade:2212 src/sid/xs_interface.c:981
 msgid "Maximum playtime:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2257 src/sid/xs_interface.c:990
+#: src/sid/xmms-sid.glade:2257 src/sid/xs_interface.c:1002
 msgid ""
 "This option enables using of XSIDPLAY compatible song length database. "
 "(Refer to Audacious-SID documentation for more information)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2259 src/sid/xs_interface.c:986
+#: src/sid/xmms-sid.glade:2259 src/sid/xs_interface.c:998
 msgid "Use XSIDPLAY-compatible database"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2284 src/sid/xs_interface.c:997
+#: src/sid/xmms-sid.glade:2284 src/sid/xs_interface.c:1009
 #, fuzzy
 msgid "DB-file:"
 msgstr "Tipul Fișierului: "
 
-#: src/sid/xmms-sid.glade:2309 src/sid/xs_interface.c:1007
+#: src/sid/xmms-sid.glade:2309 src/sid/xs_interface.c:1019
 msgid "Database path and filename"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2329 src/sid/xs_interface.c:1014
+#: src/sid/xmms-sid.glade:2329 src/sid/xs_interface.c:1026
 msgid "Browse for song length-database file"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2356 src/sid/xs_interface.c:1016
+#: src/sid/xmms-sid.glade:2418 src/sid/xs_interface.c:1048
 #, fuzzy
 msgid "Song length database:"
 msgstr "Pauză"
 
-#: src/sid/xmms-sid.glade:2392 src/sid/xs_interface.c:1021
+#: src/sid/xmms-sid.glade:2454 src/sid/xs_interface.c:1053
 msgid "Songlength"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2430 src/sid/xs_interface.c:1043
+#: src/sid/xmms-sid.glade:2492 src/sid/xs_interface.c:1075
 msgid ""
 "By enabling this option you can specify a custom Tuplez formatting string "
 "for SID-files. The SID-plugin specific Tuplez tags are described shortly "
 "below."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2432 src/sid/xs_interface.c:1039
+#: src/sid/xmms-sid.glade:2494 src/sid/xs_interface.c:1071
 msgid "Override generic Tuplez format string"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2457 src/sid/xs_interface.c:1054
+#: src/sid/xmms-sid.glade:2519 src/sid/xs_interface.c:1086
 msgid "Tuplez format string for SID-files"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2477 src/sid/xs_interface.c:1057
-msgid "Descriptions of <i>SID-specific</i> Tuplez fields go here. <b>:D</b>"
-msgstr ""
-
-#: src/sid/xmms-sid.glade:2511 src/sid/xs_interface.c:1065
+#: src/sid/xmms-sid.glade:2539 src/sid/xs_interface.c:1089
+msgid ""
+"<u>SID-specific Tuplez fields:</u>\n"
+"\n"
+"<b>sid-format</b>\t\t- Specific fileformat\n"
+"<b>sid-model</b>\t\t- 6581 or 8580\n"
+"<b>sid-speed</b>\t\t- Timing or speed: PAL/NTSC/etc.\n"
+"\n"
+"<u>Other \"special\" fields set:</u>\n"
+"\n"
+"<b>subsong-num, subsong-id</b>"
+msgstr ""
+
+#: src/sid/xmms-sid.glade:2581 src/sid/xs_interface.c:1097
 #, fuzzy
 msgid "Song title format:"
 msgstr "Formatul titlului:"
 
-#: src/sid/xmms-sid.glade:2584 src/sid/xs_interface.c:1096
+#: src/sid/xmms-sid.glade:2654 src/sid/xs_interface.c:1128
 msgid ""
 "If enabled, sub-tunes of each file will be added to playlist. If disabled, "
 "only the default sub-tune will be added."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2586 src/sid/xs_interface.c:1092
+#: src/sid/xmms-sid.glade:2656 src/sid/xs_interface.c:1124
 msgid "Add sub-tunes to playlist"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2605 src/sid/xs_interface.c:1102
+#: src/sid/xmms-sid.glade:2675 src/sid/xs_interface.c:1134
 msgid "Only add sub-tunes that have a duration of at least specified time."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2607 src/sid/xs_interface.c:1098
+#: src/sid/xmms-sid.glade:2677 src/sid/xs_interface.c:1130
 msgid "Only tunes with specified minimum duration"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2710 src/sid/xs_interface.c:1129
+#: src/sid/xmms-sid.glade:2780 src/sid/xs_interface.c:1161
 #, fuzzy
 msgid "Sub-tune handling:"
 msgstr "Informații despre Pluginul de ieșire"
 
-#: src/sid/xmms-sid.glade:2755 src/sid/xs_interface.c:1150
+#: src/sid/xmms-sid.glade:2825 src/sid/xs_interface.c:1182
 msgid ""
 "If this option is enabled (and the database & HVSC settings below are "
 "correctly set), Audacious-SID will use and display additional information "
 "from STIL database when HVSC SIDs are played."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2757 src/sid/xs_interface.c:1146
+#: src/sid/xmms-sid.glade:2827 src/sid/xs_interface.c:1178
 msgid "Use STIL database"
 msgstr "Foloseste baza de date STIL"
 
-#: src/sid/xmms-sid.glade:2782 src/sid/xs_interface.c:1157
+#: src/sid/xmms-sid.glade:2852 src/sid/xs_interface.c:1189
 msgid "STIL file:"
 msgstr "Fisierul STIL:"
 
-#: src/sid/xmms-sid.glade:2819 src/sid/xs_interface.c:1173
+#: src/sid/xmms-sid.glade:2889 src/sid/xs_interface.c:1205
 msgid ""
 "Path and filename of STIL database file (STIL.txt), usually found from "
 "HVSC's DOCUMENTS-subdirectory."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2854 src/sid/xs_interface.c:1186
+#: src/sid/xmms-sid.glade:2924 src/sid/xs_interface.c:1218
 msgid "Browse for STIL-database file"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2888 src/sid/xs_interface.c:1193
+#: src/sid/xmms-sid.glade:3020 src/sid/xs_interface.c:1245
 #, fuzzy
 msgid "HVSC path:"
 msgstr "Calea fisierului"
 
-#: src/sid/xmms-sid.glade:2925 src/sid/xs_interface.c:1209
+#: src/sid/xmms-sid.glade:3057 src/sid/xs_interface.c:1261
 msgid ""
 "Path to base-directory of your High Voltage SID Collection (HVSC), for "
 "example /media/C64Music/"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2960 src/sid/xs_interface.c:1222
+#: src/sid/xmms-sid.glade:3092 src/sid/xs_interface.c:1274
 msgid "Browse for HVSC path"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2990 src/sid/xs_interface.c:1224
+#: src/sid/xmms-sid.glade:3184 src/sid/xs_interface.c:1296
 msgid "SID Tune Information List (STIL) database:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3063 src/sid/xs_interface.c:1248
+#: src/sid/xmms-sid.glade:3257 src/sid/xs_interface.c:1320
 msgid "Accept and update changes"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3077 src/sid/xs_interface.c:1255
+#: src/sid/xmms-sid.glade:3271 src/sid/xs_interface.c:1327
 msgid "Cancel any changes"
 msgstr "Anuleaza toate schimbarile"
 
-#: src/sid/xmms-sid.glade:3102 src/sid/xs_interface.c:1543
+#: src/sid/xmms-sid.glade:3296 src/sid/xs_interface.c:1627
 #, fuzzy
 msgid "Audacious-SID Fileinfo"
 msgstr "Developerii Audacious:"
 
-#: src/sid/xmms-sid.glade:3172 src/sid/xs_interface.c:1572
+#: src/sid/xmms-sid.glade:3366 src/sid/xs_interface.c:1656
 #, fuzzy
 msgid "Songname:"
 msgstr "Autoderularea Numelui Fișierului"
 
-#: src/sid/xmms-sid.glade:3200 src/sid/xs_interface.c:1580
+#: src/sid/xmms-sid.glade:3394 src/sid/xs_interface.c:1664
 msgid "Composer:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3228 src/sid/xs_interface.c:1588
+#: src/sid/xmms-sid.glade:3422 src/sid/xs_interface.c:1672
 msgid "Copyright:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3342 src/sid/xs_interface.c:1632
+#: src/sid/xmms-sid.glade:3536 src/sid/xs_interface.c:1716
 #, fuzzy
 msgid "Song Information:"
 msgstr "Informații despre Track"
 
-#: src/sid/xmms-sid.glade:3416 src/sid/xs_interface.c:1667
+#: src/sid/xmms-sid.glade:3610 src/sid/xs_interface.c:1751
 #, fuzzy
 msgid "Author:"
 msgstr "Autor: "
 
-#: src/sid/xmms-sid.glade:3514 src/sid/xs_interface.c:1701
+#: src/sid/xmms-sid.glade:3708 src/sid/xs_interface.c:1785
 msgid "Duration:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3608 src/sid/xs_interface.c:1735
+#: src/sid/xmms-sid.glade:3802 src/sid/xs_interface.c:1819
 #, fuzzy
 msgid "Sub-tune Information:"
 msgstr "Informații despre Pluginul de ieșire"
 
-#: src/sid/xmms-sid.glade:3662 src/sid/xs_interface.c:1796
+#: src/sid/xmms-sid.glade:3856 src/sid/xs_interface.c:1880
 msgid "Select HVSC song length database"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3704 src/sid/xs_interface.c:1837
+#: src/sid/xmms-sid.glade:3898 src/sid/xs_interface.c:1921
 #, fuzzy
 msgid "Select STIL-database"
 msgstr "Alege fontul playlist-ului"
 
-#: src/sid/xmms-sid.glade:3746 src/sid/xs_interface.c:1878
+#: src/sid/xmms-sid.glade:3940 src/sid/xs_interface.c:1962
 msgid "Select HVSC location prefix"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3788 src/sid/xs_interface.c:1919
+#: src/sid/xmms-sid.glade:3982 src/sid/xs_interface.c:2003
 msgid "Select SIDPlay2 filters file for importing"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3830 src/sid/xs_interface.c:1960
+#: src/sid/xmms-sid.glade:4024 src/sid/xs_interface.c:2044
 msgid "Select SIDPlay2 filters file for exporting"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3871 src/sid/xmms-sid.glade:3953
-#: src/sid/xs_interface.c:2008 src/sid/xs_interface.c:2021
+#: src/sid/xmms-sid.glade:4065 src/sid/xmms-sid.glade:4147
+#: src/sid/xs_interface.c:2092 src/sid/xs_interface.c:2105
 #, fuzzy
 msgid "Confirm selected action"
 msgstr "Selecția formatelor"
 
-#: src/sid/xmms-sid.glade:3909 src/sid/xs_interface.c:2038
+#: src/sid/xmms-sid.glade:4103 src/sid/xs_interface.c:2122
 #, fuzzy
 msgid "Yes"
 msgstr "da"
 
-#: src/sid/xmms-sid.glade:3921 src/sid/xs_interface.c:2044
+#: src/sid/xmms-sid.glade:4115 src/sid/xs_interface.c:2128
 #, fuzzy
 msgid "No"
 msgstr "Deselectează tot"
 
-#: src/sid/xs_about.c:84 src/wma/wma.c:121
+#: src/sid/xs_about.c:84 src/wma/wma.c:118
 #, c-format
 msgid "About %s"
 msgstr "Despre %s"
@@ -4408,12 +4435,1143 @@
 msgid "Tune #%i: "
 msgstr "Pornește"
 
-#: src/sndfile/plugin.c:548
+#: src/skins/plugin.c:128
+msgid "About Skinned GUI"
+msgstr ""
+
+#: src/skins/plugin.c:129
+msgid ""
+"Copyright (c) 2008, by Tomasz Moń <desowin@gmail.com>\n"
+"\n"
+msgstr ""
+
+#: src/skins/skins_cfg.c:329
+#, fuzzy
+msgid "<b>_Fonts</b>"
+msgstr "Numele Fișierului:"
+
+#: src/skins/skins_cfg.c:330
+#, fuzzy
+msgid "_Player:"
+msgstr "Pauză pentru"
+
+#: src/skins/skins_cfg.c:330
+msgid "Select main player window font:"
+msgstr ""
+
+#: src/skins/skins_cfg.c:331
+#, fuzzy
+msgid "_Playlist:"
+msgstr "Selectați Playlist-ul"
+
+#: src/skins/skins_cfg.c:331
+#, fuzzy
+msgid "Select playlist font:"
+msgstr "Selectați Playlist-ul"
+
+#: src/skins/skins_cfg.c:332
+#, fuzzy
+msgid "Use Bitmap fonts if available"
+msgstr "Folosește fonturi Bitmap dacă sunt disponibile"
+
+#: src/skins/skins_cfg.c:332
+msgid ""
+"Use bitmap fonts if they are available. Bitmap fonts do not support Unicode "
+"strings."
+msgstr ""
+
+#: src/skins/skins_cfg.c:333
+#, fuzzy
+msgid "<b>_Miscellaneous</b>"
+msgstr "Meniu de Opțiuni"
+
+#: src/skins/skins_cfg.c:334
+msgid "Show track numbers in playlist"
+msgstr ""
+
+#: src/skins/skins_cfg.c:336
+msgid "Show separators in playlist"
+msgstr ""
+
+#: src/skins/skins_cfg.c:338
+msgid "Show window manager decoration"
+msgstr ""
+
+#: src/skins/skins_cfg.c:339
+msgid "This enables the window manager to show decorations for windows."
+msgstr ""
+
+#: src/skins/skins_cfg.c:340
+msgid "Use two-way text scroller"
+msgstr ""
+
+#: src/skins/skins_cfg.c:341
+msgid ""
+"If selected, the file information text in the main window will scroll back "
+"and forth. If not selected, the text will only scroll in one direction."
+msgstr ""
+
+#: src/skins/skins_cfg.c:342
+msgid "Disable inline gtk theme"
+msgstr ""
+
+#: src/skins/skins_cfg.c:343
+msgid "Allow loading incomplete skins"
+msgstr ""
+
+#: src/skins/skins_cfg.c:344
+msgid ""
+"If selected, audacious won't refuse loading broken skins. Use only if your "
+"favourite skin doesn't work"
+msgstr ""
+
+#: src/skins/skins_cfg.c:410
+msgid "Color Adjustment"
+msgstr ""
+
+#: src/skins/skins_cfg.c:417
+msgid ""
+"Audacious allows you to alter the color balance of the skinned UI. The "
+"sliders below will allow you to do this."
+msgstr ""
+
+#: src/skins/skins_cfg.c:427
+#, fuzzy
+msgid "Blue"
+msgstr "Blues"
+
+#: src/skins/skins_cfg.c:434
+msgid "Green"
+msgstr ""
+
+#: src/skins/skins_cfg.c:441
+msgid "Red"
+msgstr ""
+
+#: src/skins/skins_cfg.c:571
+#, fuzzy
+msgid "Audacious Skinned GUI Configuration"
+msgstr "Developerii Audacious:"
+
+#: src/skins/skins_cfg.c:596
+#, fuzzy
+msgid "<b>_Skin</b>"
+msgstr "Numele Fișierului:"
+
+#: src/skins/ui_equalizer.c:494
+#, fuzzy
+msgid "Audacious Equalizer"
+msgstr "Egalizator Audacious"
+
+#: src/skins/ui_equalizer.c:794
+#, c-format
+msgid "Error importing Winamp EQF file '%s'"
+msgstr ""
+
+#: src/skins/ui_equalizer.c:1172
+msgid "Presets"
+msgstr ""
+
+#: src/skins/ui_main.c:392
+#, fuzzy, c-format
+msgid "%s - Audacious"
+msgstr "%s - Audacious"
+
+#: src/skins/ui_main.c:394 src/skins/ui_main.c:2397
+#, fuzzy
+msgid "Audacious"
+msgstr "%s - Audacious"
+
+#: src/skins/ui_main.c:641
+#, fuzzy
+msgid "VBR"
+msgstr "VBR/ABR"
+
+#: src/skins/ui_main.c:659 src/skins/ui_main.c:663
+#, fuzzy
+msgid "stereo"
+msgstr "Stereo"
+
+#: src/skins/ui_main.c:659 src/skins/ui_main.c:663
+#, fuzzy
+msgid "mono"
+msgstr "Mono"
+
+#: src/skins/ui_main.c:957
+msgid "Can't jump to time when no track is being played.\n"
+msgstr ""
+
+#: src/skins/ui_main.c:972 src/skins/ui_manager.c:425
+#: src/skins/ui_manager.c:426
+#, fuzzy
+msgid "Jump to Time"
+msgstr "Fereastra de Preferințe"
+
+#: src/skins/ui_main.c:993
+#, fuzzy
+msgid "minutes:seconds"
+msgstr "secunde"
+
+#: src/skins/ui_main.c:1003
+#, fuzzy
+msgid "Track length:"
+msgstr "Informații despre Track"
+
+#: src/skins/ui_main.c:1149
+msgid "Audacious - visibility warning"
+msgstr ""
+
+#: src/skins/ui_main.c:1152
+msgid "Show main player window"
+msgstr ""
+
+#: src/skins/ui_main.c:1153
+msgid "Ignore"
+msgstr ""
+
+#: src/skins/ui_main.c:1159
+msgid ""
+"Audacious has been started with all of its windows hidden.\n"
+"You may want to show the player window again to control Audacious; "
+"otherwise, you'll have to control it remotely via audtool or enabled plugins "
+"(such as the statusicon plugin)."
+msgstr ""
+
+#: src/skins/ui_main.c:1165
+msgid "Always ignore, show/hide is controlled remotely"
+msgstr ""
+
+#: src/skins/ui_main.c:1210
+msgid "Audacious - broken GTK engine usage warning"
+msgstr ""
+
+#: src/skins/ui_main.c:1218
+#, c-format
+msgid ""
+"<big><b>Broken GTK engine in use</b></big>\n"
+"\n"
+"Audacious has detected that you are using a broken GTK engine.\n"
+"\n"
+"The theme engine you are using, <i>%s</i>, is incompatible with some of the "
+"features used by modern skins. The incompatible features have been disabled "
+"for this session.\n"
+"\n"
+"To use these features, please consider using a different GTK theme engine."
+msgstr ""
+
+#: src/skins/ui_main.c:1229
+msgid "Do not display this warning again"
+msgstr ""
+
+#: src/skins/ui_main.c:1253
+msgid "Enter location to play:"
+msgstr ""
+
+#: src/skins/ui_main.c:1497
+#, c-format
+msgid "Seek to: %d:%-2.2d/%d:%-2.2d (%d%%)"
+msgstr ""
+
+#: src/skins/ui_main.c:1527
+#, fuzzy, c-format
+msgid "Volume: %d%%"
+msgstr "Volum: %d%%"
+
+#: src/skins/ui_main.c:1555
+#, c-format
+msgid "Balance: %d%% left"
+msgstr ""
+
+#: src/skins/ui_main.c:1559
+msgid "Balance: center"
+msgstr ""
+
+#: src/skins/ui_main.c:1563
+#, c-format
+msgid "Balance: %d%% right"
+msgstr ""
+
+#: src/skins/ui_main.c:1881
+#, fuzzy
+msgid "Options Menu"
+msgstr "Meniu de Opțiuni"
+
+#: src/skins/ui_main.c:1885
+msgid "Disable 'Always On Top'"
+msgstr ""
+
+#: src/skins/ui_main.c:1887
+msgid "Enable 'Always On Top'"
+msgstr ""
+
+#: src/skins/ui_main.c:1890
+#, fuzzy
+msgid "File Info Box"
+msgstr "AdPlug·::·Informații despre fișier"
+
+#: src/skins/ui_main.c:1894
+msgid "Disable 'GUI Scaling'"
+msgstr ""
+
+#: src/skins/ui_main.c:1896
+#, fuzzy
+msgid "Enable 'GUI Scaling'"
+msgstr "Activează proxy"
+
+#: src/skins/ui_main.c:1899
+msgid "Visualization Menu"
+msgstr ""
+
+#: src/skins/ui_main.c:1946
+msgid ""
+"<b><big>Couldn't open audio.</big></b>\n"
+"\n"
+"Please check that:\n"
+"1. You have the correct output plugin selected.\n"
+"2. No other programs is blocking the soundcard.\n"
+"3. Your soundcard is configured properly.\n"
+msgstr ""
+
+#: src/skins/ui_manager.c:53 src/skins/ui_manager.c:54
+msgid "Autoscroll Songname"
+msgstr ""
+
+#: src/skins/ui_manager.c:56 src/skins/ui_manager.c:57
+msgid "Stop after Current Song"
+msgstr ""
+
+#: src/skins/ui_manager.c:59 src/skins/ui_manager.c:60
+#, fuzzy
+msgid "Peaks"
+msgstr "Pranks"
+
+#: src/skins/ui_manager.c:62 src/skins/ui_manager.c:63
+#, fuzzy
+msgid "Repeat"
+msgstr "Beat"
+
+#: src/skins/ui_manager.c:65 src/skins/ui_manager.c:66
+msgid "Shuffle"
+msgstr ""
+
+#: src/skins/ui_manager.c:68 src/skins/ui_manager.c:69
+msgid "No Playlist Advance"
+msgstr ""
+
+#: src/skins/ui_manager.c:71 src/skins/ui_manager.c:72
+msgid "Show Player"
+msgstr ""
+
+#: src/skins/ui_manager.c:74 src/skins/ui_manager.c:75
+msgid "Show Playlist Editor"
+msgstr ""
+
+#: src/skins/ui_manager.c:77 src/skins/ui_manager.c:78
+#, fuzzy
+msgid "Show Equalizer"
+msgstr "Egalizator Audacious"
+
+#: src/skins/ui_manager.c:80 src/skins/ui_manager.c:81
+msgid "Always on Top"
+msgstr ""
+
+#: src/skins/ui_manager.c:83 src/skins/ui_manager.c:84
+msgid "Put on All Workspaces"
+msgstr ""
+
+#: src/skins/ui_manager.c:86 src/skins/ui_manager.c:87
+msgid "Roll up Player"
+msgstr ""
+
+#: src/skins/ui_manager.c:89 src/skins/ui_manager.c:90
+msgid "Roll up Playlist Editor"
+msgstr ""
+
+#: src/skins/ui_manager.c:92 src/skins/ui_manager.c:93
+msgid "Roll up Equalizer"
+msgstr ""
+
+#: src/skins/ui_manager.c:95 src/sndstretch/sndstretch_xmms.c:375
+msgid "Scale"
+msgstr ""
+
+#: src/skins/ui_manager.c:96
+msgid "DoubleSize"
+msgstr ""
+
+#: src/skins/ui_manager.c:98 src/skins/ui_manager.c:99
+msgid "Easy Move"
+msgstr ""
+
+#: src/skins/ui_manager.c:107
+#, fuzzy
+msgid "Analyzer"
+msgstr "Modul Analizatorului"
+
+#: src/skins/ui_manager.c:108
+#, fuzzy
+msgid "Scope"
+msgstr "Synthpop"
+
+#: src/skins/ui_manager.c:109
+msgid "Voiceprint"
+msgstr ""
+
+#: src/skins/ui_manager.c:110
+msgid "Off"
+msgstr ""
+
+#: src/skins/ui_manager.c:114 src/skins/ui_manager.c:131
+#: src/skins/ui_manager.c:137
+#, fuzzy
+msgid "Normal"
+msgstr "Format"
+
+#: src/skins/ui_manager.c:115 src/skins/ui_manager.c:132
+#, fuzzy
+msgid "Fire"
+msgstr "Satire"
+
+#: src/skins/ui_manager.c:116
+msgid "Vertical Lines"
+msgstr ""
+
+#: src/skins/ui_manager.c:120
+#, fuzzy
+msgid "Lines"
+msgstr "Latin"
+
+#: src/skins/ui_manager.c:121
+#, fuzzy
+msgid "Bars"
+msgstr "Bass"
+
+#: src/skins/ui_manager.c:125
+#, fuzzy
+msgid "Dot Scope"
+msgstr "Nu curăța playlist-ul"
+
+#: src/skins/ui_manager.c:126
+msgid "Line Scope"
+msgstr ""
+
+#: src/skins/ui_manager.c:127
+msgid "Solid Scope"
+msgstr ""
+
+#: src/skins/ui_manager.c:133
+msgid "Ice"
+msgstr ""
+
+#: src/skins/ui_manager.c:138
+msgid "Smooth"
+msgstr ""
+
+#: src/skins/ui_manager.c:142
+msgid "Full (~50 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:143
+msgid "Half (~25 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:144
+msgid "Quarter (~13 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:145
+msgid "Eighth (~6 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:149 src/skins/ui_manager.c:157
+#, fuzzy
+msgid "Slowest"
+msgstr "Showtunes"
+
+#: src/skins/ui_manager.c:150 src/skins/ui_manager.c:158
+#, fuzzy
+msgid "Slow"
+msgstr "Slow Jam"
+
+#: src/skins/ui_manager.c:151 src/skins/ui_manager.c:159
+msgid "Medium"
+msgstr ""
+
+#: src/skins/ui_manager.c:152 src/skins/ui_manager.c:160
+#, fuzzy
+msgid "Fast"
+msgstr "Format"
+
+#: src/skins/ui_manager.c:153 src/skins/ui_manager.c:161
+msgid "Fastest"
+msgstr ""
+
+#: src/skins/ui_manager.c:165
+msgid "Time Elapsed"
+msgstr ""
+
+#: src/skins/ui_manager.c:166
+msgid "Time Remaining"
+msgstr ""
+
+#: src/skins/ui_manager.c:180 src/skins/ui_manager.c:181
+#, fuzzy
+msgid "Pause"
+msgstr "La încărcare"
+
+#: src/skins/ui_manager.c:186 src/skins/ui_manager.c:187
+#, fuzzy
+msgid "Previous"
+msgstr "Primus"
+
+#: src/skins/ui_manager.c:189 src/skins/ui_manager.c:190
+#, fuzzy
+msgid "Next"
+msgstr "Text"
+
+#: src/skins/ui_manager.c:195
+#, fuzzy
+msgid "Visualization"
+msgstr "Internaţionalizare"
+
+#: src/skins/ui_manager.c:196
+msgid "Visualization Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:197
+msgid "Analyzer Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:198
+msgid "Scope Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:199
+msgid "Voiceprint Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:200
+msgid "WindowShade VU Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:201
+msgid "Refresh Rate"
+msgstr ""
+
+#: src/skins/ui_manager.c:202
+msgid "Analyzer Falloff"
+msgstr ""
+
+#: src/skins/ui_manager.c:203
+msgid "Peaks Falloff"
+msgstr ""
+
+#: src/skins/ui_manager.c:208
+#, fuzzy
+msgid "Playlist"
+msgstr "Selectați Playlist-ul"
+
+#: src/skins/ui_manager.c:210 src/skins/ui_manager.c:211
+#, fuzzy
+msgid "New Playlist"
+msgstr "Selectați Playlist-ul"
+
+#: src/skins/ui_manager.c:213 src/skins/ui_manager.c:214
+#, fuzzy
+msgid "Select Next Playlist"
+msgstr "Selectați Playlist-ul"
+
+#: src/skins/ui_manager.c:216 src/skins/ui_manager.c:217
+#, fuzzy
+msgid "Select Previous Playlist"
+msgstr "Selectați Playlist-ul"
+
+#: src/skins/ui_manager.c:219 src/skins/ui_manager.c:220
+#, fuzzy
+msgid "Delete Playlist"
+msgstr "Selectați Playlist-ul"
+
+#: src/skins/ui_manager.c:222
+#, fuzzy
+msgid "Load List"
+msgstr "Încarcă"
+
+#: src/skins/ui_manager.c:223
+msgid "Loads a playlist file into the selected playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:225
+#, fuzzy
+msgid "Save List"
+msgstr "Salvează"
+
+#: src/skins/ui_manager.c:226
+#, fuzzy
+msgid "Saves the selected playlist."
+msgstr "Selectați Playlist-ul"
+
+#: src/skins/ui_manager.c:228
+#, fuzzy
+msgid "Save Default List"
+msgstr "Implicit"
+
+#: src/skins/ui_manager.c:229
+msgid "Saves the selected playlist to the default location."
+msgstr ""
+
+#: src/skins/ui_manager.c:232
+msgid "Refresh List"
+msgstr ""
+
+#: src/skins/ui_manager.c:233
+msgid "Refreshes metadata associated with a playlist entry."
+msgstr ""
+
+#: src/skins/ui_manager.c:236
+msgid "List Manager"
+msgstr ""
+
+#: src/skins/ui_manager.c:237
+msgid "Opens the playlist manager."
+msgstr ""
+
+#: src/skins/ui_manager.c:243
+msgid "View"
+msgstr ""
+
+#: src/skins/ui_manager.c:247
+msgid "Add Internet Address..."
+msgstr ""
+
+#: src/skins/ui_manager.c:248
+msgid "Adds a remote track to the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:251
+msgid "Add Files..."
+msgstr ""
+
+#: src/skins/ui_manager.c:252
+msgid "Adds files to the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:257
+msgid "Search and Select"
+msgstr ""
+
+#: src/skins/ui_manager.c:258
+msgid ""
+"Searches the playlist and selects playlist entries based on specific "
+"criteria."
+msgstr ""
+
+#: src/skins/ui_manager.c:261
+#, fuzzy
+msgid "Invert Selection"
+msgstr "Selecția formatelor"
+
+#: src/skins/ui_manager.c:262
+msgid "Inverts the selected and unselected entries."
+msgstr ""
+
+#: src/skins/ui_manager.c:265
+#, fuzzy
+msgid "Select All"
+msgstr "Selectați Playlist-ul"
+
+#: src/skins/ui_manager.c:266
+msgid "Selects all of the playlist entries."
+msgstr ""
+
+#: src/skins/ui_manager.c:269
+#, fuzzy
+msgid "Select None"
+msgstr "AdPlug·::·Informații despre fișier"
+
+#: src/skins/ui_manager.c:270
+msgid "Deselects all of the playlist entries."
+msgstr ""
+
+#: src/skins/ui_manager.c:275
+#, fuzzy
+msgid "Remove All"
+msgstr "Șterge Duplicatele"
+
+#: src/skins/ui_manager.c:276
+msgid "Removes all entries from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:279
+msgid "Clear Queue"
+msgstr ""
+
+#: src/skins/ui_manager.c:280
+msgid "Clears the queue associated with this playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:283
+msgid "Remove Unavailable Files"
+msgstr ""
+
+#: src/skins/ui_manager.c:284
+msgid "Removes unavailable files from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:287
+msgid "Remove Duplicates"
+msgstr ""
+
+#: src/skins/ui_manager.c:289 src/skins/ui_manager.c:321
+#: src/skins/ui_manager.c:351
+#, fuzzy
+msgid "By Title"
+msgstr "Titlu"
+
+#: src/skins/ui_manager.c:290
+msgid "Removes duplicate entries from the playlist by title."
+msgstr ""
+
+#: src/skins/ui_manager.c:293 src/skins/ui_manager.c:329
+#: src/skins/ui_manager.c:359
+#, fuzzy
+msgid "By Filename"
+msgstr "Numele Fișierului:"
+
+#: src/skins/ui_manager.c:294
+msgid "Removes duplicate entries from the playlist by filename."
+msgstr ""
+
+#: src/skins/ui_manager.c:297 src/skins/ui_manager.c:333
+#: src/skins/ui_manager.c:363
+#, fuzzy
+msgid "By Path + Filename"
+msgstr "Numele Fișierului:"
+
+#: src/skins/ui_manager.c:298
+msgid "Removes duplicate entries from the playlist by their full path."
+msgstr ""
+
+#: src/skins/ui_manager.c:301
+msgid "Remove Unselected"
+msgstr ""
+
+#: src/skins/ui_manager.c:302
+msgid "Remove unselected entries from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:305
+msgid "Remove Selected"
+msgstr ""
+
+#: src/skins/ui_manager.c:306
+msgid "Remove selected entries from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:311
+msgid "Randomize List"
+msgstr ""
+
+#: src/skins/ui_manager.c:312
+msgid "Randomizes the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:315
+msgid "Reverse List"
+msgstr ""
+
+#: src/skins/ui_manager.c:316
+msgid "Reverses the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:319
+#, fuzzy
+msgid "Sort List"
+msgstr "Artist"
+
+#: src/skins/ui_manager.c:322 src/skins/ui_manager.c:352
+msgid "Sorts the list by title."
+msgstr ""
+
+#: src/skins/ui_manager.c:325 src/skins/ui_manager.c:355
+#, fuzzy
+msgid "By Artist"
+msgstr "Artist"
+
+#: src/skins/ui_manager.c:326 src/skins/ui_manager.c:356
+msgid "Sorts the list by artist."
+msgstr ""
+
+#: src/skins/ui_manager.c:330 src/skins/ui_manager.c:360
+msgid "Sorts the list by filename."
+msgstr ""
+
+#: src/skins/ui_manager.c:334 src/skins/ui_manager.c:364
+msgid "Sorts the list by full pathname."
+msgstr ""
+
+#: src/skins/ui_manager.c:337 src/skins/ui_manager.c:367
+#, fuzzy
+msgid "By Date"
+msgstr "Data:"
+
+#: src/skins/ui_manager.c:338 src/skins/ui_manager.c:368
+msgid "Sorts the list by modification time."
+msgstr ""
+
+#: src/skins/ui_manager.c:341 src/skins/ui_manager.c:371
+#, fuzzy
+msgid "By Track Number"
+msgstr "Numărul Trackului"
+
+#: src/skins/ui_manager.c:342 src/skins/ui_manager.c:372
+msgid "Sorts the list by track number."
+msgstr ""
+
+#: src/skins/ui_manager.c:345 src/skins/ui_manager.c:375
+#, fuzzy
+msgid "By Playlist Entry"
+msgstr "AdPlug·::·Informații despre fișier"
+
+#: src/skins/ui_manager.c:346 src/skins/ui_manager.c:376
+msgid "Sorts the list by playlist entry."
+msgstr ""
+
+#: src/skins/ui_manager.c:349
+#, fuzzy
+msgid "Sort Selected"
+msgstr "Selecția formatelor"
+
+#: src/skins/ui_manager.c:385
+#, fuzzy
+msgid "File"
+msgstr "Numele Fișierului:"
+
+#: src/skins/ui_manager.c:388
+msgid "Plugin Services"
+msgstr ""
+
+#: src/skins/ui_manager.c:390 src/skins/ui_manager.c:393
+#, fuzzy
+msgid "View Track Details"
+msgstr "Fereastra cu informații despre Track"
+
+#: src/skins/ui_manager.c:391 src/skins/ui_manager.c:394
+msgid "View track details"
+msgstr ""
+
+#: src/skins/ui_manager.c:396 src/skins/ui_manager.c:397
+#, fuzzy
+msgid "About Audacious"
+msgstr "Despre plugin-ul decodor MP4·AAC"
+
+#: src/skins/ui_manager.c:399
+#, fuzzy
+msgid "Play File"
+msgstr "Pauză pentru"
+
+#: src/skins/ui_manager.c:400
+#, fuzzy
+msgid "Load and play a file"
+msgstr "Încarcă SF la pornirea playerului"
+
+#: src/skins/ui_manager.c:402
+#, fuzzy
+msgid "Play Location"
+msgstr "Locaţie:"
+
+#: src/skins/ui_manager.c:403
+#, fuzzy
+msgid "Play media from the selected location"
+msgstr "Selecția formatelor"
+
+#: src/skins/ui_manager.c:405
+msgid "Plugin services"
+msgstr ""
+
+#: src/skins/ui_manager.c:407
+msgid "Preferences"
+msgstr ""
+
+#: src/skins/ui_manager.c:408
+msgid "Open preferences window"
+msgstr ""
+
+#: src/skins/ui_manager.c:410
+#, fuzzy
+msgid "_Quit"
+msgstr "Calitatea sunetului"
+
+#: src/skins/ui_manager.c:411
+#, fuzzy
+msgid "Quit Audacious"
+msgstr "%s - Audacious"
+
+#: src/skins/ui_manager.c:413 src/skins/ui_manager.c:414
+msgid "Set A-B"
+msgstr ""
+
+#: src/skins/ui_manager.c:416 src/skins/ui_manager.c:417
+msgid "Clear A-B"
+msgstr ""
+
+#: src/skins/ui_manager.c:419 src/skins/ui_manager.c:420
+msgid "Jump to Playlist Start"
+msgstr ""
+
+#: src/skins/ui_manager.c:428
+msgid "Queue Toggle"
+msgstr ""
+
+#: src/skins/ui_manager.c:429
+msgid "Enables/disables the entry in the playlist's queue."
+msgstr ""
+
+#: src/skins/ui_manager.c:436
+#, fuzzy
+msgid "Load"
+msgstr "Încarcă"
+
+#: src/skins/ui_manager.c:441 src/skins/ui_manager.c:462
+#: src/skins/ui_manager.c:477
+#, fuzzy
+msgid "Preset"
+msgstr "Port-ul:"
+
+#: src/skins/ui_manager.c:442
+msgid "Load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:444 src/skins/ui_manager.c:465
+#: src/skins/ui_manager.c:480
+msgid "Auto-load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:445
+msgid "Load auto-load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:448
+#, fuzzy
+msgid "Load default preset into equalizer"
+msgstr "Încarcă presetarea implicită a egalizatorului"
+
+#: src/skins/ui_manager.c:450
+#, fuzzy
+msgid "Zero"
+msgstr "Retro"
+
+#: src/skins/ui_manager.c:451
+msgid "Set equalizer preset levels to zero"
+msgstr ""
+
+#: src/skins/ui_manager.c:453
+msgid "From file"
+msgstr ""
+
+#: src/skins/ui_manager.c:454
+#, fuzzy
+msgid "Load preset from file"
+msgstr "Încarcă preset din fișier"
+
+#: src/skins/ui_manager.c:456
+msgid "From WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:457
+msgid "Load preset from WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:459
+msgid "WinAMP Presets"
+msgstr ""
+
+#: src/skins/ui_manager.c:460
+msgid "Import WinAMP presets"
+msgstr ""
+
+#: src/skins/ui_manager.c:463
+msgid "Save preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:466
+msgid "Save auto-load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:469
+#, fuzzy
+msgid "Save default preset"
+msgstr "Încarcă presetarea implicită a egalizatorului"
+
+#: src/skins/ui_manager.c:471
+#, fuzzy
+msgid "To file"
+msgstr "Fisierul STIL:"
+
+#: src/skins/ui_manager.c:472
+msgid "Save preset to file"
+msgstr ""
+
+#: src/skins/ui_manager.c:474
+msgid "To WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:475
+msgid "Save preset to WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:478
+#, fuzzy
+msgid "Delete preset"
+msgstr "Implicit"
+
+#: src/skins/ui_manager.c:481
+msgid "Delete auto-load preset"
+msgstr ""
+
+#: src/skins/ui_playlist.c:454
+msgid "Search entries in active playlist"
+msgstr ""
+
+#: src/skins/ui_playlist.c:462
+msgid ""
+"Select entries in playlist by filling one or more fields. Fields use regular "
+"expressions syntax, case-insensitive. If you don't know how regular "
+"expressions work, simply insert a literal portion of what you're searching "
+"for."
+msgstr ""
+
+#: src/skins/ui_playlist.c:477
+#, fuzzy
+msgid "Album: "
+msgstr "Album"
+
+#: src/skins/ui_playlist.c:484
+#, fuzzy
+msgid "Artist: "
+msgstr "Artist"
+
+#: src/skins/ui_playlist.c:491
+#, fuzzy
+msgid "Filename: "
+msgstr "Fișier:"
+
+#: src/skins/ui_playlist.c:499
+msgid "Clear previous selection before searching"
+msgstr ""
+
+#: src/skins/ui_playlist.c:502
+msgid "Automatically toggle queue for matching entries"
+msgstr ""
+
+#: src/skins/ui_playlist.c:505
+msgid "Create a new playlist with matching entries"
+msgstr ""
+
+#: src/skins/ui_playlist.c:724
+#, c-format
+msgid "Error writing playlist \"%s\": %s"
+msgstr ""
+
+#: src/skins/ui_playlist.c:746
+#, c-format
+msgid "%s already exist. Continue?"
+msgstr ""
+
+#: src/skins/ui_playlist.c:761
+#, c-format
+msgid ""
+"<b><big>Unable to save playlist.</big></b>\n"
+"\n"
+"Unknown file type for '%s'.\n"
+msgstr ""
+
+#: src/skins/ui_playlist.c:887
+#, fuzzy
+msgid "Save as Static Playlist"
+msgstr "Selectați Playlist-ul"
+
+#: src/skins/ui_playlist.c:894
+msgid "Use Relative Path"
+msgstr ""
+
+#: src/skins/ui_playlist.c:916
+#, fuzzy
+msgid "Load Playlist"
+msgstr "AdPlug·::·Informații despre fișier"
+
+#: src/skins/ui_playlist.c:929
+#, fuzzy
+msgid "Save Playlist"
+msgstr "Selectați Playlist-ul"
+
+#: src/skins/ui_playlist.c:1497
+#, fuzzy
+msgid "Audacious Playlist Editor"
+msgstr "AdPlug·::·Informații despre fișier"
+
+#: src/skins/ui_skinned_equalizer_slider.c:377
+msgid "PREAMP"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:377
+msgid "60HZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:377
+msgid "170HZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:378
+msgid "310HZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:378
+msgid "600HZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:378
+msgid "1KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:379
+msgid "3KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:379
+msgid "6KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:379
+msgid "12KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:380
+msgid "14KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:380
+msgid "16KHZ"
+msgstr ""
+
+#: src/skins/ui_skinselector.c:178
+msgid "Archived Winamp 2.x skin"
+msgstr ""
+
+#: src/skins/ui_skinselector.c:183
+msgid "Unarchived Winamp 2.x skin"
+msgstr ""
+
+#: src/skins/util.c:1132
+#, fuzzy, c-format
+msgid "Could not create directory (%s): %s\n"
+msgstr "Nu s-a putut crea directorul (%s): %s\n"
+
+#: src/sndfile/plugin.c:554
 #, fuzzy
 msgid "About sndfile plugin"
 msgstr "Lista plugin-urilor _Generale"
 
-#: src/sndfile/plugin.c:549
+#: src/sndfile/plugin.c:555
 msgid ""
 "Adapted for Audacious usage by Tony Vroon <chainsaw@gentoo.org>\n"
 "from the xmms_sndfile plugin which is:\n"
@@ -4436,65 +5594,61 @@
 "Boston, MA  02110-1301  USA"
 msgstr ""
 
-#: src/sndstretch/sndstretch_xmms.c:159
+#: src/sndstretch/sndstretch_xmms.c:158
 #, fuzzy
 msgid "About SndStretch"
 msgstr "Despre Audacious"
 
-#: src/sndstretch/sndstretch_xmms.c:319
+#: src/sndstretch/sndstretch_xmms.c:318
 #, fuzzy
 msgid "Volume corr."
 msgstr "Schimbă volumul cu"
 
-#: src/sndstretch/sndstretch_xmms.c:320
+#: src/sndstretch/sndstretch_xmms.c:319
 msgid "Short Overlap"
 msgstr ""
 
-#: src/sndstretch/sndstretch_xmms.c:374
+#: src/sndstretch/sndstretch_xmms.c:373
 #, fuzzy
 msgid "Speed"
 msgstr "Viteză: "
 
-#: src/sndstretch/sndstretch_xmms.c:375
+#: src/sndstretch/sndstretch_xmms.c:374
 msgid "Pitch"
 msgstr ""
 
-#: src/sndstretch/sndstretch_xmms.c:376
-msgid "Scale"
-msgstr ""
-
-#: src/sndstretch/sndstretch_xmms.c:396
+#: src/sndstretch/sndstretch_xmms.c:395
 #, fuzzy
 msgid "SndStretch - Configuration"
 msgstr "AdPlug·::·Configurare"
 
-#: src/song_change/song_change.c:312
+#: src/song_change/song_change.c:310
 msgid "Commands"
 msgstr ""
 
-#: src/song_change/song_change.c:319
+#: src/song_change/song_change.c:317
 msgid "Command to run when Audacious starts a new song."
 msgstr ""
 
-#: src/song_change/song_change.c:328 src/song_change/song_change.c:350
-#: src/song_change/song_change.c:371 src/song_change/song_change.c:392
+#: src/song_change/song_change.c:326 src/song_change/song_change.c:348
+#: src/song_change/song_change.c:369 src/song_change/song_change.c:390
 msgid "Command:"
 msgstr ""
 
-#: src/song_change/song_change.c:342
+#: src/song_change/song_change.c:340
 msgid "Command to run toward the end of a song."
 msgstr ""
 
-#: src/song_change/song_change.c:362
+#: src/song_change/song_change.c:360
 msgid "Command to run when Audacious reaches the end of the playlist."
 msgstr ""
 
-#: src/song_change/song_change.c:383
+#: src/song_change/song_change.c:381
 msgid ""
 "Command to run when title changes for a song (i.e. network streams titles)."
 msgstr ""
 
-#: src/song_change/song_change.c:404
+#: src/song_change/song_change.c:402
 #, c-format
 msgid ""
 "You can use the following format strings which\n"
@@ -4511,13 +5665,13 @@
 "%%p: Currently playing (1 or 0)"
 msgstr ""
 
-#: src/song_change/song_change.c:429
+#: src/song_change/song_change.c:427
 msgid ""
 "<span size='small'>Parameters passed to the shell should be encapsulated in "
 "quotes. Doing otherwise is a security risk.</span>"
 msgstr ""
 
-#: src/spectrum/spectrum.c:90
+#: src/spectrum/spectrum.c:89
 #, fuzzy
 msgid "Spectrum Analyzer"
 msgstr "Modul Analizatorului"
@@ -4530,12 +5684,12 @@
 msgid "The orientation of the tray"
 msgstr ""
 
-#: src/statusicon/si_ui.c:622
+#: src/statusicon/si_ui.c:620
 #, fuzzy
 msgid "About Status Icon Plugin"
 msgstr "Despre plugin-ul decodor MP4·AAC"
 
-#: src/statusicon/si_ui.c:624
+#: src/statusicon/si_ui.c:622
 msgid ""
 "\n"
 "written by Giacomo Lozito < james@develia.org >\n"
@@ -4544,70 +5698,65 @@
 "the system tray area of the window manager.\n"
 msgstr ""
 
-#: src/statusicon/si_ui.c:696
+#: src/statusicon/si_ui.c:694
 msgid "Status Icon Plugin - Preferences"
 msgstr ""
 
-#: src/statusicon/si_ui.c:707
+#: src/statusicon/si_ui.c:705
 msgid "Right-Click Menu"
 msgstr ""
 
-#: src/statusicon/si_ui.c:712
+#: src/statusicon/si_ui.c:710
 #, fuzzy
 msgid "Audacious standard menu"
 msgstr "Developerii Audacious:"
 
-#: src/statusicon/si_ui.c:717
+#: src/statusicon/si_ui.c:715
 #, fuzzy
 msgid "Small playback menu #1"
 msgstr "Continuă redarea la pornire"
 
-#: src/statusicon/si_ui.c:722
+#: src/statusicon/si_ui.c:720
 #, fuzzy
 msgid "Small playback menu #2"
 msgstr "Continuă redarea la pornire"
 
-#: src/statusicon/si_ui.c:745
+#: src/statusicon/si_ui.c:743
 msgid "Mouse Scroll Action"
 msgstr ""
 
-#: src/statusicon/si_ui.c:750
+#: src/statusicon/si_ui.c:748
 #, fuzzy
 msgid "Change volume"
 msgstr "Schimbă volumul cu"
 
-#: src/statusicon/si_ui.c:755
+#: src/statusicon/si_ui.c:753
 #, fuzzy
 msgid "Change playing song"
 msgstr "Pauză"
 
-#: src/stereo_plugin/stereo.c:26
+#: src/stereo_plugin/stereo.c:25
 msgid ""
 "Extra Stereo Plugin\n"
 "\n"
 "By Johan Levin 1999."
 msgstr ""
 
-#: src/stereo_plugin/stereo.c:52
+#: src/stereo_plugin/stereo.c:51
 #, fuzzy
 msgid "About Extra Stereo Plugin"
 msgstr "Despre plugin-ul decodor MP4·AAC"
 
-#: src/stereo_plugin/stereo.c:93
+#: src/stereo_plugin/stereo.c:92
 msgid "Configure Extra Stereo"
 msgstr ""
 
-#: src/stereo_plugin/stereo.c:95
-#, fuzzy
-msgid "Effect intensity:"
-msgstr "Lista plugin-urilor de _Efecte"
-
-#: src/sun/about.c:34
+#: src/sun/about.c:33
 #, fuzzy
 msgid "About the Sun Driver"
 msgstr "Despre plugin-ul·pentru Alarmă"
 
-#: src/sun/about.c:35
+#: src/sun/about.c:34
 msgid ""
 "XMMS BSD Sun Driver\n"
 "\n"
@@ -4615,21 +5764,21 @@
 "Maintainer: <vedge at csoft.org>.\n"
 msgstr ""
 
-#: src/sun/configure.c:201
+#: src/sun/configure.c:199
 #, fuzzy
 msgid "Audio control device:"
 msgstr "Despre plugin-ul·Apple·Lossless·Audio"
 
-#: src/sun/configure.c:350
+#: src/sun/configure.c:348
 #, fuzzy
 msgid "Volume controls device:"
 msgstr "Schimbă volumul cu"
 
-#: src/sun/configure.c:363
+#: src/sun/configure.c:361
 msgid "XMMS uses mixer exclusively."
 msgstr ""
 
-#: src/sun/configure.c:538
+#: src/sun/configure.c:536
 msgid "Sun driver configuration"
 msgstr ""
 
@@ -4659,29 +5808,29 @@
 msgid "TiMidity Configuration File"
 msgstr "AdPlug·::·Informații despre fișier"
 
-#: src/timidity/xmms-timidity.c:118
+#: src/timidity/xmms-timidity.c:115
 msgid ""
 "TiMidity Plugin\n"
 "http://libtimidity.sourceforge.net\n"
 "by Konstantin Korikov"
 msgstr ""
 
-#: src/timidity/xmms-timidity.c:119
+#: src/timidity/xmms-timidity.c:116
 #, fuzzy, c-format
 msgid "TiMidity Plugin %s"
 msgstr "Plugin de intrare: %s"
 
-#: src/timidity/xmms-timidity.c:336
+#: src/timidity/xmms-timidity.c:333
 #, fuzzy
 msgid "Couldn't load MIDI file"
 msgstr "Încarcă și redă un fișier"
 
-#: src/tonegen/tonegen.c:56
+#: src/tonegen/tonegen.c:55
 #, fuzzy
 msgid "About Tone Generator"
 msgstr "Despre plugin-ul·pentru Alarmă"
 
-#: src/tonegen/tonegen.c:58
+#: src/tonegen/tonegen.c:57
 msgid ""
 "Sinus tone generator by Haavard Kvaalen <havardk@xmms.org>\n"
 "Modified by Daniel J. Peng <danielpeng@bigfoot.com>\n"
@@ -4690,98 +5839,98 @@
 "e.g. tone://2000;2005 to play a 2000Hz tone and a 2005Hz tone"
 msgstr ""
 
-#: src/tonegen/tonegen.c:167
+#: src/tonegen/tonegen.c:166
 #, c-format
 msgid "%s %.1f Hz"
 msgstr "%s %.1f Hz"
 
-#: src/tonegen/tonegen.c:167
+#: src/tonegen/tonegen.c:166
 msgid "Tone Generator: "
 msgstr ""
 
-#: src/tta/libtta.c:130
+#: src/tta/libtta.c:127
 #, fuzzy
 msgid "Can't open file\n"
 msgstr "AdPlug·::·Informații despre fișier"
 
-#: src/tta/libtta.c:133
+#: src/tta/libtta.c:130
 msgid "Not supported file format\n"
 msgstr ""
 
-#: src/tta/libtta.c:136
+#: src/tta/libtta.c:133
 #, fuzzy
 msgid "File is corrupted\n"
 msgstr "AdPlug·::·Informații despre fișier"
 
-#: src/tta/libtta.c:139
+#: src/tta/libtta.c:136
 #, fuzzy
 msgid "Can't read from file\n"
 msgstr "Încarcă preset din fișier"
 
-#: src/tta/libtta.c:142
+#: src/tta/libtta.c:139
 #, fuzzy
 msgid "Insufficient memory available\n"
 msgstr "Folosește fonturi Bitmap dacă sunt disponibile"
 
-#: src/tta/libtta.c:145
+#: src/tta/libtta.c:142
 #, fuzzy
 msgid "Output plugin error\n"
 msgstr "Plugin-ul de ieșire curent"
 
-#: src/tta/libtta.c:148
+#: src/tta/libtta.c:145
 #, fuzzy
 msgid "Unknown error\n"
 msgstr "Eroare în Audacious"
 
-#: src/tta/libtta.c:152
+#: src/tta/libtta.c:149
 #, fuzzy
 msgid "TTA Decoder Error"
 msgstr "Eroare în Audacious"
 
-#: src/tta/libtta.c:261
+#: src/tta/libtta.c:258
 #, fuzzy
 msgid "TTA input plugin "
 msgstr "Lista plugin-urilor _Generale"
 
-#: src/tta/libtta.c:262
+#: src/tta/libtta.c:259
 msgid ""
 " for BMP\n"
 "Copyright (c) 2004 True Audio Software\n"
 msgstr ""
 
-#: src/tta/libtta.c:265
+#: src/tta/libtta.c:262
 #, fuzzy
 msgid "About True Audio Plugin"
 msgstr "Despre plugin-ul·Apple·Lossless·Audio"
 
-#: src/tta/libtta.c:316
+#: src/tta/libtta.c:313
 msgid "ID3 Tag:"
 msgstr ""
 
-#: src/tta/libtta.c:378 src/wavpack/ui.cxx:234
+#: src/tta/libtta.c:375 src/wavpack/ui.cxx:232
 #, fuzzy
 msgid "Track number:"
 msgstr "Numărul Trackului"
 
-#: src/vorbis/configure.c:84
+#: src/vorbis/configure.c:82
 msgid "Ogg Vorbis Audio Plugin Configuration"
 msgstr ""
 
-#: src/vorbis/configure.c:94
+#: src/vorbis/configure.c:92
 msgid "Ogg Vorbis Tags:"
 msgstr ""
 
-#: src/vorbis/configure.c:115
+#: src/vorbis/configure.c:113
 #, fuzzy
 msgid "Title format:"
 msgstr "Formatul titlului:"
 
-#: src/vorbis/vorbis.c:681
+#: src/vorbis/vorbis.c:677
 #, fuzzy
 msgid "About Ogg Vorbis Audio Plugin"
 msgstr "Despre plugin-ul·Apple·Lossless·Audio"
 
-#: src/vorbis/vorbis.c:687
+#: src/vorbis/vorbis.c:683
 msgid ""
 "Ogg Vorbis Plugin by the Xiph.org Foundation\n"
 "\n"
@@ -4800,12 +5949,12 @@
 "Visit the Xiph.org Foundation at http://www.xiph.org/\n"
 msgstr ""
 
-#: src/vtx/about.c:23
+#: src/vtx/about.c:17
 #, fuzzy
 msgid "About Vortex Player"
 msgstr "Despre plugin-ul decodor MP4·AAC"
 
-#: src/vtx/about.c:25
+#: src/vtx/about.c:19
 msgid ""
 "Vortex file format player by Sashnov Alexander <sashnov@ngs.ru>\n"
 "Founded on original source in_vtx.dll by Roman Sherbakov <v_soft@microfor."
@@ -4817,12 +5966,12 @@
 "Audacious implementation by Pavel Vymetalek <pvymetalek@seznam.cz>"
 msgstr ""
 
-#: src/wavpack/ui.cxx:52
+#: src/wavpack/ui.cxx:50
 #, fuzzy, c-format
 msgid "Wavpack Decoder Plugin %s"
 msgstr "Lista plugin-urilor _Generale"
 
-#: src/wavpack/ui.cxx:53
+#: src/wavpack/ui.cxx:51
 msgid ""
 "Copyright (c) 2006 William Pitcock <nenolod -at- nenolod.net>\n"
 "\n"
@@ -4830,99 +5979,99 @@
 "Visit the Wavpack site at http://www.wavpack.com/\n"
 msgstr ""
 
-#: src/wavpack/ui.cxx:165
+#: src/wavpack/ui.cxx:163
 msgid "Ape2 Tag"
 msgstr ""
 
-#: src/wavpack/ui.cxx:288
+#: src/wavpack/ui.cxx:286
 #, fuzzy
 msgid "Wavpack Info:"
 msgstr "AdPlug·::·Informații despre fișier"
 
-#: src/wavpack/ui.cxx:381
+#: src/wavpack/ui.cxx:379
 #, c-format
 msgid "version %d"
 msgstr "versiunea %d"
 
-#: src/wavpack/ui.cxx:382
+#: src/wavpack/ui.cxx:380
 #, c-format
 msgid "average bitrate: %6.1f kbps"
 msgstr "bitrate-ul mediu: %6.1f kbps"
 
-#: src/wavpack/ui.cxx:383
+#: src/wavpack/ui.cxx:381
 #, fuzzy, c-format
 msgid "samplerate: %d Hz"
 msgstr "Rata de eșantionare [Hz]:"
 
-#: src/wavpack/ui.cxx:384
+#: src/wavpack/ui.cxx:382
 #, fuzzy, c-format
 msgid "bits per sample: %d"
 msgstr "Foloseste coperta per-fișier"
 
-#: src/wavpack/ui.cxx:385
+#: src/wavpack/ui.cxx:383
 #, fuzzy, c-format
 msgid "channels: %d"
 msgstr "Canale"
 
-#: src/wavpack/ui.cxx:386
+#: src/wavpack/ui.cxx:384
 #, fuzzy, c-format
 msgid "length: %d:%.2d"
 msgstr "Mărimea track-ului"
 
-#: src/wavpack/ui.cxx:387
+#: src/wavpack/ui.cxx:385
 #, fuzzy, c-format
 msgid "file size: %d Bytes"
 msgstr "AdPlug·::·Informații despre fișier"
 
-#: src/wavpack/ui.cxx:394
+#: src/wavpack/ui.cxx:392
 #, fuzzy
 msgid "Title Peak: ?"
 msgstr "Formatul titlului:"
 
-#: src/wavpack/ui.cxx:395
+#: src/wavpack/ui.cxx:393
 #, fuzzy
 msgid "Album Peak: ?"
 msgstr "<span size=\"small\">Album</span>"
 
-#: src/wavpack/ui.cxx:396
+#: src/wavpack/ui.cxx:394
 #, fuzzy
 msgid "Title Gain: ?"
 msgstr "Formatul titlului:"
 
-#: src/wavpack/ui.cxx:397
+#: src/wavpack/ui.cxx:395
 #, fuzzy
 msgid "Album Gain: ?"
 msgstr "<span size=\"small\">Album</span>"
 
-#: src/wavpack/ui.cxx:471
+#: src/wavpack/ui.cxx:469
 #, fuzzy
 msgid "Wavpack Configuration"
 msgstr "AdPlug·::·Configurare"
 
-#: src/wavpack/ui.cxx:484
+#: src/wavpack/ui.cxx:482
 #, fuzzy
 msgid "General Plugin Settings:"
 msgstr "Lista plugin-urilor _Generale"
 
-#: src/wavpack/ui.cxx:502
+#: src/wavpack/ui.cxx:500
 #, fuzzy
 msgid "ReplayGain Settings:"
 msgstr "Opțiuni pentru Popup-ul cu informații suplimentare"
 
-#: src/wavpack/ui.cxx:520
+#: src/wavpack/ui.cxx:518
 #, fuzzy
 msgid "ReplayGain Type:"
 msgstr "Tipul Fișierului: "
 
-#: src/wavpack/ui.cxx:531
+#: src/wavpack/ui.cxx:529
 msgid "use Track Gain/Peak"
 msgstr ""
 
-#: src/wavpack/ui.cxx:539
+#: src/wavpack/ui.cxx:537
 msgid "use Album Gain/Peak"
 msgstr ""
 
-#: src/wma/wma.c:123
+#: src/wma/wma.c:120
 msgid ""
 "Adapted for use in Audacious by Tony Vroon (chainsaw@gentoo.org) from\n"
 "the BEEP-WMA plugin which is Copyright (C) 2004,2005 Mokrushin I.V. aka "
@@ -4957,10 +6106,6 @@
 #~ msgstr "Nu s-a putut crea directorul (%s): %s\n"
 
 #, fuzzy
-#~ msgid "Could not allocate sidFilename ('%s')\n"
-#~ msgstr "Nu s-a putut crea directorul (%s): %s\n"
-
-#, fuzzy
 #~ msgid "Could not allocate memory for t_xs_subtuneinfo ('%s', %i)\n"
 #~ msgstr "Nu s-a putut crea directorul (%s): %s\n"
 
@@ -5001,10 +6146,6 @@
 #~ msgstr "Mod de Vizualizare"
 
 #, fuzzy
-#~ msgid "File Info"
-#~ msgstr "AdPlug·::·Informații despre fișier"
-
-#, fuzzy
 #~ msgid "Couldn't open file!"
 #~ msgstr "AdPlug·::·Informații despre fișier"
 
@@ -5024,9 +6165,6 @@
 #~ msgid "%d:%02d (%d seconds)"
 #~ msgstr "minute:secunde"
 
-#~ msgid "Blues"
-#~ msgstr "Blues"
-
 #~ msgid "Classic Rock"
 #~ msgstr "Classic Rock"
 
@@ -5094,9 +6232,6 @@
 #~ msgid "Death Metal"
 #~ msgstr "Death Metal"
 
-#~ msgid "Pranks"
-#~ msgstr "Pranks"
-
 #~ msgid "Soundtrack"
 #~ msgstr "Soundtrack"
 
@@ -5149,9 +6284,6 @@
 #~ msgid "AlternRock"
 #~ msgstr "AlternRock"
 
-#~ msgid "Bass"
-#~ msgstr "Bass"
-
 #~ msgid "Soul"
 #~ msgstr "Soul"
 
@@ -5233,9 +6365,6 @@
 #~ msgid "Rave"
 #~ msgstr "Rave"
 
-#~ msgid "Showtunes"
-#~ msgstr "Showtunes"
-
 #~ msgid "Trailer"
 #~ msgstr "Trailer"
 
@@ -5254,9 +6383,6 @@
 #~ msgid "Polka"
 #~ msgstr "Polka"
 
-#~ msgid "Retro"
-#~ msgstr "Retro"
-
 #~ msgid "Musical"
 #~ msgstr "Musical"
 
@@ -5284,9 +6410,6 @@
 #~ msgid "Bebob"
 #~ msgstr "Bebob"
 
-#~ msgid "Latin"
-#~ msgstr "Latin"
-
 #~ msgid "Revival"
 #~ msgstr "Revival"
 
@@ -5350,18 +6473,9 @@
 #~ msgid "Booty Bass"
 #~ msgstr "Booty Bass"
 
-#~ msgid "Primus"
-#~ msgstr "Primus"
-
 #~ msgid "Porn Groove"
 #~ msgstr "Porn Groove"
 
-#~ msgid "Satire"
-#~ msgstr "Satire"
-
-#~ msgid "Slow Jam"
-#~ msgstr "Slow Jam"
-
 #~ msgid "Club"
 #~ msgstr "Club"
 
@@ -5431,9 +6545,6 @@
 #~ msgid "Polsk Punk"
 #~ msgstr "Polsk Punk"
 
-#~ msgid "Beat"
-#~ msgstr "Beat"
-
 #~ msgid "Christian Gangsta Rap"
 #~ msgstr "Christian Gangsta Rap"
 
@@ -5479,24 +6590,14 @@
 #~ msgid "Error!"
 #~ msgstr "Eroare!"
 
-#~ msgid "Date:"
-#~ msgstr "Data:"
-
 #~ msgid "Description:"
 #~ msgstr "Descriere:"
 
-#~ msgid "Location:"
-#~ msgstr "Locaţie:"
-
 #, fuzzy
 #~ msgid "ISRC number:"
 #~ msgstr "Numărul Trackului"
 
 #, fuzzy
-#~ msgid "Track gain:"
-#~ msgstr "Informații despre Track"
-
-#, fuzzy
 #~ msgid "Track peak:"
 #~ msgstr "Informații despre Track"
 
@@ -5532,10 +6633,6 @@
 #~ msgid "%d:%.2d"
 #~ msgstr "Salt la: %d:%-2.2d/%d:%-2.2d (%d%%)"
 
-#, fuzzy
-#~ msgid "%s - Audacious"
-#~ msgstr "%s - Audacious"
-
 #~ msgid "Use software volume control"
 #~ msgstr "Folosește controlul de volum în software"
 
@@ -5544,10 +6641,6 @@
 #~ msgstr "Pornește"
 
 #, fuzzy
-#~ msgid "Load"
-#~ msgstr "Încarcă"
-
-#, fuzzy
 #~ msgid "Song-position patch"
 #~ msgstr "Pauză"
 
--- a/po/ru.po	Thu Jul 03 17:23:34 2008 +0300
+++ b/po/ru.po	Thu Jul 03 17:37:11 2008 +0300
@@ -9,8 +9,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: audacious-plugins 1.5\n"
-"Report-Msgid-Bugs-To: http://bugs.audacious-media-player.org\n"
-"POT-Creation-Date: 2008-03-30 17:25+0200\n"
+"Report-Msgid-Bugs-To: http://bugzilla.atheme.org/\n"
+"POT-Creation-Date: 2008-06-21 08:27+0300\n"
 "PO-Revision-Date: 2008-01-11 04:59+0300\n"
 "Last-Translator: Eugene Zagidullin <e.asphyx@gmail.com>\n"
 "Language-Team: none\n"
@@ -20,11 +20,11 @@
 "X-Poedit-Language: Russian\n"
 "X-Poedit-Basepath: /home/asphyx/ahinea/audacious-plugins\n"
 
-#: src/aac/libmp4.c:286
+#: src/aac/libmp4.c:283
 msgid "Using libfaad2-"
 msgstr "Используется libfaad2-"
 
-#: src/aac/libmp4.c:287
+#: src/aac/libmp4.c:284
 msgid ""
 " for decoding.\n"
 "FAAD2 AAC/HE-AAC/HE-AACv2/DRM decoder (c) Nero AG, www.nero.com\n"
@@ -34,38 +34,38 @@
 "FAAD2 AAC/HE-AAC/HE-AACv2/DRM декодер (c) Nero AG, www.nero.com\n"
 "Copyright (c) 2005-2006 Команда разработчиков Audacious"
 
-#: src/aac/libmp4.c:291
+#: src/aac/libmp4.c:288
 msgid "About MP4 AAC player plugin"
 msgstr "О модуле MP4 AAC"
 
-#: src/aac/libmp4.c:293 src/adplug/adplug-xmms.cc:182
-#: src/adplug/adplug-xmms.cc:265 src/adplug/adplug-xmms.cc:526
-#: src/alac/plugin.c:77 src/arts/arts.c:26 src/arts/configure.c:90
-#: src/audiocompress/audacious-glue.c:102
-#: src/audiocompress/audacious-glue.c:552 src/cdaudio-ng/configure.c:228
-#: src/console/Audacious_Driver.cxx:449 src/demac/plugin.c:393
-#: src/echo_plugin/gui.c:26 src/echo_plugin/gui.c:137 src/esd/about.c:49
-#: src/filewriter/filewriter.c:183 src/jack/configure.c:141
-#: src/jack/jack.c:456 src/madplug/plugin.c:542 src/madplug/plugin.c:566
-#: src/metronom/metronom.c:88 src/modplug/gui/main.cxx:49
-#: src/musepack/libmpc.cxx:232 src/null/null.c:67 src/null/null.c:110
-#: src/OSS4/about.c:59 src/OSS/about.c:54 src/paranormal-ng/plugin.c:283
-#: src/paranormal/plugin.c:291 src/scrobbler/gtkstuff.c:25
-#: src/sndfile/plugin.c:565 src/statusicon/si_ui.c:628
-#: src/stereo_plugin/stereo.c:53 src/stereo_plugin/stereo.c:116
-#: src/sun/about.c:38 src/sun/configure.c:559 src/timidity/interface.c:222
-#: src/timidity/xmms-timidity.c:120 src/tonegen/tonegen.c:62
-#: src/tta/libtta.c:153 src/tta/libtta.c:267 src/tta/libtta.c:402
-#: src/vorbis/vorbis.c:700 src/vtx/about.c:32 src/vtx/info.c:43
-#: src/wavpack/ui.cxx:56 src/wavpack/ui.cxx:556
+#: src/aac/libmp4.c:290 src/adplug/adplug-xmms.cc:180
+#: src/adplug/adplug-xmms.cc:263 src/adplug/adplug-xmms.cc:524
+#: src/alac/plugin.c:74 src/arts/arts.c:25 src/arts/configure.c:90
+#: src/audiocompress/audacious-glue.c:110
+#: src/audiocompress/audacious-glue.c:560 src/cdaudio-ng/configure.c:242
+#: src/console/Audacious_Driver.cxx:447 src/crystalizer/crystalizer.c:113
+#: src/demac/plugin.c:364 src/echo_plugin/gui.c:24 src/echo_plugin/gui.c:135
+#: src/esd/about.c:48 src/filewriter/filewriter.c:183 src/jack/configure.c:140
+#: src/jack/jack.c:454 src/madplug/plugin.c:679 src/madplug/plugin.c:703
+#: src/metronom/metronom.c:87 src/modplug/gui/main.cxx:52
+#: src/musepack/libmpc.cxx:228 src/null/null.c:64 src/null/null.c:107
+#: src/OSS4/OSS4.c:55 src/OSS/OSS.c:52 src/paranormal-ng/plugin.c:282
+#: src/paranormal/plugin.c:290 src/scrobbler/gtkstuff.c:22
+#: src/sndfile/plugin.c:571 src/statusicon/si_ui.c:626
+#: src/stereo_plugin/stereo.c:52 src/stereo_plugin/stereo.c:115
+#: src/sun/about.c:37 src/sun/configure.c:557 src/timidity/interface.c:222
+#: src/timidity/xmms-timidity.c:117 src/tonegen/tonegen.c:61
+#: src/tta/libtta.c:150 src/tta/libtta.c:264 src/tta/libtta.c:399
+#: src/vorbis/vorbis.c:696 src/vtx/about.c:26 src/vtx/info.c:38
+#: src/wavpack/ui.cxx:54 src/wavpack/ui.cxx:554
 msgid "Ok"
 msgstr "ОК"
 
-#: src/adplug/adplug-xmms.cc:171
+#: src/adplug/adplug-xmms.cc:169
 msgid "About "
 msgstr "О "
 
-#: src/adplug/adplug-xmms.cc:175
+#: src/adplug/adplug-xmms.cc:173
 msgid ""
 "\n"
 "Copyright (C) 2002, 2003 Simon Peter <dn.tlp@gmx.net>\n"
@@ -87,195 +87,195 @@
 "Этот модуль использует библиотеку AdPlug, Copyright (C) Simon Peter.\n"
 "Версия библиотеки AdPlug: "
 
-#: src/adplug/adplug-xmms.cc:256
+#: src/adplug/adplug-xmms.cc:254
 msgid "AdPlug :: Configuration"
 msgstr "AdPlug :: Настройка"
 
-#: src/adplug/adplug-xmms.cc:275 src/alarm/interface.c:1398
+#: src/adplug/adplug-xmms.cc:273 src/alarm/interface.c:1398
 #: src/alsa/configure.c:389 src/arts/configure.c:91
-#: src/audiocompress/audacious-glue.c:557 src/cdaudio-ng/configure.c:232
-#: src/echo_plugin/gui.c:145 src/jack/configure.c:148
-#: src/modplug/gui/interface.cxx:714 src/modplug/gui/modplug.glade:1668
-#: src/musepack/libmpc.cxx:237 src/musepack/libmpc.cxx:557 src/null/null.c:111
-#: src/sid/xmms-sid.glade:3080 src/sid/xs_interface.c:1250
-#: src/stereo_plugin/stereo.c:125 src/sun/configure.c:567
-#: src/timidity/interface.c:230 src/wavpack/ui.cxx:280 src/wavpack/ui.cxx:563
+#: src/audiocompress/audacious-glue.c:565 src/cdaudio-ng/configure.c:246
+#: src/crystalizer/crystalizer.c:122 src/echo_plugin/gui.c:143
+#: src/jack/configure.c:147 src/modplug/gui/interface.cxx:714
+#: src/modplug/gui/modplug.glade:1668 src/musepack/libmpc.cxx:233
+#: src/musepack/libmpc.cxx:553 src/null/null.c:108
+#: src/stereo_plugin/stereo.c:124 src/sun/configure.c:565
+#: src/timidity/interface.c:230 src/wavpack/ui.cxx:278 src/wavpack/ui.cxx:561
 msgid "Cancel"
 msgstr "Отмена"
 
-#: src/adplug/adplug-xmms.cc:291 src/console/Audacious_Config.cxx:145
-#: src/madplug/configure.c:290 src/modplug/gui/interface.cxx:628
+#: src/adplug/adplug-xmms.cc:289 src/console/Audacious_Config.cxx:144
+#: src/madplug/configure.c:289 src/modplug/gui/interface.cxx:628
 #: src/modplug/gui/interface.cxx:887 src/modplug/gui/modplug.glade:1404
 #: src/modplug/gui/modplug.glade:1804
 msgid "General"
 msgstr "Основной"
 
-#: src/adplug/adplug-xmms.cc:303
+#: src/adplug/adplug-xmms.cc:301
 msgid "Sound quality"
 msgstr "Качество звука"
 
-#: src/adplug/adplug-xmms.cc:308 src/modplug/gui/interface.cxx:187
+#: src/adplug/adplug-xmms.cc:306 src/modplug/gui/interface.cxx:187
 #: src/modplug/gui/modplug.glade:113
 msgid "Resolution"
 msgstr "Разрешение"
 
-#: src/adplug/adplug-xmms.cc:310
+#: src/adplug/adplug-xmms.cc:308
 msgid "8bit"
 msgstr "8 бит"
 
-#: src/adplug/adplug-xmms.cc:315
+#: src/adplug/adplug-xmms.cc:313
 msgid "16bit"
 msgstr "16 бит"
 
-#: src/adplug/adplug-xmms.cc:323 src/modplug/gui/interface.cxx:218
+#: src/adplug/adplug-xmms.cc:321 src/modplug/gui/interface.cxx:218
 #: src/modplug/gui/modplug.glade:199 src/timidity/interface.c:148
 msgid "Channels"
 msgstr "Каналы"
 
-#: src/adplug/adplug-xmms.cc:325 src/filewriter/mp3.c:900
-#: src/sid/xmms-sid.glade:157 src/sid/xs_interface.c:288
+#: src/adplug/adplug-xmms.cc:323 src/filewriter/mp3.c:900
+#: src/sid/xmms-sid.glade:157 src/sid/xs_interface.c:300
 #: src/timidity/interface.c:165
 msgid "Mono"
 msgstr "Моно"
 
-#: src/adplug/adplug-xmms.cc:330 src/filewriter/mp3.c:895
+#: src/adplug/adplug-xmms.cc:328 src/filewriter/mp3.c:895
 #: src/modplug/gui/interface.cxx:204 src/modplug/gui/modplug.glade:159
-#: src/sid/xmms-sid.glade:176 src/sid/xs_interface.c:295
+#: src/sid/xmms-sid.glade:176 src/sid/xs_interface.c:307
 #: src/timidity/interface.c:173
 msgid "Stereo"
 msgstr "Стерео"
 
-#: src/adplug/adplug-xmms.cc:334
+#: src/adplug/adplug-xmms.cc:332
 msgid ""
 "Setting stereo is not recommended, unless you need to. This won't add any "
 "stereo effects to the sound - OPL2 is just mono - but eats up more CPU power!"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:342
+#: src/adplug/adplug-xmms.cc:340
 msgid "Frequency"
 msgstr "Частота"
 
-#: src/adplug/adplug-xmms.cc:378 src/adplug/adplug-xmms.cc:582
-#: src/console/Audacious_Config.cxx:147
+#: src/adplug/adplug-xmms.cc:376 src/adplug/adplug-xmms.cc:580
+#: src/console/Audacious_Config.cxx:146 src/skins/ui_manager.c:175
 msgid "Playback"
 msgstr "Воспроизведение"
 
-#: src/adplug/adplug-xmms.cc:382
+#: src/adplug/adplug-xmms.cc:380
 msgid "Detect songend"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:386
+#: src/adplug/adplug-xmms.cc:384
 msgid ""
 "If enabled, XMMS will detect a song's ending, stop it and advance in the "
 "playlist. If disabled, XMMS won't take notice of a song's ending and loop it "
 "all over again and again."
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:397
+#: src/adplug/adplug-xmms.cc:395
 msgid "Formats"
 msgstr "Форматы"
 
-#: src/adplug/adplug-xmms.cc:404
+#: src/adplug/adplug-xmms.cc:402
 msgid "Format selection"
 msgstr "Выбор формата"
 
-#: src/adplug/adplug-xmms.cc:407
+#: src/adplug/adplug-xmms.cc:405
 msgid "Format"
 msgstr "Формат"
 
-#: src/adplug/adplug-xmms.cc:407
+#: src/adplug/adplug-xmms.cc:405
 msgid "Extension"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:447
+#: src/adplug/adplug-xmms.cc:445
 msgid ""
 "Selected file types will be recognized and played back by this plugin. "
 "Deselected types will be ignored to make room for other plugins to play "
 "these files."
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:533
+#: src/adplug/adplug-xmms.cc:531
 msgid "AdPlug :: File Info"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:555 src/amidi-plug/i_configure-fluidsynth.c:448
+#: src/adplug/adplug-xmms.cc:553 src/amidi-plug/i_configure-fluidsynth.c:448
 msgid "Filename"
 msgstr "Имя файла"
 
-#: src/adplug/adplug-xmms.cc:559
+#: src/adplug/adplug-xmms.cc:557 src/skins/ui_playlist.c:470
 msgid "Title: "
 msgstr "Название:"
 
+#: src/adplug/adplug-xmms.cc:558
+msgid "Author: "
+msgstr ""
+
+#: src/adplug/adplug-xmms.cc:559
+msgid "File Type: "
+msgstr "Тип файла:"
+
 #: src/adplug/adplug-xmms.cc:560
-msgid "Author: "
+msgid "Subsongs: "
 msgstr ""
 
 #: src/adplug/adplug-xmms.cc:561
-msgid "File Type: "
-msgstr "Тип файла:"
-
-#: src/adplug/adplug-xmms.cc:562
-msgid "Subsongs: "
-msgstr ""
-
-#: src/adplug/adplug-xmms.cc:563
 msgid "Instruments: "
 msgstr "Инструменты:"
 
-#: src/adplug/adplug-xmms.cc:568
+#: src/adplug/adplug-xmms.cc:566
 msgid "Orders: "
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:569
+#: src/adplug/adplug-xmms.cc:567
 msgid "Patterns: "
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:573
+#: src/adplug/adplug-xmms.cc:571
 msgid "Song"
 msgstr "Дорожка"
 
-#: src/adplug/adplug-xmms.cc:599
+#: src/adplug/adplug-xmms.cc:597
 msgid "Instrument name"
 msgstr "Название инструмента"
 
-#: src/adplug/adplug-xmms.cc:641
+#: src/adplug/adplug-xmms.cc:639
 msgid "Song message"
 msgstr "Сообщение дорожки"
 
-#: src/adplug/adplug-xmms.cc:663
+#: src/adplug/adplug-xmms.cc:661
 msgid "Subsong selection"
 msgstr "Выбор поддорожки"
 
-#: src/adplug/adplug-xmms.cc:727
+#: src/adplug/adplug-xmms.cc:725
 msgid "Order: "
 msgstr ""
 
+#: src/adplug/adplug-xmms.cc:726
+msgid "Pattern: "
+msgstr ""
+
 #: src/adplug/adplug-xmms.cc:728
-msgid "Pattern: "
-msgstr ""
-
-#: src/adplug/adplug-xmms.cc:730
 msgid "Row: "
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:731
+#: src/adplug/adplug-xmms.cc:729
 msgid "Speed: "
 msgstr "Скорость:"
 
-#: src/adplug/adplug-xmms.cc:732
+#: src/adplug/adplug-xmms.cc:730
 msgid "Timer: "
 msgstr "Таймер:"
 
-#: src/adplug/adplug-xmms.cc:733 src/console/Audacious_Config.cxx:225
-#: src/sid/xmms-sid.glade:332 src/sid/xs_interface.c:341
+#: src/adplug/adplug-xmms.cc:731 src/console/Audacious_Config.cxx:224
+#: src/sid/xmms-sid.glade:332 src/sid/xs_interface.c:353
 msgid "Hz"
 msgstr "Гц"
 
-#: src/alac/plugin.c:74
+#: src/alac/plugin.c:71
 msgid "About Apple Lossless Audio Plugin"
 msgstr "О модуле Apple Lossless"
 
-#: src/alac/plugin.c:75
+#: src/alac/plugin.c:72
 msgid ""
 "Copyright (c) 2006 Audacious team\n"
 "Portions (c) 2005-2006 David Hammerton <crazney -at- crazney.net>"
@@ -303,8 +303,8 @@
 
 #: src/alarm/interface.c:71 src/lirc/about.c:115
 #: src/modplug/gui/interface.cxx:971 src/modplug/gui/modplug.glade:2030
-#: src/sid/xmms-sid.glade:3643 src/sid/xs_about.c:214
-#: src/sid/xs_interface.c:1740
+#: src/sid/xmms-sid.glade:3837 src/sid/xs_about.c:214
+#: src/sid/xs_interface.c:1824
 msgid "Close"
 msgstr "Закрыть"
 
@@ -316,13 +316,12 @@
 msgid "This is your wakeup call."
 msgstr ""
 
-#: src/alarm/interface.c:124 src/alarm/interface.c:1389 src/alsa/about.c:46
+#: src/alarm/interface.c:124 src/alarm/interface.c:1389 src/alsa/about.c:45
 #: src/alsa/configure.c:383 src/cdaudio-ng/cdaudio-ng.c:247
-#: src/flacng/plugin.c:706 src/gnomeshortcuts/gnomeshortcuts.c:311
-#: src/hotkey/gui.c:671 src/modplug/gui/interface.cxx:702
-#: src/modplug/gui/modplug.glade:1642 src/pulse_audio/pulse_audio.c:738
-#: src/scrobbler/gtkstuff.c:45 src/sid/xmms-sid.glade:3066
-#: src/sid/xs_interface.c:1243
+#: src/flacng/plugin.c:705 src/gnomeshortcuts/gnomeshortcuts.c:310
+#: src/hotkey/gui.c:670 src/modplug/gui/interface.cxx:702
+#: src/modplug/gui/modplug.glade:1642 src/pulse_audio/pulse_audio.c:736
+#: src/scrobbler/gtkstuff.c:42 src/skins/plugin.c:130
 msgid "OK"
 msgstr "ОК"
 
@@ -391,7 +390,8 @@
 #: src/alarm/interface.c:612 src/alarm/interface.c:660
 #: src/alarm/interface.c:708 src/alarm/interface.c:756
 #: src/alarm/interface.c:804 src/alarm/interface.c:852
-#: src/alarm/interface.c:900 src/OSS4/configure.c:138 src/OSS/configure.c:169
+#: src/alarm/interface.c:900 src/OSS4/configure.c:136 src/OSS/configure.c:168
+#: src/skins/ui_manager.c:447 src/skins/ui_manager.c:468
 msgid "Default"
 msgstr "По умолчанию"
 
@@ -436,9 +436,9 @@
 msgstr "Затухание"
 
 #: src/alarm/interface.c:1087 src/sid/xmms-sid.glade:2007
-#: src/sid/xmms-sid.glade:2178 src/sid/xmms-sid.glade:2676
-#: src/sid/xs_interface.c:908 src/sid/xs_interface.c:962
-#: src/sid/xs_interface.c:1122
+#: src/sid/xmms-sid.glade:2178 src/sid/xmms-sid.glade:2746
+#: src/sid/xs_interface.c:920 src/sid/xs_interface.c:974
+#: src/sid/xs_interface.c:1154
 msgid "seconds"
 msgstr "секунд"
 
@@ -491,7 +491,7 @@
 msgid "Use reminder"
 msgstr "Использовать напоминание"
 
-#: src/alarm/interface.c:1328 src/sndstretch/sndstretch_xmms.c:377
+#: src/alarm/interface.c:1328 src/sndstretch/sndstretch_xmms.c:376
 msgid "Options"
 msgstr "Параметры"
 
@@ -554,7 +554,7 @@
 "    toggle button if you want it to be shown.\n"
 msgstr ""
 
-#: src/alarm/interface.c:1366
+#: src/alarm/interface.c:1366 src/skins/ui_manager.c:386
 msgid "Help"
 msgstr ""
 
@@ -566,11 +566,11 @@
 msgid "Thankyou"
 msgstr "Спасибо"
 
-#: src/alsa/about.c:30
+#: src/alsa/about.c:29
 msgid "About ALSA Driver"
 msgstr "О драйвере ALSA"
 
-#: src/alsa/about.c:31
+#: src/alsa/about.c:30
 msgid ""
 "Audacious ALSA Driver\n"
 "\n"
@@ -623,8 +623,8 @@
 msgid "ALSA Driver configuration"
 msgstr "Настройка драйвера ALSA"
 
-#: src/alsa/configure.c:274 src/OSS4/configure.c:186 src/OSS/configure.c:217
-#: src/sun/configure.c:183
+#: src/alsa/configure.c:274 src/OSS4/configure.c:184 src/OSS/configure.c:216
+#: src/sun/configure.c:181
 msgid "Audio device:"
 msgstr "Аудиоустройство:"
 
@@ -636,7 +636,7 @@
 msgid "Mixer card:"
 msgstr "Карта микшера:"
 
-#: src/alsa/configure.c:313 src/OSS/configure.c:260 src/sun/configure.c:220
+#: src/alsa/configure.c:313 src/OSS/configure.c:259 src/sun/configure.c:218
 msgid "Mixer device:"
 msgstr "Устройство микшера:"
 
@@ -1366,8 +1366,8 @@
 "<span size=\"smaller\">TiMidity\n"
 "модуль</span>"
 
-#: src/amidi-plug/i_fileinfo.c:169 src/sid/xmms-sid.glade:3465
-#: src/sid/xs_interface.c:1684
+#: src/amidi-plug/i_fileinfo.c:169 src/sid/xmms-sid.glade:3659
+#: src/sid/xs_interface.c:1768
 msgid "Name:"
 msgstr "Имя:"
 
@@ -1472,19 +1472,19 @@
 msgid "None"
 msgstr "Нет"
 
-#: src/aosd/aosd_trigger.c:75
+#: src/aosd/aosd_trigger.c:74
 msgid "Playback Start"
 msgstr "Начало воспроизведения"
 
-#: src/aosd/aosd_trigger.c:76
+#: src/aosd/aosd_trigger.c:75
 msgid "Triggers OSD when a playlist entry is played."
 msgstr "Показывает OSD, когда начинается проигрывание."
 
-#: src/aosd/aosd_trigger.c:80
+#: src/aosd/aosd_trigger.c:79
 msgid "Title Change"
 msgstr "Изменение названия"
 
-#: src/aosd/aosd_trigger.c:81
+#: src/aosd/aosd_trigger.c:80
 msgid ""
 "Triggers OSD when, during playback, the song title changes but the filename "
 "is the same. This is mostly useful to display title changes in internet "
@@ -1494,27 +1494,27 @@
 "файла остаётся прежним. Полезно для отображения названий при воспроизведении "
 "Интернет-потоков."
 
-#: src/aosd/aosd_trigger.c:87
+#: src/aosd/aosd_trigger.c:86
 msgid "Volume Change"
 msgstr "Изменение громкости"
 
-#: src/aosd/aosd_trigger.c:88
+#: src/aosd/aosd_trigger.c:87
 msgid "Triggers OSD when volume is changed."
 msgstr "Показывает OSD, когда меняется громкость."
 
+#: src/aosd/aosd_trigger.c:91
+msgid "Pause On"
+msgstr ""
+
 #: src/aosd/aosd_trigger.c:92
-msgid "Pause On"
-msgstr ""
-
-#: src/aosd/aosd_trigger.c:93
 msgid "Triggers OSD when playback is paused."
 msgstr "Показывает OSD, когда воспроизведение приостанавливается."
 
-#: src/aosd/aosd_trigger.c:97
+#: src/aosd/aosd_trigger.c:96
 msgid "Pause Off"
 msgstr ""
 
-#: src/aosd/aosd_trigger.c:98
+#: src/aosd/aosd_trigger.c:97
 msgid "Triggers OSD when playback is unpaused."
 msgstr "Показывает OSD, когда воспроизведение возобновляется."
 
@@ -1613,10 +1613,10 @@
 msgid "Skin file:"
 msgstr "Файл темы:"
 
-#: src/aosd/aosd_ui.c:644 src/sid/xmms-sid.glade:2331
-#: src/sid/xmms-sid.glade:2856 src/sid/xmms-sid.glade:2962
-#: src/sid/xs_interface.c:1010 src/sid/xs_interface.c:1182
-#: src/sid/xs_interface.c:1218
+#: src/aosd/aosd_ui.c:644 src/sid/xmms-sid.glade:2373
+#: src/sid/xmms-sid.glade:2968 src/sid/xmms-sid.glade:3136
+#: src/sid/xs_interface.c:1043 src/sid/xs_interface.c:1235
+#: src/sid/xs_interface.c:1291
 msgid "Browse"
 msgstr "Просмотреть"
 
@@ -1699,9 +1699,9 @@
 msgid "Trigger"
 msgstr "События"
 
-#: src/aosd/aosd_ui.c:1076 src/cdaudio-ng/configure.c:167
+#: src/aosd/aosd_ui.c:1076 src/cdaudio-ng/configure.c:175
 #: src/modplug/gui/interface.cxx:688 src/modplug/gui/modplug.glade:1603
-#: src/sid/xmms-sid.glade:3026 src/sid/xs_interface.c:1229
+#: src/sid/xmms-sid.glade:3220 src/sid/xs_interface.c:1301
 msgid "Misc"
 msgstr "Прочее"
 
@@ -1739,11 +1739,11 @@
 "http://neugierig.org/software/ghosd/\n"
 "\n"
 
-#: src/arts/arts.c:22
+#: src/arts/arts.c:21
 msgid "About aRts Output"
 msgstr "О модуле вывода звука aRts"
 
-#: src/arts/arts.c:23
+#: src/arts/arts.c:22
 msgid ""
 "aRts output plugin by Håvard Kvålen <havardk@xmms.org>\n"
 "Audacious port by Giacomo Lozito from develia.org"
@@ -1753,26 +1753,26 @@
 msgid "aRts Driver configuration"
 msgstr "Настройка драйвера aRts"
 
-#: src/arts/configure.c:61 src/esd/configure.c:171 src/OSS4/configure.c:232
-#: src/OSS/configure.c:304 src/sun/configure.c:259
+#: src/arts/configure.c:61 src/esd/configure.c:171 src/OSS4/configure.c:230
+#: src/OSS/configure.c:303 src/sun/configure.c:257
 msgid "Buffering:"
 msgstr "Буферизация:"
 
-#: src/arts/configure.c:73 src/esd/configure.c:184 src/OSS4/configure.c:245
-#: src/OSS/configure.c:317 src/sun/configure.c:272
+#: src/arts/configure.c:73 src/esd/configure.c:184 src/OSS4/configure.c:243
+#: src/OSS/configure.c:316 src/sun/configure.c:270
 msgid "Buffer size (ms):"
 msgstr "Размер буфера (мс):"
 
-#: src/arts/configure.c:83 src/esd/configure.c:209 src/OSS4/configure.c:270
-#: src/OSS/configure.c:342 src/sun/configure.c:304
+#: src/arts/configure.c:83 src/esd/configure.c:209 src/OSS4/configure.c:268
+#: src/OSS/configure.c:341 src/sun/configure.c:302
 msgid "Buffering"
 msgstr "Буферизация"
 
-#: src/audiocompress/audacious-glue.c:95
+#: src/audiocompress/audacious-glue.c:103
 msgid "AudioCompress "
 msgstr "AudioCompress "
 
-#: src/audiocompress/audacious-glue.c:96
+#: src/audiocompress/audacious-glue.c:104
 msgid ""
 "\n"
 "(c)2003 trikuare studios(http://trikuare.cx)\n"
@@ -1788,108 +1788,108 @@
 "Простой динамический компрессор, служащий для\n"
 "удержания громкости на более-менее стандартном уровне"
 
-#: src/audiocompress/audacious-glue.c:101
+#: src/audiocompress/audacious-glue.c:109
 msgid "About AudioCompress"
 msgstr "О модуле AudioCompress"
 
-#: src/audiocompress/audacious-glue.c:320
+#: src/audiocompress/audacious-glue.c:328
 msgid ""
 "If checked, when the sound peaks the volume will be cut instantly; "
 "otherwise, it will ramp down just in time for the peak (but some minor "
 "clipping may still occur)."
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:324
+#: src/audiocompress/audacious-glue.c:332
 msgid "The maximum amount to amplify the audio by"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:326
+#: src/audiocompress/audacious-glue.c:334
 msgid "Defines how smoothly the volume will ramp up"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:328
+#: src/audiocompress/audacious-glue.c:336
 msgid ""
 "The target audio level for ramping up. Lowering the value gives a bit more "
 "dynamic range for peaks, but will make the overall sound quieter."
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:331
+#: src/audiocompress/audacious-glue.c:339
 msgid "How long of a window to maintain"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:372
+#: src/audiocompress/audacious-glue.c:380
 msgid "AudioCompress preferences"
 msgstr "Настройки AudioCompress"
 
-#: src/audiocompress/audacious-glue.c:389
+#: src/audiocompress/audacious-glue.c:397
 msgid " Quality Options "
 msgstr "Параметры качества"
 
-#: src/audiocompress/audacious-glue.c:394
+#: src/audiocompress/audacious-glue.c:402
 msgid " Aggressively prevent clipping"
 msgstr "Усиленно предотвращать срезание"
 
-#: src/audiocompress/audacious-glue.c:406
+#: src/audiocompress/audacious-glue.c:414
 msgid " Target & gain"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:417
-msgid "Target audio level:"
-msgstr ""
-
 #: src/audiocompress/audacious-glue.c:425
-msgid "Maximum gain:"
-msgstr "Максимальное усиление:"
+msgid "Target audio level:"
+msgstr ""
 
 #: src/audiocompress/audacious-glue.c:433
+msgid "Maximum gain:"
+msgstr "Максимальное усиление:"
+
+#: src/audiocompress/audacious-glue.c:441
 msgid "Gain smooth:"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:485
+#: src/audiocompress/audacious-glue.c:493
 msgid " History "
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:517
+#: src/audiocompress/audacious-glue.c:525
 msgid ""
 "How long of a history to maintain.  A higher number will make the volume "
 "changes less responsive."
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:528
+#: src/audiocompress/audacious-glue.c:536
 msgid "Load default values"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:533
+#: src/audiocompress/audacious-glue.c:541
 msgid "Audio values"
 msgstr "Параметры аудио"
 
-#: src/audiocompress/audacious-glue.c:562 src/echo_plugin/gui.c:152
-#: src/modplug/gui/interface.cxx:708 src/modplug/gui/modplug.glade:1655
-#: src/stereo_plugin/stereo.c:132
+#: src/audiocompress/audacious-glue.c:570 src/crystalizer/crystalizer.c:129
+#: src/echo_plugin/gui.c:150 src/modplug/gui/interface.cxx:708
+#: src/modplug/gui/modplug.glade:1655 src/stereo_plugin/stereo.c:131
 msgid "Apply"
 msgstr "Применить"
 
-#: src/blur_scope/blur_scope.c:54
+#: src/blur_scope/blur_scope.c:52
 msgid "/Toggle Decorations"
 msgstr "/Переключить отображение обрамления"
 
-#: src/blur_scope/blur_scope.c:56
+#: src/blur_scope/blur_scope.c:54
 msgid "/-"
 msgstr "/-"
 
-#: src/blur_scope/blur_scope.c:57
+#: src/blur_scope/blur_scope.c:55
 msgid "/Close"
 msgstr "/Закрыть"
 
-#: src/blur_scope/blur_scope.c:181
+#: src/blur_scope/blur_scope.c:179
 msgid "Blur scope"
 msgstr "Размытый осциллоскоп"
 
-#: src/blur_scope/config.c:72
+#: src/blur_scope/config.c:71
 msgid "Blur Scope: Color selection"
 msgstr "Размытый осциллоскоп: выбор цвета"
 
-#: src/blur_scope/config.c:82 src/jack/configure.c:108
+#: src/blur_scope/config.c:81 src/jack/configure.c:107
 msgid "Options:"
 msgstr "Параметры:"
 
@@ -1928,7 +1928,7 @@
 "\n"
 "Этот модуль являлся частью проекта Google Summer of Code в 2007 году."
 
-#: src/cdaudio-ng/cdaudio-ng.c:814
+#: src/cdaudio-ng/cdaudio-ng.c:815
 msgid ""
 "<b><big>No playable CD found.</big></b>\n"
 "\n"
@@ -1938,98 +1938,103 @@
 "\n"
 "Диск не вставлен в привод, или вставленный диск не является Audio CD.\n"
 
-#: src/cdaudio-ng/configure.c:147
+#: src/cdaudio-ng/configure.c:155
 msgid "CD Audio Plugin Configuration"
 msgstr "Настройки модуля CD Audio"
 
-#: src/cdaudio-ng/configure.c:157
+#: src/cdaudio-ng/configure.c:165
 msgid "Digital audio extraction"
 msgstr "Цифровое считывание аудио"
 
-#: src/cdaudio-ng/configure.c:162
+#: src/cdaudio-ng/configure.c:170
 msgid "Title information"
 msgstr "Формат названия"
 
-#: src/cdaudio-ng/configure.c:179
+#: src/cdaudio-ng/configure.c:187
 msgid "Limit read speed to: "
 msgstr "Ограничить скорость чтения:"
 
-#: src/cdaudio-ng/configure.c:186
+#: src/cdaudio-ng/configure.c:194
 msgid "Use cd-text if available"
 msgstr "Использовать CD-Text, если возможно"
 
-#: src/cdaudio-ng/configure.c:190
+#: src/cdaudio-ng/configure.c:198
 msgid "Use CDDB if available"
 msgstr "Использовать CDDB, если возможно"
 
-#: src/cdaudio-ng/configure.c:194
+#: src/cdaudio-ng/configure.c:202
 msgid "Server: "
 msgstr "Сервер:"
 
-#: src/cdaudio-ng/configure.c:197
+#: src/cdaudio-ng/configure.c:205
+#, fuzzy
+msgid "Path: "
+msgstr "Порт:"
+
+#: src/cdaudio-ng/configure.c:208
 msgid "Port: "
 msgstr "Порт:"
 
-#: src/cdaudio-ng/configure.c:203
+#: src/cdaudio-ng/configure.c:217
 msgid "Use HTTP instead of CDDBP"
 msgstr "Использовать HTTP вместо CDDBP"
 
-#: src/cdaudio-ng/configure.c:211
+#: src/cdaudio-ng/configure.c:225
 msgid "Override default device: "
 msgstr "Переопределить устройство по-умолчанию:"
 
-#: src/cdaudio-ng/configure.c:218
+#: src/cdaudio-ng/configure.c:232
 msgid "Print debug information"
 msgstr "Выводить отладочную информацию"
 
-#: src/console/Audacious_Config.cxx:125
+#: src/console/Audacious_Config.cxx:124
 msgid "Console Music Decoder"
 msgstr "Модуль поддержки Console Music"
 
-#: src/console/Audacious_Config.cxx:162
+#: src/console/Audacious_Config.cxx:161
 msgid "Bass:"
 msgstr "Бас:"
 
-#: src/console/Audacious_Config.cxx:166 src/console/Audacious_Config.cxx:177
-#: src/console/Audacious_Config.cxx:198
+#: src/console/Audacious_Config.cxx:165 src/console/Audacious_Config.cxx:176
+#: src/console/Audacious_Config.cxx:197
 msgid "secs"
 msgstr "секунд"
 
-#: src/console/Audacious_Config.cxx:173
+#: src/console/Audacious_Config.cxx:172
 msgid "Treble:"
 msgstr "Высокие:"
 
-#: src/console/Audacious_Config.cxx:194
+#: src/console/Audacious_Config.cxx:193
 msgid "Default song length:"
 msgstr "Длительность песни по-умолчанию:"
 
-#: src/console/Audacious_Config.cxx:200 src/modplug/gui/interface.cxx:268
+#: src/console/Audacious_Config.cxx:199 src/modplug/gui/interface.cxx:268
 #: src/modplug/gui/modplug.glade:338 src/sid/xmms-sid.glade:1243
-#: src/sid/xs_interface.c:653
+#: src/sid/xs_interface.c:665
 msgid "Resampling"
 msgstr "Преобразование частоты"
 
-#: src/console/Audacious_Config.cxx:206
+#: src/console/Audacious_Config.cxx:205
 msgid "Enable audio resampling"
 msgstr "Включить преобразование"
 
-#: src/console/Audacious_Config.cxx:221
+#: src/console/Audacious_Config.cxx:220
 msgid "Resampling rate:"
 msgstr "Преобразование частоты:"
 
-#: src/console/Audacious_Config.cxx:236
+#: src/console/Audacious_Config.cxx:235
 msgid "SPC"
 msgstr "SPC"
 
-#: src/console/Audacious_Config.cxx:237
+#: src/console/Audacious_Config.cxx:236
 msgid "Ignore length from SPC tags"
 msgstr "Игнорировать длительность из тэгов SPC"
 
-#: src/console/Audacious_Config.cxx:238
+#: src/console/Audacious_Config.cxx:237
 msgid "Increase reverb"
 msgstr "Увеличить реверберацию"
 
-#: src/console/Audacious_Config.cxx:263
+#: src/console/Audacious_Config.cxx:262
 msgid ""
 "The default song length, expressed in seconds, is used for songs that do not "
 "provide length information (i.e. looping tracks)."
@@ -2038,11 +2043,11 @@
 "записей, у которых отсутствуют данные о длительности (например, бесконечные "
 "дорожки)."
 
-#: src/console/Audacious_Driver.cxx:444
+#: src/console/Audacious_Driver.cxx:442
 msgid "About the Console Music Decoder"
 msgstr "О модуле поддержки Console Music"
 
-#: src/console/Audacious_Driver.cxx:445
+#: src/console/Audacious_Driver.cxx:443
 msgid ""
 "Console music decoder engine based on Game_Music_Emu 0.5.2.\n"
 "Supported formats: AY, GBS, GYM, HES, KSS, NSF, NSFE, SAP, SPC, VGM, VGZ\n"
@@ -2055,11 +2060,20 @@
 "Портирование под Audacious: William Pitcock <nenolod@nenolod.net>, \n"
 "        Shay Green <gblargg@gmail.com>"
 
-#: src/demac/plugin.c:388
+#: src/crystalizer/crystalizer.c:90
+#, fuzzy
+msgid "Configure Crystalizer"
+msgstr "Настроить Extra Stereo"
+
+#: src/crystalizer/crystalizer.c:92 src/stereo_plugin/stereo.c:94
+msgid "Effect intensity:"
+msgstr "Интенсивность эффекта:"
+
+#: src/demac/plugin.c:359
 msgid "About Monkey's Audio Plugin"
 msgstr "О модуле Monkey's Audio"
 
-#: src/demac/plugin.c:389
+#: src/demac/plugin.c:360
 msgid ""
 "Copyright (C) 2007 Eugene Zagidullin <e.asphyx@gmail.com>\n"
 "Based on ffape decoder, Copyright (C) 2007 Benjamin Zores\n"
@@ -2073,7 +2087,7 @@
 "\n"
 "ffape является частью проекта FFmpeg, http://ffmpeg.mplayerhq.hu/"
 
-#: src/echo_plugin/gui.c:11
+#: src/echo_plugin/gui.c:9
 msgid ""
 "Echo Plugin\n"
 "By Johan Levin 1999.\n"
@@ -2085,35 +2099,35 @@
 "\n"
 "Объёмное эхо добавлено Carl van Schaik 1999"
 
-#: src/echo_plugin/gui.c:25
+#: src/echo_plugin/gui.c:23
 msgid "About Echo Plugin"
 msgstr "О модуле Эхо"
 
-#: src/echo_plugin/gui.c:76
+#: src/echo_plugin/gui.c:74
 msgid "Configure Echo"
 msgstr "Настроить Эхо"
 
-#: src/echo_plugin/gui.c:89
+#: src/echo_plugin/gui.c:87
 msgid "Delay: (ms)"
 msgstr "Задержка: (мс)"
 
-#: src/echo_plugin/gui.c:94
+#: src/echo_plugin/gui.c:92
 msgid "Feedback: (%)"
 msgstr "Обратная связь: (%)"
 
-#: src/echo_plugin/gui.c:99
+#: src/echo_plugin/gui.c:97
 msgid "Volume: (%)"
 msgstr "Громкость: (%)"
 
-#: src/echo_plugin/gui.c:122
+#: src/echo_plugin/gui.c:120
 msgid "Surround echo"
 msgstr "Объёмное эхо"
 
-#: src/esd/about.c:34
+#: src/esd/about.c:33
 msgid "About ESounD Plugin"
 msgstr "О модуле вывода звука ESounD"
 
-#: src/esd/about.c:35
+#: src/esd/about.c:34
 msgid ""
 "Audacious ESounD Plugin\n"
 "\n"
@@ -2175,8 +2189,8 @@
 msgid "Server"
 msgstr "Сервер"
 
-#: src/esd/configure.c:198 src/OSS4/configure.c:259 src/OSS/configure.c:331
-#: src/sun/configure.c:290
+#: src/esd/configure.c:198 src/OSS4/configure.c:257 src/OSS/configure.c:330
+#: src/sun/configure.c:288
 msgid "Pre-buffer (percent):"
 msgstr "Пребуферизация (%):"
 
@@ -2248,7 +2262,7 @@
 msgid "Window->JumpToFile"
 msgstr "Окно->ПерейтиНаФайл"
 
-#: src/evdev-plug/ed_internals.c:94
+#: src/evdev-plug/ed_internals.c:93
 #, c-format
 msgid ""
 "event-device-plugin: unable to open device file %s , skipping this device; "
@@ -2258,7 +2272,7 @@
 "устройства; проверьте, что файл существует и что у вас есть привелегии для "
 "его чтения\n"
 
-#: src/evdev-plug/ed_internals.c:103
+#: src/evdev-plug/ed_internals.c:102
 #, c-format
 msgid ""
 "event-device-plugin: unable to create a io_channel for device file %s ,"
@@ -2267,7 +2281,7 @@
 "event-device-plugin: невозможно создать io_channel для устройства %s ,"
 "пропуск устройства\n"
 
-#: src/evdev-plug/ed_internals.c:342
+#: src/evdev-plug/ed_internals.c:341
 msgid ""
 "event-device-plugin: unable to open /proc/bus/input/devices , automatic "
 "detection of event devices won't work.\n"
@@ -2275,7 +2289,7 @@
 "event-device-plugin: невозможно открыть /proc/bus/input/devices , "
 "автоматическое распознавание устройств событий не будет работать.\n"
 
-#: src/evdev-plug/ed_internals.c:351
+#: src/evdev-plug/ed_internals.c:350
 msgid ""
 "event-device-plugin: unable to open a io_channel for /proc/bus/input/"
 "devices , automatic detection of event devices won't work.\n"
@@ -2283,7 +2297,7 @@
 "event-device-plugin: невозможно открыть io_channel для /proc/bus/input/"
 "devices, автоматическое распознавание устройств событий не будет работать.\n"
 
-#: src/evdev-plug/ed_internals.c:361
+#: src/evdev-plug/ed_internals.c:360
 msgid ""
 "event-device-plugin: an error occurred while reading /proc/bus/input/"
 "devices , automatic detection of event devices won't work.\n"
@@ -2291,13 +2305,13 @@
 "event-device-plugin: произошла ошибка при чтении /proc/bus/input/devices , "
 "автоматическое распознавание устройств событий не будет работать.\n"
 
-#: src/evdev-plug/ed_internals.c:424
+#: src/evdev-plug/ed_internals.c:423
 #, c-format
 msgid "event-device-plugin: device %s not found in /dev/input , skipping.\n"
 msgstr ""
 "event-device-plugin: устройство %s не найдено в /dev/input , пропускаю.\n"
 
-#: src/evdev-plug/ed_internals.c:489 src/evdev-plug/ed_internals.c:583
+#: src/evdev-plug/ed_internals.c:488 src/evdev-plug/ed_internals.c:582
 #, c-format
 msgid ""
 "event-device-plugin: unable to load config file %s , default settings will "
@@ -2306,7 +2320,7 @@
 "event-device-plugin: невозможно загрузить конфигурационный файл %s , будут "
 "использованы настройки по-умолчанию.\n"
 
-#: src/evdev-plug/ed_internals.c:535
+#: src/evdev-plug/ed_internals.c:534
 #, c-format
 msgid ""
 "event-device-plugin: incomplete information in config file for device \"%s"
@@ -2315,7 +2329,7 @@
 "event-device-plugin: неполная информация в конфигурационном файле для "
 "устройства \"%s\" , пропускаю.\n"
 
-#: src/evdev-plug/ed_internals.c:604 src/evdev-plug/ed_internals.c:936
+#: src/evdev-plug/ed_internals.c:603 src/evdev-plug/ed_internals.c:935
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get is_active value for device "
@@ -2324,7 +2338,7 @@
 "event-device-plugin: настройка, невозможно получить значение is_active для "
 "устройства \"%s\", пропускаю.\n"
 
-#: src/evdev-plug/ed_internals.c:840
+#: src/evdev-plug/ed_internals.c:839
 #, c-format
 msgid ""
 "event-device-plugin: unable to access local directory %s , settings will not "
@@ -2333,7 +2347,7 @@
 "event-device-plugin: невозможно получить доступ к локальному каталогу %s , "
 "настройки не будут сохранены.\n"
 
-#: src/evdev-plug/ed_internals.c:890
+#: src/evdev-plug/ed_internals.c:889
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get filename value for device "
@@ -2342,7 +2356,7 @@
 "event-device-plugin: настройка, невозможно получить имя файла для устройства "
 "\"%s\", пропускаю.\n"
 
-#: src/evdev-plug/ed_internals.c:906
+#: src/evdev-plug/ed_internals.c:905
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get phys value for device \"%s"
@@ -2351,7 +2365,7 @@
 "event-device-plugin: настройка, невозможно получить физическое значение для "
 "устройства \"%s\", пропускаю.\n"
 
-#: src/evdev-plug/ed_internals.c:922
+#: src/evdev-plug/ed_internals.c:921
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get is_custom value for device "
@@ -2360,7 +2374,7 @@
 "event-device-plugin: настройка, невозможно получить значение is_custom для "
 "устройства \"%s\", пропускаю.\n"
 
-#: src/evdev-plug/ed_internals.c:946
+#: src/evdev-plug/ed_internals.c:945
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unexpected value for device \"%s\", "
@@ -2382,7 +2396,7 @@
 "Невозможно открыть окно для неопознанного устройства.\n"
 "Убедитесь, что устройство правильно подключено."
 
-#: src/evdev-plug/ed_ui.c:319 src/madplug/plugin.c:566
+#: src/evdev-plug/ed_ui.c:319 src/madplug/plugin.c:703
 msgid "Error"
 msgstr "Ошибка"
 
@@ -2447,7 +2461,7 @@
 msgid "Active"
 msgstr "Активное"
 
-#: src/evdev-plug/ed_ui.c:655 src/sun/configure.c:488
+#: src/evdev-plug/ed_ui.c:655 src/sun/configure.c:486
 msgid "Status"
 msgstr "Статус"
 
@@ -2575,7 +2589,7 @@
 msgid "Output file format:"
 msgstr "Выходной формат файла:"
 
-#: src/filewriter/filewriter.c:511 src/ladspa/ladspa.c:960
+#: src/filewriter/filewriter.c:511 src/ladspa/ladspa.c:959
 msgid "Configure"
 msgstr "Настроить"
 
@@ -2799,11 +2813,11 @@
 msgid "Quality level (0 - 10):"
 msgstr ""
 
-#: src/flacng/plugin.c:698
+#: src/flacng/plugin.c:697
 msgid "FLAC Audio Plugin "
 msgstr "Модуль поддержки FLAC "
 
-#: src/flacng/plugin.c:699
+#: src/flacng/plugin.c:698
 msgid ""
 "\n"
 "\n"
@@ -2813,15 +2827,15 @@
 "http://www.skytale.net/projects/bmp-flac2/"
 msgstr ""
 
-#: src/flacng/plugin.c:704
+#: src/flacng/plugin.c:703
 msgid "About FLAC Audio Plugin"
 msgstr "О модуле поддержки FLAC"
 
+#: src/gnomeshortcuts/gnomeshortcuts.c:305
+msgid "About Gnome Shortcut Plugin"
+msgstr "О модуле горячих клавиш для Gnome"
+
 #: src/gnomeshortcuts/gnomeshortcuts.c:306
-msgid "About Gnome Shortcut Plugin"
-msgstr "О модуле горячих клавиш для Gnome"
-
-#: src/gnomeshortcuts/gnomeshortcuts.c:307
 #, fuzzy
 msgid ""
 "Gnome Shortcut Plugin\n"
@@ -2842,7 +2856,7 @@
 msgid "Previous Track"
 msgstr "Предыдущая дорожка:"
 
-#: src/hotkey/gui.c:69
+#: src/hotkey/gui.c:69 src/skins/ui_manager.c:177 src/skins/ui_manager.c:178
 #, fuzzy
 msgid "Play"
 msgstr "Играть:"
@@ -2852,7 +2866,7 @@
 msgid "Pause/Resume"
 msgstr "Приостановить / Возобновить:"
 
-#: src/hotkey/gui.c:71
+#: src/hotkey/gui.c:71 src/skins/ui_manager.c:183 src/skins/ui_manager.c:184
 #, fuzzy
 msgid "Stop"
 msgstr "Остановить:"
@@ -2887,7 +2901,7 @@
 msgid "Volume Down"
 msgstr "Тише:"
 
-#: src/hotkey/gui.c:78
+#: src/hotkey/gui.c:78 src/skins/ui_manager.c:422 src/skins/ui_manager.c:423
 #, fuzzy
 msgid "Jump to File"
 msgstr "Перескочить на дорожку:"
@@ -2943,11 +2957,11 @@
 msgid "<b>Key Binding:</b>"
 msgstr ""
 
-#: src/hotkey/gui.c:660
+#: src/hotkey/gui.c:659
 msgid "About Global Hotkey Plugin"
 msgstr "О модуле горячих клавиш"
 
-#: src/hotkey/gui.c:661
+#: src/hotkey/gui.c:660
 msgid ""
 "Global Hotkey Plugin\n"
 "Control the player with global key combinations or multimedia keys.\n"
@@ -2976,35 +2990,35 @@
 "\t\t\tJeremy Tan <nsx@nsx.homeip.net>\n"
 "\n"
 
-#: src/jack/configure.c:70
+#: src/jack/configure.c:69
 msgid "Connect to all available jack ports"
 msgstr ""
 
-#: src/jack/configure.c:77
+#: src/jack/configure.c:76
 msgid "Connect only the output ports"
 msgstr ""
 
-#: src/jack/configure.c:84
+#: src/jack/configure.c:83
 msgid "Connect to no ports"
 msgstr ""
 
-#: src/jack/configure.c:99
+#: src/jack/configure.c:98
 msgid "jack Plugin configuration"
 msgstr "Настройка модуля Jack"
 
-#: src/jack/configure.c:117
+#: src/jack/configure.c:116
 msgid "Connection mode:"
 msgstr ""
 
-#: src/jack/configure.c:129
+#: src/jack/configure.c:128
 msgid "Enable debug printing"
 msgstr "Выводить отладочную информацию"
 
-#: src/jack/jack.c:84
+#: src/jack/jack.c:82
 msgid "Sample rate mismatch"
 msgstr "Некорректная частота сэмплирования"
 
-#: src/jack/jack.c:87
+#: src/jack/jack.c:85
 msgid ""
 "Xmms is asking for a sample rate that differs from\n"
 " that of the jack server.  Xmms 1.2.8 or later\n"
@@ -3018,15 +3032,15 @@
 "Chris Morgan <cmorgan@alum.wpi.edu>\n"
 msgstr ""
 
-#: src/jack/jack.c:100 src/wma/wma.c:148
+#: src/jack/jack.c:98 src/wma/wma.c:145
 msgid " Close "
 msgstr " Закрыть "
 
-#: src/jack/jack.c:452
+#: src/jack/jack.c:450
 msgid "About JACK Output Plugin 0.17"
 msgstr "О модуле вывода JACK 0.17"
 
-#: src/jack/jack.c:453
+#: src/jack/jack.c:451
 msgid ""
 "XMMS jack Driver 0.17\n"
 "\n"
@@ -3044,39 +3058,39 @@
 "Портирование для Audacious:\n"
 "Giacomo Lozito из develia.org"
 
-#: src/ladspa/ladspa.c:722
+#: src/ladspa/ladspa.c:721
 msgid "This LADSPA plugin has no user controls"
 msgstr "Этот модуль LADSPA не допускает настройку"
 
-#: src/ladspa/ladspa.c:767 src/ladspa/ladspa.c:853
+#: src/ladspa/ladspa.c:766 src/ladspa/ladspa.c:852
 msgid "Name"
 msgstr "Имя"
 
-#: src/ladspa/ladspa.c:853
+#: src/ladspa/ladspa.c:852
 msgid "UID"
 msgstr "UID"
 
-#: src/ladspa/ladspa.c:928
+#: src/ladspa/ladspa.c:927
 msgid "Installed plugins"
 msgstr "Установленные модули"
 
-#: src/ladspa/ladspa.c:937
+#: src/ladspa/ladspa.c:936
 msgid "Running plugins"
 msgstr "Активные модули"
 
-#: src/ladspa/ladspa.c:952
+#: src/ladspa/ladspa.c:951
 msgid "Add"
 msgstr "Добавить"
 
-#: src/ladspa/ladspa.c:956
+#: src/ladspa/ladspa.c:955
 msgid "Remove"
 msgstr "Удалить"
 
-#: src/ladspa/ladspa.c:969
+#: src/ladspa/ladspa.c:968
 msgid "LADSPA Plugin Catalog"
 msgstr "Каталог модулей LADSPA"
 
-#: src/lastfm/lastfm.c:96
+#: src/lastfm/lastfm.c:94
 msgid ""
 "<b><big>Couldn't initialize the last.fm radio plugin.</big></b>\n"
 "\n"
@@ -3178,60 +3192,60 @@
 msgid "%s: will try reconnect every %d seconds...\n"
 msgstr ""
 
-#: src/madplug/configure.c:209
+#: src/madplug/configure.c:208
 msgid "MPEG Audio Plugin Configuration"
 msgstr "Настройка модуля поддержки MPEG"
 
-#: src/madplug/configure.c:226
+#: src/madplug/configure.c:225
 #, fuzzy
 msgid "Audio Settings"
 msgstr "Настройки будильника"
 
-#: src/madplug/configure.c:234
+#: src/madplug/configure.c:233
 msgid "Force reopen audio when audio type changed"
 msgstr "Принудительно пере-открывать аудио-вывод при смене типа аудио"
 
-#: src/madplug/configure.c:243
+#: src/madplug/configure.c:242
 #, fuzzy
 msgid "Metadata Settings"
 msgstr "Настройки микшера:"
 
-#: src/madplug/configure.c:252
+#: src/madplug/configure.c:251
 msgid "Enable fast play-length calculation"
 msgstr "Включить быстрое определение длительности"
 
-#: src/madplug/configure.c:259
+#: src/madplug/configure.c:258
 msgid "Parse XING headers"
 msgstr "Обрабатывать заголовки XING"
 
-#: src/madplug/configure.c:266
+#: src/madplug/configure.c:265
 #, fuzzy
 msgid "Use SJIS to write ID3 tags (not recommended)"
 msgstr "Использовать SJIS для записи тегов ID3 вместо UTF-8"
 
-#: src/madplug/configure.c:273
+#: src/madplug/configure.c:272
 #, fuzzy
 msgid "Miscellaneous Settings"
 msgstr "Настройки микшера:"
 
-#: src/madplug/configure.c:282
+#: src/madplug/configure.c:281
 msgid "Display average bitrate for VBR"
 msgstr "Отображать средний битрейт для VBR"
 
-#: src/madplug/configure.c:296 src/vorbis/configure.c:102
+#: src/madplug/configure.c:295 src/vorbis/configure.c:100
 msgid "Override generic titles"
 msgstr "Не использовать стандартные названия"
 
-#: src/madplug/configure.c:308
+#: src/madplug/configure.c:307
 msgid "ID3 format:"
 msgstr "Формат ID3-тега:"
 
-#: src/madplug/configure.c:320 src/sid/xmms-sid.glade:2540
-#: src/sid/xs_interface.c:1070
+#: src/madplug/configure.c:319 src/sid/xmms-sid.glade:2610
+#: src/sid/xs_interface.c:1102
 msgid "Title"
 msgstr "Название"
 
-#: src/madplug/plugin.c:524
+#: src/madplug/plugin.c:661
 #, c-format
 msgid ""
 "Audacious MPEG Audio Plugin\n"
@@ -3262,15 +3276,15 @@
 "Поддержка ReplayGain:\n"
 "    Samuel Krempp"
 
-#: src/madplug/plugin.c:540
+#: src/madplug/plugin.c:677
 msgid "About MPEG Audio Plugin"
 msgstr "О модуле поддержки MPEG"
 
+#: src/metronom/metronom.c:86
+msgid "About Metronom"
+msgstr "О модуле \"метроном\""
+
 #: src/metronom/metronom.c:87
-msgid "About Metronom"
-msgstr "О модуле \"метроном\""
-
-#: src/metronom/metronom.c:88
 msgid ""
 "A Tact Generator by Martin Strauss <mys@faveve.uni-stuttgart.de>\n"
 "\n"
@@ -3285,12 +3299,12 @@
 "или   tact://60*3/4 для воспроизведения 60и тактов в минуту\n"
 "в размере 3/4"
 
-#: src/metronom/metronom.c:198 src/metronom/metronom.c:262
+#: src/metronom/metronom.c:197 src/metronom/metronom.c:261
 #, c-format
 msgid "Tact generator: %d bpm"
 msgstr "Генератор тактов: %d тактов/с"
 
-#: src/metronom/metronom.c:200 src/metronom/metronom.c:264
+#: src/metronom/metronom.c:199 src/metronom/metronom.c:263
 #, c-format
 msgid "Tact generator: %d bpm %d/%d"
 msgstr "Тактовый генератор: %d такт/мин %d/%d"
@@ -3485,11 +3499,11 @@
 msgid "Message"
 msgstr ""
 
-#: src/modplug/gui/main.cxx:45
+#: src/modplug/gui/main.cxx:48
 msgid "Modplug Input Plugin for Audacious ver"
 msgstr ""
 
-#: src/modplug/gui/main.cxx:46
+#: src/modplug/gui/main.cxx:49
 msgid ""
 "\n"
 "Modplug sound engine written by Olivier Lapicque.\n"
@@ -3499,7 +3513,7 @@
 "Ported to BMP by Theofilos Intzoglou."
 msgstr ""
 
-#: src/modplug/gui/main.cxx:49
+#: src/modplug/gui/main.cxx:52
 msgid "About Modplug"
 msgstr "О модуле Modplug"
 
@@ -3509,27 +3523,27 @@
 msgid "Couldn't find pixmap file: %s"
 msgstr "Не удалось найти файл изображения: %s"
 
-#: src/mtp_up/mtp.c:35
+#: src/mtp_up/mtp.c:33
 msgid "Upload selected track(s)"
 msgstr ""
 
-#: src/mtp_up/mtp.c:296
+#: src/mtp_up/mtp.c:294
 msgid "Upload in progress..."
 msgstr ""
 
-#: src/mtp_up/mtp.c:305
+#: src/mtp_up/mtp.c:303
 msgid "MTP device handler"
 msgstr ""
 
-#: src/mtp_up/mtp.c:309
+#: src/mtp_up/mtp.c:307
 msgid "Disconnect the device"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:146
+#: src/musepack/libmpc.cxx:142
 msgid "Musepack Decoder Plugin 1.2"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:147
+#: src/musepack/libmpc.cxx:143
 msgid ""
 "Plugin code by\n"
 "Benoit Amiaux\n"
@@ -3539,174 +3553,175 @@
 "Get latest version at http://musepack.net\n"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:148
+#: src/musepack/libmpc.cxx:144
 msgid "Nevermind"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:166
+#: src/musepack/libmpc.cxx:162
 msgid "Musepack Decoder Configuration"
 msgstr "Настройка декодера Musepack"
 
-#: src/musepack/libmpc.cxx:176
+#: src/musepack/libmpc.cxx:172
 msgid "General Settings"
 msgstr "Общие параметры"
 
-#: src/musepack/libmpc.cxx:183 src/wavpack/ui.cxx:492
+#: src/musepack/libmpc.cxx:179 src/wavpack/ui.cxx:490
 msgid "Enable Dynamic Bitrate Display"
 msgstr "Включить динамическое отображение битрейта"
 
-#: src/musepack/libmpc.cxx:187 src/wavpack/ui.cxx:498
+#: src/musepack/libmpc.cxx:183 src/wavpack/ui.cxx:496
 msgid "Plugin"
 msgstr "Модуль"
 
-#: src/musepack/libmpc.cxx:190
+#: src/musepack/libmpc.cxx:186
 msgid "ReplayGain Settings"
 msgstr "Настройки ReplayGain"
 
-#: src/musepack/libmpc.cxx:197 src/wavpack/ui.cxx:510
+#: src/musepack/libmpc.cxx:193 src/wavpack/ui.cxx:508
 msgid "Enable Clipping Prevention"
 msgstr "Включить предотвращение срезания"
 
-#: src/musepack/libmpc.cxx:202 src/wavpack/ui.cxx:515
+#: src/musepack/libmpc.cxx:198 src/wavpack/ui.cxx:513
 msgid "Enable ReplayGain"
 msgstr "Включить ReplayGain"
 
-#: src/musepack/libmpc.cxx:207
+#: src/musepack/libmpc.cxx:203
 msgid "ReplayGain Type"
 msgstr "Тип ReplayGain"
 
-#: src/musepack/libmpc.cxx:215
+#: src/musepack/libmpc.cxx:211
 msgid "Use Track Gain"
 msgstr "Использовать Gain/Peak дорожки"
 
-#: src/musepack/libmpc.cxx:219
+#: src/musepack/libmpc.cxx:215
 msgid "Use Album Gain"
 msgstr "Использовать Gain/Peak альбома"
 
-#: src/musepack/libmpc.cxx:224 src/wavpack/ui.cxx:547
+#: src/musepack/libmpc.cxx:220 src/wavpack/ui.cxx:545
 msgid "ReplayGain"
 msgstr "ReplayGain"
 
-#: src/musepack/libmpc.cxx:491 src/sid/xmms-sid.glade:3144
-#: src/sid/xs_interface.c:1564 src/tta/libtta.c:304 src/wavpack/ui.cxx:152
+#: src/musepack/libmpc.cxx:487 src/sid/xmms-sid.glade:3338
+#: src/sid/xs_interface.c:1648 src/tta/libtta.c:301 src/wavpack/ui.cxx:150
 msgid "Filename:"
 msgstr "Имя файла:"
 
-#: src/musepack/libmpc.cxx:506
+#: src/musepack/libmpc.cxx:502
 msgid "Musepack Tag"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:514 src/tta/libtta.c:323 src/wavpack/ui.cxx:172
+#: src/musepack/libmpc.cxx:510 src/tta/libtta.c:320 src/wavpack/ui.cxx:170
 msgid "Title:"
 msgstr "Название:"
 
-#: src/musepack/libmpc.cxx:518 src/tta/libtta.c:333 src/wavpack/ui.cxx:184
+#: src/musepack/libmpc.cxx:514 src/tta/libtta.c:330 src/wavpack/ui.cxx:182
 msgid "Artist:"
 msgstr "Исполнитель:"
 
-#: src/musepack/libmpc.cxx:522 src/tta/libtta.c:344 src/wavpack/ui.cxx:196
+#: src/musepack/libmpc.cxx:518 src/tta/libtta.c:341 src/wavpack/ui.cxx:194
 msgid "Album:"
 msgstr "Альбом:"
 
-#: src/musepack/libmpc.cxx:526 src/tta/libtta.c:355 src/wavpack/ui.cxx:208
+#: src/musepack/libmpc.cxx:522 src/tta/libtta.c:352 src/wavpack/ui.cxx:206
 msgid "Comment:"
 msgstr "Комментарий:"
 
-#: src/musepack/libmpc.cxx:530 src/tta/libtta.c:366 src/wavpack/ui.cxx:221
+#: src/musepack/libmpc.cxx:526 src/tta/libtta.c:363 src/wavpack/ui.cxx:219
 msgid "Year:"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:535
+#: src/musepack/libmpc.cxx:531
 msgid "Track:"
 msgstr "Дорожка:"
 
-#: src/musepack/libmpc.cxx:540 src/tta/libtta.c:390 src/wavpack/ui.cxx:248
+#: src/musepack/libmpc.cxx:536 src/tta/libtta.c:387 src/wavpack/ui.cxx:246
 msgid "Genre:"
 msgstr "Стиль:"
 
-#: src/musepack/libmpc.cxx:551 src/sid/xmms-sid.glade:1732
-#: src/sid/xs_interface.c:820 src/wavpack/ui.cxx:267
+#: src/musepack/libmpc.cxx:547 src/sid/xmms-sid.glade:1732
+#: src/sid/xs_interface.c:832 src/skins/ui_manager.c:438
+#: src/wavpack/ui.cxx:265
 msgid "Save"
 msgstr "Сохранить"
 
-#: src/musepack/libmpc.cxx:554 src/wavpack/ui.cxx:273
+#: src/musepack/libmpc.cxx:550 src/wavpack/ui.cxx:271
 msgid "Remove Tag"
 msgstr "Удалить тэг"
 
-#: src/musepack/libmpc.cxx:562
+#: src/musepack/libmpc.cxx:558
 msgid "Musepack Info"
 msgstr ""
 
+#: src/musepack/libmpc.cxx:591
+#, c-format
+msgid "Streamversion %d"
+msgstr ""
+
+#: src/musepack/libmpc.cxx:592
+#, c-format
+msgid "Encoder: %s"
+msgstr ""
+
+#: src/musepack/libmpc.cxx:593
+#, c-format
+msgid "Profile: %s"
+msgstr ""
+
+#: src/musepack/libmpc.cxx:594
+#, c-format
+msgid "Average bitrate: %6.1f kbps"
+msgstr ""
+
 #: src/musepack/libmpc.cxx:595
 #, c-format
-msgid "Streamversion %d"
-msgstr ""
+msgid "Samplerate: %d Hz"
+msgstr "Частота: %d Гц"
 
 #: src/musepack/libmpc.cxx:596
 #, c-format
-msgid "Encoder: %s"
-msgstr ""
+msgid "Channels: %d"
+msgstr "Каналы: %d"
 
 #: src/musepack/libmpc.cxx:597
 #, c-format
-msgid "Profile: %s"
-msgstr ""
-
-#: src/musepack/libmpc.cxx:598
-#, c-format
-msgid "Average bitrate: %6.1f kbps"
-msgstr ""
-
-#: src/musepack/libmpc.cxx:599
-#, c-format
-msgid "Samplerate: %d Hz"
-msgstr "Частота: %d Гц"
-
-#: src/musepack/libmpc.cxx:600
-#, c-format
-msgid "Channels: %d"
-msgstr "Каналы: %d"
-
-#: src/musepack/libmpc.cxx:601
-#, c-format
 msgid "Length: %d:\\%.2d"
 msgstr "Длительность: %d:\\%.2d"
 
-#: src/musepack/libmpc.cxx:602
+#: src/musepack/libmpc.cxx:598
 #, c-format
 msgid "File size: %d Bytes"
 msgstr "Размер файла: %d Байт"
 
-#: src/musepack/libmpc.cxx:603
+#: src/musepack/libmpc.cxx:599
 #, c-format
 msgid "Track Peak: %5u"
 msgstr "Пик дорожки: %5u"
 
-#: src/musepack/libmpc.cxx:604
+#: src/musepack/libmpc.cxx:600
 #, c-format
 msgid "Track Gain: %-+2.2f dB"
 msgstr "Усиление дорожки: %-+2.2f dB"
 
-#: src/musepack/libmpc.cxx:605
+#: src/musepack/libmpc.cxx:601
 #, c-format
 msgid "Album Peak: %5u"
 msgstr "Пик альбома: %5u"
 
-#: src/musepack/libmpc.cxx:606
+#: src/musepack/libmpc.cxx:602
 #, c-format
 msgid "Album Gain: %-+5.2f dB"
 msgstr "Усиление альбома: %-+5.2f dB"
 
-#: src/musepack/libmpc.cxx:634 src/tta/libtta.c:413 src/wavpack/ui.cxx:409
+#: src/musepack/libmpc.cxx:630 src/tta/libtta.c:410 src/wavpack/ui.cxx:407
 #, c-format
 msgid "File Info - %s"
 msgstr "Инфрмация о файле - %s"
 
-#: src/null/null.c:61
+#: src/null/null.c:58
 msgid "Null output plugin "
 msgstr "Модуль Ноль-вывод "
 
-#: src/null/null.c:62
+#: src/null/null.c:59
 msgid ""
 " by Christian Birchinger <joker@netswarm.net>\n"
 "based on the XMMS plugin by Håvard Kvål <havardk@xmms.org>"
@@ -3714,23 +3729,52 @@
 " автор Christian Birchinger <joker@netswarm.net>\n"
 " основано на модуле для XMMS, от Håvard Kvål <havardk@xmms.org>"
 
-#: src/null/null.c:65
+#: src/null/null.c:62
 msgid "About Null Output"
 msgstr "О модуле Ноль-вывод"
 
-#: src/null/null.c:94
+#: src/null/null.c:91
 msgid "Null output preferences"
 msgstr "Настройка Ноль-вывода"
 
-#: src/null/null.c:103
+#: src/null/null.c:100
 msgid "Run in real time"
 msgstr ""
 
-#: src/OSS4/about.c:42
+#: src/OSS4/configure.c:118 src/OSS/configure.c:150
+#, c-format
+msgid "Default (%s)"
+msgstr "По умолчанию (%s)"
+
+#: src/OSS4/configure.c:168 src/OSS/configure.c:200
+msgid "OSS Driver configuration"
+msgstr "Настройка драйвера OSS"
+
+#: src/OSS4/configure.c:206 src/OSS/configure.c:238 src/OSS/configure.c:279
+msgid "Use alternate device:"
+msgstr "Использовать альтернативное устройство:"
+
+#: src/OSS4/configure.c:228 src/OSS/configure.c:301 src/sun/configure.c:246
+msgid "Devices"
+msgstr "Устройства"
+
+#: src/OSS4/configure.c:270 src/OSS/configure.c:342
+msgid "Mixer Settings:"
+msgstr "Настройки микшера:"
+
+#: src/OSS4/configure.c:276
+msgid "Save VMIX volume between sessions"
+msgstr ""
+
+#: src/OSS4/configure.c:282 src/OSS/configure.c:354 src/sun/configure.c:392
+msgid "Mixer"
+msgstr "Микшер"
+
+#: src/OSS4/OSS4.c:38
 msgid "About OSSv4 Driver"
 msgstr "О драйвере OSSv4"
 
-#: src/OSS4/about.c:43
+#: src/OSS4/OSS4.c:39
 msgid ""
 "Audacious OSSv4 Driver\n"
 "\n"
@@ -3773,40 +3817,15 @@
 "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,\n"
 "USA."
 
-#: src/OSS4/configure.c:120 src/OSS/configure.c:151
-#, c-format
-msgid "Default (%s)"
-msgstr "По умолчанию (%s)"
-
-#: src/OSS4/configure.c:170 src/OSS/configure.c:201
-msgid "OSS Driver configuration"
-msgstr "Настройка драйвера OSS"
-
-#: src/OSS4/configure.c:208 src/OSS/configure.c:239 src/OSS/configure.c:280
-msgid "Use alternate device:"
-msgstr "Использовать альтернативное устройство:"
-
-#: src/OSS4/configure.c:230 src/OSS/configure.c:302 src/sun/configure.c:248
-msgid "Devices"
-msgstr "Устройства"
-
-#: src/OSS4/configure.c:272 src/OSS/configure.c:343
-msgid "Mixer Settings:"
-msgstr "Настройки микшера:"
-
-#: src/OSS4/configure.c:278
-msgid "Save VMIX volume between sessions"
-msgstr ""
-
-#: src/OSS4/configure.c:284 src/OSS/configure.c:355 src/sun/configure.c:394
-msgid "Mixer"
-msgstr "Микшер"
-
-#: src/OSS/about.c:39
+#: src/OSS/configure.c:348
+msgid "Volume controls Master not PCM"
+msgstr "Громкость регулирует Мастер, а не PCM"
+
+#: src/OSS/OSS.c:37
 msgid "About OSS Driver"
 msgstr "О драйвере OSS"
 
-#: src/OSS/about.c:40
+#: src/OSS/OSS.c:38
 msgid ""
 "Audacious OSS Driver\n"
 "\n"
@@ -3844,19 +3863,15 @@
 "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,\n"
 "USA."
 
-#: src/OSS/configure.c:349
-msgid "Volume controls Master not PCM"
-msgstr "Громкость регулирует Мастер, а не PCM"
-
 #: src/projectm-1.0/main.c:70
 msgid "_Random"
 msgstr ""
 
-#: src/pulse_audio/pulse_audio.c:722
+#: src/pulse_audio/pulse_audio.c:720
 msgid "About Audacious PulseAudio Output Plugin"
 msgstr "О модуле вывода PulseAudio"
 
-#: src/pulse_audio/pulse_audio.c:723
+#: src/pulse_audio/pulse_audio.c:721
 msgid ""
 "Audacious PulseAudio Output Plugin\n"
 "\n"
@@ -3894,27 +3909,27 @@
 "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307,\n"
 "USA."
 
-#: src/scrobbler/configure.c:138
+#: src/scrobbler/configure.c:134
 msgid "<b>Services</b>"
 msgstr "<b>Сервис</b>"
 
-#: src/scrobbler/configure.c:160 src/scrobbler/configure.c:199
+#: src/scrobbler/configure.c:156 src/scrobbler/configure.c:195
 msgid "Username:"
 msgstr "Имя пользователя:"
 
-#: src/scrobbler/configure.c:166 src/scrobbler/configure.c:205
+#: src/scrobbler/configure.c:162 src/scrobbler/configure.c:201
 msgid "Password:"
 msgstr "Пароль:"
 
-#: src/scrobbler/configure.c:183
+#: src/scrobbler/configure.c:179
 msgid "<b>Last.FM</b>"
 msgstr "<b>Last.FM</b>"
 
-#: src/scrobbler/configure.c:222
+#: src/scrobbler/configure.c:218
 msgid "<b>Gerpok</b>"
 msgstr "<b>Gerpok</b>"
 
-#: src/scrobbler/gtkstuff.c:21
+#: src/scrobbler/gtkstuff.c:18
 msgid ""
 "Audacious AudioScrobbler Plugin\n"
 "\n"
@@ -3926,11 +3941,11 @@
 "Первоначальные создатели: Audun Hove <audun@nlc.no> и Pipian <pipian@pipian."
 "com>\n"
 
-#: src/scrobbler/gtkstuff.c:23
+#: src/scrobbler/gtkstuff.c:20
 msgid "About Scrobbler Plugin"
 msgstr "О модуле Scrobbler"
 
-#: src/scrobbler/gtkstuff.c:36
+#: src/scrobbler/gtkstuff.c:33
 #, c-format
 msgid ""
 "There has been an error that may require your attention.\n"
@@ -3940,106 +3955,106 @@
 "%s\n"
 msgstr ""
 
-#: src/scrobbler/gtkstuff.c:43
+#: src/scrobbler/gtkstuff.c:40
 msgid "Scrobbler Error"
 msgstr "Ошибка Scrobbler"
 
-#: src/sid/xmms-sid.glade:8 src/sid/xs_interface.c:221
+#: src/sid/xmms-sid.glade:8 src/sid/xs_interface.c:233
 msgid "Audacious-SID configuration"
 msgstr "Настройка Audacious-SID"
 
-#: src/sid/xmms-sid.glade:71 src/sid/xs_interface.c:257
+#: src/sid/xmms-sid.glade:71 src/sid/xs_interface.c:269
 msgid "8-bit"
 msgstr "8 бит"
 
-#: src/sid/xmms-sid.glade:90 src/sid/xs_interface.c:264
+#: src/sid/xmms-sid.glade:90 src/sid/xs_interface.c:276
 msgid "16-bit"
 msgstr "16 бит"
 
-#: src/sid/xmms-sid.glade:111 src/sid/xs_interface.c:271
+#: src/sid/xmms-sid.glade:111 src/sid/xs_interface.c:283
 msgid "Resolution:"
 msgstr "Разрешение:"
 
-#: src/sid/xmms-sid.glade:196 src/sid/xs_interface.c:302
+#: src/sid/xmms-sid.glade:196 src/sid/xs_interface.c:314
 msgid "Autopanning"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:217 src/sid/xs_interface.c:309
+#: src/sid/xmms-sid.glade:217 src/sid/xs_interface.c:321
 msgid "Channels:"
 msgstr "Каналы:"
 
-#: src/sid/xmms-sid.glade:384 src/sid/xs_interface.c:353
+#: src/sid/xmms-sid.glade:384 src/sid/xs_interface.c:365
 msgid "Samplerate:"
 msgstr "Частота:"
 
-#: src/sid/xmms-sid.glade:430 src/sid/xs_interface.c:370
+#: src/sid/xmms-sid.glade:430 src/sid/xs_interface.c:382
 msgid "Use oversampling"
 msgstr "Использовать оверсемплинг"
 
-#: src/sid/xmms-sid.glade:456 src/sid/xs_interface.c:381
+#: src/sid/xmms-sid.glade:456 src/sid/xs_interface.c:393
 msgid "Factor:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:500 src/sid/xs_interface.c:393
+#: src/sid/xmms-sid.glade:500 src/sid/xs_interface.c:405
 msgid "Large factors require more CPU-power"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:534 src/sid/xs_interface.c:399
+#: src/sid/xmms-sid.glade:534 src/sid/xs_interface.c:411
 msgid "Oversampling:"
 msgstr "Оверсемплинг"
 
-#: src/sid/xmms-sid.glade:570 src/sid/xs_interface.c:404
+#: src/sid/xmms-sid.glade:570 src/sid/xs_interface.c:416
 msgid "Audio"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:620 src/sid/xs_interface.c:436
+#: src/sid/xmms-sid.glade:620 src/sid/xs_interface.c:448
 msgid ""
 "If enabled, this option \"forces\" the emulation engine to use the selected "
 "clock speed/frequency. Otherwise the speed is determined from played file "
 "itself."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:622 src/sid/xs_interface.c:432
+#: src/sid/xmms-sid.glade:622 src/sid/xs_interface.c:444
 msgid "Force speed"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:640 src/sid/xs_interface.c:442
+#: src/sid/xmms-sid.glade:640 src/sid/xs_interface.c:454
 msgid ""
 "PAL is the european TV standard, which uses 50Hz vertical refresh frequency. "
 "Most of SID-tunes have been made for PAL computers."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:642 src/sid/xs_interface.c:438
+#: src/sid/xmms-sid.glade:642 src/sid/xs_interface.c:450
 msgid "PAL (50 Hz)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:660 src/sid/xs_interface.c:450
+#: src/sid/xmms-sid.glade:660 src/sid/xs_interface.c:462
 msgid ""
 "NTSC is the TV standard with 60Hz vertical refresh rate (and other features "
 "that differ from PAL). It is mainly used in United States, Japan and certain "
 "other countries."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:662 src/sid/xs_interface.c:446
+#: src/sid/xmms-sid.glade:662 src/sid/xs_interface.c:458
 msgid "NTSC (60 Hz)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:683 src/sid/xs_interface.c:454
+#: src/sid/xmms-sid.glade:683 src/sid/xs_interface.c:466
 msgid "Clock speed:"
 msgstr "Скорость часов:"
 
-#: src/sid/xmms-sid.glade:728 src/sid/xs_interface.c:475
+#: src/sid/xmms-sid.glade:728 src/sid/xs_interface.c:487
 msgid ""
 "If enabled, this option \"forces\" the emulation engine to use the selected "
 "SID-chip model. Otherwise the preferred SID model is determined from the "
 "file (if PSIDv2NG type) or if not available, this setting is used."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:730 src/sid/xs_interface.c:471
+#: src/sid/xmms-sid.glade:730 src/sid/xs_interface.c:483
 msgid "Force model"
 msgstr "Принудительно задать модель"
 
-#: src/sid/xmms-sid.glade:748 src/sid/xs_interface.c:481
+#: src/sid/xmms-sid.glade:748 src/sid/xs_interface.c:493
 msgid ""
 "MOS/CSG 6581 is the earlier major version of SID chip. It differs from 8580 "
 "in few ways, having much fuller filter (which, due to design error, is never "
@@ -4047,89 +4062,89 @@
 "which enables playing of digital samples."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:750 src/sid/xs_interface.c:477
+#: src/sid/xmms-sid.glade:750 src/sid/xs_interface.c:489
 msgid "MOS 6581"
 msgstr "MOS 6581"
 
-#: src/sid/xmms-sid.glade:769 src/sid/xs_interface.c:485
+#: src/sid/xmms-sid.glade:769 src/sid/xs_interface.c:497
 msgid "MOS 8580"
 msgstr "MOS 8580"
 
-#: src/sid/xmms-sid.glade:790 src/sid/xs_interface.c:492
+#: src/sid/xmms-sid.glade:790 src/sid/xs_interface.c:504
 msgid "SID model:"
 msgstr "Модель SID:"
 
-#: src/sid/xmms-sid.glade:842 src/sid/xs_interface.c:513
+#: src/sid/xmms-sid.glade:842 src/sid/xs_interface.c:525
 msgid ""
 "Use libSIDPlay 1.x emulation, faster but not so accurate. Good in most "
 "cases, though."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:844 src/sid/xs_interface.c:509
+#: src/sid/xmms-sid.glade:844 src/sid/xs_interface.c:521
 msgid "SIDPlay 1 (frame-based)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:863 src/sid/xs_interface.c:521
+#: src/sid/xmms-sid.glade:863 src/sid/xs_interface.c:533
 msgid ""
 "Use libSIDPlay 2.x emulation, which requires powerful CPU due to more exact "
 "emulation."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:865 src/sid/xs_interface.c:517
+#: src/sid/xmms-sid.glade:865 src/sid/xs_interface.c:529
 msgid "SIDPlay 2 (cycle-based)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:887 src/sid/xs_interface.c:525
+#: src/sid/xmms-sid.glade:887 src/sid/xs_interface.c:537
 msgid "Emulation library selection:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:933 src/sid/xs_interface.c:542
+#: src/sid/xmms-sid.glade:933 src/sid/xs_interface.c:554
 msgid "Real C64 (SIDPlay 2 only)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:952 src/sid/xs_interface.c:549
+#: src/sid/xmms-sid.glade:952 src/sid/xs_interface.c:561
 msgid "Bank switching"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:972 src/sid/xs_interface.c:556
+#: src/sid/xmms-sid.glade:972 src/sid/xs_interface.c:568
 msgid "Transparent ROM"
 msgstr "Прозрачное ПЗУ"
 
-#: src/sid/xmms-sid.glade:992 src/sid/xs_interface.c:563
+#: src/sid/xmms-sid.glade:992 src/sid/xs_interface.c:575
 msgid "PlaySID environment"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1013 src/sid/xs_interface.c:570
+#: src/sid/xmms-sid.glade:1013 src/sid/xs_interface.c:582
 msgid "Memory mode:"
 msgstr "Режим памяти:"
 
-#: src/sid/xmms-sid.glade:1049 src/sid/xs_interface.c:575
+#: src/sid/xmms-sid.glade:1049 src/sid/xs_interface.c:587
 msgid "Emu#1"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1093 src/sid/xs_interface.c:602
+#: src/sid/xmms-sid.glade:1093 src/sid/xs_interface.c:614
 msgid ""
 "This setting can be used to enable libSIDPlay2's \"optimization mode\", "
 "which in downgrades the emulation from cycle-exact to something similar to "
 "frame-exact. The result is lower CPU usage, but worse accuracy."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1095 src/sid/xs_interface.c:598
+#: src/sid/xmms-sid.glade:1095 src/sid/xs_interface.c:610
 msgid "Optimization mode (faster, inaccurate)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1113 src/sid/xs_interface.c:608
+#: src/sid/xmms-sid.glade:1113 src/sid/xs_interface.c:620
 msgid ""
 "reSID is the software SID-chip simulator based on SID reverse-engineering, "
 "created by Dag Lem. It is probably the closest thing to real SID available "
 "as software-only emulation."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1115 src/sid/xs_interface.c:604
+#: src/sid/xmms-sid.glade:1115 src/sid/xs_interface.c:616
 msgid "reSID-emulation"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1133 src/sid/xs_interface.c:616
+#: src/sid/xmms-sid.glade:1133 src/sid/xs_interface.c:628
 msgid ""
 "HardSID is a EISA/PCI card for PC-compatibles, which can be fitted with a "
 "real SID-chip. Software can be used to control the HardSID and combined with "
@@ -4138,47 +4153,47 @@
 "http://www.hardsid.com/"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1135 src/sid/xs_interface.c:612
+#: src/sid/xmms-sid.glade:1135 src/sid/xs_interface.c:624
 msgid "HardSID"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1156 src/sid/xs_interface.c:620
+#: src/sid/xmms-sid.glade:1156 src/sid/xs_interface.c:632
 msgid "SIDPlay 2 options:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1201 src/sid/xs_interface.c:641
+#: src/sid/xmms-sid.glade:1201 src/sid/xs_interface.c:653
 msgid ""
 "Fastest and also worst sounding sampling method, simply picks nearest "
 "neighbouring sample."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1203 src/sid/xs_interface.c:637
+#: src/sid/xmms-sid.glade:1203 src/sid/xs_interface.c:649
 msgid "Fast (nearest neighbour)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1221 src/sid/xs_interface.c:649
+#: src/sid/xmms-sid.glade:1221 src/sid/xs_interface.c:661
 msgid ""
 "Uses linear interpolation between samples, yielding higher audio quality "
 "with less sampling noise."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1223 src/sid/xs_interface.c:645
+#: src/sid/xmms-sid.glade:1223 src/sid/xs_interface.c:657
 msgid "Linear interpolation"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1263 src/sid/xs_interface.c:660
+#: src/sid/xmms-sid.glade:1263 src/sid/xs_interface.c:672
 msgid "Resampling (FIR)"
 msgstr "Преобразование частоты (КИХ)"
 
-#: src/sid/xmms-sid.glade:1284 src/sid/xs_interface.c:667
+#: src/sid/xmms-sid.glade:1284 src/sid/xs_interface.c:679
 msgid "reSID sampling options:"
 msgstr "Параметры reSID"
 
-#: src/sid/xmms-sid.glade:1320 src/sid/xs_interface.c:672
+#: src/sid/xmms-sid.glade:1320 src/sid/xs_interface.c:684
 msgid "Emu#2"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1350 src/sid/xs_interface.c:688
+#: src/sid/xmms-sid.glade:1350 src/sid/xs_interface.c:700
 msgid ""
 "This option enables emulation of SID filter. The filter is an essential part "
 "of SID's sound capacity, but accurate emulation of it may require quite much "
@@ -4186,294 +4201,305 @@
 "authentic at all if they utilize the filter."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1352 src/sid/xs_interface.c:684
+#: src/sid/xmms-sid.glade:1352 src/sid/xs_interface.c:696
 msgid "Emulate filters"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1409 src/sid/xs_interface.c:713
+#: src/sid/xmms-sid.glade:1409 src/sid/xs_interface.c:725
 msgid "FS"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1460 src/sid/xs_interface.c:730
+#: src/sid/xmms-sid.glade:1460 src/sid/xs_interface.c:742
 msgid "FM"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1511 src/sid/xs_interface.c:747
+#: src/sid/xmms-sid.glade:1511 src/sid/xs_interface.c:759
 msgid "FT"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1549 src/sid/xs_interface.c:758
+#: src/sid/xmms-sid.glade:1549 src/sid/xs_interface.c:770
 msgid "Reset values"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1578 src/sid/xs_interface.c:763
+#: src/sid/xmms-sid.glade:1578 src/sid/xs_interface.c:775
 msgid "SIDPlay1"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1690 src/sid/xs_interface.c:804
+#: src/sid/xmms-sid.glade:1690 src/sid/xs_interface.c:816
 msgid "Export"
 msgstr "Экспорт"
 
-#: src/sid/xmms-sid.glade:1711 src/sid/xs_interface.c:812
+#: src/sid/xmms-sid.glade:1711 src/sid/xs_interface.c:824
 msgid "Use"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1753 src/sid/xs_interface.c:828
+#: src/sid/xmms-sid.glade:1753 src/sid/xs_interface.c:840
+#: src/skins/ui_manager.c:437
 msgid "Import"
 msgstr "Импорт"
 
-#: src/sid/xmms-sid.glade:1774 src/sid/xs_interface.c:836
+#: src/sid/xmms-sid.glade:1774 src/sid/xs_interface.c:848
+#: src/skins/ui_manager.c:439
 msgid "Delete"
 msgstr "Удалить"
 
-#: src/sid/xmms-sid.glade:1819 src/sid/xs_interface.c:850
+#: src/sid/xmms-sid.glade:1819 src/sid/xs_interface.c:862
 msgid "Filter curve:"
 msgstr "Кривая фильтра:"
 
-#: src/sid/xmms-sid.glade:1855 src/sid/xs_interface.c:855
+#: src/sid/xmms-sid.glade:1855 src/sid/xs_interface.c:867
 msgid "SIDPlay2"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1891 src/sid/xs_interface.c:861
+#: src/sid/xmms-sid.glade:1891 src/sid/xs_interface.c:873
 msgid "Filters"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1935 src/sid/xs_interface.c:888
+#: src/sid/xmms-sid.glade:1935 src/sid/xs_interface.c:900
 msgid ""
 "If enabled, the tune is played at least for the specified time, adding "
 "silence to the end if necessary."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1937 src/sid/xs_interface.c:884
+#: src/sid/xmms-sid.glade:1937 src/sid/xs_interface.c:896
 msgid "Play at least for specified time"
 msgstr "Воспроизводить как минимум указанное время"
 
 #: src/sid/xmms-sid.glade:1962 src/sid/xmms-sid.glade:2133
-#: src/sid/xmms-sid.glade:2632 src/sid/xs_interface.c:895
-#: src/sid/xs_interface.c:949 src/sid/xs_interface.c:1109
+#: src/sid/xmms-sid.glade:2702 src/sid/xs_interface.c:907
+#: src/sid/xs_interface.c:961 src/sid/xs_interface.c:1141
 msgid "Playtime:"
 msgstr "Время воспроизведения:"
 
-#: src/sid/xmms-sid.glade:2041 src/sid/xs_interface.c:915
+#: src/sid/xmms-sid.glade:2041 src/sid/xs_interface.c:927
 msgid "Minimum playtime:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2086 src/sid/xs_interface.c:936
+#: src/sid/xmms-sid.glade:2086 src/sid/xs_interface.c:948
 msgid ""
 "If enabled, tune is played until specified duration is reached (aka maximum "
 "playtime)."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2088 src/sid/xs_interface.c:932
+#: src/sid/xmms-sid.glade:2088 src/sid/xs_interface.c:944
 msgid "Play for specified time maximum"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2107 src/sid/xs_interface.c:942
+#: src/sid/xmms-sid.glade:2107 src/sid/xs_interface.c:954
 msgid ""
 "If enabled, the maximum playtime is applied only if song/tune length is not "
 "known."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2109 src/sid/xs_interface.c:938
+#: src/sid/xmms-sid.glade:2109 src/sid/xs_interface.c:950
 msgid "Only when song length is unknown"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2212 src/sid/xs_interface.c:969
+#: src/sid/xmms-sid.glade:2212 src/sid/xs_interface.c:981
 msgid "Maximum playtime:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2257 src/sid/xs_interface.c:990
+#: src/sid/xmms-sid.glade:2257 src/sid/xs_interface.c:1002
 msgid ""
 "This option enables using of XSIDPLAY compatible song length database. "
 "(Refer to Audacious-SID documentation for more information)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2259 src/sid/xs_interface.c:986
+#: src/sid/xmms-sid.glade:2259 src/sid/xs_interface.c:998
 msgid "Use XSIDPLAY-compatible database"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2284 src/sid/xs_interface.c:997
+#: src/sid/xmms-sid.glade:2284 src/sid/xs_interface.c:1009
 msgid "DB-file:"
 msgstr "DB-файл:"
 
-#: src/sid/xmms-sid.glade:2309 src/sid/xs_interface.c:1007
+#: src/sid/xmms-sid.glade:2309 src/sid/xs_interface.c:1019
 msgid "Database path and filename"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2329 src/sid/xs_interface.c:1014
+#: src/sid/xmms-sid.glade:2329 src/sid/xs_interface.c:1026
 msgid "Browse for song length-database file"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2356 src/sid/xs_interface.c:1016
+#: src/sid/xmms-sid.glade:2418 src/sid/xs_interface.c:1048
 msgid "Song length database:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2392 src/sid/xs_interface.c:1021
+#: src/sid/xmms-sid.glade:2454 src/sid/xs_interface.c:1053
 msgid "Songlength"
 msgstr "Длительность"
 
-#: src/sid/xmms-sid.glade:2430 src/sid/xs_interface.c:1043
+#: src/sid/xmms-sid.glade:2492 src/sid/xs_interface.c:1075
 msgid ""
 "By enabling this option you can specify a custom Tuplez formatting string "
 "for SID-files. The SID-plugin specific Tuplez tags are described shortly "
 "below."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2432 src/sid/xs_interface.c:1039
+#: src/sid/xmms-sid.glade:2494 src/sid/xs_interface.c:1071
 msgid "Override generic Tuplez format string"
 msgstr "Переопределить стандартную строку формата"
 
-#: src/sid/xmms-sid.glade:2457 src/sid/xs_interface.c:1054
+#: src/sid/xmms-sid.glade:2519 src/sid/xs_interface.c:1086
 msgid "Tuplez format string for SID-files"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2477 src/sid/xs_interface.c:1057
-msgid "Descriptions of <i>SID-specific</i> Tuplez fields go here. <b>:D</b>"
-msgstr ""
-
-#: src/sid/xmms-sid.glade:2511 src/sid/xs_interface.c:1065
+#: src/sid/xmms-sid.glade:2539 src/sid/xs_interface.c:1089
+msgid ""
+"<u>SID-specific Tuplez fields:</u>\n"
+"\n"
+"<b>sid-format</b>\t\t- Specific fileformat\n"
+"<b>sid-model</b>\t\t- 6581 or 8580\n"
+"<b>sid-speed</b>\t\t- Timing or speed: PAL/NTSC/etc.\n"
+"\n"
+"<u>Other \"special\" fields set:</u>\n"
+"\n"
+"<b>subsong-num, subsong-id</b>"
+msgstr ""
+
+#: src/sid/xmms-sid.glade:2581 src/sid/xs_interface.c:1097
 msgid "Song title format:"
 msgstr "Формат названия:"
 
-#: src/sid/xmms-sid.glade:2584 src/sid/xs_interface.c:1096
+#: src/sid/xmms-sid.glade:2654 src/sid/xs_interface.c:1128
 msgid ""
 "If enabled, sub-tunes of each file will be added to playlist. If disabled, "
 "only the default sub-tune will be added."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2586 src/sid/xs_interface.c:1092
+#: src/sid/xmms-sid.glade:2656 src/sid/xs_interface.c:1124
 msgid "Add sub-tunes to playlist"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2605 src/sid/xs_interface.c:1102
+#: src/sid/xmms-sid.glade:2675 src/sid/xs_interface.c:1134
 msgid "Only add sub-tunes that have a duration of at least specified time."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2607 src/sid/xs_interface.c:1098
+#: src/sid/xmms-sid.glade:2677 src/sid/xs_interface.c:1130
 msgid "Only tunes with specified minimum duration"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2710 src/sid/xs_interface.c:1129
+#: src/sid/xmms-sid.glade:2780 src/sid/xs_interface.c:1161
 msgid "Sub-tune handling:"
 msgstr "Обработка под-дорожек:"
 
-#: src/sid/xmms-sid.glade:2755 src/sid/xs_interface.c:1150
+#: src/sid/xmms-sid.glade:2825 src/sid/xs_interface.c:1182
 msgid ""
 "If this option is enabled (and the database & HVSC settings below are "
 "correctly set), Audacious-SID will use and display additional information "
 "from STIL database when HVSC SIDs are played."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2757 src/sid/xs_interface.c:1146
+#: src/sid/xmms-sid.glade:2827 src/sid/xs_interface.c:1178
 msgid "Use STIL database"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2782 src/sid/xs_interface.c:1157
+#: src/sid/xmms-sid.glade:2852 src/sid/xs_interface.c:1189
 msgid "STIL file:"
 msgstr "STIL файл:"
 
-#: src/sid/xmms-sid.glade:2819 src/sid/xs_interface.c:1173
+#: src/sid/xmms-sid.glade:2889 src/sid/xs_interface.c:1205
 msgid ""
 "Path and filename of STIL database file (STIL.txt), usually found from "
 "HVSC's DOCUMENTS-subdirectory."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2854 src/sid/xs_interface.c:1186
+#: src/sid/xmms-sid.glade:2924 src/sid/xs_interface.c:1218
 msgid "Browse for STIL-database file"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2888 src/sid/xs_interface.c:1193
+#: src/sid/xmms-sid.glade:3020 src/sid/xs_interface.c:1245
 msgid "HVSC path:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2925 src/sid/xs_interface.c:1209
+#: src/sid/xmms-sid.glade:3057 src/sid/xs_interface.c:1261
 msgid ""
 "Path to base-directory of your High Voltage SID Collection (HVSC), for "
 "example /media/C64Music/"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2960 src/sid/xs_interface.c:1222
+#: src/sid/xmms-sid.glade:3092 src/sid/xs_interface.c:1274
 msgid "Browse for HVSC path"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2990 src/sid/xs_interface.c:1224
+#: src/sid/xmms-sid.glade:3184 src/sid/xs_interface.c:1296
 msgid "SID Tune Information List (STIL) database:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3063 src/sid/xs_interface.c:1248
+#: src/sid/xmms-sid.glade:3257 src/sid/xs_interface.c:1320
 msgid "Accept and update changes"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3077 src/sid/xs_interface.c:1255
+#: src/sid/xmms-sid.glade:3271 src/sid/xs_interface.c:1327
 msgid "Cancel any changes"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3102 src/sid/xs_interface.c:1543
+#: src/sid/xmms-sid.glade:3296 src/sid/xs_interface.c:1627
 msgid "Audacious-SID Fileinfo"
 msgstr "Audacious-SID: Информация о файле"
 
-#: src/sid/xmms-sid.glade:3172 src/sid/xs_interface.c:1572
+#: src/sid/xmms-sid.glade:3366 src/sid/xs_interface.c:1656
 msgid "Songname:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3200 src/sid/xs_interface.c:1580
+#: src/sid/xmms-sid.glade:3394 src/sid/xs_interface.c:1664
 msgid "Composer:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3228 src/sid/xs_interface.c:1588
+#: src/sid/xmms-sid.glade:3422 src/sid/xs_interface.c:1672
 msgid "Copyright:"
 msgstr "Авторское право:"
 
-#: src/sid/xmms-sid.glade:3342 src/sid/xs_interface.c:1632
+#: src/sid/xmms-sid.glade:3536 src/sid/xs_interface.c:1716
 msgid "Song Information:"
 msgstr "Информация о дорожке"
 
-#: src/sid/xmms-sid.glade:3416 src/sid/xs_interface.c:1667
+#: src/sid/xmms-sid.glade:3610 src/sid/xs_interface.c:1751
 msgid "Author:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3514 src/sid/xs_interface.c:1701
+#: src/sid/xmms-sid.glade:3708 src/sid/xs_interface.c:1785
 msgid "Duration:"
 msgstr "Длительность:"
 
-#: src/sid/xmms-sid.glade:3608 src/sid/xs_interface.c:1735
+#: src/sid/xmms-sid.glade:3802 src/sid/xs_interface.c:1819
 msgid "Sub-tune Information:"
 msgstr "Информация о под-дорожке:"
 
-#: src/sid/xmms-sid.glade:3662 src/sid/xs_interface.c:1796
+#: src/sid/xmms-sid.glade:3856 src/sid/xs_interface.c:1880
 msgid "Select HVSC song length database"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3704 src/sid/xs_interface.c:1837
+#: src/sid/xmms-sid.glade:3898 src/sid/xs_interface.c:1921
 msgid "Select STIL-database"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3746 src/sid/xs_interface.c:1878
+#: src/sid/xmms-sid.glade:3940 src/sid/xs_interface.c:1962
 msgid "Select HVSC location prefix"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3788 src/sid/xs_interface.c:1919
+#: src/sid/xmms-sid.glade:3982 src/sid/xs_interface.c:2003
 msgid "Select SIDPlay2 filters file for importing"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3830 src/sid/xs_interface.c:1960
+#: src/sid/xmms-sid.glade:4024 src/sid/xs_interface.c:2044
 msgid "Select SIDPlay2 filters file for exporting"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3871 src/sid/xmms-sid.glade:3953
-#: src/sid/xs_interface.c:2008 src/sid/xs_interface.c:2021
+#: src/sid/xmms-sid.glade:4065 src/sid/xmms-sid.glade:4147
+#: src/sid/xs_interface.c:2092 src/sid/xs_interface.c:2105
 msgid "Confirm selected action"
 msgstr "Подтвердить выбранное действие"
 
-#: src/sid/xmms-sid.glade:3909 src/sid/xs_interface.c:2038
+#: src/sid/xmms-sid.glade:4103 src/sid/xs_interface.c:2122
 msgid "Yes"
 msgstr "Да"
 
-#: src/sid/xmms-sid.glade:3921 src/sid/xs_interface.c:2044
+#: src/sid/xmms-sid.glade:4115 src/sid/xs_interface.c:2128
 msgid "No"
 msgstr "No"
 
-#: src/sid/xs_about.c:84 src/wma/wma.c:121
+#: src/sid/xs_about.c:84 src/wma/wma.c:118
 #, c-format
 msgid "About %s"
 msgstr "О программе %s"
@@ -4487,12 +4513,1133 @@
 msgid "Tune #%i: "
 msgstr ""
 
-#: src/sndfile/plugin.c:548
+#: src/skins/plugin.c:128
+msgid "About Skinned GUI"
+msgstr ""
+
+#: src/skins/plugin.c:129
+msgid ""
+"Copyright (c) 2008, by Tomasz Moń <desowin@gmail.com>\n"
+"\n"
+msgstr ""
+
+#: src/skins/skins_cfg.c:329
+#, fuzzy
+msgid "<b>_Fonts</b>"
+msgstr "<b>Hatena</b>"
+
+#: src/skins/skins_cfg.c:330
+#, fuzzy
+msgid "_Player:"
+msgstr "Время воспроизведения:"
+
+#: src/skins/skins_cfg.c:330
+msgid "Select main player window font:"
+msgstr ""
+
+#: src/skins/skins_cfg.c:331
+#, fuzzy
+msgid "_Playlist:"
+msgstr "Время воспроизведения:"
+
+#: src/skins/skins_cfg.c:331
+msgid "Select playlist font:"
+msgstr ""
+
+#: src/skins/skins_cfg.c:332
+#, fuzzy
+msgid "Use Bitmap fonts if available"
+msgstr "Использовать CDDB, если возможно"
+
+#: src/skins/skins_cfg.c:332
+msgid ""
+"Use bitmap fonts if they are available. Bitmap fonts do not support Unicode "
+"strings."
+msgstr ""
+
+#: src/skins/skins_cfg.c:333
+#, fuzzy
+msgid "<b>_Miscellaneous</b>"
+msgstr "<b>Сервис</b>"
+
+#: src/skins/skins_cfg.c:334
+msgid "Show track numbers in playlist"
+msgstr ""
+
+#: src/skins/skins_cfg.c:336
+msgid "Show separators in playlist"
+msgstr ""
+
+#: src/skins/skins_cfg.c:338
+msgid "Show window manager decoration"
+msgstr ""
+
+#: src/skins/skins_cfg.c:339
+msgid "This enables the window manager to show decorations for windows."
+msgstr ""
+
+#: src/skins/skins_cfg.c:340
+msgid "Use two-way text scroller"
+msgstr ""
+
+#: src/skins/skins_cfg.c:341
+msgid ""
+"If selected, the file information text in the main window will scroll back "
+"and forth. If not selected, the text will only scroll in one direction."
+msgstr ""
+
+#: src/skins/skins_cfg.c:342
+msgid "Disable inline gtk theme"
+msgstr ""
+
+#: src/skins/skins_cfg.c:343
+msgid "Allow loading incomplete skins"
+msgstr ""
+
+#: src/skins/skins_cfg.c:344
+msgid ""
+"If selected, audacious won't refuse loading broken skins. Use only if your "
+"favourite skin doesn't work"
+msgstr ""
+
+#: src/skins/skins_cfg.c:410
+msgid "Color Adjustment"
+msgstr ""
+
+#: src/skins/skins_cfg.c:417
+msgid ""
+"Audacious allows you to alter the color balance of the skinned UI. The "
+"sliders below will allow you to do this."
+msgstr ""
+
+#: src/skins/skins_cfg.c:427
+#, fuzzy
+msgid "Blue"
+msgstr "Блюз"
+
+#: src/skins/skins_cfg.c:434
+msgid "Green"
+msgstr ""
+
+#: src/skins/skins_cfg.c:441
+msgid "Red"
+msgstr ""
+
+#: src/skins/skins_cfg.c:571
+#, fuzzy
+msgid "Audacious Skinned GUI Configuration"
+msgstr "Настройка Audacious OSD"
+
+#: src/skins/skins_cfg.c:596
+#, fuzzy
+msgid "<b>_Skin</b>"
+msgstr "<b>Hatena</b>"
+
+#: src/skins/ui_equalizer.c:494
+#, fuzzy
+msgid "Audacious Equalizer"
+msgstr "Оксно->Еквалайзер"
+
+#: src/skins/ui_equalizer.c:794
+#, c-format
+msgid "Error importing Winamp EQF file '%s'"
+msgstr ""
+
+#: src/skins/ui_equalizer.c:1172
+msgid "Presets"
+msgstr ""
+
+#: src/skins/ui_main.c:392
+#, c-format
+msgid "%s - Audacious"
+msgstr "%s - Audacious"
+
+#: src/skins/ui_main.c:394 src/skins/ui_main.c:2397
+#, fuzzy
+msgid "Audacious"
+msgstr "%s - Audacious"
+
+#: src/skins/ui_main.c:641
+msgid "VBR"
+msgstr ""
+
+#: src/skins/ui_main.c:659 src/skins/ui_main.c:663
+#, fuzzy
+msgid "stereo"
+msgstr "Стерео"
+
+#: src/skins/ui_main.c:659 src/skins/ui_main.c:663
+#, fuzzy
+msgid "mono"
+msgstr "Моно"
+
+#: src/skins/ui_main.c:957
+msgid "Can't jump to time when no track is being played.\n"
+msgstr ""
+
+#: src/skins/ui_main.c:972 src/skins/ui_manager.c:425
+#: src/skins/ui_manager.c:426
+#, fuzzy
+msgid "Jump to Time"
+msgstr "Перескочить на дорожку:"
+
+#: src/skins/ui_main.c:993
+#, fuzzy
+msgid "minutes:seconds"
+msgstr "секунд"
+
+#: src/skins/ui_main.c:1003
+#, fuzzy
+msgid "Track length:"
+msgstr "Усиление дорожки:"
+
+#: src/skins/ui_main.c:1149
+msgid "Audacious - visibility warning"
+msgstr ""
+
+#: src/skins/ui_main.c:1152
+#, fuzzy
+msgid "Show main player window"
+msgstr "Показать окно сети"
+
+#: src/skins/ui_main.c:1153
+msgid "Ignore"
+msgstr ""
+
+#: src/skins/ui_main.c:1159
+msgid ""
+"Audacious has been started with all of its windows hidden.\n"
+"You may want to show the player window again to control Audacious; "
+"otherwise, you'll have to control it remotely via audtool or enabled plugins "
+"(such as the statusicon plugin)."
+msgstr ""
+
+#: src/skins/ui_main.c:1165
+msgid "Always ignore, show/hide is controlled remotely"
+msgstr ""
+
+#: src/skins/ui_main.c:1210
+msgid "Audacious - broken GTK engine usage warning"
+msgstr ""
+
+#: src/skins/ui_main.c:1218
+#, c-format
+msgid ""
+"<big><b>Broken GTK engine in use</b></big>\n"
+"\n"
+"Audacious has detected that you are using a broken GTK engine.\n"
+"\n"
+"The theme engine you are using, <i>%s</i>, is incompatible with some of the "
+"features used by modern skins. The incompatible features have been disabled "
+"for this session.\n"
+"\n"
+"To use these features, please consider using a different GTK theme engine."
+msgstr ""
+
+#: src/skins/ui_main.c:1229
+msgid "Do not display this warning again"
+msgstr ""
+
+#: src/skins/ui_main.c:1253
+msgid "Enter location to play:"
+msgstr ""
+
+#: src/skins/ui_main.c:1497
+#, c-format
+msgid "Seek to: %d:%-2.2d/%d:%-2.2d (%d%%)"
+msgstr ""
+
+#: src/skins/ui_main.c:1527
+#, fuzzy, c-format
+msgid "Volume: %d%%"
+msgstr "Громкость: (%)"
+
+#: src/skins/ui_main.c:1555
+#, c-format
+msgid "Balance: %d%% left"
+msgstr ""
+
+#: src/skins/ui_main.c:1559
+msgid "Balance: center"
+msgstr ""
+
+#: src/skins/ui_main.c:1563
+#, c-format
+msgid "Balance: %d%% right"
+msgstr ""
+
+#: src/skins/ui_main.c:1881
+#, fuzzy
+msgid "Options Menu"
+msgstr "Параметры"
+
+#: src/skins/ui_main.c:1885
+msgid "Disable 'Always On Top'"
+msgstr ""
+
+#: src/skins/ui_main.c:1887
+msgid "Enable 'Always On Top'"
+msgstr ""
+
+#: src/skins/ui_main.c:1890
+#, fuzzy
+msgid "File Info Box"
+msgstr "Инфрмация о файле - %s"
+
+#: src/skins/ui_main.c:1894
+msgid "Disable 'GUI Scaling'"
+msgstr ""
+
+#: src/skins/ui_main.c:1896
+#, fuzzy
+msgid "Enable 'GUI Scaling'"
+msgstr "Включить преобразование"
+
+#: src/skins/ui_main.c:1899
+msgid "Visualization Menu"
+msgstr ""
+
+#: src/skins/ui_main.c:1946
+msgid ""
+"<b><big>Couldn't open audio.</big></b>\n"
+"\n"
+"Please check that:\n"
+"1. You have the correct output plugin selected.\n"
+"2. No other programs is blocking the soundcard.\n"
+"3. Your soundcard is configured properly.\n"
+msgstr ""
+
+#: src/skins/ui_manager.c:53 src/skins/ui_manager.c:54
+msgid "Autoscroll Songname"
+msgstr ""
+
+#: src/skins/ui_manager.c:56 src/skins/ui_manager.c:57
+msgid "Stop after Current Song"
+msgstr ""
+
+#: src/skins/ui_manager.c:59 src/skins/ui_manager.c:60
+#, fuzzy
+msgid "Peaks"
+msgstr "Шалость"
+
+#: src/skins/ui_manager.c:62 src/skins/ui_manager.c:63
+#, fuzzy
+msgid "Repeat"
+msgstr "Бит"
+
+#: src/skins/ui_manager.c:65 src/skins/ui_manager.c:66
+msgid "Shuffle"
+msgstr ""
+
+#: src/skins/ui_manager.c:68 src/skins/ui_manager.c:69
+msgid "No Playlist Advance"
+msgstr ""
+
+#: src/skins/ui_manager.c:71 src/skins/ui_manager.c:72
+msgid "Show Player"
+msgstr ""
+
+#: src/skins/ui_manager.c:74 src/skins/ui_manager.c:75
+msgid "Show Playlist Editor"
+msgstr ""
+
+#: src/skins/ui_manager.c:77 src/skins/ui_manager.c:78
+#, fuzzy
+msgid "Show Equalizer"
+msgstr "Оксно->Еквалайзер"
+
+#: src/skins/ui_manager.c:80 src/skins/ui_manager.c:81
+msgid "Always on Top"
+msgstr ""
+
+#: src/skins/ui_manager.c:83 src/skins/ui_manager.c:84
+msgid "Put on All Workspaces"
+msgstr ""
+
+#: src/skins/ui_manager.c:86 src/skins/ui_manager.c:87
+msgid "Roll up Player"
+msgstr ""
+
+#: src/skins/ui_manager.c:89 src/skins/ui_manager.c:90
+msgid "Roll up Playlist Editor"
+msgstr ""
+
+#: src/skins/ui_manager.c:92 src/skins/ui_manager.c:93
+msgid "Roll up Equalizer"
+msgstr ""
+
+#: src/skins/ui_manager.c:95 src/sndstretch/sndstretch_xmms.c:375
+msgid "Scale"
+msgstr "Масштабирование"
+
+#: src/skins/ui_manager.c:96
+msgid "DoubleSize"
+msgstr ""
+
+#: src/skins/ui_manager.c:98 src/skins/ui_manager.c:99
+msgid "Easy Move"
+msgstr ""
+
+#: src/skins/ui_manager.c:107
+msgid "Analyzer"
+msgstr ""
+
+#: src/skins/ui_manager.c:108
+#, fuzzy
+msgid "Scope"
+msgstr "Остановить:"
+
+#: src/skins/ui_manager.c:109
+msgid "Voiceprint"
+msgstr ""
+
+#: src/skins/ui_manager.c:110
+msgid "Off"
+msgstr ""
+
+#: src/skins/ui_manager.c:114 src/skins/ui_manager.c:131
+#: src/skins/ui_manager.c:137
+#, fuzzy
+msgid "Normal"
+msgstr "Формат"
+
+#: src/skins/ui_manager.c:115 src/skins/ui_manager.c:132
+#, fuzzy
+msgid "Fire"
+msgstr "Сатира"
+
+#: src/skins/ui_manager.c:116
+msgid "Vertical Lines"
+msgstr ""
+
+#: src/skins/ui_manager.c:120
+#, fuzzy
+msgid "Lines"
+msgstr "Латиноамериканская"
+
+#: src/skins/ui_manager.c:121
+#, fuzzy
+msgid "Bars"
+msgstr "Бас"
+
+#: src/skins/ui_manager.c:125
+msgid "Dot Scope"
+msgstr ""
+
+#: src/skins/ui_manager.c:126
+msgid "Line Scope"
+msgstr ""
+
+#: src/skins/ui_manager.c:127
+msgid "Solid Scope"
+msgstr ""
+
+#: src/skins/ui_manager.c:133
+msgid "Ice"
+msgstr ""
+
+#: src/skins/ui_manager.c:138
+msgid "Smooth"
+msgstr ""
+
+#: src/skins/ui_manager.c:142
+msgid "Full (~50 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:143
+msgid "Half (~25 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:144
+msgid "Quarter (~13 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:145
+msgid "Eighth (~6 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:149 src/skins/ui_manager.c:157
+#, fuzzy
+msgid "Slowest"
+msgstr "Импровизация"
+
+#: src/skins/ui_manager.c:150 src/skins/ui_manager.c:158
+#, fuzzy
+msgid "Slow"
+msgstr "низкое"
+
+#: src/skins/ui_manager.c:151 src/skins/ui_manager.c:159
+#, fuzzy
+msgid "Medium"
+msgstr "среднее"
+
+#: src/skins/ui_manager.c:152 src/skins/ui_manager.c:160
+#, fuzzy
+msgid "Fast"
+msgstr "Формат"
+
+#: src/skins/ui_manager.c:153 src/skins/ui_manager.c:161
+msgid "Fastest"
+msgstr ""
+
+#: src/skins/ui_manager.c:165
+msgid "Time Elapsed"
+msgstr ""
+
+#: src/skins/ui_manager.c:166
+msgid "Time Remaining"
+msgstr ""
+
+#: src/skins/ui_manager.c:180 src/skins/ui_manager.c:181
+#, fuzzy
+msgid "Pause"
+msgstr "Воспроизведение->Приостановить"
+
+#: src/skins/ui_manager.c:186 src/skins/ui_manager.c:187
+#, fuzzy
+msgid "Previous"
+msgstr "Предыдущая дорожка:"
+
+#: src/skins/ui_manager.c:189 src/skins/ui_manager.c:190
+#, fuzzy
+msgid "Next"
+msgstr "Текст"
+
+#: src/skins/ui_manager.c:195
+#, fuzzy
+msgid "Visualization"
+msgstr "Организация:"
+
+#: src/skins/ui_manager.c:196
+msgid "Visualization Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:197
+msgid "Analyzer Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:198
+msgid "Scope Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:199
+msgid "Voiceprint Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:200
+msgid "WindowShade VU Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:201
+msgid "Refresh Rate"
+msgstr ""
+
+#: src/skins/ui_manager.c:202
+msgid "Analyzer Falloff"
+msgstr ""
+
+#: src/skins/ui_manager.c:203
+msgid "Peaks Falloff"
+msgstr ""
+
+#: src/skins/ui_manager.c:208
+#, fuzzy
+msgid "Playlist"
+msgstr "Список->Повторять"
+
+#: src/skins/ui_manager.c:210 src/skins/ui_manager.c:211
+#, fuzzy
+msgid "New Playlist"
+msgstr "Окно->Список"
+
+#: src/skins/ui_manager.c:213 src/skins/ui_manager.c:214
+msgid "Select Next Playlist"
+msgstr ""
+
+#: src/skins/ui_manager.c:216 src/skins/ui_manager.c:217
+msgid "Select Previous Playlist"
+msgstr ""
+
+#: src/skins/ui_manager.c:219 src/skins/ui_manager.c:220
+msgid "Delete Playlist"
+msgstr ""
+
+#: src/skins/ui_manager.c:222
+msgid "Load List"
+msgstr ""
+
+#: src/skins/ui_manager.c:223
+msgid "Loads a playlist file into the selected playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:225
+#, fuzzy
+msgid "Save List"
+msgstr "Сохранить"
+
+#: src/skins/ui_manager.c:226
+msgid "Saves the selected playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:228
+#, fuzzy
+msgid "Save Default List"
+msgstr "По умолчанию (%s)"
+
+#: src/skins/ui_manager.c:229
+msgid "Saves the selected playlist to the default location."
+msgstr ""
+
+#: src/skins/ui_manager.c:232
+msgid "Refresh List"
+msgstr ""
+
+#: src/skins/ui_manager.c:233
+msgid "Refreshes metadata associated with a playlist entry."
+msgstr ""
+
+#: src/skins/ui_manager.c:236
+msgid "List Manager"
+msgstr ""
+
+#: src/skins/ui_manager.c:237
+msgid "Opens the playlist manager."
+msgstr ""
+
+#: src/skins/ui_manager.c:243
+msgid "View"
+msgstr ""
+
+#: src/skins/ui_manager.c:247
+msgid "Add Internet Address..."
+msgstr ""
+
+#: src/skins/ui_manager.c:248
+msgid "Adds a remote track to the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:251
+msgid "Add Files..."
+msgstr ""
+
+#: src/skins/ui_manager.c:252
+msgid "Adds files to the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:257
+msgid "Search and Select"
+msgstr ""
+
+#: src/skins/ui_manager.c:258
+msgid ""
+"Searches the playlist and selects playlist entries based on specific "
+"criteria."
+msgstr ""
+
+#: src/skins/ui_manager.c:261
+#, fuzzy
+msgid "Invert Selection"
+msgstr "Выбор формата"
+
+#: src/skins/ui_manager.c:262
+msgid "Inverts the selected and unselected entries."
+msgstr ""
+
+#: src/skins/ui_manager.c:265
+#, fuzzy
+msgid "Select All"
+msgstr "Выберите файл темы"
+
+#: src/skins/ui_manager.c:266
+msgid "Selects all of the playlist entries."
+msgstr ""
+
+#: src/skins/ui_manager.c:269
+#, fuzzy
+msgid "Select None"
+msgstr "Выберите файл темы"
+
+#: src/skins/ui_manager.c:270
+msgid "Deselects all of the playlist entries."
+msgstr ""
+
+#: src/skins/ui_manager.c:275
+#, fuzzy
+msgid "Remove All"
+msgstr "Удалить"
+
+#: src/skins/ui_manager.c:276
+msgid "Removes all entries from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:279
+msgid "Clear Queue"
+msgstr ""
+
+#: src/skins/ui_manager.c:280
+msgid "Clears the queue associated with this playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:283
+msgid "Remove Unavailable Files"
+msgstr ""
+
+#: src/skins/ui_manager.c:284
+msgid "Removes unavailable files from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:287
+#, fuzzy
+msgid "Remove Duplicates"
+msgstr "Удалить привод"
+
+#: src/skins/ui_manager.c:289 src/skins/ui_manager.c:321
+#: src/skins/ui_manager.c:351
+#, fuzzy
+msgid "By Title"
+msgstr "Название"
+
+#: src/skins/ui_manager.c:290
+msgid "Removes duplicate entries from the playlist by title."
+msgstr ""
+
+#: src/skins/ui_manager.c:293 src/skins/ui_manager.c:329
+#: src/skins/ui_manager.c:359
+#, fuzzy
+msgid "By Filename"
+msgstr "Имя файла"
+
+#: src/skins/ui_manager.c:294
+msgid "Removes duplicate entries from the playlist by filename."
+msgstr ""
+
+#: src/skins/ui_manager.c:297 src/skins/ui_manager.c:333
+#: src/skins/ui_manager.c:363
+#, fuzzy
+msgid "By Path + Filename"
+msgstr "Имя файла"
+
+#: src/skins/ui_manager.c:298
+msgid "Removes duplicate entries from the playlist by their full path."
+msgstr ""
+
+#: src/skins/ui_manager.c:301
+msgid "Remove Unselected"
+msgstr ""
+
+#: src/skins/ui_manager.c:302
+msgid "Remove unselected entries from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:305
+msgid "Remove Selected"
+msgstr ""
+
+#: src/skins/ui_manager.c:306
+msgid "Remove selected entries from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:311
+msgid "Randomize List"
+msgstr ""
+
+#: src/skins/ui_manager.c:312
+msgid "Randomizes the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:315
+msgid "Reverse List"
+msgstr ""
+
+#: src/skins/ui_manager.c:316
+msgid "Reverses the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:319
+#, fuzzy
+msgid "Sort List"
+msgstr "Исполнитель:"
+
+#: src/skins/ui_manager.c:322 src/skins/ui_manager.c:352
+msgid "Sorts the list by title."
+msgstr ""
+
+#: src/skins/ui_manager.c:325 src/skins/ui_manager.c:355
+#, fuzzy
+msgid "By Artist"
+msgstr "Исполнитель:"
+
+#: src/skins/ui_manager.c:326 src/skins/ui_manager.c:356
+msgid "Sorts the list by artist."
+msgstr ""
+
+#: src/skins/ui_manager.c:330 src/skins/ui_manager.c:360
+msgid "Sorts the list by filename."
+msgstr ""
+
+#: src/skins/ui_manager.c:334 src/skins/ui_manager.c:364
+msgid "Sorts the list by full pathname."
+msgstr ""
+
+#: src/skins/ui_manager.c:337 src/skins/ui_manager.c:367
+#, fuzzy
+msgid "By Date"
+msgstr "Дата:"
+
+#: src/skins/ui_manager.c:338 src/skins/ui_manager.c:368
+msgid "Sorts the list by modification time."
+msgstr ""
+
+#: src/skins/ui_manager.c:341 src/skins/ui_manager.c:371
+#, fuzzy
+msgid "By Track Number"
+msgstr "Номер дорожки:"
+
+#: src/skins/ui_manager.c:342 src/skins/ui_manager.c:372
+msgid "Sorts the list by track number."
+msgstr ""
+
+#: src/skins/ui_manager.c:345 src/skins/ui_manager.c:375
+msgid "By Playlist Entry"
+msgstr ""
+
+#: src/skins/ui_manager.c:346 src/skins/ui_manager.c:376
+msgid "Sorts the list by playlist entry."
+msgstr ""
+
+#: src/skins/ui_manager.c:349
+#, fuzzy
+msgid "Sort Selected"
+msgstr "Выбор формата"
+
+#: src/skins/ui_manager.c:385
+#, fuzzy
+msgid "File"
+msgstr "Имя файла"
+
+#: src/skins/ui_manager.c:388
+msgid "Plugin Services"
+msgstr ""
+
+#: src/skins/ui_manager.c:390 src/skins/ui_manager.c:393
+#, fuzzy
+msgid "View Track Details"
+msgstr "Использовать Gain/Peak дорожки"
+
+#: src/skins/ui_manager.c:391 src/skins/ui_manager.c:394
+msgid "View track details"
+msgstr ""
+
+#: src/skins/ui_manager.c:396 src/skins/ui_manager.c:397
+#, fuzzy
+msgid "About Audacious"
+msgstr "О модуле LIRC"
+
+#: src/skins/ui_manager.c:399
+#, fuzzy
+msgid "Play File"
+msgstr "Время воспроизведения:"
+
+#: src/skins/ui_manager.c:400
+#, fuzzy
+msgid "Load and play a file"
+msgstr "Загружать SF при запуске проигрывателя"
+
+#: src/skins/ui_manager.c:402
+msgid "Play Location"
+msgstr ""
+
+#: src/skins/ui_manager.c:403
+#, fuzzy
+msgid "Play media from the selected location"
+msgstr "Подтвердить выбранное действие"
+
+#: src/skins/ui_manager.c:405
+msgid "Plugin services"
+msgstr ""
+
+#: src/skins/ui_manager.c:407
+msgid "Preferences"
+msgstr ""
+
+#: src/skins/ui_manager.c:408
+msgid "Open preferences window"
+msgstr ""
+
+#: src/skins/ui_manager.c:410
+#, fuzzy
+msgid "_Quit"
+msgstr "Качество"
+
+#: src/skins/ui_manager.c:411
+#, fuzzy
+msgid "Quit Audacious"
+msgstr "%s - Audacious"
+
+#: src/skins/ui_manager.c:413 src/skins/ui_manager.c:414
+msgid "Set A-B"
+msgstr ""
+
+#: src/skins/ui_manager.c:416 src/skins/ui_manager.c:417
+msgid "Clear A-B"
+msgstr ""
+
+#: src/skins/ui_manager.c:419 src/skins/ui_manager.c:420
+msgid "Jump to Playlist Start"
+msgstr ""
+
+#: src/skins/ui_manager.c:428
+msgid "Queue Toggle"
+msgstr ""
+
+#: src/skins/ui_manager.c:429
+msgid "Enables/disables the entry in the playlist's queue."
+msgstr ""
+
+#: src/skins/ui_manager.c:436
+msgid "Load"
+msgstr ""
+
+#: src/skins/ui_manager.c:441 src/skins/ui_manager.c:462
+#: src/skins/ui_manager.c:477
+#, fuzzy
+msgid "Preset"
+msgstr "Порт"
+
+#: src/skins/ui_manager.c:442
+msgid "Load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:444 src/skins/ui_manager.c:465
+#: src/skins/ui_manager.c:480
+msgid "Auto-load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:445
+msgid "Load auto-load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:448
+msgid "Load default preset into equalizer"
+msgstr ""
+
+#: src/skins/ui_manager.c:450
+#, fuzzy
+msgid "Zero"
+msgstr "Ретро"
+
+#: src/skins/ui_manager.c:451
+msgid "Set equalizer preset levels to zero"
+msgstr ""
+
+#: src/skins/ui_manager.c:453
+msgid "From file"
+msgstr ""
+
+#: src/skins/ui_manager.c:454
+#, fuzzy
+msgid "Load preset from file"
+msgstr "Не могу прочитать файл\n"
+
+#: src/skins/ui_manager.c:456
+msgid "From WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:457
+msgid "Load preset from WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:459
+msgid "WinAMP Presets"
+msgstr ""
+
+#: src/skins/ui_manager.c:460
+msgid "Import WinAMP presets"
+msgstr ""
+
+#: src/skins/ui_manager.c:463
+msgid "Save preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:466
+msgid "Save auto-load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:469
+#, fuzzy
+msgid "Save default preset"
+msgstr "по умолчанию"
+
+#: src/skins/ui_manager.c:471
+#, fuzzy
+msgid "To file"
+msgstr "STIL файл:"
+
+#: src/skins/ui_manager.c:472
+msgid "Save preset to file"
+msgstr ""
+
+#: src/skins/ui_manager.c:474
+msgid "To WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:475
+msgid "Save preset to WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:478
+#, fuzzy
+msgid "Delete preset"
+msgstr "Удалить"
+
+#: src/skins/ui_manager.c:481
+msgid "Delete auto-load preset"
+msgstr ""
+
+#: src/skins/ui_playlist.c:454
+msgid "Search entries in active playlist"
+msgstr ""
+
+#: src/skins/ui_playlist.c:462
+msgid ""
+"Select entries in playlist by filling one or more fields. Fields use regular "
+"expressions syntax, case-insensitive. If you don't know how regular "
+"expressions work, simply insert a literal portion of what you're searching "
+"for."
+msgstr ""
+
+#: src/skins/ui_playlist.c:477
+#, fuzzy
+msgid "Album: "
+msgstr "Альбом:"
+
+#: src/skins/ui_playlist.c:484
+#, fuzzy
+msgid "Artist: "
+msgstr "Исполнитель:"
+
+#: src/skins/ui_playlist.c:491
+#, fuzzy
+msgid "Filename: "
+msgstr "Имя файла:"
+
+#: src/skins/ui_playlist.c:499
+msgid "Clear previous selection before searching"
+msgstr ""
+
+#: src/skins/ui_playlist.c:502
+msgid "Automatically toggle queue for matching entries"
+msgstr ""
+
+#: src/skins/ui_playlist.c:505
+msgid "Create a new playlist with matching entries"
+msgstr ""
+
+#: src/skins/ui_playlist.c:724
+#, c-format
+msgid "Error writing playlist \"%s\": %s"
+msgstr ""
+
+#: src/skins/ui_playlist.c:746
+#, c-format
+msgid "%s already exist. Continue?"
+msgstr ""
+
+#: src/skins/ui_playlist.c:761
+#, c-format
+msgid ""
+"<b><big>Unable to save playlist.</big></b>\n"
+"\n"
+"Unknown file type for '%s'.\n"
+msgstr ""
+
+#: src/skins/ui_playlist.c:887
+msgid "Save as Static Playlist"
+msgstr ""
+
+#: src/skins/ui_playlist.c:894
+msgid "Use Relative Path"
+msgstr ""
+
+#: src/skins/ui_playlist.c:916
+#, fuzzy
+msgid "Load Playlist"
+msgstr "Окно->Список"
+
+#: src/skins/ui_playlist.c:929
+msgid "Save Playlist"
+msgstr ""
+
+#: src/skins/ui_playlist.c:1497
+msgid "Audacious Playlist Editor"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:377
+msgid "PREAMP"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:377
+msgid "60HZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:377
+msgid "170HZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:378
+msgid "310HZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:378
+#, fuzzy
+msgid "600HZ"
+msgstr "11000 Гц"
+
+#: src/skins/ui_skinned_equalizer_slider.c:378
+msgid "1KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:379
+msgid "3KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:379
+msgid "6KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:379
+msgid "12KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:380
+msgid "14KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:380
+msgid "16KHZ"
+msgstr ""
+
+#: src/skins/ui_skinselector.c:178
+msgid "Archived Winamp 2.x skin"
+msgstr ""
+
+#: src/skins/ui_skinselector.c:183
+msgid "Unarchived Winamp 2.x skin"
+msgstr ""
+
+#: src/skins/util.c:1132
+#, fuzzy, c-format
+msgid "Could not create directory (%s): %s\n"
+msgstr ""
+"Не удалось проверить каталог %s\n"
+"Ошибка: %s"
+
+#: src/sndfile/plugin.c:554
 #, fuzzy
 msgid "About sndfile plugin"
 msgstr "модуль sndfile WAV"
 
-#: src/sndfile/plugin.c:549
+#: src/sndfile/plugin.c:555
 msgid ""
 "Adapted for Audacious usage by Tony Vroon <chainsaw@gentoo.org>\n"
 "from the xmms_sndfile plugin which is:\n"
@@ -4536,63 +5683,59 @@
 "51 Franklin Street, Fifth Floor, \n"
 "Boston, MA 02111-1307, USA."
 
-#: src/sndstretch/sndstretch_xmms.c:159
+#: src/sndstretch/sndstretch_xmms.c:158
 msgid "About SndStretch"
 msgstr "О модуле SndStretch"
 
-#: src/sndstretch/sndstretch_xmms.c:319
+#: src/sndstretch/sndstretch_xmms.c:318
 msgid "Volume corr."
 msgstr "Коррекция громкости"
 
-#: src/sndstretch/sndstretch_xmms.c:320
+#: src/sndstretch/sndstretch_xmms.c:319
 msgid "Short Overlap"
 msgstr "Короткое перекрытие"
 
+#: src/sndstretch/sndstretch_xmms.c:373
+msgid "Speed"
+msgstr "Скорость"
+
 #: src/sndstretch/sndstretch_xmms.c:374
-msgid "Speed"
-msgstr "Скорость"
-
-#: src/sndstretch/sndstretch_xmms.c:375
 msgid "Pitch"
 msgstr "Смена высоты тона"
 
-#: src/sndstretch/sndstretch_xmms.c:376
-msgid "Scale"
-msgstr "Масштабирование"
-
-#: src/sndstretch/sndstretch_xmms.c:396
+#: src/sndstretch/sndstretch_xmms.c:395
 msgid "SndStretch - Configuration"
 msgstr "SndStretch - Настройка"
 
-#: src/song_change/song_change.c:312
+#: src/song_change/song_change.c:310
 msgid "Commands"
 msgstr "Команды"
 
-#: src/song_change/song_change.c:319
+#: src/song_change/song_change.c:317
 msgid "Command to run when Audacious starts a new song."
 msgstr "Команда, запускаемая когда Audacious начинает новую песню."
 
-#: src/song_change/song_change.c:328 src/song_change/song_change.c:350
-#: src/song_change/song_change.c:371 src/song_change/song_change.c:392
+#: src/song_change/song_change.c:326 src/song_change/song_change.c:348
+#: src/song_change/song_change.c:369 src/song_change/song_change.c:390
 msgid "Command:"
 msgstr "Команда:"
 
-#: src/song_change/song_change.c:342
+#: src/song_change/song_change.c:340
 msgid "Command to run toward the end of a song."
 msgstr "Команда, запускаемая в конце песни."
 
-#: src/song_change/song_change.c:362
+#: src/song_change/song_change.c:360
 msgid "Command to run when Audacious reaches the end of the playlist."
 msgstr "Команда, запускаемая когда Audacious достигает конца списка."
 
-#: src/song_change/song_change.c:383
+#: src/song_change/song_change.c:381
 msgid ""
 "Command to run when title changes for a song (i.e. network streams titles)."
 msgstr ""
 "Команда, запускаемая, когда меняется только название (напр., в Интернет-"
 "потоках)."
 
-#: src/song_change/song_change.c:404
+#: src/song_change/song_change.c:402
 #, c-format
 msgid ""
 "You can use the following format strings which\n"
@@ -4621,7 +5764,7 @@
 "%%t: Позиция песни в списке (%%02d)\n"
 "%%p: Играет сейчас (1 или 0)"
 
-#: src/song_change/song_change.c:429
+#: src/song_change/song_change.c:427
 msgid ""
 "<span size='small'>Parameters passed to the shell should be encapsulated in "
 "quotes. Doing otherwise is a security risk.</span>"
@@ -4629,7 +5772,7 @@
 "<span size='small'>Параметры, передаваемые оболочке, должны быть заключены в "
 "кавычки. В противном случае возможны проблемы с безопасностью.</span>"
 
-#: src/spectrum/spectrum.c:90
+#: src/spectrum/spectrum.c:89
 msgid "Spectrum Analyzer"
 msgstr ""
 
@@ -4641,11 +5784,11 @@
 msgid "The orientation of the tray"
 msgstr "Положение системного лотка"
 
-#: src/statusicon/si_ui.c:622
+#: src/statusicon/si_ui.c:620
 msgid "About Status Icon Plugin"
 msgstr "О модуле Status Icon"
 
-#: src/statusicon/si_ui.c:624
+#: src/statusicon/si_ui.c:622
 msgid ""
 "\n"
 "written by Giacomo Lozito < james@develia.org >\n"
@@ -4659,39 +5802,39 @@
 "Этот модуль показывает значок программы\n"
 "в системном лотке.\n"
 
-#: src/statusicon/si_ui.c:696
+#: src/statusicon/si_ui.c:694
 msgid "Status Icon Plugin - Preferences"
 msgstr "Настройка модуля Status Icon"
 
-#: src/statusicon/si_ui.c:707
+#: src/statusicon/si_ui.c:705
 msgid "Right-Click Menu"
 msgstr "Меню вызываемое правой кнопкой мыши"
 
-#: src/statusicon/si_ui.c:712
+#: src/statusicon/si_ui.c:710
 msgid "Audacious standard menu"
 msgstr "Стандартное меню Audacious"
 
-#: src/statusicon/si_ui.c:717
+#: src/statusicon/si_ui.c:715
 msgid "Small playback menu #1"
 msgstr "Уменьшенное меню #1"
 
-#: src/statusicon/si_ui.c:722
+#: src/statusicon/si_ui.c:720
 msgid "Small playback menu #2"
 msgstr "Уменьшенное меню #2"
 
-#: src/statusicon/si_ui.c:745
+#: src/statusicon/si_ui.c:743
 msgid "Mouse Scroll Action"
 msgstr "Реакция на колёсико прокрутки"
 
-#: src/statusicon/si_ui.c:750
+#: src/statusicon/si_ui.c:748
 msgid "Change volume"
 msgstr "Изменить громкость"
 
-#: src/statusicon/si_ui.c:755
+#: src/statusicon/si_ui.c:753
 msgid "Change playing song"
 msgstr "Сменить текущую дорожку"
 
-#: src/stereo_plugin/stereo.c:26
+#: src/stereo_plugin/stereo.c:25
 msgid ""
 "Extra Stereo Plugin\n"
 "\n"
@@ -4701,23 +5844,19 @@
 "\n"
 "Johan Levin 1999."
 
-#: src/stereo_plugin/stereo.c:52
+#: src/stereo_plugin/stereo.c:51
 msgid "About Extra Stereo Plugin"
 msgstr "О модуле Extra Stereo"
 
-#: src/stereo_plugin/stereo.c:93
+#: src/stereo_plugin/stereo.c:92
 msgid "Configure Extra Stereo"
 msgstr "Настроить Extra Stereo"
 
-#: src/stereo_plugin/stereo.c:95
-msgid "Effect intensity:"
-msgstr "Интенсивность эффекта:"
+#: src/sun/about.c:33
+msgid "About the Sun Driver"
+msgstr "О драйвере Sun"
 
 #: src/sun/about.c:34
-msgid "About the Sun Driver"
-msgstr "О драйвере Sun"
-
-#: src/sun/about.c:35
 msgid ""
 "XMMS BSD Sun Driver\n"
 "\n"
@@ -4729,19 +5868,19 @@
 "Copyright (c) 2001 CubeSoft Communications, Inc.\n"
 "Поддержка: <vedge at csoft.org>.\n"
 
-#: src/sun/configure.c:201
+#: src/sun/configure.c:199
 msgid "Audio control device:"
 msgstr "Устройство управления звуком:"
 
-#: src/sun/configure.c:350
+#: src/sun/configure.c:348
 msgid "Volume controls device:"
 msgstr "Устройство управления громкостью:"
 
-#: src/sun/configure.c:363
+#: src/sun/configure.c:361
 msgid "XMMS uses mixer exclusively."
 msgstr "XMMS использует микшер эксклюзивно."
 
-#: src/sun/configure.c:538
+#: src/sun/configure.c:536
 msgid "Sun driver configuration"
 msgstr "Настройка драйвера Sun"
 
@@ -4769,7 +5908,7 @@
 msgid "TiMidity Configuration File"
 msgstr "Конфигурационный файл TiMidity"
 
-#: src/timidity/xmms-timidity.c:118
+#: src/timidity/xmms-timidity.c:115
 msgid ""
 "TiMidity Plugin\n"
 "http://libtimidity.sourceforge.net\n"
@@ -4779,20 +5918,20 @@
 "http://libtimidity.sourceforge.net\n"
 "Konstantin Korikov"
 
-#: src/timidity/xmms-timidity.c:119
+#: src/timidity/xmms-timidity.c:116
 #, c-format
 msgid "TiMidity Plugin %s"
 msgstr "Модуль TiMidity %s"
 
-#: src/timidity/xmms-timidity.c:336
+#: src/timidity/xmms-timidity.c:333
 msgid "Couldn't load MIDI file"
 msgstr "Невозможно загрузить MIDI файл"
 
-#: src/tonegen/tonegen.c:56
+#: src/tonegen/tonegen.c:55
 msgid "About Tone Generator"
 msgstr "О генераторе сигналов"
 
-#: src/tonegen/tonegen.c:58
+#: src/tonegen/tonegen.c:57
 msgid ""
 "Sinus tone generator by Haavard Kvaalen <havardk@xmms.org>\n"
 "Modified by Daniel J. Peng <danielpeng@bigfoot.com>\n"
@@ -4806,86 +5945,86 @@
 "Для использования добавьте URL: tone://частота1;частота2;частота3;...\n"
 "Например tone://2000;2005 для воспроизведения сигналов 2000 Гц и 2005 Гц"
 
-#: src/tonegen/tonegen.c:167
+#: src/tonegen/tonegen.c:166
 #, c-format
 msgid "%s %.1f Hz"
 msgstr "%s %.1f Гц"
 
-#: src/tonegen/tonegen.c:167
+#: src/tonegen/tonegen.c:166
 msgid "Tone Generator: "
 msgstr "Генератор сигналов: "
 
-#: src/tta/libtta.c:130
+#: src/tta/libtta.c:127
 msgid "Can't open file\n"
 msgstr "Не могу открыть файл\n"
 
+#: src/tta/libtta.c:130
+msgid "Not supported file format\n"
+msgstr "Файл неподдерживаемого формата\n"
+
 #: src/tta/libtta.c:133
-msgid "Not supported file format\n"
-msgstr "Файл неподдерживаемого формата\n"
+msgid "File is corrupted\n"
+msgstr "Файл повреждён\n"
 
 #: src/tta/libtta.c:136
-msgid "File is corrupted\n"
-msgstr "Файл повреждён\n"
+msgid "Can't read from file\n"
+msgstr "Не могу прочитать файл\n"
 
 #: src/tta/libtta.c:139
-msgid "Can't read from file\n"
-msgstr "Не могу прочитать файл\n"
+msgid "Insufficient memory available\n"
+msgstr "Не хватает памяти\n"
 
 #: src/tta/libtta.c:142
-msgid "Insufficient memory available\n"
-msgstr "Не хватает памяти\n"
+msgid "Output plugin error\n"
+msgstr "Ошибка модуля вывода\n"
 
 #: src/tta/libtta.c:145
-msgid "Output plugin error\n"
-msgstr "Ошибка модуля вывода\n"
-
-#: src/tta/libtta.c:148
 msgid "Unknown error\n"
 msgstr "Неизвестная ошибка\n"
 
-#: src/tta/libtta.c:152
+#: src/tta/libtta.c:149
 msgid "TTA Decoder Error"
 msgstr "Ошибка декодера TTA"
 
-#: src/tta/libtta.c:261
+#: src/tta/libtta.c:258
 msgid "TTA input plugin "
 msgstr "Модуль поддержки TTA"
 
-#: src/tta/libtta.c:262
+#: src/tta/libtta.c:259
 msgid ""
 " for BMP\n"
 "Copyright (c) 2004 True Audio Software\n"
 msgstr ""
 
-#: src/tta/libtta.c:265
+#: src/tta/libtta.c:262
 msgid "About True Audio Plugin"
 msgstr "О модуле поддержки True Audio"
 
-#: src/tta/libtta.c:316
+#: src/tta/libtta.c:313
 msgid "ID3 Tag:"
 msgstr "Тег ID3:"
 
-#: src/tta/libtta.c:378 src/wavpack/ui.cxx:234
+#: src/tta/libtta.c:375 src/wavpack/ui.cxx:232
 msgid "Track number:"
 msgstr "Номер дорожки:"
 
-#: src/vorbis/configure.c:84
+#: src/vorbis/configure.c:82
 msgid "Ogg Vorbis Audio Plugin Configuration"
 msgstr "Изменение настроек модуля Ogg Vorbis"
 
-#: src/vorbis/configure.c:94
+#: src/vorbis/configure.c:92
 msgid "Ogg Vorbis Tags:"
 msgstr "Теги Ogg Vorbis:"
 
-#: src/vorbis/configure.c:115
+#: src/vorbis/configure.c:113
 msgid "Title format:"
 msgstr "Формат названия:"
 
-#: src/vorbis/vorbis.c:681
+#: src/vorbis/vorbis.c:677
 msgid "About Ogg Vorbis Audio Plugin"
 msgstr "О модуле поддержки Ogg Vorbis"
 
-#: src/vorbis/vorbis.c:687
+#: src/vorbis/vorbis.c:683
 #, fuzzy
 msgid ""
 "Ogg Vorbis Plugin by the Xiph.org Foundation\n"
@@ -4919,11 +6058,11 @@
 "\n"
 "Посетите фонд Xiph.org по адресу http://www.xiph.org/\n"
 
-#: src/vtx/about.c:23
+#: src/vtx/about.c:17
 msgid "About Vortex Player"
 msgstr ""
 
-#: src/vtx/about.c:25
+#: src/vtx/about.c:19
 msgid ""
 "Vortex file format player by Sashnov Alexander <sashnov@ngs.ru>\n"
 "Founded on original source in_vtx.dll by Roman Sherbakov <v_soft@microfor."
@@ -4935,12 +6074,12 @@
 "Audacious implementation by Pavel Vymetalek <pvymetalek@seznam.cz>"
 msgstr ""
 
-#: src/wavpack/ui.cxx:52
+#: src/wavpack/ui.cxx:50
 #, c-format
 msgid "Wavpack Decoder Plugin %s"
 msgstr "Модуль декодирования Wavpack %s"
 
-#: src/wavpack/ui.cxx:53
+#: src/wavpack/ui.cxx:51
 msgid ""
 "Copyright (c) 2006 William Pitcock <nenolod -at- nenolod.net>\n"
 "\n"
@@ -4948,90 +6087,90 @@
 "Visit the Wavpack site at http://www.wavpack.com/\n"
 msgstr ""
 
-#: src/wavpack/ui.cxx:165
+#: src/wavpack/ui.cxx:163
 msgid "Ape2 Tag"
 msgstr ""
 
-#: src/wavpack/ui.cxx:288
+#: src/wavpack/ui.cxx:286
 msgid "Wavpack Info:"
 msgstr ""
 
+#: src/wavpack/ui.cxx:379
+#, c-format
+msgid "version %d"
+msgstr "версия: %d"
+
+#: src/wavpack/ui.cxx:380
+#, c-format
+msgid "average bitrate: %6.1f kbps"
+msgstr ""
+
 #: src/wavpack/ui.cxx:381
 #, c-format
-msgid "version %d"
-msgstr "версия: %d"
+msgid "samplerate: %d Hz"
+msgstr "частота: %d Гц"
 
 #: src/wavpack/ui.cxx:382
 #, c-format
-msgid "average bitrate: %6.1f kbps"
-msgstr ""
+msgid "bits per sample: %d"
+msgstr "бит / сэмпл: %d"
 
 #: src/wavpack/ui.cxx:383
 #, c-format
-msgid "samplerate: %d Hz"
-msgstr "частота: %d Гц"
+msgid "channels: %d"
+msgstr "каналы: %d"
 
 #: src/wavpack/ui.cxx:384
 #, c-format
-msgid "bits per sample: %d"
-msgstr "бит / сэмпл: %d"
+msgid "length: %d:%.2d"
+msgstr "длительность: %d:%.2d"
 
 #: src/wavpack/ui.cxx:385
 #, c-format
-msgid "channels: %d"
-msgstr "каналы: %d"
-
-#: src/wavpack/ui.cxx:386
-#, c-format
-msgid "length: %d:%.2d"
-msgstr "длительность: %d:%.2d"
-
-#: src/wavpack/ui.cxx:387
-#, c-format
 msgid "file size: %d Bytes"
 msgstr "размер файла: %d Байт"
 
-#: src/wavpack/ui.cxx:394
+#: src/wavpack/ui.cxx:392
 msgid "Title Peak: ?"
 msgstr "Пик дорожки: ?"
 
-#: src/wavpack/ui.cxx:395
+#: src/wavpack/ui.cxx:393
 msgid "Album Peak: ?"
 msgstr "Пик альбома: ?"
 
-#: src/wavpack/ui.cxx:396
+#: src/wavpack/ui.cxx:394
 msgid "Title Gain: ?"
 msgstr "Усиление дорожки: ?"
 
-#: src/wavpack/ui.cxx:397
+#: src/wavpack/ui.cxx:395
 msgid "Album Gain: ?"
 msgstr "Усиление альбома: ?"
 
-#: src/wavpack/ui.cxx:471
+#: src/wavpack/ui.cxx:469
 msgid "Wavpack Configuration"
 msgstr "Настройка Wavpack"
 
-#: src/wavpack/ui.cxx:484
+#: src/wavpack/ui.cxx:482
 msgid "General Plugin Settings:"
 msgstr "Основные настройки модуля"
 
-#: src/wavpack/ui.cxx:502
+#: src/wavpack/ui.cxx:500
 msgid "ReplayGain Settings:"
 msgstr "Настройки ReplayGain:"
 
-#: src/wavpack/ui.cxx:520
+#: src/wavpack/ui.cxx:518
 msgid "ReplayGain Type:"
 msgstr "Тип ReplayGain:"
 
-#: src/wavpack/ui.cxx:531
+#: src/wavpack/ui.cxx:529
 msgid "use Track Gain/Peak"
 msgstr "использовать Gain/Peak Дорожки"
 
-#: src/wavpack/ui.cxx:539
+#: src/wavpack/ui.cxx:537
 msgid "use Album Gain/Peak"
 msgstr "использовать Gain/Peak Альбома"
 
-#: src/wma/wma.c:123
+#: src/wma/wma.c:120
 msgid ""
 "Adapted for use in Audacious by Tony Vroon (chainsaw@gentoo.org) from\n"
 "the BEEP-WMA plugin which is Copyright (C) 2004,2005 Mokrushin I.V. aka "
@@ -5102,14 +6241,6 @@
 #~ msgstr "О модуле поддержки WAV"
 
 #, fuzzy
-#~ msgid "Play/Pause:"
-#~ msgstr "Воспроизведение->Приостановить"
-
-#, fuzzy
-#~ msgid "File Info"
-#~ msgstr "Инфрмация о файле - %s"
-
-#, fuzzy
 #~ msgid "Couldn't open file!"
 #~ msgstr "Невозможно загрузить MIDI файл"
 
@@ -5134,9 +6265,6 @@
 #~ msgid "%d Hz"
 #~ msgstr "%d Гц"
 
-#~ msgid "Blues"
-#~ msgstr "Блюз"
-
 #~ msgid "Classic Rock"
 #~ msgstr "Классический рок"
 
@@ -5203,9 +6331,6 @@
 #~ msgid "Death Metal"
 #~ msgstr "Дэз метал"
 
-#~ msgid "Pranks"
-#~ msgstr "Шалость"
-
 #~ msgid "Soundtrack"
 #~ msgstr "Звуковая дорожка"
 
@@ -5257,9 +6382,6 @@
 #~ msgid "AlternRock"
 #~ msgstr "Альтернативный рок"
 
-#~ msgid "Bass"
-#~ msgstr "Бас"
-
 #~ msgid "Soul"
 #~ msgstr "Душа"
 
@@ -5341,9 +6463,6 @@
 #~ msgid "Rave"
 #~ msgstr "Рэйв"
 
-#~ msgid "Showtunes"
-#~ msgstr "Импровизация"
-
 #~ msgid "Trailer"
 #~ msgstr "Анонс"
 
@@ -5362,9 +6481,6 @@
 #~ msgid "Polka"
 #~ msgstr "Полька"
 
-#~ msgid "Retro"
-#~ msgstr "Ретро"
-
 #~ msgid "Musical"
 #~ msgstr "Музыкальное"
 
@@ -5392,9 +6508,6 @@
 #~ msgid "Bebob"
 #~ msgstr "Бибоп"
 
-#~ msgid "Latin"
-#~ msgstr "Латиноамериканская"
-
 #~ msgid "Revival"
 #~ msgstr "Возрождение"
 
@@ -5464,9 +6577,6 @@
 #~ msgid "Porn Groove"
 #~ msgstr "Порн грув"
 
-#~ msgid "Satire"
-#~ msgstr "Сатира"
-
 #~ msgid "Slow Jam"
 #~ msgstr "Медленный джэм"
 
@@ -5539,9 +6649,6 @@
 #~ msgid "Polsk Punk"
 #~ msgstr "Польский панк"
 
-#~ msgid "Beat"
-#~ msgstr "Бит"
-
 #~ msgid "Christian Gangsta Rap"
 #~ msgstr "Черный христианский рэп"
 
@@ -5600,9 +6707,6 @@
 #~ msgid " Ogg Vorbis Tag "
 #~ msgstr " Тег Ogg Vorbis "
 
-#~ msgid "Date:"
-#~ msgstr "Дата:"
-
 #~ msgid "Description:"
 #~ msgstr "Описание:"
 
@@ -5612,15 +6716,9 @@
 #~ msgid "ISRC number:"
 #~ msgstr "Номер ISRC:"
 
-#~ msgid "Organization:"
-#~ msgstr "Организация:"
-
 #~ msgid " Ogg Vorbis ReplayGain "
 #~ msgstr " Ogg Vorbis ReplayGain "
 
-#~ msgid "Track gain:"
-#~ msgstr "Усиление дорожки:"
-
 #~ msgid "Track peak:"
 #~ msgstr "Пик дорожки:"
 
@@ -5660,9 +6758,6 @@
 #~ msgid "%d Bytes"
 #~ msgstr "%d байт"
 
-#~ msgid "%s - Audacious"
-#~ msgstr "%s - Audacious"
-
 #~ msgid "Use software volume control"
 #~ msgstr "Использовать программный регулятор громкости"
 
@@ -5699,10 +6794,6 @@
 #~ msgstr "11000 Гц"
 
 #, fuzzy
-#~ msgid "16000"
-#~ msgstr "11000 Гц"
-
-#, fuzzy
 #~ msgid "24000"
 #~ msgstr "22000 Гц"
 
@@ -5764,13 +6855,6 @@
 #~ "Тестирование цифрового считывания неудачно: %s\n"
 #~ "\n"
 
-#~ msgid ""
-#~ "Failed to check directory %s\n"
-#~ "Error: %s"
-#~ msgstr ""
-#~ "Не удалось проверить каталог %s\n"
-#~ "Ошибка: %s"
-
 #~ msgid "Error: %s exist, but is not a directory"
 #~ msgstr "Ошибка: %s существует, но не является каталогом"
 
@@ -5801,9 +6885,6 @@
 #~ msgid "Check drive..."
 #~ msgstr "Проверить привод"
 
-#~ msgid "Remove drive"
-#~ msgstr "Удалить привод"
-
 #~ msgid "CD Audio Player Configuration"
 #~ msgstr "Настройка проигрывателя компакт дисков"
 
@@ -5822,9 +6903,6 @@
 #~ msgid "Get server list"
 #~ msgstr "Получить список серверов"
 
-#~ msgid "Show network window"
-#~ msgstr "Показать окно сети"
-
 #~ msgid "CDDB server:"
 #~ msgstr "Cервер CDDB:"
 
@@ -6159,12 +7237,6 @@
 #~ msgid "Noise shaping"
 #~ msgstr "Подавление шума"
 
-#~ msgid "low"
-#~ msgstr "низкое"
-
-#~ msgid "medium"
-#~ msgstr "среднее"
-
 #~ msgid "high"
 #~ msgstr "высокое"
 
--- a/po/sk.po	Thu Jul 03 17:23:34 2008 +0300
+++ b/po/sk.po	Thu Jul 03 17:37:11 2008 +0300
@@ -6,8 +6,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: audacious-plugins\n"
-"Report-Msgid-Bugs-To: http://bugs.audacious-media-player.org\n"
-"POT-Creation-Date: 2008-03-30 17:25+0200\n"
+"Report-Msgid-Bugs-To: http://bugzilla.atheme.org/\n"
+"POT-Creation-Date: 2008-06-21 08:27+0300\n"
 "PO-Revision-Date: 2007-03-14 02:18+0100\n"
 "Last-Translator: Andrej Herceg <herceg.andrej@zoznam.sk>\n"
 "Language-Team: \n"
@@ -16,50 +16,50 @@
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms:  nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
 
-#: src/aac/libmp4.c:286
+#: src/aac/libmp4.c:283
 msgid "Using libfaad2-"
 msgstr ""
 
-#: src/aac/libmp4.c:287
+#: src/aac/libmp4.c:284
 msgid ""
 " for decoding.\n"
 "FAAD2 AAC/HE-AAC/HE-AACv2/DRM decoder (c) Nero AG, www.nero.com\n"
 "Copyright (c) 2005-2006 Audacious team"
 msgstr ""
 
-#: src/aac/libmp4.c:291
+#: src/aac/libmp4.c:288
 #, fuzzy
 msgid "About MP4 AAC player plugin"
 msgstr "O module Flac"
 
-#: src/aac/libmp4.c:293 src/adplug/adplug-xmms.cc:182
-#: src/adplug/adplug-xmms.cc:265 src/adplug/adplug-xmms.cc:526
-#: src/alac/plugin.c:77 src/arts/arts.c:26 src/arts/configure.c:90
-#: src/audiocompress/audacious-glue.c:102
-#: src/audiocompress/audacious-glue.c:552 src/cdaudio-ng/configure.c:228
-#: src/console/Audacious_Driver.cxx:449 src/demac/plugin.c:393
-#: src/echo_plugin/gui.c:26 src/echo_plugin/gui.c:137 src/esd/about.c:49
-#: src/filewriter/filewriter.c:183 src/jack/configure.c:141
-#: src/jack/jack.c:456 src/madplug/plugin.c:542 src/madplug/plugin.c:566
-#: src/metronom/metronom.c:88 src/modplug/gui/main.cxx:49
-#: src/musepack/libmpc.cxx:232 src/null/null.c:67 src/null/null.c:110
-#: src/OSS4/about.c:59 src/OSS/about.c:54 src/paranormal-ng/plugin.c:283
-#: src/paranormal/plugin.c:291 src/scrobbler/gtkstuff.c:25
-#: src/sndfile/plugin.c:565 src/statusicon/si_ui.c:628
-#: src/stereo_plugin/stereo.c:53 src/stereo_plugin/stereo.c:116
-#: src/sun/about.c:38 src/sun/configure.c:559 src/timidity/interface.c:222
-#: src/timidity/xmms-timidity.c:120 src/tonegen/tonegen.c:62
-#: src/tta/libtta.c:153 src/tta/libtta.c:267 src/tta/libtta.c:402
-#: src/vorbis/vorbis.c:700 src/vtx/about.c:32 src/vtx/info.c:43
-#: src/wavpack/ui.cxx:56 src/wavpack/ui.cxx:556
+#: src/aac/libmp4.c:290 src/adplug/adplug-xmms.cc:180
+#: src/adplug/adplug-xmms.cc:263 src/adplug/adplug-xmms.cc:524
+#: src/alac/plugin.c:74 src/arts/arts.c:25 src/arts/configure.c:90
+#: src/audiocompress/audacious-glue.c:110
+#: src/audiocompress/audacious-glue.c:560 src/cdaudio-ng/configure.c:242
+#: src/console/Audacious_Driver.cxx:447 src/crystalizer/crystalizer.c:113
+#: src/demac/plugin.c:364 src/echo_plugin/gui.c:24 src/echo_plugin/gui.c:135
+#: src/esd/about.c:48 src/filewriter/filewriter.c:183 src/jack/configure.c:140
+#: src/jack/jack.c:454 src/madplug/plugin.c:679 src/madplug/plugin.c:703
+#: src/metronom/metronom.c:87 src/modplug/gui/main.cxx:52
+#: src/musepack/libmpc.cxx:228 src/null/null.c:64 src/null/null.c:107
+#: src/OSS4/OSS4.c:55 src/OSS/OSS.c:52 src/paranormal-ng/plugin.c:282
+#: src/paranormal/plugin.c:290 src/scrobbler/gtkstuff.c:22
+#: src/sndfile/plugin.c:571 src/statusicon/si_ui.c:626
+#: src/stereo_plugin/stereo.c:52 src/stereo_plugin/stereo.c:115
+#: src/sun/about.c:37 src/sun/configure.c:557 src/timidity/interface.c:222
+#: src/timidity/xmms-timidity.c:117 src/tonegen/tonegen.c:61
+#: src/tta/libtta.c:150 src/tta/libtta.c:264 src/tta/libtta.c:399
+#: src/vorbis/vorbis.c:696 src/vtx/about.c:26 src/vtx/info.c:38
+#: src/wavpack/ui.cxx:54 src/wavpack/ui.cxx:554
 msgid "Ok"
 msgstr "OK"
 
-#: src/adplug/adplug-xmms.cc:171
+#: src/adplug/adplug-xmms.cc:169
 msgid "About "
 msgstr "O "
 
-#: src/adplug/adplug-xmms.cc:175
+#: src/adplug/adplug-xmms.cc:173
 msgid ""
 "\n"
 "Copyright (C) 2002, 2003 Simon Peter <dn.tlp@gmx.net>\n"
@@ -80,212 +80,212 @@
 "Modul používa knižnicu AdPlug, copyright (C) Simon Peter a iný.\n"
 "Zostavené s AdPlug knižnicou verzie: "
 
-#: src/adplug/adplug-xmms.cc:256
+#: src/adplug/adplug-xmms.cc:254
 #, fuzzy
 msgid "AdPlug :: Configuration"
 msgstr "AMIDI-Plug - nastavenie"
 
-#: src/adplug/adplug-xmms.cc:275 src/alarm/interface.c:1398
+#: src/adplug/adplug-xmms.cc:273 src/alarm/interface.c:1398
 #: src/alsa/configure.c:389 src/arts/configure.c:91
-#: src/audiocompress/audacious-glue.c:557 src/cdaudio-ng/configure.c:232
-#: src/echo_plugin/gui.c:145 src/jack/configure.c:148
-#: src/modplug/gui/interface.cxx:714 src/modplug/gui/modplug.glade:1668
-#: src/musepack/libmpc.cxx:237 src/musepack/libmpc.cxx:557 src/null/null.c:111
-#: src/sid/xmms-sid.glade:3080 src/sid/xs_interface.c:1250
-#: src/stereo_plugin/stereo.c:125 src/sun/configure.c:567
-#: src/timidity/interface.c:230 src/wavpack/ui.cxx:280 src/wavpack/ui.cxx:563
+#: src/audiocompress/audacious-glue.c:565 src/cdaudio-ng/configure.c:246
+#: src/crystalizer/crystalizer.c:122 src/echo_plugin/gui.c:143
+#: src/jack/configure.c:147 src/modplug/gui/interface.cxx:714
+#: src/modplug/gui/modplug.glade:1668 src/musepack/libmpc.cxx:233
+#: src/musepack/libmpc.cxx:553 src/null/null.c:108
+#: src/stereo_plugin/stereo.c:124 src/sun/configure.c:565
+#: src/timidity/interface.c:230 src/wavpack/ui.cxx:278 src/wavpack/ui.cxx:561
 msgid "Cancel"
 msgstr "Zrušiť"
 
-#: src/adplug/adplug-xmms.cc:291 src/console/Audacious_Config.cxx:145
-#: src/madplug/configure.c:290 src/modplug/gui/interface.cxx:628
+#: src/adplug/adplug-xmms.cc:289 src/console/Audacious_Config.cxx:144
+#: src/madplug/configure.c:289 src/modplug/gui/interface.cxx:628
 #: src/modplug/gui/interface.cxx:887 src/modplug/gui/modplug.glade:1404
 #: src/modplug/gui/modplug.glade:1804
 msgid "General"
 msgstr "Všeobecné"
 
-#: src/adplug/adplug-xmms.cc:303
+#: src/adplug/adplug-xmms.cc:301
 #, fuzzy
 msgid "Sound quality"
 msgstr "Zvukový klip"
 
-#: src/adplug/adplug-xmms.cc:308 src/modplug/gui/interface.cxx:187
+#: src/adplug/adplug-xmms.cc:306 src/modplug/gui/interface.cxx:187
 #: src/modplug/gui/modplug.glade:113
 msgid "Resolution"
 msgstr "Rozlíšenie"
 
-#: src/adplug/adplug-xmms.cc:310
+#: src/adplug/adplug-xmms.cc:308
 #, fuzzy
 msgid "8bit"
 msgstr "8 bitov"
 
-#: src/adplug/adplug-xmms.cc:315
+#: src/adplug/adplug-xmms.cc:313
 #, fuzzy
 msgid "16bit"
 msgstr "16 bitov"
 
-#: src/adplug/adplug-xmms.cc:323 src/modplug/gui/interface.cxx:218
+#: src/adplug/adplug-xmms.cc:321 src/modplug/gui/interface.cxx:218
 #: src/modplug/gui/modplug.glade:199 src/timidity/interface.c:148
 msgid "Channels"
 msgstr "Počet kanálov"
 
-#: src/adplug/adplug-xmms.cc:325 src/filewriter/mp3.c:900
-#: src/sid/xmms-sid.glade:157 src/sid/xs_interface.c:288
+#: src/adplug/adplug-xmms.cc:323 src/filewriter/mp3.c:900
+#: src/sid/xmms-sid.glade:157 src/sid/xs_interface.c:300
 #: src/timidity/interface.c:165
 msgid "Mono"
 msgstr "Mono"
 
-#: src/adplug/adplug-xmms.cc:330 src/filewriter/mp3.c:895
+#: src/adplug/adplug-xmms.cc:328 src/filewriter/mp3.c:895
 #: src/modplug/gui/interface.cxx:204 src/modplug/gui/modplug.glade:159
-#: src/sid/xmms-sid.glade:176 src/sid/xs_interface.c:295
+#: src/sid/xmms-sid.glade:176 src/sid/xs_interface.c:307
 #: src/timidity/interface.c:173
 msgid "Stereo"
 msgstr "Stereo"
 
-#: src/adplug/adplug-xmms.cc:334
+#: src/adplug/adplug-xmms.cc:332
 msgid ""
 "Setting stereo is not recommended, unless you need to. This won't add any "
 "stereo effects to the sound - OPL2 is just mono - but eats up more CPU power!"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:342
+#: src/adplug/adplug-xmms.cc:340
 msgid "Frequency"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:378 src/adplug/adplug-xmms.cc:582
-#: src/console/Audacious_Config.cxx:147
+#: src/adplug/adplug-xmms.cc:376 src/adplug/adplug-xmms.cc:580
+#: src/console/Audacious_Config.cxx:146 src/skins/ui_manager.c:175
 msgid "Playback"
 msgstr "Prehrať"
 
-#: src/adplug/adplug-xmms.cc:382
+#: src/adplug/adplug-xmms.cc:380
 msgid "Detect songend"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:386
+#: src/adplug/adplug-xmms.cc:384
 msgid ""
 "If enabled, XMMS will detect a song's ending, stop it and advance in the "
 "playlist. If disabled, XMMS won't take notice of a song's ending and loop it "
 "all over again and again."
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:397
+#: src/adplug/adplug-xmms.cc:395
 #, fuzzy
 msgid "Formats"
 msgstr "Formát:"
 
-#: src/adplug/adplug-xmms.cc:404
+#: src/adplug/adplug-xmms.cc:402
 #, fuzzy
 msgid "Format selection"
 msgstr "Výber koncového zariadenia"
 
-#: src/adplug/adplug-xmms.cc:407
+#: src/adplug/adplug-xmms.cc:405
 #, fuzzy
 msgid "Format"
 msgstr "Formát:"
 
-#: src/adplug/adplug-xmms.cc:407
+#: src/adplug/adplug-xmms.cc:405
 msgid "Extension"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:447
+#: src/adplug/adplug-xmms.cc:445
 msgid ""
 "Selected file types will be recognized and played back by this plugin. "
 "Deselected types will be ignored to make room for other plugins to play "
 "these files."
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:533
+#: src/adplug/adplug-xmms.cc:531
 msgid "AdPlug :: File Info"
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:555 src/amidi-plug/i_configure-fluidsynth.c:448
+#: src/adplug/adplug-xmms.cc:553 src/amidi-plug/i_configure-fluidsynth.c:448
 msgid "Filename"
 msgstr "Meno súboru"
 
-#: src/adplug/adplug-xmms.cc:559
+#: src/adplug/adplug-xmms.cc:557 src/skins/ui_playlist.c:470
 #, fuzzy
 msgid "Title: "
 msgstr "Názov:"
 
+#: src/adplug/adplug-xmms.cc:558
+msgid "Author: "
+msgstr ""
+
+#: src/adplug/adplug-xmms.cc:559
+#, fuzzy
+msgid "File Type: "
+msgstr "Veľkosť súboru:"
+
 #: src/adplug/adplug-xmms.cc:560
-msgid "Author: "
+msgid "Subsongs: "
 msgstr ""
 
 #: src/adplug/adplug-xmms.cc:561
 #, fuzzy
-msgid "File Type: "
-msgstr "Veľkosť súboru:"
-
-#: src/adplug/adplug-xmms.cc:562
-msgid "Subsongs: "
-msgstr ""
-
-#: src/adplug/adplug-xmms.cc:563
-#, fuzzy
 msgid "Instruments: "
 msgstr "Inštrumentálna"
 
-#: src/adplug/adplug-xmms.cc:568
+#: src/adplug/adplug-xmms.cc:566
 msgid "Orders: "
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:569
+#: src/adplug/adplug-xmms.cc:567
 msgid "Patterns: "
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:573
+#: src/adplug/adplug-xmms.cc:571
 #, fuzzy
 msgid "Song"
 msgstr "Swing"
 
-#: src/adplug/adplug-xmms.cc:599
+#: src/adplug/adplug-xmms.cc:597
 #, fuzzy
 msgid "Instrument name"
 msgstr "Inštrumentálna"
 
-#: src/adplug/adplug-xmms.cc:641
+#: src/adplug/adplug-xmms.cc:639
 #, fuzzy
 msgid "Song message"
 msgstr "Zmena skladby %s"
 
-#: src/adplug/adplug-xmms.cc:663
+#: src/adplug/adplug-xmms.cc:661
 #, fuzzy
 msgid "Subsong selection"
 msgstr "Výber koncového zariadenia"
 
-#: src/adplug/adplug-xmms.cc:727
+#: src/adplug/adplug-xmms.cc:725
 msgid "Order: "
 msgstr ""
 
+#: src/adplug/adplug-xmms.cc:726
+msgid "Pattern: "
+msgstr ""
+
 #: src/adplug/adplug-xmms.cc:728
-msgid "Pattern: "
-msgstr ""
-
-#: src/adplug/adplug-xmms.cc:730
 msgid "Row: "
 msgstr ""
 
-#: src/adplug/adplug-xmms.cc:731
+#: src/adplug/adplug-xmms.cc:729
 #, fuzzy
 msgid "Speed: "
 msgstr "Hovorené slovo"
 
-#: src/adplug/adplug-xmms.cc:732
+#: src/adplug/adplug-xmms.cc:730
 #, fuzzy
 msgid "Timer: "
 msgstr "Čas. pomer:"
 
-#: src/adplug/adplug-xmms.cc:733 src/console/Audacious_Config.cxx:225
-#: src/sid/xmms-sid.glade:332 src/sid/xs_interface.c:341
+#: src/adplug/adplug-xmms.cc:731 src/console/Audacious_Config.cxx:224
+#: src/sid/xmms-sid.glade:332 src/sid/xs_interface.c:353
 msgid "Hz"
 msgstr "Hz"
 
-#: src/alac/plugin.c:74
+#: src/alac/plugin.c:71
 #, fuzzy
 msgid "About Apple Lossless Audio Plugin"
 msgstr "O module Ogg Vorbis Audio"
 
-#: src/alac/plugin.c:75
+#: src/alac/plugin.c:72
 msgid ""
 "Copyright (c) 2006 Audacious team\n"
 "Portions (c) 2005-2006 David Hammerton <crazney -at- crazney.net>"
@@ -313,8 +313,8 @@
 
 #: src/alarm/interface.c:71 src/lirc/about.c:115
 #: src/modplug/gui/interface.cxx:971 src/modplug/gui/modplug.glade:2030
-#: src/sid/xmms-sid.glade:3643 src/sid/xs_about.c:214
-#: src/sid/xs_interface.c:1740
+#: src/sid/xmms-sid.glade:3837 src/sid/xs_about.c:214
+#: src/sid/xs_interface.c:1824
 msgid "Close"
 msgstr "Zatvoriť"
 
@@ -326,13 +326,12 @@
 msgid "This is your wakeup call."
 msgstr ""
 
-#: src/alarm/interface.c:124 src/alarm/interface.c:1389 src/alsa/about.c:46
+#: src/alarm/interface.c:124 src/alarm/interface.c:1389 src/alsa/about.c:45
 #: src/alsa/configure.c:383 src/cdaudio-ng/cdaudio-ng.c:247
-#: src/flacng/plugin.c:706 src/gnomeshortcuts/gnomeshortcuts.c:311
-#: src/hotkey/gui.c:671 src/modplug/gui/interface.cxx:702
-#: src/modplug/gui/modplug.glade:1642 src/pulse_audio/pulse_audio.c:738
-#: src/scrobbler/gtkstuff.c:45 src/sid/xmms-sid.glade:3066
-#: src/sid/xs_interface.c:1243
+#: src/flacng/plugin.c:705 src/gnomeshortcuts/gnomeshortcuts.c:310
+#: src/hotkey/gui.c:670 src/modplug/gui/interface.cxx:702
+#: src/modplug/gui/modplug.glade:1642 src/pulse_audio/pulse_audio.c:736
+#: src/scrobbler/gtkstuff.c:42 src/skins/plugin.c:130
 msgid "OK"
 msgstr "OK"
 
@@ -405,7 +404,8 @@
 #: src/alarm/interface.c:612 src/alarm/interface.c:660
 #: src/alarm/interface.c:708 src/alarm/interface.c:756
 #: src/alarm/interface.c:804 src/alarm/interface.c:852
-#: src/alarm/interface.c:900 src/OSS4/configure.c:138 src/OSS/configure.c:169
+#: src/alarm/interface.c:900 src/OSS4/configure.c:136 src/OSS/configure.c:168
+#: src/skins/ui_manager.c:447 src/skins/ui_manager.c:468
 msgid "Default"
 msgstr "Štandardné"
 
@@ -453,9 +453,9 @@
 msgstr "Rozsvietenie:"
 
 #: src/alarm/interface.c:1087 src/sid/xmms-sid.glade:2007
-#: src/sid/xmms-sid.glade:2178 src/sid/xmms-sid.glade:2676
-#: src/sid/xs_interface.c:908 src/sid/xs_interface.c:962
-#: src/sid/xs_interface.c:1122
+#: src/sid/xmms-sid.glade:2178 src/sid/xmms-sid.glade:2746
+#: src/sid/xs_interface.c:920 src/sid/xs_interface.c:974
+#: src/sid/xs_interface.c:1154
 #, fuzzy
 msgid "seconds"
 msgstr "sekúnd"
@@ -516,7 +516,7 @@
 msgid "Use reminder"
 msgstr "užívateľom definované"
 
-#: src/alarm/interface.c:1328 src/sndstretch/sndstretch_xmms.c:377
+#: src/alarm/interface.c:1328 src/sndstretch/sndstretch_xmms.c:376
 #, fuzzy
 msgid "Options"
 msgstr "Nastavenia:"
@@ -580,7 +580,7 @@
 "    toggle button if you want it to be shown.\n"
 msgstr ""
 
-#: src/alarm/interface.c:1366
+#: src/alarm/interface.c:1366 src/skins/ui_manager.c:386
 msgid "Help"
 msgstr ""
 
@@ -593,11 +593,11 @@
 msgid "Thankyou"
 msgstr "Tango"
 
-#: src/alsa/about.c:30
+#: src/alsa/about.c:29
 msgid "About ALSA Driver"
 msgstr "O ovládači ALSA"
 
-#: src/alsa/about.c:31
+#: src/alsa/about.c:30
 msgid ""
 "Audacious ALSA Driver\n"
 "\n"
@@ -646,8 +646,8 @@
 msgid "ALSA Driver configuration"
 msgstr "Nastavenie ovládača ALSA"
 
-#: src/alsa/configure.c:274 src/OSS4/configure.c:186 src/OSS/configure.c:217
-#: src/sun/configure.c:183
+#: src/alsa/configure.c:274 src/OSS4/configure.c:184 src/OSS/configure.c:216
+#: src/sun/configure.c:181
 msgid "Audio device:"
 msgstr "Zvukové zariadenie:"
 
@@ -659,7 +659,7 @@
 msgid "Mixer card:"
 msgstr "Karta s mixérom:"
 
-#: src/alsa/configure.c:313 src/OSS/configure.c:260 src/sun/configure.c:220
+#: src/alsa/configure.c:313 src/OSS/configure.c:259 src/sun/configure.c:218
 msgid "Mixer device:"
 msgstr "Zariadenie mixéru:"
 
@@ -1387,8 +1387,8 @@
 "backend</span>"
 msgstr "<span size=\"smaller\">štd.</span>"
 
-#: src/amidi-plug/i_fileinfo.c:169 src/sid/xmms-sid.glade:3465
-#: src/sid/xs_interface.c:1684
+#: src/amidi-plug/i_fileinfo.c:169 src/sid/xmms-sid.glade:3659
+#: src/sid/xs_interface.c:1768
 msgid "Name:"
 msgstr "Meno:"
 
@@ -1493,19 +1493,19 @@
 msgid "None"
 msgstr "Žiadne"
 
-#: src/aosd/aosd_trigger.c:75
+#: src/aosd/aosd_trigger.c:74
 msgid "Playback Start"
 msgstr "Začiatok prehrávania"
 
-#: src/aosd/aosd_trigger.c:76
+#: src/aosd/aosd_trigger.c:75
 msgid "Triggers OSD when a playlist entry is played."
 msgstr "OSD sa zobrazí pri zahájení prehrávania položky zo zoznamu skladieb."
 
-#: src/aosd/aosd_trigger.c:80
+#: src/aosd/aosd_trigger.c:79
 msgid "Title Change"
 msgstr "Zmena názvu"
 
-#: src/aosd/aosd_trigger.c:81
+#: src/aosd/aosd_trigger.c:80
 #, fuzzy
 msgid ""
 "Triggers OSD when, during playback, the song title changes but the filename "
@@ -1516,30 +1516,30 @@
 "nezmenené. Vhodné je to hlavne na zobrazenie zmien názvov pri prehrávaní "
 "internetových prúdov."
 
-#: src/aosd/aosd_trigger.c:87
+#: src/aosd/aosd_trigger.c:86
 #, fuzzy
 msgid "Volume Change"
 msgstr "Zmena názvu"
 
-#: src/aosd/aosd_trigger.c:88
+#: src/aosd/aosd_trigger.c:87
 #, fuzzy
 msgid "Triggers OSD when volume is changed."
 msgstr "OSD sa zobrazí pri zahájení prehrávania položky zo zoznamu skladieb."
 
-#: src/aosd/aosd_trigger.c:92
+#: src/aosd/aosd_trigger.c:91
 msgid "Pause On"
 msgstr ""
 
-#: src/aosd/aosd_trigger.c:93
+#: src/aosd/aosd_trigger.c:92
 #, fuzzy
 msgid "Triggers OSD when playback is paused."
 msgstr "OSD sa zobrazí pri zahájení prehrávania položky zo zoznamu skladieb."
 
-#: src/aosd/aosd_trigger.c:97
+#: src/aosd/aosd_trigger.c:96
 msgid "Pause Off"
 msgstr ""
 
-#: src/aosd/aosd_trigger.c:98
+#: src/aosd/aosd_trigger.c:97
 #, fuzzy
 msgid "Triggers OSD when playback is unpaused."
 msgstr "OSD sa zobrazí pri zahájení prehrávania položky zo zoznamu skladieb."
@@ -1640,10 +1640,10 @@
 msgid "Skin file:"
 msgstr "Súbor s motívom:"
 
-#: src/aosd/aosd_ui.c:644 src/sid/xmms-sid.glade:2331
-#: src/sid/xmms-sid.glade:2856 src/sid/xmms-sid.glade:2962
-#: src/sid/xs_interface.c:1010 src/sid/xs_interface.c:1182
-#: src/sid/xs_interface.c:1218
+#: src/aosd/aosd_ui.c:644 src/sid/xmms-sid.glade:2373
+#: src/sid/xmms-sid.glade:2968 src/sid/xmms-sid.glade:3136
+#: src/sid/xs_interface.c:1043 src/sid/xs_interface.c:1235
+#: src/sid/xs_interface.c:1291
 msgid "Browse"
 msgstr "Prechádzať"
 
@@ -1724,9 +1724,9 @@
 msgid "Trigger"
 msgstr "Spúšťač"
 
-#: src/aosd/aosd_ui.c:1076 src/cdaudio-ng/configure.c:167
+#: src/aosd/aosd_ui.c:1076 src/cdaudio-ng/configure.c:175
 #: src/modplug/gui/interface.cxx:688 src/modplug/gui/modplug.glade:1603
-#: src/sid/xmms-sid.glade:3026 src/sid/xs_interface.c:1229
+#: src/sid/xmms-sid.glade:3220 src/sid/xs_interface.c:1301
 #, fuzzy
 msgid "Misc"
 msgstr "Disko"
@@ -1766,12 +1766,12 @@
 "http://neugierig.org/software/ghosd/\n"
 "\n"
 
-#: src/arts/arts.c:22
+#: src/arts/arts.c:21
 #, fuzzy
 msgid "About aRts Output"
 msgstr "O slepom výstupnom module"
 
-#: src/arts/arts.c:23
+#: src/arts/arts.c:22
 msgid ""
 "aRts output plugin by Håvard Kvålen <havardk@xmms.org>\n"
 "Audacious port by Giacomo Lozito from develia.org"
@@ -1781,26 +1781,26 @@
 msgid "aRts Driver configuration"
 msgstr "Nastavenia ovládača aRts"
 
-#: src/arts/configure.c:61 src/esd/configure.c:171 src/OSS4/configure.c:232
-#: src/OSS/configure.c:304 src/sun/configure.c:259
+#: src/arts/configure.c:61 src/esd/configure.c:171 src/OSS4/configure.c:230
+#: src/OSS/configure.c:303 src/sun/configure.c:257
 msgid "Buffering:"
 msgstr "Vyrovnávanie:"
 
-#: src/arts/configure.c:73 src/esd/configure.c:184 src/OSS4/configure.c:245
-#: src/OSS/configure.c:317 src/sun/configure.c:272
+#: src/arts/configure.c:73 src/esd/configure.c:184 src/OSS4/configure.c:243
+#: src/OSS/configure.c:316 src/sun/configure.c:270
 msgid "Buffer size (ms):"
 msgstr "Veľkosť vyrovnávacej pamäte (ms):"
 
-#: src/arts/configure.c:83 src/esd/configure.c:209 src/OSS4/configure.c:270
-#: src/OSS/configure.c:342 src/sun/configure.c:304
+#: src/arts/configure.c:83 src/esd/configure.c:209 src/OSS4/configure.c:268
+#: src/OSS/configure.c:341 src/sun/configure.c:302
 msgid "Buffering"
 msgstr "Vyrovnávanie"
 
-#: src/audiocompress/audacious-glue.c:95
+#: src/audiocompress/audacious-glue.c:103
 msgid "AudioCompress "
 msgstr "AudioKopresor"
 
-#: src/audiocompress/audacious-glue.c:96
+#: src/audiocompress/audacious-glue.c:104
 msgid ""
 "\n"
 "(c)2003 trikuare studios(http://trikuare.cx)\n"
@@ -1816,111 +1816,111 @@
 "Jednoduchý zhusťovač dynamického rozsahu udržujúci\n"
 "hlasitosť na viac-menej rovnakej úrovni"
 
-#: src/audiocompress/audacious-glue.c:101
+#: src/audiocompress/audacious-glue.c:109
 msgid "About AudioCompress"
 msgstr "O AudioKompresore"
 
-#: src/audiocompress/audacious-glue.c:320
+#: src/audiocompress/audacious-glue.c:328
 msgid ""
 "If checked, when the sound peaks the volume will be cut instantly; "
 "otherwise, it will ramp down just in time for the peak (but some minor "
 "clipping may still occur)."
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:324
+#: src/audiocompress/audacious-glue.c:332
 msgid "The maximum amount to amplify the audio by"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:326
+#: src/audiocompress/audacious-glue.c:334
 msgid "Defines how smoothly the volume will ramp up"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:328
+#: src/audiocompress/audacious-glue.c:336
 msgid ""
 "The target audio level for ramping up. Lowering the value gives a bit more "
 "dynamic range for peaks, but will make the overall sound quieter."
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:331
+#: src/audiocompress/audacious-glue.c:339
 msgid "How long of a window to maintain"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:372
+#: src/audiocompress/audacious-glue.c:380
 #, fuzzy
 msgid "AudioCompress preferences"
 msgstr "AudioKopresor"
 
-#: src/audiocompress/audacious-glue.c:389
+#: src/audiocompress/audacious-glue.c:397
 msgid " Quality Options "
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:394
+#: src/audiocompress/audacious-glue.c:402
 msgid " Aggressively prevent clipping"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:406
+#: src/audiocompress/audacious-glue.c:414
 msgid " Target & gain"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:417
-msgid "Target audio level:"
-msgstr ""
-
 #: src/audiocompress/audacious-glue.c:425
+msgid "Target audio level:"
+msgstr ""
+
+#: src/audiocompress/audacious-glue.c:433
 #, fuzzy
 msgid "Maximum gain:"
 msgstr "Zosilnenie albumu:"
 
-#: src/audiocompress/audacious-glue.c:433
+#: src/audiocompress/audacious-glue.c:441
 msgid "Gain smooth:"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:485
+#: src/audiocompress/audacious-glue.c:493
 msgid " History "
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:517
+#: src/audiocompress/audacious-glue.c:525
 msgid ""
 "How long of a history to maintain.  A higher number will make the volume "
 "changes less responsive."
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:528
+#: src/audiocompress/audacious-glue.c:536
 msgid "Load default values"
 msgstr ""
 
-#: src/audiocompress/audacious-glue.c:533
+#: src/audiocompress/audacious-glue.c:541
 #, fuzzy
 msgid "Audio values"
 msgstr "Zvukové zariadenie:"
 
-#: src/audiocompress/audacious-glue.c:562 src/echo_plugin/gui.c:152
-#: src/modplug/gui/interface.cxx:708 src/modplug/gui/modplug.glade:1655
-#: src/stereo_plugin/stereo.c:132
+#: src/audiocompress/audacious-glue.c:570 src/crystalizer/crystalizer.c:129
+#: src/echo_plugin/gui.c:150 src/modplug/gui/interface.cxx:708
+#: src/modplug/gui/modplug.glade:1655 src/stereo_plugin/stereo.c:131
 msgid "Apply"
 msgstr "Použiť"
 
-#: src/blur_scope/blur_scope.c:54
+#: src/blur_scope/blur_scope.c:52
 msgid "/Toggle Decorations"
 msgstr "/Prepnúť zobrazenie dekorácií"
 
-#: src/blur_scope/blur_scope.c:56
+#: src/blur_scope/blur_scope.c:54
 msgid "/-"
 msgstr "/-"
 
-#: src/blur_scope/blur_scope.c:57
+#: src/blur_scope/blur_scope.c:55
 msgid "/Close"
 msgstr "/Zatvoriť"
 
-#: src/blur_scope/blur_scope.c:181
+#: src/blur_scope/blur_scope.c:179
 msgid "Blur scope"
 msgstr "Blur scope"
 
-#: src/blur_scope/config.c:72
+#: src/blur_scope/config.c:71
 msgid "Blur Scope: Color selection"
 msgstr "Blur Scope: Výber farby"
 
-#: src/blur_scope/config.c:82 src/jack/configure.c:108
+#: src/blur_scope/config.c:81 src/jack/configure.c:107
 msgid "Options:"
 msgstr "Nastavenia:"
 
@@ -1950,109 +1950,114 @@
 "This was a Google Summer of Code 2007 project."
 msgstr ""
 
-#: src/cdaudio-ng/cdaudio-ng.c:814
+#: src/cdaudio-ng/cdaudio-ng.c:815
 msgid ""
 "<b><big>No playable CD found.</big></b>\n"
 "\n"
 "No CD inserted, or inserted CD is not an audio CD.\n"
 msgstr ""
 
-#: src/cdaudio-ng/configure.c:147
+#: src/cdaudio-ng/configure.c:155
 #, fuzzy
 msgid "CD Audio Plugin Configuration"
 msgstr "Nastavenie modulu MPEG Audio"
 
-#: src/cdaudio-ng/configure.c:157
+#: src/cdaudio-ng/configure.c:165
 msgid "Digital audio extraction"
 msgstr "Digitálne"
 
-#: src/cdaudio-ng/configure.c:162
+#: src/cdaudio-ng/configure.c:170
 #, fuzzy
 msgid "Title information"
 msgstr "Formát názvu:"
 
-#: src/cdaudio-ng/configure.c:179
+#: src/cdaudio-ng/configure.c:187
 msgid "Limit read speed to: "
 msgstr ""
 
-#: src/cdaudio-ng/configure.c:186
-msgid "Use cd-text if available"
-msgstr ""
-
-#: src/cdaudio-ng/configure.c:190
-msgid "Use CDDB if available"
-msgstr ""
-
 #: src/cdaudio-ng/configure.c:194
+msgid "Use cd-text if available"
+msgstr ""
+
+#: src/cdaudio-ng/configure.c:198
+msgid "Use CDDB if available"
+msgstr ""
+
+#: src/cdaudio-ng/configure.c:202
 #, fuzzy
 msgid "Server: "
 msgstr "Server"
 
-#: src/cdaudio-ng/configure.c:197
+#: src/cdaudio-ng/configure.c:205
+#, fuzzy
+msgid "Path: "
+msgstr "Port:"
+
+#: src/cdaudio-ng/configure.c:208
 #, fuzzy
 msgid "Port: "
 msgstr "Port:"
 
-#: src/cdaudio-ng/configure.c:203
+#: src/cdaudio-ng/configure.c:217
 msgid "Use HTTP instead of CDDBP"
 msgstr ""
 
-#: src/cdaudio-ng/configure.c:211
+#: src/cdaudio-ng/configure.c:225
 msgid "Override default device: "
 msgstr ""
 
-#: src/cdaudio-ng/configure.c:218
+#: src/cdaudio-ng/configure.c:232
 msgid "Print debug information"
 msgstr ""
 
-#: src/console/Audacious_Config.cxx:125
+#: src/console/Audacious_Config.cxx:124
 msgid "Console Music Decoder"
 msgstr "Dekodér konzolovej hudby"
 
-#: src/console/Audacious_Config.cxx:162
+#: src/console/Audacious_Config.cxx:161
 msgid "Bass:"
 msgstr "Hĺbky:"
 
-#: src/console/Audacious_Config.cxx:166 src/console/Audacious_Config.cxx:177
-#: src/console/Audacious_Config.cxx:198
+#: src/console/Audacious_Config.cxx:165 src/console/Audacious_Config.cxx:176
+#: src/console/Audacious_Config.cxx:197
 msgid "secs"
 msgstr "sekúnd"
 
-#: src/console/Audacious_Config.cxx:173
+#: src/console/Audacious_Config.cxx:172
 msgid "Treble:"
 msgstr "Výšky:"
 
-#: src/console/Audacious_Config.cxx:194
+#: src/console/Audacious_Config.cxx:193
 msgid "Default song length:"
 msgstr "Štandardná dĺžka skladby:"
 
-#: src/console/Audacious_Config.cxx:200 src/modplug/gui/interface.cxx:268
+#: src/console/Audacious_Config.cxx:199 src/modplug/gui/interface.cxx:268
 #: src/modplug/gui/modplug.glade:338 src/sid/xmms-sid.glade:1243
-#: src/sid/xs_interface.c:653
+#: src/sid/xs_interface.c:665
 msgid "Resampling"
 msgstr "Prevzorkovanie"
 
-#: src/console/Audacious_Config.cxx:206
+#: src/console/Audacious_Config.cxx:205
 msgid "Enable audio resampling"
 msgstr "Povoliť prevzorkovanie zvuku"
 
-#: src/console/Audacious_Config.cxx:221
+#: src/console/Audacious_Config.cxx:220
 msgid "Resampling rate:"
 msgstr "Prevzorkovať na:"
 
-#: src/console/Audacious_Config.cxx:236
+#: src/console/Audacious_Config.cxx:235
 msgid "SPC"
 msgstr "SPC"
 
+#: src/console/Audacious_Config.cxx:236
+msgid "Ignore length from SPC tags"
+msgstr "Ignorovať dĺžku z SPC značiak"
+
 #: src/console/Audacious_Config.cxx:237
-msgid "Ignore length from SPC tags"
-msgstr "Ignorovať dĺžku z SPC značiak"
-
-#: src/console/Audacious_Config.cxx:238
 msgid "Increase reverb"
 msgstr ""
 
-#: src/console/Audacious_Config.cxx:263
+#: src/console/Audacious_Config.cxx:262
 #, fuzzy
 msgid ""
 "The default song length, expressed in seconds, is used for songs that do not "
@@ -2062,11 +2067,11 @@
 "Štandardná dĺžka skladby, vyjadrená v sekundách, je použitá pri skladbách, "
 "ktoré neposkytujú informáciu o dĺžke (napr. skladby s opakovaním)."
 
-#: src/console/Audacious_Driver.cxx:444
+#: src/console/Audacious_Driver.cxx:442
 msgid "About the Console Music Decoder"
 msgstr "O dekodéry konzolovej hudby"
 
-#: src/console/Audacious_Driver.cxx:445
+#: src/console/Audacious_Driver.cxx:443
 msgid ""
 "Console music decoder engine based on Game_Music_Emu 0.5.2.\n"
 "Supported formats: AY, GBS, GYM, HES, KSS, NSF, NSFE, SAP, SPC, VGM, VGZ\n"
@@ -2078,12 +2083,21 @@
 "Pre Audiacious upravili: William Pitcock <nenolod@nenolod.net>,\n"
 "        Shay Green <gblargg@gmail.com>"
 
-#: src/demac/plugin.c:388
+#: src/crystalizer/crystalizer.c:90
+#, fuzzy
+msgid "Configure Crystalizer"
+msgstr "Nastaviť Extra stereo"
+
+#: src/crystalizer/crystalizer.c:92 src/stereo_plugin/stereo.c:94
+msgid "Effect intensity:"
+msgstr "Sila efektu:"
+
+#: src/demac/plugin.c:359
 #, fuzzy
 msgid "About Monkey's Audio Plugin"
 msgstr "Modul MPEG Audio"
 
-#: src/demac/plugin.c:389
+#: src/demac/plugin.c:360
 msgid ""
 "Copyright (C) 2007 Eugene Zagidullin <e.asphyx@gmail.com>\n"
 "Based on ffape decoder, Copyright (C) 2007 Benjamin Zores\n"
@@ -2092,7 +2106,7 @@
 "ffape is a part of FFmpeg project, http://ffmpeg.mplayerhq.hu/"
 msgstr ""
 
-#: src/echo_plugin/gui.c:11
+#: src/echo_plugin/gui.c:9
 msgid ""
 "Echo Plugin\n"
 "By Johan Levin 1999.\n"
@@ -2104,35 +2118,35 @@
 "\n"
 "Priestorové echo napísal Carl van Shaik, 1999"
 
-#: src/echo_plugin/gui.c:25
+#: src/echo_plugin/gui.c:23
 msgid "About Echo Plugin"
 msgstr "O module Ozvena"
 
-#: src/echo_plugin/gui.c:76
+#: src/echo_plugin/gui.c:74
 msgid "Configure Echo"
 msgstr "Nastaviť ozvenu"
 
-#: src/echo_plugin/gui.c:89
+#: src/echo_plugin/gui.c:87
 msgid "Delay: (ms)"
 msgstr "Oneskorenie (ms):"
 
-#: src/echo_plugin/gui.c:94
+#: src/echo_plugin/gui.c:92
 msgid "Feedback: (%)"
 msgstr "Spätná väzba (%):"
 
-#: src/echo_plugin/gui.c:99
+#: src/echo_plugin/gui.c:97
 msgid "Volume: (%)"
 msgstr "Hlasitosť (%):"
 
-#: src/echo_plugin/gui.c:122
+#: src/echo_plugin/gui.c:120
 msgid "Surround echo"
 msgstr "Priestorová ozvena"
 
-#: src/esd/about.c:34
+#: src/esd/about.c:33
 msgid "About ESounD Plugin"
 msgstr "O module ESounD"
 
-#: src/esd/about.c:35
+#: src/esd/about.c:34
 msgid ""
 "Audacious ESounD Plugin\n"
 "\n"
@@ -2191,8 +2205,8 @@
 msgid "Server"
 msgstr "Server"
 
-#: src/esd/configure.c:198 src/OSS4/configure.c:259 src/OSS/configure.c:331
-#: src/sun/configure.c:290
+#: src/esd/configure.c:198 src/OSS4/configure.c:257 src/OSS/configure.c:330
+#: src/sun/configure.c:288
 msgid "Pre-buffer (percent):"
 msgstr "Dopredu načítať (v percentách):"
 
@@ -2264,7 +2278,7 @@
 msgid "Window->JumpToFile"
 msgstr "Okno->Presun na súbor"
 
-#: src/evdev-plug/ed_internals.c:94
+#: src/evdev-plug/ed_internals.c:93
 #, c-format
 msgid ""
 "event-device-plugin: unable to open device file %s , skipping this device; "
@@ -2274,7 +2288,7 @@
 "vynechá; skontrolujte, či súbor zariadenia existuje a či máte právo ho "
 "čítať\n"
 
-#: src/evdev-plug/ed_internals.c:103
+#: src/evdev-plug/ed_internals.c:102
 #, c-format
 msgid ""
 "event-device-plugin: unable to create a io_channel for device file %s ,"
@@ -2283,7 +2297,7 @@
 "event-device-plugin: vstupno-výstupný kanál pre zariadenie %s sa nedá "
 "vytvoriť, zariadenie bude vynechané\n"
 
-#: src/evdev-plug/ed_internals.c:342
+#: src/evdev-plug/ed_internals.c:341
 msgid ""
 "event-device-plugin: unable to open /proc/bus/input/devices , automatic "
 "detection of event devices won't work.\n"
@@ -2291,7 +2305,7 @@
 "event-device-plugin: súbor /proc/bus/input/devices sa nedá otvoriť, "
 "automatické detekcia udalostných zariadení nebude fungovať.\n"
 
-#: src/evdev-plug/ed_internals.c:351
+#: src/evdev-plug/ed_internals.c:350
 msgid ""
 "event-device-plugin: unable to open a io_channel for /proc/bus/input/"
 "devices , automatic detection of event devices won't work.\n"
@@ -2299,7 +2313,7 @@
 "event-device-plugin: vstupno-výstupný kanál pre /proc/bus/input/devices sa "
 "nedá otvoriť, automatické detekcia udalostných zariadení nebude fungovať.\n"
 
-#: src/evdev-plug/ed_internals.c:361
+#: src/evdev-plug/ed_internals.c:360
 msgid ""
 "event-device-plugin: an error occurred while reading /proc/bus/input/"
 "devices , automatic detection of event devices won't work.\n"
@@ -2307,14 +2321,14 @@
 "event-device-plugin: pri čítaní /proc/bus/input/devices nastala chyba, "
 "automatické detekcia udalostných zariadení nebude fungovať.\n"
 
-#: src/evdev-plug/ed_internals.c:424
+#: src/evdev-plug/ed_internals.c:423
 #, c-format
 msgid "event-device-plugin: device %s not found in /dev/input , skipping.\n"
 msgstr ""
 "event-device-plugin: zariadenie %s nebolo nájdené v /dev/input; zariadenie "
 "bude vynechané.\n"
 
-#: src/evdev-plug/ed_internals.c:489 src/evdev-plug/ed_internals.c:583
+#: src/evdev-plug/ed_internals.c:488 src/evdev-plug/ed_internals.c:582
 #, c-format
 msgid ""
 "event-device-plugin: unable to load config file %s , default settings will "
@@ -2323,7 +2337,7 @@
 "event-device-plugin: konfiguračný súbor %s sa nedá načítať,budú použité "
 "štandardné nastavenia.\n"
 
-#: src/evdev-plug/ed_internals.c:535
+#: src/evdev-plug/ed_internals.c:534
 #, c-format
 msgid ""
 "event-device-plugin: incomplete information in config file for device \"%s"
@@ -2332,7 +2346,7 @@
 "event-device-plugin: v konfiguračnom súbore sú neúplné informácie pre "
 "zariadenie %s, zariadenie bude vynechané\n"
 
-#: src/evdev-plug/ed_internals.c:604 src/evdev-plug/ed_internals.c:936
+#: src/evdev-plug/ed_internals.c:603 src/evdev-plug/ed_internals.c:935
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get is_active value for device "
@@ -2341,7 +2355,7 @@
 "event-device-plugin: konfigurácia: nedá sa získať hodnota is_active pre "
 "zariadenie %s, zariadenie bude vynechané\n"
 
-#: src/evdev-plug/ed_internals.c:840
+#: src/evdev-plug/ed_internals.c:839
 #, c-format
 msgid ""
 "event-device-plugin: unable to access local directory %s , settings will not "
@@ -2350,7 +2364,7 @@
 "event-device-plugin: prístup k lokálnemu adresáru %s bol odoprený, "
 "nastavenia nebudú uložené.\n"
 
-#: src/evdev-plug/ed_internals.c:890
+#: src/evdev-plug/ed_internals.c:889
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get filename value for device "
@@ -2359,7 +2373,7 @@
 "event-device-plugin: konfigurácia: hodnotu filename pre zariadenie %s sa "
 "nepodarilo získať, zariadenie bude vynechané\n"
 
-#: src/evdev-plug/ed_internals.c:906
+#: src/evdev-plug/ed_internals.c:905
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get phys value for device \"%s"
@@ -2368,7 +2382,7 @@
 "event-device-plugin: konfigurácia: hodnotu phys pre zariadenie %s sa "
 "nepodarilo získať, zariadenie bude vynechané\n"
 
-#: src/evdev-plug/ed_internals.c:922
+#: src/evdev-plug/ed_internals.c:921
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get is_custom value for device "
@@ -2377,7 +2391,7 @@
 "event-device-plugin: konfigurácia: hodnotu is_custom pre zariadenie %s sa "
 "nepodarilo získať, zariadenie bude vynechané\n"
 
-#: src/evdev-plug/ed_internals.c:946
+#: src/evdev-plug/ed_internals.c:945
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unexpected value for device \"%s\", "
@@ -2399,7 +2413,7 @@
 "Okno s prepojeniami pre nedetekované zariadenie sa nedá otvoriť.\n"
 "Uistite sa, že zariadenie je správne pripojené."
 
-#: src/evdev-plug/ed_ui.c:319 src/madplug/plugin.c:566
+#: src/evdev-plug/ed_ui.c:319 src/madplug/plugin.c:703
 msgid "Error"
 msgstr "Chyba"
 
@@ -2464,7 +2478,7 @@
 msgid "Active"
 msgstr "Aktívne"
 
-#: src/evdev-plug/ed_ui.c:655 src/sun/configure.c:488
+#: src/evdev-plug/ed_ui.c:655 src/sun/configure.c:486
 msgid "Status"
 msgstr "Stav"
 
@@ -2594,7 +2608,7 @@
 msgid "Output file format:"
 msgstr "Adresár s výstupnými súbormi:"
 
-#: src/filewriter/filewriter.c:511 src/ladspa/ladspa.c:960
+#: src/filewriter/filewriter.c:511 src/ladspa/ladspa.c:959
 #, fuzzy
 msgid "Configure"
 msgstr "Nastaviť ozvenu"
@@ -2836,12 +2850,12 @@
 msgid "Quality level (0 - 10):"
 msgstr ""
 
-#: src/flacng/plugin.c:698
+#: src/flacng/plugin.c:697
 #, fuzzy
 msgid "FLAC Audio Plugin "
 msgstr "Modul Flac Audio"
 
-#: src/flacng/plugin.c:699
+#: src/flacng/plugin.c:698
 msgid ""
 "\n"
 "\n"
@@ -2851,17 +2865,17 @@
 "http://www.skytale.net/projects/bmp-flac2/"
 msgstr ""
 
-#: src/flacng/plugin.c:704
+#: src/flacng/plugin.c:703
 #, fuzzy
 msgid "About FLAC Audio Plugin"
 msgstr "Modul Flac Audio"
 
-#: src/gnomeshortcuts/gnomeshortcuts.c:306
+#: src/gnomeshortcuts/gnomeshortcuts.c:305
 #, fuzzy
 msgid "About Gnome Shortcut Plugin"
 msgstr "O module ESounD"
 
-#: src/gnomeshortcuts/gnomeshortcuts.c:307
+#: src/gnomeshortcuts/gnomeshortcuts.c:306
 msgid ""
 "Gnome Shortcut Plugin\n"
 "Let's you control the player with Gnome's shortcuts.\n"
@@ -2874,7 +2888,7 @@
 msgid "Previous Track"
 msgstr ""
 
-#: src/hotkey/gui.c:69
+#: src/hotkey/gui.c:69 src/skins/ui_manager.c:177 src/skins/ui_manager.c:178
 #, fuzzy
 msgid "Play"
 msgstr "Spôsob prehrávania:"
@@ -2884,7 +2898,7 @@
 msgid "Pause/Resume"
 msgstr "hodnota:"
 
-#: src/hotkey/gui.c:71
+#: src/hotkey/gui.c:71 src/skins/ui_manager.c:183 src/skins/ui_manager.c:184
 #, fuzzy
 msgid "Stop"
 msgstr "na:"
@@ -2917,7 +2931,7 @@
 msgid "Volume Down"
 msgstr "Hlasitosť->Znížiť o 5"
 
-#: src/hotkey/gui.c:78
+#: src/hotkey/gui.c:78 src/skins/ui_manager.c:422 src/skins/ui_manager.c:423
 #, fuzzy
 msgid "Jump to File"
 msgstr "Okno->Presun na súbor"
@@ -2973,12 +2987,12 @@
 msgid "<b>Key Binding:</b>"
 msgstr ""
 
-#: src/hotkey/gui.c:660
+#: src/hotkey/gui.c:659
 #, fuzzy
 msgid "About Global Hotkey Plugin"
 msgstr "O module Scrobbler"
 
-#: src/hotkey/gui.c:661
+#: src/hotkey/gui.c:660
 msgid ""
 "Global Hotkey Plugin\n"
 "Control the player with global key combinations or multimedia keys.\n"
@@ -2994,38 +3008,38 @@
 "\n"
 msgstr ""
 
-#: src/jack/configure.c:70
+#: src/jack/configure.c:69
 msgid "Connect to all available jack ports"
 msgstr ""
 
-#: src/jack/configure.c:77
+#: src/jack/configure.c:76
 msgid "Connect only the output ports"
 msgstr ""
 
-#: src/jack/configure.c:84
+#: src/jack/configure.c:83
 msgid "Connect to no ports"
 msgstr ""
 
-#: src/jack/configure.c:99
+#: src/jack/configure.c:98
 #, fuzzy
 msgid "jack Plugin configuration"
 msgstr "Nastavenie výstupného modulu ESD"
 
-#: src/jack/configure.c:117
+#: src/jack/configure.c:116
 msgid "Connection mode:"
 msgstr ""
 
-#: src/jack/configure.c:129
+#: src/jack/configure.c:128
 #, fuzzy
 msgid "Enable debug printing"
 msgstr "Povoliť rozptýlenie"
 
-#: src/jack/jack.c:84
+#: src/jack/jack.c:82
 #, fuzzy
 msgid "Sample rate mismatch"
 msgstr "Vzorkovacia frekvencia:"
 
-#: src/jack/jack.c:87
+#: src/jack/jack.c:85
 msgid ""
 "Xmms is asking for a sample rate that differs from\n"
 " that of the jack server.  Xmms 1.2.8 or later\n"
@@ -3039,15 +3053,15 @@
 "Chris Morgan <cmorgan@alum.wpi.edu>\n"
 msgstr ""
 
-#: src/jack/jack.c:100 src/wma/wma.c:148
+#: src/jack/jack.c:98 src/wma/wma.c:145
 msgid " Close "
 msgstr " Zatvoriť "
 
-#: src/jack/jack.c:452
+#: src/jack/jack.c:450
 msgid "About JACK Output Plugin 0.17"
 msgstr "O výstupnom module JACK 0.17"
 
-#: src/jack/jack.c:453
+#: src/jack/jack.c:451
 msgid ""
 "XMMS jack Driver 0.17\n"
 "\n"
@@ -3065,41 +3079,41 @@
 "Pre Audacious upravil\n"
 "Giacomo Lozito z develia.org"
 
-#: src/ladspa/ladspa.c:722
+#: src/ladspa/ladspa.c:721
 msgid "This LADSPA plugin has no user controls"
 msgstr ""
 
-#: src/ladspa/ladspa.c:767 src/ladspa/ladspa.c:853
+#: src/ladspa/ladspa.c:766 src/ladspa/ladspa.c:852
 #, fuzzy
 msgid "Name"
 msgstr "Meno:"
 
-#: src/ladspa/ladspa.c:853
+#: src/ladspa/ladspa.c:852
 msgid "UID"
 msgstr ""
 
-#: src/ladspa/ladspa.c:928
+#: src/ladspa/ladspa.c:927
 msgid "Installed plugins"
 msgstr ""
 
-#: src/ladspa/ladspa.c:937
+#: src/ladspa/ladspa.c:936
 msgid "Running plugins"
 msgstr ""
 
-#: src/ladspa/ladspa.c:952
+#: src/ladspa/ladspa.c:951
 msgid "Add"
 msgstr ""
 
-#: src/ladspa/ladspa.c:956
+#: src/ladspa/ladspa.c:955
 #, fuzzy
 msgid "Remove"
 msgstr "Odstrániť značku"
 
-#: src/ladspa/ladspa.c:969
+#: src/ladspa/ladspa.c:968
 msgid "LADSPA Plugin Catalog"
 msgstr ""
 
-#: src/lastfm/lastfm.c:96
+#: src/lastfm/lastfm.c:94
 msgid ""
 "<b><big>Couldn't initialize the last.fm radio plugin.</big></b>\n"
 "\n"
@@ -3198,59 +3212,59 @@
 msgid "%s: will try reconnect every %d seconds...\n"
 msgstr ""
 
-#: src/madplug/configure.c:209
+#: src/madplug/configure.c:208
 msgid "MPEG Audio Plugin Configuration"
 msgstr "Nastavenie modulu MPEG Audio"
 
-#: src/madplug/configure.c:226
+#: src/madplug/configure.c:225
 #, fuzzy
 msgid "Audio Settings"
 msgstr "Nastavenia mixéru:"
 
-#: src/madplug/configure.c:234
+#: src/madplug/configure.c:233
 msgid "Force reopen audio when audio type changed"
 msgstr ""
 
-#: src/madplug/configure.c:243
+#: src/madplug/configure.c:242
 #, fuzzy
 msgid "Metadata Settings"
 msgstr "Nastavenia mixéru:"
 
-#: src/madplug/configure.c:252
+#: src/madplug/configure.c:251
 msgid "Enable fast play-length calculation"
 msgstr "Povoliť rýchly výpočet dĺžky hrania"
 
-#: src/madplug/configure.c:259
+#: src/madplug/configure.c:258
 msgid "Parse XING headers"
 msgstr "Spracovať XING hlavičky"
 
-#: src/madplug/configure.c:266
+#: src/madplug/configure.c:265
 msgid "Use SJIS to write ID3 tags (not recommended)"
 msgstr ""
 
-#: src/madplug/configure.c:273
+#: src/madplug/configure.c:272
 #, fuzzy
 msgid "Miscellaneous Settings"
 msgstr "Nastavenia mixéru:"
 
-#: src/madplug/configure.c:282
+#: src/madplug/configure.c:281
 msgid "Display average bitrate for VBR"
 msgstr ""
 
-#: src/madplug/configure.c:296 src/vorbis/configure.c:102
+#: src/madplug/configure.c:295 src/vorbis/configure.c:100
 msgid "Override generic titles"
 msgstr "Používať vlastný formát názvu"
 
-#: src/madplug/configure.c:308
+#: src/madplug/configure.c:307
 msgid "ID3 format:"
 msgstr "Formát ID3:"
 
-#: src/madplug/configure.c:320 src/sid/xmms-sid.glade:2540
-#: src/sid/xs_interface.c:1070
+#: src/madplug/configure.c:319 src/sid/xmms-sid.glade:2610
+#: src/sid/xs_interface.c:1102
 msgid "Title"
 msgstr "Názov"
 
-#: src/madplug/plugin.c:524
+#: src/madplug/plugin.c:661
 #, c-format
 msgid ""
 "Audacious MPEG Audio Plugin\n"
@@ -3268,17 +3282,17 @@
 "    Samuel Krempp"
 msgstr ""
 
-#: src/madplug/plugin.c:540
+#: src/madplug/plugin.c:677
 #, fuzzy
 msgid "About MPEG Audio Plugin"
 msgstr "Modul MPEG Audio"
 
-#: src/metronom/metronom.c:87
+#: src/metronom/metronom.c:86
 #, fuzzy
 msgid "About Metronom"
 msgstr "O "
 
-#: src/metronom/metronom.c:88
+#: src/metronom/metronom.c:87
 msgid ""
 "A Tact Generator by Martin Strauss <mys@faveve.uni-stuttgart.de>\n"
 "\n"
@@ -3287,12 +3301,12 @@
 "or   tact://60*3/4 to play 60 bpm in 3/4 tacts"
 msgstr ""
 
-#: src/metronom/metronom.c:198 src/metronom/metronom.c:262
+#: src/metronom/metronom.c:197 src/metronom/metronom.c:261
 #, fuzzy, c-format
 msgid "Tact generator: %d bpm"
 msgstr "Generátor tónov:"
 
-#: src/metronom/metronom.c:200 src/metronom/metronom.c:264
+#: src/metronom/metronom.c:199 src/metronom/metronom.c:263
 #, c-format
 msgid "Tact generator: %d bpm %d/%d"
 msgstr ""
@@ -3500,11 +3514,11 @@
 msgid "Message"
 msgstr ""
 
-#: src/modplug/gui/main.cxx:45
+#: src/modplug/gui/main.cxx:48
 msgid "Modplug Input Plugin for Audacious ver"
 msgstr ""
 
-#: src/modplug/gui/main.cxx:46
+#: src/modplug/gui/main.cxx:49
 msgid ""
 "\n"
 "Modplug sound engine written by Olivier Lapicque.\n"
@@ -3514,7 +3528,7 @@
 "Ported to BMP by Theofilos Intzoglou."
 msgstr ""
 
-#: src/modplug/gui/main.cxx:49
+#: src/modplug/gui/main.cxx:52
 #, fuzzy
 msgid "About Modplug"
 msgstr "O module Ozvena"
@@ -3525,27 +3539,27 @@
 msgid "Couldn't find pixmap file: %s"
 msgstr "MIDI súbor sa nepodarilo načítať"
 
-#: src/mtp_up/mtp.c:35
+#: src/mtp_up/mtp.c:33
 msgid "Upload selected track(s)"
 msgstr ""
 
-#: src/mtp_up/mtp.c:296
+#: src/mtp_up/mtp.c:294
 msgid "Upload in progress..."
 msgstr ""
 
-#: src/mtp_up/mtp.c:305
+#: src/mtp_up/mtp.c:303
 msgid "MTP device handler"
 msgstr ""
 
-#: src/mtp_up/mtp.c:309
+#: src/mtp_up/mtp.c:307
 msgid "Disconnect the device"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:146
+#: src/musepack/libmpc.cxx:142
 msgid "Musepack Decoder Plugin 1.2"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:147
+#: src/musepack/libmpc.cxx:143
 msgid ""
 "Plugin code by\n"
 "Benoit Amiaux\n"
@@ -3555,184 +3569,185 @@
 "Get latest version at http://musepack.net\n"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:148
+#: src/musepack/libmpc.cxx:144
 msgid "Nevermind"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:166
+#: src/musepack/libmpc.cxx:162
 #, fuzzy
 msgid "Musepack Decoder Configuration"
 msgstr "Nastavenie Disk Writer"
 
-#: src/musepack/libmpc.cxx:176
+#: src/musepack/libmpc.cxx:172
 #, fuzzy
 msgid "General Settings"
 msgstr "Nastavenia mixéru:"
 
-#: src/musepack/libmpc.cxx:183 src/wavpack/ui.cxx:492
+#: src/musepack/libmpc.cxx:179 src/wavpack/ui.cxx:490
 msgid "Enable Dynamic Bitrate Display"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:187 src/wavpack/ui.cxx:498
+#: src/musepack/libmpc.cxx:183 src/wavpack/ui.cxx:496
 #, fuzzy
 msgid "Plugin"
 msgstr "Modul LIRC"
 
-#: src/musepack/libmpc.cxx:190
+#: src/musepack/libmpc.cxx:186
 #, fuzzy
 msgid "ReplayGain Settings"
 msgstr "Nastavenia zosilnenia prehrávania:"
 
-#: src/musepack/libmpc.cxx:197 src/wavpack/ui.cxx:510
+#: src/musepack/libmpc.cxx:193 src/wavpack/ui.cxx:508
 msgid "Enable Clipping Prevention"
 msgstr "Povoliť prevenciu orezania"
 
-#: src/musepack/libmpc.cxx:202 src/wavpack/ui.cxx:515
+#: src/musepack/libmpc.cxx:198 src/wavpack/ui.cxx:513
 msgid "Enable ReplayGain"
 msgstr "Zapnúť zosilnenie pri prehrávaní"
 
-#: src/musepack/libmpc.cxx:207
+#: src/musepack/libmpc.cxx:203
 #, fuzzy
 msgid "ReplayGain Type"
 msgstr "Typ zosilnenia:"
 
-#: src/musepack/libmpc.cxx:215
+#: src/musepack/libmpc.cxx:211
 #, fuzzy
 msgid "Use Track Gain"
 msgstr "použiť zosilnenie podľa vrcholu v skladbe"
 
-#: src/musepack/libmpc.cxx:219
+#: src/musepack/libmpc.cxx:215
 #, fuzzy
 msgid "Use Album Gain"
 msgstr "použiť zosilnenie podľa vrcholu na albume"
 
-#: src/musepack/libmpc.cxx:224 src/wavpack/ui.cxx:547
+#: src/musepack/libmpc.cxx:220 src/wavpack/ui.cxx:545
 msgid "ReplayGain"
 msgstr "Zosilnenie prehrávanie"
 
-#: src/musepack/libmpc.cxx:491 src/sid/xmms-sid.glade:3144
-#: src/sid/xs_interface.c:1564 src/tta/libtta.c:304 src/wavpack/ui.cxx:152
+#: src/musepack/libmpc.cxx:487 src/sid/xmms-sid.glade:3338
+#: src/sid/xs_interface.c:1648 src/tta/libtta.c:301 src/wavpack/ui.cxx:150
 msgid "Filename:"
 msgstr "Meno súboru:"
 
-#: src/musepack/libmpc.cxx:506
+#: src/musepack/libmpc.cxx:502
 msgid "Musepack Tag"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:514 src/tta/libtta.c:323 src/wavpack/ui.cxx:172
+#: src/musepack/libmpc.cxx:510 src/tta/libtta.c:320 src/wavpack/ui.cxx:170
 msgid "Title:"
 msgstr "Názov:"
 
-#: src/musepack/libmpc.cxx:518 src/tta/libtta.c:333 src/wavpack/ui.cxx:184
+#: src/musepack/libmpc.cxx:514 src/tta/libtta.c:330 src/wavpack/ui.cxx:182
 msgid "Artist:"
 msgstr "Umelec:"
 
-#: src/musepack/libmpc.cxx:522 src/tta/libtta.c:344 src/wavpack/ui.cxx:196
+#: src/musepack/libmpc.cxx:518 src/tta/libtta.c:341 src/wavpack/ui.cxx:194
 msgid "Album:"
 msgstr "Album:"
 
-#: src/musepack/libmpc.cxx:526 src/tta/libtta.c:355 src/wavpack/ui.cxx:208
+#: src/musepack/libmpc.cxx:522 src/tta/libtta.c:352 src/wavpack/ui.cxx:206
 msgid "Comment:"
 msgstr "Komentár:"
 
-#: src/musepack/libmpc.cxx:530 src/tta/libtta.c:366 src/wavpack/ui.cxx:221
+#: src/musepack/libmpc.cxx:526 src/tta/libtta.c:363 src/wavpack/ui.cxx:219
 msgid "Year:"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:535
+#: src/musepack/libmpc.cxx:531
 #, fuzzy
 msgid "Track:"
 msgstr "Zosilnenie skladby:"
 
-#: src/musepack/libmpc.cxx:540 src/tta/libtta.c:390 src/wavpack/ui.cxx:248
+#: src/musepack/libmpc.cxx:536 src/tta/libtta.c:387 src/wavpack/ui.cxx:246
 msgid "Genre:"
 msgstr "Žáner:"
 
-#: src/musepack/libmpc.cxx:551 src/sid/xmms-sid.glade:1732
-#: src/sid/xs_interface.c:820 src/wavpack/ui.cxx:267
+#: src/musepack/libmpc.cxx:547 src/sid/xmms-sid.glade:1732
+#: src/sid/xs_interface.c:832 src/skins/ui_manager.c:438
+#: src/wavpack/ui.cxx:265
 msgid "Save"
 msgstr "Uložiť"
 
-#: src/musepack/libmpc.cxx:554 src/wavpack/ui.cxx:273
+#: src/musepack/libmpc.cxx:550 src/wavpack/ui.cxx:271
 msgid "Remove Tag"
 msgstr "Odstrániť značku"
 
-#: src/musepack/libmpc.cxx:562
+#: src/musepack/libmpc.cxx:558
 msgid "Musepack Info"
 msgstr ""
 
+#: src/musepack/libmpc.cxx:591
+#, c-format
+msgid "Streamversion %d"
+msgstr ""
+
+#: src/musepack/libmpc.cxx:592
+#, c-format
+msgid "Encoder: %s"
+msgstr ""
+
+#: src/musepack/libmpc.cxx:593
+#, c-format
+msgid "Profile: %s"
+msgstr ""
+
+#: src/musepack/libmpc.cxx:594
+#, c-format
+msgid "Average bitrate: %6.1f kbps"
+msgstr ""
+
 #: src/musepack/libmpc.cxx:595
 #, c-format
-msgid "Streamversion %d"
-msgstr ""
+msgid "Samplerate: %d Hz"
+msgstr "Vzorkovacia frekvencia: %d Hz"
 
 #: src/musepack/libmpc.cxx:596
 #, c-format
-msgid "Encoder: %s"
-msgstr ""
+msgid "Channels: %d"
+msgstr "Počet kanálov: %d"
 
 #: src/musepack/libmpc.cxx:597
-#, c-format
-msgid "Profile: %s"
-msgstr ""
-
-#: src/musepack/libmpc.cxx:598
-#, c-format
-msgid "Average bitrate: %6.1f kbps"
-msgstr ""
-
-#: src/musepack/libmpc.cxx:599
-#, c-format
-msgid "Samplerate: %d Hz"
-msgstr "Vzorkovacia frekvencia: %d Hz"
-
-#: src/musepack/libmpc.cxx:600
-#, c-format
-msgid "Channels: %d"
-msgstr "Počet kanálov: %d"
-
-#: src/musepack/libmpc.cxx:601
 #, fuzzy, c-format
 msgid "Length: %d:\\%.2d"
 msgstr ""
 "Vzorkov: %llu\n"
 "Dĺžka: %d:%.2d"
 
-#: src/musepack/libmpc.cxx:602
+#: src/musepack/libmpc.cxx:598
 #, fuzzy, c-format
 msgid "File size: %d Bytes"
 msgstr "Veľkosť súboru: %ld B"
 
-#: src/musepack/libmpc.cxx:603
+#: src/musepack/libmpc.cxx:599
 #, fuzzy, c-format
 msgid "Track Peak: %5u"
 msgstr "Vrchol skladby:"
 
-#: src/musepack/libmpc.cxx:604
+#: src/musepack/libmpc.cxx:600
 #, fuzzy, c-format
 msgid "Track Gain: %-+2.2f dB"
 msgstr "Zosilnenie stopy: %+2.2f dB"
 
-#: src/musepack/libmpc.cxx:605
+#: src/musepack/libmpc.cxx:601
 #, fuzzy, c-format
 msgid "Album Peak: %5u"
 msgstr "Vrchol albumu:"
 
-#: src/musepack/libmpc.cxx:606
+#: src/musepack/libmpc.cxx:602
 #, fuzzy, c-format
 msgid "Album Gain: %-+5.2f dB"
 msgstr "Zosilnenie albumu: %+2.2f dB"
 
-#: src/musepack/libmpc.cxx:634 src/tta/libtta.c:413 src/wavpack/ui.cxx:409
+#: src/musepack/libmpc.cxx:630 src/tta/libtta.c:410 src/wavpack/ui.cxx:407
 #, c-format
 msgid "File Info - %s"
 msgstr "Informácie o súbore - %s"
 
-#: src/null/null.c:61
+#: src/null/null.c:58
 msgid "Null output plugin "
 msgstr "Slepý výstupný modul"
 
-#: src/null/null.c:62
+#: src/null/null.c:59
 #, fuzzy
 msgid ""
 " by Christian Birchinger <joker@netswarm.net>\n"
@@ -3742,25 +3757,54 @@
 " založené na module pre XMMS, autorom ktorého je Håvard Kvål <havardk@xmms."
 "org>"
 
-#: src/null/null.c:65
+#: src/null/null.c:62
 msgid "About Null Output"
 msgstr "O slepom výstupnom module"
 
-#: src/null/null.c:94
+#: src/null/null.c:91
 #, fuzzy
 msgid "Null output preferences"
 msgstr "Slepý výstupný modul"
 
-#: src/null/null.c:103
+#: src/null/null.c:100
 msgid "Run in real time"
 msgstr ""
 
-#: src/OSS4/about.c:42
+#: src/OSS4/configure.c:118 src/OSS/configure.c:150
+#, c-format
+msgid "Default (%s)"
+msgstr "Štandardné (%s)"
+
+#: src/OSS4/configure.c:168 src/OSS/configure.c:200
+msgid "OSS Driver configuration"
+msgstr "Nastavenie ovládača OSS"
+
+#: src/OSS4/configure.c:206 src/OSS/configure.c:238 src/OSS/configure.c:279
+msgid "Use alternate device:"
+msgstr "Použiť iné zariadenie:"
+
+#: src/OSS4/configure.c:228 src/OSS/configure.c:301 src/sun/configure.c:246
+msgid "Devices"
+msgstr "Zariadenia"
+
+#: src/OSS4/configure.c:270 src/OSS/configure.c:342
+msgid "Mixer Settings:"
+msgstr "Nastavenia mixéru:"
+
+#: src/OSS4/configure.c:276
+msgid "Save VMIX volume between sessions"
+msgstr ""
+
+#: src/OSS4/configure.c:282 src/OSS/configure.c:354 src/sun/configure.c:392
+msgid "Mixer"
+msgstr "Mixér"
+
+#: src/OSS4/OSS4.c:38
 #, fuzzy
 msgid "About OSSv4 Driver"
 msgstr "O module OSS"
 
-#: src/OSS4/about.c:43
+#: src/OSS4/OSS4.c:39
 #, fuzzy
 msgid ""
 "Audacious OSSv4 Driver\n"
@@ -3798,40 +3842,15 @@
 "nestalo, požiadajte o ňu Free Software Foundation, Inc.,\n"
 "675 Mass Ave, Cambridge, MA 02139, USA."
 
-#: src/OSS4/configure.c:120 src/OSS/configure.c:151
-#, c-format
-msgid "Default (%s)"
-msgstr "Štandardné (%s)"
-
-#: src/OSS4/configure.c:170 src/OSS/configure.c:201
-msgid "OSS Driver configuration"
-msgstr "Nastavenie ovládača OSS"
-
-#: src/OSS4/configure.c:208 src/OSS/configure.c:239 src/OSS/configure.c:280
-msgid "Use alternate device:"
-msgstr "Použiť iné zariadenie:"
-
-#: src/OSS4/configure.c:230 src/OSS/configure.c:302 src/sun/configure.c:248
-msgid "Devices"
-msgstr "Zariadenia"
-
-#: src/OSS4/configure.c:272 src/OSS/configure.c:343
-msgid "Mixer Settings:"
-msgstr "Nastavenia mixéru:"
-
-#: src/OSS4/configure.c:278
-msgid "Save VMIX volume between sessions"
-msgstr ""
-
-#: src/OSS4/configure.c:284 src/OSS/configure.c:355 src/sun/configure.c:394
-msgid "Mixer"
-msgstr "Mixér"
-
-#: src/OSS/about.c:39
+#: src/OSS/configure.c:348
+msgid "Volume controls Master not PCM"
+msgstr "Hlasitosť je ovládaná kanálom Master a nie PCM"
+
+#: src/OSS/OSS.c:37
 msgid "About OSS Driver"
 msgstr "O module OSS"
 
-#: src/OSS/about.c:40
+#: src/OSS/OSS.c:38
 msgid ""
 "Audacious OSS Driver\n"
 "\n"
@@ -3865,20 +3884,16 @@
 "nestalo, požiadajte o ňu Free Software Foundation, Inc.,\n"
 "675 Mass Ave, Cambridge, MA 02139, USA."
 
-#: src/OSS/configure.c:349
-msgid "Volume controls Master not PCM"
-msgstr "Hlasitosť je ovládaná kanálom Master a nie PCM"
-
 #: src/projectm-1.0/main.c:70
 msgid "_Random"
 msgstr ""
 
-#: src/pulse_audio/pulse_audio.c:722
+#: src/pulse_audio/pulse_audio.c:720
 #, fuzzy
 msgid "About Audacious PulseAudio Output Plugin"
 msgstr "Základný zvukový výstupný modul"
 
-#: src/pulse_audio/pulse_audio.c:723
+#: src/pulse_audio/pulse_audio.c:721
 #, fuzzy
 msgid ""
 "Audacious PulseAudio Output Plugin\n"
@@ -3914,27 +3929,27 @@
 "nestalo, požiadajte o ňu Free Software Foundation, Inc.,\n"
 "675 Mass Ave, Cambridge, MA 02139, USA."
 
-#: src/scrobbler/configure.c:138
+#: src/scrobbler/configure.c:134
 msgid "<b>Services</b>"
 msgstr "<b>Služby</b>"
 
-#: src/scrobbler/configure.c:160 src/scrobbler/configure.c:199
+#: src/scrobbler/configure.c:156 src/scrobbler/configure.c:195
 msgid "Username:"
 msgstr "Prístupové meno:"
 
-#: src/scrobbler/configure.c:166 src/scrobbler/configure.c:205
+#: src/scrobbler/configure.c:162 src/scrobbler/configure.c:201
 msgid "Password:"
 msgstr "Heslo:"
 
-#: src/scrobbler/configure.c:183
+#: src/scrobbler/configure.c:179
 msgid "<b>Last.FM</b>"
 msgstr "<b>Last.FM</b>"
 
-#: src/scrobbler/configure.c:222
+#: src/scrobbler/configure.c:218
 msgid "<b>Gerpok</b>"
 msgstr "<b>Gerpok</b>"
 
-#: src/scrobbler/gtkstuff.c:21
+#: src/scrobbler/gtkstuff.c:18
 msgid ""
 "Audacious AudioScrobbler Plugin\n"
 "\n"
@@ -3942,11 +3957,11 @@
 "com>\n"
 msgstr ""
 
-#: src/scrobbler/gtkstuff.c:23
+#: src/scrobbler/gtkstuff.c:20
 msgid "About Scrobbler Plugin"
 msgstr "O module Scrobbler"
 
-#: src/scrobbler/gtkstuff.c:36
+#: src/scrobbler/gtkstuff.c:33
 #, c-format
 msgid ""
 "There has been an error that may require your attention.\n"
@@ -3956,116 +3971,116 @@
 "%s\n"
 msgstr ""
 
-#: src/scrobbler/gtkstuff.c:43
+#: src/scrobbler/gtkstuff.c:40
 #, fuzzy
 msgid "Scrobbler Error"
 msgstr "Modul Scrobbler"
 
-#: src/sid/xmms-sid.glade:8 src/sid/xs_interface.c:221
+#: src/sid/xmms-sid.glade:8 src/sid/xs_interface.c:233
 #, fuzzy
 msgid "Audacious-SID configuration"
 msgstr "Nastavenia OSD pre Audacious"
 
-#: src/sid/xmms-sid.glade:71 src/sid/xs_interface.c:257
+#: src/sid/xmms-sid.glade:71 src/sid/xs_interface.c:269
 #, fuzzy
 msgid "8-bit"
 msgstr "8 bitov"
 
-#: src/sid/xmms-sid.glade:90 src/sid/xs_interface.c:264
+#: src/sid/xmms-sid.glade:90 src/sid/xs_interface.c:276
 #, fuzzy
 msgid "16-bit"
 msgstr "16 bitov"
 
-#: src/sid/xmms-sid.glade:111 src/sid/xs_interface.c:271
+#: src/sid/xmms-sid.glade:111 src/sid/xs_interface.c:283
 #, fuzzy
 msgid "Resolution:"
 msgstr "Rozlíšenie"
 
-#: src/sid/xmms-sid.glade:196 src/sid/xs_interface.c:302
+#: src/sid/xmms-sid.glade:196 src/sid/xs_interface.c:314
 msgid "Autopanning"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:217 src/sid/xs_interface.c:309
+#: src/sid/xmms-sid.glade:217 src/sid/xs_interface.c:321
 msgid "Channels:"
 msgstr "Počet kanálov:"
 
-#: src/sid/xmms-sid.glade:384 src/sid/xs_interface.c:353
+#: src/sid/xmms-sid.glade:384 src/sid/xs_interface.c:365
 #, fuzzy
 msgid "Samplerate:"
 msgstr "Vzorkovacia frekvencia:"
 
-#: src/sid/xmms-sid.glade:430 src/sid/xs_interface.c:370
+#: src/sid/xmms-sid.glade:430 src/sid/xs_interface.c:382
 #, fuzzy
 msgid "Use oversampling"
 msgstr "Prevzorkovanie"
 
-#: src/sid/xmms-sid.glade:456 src/sid/xs_interface.c:381
+#: src/sid/xmms-sid.glade:456 src/sid/xs_interface.c:393
 msgid "Factor:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:500 src/sid/xs_interface.c:393
+#: src/sid/xmms-sid.glade:500 src/sid/xs_interface.c:405
 msgid "Large factors require more CPU-power"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:534 src/sid/xs_interface.c:399
+#: src/sid/xmms-sid.glade:534 src/sid/xs_interface.c:411
 #, fuzzy
 msgid "Oversampling:"
 msgstr "Prevzorkovanie"
 
-#: src/sid/xmms-sid.glade:570 src/sid/xs_interface.c:404
+#: src/sid/xmms-sid.glade:570 src/sid/xs_interface.c:416
 msgid "Audio"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:620 src/sid/xs_interface.c:436
+#: src/sid/xmms-sid.glade:620 src/sid/xs_interface.c:448
 msgid ""
 "If enabled, this option \"forces\" the emulation engine to use the selected "
 "clock speed/frequency. Otherwise the speed is determined from played file "
 "itself."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:622 src/sid/xs_interface.c:432
+#: src/sid/xmms-sid.glade:622 src/sid/xs_interface.c:444
 msgid "Force speed"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:640 src/sid/xs_interface.c:442
+#: src/sid/xmms-sid.glade:640 src/sid/xs_interface.c:454
 msgid ""
 "PAL is the european TV standard, which uses 50Hz vertical refresh frequency. "
 "Most of SID-tunes have been made for PAL computers."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:642 src/sid/xs_interface.c:438
+#: src/sid/xmms-sid.glade:642 src/sid/xs_interface.c:450
 msgid "PAL (50 Hz)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:660 src/sid/xs_interface.c:450
+#: src/sid/xmms-sid.glade:660 src/sid/xs_interface.c:462
 msgid ""
 "NTSC is the TV standard with 60Hz vertical refresh rate (and other features "
 "that differ from PAL). It is mainly used in United States, Japan and certain "
 "other countries."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:662 src/sid/xs_interface.c:446
+#: src/sid/xmms-sid.glade:662 src/sid/xs_interface.c:458
 msgid "NTSC (60 Hz)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:683 src/sid/xs_interface.c:454
+#: src/sid/xmms-sid.glade:683 src/sid/xs_interface.c:466
 #, fuzzy
 msgid "Clock speed:"
 msgstr "Rýchlosť prehrávania"
 
-#: src/sid/xmms-sid.glade:728 src/sid/xs_interface.c:475
+#: src/sid/xmms-sid.glade:728 src/sid/xs_interface.c:487
 msgid ""
 "If enabled, this option \"forces\" the emulation engine to use the selected "
 "SID-chip model. Otherwise the preferred SID model is determined from the "
 "file (if PSIDv2NG type) or if not available, this setting is used."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:730 src/sid/xs_interface.c:471
+#: src/sid/xmms-sid.glade:730 src/sid/xs_interface.c:483
 #, fuzzy
 msgid "Force model"
 msgstr "Režim stopy"
 
-#: src/sid/xmms-sid.glade:748 src/sid/xs_interface.c:481
+#: src/sid/xmms-sid.glade:748 src/sid/xs_interface.c:493
 msgid ""
 "MOS/CSG 6581 is the earlier major version of SID chip. It differs from 8580 "
 "in few ways, having much fuller filter (which, due to design error, is never "
@@ -4073,92 +4088,92 @@
 "which enables playing of digital samples."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:750 src/sid/xs_interface.c:477
+#: src/sid/xmms-sid.glade:750 src/sid/xs_interface.c:489
 msgid "MOS 6581"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:769 src/sid/xs_interface.c:485
+#: src/sid/xmms-sid.glade:769 src/sid/xs_interface.c:497
 msgid "MOS 8580"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:790 src/sid/xs_interface.c:492
+#: src/sid/xmms-sid.glade:790 src/sid/xs_interface.c:504
 #, fuzzy
 msgid "SID model:"
 msgstr "Spôsob prehrávania:"
 
-#: src/sid/xmms-sid.glade:842 src/sid/xs_interface.c:513
+#: src/sid/xmms-sid.glade:842 src/sid/xs_interface.c:525
 msgid ""
 "Use libSIDPlay 1.x emulation, faster but not so accurate. Good in most "
 "cases, though."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:844 src/sid/xs_interface.c:509
+#: src/sid/xmms-sid.glade:844 src/sid/xs_interface.c:521
 msgid "SIDPlay 1 (frame-based)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:863 src/sid/xs_interface.c:521
+#: src/sid/xmms-sid.glade:863 src/sid/xs_interface.c:533
 msgid ""
 "Use libSIDPlay 2.x emulation, which requires powerful CPU due to more exact "
 "emulation."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:865 src/sid/xs_interface.c:517
+#: src/sid/xmms-sid.glade:865 src/sid/xs_interface.c:529
 msgid "SIDPlay 2 (cycle-based)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:887 src/sid/xs_interface.c:525
+#: src/sid/xmms-sid.glade:887 src/sid/xs_interface.c:537
 msgid "Emulation library selection:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:933 src/sid/xs_interface.c:542
+#: src/sid/xmms-sid.glade:933 src/sid/xs_interface.c:554
 msgid "Real C64 (SIDPlay 2 only)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:952 src/sid/xs_interface.c:549
+#: src/sid/xmms-sid.glade:952 src/sid/xs_interface.c:561
 msgid "Bank switching"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:972 src/sid/xs_interface.c:556
+#: src/sid/xmms-sid.glade:972 src/sid/xs_interface.c:568
 #, fuzzy
 msgid "Transparent ROM"
 msgstr "Transponovať: "
 
-#: src/sid/xmms-sid.glade:992 src/sid/xs_interface.c:563
+#: src/sid/xmms-sid.glade:992 src/sid/xs_interface.c:575
 msgid "PlaySID environment"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1013 src/sid/xs_interface.c:570
+#: src/sid/xmms-sid.glade:1013 src/sid/xs_interface.c:582
 #, fuzzy
 msgid "Memory mode:"
 msgstr "Spôsob prehrávania:"
 
-#: src/sid/xmms-sid.glade:1049 src/sid/xs_interface.c:575
+#: src/sid/xmms-sid.glade:1049 src/sid/xs_interface.c:587
 msgid "Emu#1"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1093 src/sid/xs_interface.c:602
+#: src/sid/xmms-sid.glade:1093 src/sid/xs_interface.c:614
 msgid ""
 "This setting can be used to enable libSIDPlay2's \"optimization mode\", "
 "which in downgrades the emulation from cycle-exact to something similar to "
 "frame-exact. The result is lower CPU usage, but worse accuracy."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1095 src/sid/xs_interface.c:598
+#: src/sid/xmms-sid.glade:1095 src/sid/xs_interface.c:610
 msgid "Optimization mode (faster, inaccurate)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1113 src/sid/xs_interface.c:608
+#: src/sid/xmms-sid.glade:1113 src/sid/xs_interface.c:620
 msgid ""
 "reSID is the software SID-chip simulator based on SID reverse-engineering, "
 "created by Dag Lem. It is probably the closest thing to real SID available "
 "as software-only emulation."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1115 src/sid/xs_interface.c:604
+#: src/sid/xmms-sid.glade:1115 src/sid/xs_interface.c:616
 msgid "reSID-emulation"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1133 src/sid/xs_interface.c:616
+#: src/sid/xmms-sid.glade:1133 src/sid/xs_interface.c:628
 msgid ""
 "HardSID is a EISA/PCI card for PC-compatibles, which can be fitted with a "
 "real SID-chip. Software can be used to control the HardSID and combined with "
@@ -4167,49 +4182,49 @@
 "http://www.hardsid.com/"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1135 src/sid/xs_interface.c:612
+#: src/sid/xmms-sid.glade:1135 src/sid/xs_interface.c:624
 msgid "HardSID"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1156 src/sid/xs_interface.c:620
+#: src/sid/xmms-sid.glade:1156 src/sid/xs_interface.c:632
 msgid "SIDPlay 2 options:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1201 src/sid/xs_interface.c:641
+#: src/sid/xmms-sid.glade:1201 src/sid/xs_interface.c:653
 msgid ""
 "Fastest and also worst sounding sampling method, simply picks nearest "
 "neighbouring sample."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1203 src/sid/xs_interface.c:637
+#: src/sid/xmms-sid.glade:1203 src/sid/xs_interface.c:649
 msgid "Fast (nearest neighbour)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1221 src/sid/xs_interface.c:649
+#: src/sid/xmms-sid.glade:1221 src/sid/xs_interface.c:661
 msgid ""
 "Uses linear interpolation between samples, yielding higher audio quality "
 "with less sampling noise."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1223 src/sid/xs_interface.c:645
+#: src/sid/xmms-sid.glade:1223 src/sid/xs_interface.c:657
 msgid "Linear interpolation"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1263 src/sid/xs_interface.c:660
+#: src/sid/xmms-sid.glade:1263 src/sid/xs_interface.c:672
 #, fuzzy
 msgid "Resampling (FIR)"
 msgstr "Prevzorkovanie"
 
-#: src/sid/xmms-sid.glade:1284 src/sid/xs_interface.c:667
+#: src/sid/xmms-sid.glade:1284 src/sid/xs_interface.c:679
 #, fuzzy
 msgid "reSID sampling options:"
 msgstr "Prevzorkovať na:"
 
-#: src/sid/xmms-sid.glade:1320 src/sid/xs_interface.c:672
+#: src/sid/xmms-sid.glade:1320 src/sid/xs_interface.c:684
 msgid "Emu#2"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1350 src/sid/xs_interface.c:688
+#: src/sid/xmms-sid.glade:1350 src/sid/xs_interface.c:700
 msgid ""
 "This option enables emulation of SID filter. The filter is an essential part "
 "of SID's sound capacity, but accurate emulation of it may require quite much "
@@ -4217,315 +4232,326 @@
 "authentic at all if they utilize the filter."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1352 src/sid/xs_interface.c:684
+#: src/sid/xmms-sid.glade:1352 src/sid/xs_interface.c:696
 msgid "Emulate filters"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1409 src/sid/xs_interface.c:713
+#: src/sid/xmms-sid.glade:1409 src/sid/xs_interface.c:725
 msgid "FS"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1460 src/sid/xs_interface.c:730
+#: src/sid/xmms-sid.glade:1460 src/sid/xs_interface.c:742
 msgid "FM"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1511 src/sid/xs_interface.c:747
+#: src/sid/xmms-sid.glade:1511 src/sid/xs_interface.c:759
 msgid "FT"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1549 src/sid/xs_interface.c:758
+#: src/sid/xmms-sid.glade:1549 src/sid/xs_interface.c:770
 msgid "Reset values"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1578 src/sid/xs_interface.c:763
+#: src/sid/xmms-sid.glade:1578 src/sid/xs_interface.c:775
 msgid "SIDPlay1"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1690 src/sid/xs_interface.c:804
+#: src/sid/xmms-sid.glade:1690 src/sid/xs_interface.c:816
 #, fuzzy
 msgid "Export"
 msgstr "Port"
 
-#: src/sid/xmms-sid.glade:1711 src/sid/xs_interface.c:812
+#: src/sid/xmms-sid.glade:1711 src/sid/xs_interface.c:824
 msgid "Use"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1753 src/sid/xs_interface.c:828
+#: src/sid/xmms-sid.glade:1753 src/sid/xs_interface.c:840
+#: src/skins/ui_manager.c:437
 #, fuzzy
 msgid "Import"
 msgstr "Port"
 
-#: src/sid/xmms-sid.glade:1774 src/sid/xs_interface.c:836
+#: src/sid/xmms-sid.glade:1774 src/sid/xs_interface.c:848
+#: src/skins/ui_manager.c:439
 #, fuzzy
 msgid "Delete"
 msgstr "Štandardné"
 
-#: src/sid/xmms-sid.glade:1819 src/sid/xs_interface.c:850
+#: src/sid/xmms-sid.glade:1819 src/sid/xs_interface.c:862
 #, fuzzy
 msgid "Filter curve:"
 msgstr "Veľkosť súboru:"
 
-#: src/sid/xmms-sid.glade:1855 src/sid/xs_interface.c:855
+#: src/sid/xmms-sid.glade:1855 src/sid/xs_interface.c:867
 msgid "SIDPlay2"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1891 src/sid/xs_interface.c:861
+#: src/sid/xmms-sid.glade:1891 src/sid/xs_interface.c:873
 msgid "Filters"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1935 src/sid/xs_interface.c:888
+#: src/sid/xmms-sid.glade:1935 src/sid/xs_interface.c:900
 msgid ""
 "If enabled, the tune is played at least for the specified time, adding "
 "silence to the end if necessary."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:1937 src/sid/xs_interface.c:884
+#: src/sid/xmms-sid.glade:1937 src/sid/xs_interface.c:896
 #, fuzzy
 msgid "Play at least for specified time"
 msgstr "Prehrávať normálnou rýchlosťou"
 
 #: src/sid/xmms-sid.glade:1962 src/sid/xmms-sid.glade:2133
-#: src/sid/xmms-sid.glade:2632 src/sid/xs_interface.c:895
-#: src/sid/xs_interface.c:949 src/sid/xs_interface.c:1109
+#: src/sid/xmms-sid.glade:2702 src/sid/xs_interface.c:907
+#: src/sid/xs_interface.c:961 src/sid/xs_interface.c:1141
 #, fuzzy
 msgid "Playtime:"
 msgstr "Spôsob prehrávania:"
 
-#: src/sid/xmms-sid.glade:2041 src/sid/xs_interface.c:915
+#: src/sid/xmms-sid.glade:2041 src/sid/xs_interface.c:927
 msgid "Minimum playtime:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2086 src/sid/xs_interface.c:936
+#: src/sid/xmms-sid.glade:2086 src/sid/xs_interface.c:948
 msgid ""
 "If enabled, tune is played until specified duration is reached (aka maximum "
 "playtime)."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2088 src/sid/xs_interface.c:932
+#: src/sid/xmms-sid.glade:2088 src/sid/xs_interface.c:944
 msgid "Play for specified time maximum"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2107 src/sid/xs_interface.c:942
+#: src/sid/xmms-sid.glade:2107 src/sid/xs_interface.c:954
 msgid ""
 "If enabled, the maximum playtime is applied only if song/tune length is not "
 "known."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2109 src/sid/xs_interface.c:938
+#: src/sid/xmms-sid.glade:2109 src/sid/xs_interface.c:950
 msgid "Only when song length is unknown"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2212 src/sid/xs_interface.c:969
+#: src/sid/xmms-sid.glade:2212 src/sid/xs_interface.c:981
 msgid "Maximum playtime:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2257 src/sid/xs_interface.c:990
+#: src/sid/xmms-sid.glade:2257 src/sid/xs_interface.c:1002
 msgid ""
 "This option enables using of XSIDPLAY compatible song length database. "
 "(Refer to Audacious-SID documentation for more information)"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2259 src/sid/xs_interface.c:986
+#: src/sid/xmms-sid.glade:2259 src/sid/xs_interface.c:998
 msgid "Use XSIDPLAY-compatible database"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2284 src/sid/xs_interface.c:997
+#: src/sid/xmms-sid.glade:2284 src/sid/xs_interface.c:1009
 #, fuzzy
 msgid "DB-file:"
 msgstr "Meno súboru:"
 
-#: src/sid/xmms-sid.glade:2309 src/sid/xs_interface.c:1007
+#: src/sid/xmms-sid.glade:2309 src/sid/xs_interface.c:1019
 msgid "Database path and filename"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2329 src/sid/xs_interface.c:1014
+#: src/sid/xmms-sid.glade:2329 src/sid/xs_interface.c:1026
 msgid "Browse for song length-database file"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2356 src/sid/xs_interface.c:1016
+#: src/sid/xmms-sid.glade:2418 src/sid/xs_interface.c:1048
 msgid "Song length database:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2392 src/sid/xs_interface.c:1021
+#: src/sid/xmms-sid.glade:2454 src/sid/xs_interface.c:1053
 #, fuzzy
 msgid "Songlength"
 msgstr "Štandardná dĺžka skladby:"
 
-#: src/sid/xmms-sid.glade:2430 src/sid/xs_interface.c:1043
+#: src/sid/xmms-sid.glade:2492 src/sid/xs_interface.c:1075
 msgid ""
 "By enabling this option you can specify a custom Tuplez formatting string "
 "for SID-files. The SID-plugin specific Tuplez tags are described shortly "
 "below."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2432 src/sid/xs_interface.c:1039
+#: src/sid/xmms-sid.glade:2494 src/sid/xs_interface.c:1071
 #, fuzzy
 msgid "Override generic Tuplez format string"
 msgstr "Používať vlastný formát názvu"
 
-#: src/sid/xmms-sid.glade:2457 src/sid/xs_interface.c:1054
+#: src/sid/xmms-sid.glade:2519 src/sid/xs_interface.c:1086
 msgid "Tuplez format string for SID-files"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2477 src/sid/xs_interface.c:1057
-msgid "Descriptions of <i>SID-specific</i> Tuplez fields go here. <b>:D</b>"
-msgstr ""
-
-#: src/sid/xmms-sid.glade:2511 src/sid/xs_interface.c:1065
+#: src/sid/xmms-sid.glade:2539 src/sid/xs_interface.c:1089
+msgid ""
+"<u>SID-specific Tuplez fields:</u>\n"
+"\n"
+"<b>sid-format</b>\t\t- Specific fileformat\n"
+"<b>sid-model</b>\t\t- 6581 or 8580\n"
+"<b>sid-speed</b>\t\t- Timing or speed: PAL/NTSC/etc.\n"
+"\n"
+"<u>Other \"special\" fields set:</u>\n"
+"\n"
+"<b>subsong-num, subsong-id</b>"
+msgstr ""
+
+#: src/sid/xmms-sid.glade:2581 src/sid/xs_interface.c:1097
 #, fuzzy
 msgid "Song title format:"
 msgstr "Formát názvu:"
 
-#: src/sid/xmms-sid.glade:2584 src/sid/xs_interface.c:1096
+#: src/sid/xmms-sid.glade:2654 src/sid/xs_interface.c:1128
 msgid ""
 "If enabled, sub-tunes of each file will be added to playlist. If disabled, "
 "only the default sub-tune will be added."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2586 src/sid/xs_interface.c:1092
+#: src/sid/xmms-sid.glade:2656 src/sid/xs_interface.c:1124
 msgid "Add sub-tunes to playlist"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2605 src/sid/xs_interface.c:1102
+#: src/sid/xmms-sid.glade:2675 src/sid/xs_interface.c:1134
 msgid "Only add sub-tunes that have a duration of at least specified time."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2607 src/sid/xs_interface.c:1098
+#: src/sid/xmms-sid.glade:2677 src/sid/xs_interface.c:1130
 msgid "Only tunes with specified minimum duration"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2710 src/sid/xs_interface.c:1129
+#: src/sid/xmms-sid.glade:2780 src/sid/xs_interface.c:1161
 #, fuzzy
 msgid "Sub-tune handling:"
 msgstr "Ovládanie hlasitosti:"
 
-#: src/sid/xmms-sid.glade:2755 src/sid/xs_interface.c:1150
+#: src/sid/xmms-sid.glade:2825 src/sid/xs_interface.c:1182
 msgid ""
 "If this option is enabled (and the database & HVSC settings below are "
 "correctly set), Audacious-SID will use and display additional information "
 "from STIL database when HVSC SIDs are played."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2757 src/sid/xs_interface.c:1146
+#: src/sid/xmms-sid.glade:2827 src/sid/xs_interface.c:1178
 msgid "Use STIL database"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2782 src/sid/xs_interface.c:1157
+#: src/sid/xmms-sid.glade:2852 src/sid/xs_interface.c:1189
 #, fuzzy
 msgid "STIL file:"
 msgstr "Súbor s motívom:"
 
-#: src/sid/xmms-sid.glade:2819 src/sid/xs_interface.c:1173
+#: src/sid/xmms-sid.glade:2889 src/sid/xs_interface.c:1205
 msgid ""
 "Path and filename of STIL database file (STIL.txt), usually found from "
 "HVSC's DOCUMENTS-subdirectory."
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2854 src/sid/xs_interface.c:1186
+#: src/sid/xmms-sid.glade:2924 src/sid/xs_interface.c:1218
 msgid "Browse for STIL-database file"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2888 src/sid/xs_interface.c:1193
+#: src/sid/xmms-sid.glade:3020 src/sid/xs_interface.c:1245
 msgid "HVSC path:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2925 src/sid/xs_interface.c:1209
+#: src/sid/xmms-sid.glade:3057 src/sid/xs_interface.c:1261
 msgid ""
 "Path to base-directory of your High Voltage SID Collection (HVSC), for "
 "example /media/C64Music/"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2960 src/sid/xs_interface.c:1222
+#: src/sid/xmms-sid.glade:3092 src/sid/xs_interface.c:1274
 msgid "Browse for HVSC path"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:2990 src/sid/xs_interface.c:1224
+#: src/sid/xmms-sid.glade:3184 src/sid/xs_interface.c:1296
 msgid "SID Tune Information List (STIL) database:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3063 src/sid/xs_interface.c:1248
+#: src/sid/xmms-sid.glade:3257 src/sid/xs_interface.c:1320
 msgid "Accept and update changes"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3077 src/sid/xs_interface.c:1255
+#: src/sid/xmms-sid.glade:3271 src/sid/xs_interface.c:1327
 msgid "Cancel any changes"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3102 src/sid/xs_interface.c:1543
+#: src/sid/xmms-sid.glade:3296 src/sid/xs_interface.c:1627
 #, fuzzy
 msgid "Audacious-SID Fileinfo"
 msgstr ""
 "\n"
 "OSD pre Audacious"
 
-#: src/sid/xmms-sid.glade:3172 src/sid/xs_interface.c:1572
+#: src/sid/xmms-sid.glade:3366 src/sid/xs_interface.c:1656
 msgid "Songname:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3200 src/sid/xs_interface.c:1580
+#: src/sid/xmms-sid.glade:3394 src/sid/xs_interface.c:1664
 msgid "Composer:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3228 src/sid/xs_interface.c:1588
+#: src/sid/xmms-sid.glade:3422 src/sid/xs_interface.c:1672
 msgid "Copyright:"
 msgstr "Autorské práva:"
 
-#: src/sid/xmms-sid.glade:3342 src/sid/xs_interface.c:1632
+#: src/sid/xmms-sid.glade:3536 src/sid/xs_interface.c:1716
 #, fuzzy
 msgid "Song Information:"
 msgstr "Podrobnosti"
 
-#: src/sid/xmms-sid.glade:3416 src/sid/xs_interface.c:1667
+#: src/sid/xmms-sid.glade:3610 src/sid/xs_interface.c:1751
 msgid "Author:"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3514 src/sid/xs_interface.c:1701
+#: src/sid/xmms-sid.glade:3708 src/sid/xs_interface.c:1785
 #, fuzzy
 msgid "Duration:"
 msgstr "Výzdoba"
 
-#: src/sid/xmms-sid.glade:3608 src/sid/xs_interface.c:1735
+#: src/sid/xmms-sid.glade:3802 src/sid/xs_interface.c:1819
 #, fuzzy
 msgid "Sub-tune Information:"
 msgstr "Podrobnosti"
 
-#: src/sid/xmms-sid.glade:3662 src/sid/xs_interface.c:1796
+#: src/sid/xmms-sid.glade:3856 src/sid/xs_interface.c:1880
 msgid "Select HVSC song length database"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3704 src/sid/xs_interface.c:1837
+#: src/sid/xmms-sid.glade:3898 src/sid/xs_interface.c:1921
 msgid "Select STIL-database"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3746 src/sid/xs_interface.c:1878
+#: src/sid/xmms-sid.glade:3940 src/sid/xs_interface.c:1962
 msgid "Select HVSC location prefix"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3788 src/sid/xs_interface.c:1919
+#: src/sid/xmms-sid.glade:3982 src/sid/xs_interface.c:2003
 msgid "Select SIDPlay2 filters file for importing"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3830 src/sid/xs_interface.c:1960
+#: src/sid/xmms-sid.glade:4024 src/sid/xs_interface.c:2044
 msgid "Select SIDPlay2 filters file for exporting"
 msgstr ""
 
-#: src/sid/xmms-sid.glade:3871 src/sid/xmms-sid.glade:3953
-#: src/sid/xs_interface.c:2008 src/sid/xs_interface.c:2021
+#: src/sid/xmms-sid.glade:4065 src/sid/xmms-sid.glade:4147
+#: src/sid/xs_interface.c:2092 src/sid/xs_interface.c:2105
 #, fuzzy
 msgid "Confirm selected action"
 msgstr "Výber koncového zariadenia"
 
-#: src/sid/xmms-sid.glade:3909 src/sid/xs_interface.c:2038
+#: src/sid/xmms-sid.glade:4103 src/sid/xs_interface.c:2122
 #, fuzzy
 msgid "Yes"
 msgstr "áno"
 
-#: src/sid/xmms-sid.glade:3921 src/sid/xs_interface.c:2044
+#: src/sid/xmms-sid.glade:4115 src/sid/xs_interface.c:2128
 #, fuzzy
 msgid "No"
 msgstr "Žiadne"
 
-#: src/sid/xs_about.c:84 src/wma/wma.c:121
+#: src/sid/xs_about.c:84 src/wma/wma.c:118
 #, c-format
 msgid "About %s"
 msgstr "O %s"
@@ -4540,12 +4566,1131 @@
 msgid "Tune #%i: "
 msgstr ""
 
-#: src/sndfile/plugin.c:548
+#: src/skins/plugin.c:128
+msgid "About Skinned GUI"
+msgstr ""
+
+#: src/skins/plugin.c:129
+msgid ""
+"Copyright (c) 2008, by Tomasz Moń <desowin@gmail.com>\n"
+"\n"
+msgstr ""
+
+#: src/skins/skins_cfg.c:329
+#, fuzzy
+msgid "<b>_Fonts</b>"
+msgstr "<b>Hatena</b>"
+
+#: src/skins/skins_cfg.c:330
+#, fuzzy
+msgid "_Player:"
+msgstr "Spôsob prehrávania:"
+
+#: src/skins/skins_cfg.c:330
+msgid "Select main player window font:"
+msgstr ""
+
+#: src/skins/skins_cfg.c:331
+#, fuzzy
+msgid "_Playlist:"
+msgstr "Spôsob prehrávania:"
+
+#: src/skins/skins_cfg.c:331
+msgid "Select playlist font:"
+msgstr ""
+
+#: src/skins/skins_cfg.c:332
+msgid "Use Bitmap fonts if available"
+msgstr ""
+
+#: src/skins/skins_cfg.c:332
+msgid ""
+"Use bitmap fonts if they are available. Bitmap fonts do not support Unicode "
+"strings."
+msgstr ""
+
+#: src/skins/skins_cfg.c:333
+#, fuzzy
+msgid "<b>_Miscellaneous</b>"
+msgstr "<b>Služby</b>"
+
+#: src/skins/skins_cfg.c:334
+msgid "Show track numbers in playlist"
+msgstr ""
+
+#: src/skins/skins_cfg.c:336
+msgid "Show separators in playlist"
+msgstr ""
+
+#: src/skins/skins_cfg.c:338
+msgid "Show window manager decoration"
+msgstr ""
+
+#: src/skins/skins_cfg.c:339
+msgid "This enables the window manager to show decorations for windows."
+msgstr ""
+
+#: src/skins/skins_cfg.c:340
+msgid "Use two-way text scroller"
+msgstr ""
+
+#: src/skins/skins_cfg.c:341
+msgid ""
+"If selected, the file information text in the main window will scroll back "
+"and forth. If not selected, the text will only scroll in one direction."
+msgstr ""
+
+#: src/skins/skins_cfg.c:342
+msgid "Disable inline gtk theme"
+msgstr ""
+
+#: src/skins/skins_cfg.c:343
+msgid "Allow loading incomplete skins"
+msgstr ""
+
+#: src/skins/skins_cfg.c:344
+msgid ""
+"If selected, audacious won't refuse loading broken skins. Use only if your "
+"favourite skin doesn't work"
+msgstr ""
+
+#: src/skins/skins_cfg.c:410
+msgid "Color Adjustment"
+msgstr ""
+
+#: src/skins/skins_cfg.c:417
+msgid ""
+"Audacious allows you to alter the color balance of the skinned UI. The "
+"sliders below will allow you to do this."
+msgstr ""
+
+#: src/skins/skins_cfg.c:427
+#, fuzzy
+msgid "Blue"
+msgstr "Blues"
+
+#: src/skins/skins_cfg.c:434
+msgid "Green"
+msgstr ""
+
+#: src/skins/skins_cfg.c:441
+msgid "Red"
+msgstr ""
+
+#: src/skins/skins_cfg.c:571
+#, fuzzy
+msgid "Audacious Skinned GUI Configuration"
+msgstr "Nastavenia OSD pre Audacious"
+
+#: src/skins/skins_cfg.c:596
+#, fuzzy
+msgid "<b>_Skin</b>"
+msgstr "<b>Hatena</b>"
+
+#: src/skins/ui_equalizer.c:494
+#, fuzzy
+msgid "Audacious Equalizer"
+msgstr "Okno->Ekvalizér"
+
+#: src/skins/ui_equalizer.c:794
+#, c-format
+msgid "Error importing Winamp EQF file '%s'"
+msgstr ""
+
+#: src/skins/ui_equalizer.c:1172
+msgid "Presets"
+msgstr ""
+
+#: src/skins/ui_main.c:392
+#, c-format
+msgid "%s - Audacious"
+msgstr "%s - Audacious"
+
+#: src/skins/ui_main.c:394 src/skins/ui_main.c:2397
+#, fuzzy
+msgid "Audacious"
+msgstr "%s - Audacious"
+
+#: src/skins/ui_main.c:641
+msgid "VBR"
+msgstr ""
+
+#: src/skins/ui_main.c:659 src/skins/ui_main.c:663
+#, fuzzy
+msgid "stereo"
+msgstr "Stereo"
+
+#: src/skins/ui_main.c:659 src/skins/ui_main.c:663
+#, fuzzy
+msgid "mono"
+msgstr "Mono"
+
+#: src/skins/ui_main.c:957
+msgid "Can't jump to time when no track is being played.\n"
+msgstr ""
+
+#: src/skins/ui_main.c:972 src/skins/ui_manager.c:425
+#: src/skins/ui_manager.c:426
+#, fuzzy
+msgid "Jump to Time"
+msgstr "Okno->Presun na súbor"
+
+#: src/skins/ui_main.c:993
+#, fuzzy
+msgid "minutes:seconds"
+msgstr "sekúnd"
+
+#: src/skins/ui_main.c:1003
+#, fuzzy
+msgid "Track length:"
+msgstr "Zosilnenie skladby:"
+
+#: src/skins/ui_main.c:1149
+msgid "Audacious - visibility warning"
+msgstr ""
+
+#: src/skins/ui_main.c:1152
+#, fuzzy
+msgid "Show main player window"
+msgstr "Zobraziť okno so sieťovým prenosom"
+
+#: src/skins/ui_main.c:1153
+msgid "Ignore"
+msgstr ""
+
+#: src/skins/ui_main.c:1159
+msgid ""
+"Audacious has been started with all of its windows hidden.\n"
+"You may want to show the player window again to control Audacious; "
+"otherwise, you'll have to control it remotely via audtool or enabled plugins "
+"(such as the statusicon plugin)."
+msgstr ""
+
+#: src/skins/ui_main.c:1165
+msgid "Always ignore, show/hide is controlled remotely"
+msgstr ""
+
+#: src/skins/ui_main.c:1210
+msgid "Audacious - broken GTK engine usage warning"
+msgstr ""
+
+#: src/skins/ui_main.c:1218
+#, c-format
+msgid ""
+"<big><b>Broken GTK engine in use</b></big>\n"
+"\n"
+"Audacious has detected that you are using a broken GTK engine.\n"
+"\n"
+"The theme engine you are using, <i>%s</i>, is incompatible with some of the "
+"features used by modern skins. The incompatible features have been disabled "
+"for this session.\n"
+"\n"
+"To use these features, please consider using a different GTK theme engine."
+msgstr ""
+
+#: src/skins/ui_main.c:1229
+msgid "Do not display this warning again"
+msgstr ""
+
+#: src/skins/ui_main.c:1253
+msgid "Enter location to play:"
+msgstr ""
+
+#: src/skins/ui_main.c:1497
+#, c-format
+msgid "Seek to: %d:%-2.2d/%d:%-2.2d (%d%%)"
+msgstr ""
+
+#: src/skins/ui_main.c:1527
+#, fuzzy, c-format
+msgid "Volume: %d%%"
+msgstr "Hlasitosť (%):"
+
+#: src/skins/ui_main.c:1555
+#, c-format
+msgid "Balance: %d%% left"
+msgstr ""
+
+#: src/skins/ui_main.c:1559
+msgid "Balance: center"
+msgstr ""
+
+#: src/skins/ui_main.c:1563
+#, c-format
+msgid "Balance: %d%% right"
+msgstr ""
+
+#: src/skins/ui_main.c:1881
+#, fuzzy
+msgid "Options Menu"
+msgstr "Nastavenia:"
+
+#: src/skins/ui_main.c:1885
+msgid "Disable 'Always On Top'"
+msgstr ""
+
+#: src/skins/ui_main.c:1887
+msgid "Enable 'Always On Top'"
+msgstr ""
+
+#: src/skins/ui_main.c:1890
+#, fuzzy
+msgid "File Info Box"
+msgstr "Informácie o súbore - %s"
+
+#: src/skins/ui_main.c:1894
+msgid "Disable 'GUI Scaling'"
+msgstr ""
+
+#: src/skins/ui_main.c:1896
+#, fuzzy
+msgid "Enable 'GUI Scaling'"
+msgstr "Povoliť prevzorkovanie zvuku"
+
+#: src/skins/ui_main.c:1899
+msgid "Visualization Menu"
+msgstr ""
+
+#: src/skins/ui_main.c:1946
+msgid ""
+"<b><big>Couldn't open audio.</big></b>\n"
+"\n"
+"Please check that:\n"
+"1. You have the correct output plugin selected.\n"
+"2. No other programs is blocking the soundcard.\n"
+"3. Your soundcard is configured properly.\n"
+msgstr ""
+
+#: src/skins/ui_manager.c:53 src/skins/ui_manager.c:54
+msgid "Autoscroll Songname"
+msgstr ""
+
+#: src/skins/ui_manager.c:56 src/skins/ui_manager.c:57
+msgid "Stop after Current Song"
+msgstr ""
+
+#: src/skins/ui_manager.c:59 src/skins/ui_manager.c:60
+#, fuzzy
+msgid "Peaks"
+msgstr "Žarty"
+
+#: src/skins/ui_manager.c:62 src/skins/ui_manager.c:63
+#, fuzzy
+msgid "Repeat"
+msgstr "Beat"
+
+#: src/skins/ui_manager.c:65 src/skins/ui_manager.c:66
+msgid "Shuffle"
+msgstr ""
+
+#: src/skins/ui_manager.c:68 src/skins/ui_manager.c:69
+msgid "No Playlist Advance"
+msgstr ""
+
+#: src/skins/ui_manager.c:71 src/skins/ui_manager.c:72
+msgid "Show Player"
+msgstr ""
+
+#: src/skins/ui_manager.c:74 src/skins/ui_manager.c:75
+msgid "Show Playlist Editor"
+msgstr ""
+
+#: src/skins/ui_manager.c:77 src/skins/ui_manager.c:78
+#, fuzzy
+msgid "Show Equalizer"
+msgstr "Okno->Ekvalizér"
+
+#: src/skins/ui_manager.c:80 src/skins/ui_manager.c:81
+msgid "Always on Top"
+msgstr ""
+
+#: src/skins/ui_manager.c:83 src/skins/ui_manager.c:84
+msgid "Put on All Workspaces"
+msgstr ""
+
+#: src/skins/ui_manager.c:86 src/skins/ui_manager.c:87
+msgid "Roll up Player"
+msgstr ""
+
+#: src/skins/ui_manager.c:89 src/skins/ui_manager.c:90
+msgid "Roll up Playlist Editor"
+msgstr ""
+
+#: src/skins/ui_manager.c:92 src/skins/ui_manager.c:93
+msgid "Roll up Equalizer"
+msgstr ""
+
+#: src/skins/ui_manager.c:95 src/sndstretch/sndstretch_xmms.c:375
+#, fuzzy
+msgid "Scale"
+msgstr "Uložiť"
+
+#: src/skins/ui_manager.c:96
+msgid "DoubleSize"
+msgstr ""
+
+#: src/skins/ui_manager.c:98 src/skins/ui_manager.c:99
+msgid "Easy Move"
+msgstr ""
+
+#: src/skins/ui_manager.c:107
+msgid "Analyzer"
+msgstr ""
+
+#: src/skins/ui_manager.c:108
+#, fuzzy
+msgid "Scope"
+msgstr "na:"
+
+#: src/skins/ui_manager.c:109
+msgid "Voiceprint"
+msgstr ""
+
+#: src/skins/ui_manager.c:110
+msgid "Off"
+msgstr ""
+
+#: src/skins/ui_manager.c:114 src/skins/ui_manager.c:131
+#: src/skins/ui_manager.c:137
+#, fuzzy
+msgid "Normal"
+msgstr "Formát:"
+
+#: src/skins/ui_manager.c:115 src/skins/ui_manager.c:132
+#, fuzzy
+msgid "Fire"
+msgstr "Satira"
+
+#: src/skins/ui_manager.c:116
+msgid "Vertical Lines"
+msgstr ""
+
+#: src/skins/ui_manager.c:120
+#, fuzzy
+msgid "Lines"
+msgstr "Latinská"
+
+#: src/skins/ui_manager.c:121
+#, fuzzy
+msgid "Bars"
+msgstr "Bass"
+
+#: src/skins/ui_manager.c:125
+msgid "Dot Scope"
+msgstr ""
+
+#: src/skins/ui_manager.c:126
+msgid "Line Scope"
+msgstr ""
+
+#: src/skins/ui_manager.c:127
+msgid "Solid Scope"
+msgstr ""
+
+#: src/skins/ui_manager.c:133
+msgid "Ice"
+msgstr ""
+
+#: src/skins/ui_manager.c:138
+msgid "Smooth"
+msgstr ""
+
+#: src/skins/ui_manager.c:142
+msgid "Full (~50 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:143
+msgid "Half (~25 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:144
+msgid "Quarter (~13 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:145
+msgid "Eighth (~6 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:149 src/skins/ui_manager.c:157
+#, fuzzy
+msgid "Slowest"
+msgstr "Showtunes"
+
+#: src/skins/ui_manager.c:150 src/skins/ui_manager.c:158
+#, fuzzy
+msgid "Slow"
+msgstr "nízke"
+
+#: src/skins/ui_manager.c:151 src/skins/ui_manager.c:159
+#, fuzzy
+msgid "Medium"
+msgstr "stredné"
+
+#: src/skins/ui_manager.c:152 src/skins/ui_manager.c:160
+#, fuzzy
+msgid "Fast"
+msgstr "Formát:"
+
+#: src/skins/ui_manager.c:153 src/skins/ui_manager.c:161
+msgid "Fastest"
+msgstr ""
+
+#: src/skins/ui_manager.c:165
+msgid "Time Elapsed"
+msgstr ""
+
+#: src/skins/ui_manager.c:166
+msgid "Time Remaining"
+msgstr ""
+
+#: src/skins/ui_manager.c:180 src/skins/ui_manager.c:181
+#, fuzzy
+msgid "Pause"
+msgstr "Prehrávanie->Pozastaviť"
+
+#: src/skins/ui_manager.c:186 src/skins/ui_manager.c:187
+#, fuzzy
+msgid "Previous"
+msgstr "Primus"
+
+#: src/skins/ui_manager.c:189 src/skins/ui_manager.c:190
+#, fuzzy
+msgid "Next"
+msgstr "Text"
+
+#: src/skins/ui_manager.c:195
+#, fuzzy
+msgid "Visualization"
+msgstr "Organizácia:"
+
+#: src/skins/ui_manager.c:196
+msgid "Visualization Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:197
+msgid "Analyzer Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:198
+msgid "Scope Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:199
+msgid "Voiceprint Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:200
+msgid "WindowShade VU Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:201
+msgid "Refresh Rate"
+msgstr ""
+
+#: src/skins/ui_manager.c:202
+msgid "Analyzer Falloff"
+msgstr ""
+
+#: src/skins/ui_manager.c:203
+msgid "Peaks Falloff"
+msgstr ""
+
+#: src/skins/ui_manager.c:208
+#, fuzzy
+msgid "Playlist"
+msgstr "Zoznam skladieb->Opakovať"
+
+#: src/skins/ui_manager.c:210 src/skins/ui_manager.c:211
+#, fuzzy
+msgid "New Playlist"
+msgstr "Okno->Zoznam skladieb"
+
+#: src/skins/ui_manager.c:213 src/skins/ui_manager.c:214
+msgid "Select Next Playlist"
+msgstr ""
+
+#: src/skins/ui_manager.c:216 src/skins/ui_manager.c:217
+msgid "Select Previous Playlist"
+msgstr ""
+
+#: src/skins/ui_manager.c:219 src/skins/ui_manager.c:220
+msgid "Delete Playlist"
+msgstr ""
+
+#: src/skins/ui_manager.c:222
+msgid "Load List"
+msgstr ""
+
+#: src/skins/ui_manager.c:223
+msgid "Loads a playlist file into the selected playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:225
+#, fuzzy
+msgid "Save List"
+msgstr "Uložiť"
+
+#: src/skins/ui_manager.c:226
+msgid "Saves the selected playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:228
+#, fuzzy
+msgid "Save Default List"
+msgstr "Štandardné (%s)"
+
+#: src/skins/ui_manager.c:229
+msgid "Saves the selected playlist to the default location."
+msgstr ""
+
+#: src/skins/ui_manager.c:232
+msgid "Refresh List"
+msgstr ""
+
+#: src/skins/ui_manager.c:233
+msgid "Refreshes metadata associated with a playlist entry."
+msgstr ""
+
+#: src/skins/ui_manager.c:236
+msgid "List Manager"
+msgstr ""
+
+#: src/skins/ui_manager.c:237
+msgid "Opens the playlist manager."
+msgstr ""
+
+#: src/skins/ui_manager.c:243
+msgid "View"
+msgstr ""
+
+#: src/skins/ui_manager.c:247
+msgid "Add Internet Address..."
+msgstr ""
+
+#: src/skins/ui_manager.c:248
+msgid "Adds a remote track to the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:251
+msgid "Add Files..."
+msgstr ""
+
+#: src/skins/ui_manager.c:252
+msgid "Adds files to the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:257
+msgid "Search and Select"
+msgstr ""
+
+#: src/skins/ui_manager.c:258
+msgid ""
+"Searches the playlist and selects playlist entries based on specific "
+"criteria."
+msgstr ""
+
+#: src/skins/ui_manager.c:261
+#, fuzzy
+msgid "Invert Selection"
+msgstr "Výber koncového zariadenia"
+
+#: src/skins/ui_manager.c:262
+msgid "Inverts the selected and unselected entries."
+msgstr ""
+
+#: src/skins/ui_manager.c:265
+#, fuzzy
+msgid "Select All"
+msgstr "Vyberte súbor s motívom"
+
+#: src/skins/ui_manager.c:266
+msgid "Selects all of the playlist entries."
+msgstr ""
+
+#: src/skins/ui_manager.c:269
+#, fuzzy
+msgid "Select None"
+msgstr "Vyberte súbor s motívom"
+
+#: src/skins/ui_manager.c:270
+msgid "Deselects all of the playlist entries."
+msgstr ""
+
+#: src/skins/ui_manager.c:275
+#, fuzzy
+msgid "Remove All"
+msgstr "Odstrániť značku"
+
+#: src/skins/ui_manager.c:276
+msgid "Removes all entries from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:279
+msgid "Clear Queue"
+msgstr ""
+
+#: src/skins/ui_manager.c:280
+msgid "Clears the queue associated with this playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:283
+msgid "Remove Unavailable Files"
+msgstr ""
+
+#: src/skins/ui_manager.c:284
+msgid "Removes unavailable files from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:287
+#, fuzzy
+msgid "Remove Duplicates"
+msgstr "Odstrániť mechaniku"
+
+#: src/skins/ui_manager.c:289 src/skins/ui_manager.c:321
+#: src/skins/ui_manager.c:351
+#, fuzzy
+msgid "By Title"
+msgstr "Názov"
+
+#: src/skins/ui_manager.c:290
+msgid "Removes duplicate entries from the playlist by title."
+msgstr ""
+
+#: src/skins/ui_manager.c:293 src/skins/ui_manager.c:329
+#: src/skins/ui_manager.c:359
+#, fuzzy
+msgid "By Filename"
+msgstr "Meno súboru"
+
+#: src/skins/ui_manager.c:294
+msgid "Removes duplicate entries from the playlist by filename."
+msgstr ""
+
+#: src/skins/ui_manager.c:297 src/skins/ui_manager.c:333
+#: src/skins/ui_manager.c:363
+#, fuzzy
+msgid "By Path + Filename"
+msgstr "Meno súboru"
+
+#: src/skins/ui_manager.c:298
+msgid "Removes duplicate entries from the playlist by their full path."
+msgstr ""
+
+#: src/skins/ui_manager.c:301
+msgid "Remove Unselected"
+msgstr ""
+
+#: src/skins/ui_manager.c:302
+msgid "Remove unselected entries from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:305
+msgid "Remove Selected"
+msgstr ""
+
+#: src/skins/ui_manager.c:306
+msgid "Remove selected entries from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:311
+msgid "Randomize List"
+msgstr ""
+
+#: src/skins/ui_manager.c:312
+msgid "Randomizes the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:315
+msgid "Reverse List"
+msgstr ""
+
+#: src/skins/ui_manager.c:316
+msgid "Reverses the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:319
+#, fuzzy
+msgid "Sort List"
+msgstr "Umelec:"
+
+#: src/skins/ui_manager.c:322 src/skins/ui_manager.c:352
+msgid "Sorts the list by title."
+msgstr ""
+
+#: src/skins/ui_manager.c:325 src/skins/ui_manager.c:355
+#, fuzzy
+msgid "By Artist"
+msgstr "Umelec:"
+
+#: src/skins/ui_manager.c:326 src/skins/ui_manager.c:356
+msgid "Sorts the list by artist."
+msgstr ""
+
+#: src/skins/ui_manager.c:330 src/skins/ui_manager.c:360
+msgid "Sorts the list by filename."
+msgstr ""
+
+#: src/skins/ui_manager.c:334 src/skins/ui_manager.c:364
+msgid "Sorts the list by full pathname."
+msgstr ""
+
+#: src/skins/ui_manager.c:337 src/skins/ui_manager.c:367
+#, fuzzy
+msgid "By Date"
+msgstr "Dátum:"
+
+#: src/skins/ui_manager.c:338 src/skins/ui_manager.c:368
+msgid "Sorts the list by modification time."
+msgstr ""
+
+#: src/skins/ui_manager.c:341 src/skins/ui_manager.c:371
+#, fuzzy
+msgid "By Track Number"
+msgstr "Číslo stopy:"
+
+#: src/skins/ui_manager.c:342 src/skins/ui_manager.c:372
+msgid "Sorts the list by track number."
+msgstr ""
+
+#: src/skins/ui_manager.c:345 src/skins/ui_manager.c:375
+msgid "By Playlist Entry"
+msgstr ""
+
+#: src/skins/ui_manager.c:346 src/skins/ui_manager.c:376
+msgid "Sorts the list by playlist entry."
+msgstr ""
+
+#: src/skins/ui_manager.c:349
+#, fuzzy
+msgid "Sort Selected"
+msgstr "Výber koncového zariadenia"
+
+#: src/skins/ui_manager.c:385
+#, fuzzy
+msgid "File"
+msgstr "Meno súboru"
+
+#: src/skins/ui_manager.c:388
+msgid "Plugin Services"
+msgstr ""
+
+#: src/skins/ui_manager.c:390 src/skins/ui_manager.c:393
+#, fuzzy
+msgid "View Track Details"
+msgstr "použiť zosilnenie podľa vrcholu v skladbe"
+
+#: src/skins/ui_manager.c:391 src/skins/ui_manager.c:394
+msgid "View track details"
+msgstr ""
+
+#: src/skins/ui_manager.c:396 src/skins/ui_manager.c:397
+#, fuzzy
+msgid "About Audacious"
+msgstr "O module LIRC pre Audacious"
+
+#: src/skins/ui_manager.c:399
+#, fuzzy
+msgid "Play File"
+msgstr "Spôsob prehrávania:"
+
+#: src/skins/ui_manager.c:400
+#, fuzzy
+msgid "Load and play a file"
+msgstr "Nahrať SoundFont pri spustení prehrávača"
+
+#: src/skins/ui_manager.c:402
+msgid "Play Location"
+msgstr ""
+
+#: src/skins/ui_manager.c:403
+#, fuzzy
+msgid "Play media from the selected location"
+msgstr "Výber koncového zariadenia"
+
+#: src/skins/ui_manager.c:405
+msgid "Plugin services"
+msgstr ""
+
+#: src/skins/ui_manager.c:407
+msgid "Preferences"
+msgstr ""
+
+#: src/skins/ui_manager.c:408
+msgid "Open preferences window"
+msgstr ""
+
+#: src/skins/ui_manager.c:410
+msgid "_Quit"
+msgstr ""
+
+#: src/skins/ui_manager.c:411
+#, fuzzy
+msgid "Quit Audacious"
+msgstr "%s - Audacious"
+
+#: src/skins/ui_manager.c:413 src/skins/ui_manager.c:414
+msgid "Set A-B"
+msgstr ""
+
+#: src/skins/ui_manager.c:416 src/skins/ui_manager.c:417
+msgid "Clear A-B"
+msgstr ""
+
+#: src/skins/ui_manager.c:419 src/skins/ui_manager.c:420
+msgid "Jump to Playlist Start"
+msgstr ""
+
+#: src/skins/ui_manager.c:428
+msgid "Queue Toggle"
+msgstr ""
+
+#: src/skins/ui_manager.c:429
+msgid "Enables/disables the entry in the playlist's queue."
+msgstr ""
+
+#: src/skins/ui_manager.c:436
+msgid "Load"
+msgstr ""
+
+#: src/skins/ui_manager.c:441 src/skins/ui_manager.c:462
+#: src/skins/ui_manager.c:477
+#, fuzzy
+msgid "Preset"
+msgstr "Port"
+
+#: src/skins/ui_manager.c:442
+msgid "Load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:444 src/skins/ui_manager.c:465
+#: src/skins/ui_manager.c:480
+msgid "Auto-load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:445
+msgid "Load auto-load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:448
+msgid "Load default preset into equalizer"
+msgstr ""
+
+#: src/skins/ui_manager.c:450
+#, fuzzy
+msgid "Zero"
+msgstr "Retro"
+
+#: src/skins/ui_manager.c:451
+msgid "Set equalizer preset levels to zero"
+msgstr ""
+
+#: src/skins/ui_manager.c:453
+msgid "From file"
+msgstr ""
+
+#: src/skins/ui_manager.c:454
+msgid "Load preset from file"
+msgstr ""
+
+#: src/skins/ui_manager.c:456
+msgid "From WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:457
+msgid "Load preset from WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:459
+msgid "WinAMP Presets"
+msgstr ""
+
+#: src/skins/ui_manager.c:460
+msgid "Import WinAMP presets"
+msgstr ""
+
+#: src/skins/ui_manager.c:463
+msgid "Save preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:466
+msgid "Save auto-load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:469
+#, fuzzy
+msgid "Save default preset"
+msgstr "použiť predvolené"
+
+#: src/skins/ui_manager.c:471
+#, fuzzy
+msgid "To file"
+msgstr "Súbor s motívom:"
+
+#: src/skins/ui_manager.c:472
+msgid "Save preset to file"
+msgstr ""
+
+#: src/skins/ui_manager.c:474
+msgid "To WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:475
+msgid "Save preset to WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:478
+#, fuzzy
+msgid "Delete preset"
+msgstr "Štandardné"
+
+#: src/skins/ui_manager.c:481
+msgid "Delete auto-load preset"
+msgstr ""
+
+#: src/skins/ui_playlist.c:454
+msgid "Search entries in active playlist"
+msgstr ""
+
+#: src/skins/ui_playlist.c:462
+msgid ""
+"Select entries in playlist by filling one or more fields. Fields use regular "
+"expressions syntax, case-insensitive. If you don't know how regular "
+"expressions work, simply insert a literal portion of what you're searching "
+"for."
+msgstr ""
+
+#: src/skins/ui_playlist.c:477
+#, fuzzy
+msgid "Album: "
+msgstr "Album:"
+
+#: src/skins/ui_playlist.c:484
+#, fuzzy
+msgid "Artist: "
+msgstr "Umelec:"
+
+#: src/skins/ui_playlist.c:491
+#, fuzzy
+msgid "Filename: "
+msgstr "Meno súboru:"
+
+#: src/skins/ui_playlist.c:499
+msgid "Clear previous selection before searching"
+msgstr ""
+
+#: src/skins/ui_playlist.c:502
+msgid "Automatically toggle queue for matching entries"
+msgstr ""
+
+#: src/skins/ui_playlist.c:505
+msgid "Create a new playlist with matching entries"
+msgstr ""
+
+#: src/skins/ui_playlist.c:724
+#, c-format
+msgid "Error writing playlist \"%s\": %s"
+msgstr ""
+
+#: src/skins/ui_playlist.c:746
+#, c-format
+msgid "%s already exist. Continue?"
+msgstr ""
+
+#: src/skins/ui_playlist.c:761
+#, c-format
+msgid ""
+"<b><big>Unable to save playlist.</big></b>\n"
+"\n"
+"Unknown file type for '%s'.\n"
+msgstr ""
+
+#: src/skins/ui_playlist.c:887
+msgid "Save as Static Playlist"
+msgstr ""
+
+#: src/skins/ui_playlist.c:894
+msgid "Use Relative Path"
+msgstr ""
+
+#: src/skins/ui_playlist.c:916
+#, fuzzy
+msgid "Load Playlist"
+msgstr "Okno->Zoznam skladieb"
+
+#: src/skins/ui_playlist.c:929
+msgid "Save Playlist"
+msgstr ""
+
+#: src/skins/ui_playlist.c:1497
+msgid "Audacious Playlist Editor"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:377
+msgid "PREAMP"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:377
+msgid "60HZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:377
+msgid "170HZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:378
+msgid "310HZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:378
+#, fuzzy
+msgid "600HZ"
+msgstr "10000 Hz"
+
+#: src/skins/ui_skinned_equalizer_slider.c:378
+msgid "1KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:379
+msgid "3KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:379
+msgid "6KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:379
+msgid "12KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:380
+msgid "14KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:380
+msgid "16KHZ"
+msgstr ""
+
+#: src/skins/ui_skinselector.c:178
+msgid "Archived Winamp 2.x skin"
+msgstr ""
+
+#: src/skins/ui_skinselector.c:183
+msgid "Unarchived Winamp 2.x skin"
+msgstr ""
+
+#: src/skins/util.c:1132
+#, fuzzy, c-format
+msgid "Could not create directory (%s): %s\n"
+msgstr ""
+"Adresár %s sa nepodarilo otestovať\n"
+"Chyba: %s"
+
+#: src/sndfile/plugin.c:554
 #, fuzzy
 msgid "About sndfile plugin"
 msgstr "Modul sndfile WAV"
 
-#: src/sndfile/plugin.c:549
+#: src/sndfile/plugin.c:555
 msgid ""
 "Adapted for Audacious usage by Tony Vroon <chainsaw@gentoo.org>\n"
 "from the xmms_sndfile plugin which is:\n"
@@ -4584,67 +5729,62 @@
 "nestalo, požiadajte o ňu Free Software Foundation, Inc.,\n"
 "675 Mass Ave, Cambridge, MA 02139, USA."
 
-#: src/sndstretch/sndstretch_xmms.c:159
+#: src/sndstretch/sndstretch_xmms.c:158
 #, fuzzy
 msgid "About SndStretch"
 msgstr "O module OSS"
 
-#: src/sndstretch/sndstretch_xmms.c:319
+#: src/sndstretch/sndstretch_xmms.c:318
 #, fuzzy
 msgid "Volume corr."
 msgstr "Ovládanie hlasitosti:"
 
-#: src/sndstretch/sndstretch_xmms.c:320
+#: src/sndstretch/sndstretch_xmms.c:319
 msgid "Short Overlap"
 msgstr ""
 
-#: src/sndstretch/sndstretch_xmms.c:374
+#: src/sndstretch/sndstretch_xmms.c:373
 #, fuzzy
 msgid "Speed"
 msgstr "Hovorené slovo"
 
-#: src/sndstretch/sndstretch_xmms.c:375
+#: src/sndstretch/sndstretch_xmms.c:374
 msgid "Pitch"
 msgstr ""
 
-#: src/sndstretch/sndstretch_xmms.c:376
-#, fuzzy
-msgid "Scale"
-msgstr "Uložiť"
-
-#: src/sndstretch/sndstretch_xmms.c:396
+#: src/sndstretch/sndstretch_xmms.c:395
 #, fuzzy
 msgid "SndStretch - Configuration"
 msgstr "Nastavenie ovládača pre Sun"
 
-#: src/song_change/song_change.c:312
+#: src/song_change/song_change.c:310
 msgid "Commands"
 msgstr "Príkazy"
 
-#: src/song_change/song_change.c:319
+#: src/song_change/song_change.c:317
 msgid "Command to run when Audacious starts a new song."
 msgstr "Príkaz, ktorý sa vykoná keď Audacious začne prehrávať novú skladbu."
 
-#: src/song_change/song_change.c:328 src/song_change/song_change.c:350
-#: src/song_change/song_change.c:371 src/song_change/song_change.c:392
+#: src/song_change/song_change.c:326 src/song_change/song_change.c:348
+#: src/song_change/song_change.c:369 src/song_change/song_change.c:390
 msgid "Command:"
 msgstr "Príkaz:"
 
-#: src/song_change/song_change.c:342
+#: src/song_change/song_change.c:340
 msgid "Command to run toward the end of a song."
 msgstr "Príkaz, ktorý sa vykoná na konci skladby."
 
-#: src/song_change/song_change.c:362
+#: src/song_change/song_change.c:360
 msgid "Command to run when Audacious reaches the end of the playlist."
 msgstr ""
 "Príkaz, ktorý sa vykoná, keď Audacious dosiahne koniec zoznamu skladieb."
 
-#: src/song_change/song_change.c:383
+#: src/song_change/song_change.c:381
 msgid ""
 "Command to run when title changes for a song (i.e. network streams titles)."
 msgstr ""
 
-#: src/song_change/song_change.c:404
+#: src/song_change/song_change.c:402
 #, c-format
 msgid ""
 "You can use the following format strings which\n"
@@ -4673,7 +5813,7 @@
 "%%t: pozícia v zozname skladieb (%%02d)\n"
 "%%p: práve sa hrá (1 alebo 0)"
 
-#: src/song_change/song_change.c:429
+#: src/song_change/song_change.c:427
 msgid ""
 "<span size='small'>Parameters passed to the shell should be encapsulated in "
 "quotes. Doing otherwise is a security risk.</span>"
@@ -4682,7 +5822,7 @@
 "úvodzoviek. Nerešpektovanie tejto rady predstavuje bezpečnostné riziko.</"
 "span>"
 
-#: src/spectrum/spectrum.c:90
+#: src/spectrum/spectrum.c:89
 msgid "Spectrum Analyzer"
 msgstr ""
 
@@ -4694,11 +5834,11 @@
 msgid "The orientation of the tray"
 msgstr "Orientácia oznamovacej oblasti"
 
-#: src/statusicon/si_ui.c:622
+#: src/statusicon/si_ui.c:620
 msgid "About Status Icon Plugin"
 msgstr "O module Stavová ikona"
 
-#: src/statusicon/si_ui.c:624
+#: src/statusicon/si_ui.c:622
 msgid ""
 "\n"
 "written by Giacomo Lozito < james@develia.org >\n"
@@ -4712,40 +5852,40 @@
 "Tento modul poskytuje stavovú ikonu umiestnenú\n"
 "v oznamovacej oblasti správcu okien.\n"
 
-#: src/statusicon/si_ui.c:696
+#: src/statusicon/si_ui.c:694
 #, fuzzy
 msgid "Status Icon Plugin - Preferences"
 msgstr "O module Stavová ikona"
 
-#: src/statusicon/si_ui.c:707
+#: src/statusicon/si_ui.c:705
 msgid "Right-Click Menu"
 msgstr ""
 
-#: src/statusicon/si_ui.c:712
+#: src/statusicon/si_ui.c:710
 msgid "Audacious standard menu"
 msgstr ""
 
-#: src/statusicon/si_ui.c:717
+#: src/statusicon/si_ui.c:715
 msgid "Small playback menu #1"
 msgstr ""
 
-#: src/statusicon/si_ui.c:722
+#: src/statusicon/si_ui.c:720
 msgid "Small playback menu #2"
 msgstr ""
 
-#: src/statusicon/si_ui.c:745
+#: src/statusicon/si_ui.c:743
 msgid "Mouse Scroll Action"
 msgstr ""
 
-#: src/statusicon/si_ui.c:750
+#: src/statusicon/si_ui.c:748
 msgid "Change volume"
 msgstr ""
 
-#: src/statusicon/si_ui.c:755
+#: src/statusicon/si_ui.c:753
 msgid "Change playing song"
 msgstr ""
 
-#: src/stereo_plugin/stereo.c:26
+#: src/stereo_plugin/stereo.c:25
 msgid ""
 "Extra Stereo Plugin\n"
 "\n"
@@ -4755,23 +5895,19 @@
 "\n"
 "Napísal Johan Levin, 1999"
 
-#: src/stereo_plugin/stereo.c:52
+#: src/stereo_plugin/stereo.c:51
 msgid "About Extra Stereo Plugin"
 msgstr "O module Extra stereo"
 
-#: src/stereo_plugin/stereo.c:93
+#: src/stereo_plugin/stereo.c:92
 msgid "Configure Extra Stereo"
 msgstr "Nastaviť Extra stereo"
 
-#: src/stereo_plugin/stereo.c:95
-msgid "Effect intensity:"
-msgstr "Sila efektu:"
+#: src/sun/about.c:33
+msgid "About the Sun Driver"
+msgstr "O ovládači pre Sun"
 
 #: src/sun/about.c:34
-msgid "About the Sun Driver"
-msgstr "O ovládači pre Sun"
-
-#: src/sun/about.c:35
 msgid ""
 "XMMS BSD Sun Driver\n"
 "\n"
@@ -4783,19 +5919,19 @@
 "Copyright (c) 2001 CubeSoft Communications, Inc.\n"
 "Správca: <vedge at csoft.org>.\n"
 
-#: src/sun/configure.c:201
+#: src/sun/configure.c:199
 msgid "Audio control device:"
 msgstr "Zariadenie na ovládanie zvuku:"
 
-#: src/sun/configure.c:350
+#: src/sun/configure.c:348
 msgid "Volume controls device:"
 msgstr "Zariadenie na ovládanie hlasitosti:"
 
-#: src/sun/configure.c:363
+#: src/sun/configure.c:361
 msgid "XMMS uses mixer exclusively."
 msgstr "XMMS používa výlučný prístup k mixéru"
 
-#: src/sun/configure.c:538
+#: src/sun/configure.c:536
 msgid "Sun driver configuration"
 msgstr "Nastavenie ovládača pre Sun"
 
@@ -4823,7 +5959,7 @@
 msgid "TiMidity Configuration File"
 msgstr "Konfiguračný súbor TiMidity"
 
-#: src/timidity/xmms-timidity.c:118
+#: src/timidity/xmms-timidity.c:115
 msgid ""
 "TiMidity Plugin\n"
 "http://libtimidity.sourceforge.net\n"
@@ -4833,20 +5969,20 @@
 "http://libtimidity.sourceforge.net\n"
 "napísal Konstantin Korikov"
 
-#: src/timidity/xmms-timidity.c:119
+#: src/timidity/xmms-timidity.c:116
 #, c-format
 msgid "TiMidity Plugin %s"
 msgstr "Modul TiMidity %s"
 
-#: src/timidity/xmms-timidity.c:336
+#: src/timidity/xmms-timidity.c:333
 msgid "Couldn't load MIDI file"
 msgstr "MIDI súbor sa nepodarilo načítať"
 
-#: src/tonegen/tonegen.c:56
+#: src/tonegen/tonegen.c:55
 msgid "About Tone Generator"
 msgstr "O generátore tónov"
 
-#: src/tonegen/tonegen.c:58
+#: src/tonegen/tonegen.c:57
 msgid ""
 "Sinus tone generator by Haavard Kvaalen <havardk@xmms.org>\n"
 "Modified by Daniel J. Peng <danielpeng@bigfoot.com>\n"
@@ -4862,91 +5998,91 @@
 "napr. na prehranie tónov o frekvencii 2000Hz a 2005Hz zadajte "
 "tone://2000;2005"
 
-#: src/tonegen/tonegen.c:167
+#: src/tonegen/tonegen.c:166
 #, c-format
 msgid "%s %.1f Hz"
 msgstr ""
 
-#: src/tonegen/tonegen.c:167
+#: src/tonegen/tonegen.c:166
 msgid "Tone Generator: "
 msgstr "Generátor tónov:"
 
+#: src/tta/libtta.c:127
+msgid "Can't open file\n"
+msgstr ""
+
 #: src/tta/libtta.c:130
-msgid "Can't open file\n"
+msgid "Not supported file format\n"
 msgstr ""
 
 #: src/tta/libtta.c:133
-msgid "Not supported file format\n"
+msgid "File is corrupted\n"
 msgstr ""
 
 #: src/tta/libtta.c:136
-msgid "File is corrupted\n"
+msgid "Can't read from file\n"
 msgstr ""
 
 #: src/tta/libtta.c:139
-msgid "Can't read from file\n"
+msgid "Insufficient memory available\n"
 msgstr ""
 
 #: src/tta/libtta.c:142
-msgid "Insufficient memory available\n"
-msgstr ""
-
-#: src/tta/libtta.c:145
 #, fuzzy
 msgid "Output plugin error\n"
 msgstr "Slepý výstupný modul"
 
-#: src/tta/libtta.c:148
+#: src/tta/libtta.c:145
 #, fuzzy
 msgid "Unknown error\n"
 msgstr "Neznáma zvuková karta"
 
-#: src/tta/libtta.c:152
+#: src/tta/libtta.c:149
 msgid "TTA Decoder Error"
 msgstr ""
 
-#: src/tta/libtta.c:261
+#: src/tta/libtta.c:258
 #, fuzzy
 msgid "TTA input plugin "
 msgstr "Slepý výstupný modul"
 
-#: src/tta/libtta.c:262
+#: src/tta/libtta.c:259
 msgid ""
 " for BMP\n"
 "Copyright (c) 2004 True Audio Software\n"
 msgstr ""
 
-#: src/tta/libtta.c:265
+#: src/tta/libtta.c:262
 #, fuzzy
 msgid "About True Audio Plugin"
 msgstr "O module Ogg Vorbis Audio"
 
-#: src/tta/libtta.c:316
+#: src/tta/libtta.c:313
 #, fuzzy
 msgid "ID3 Tag:"
 msgstr " ID3 značka "
 
-#: src/tta/libtta.c:378 src/wavpack/ui.cxx:234
+#: src/tta/libtta.c:375 src/wavpack/ui.cxx:232
 msgid "Track number:"
 msgstr "Číslo stopy:"
 
-#: src/vorbis/configure.c:84
+#: src/vorbis/configure.c:82
 msgid "Ogg Vorbis Audio Plugin Configuration"
 msgstr "Nastavenie modulu Ogg Vorbis"
 
-#: src/vorbis/configure.c:94
+#: src/vorbis/configure.c:92
 msgid "Ogg Vorbis Tags:"
 msgstr "Značky Ogg Vorbis:"
 
-#: src/vorbis/configure.c:115
+#: src/vorbis/configure.c:113
 msgid "Title format:"
 msgstr "Formát názvu:"
 
-#: src/vorbis/vorbis.c:681
+#: src/vorbis/vorbis.c:677
 msgid "About Ogg Vorbis Audio Plugin"
 msgstr "O module Ogg Vorbis Audio"
 
-#: src/vorbis/vorbis.c:687
+#: src/vorbis/vorbis.c:683
 #, fuzzy
 msgid ""
 "Ogg Vorbis Plugin by the Xiph.org Foundation\n"
@@ -4980,11 +6116,11 @@
 "\n"
 "Navštívte stránky Xiph.org Foundation na http://www.xiph.org/\n"
 
-#: src/vtx/about.c:23
+#: src/vtx/about.c:17
 msgid "About Vortex Player"
 msgstr ""
 
-#: src/vtx/about.c:25
+#: src/vtx/about.c:19
 msgid ""
 "Vortex file format player by Sashnov Alexander <sashnov@ngs.ru>\n"
 "Founded on original source in_vtx.dll by Roman Sherbakov <v_soft@microfor."
@@ -4996,12 +6132,12 @@
 "Audacious implementation by Pavel Vymetalek <pvymetalek@seznam.cz>"
 msgstr ""
 
-#: src/wavpack/ui.cxx:52
+#: src/wavpack/ui.cxx:50
 #, fuzzy, c-format
 msgid "Wavpack Decoder Plugin %s"
 msgstr "Modul Ozvena %s"
 
-#: src/wavpack/ui.cxx:53
+#: src/wavpack/ui.cxx:51
 msgid ""
 "Copyright (c) 2006 William Pitcock <nenolod -at- nenolod.net>\n"
 "\n"
@@ -5009,98 +6145,98 @@
 "Visit the Wavpack site at http://www.wavpack.com/\n"
 msgstr ""
 
-#: src/wavpack/ui.cxx:165
+#: src/wavpack/ui.cxx:163
 msgid "Ape2 Tag"
 msgstr ""
 
-#: src/wavpack/ui.cxx:288
+#: src/wavpack/ui.cxx:286
 msgid "Wavpack Info:"
 msgstr ""
 
+#: src/wavpack/ui.cxx:379
+#, fuzzy, c-format
+msgid "version %d"
+msgstr "Verzia:"
+
+#: src/wavpack/ui.cxx:380
+#, c-format
+msgid "average bitrate: %6.1f kbps"
+msgstr ""
+
 #: src/wavpack/ui.cxx:381
 #, fuzzy, c-format
-msgid "version %d"
-msgstr "Verzia:"
+msgid "samplerate: %d Hz"
+msgstr "Vzorkovacia frekvencia: %d Hz"
 
 #: src/wavpack/ui.cxx:382
-#, c-format
-msgid "average bitrate: %6.1f kbps"
-msgstr ""
+#, fuzzy, c-format
+msgid "bits per sample: %d"
+msgstr "Bitov na vzorku: %d"
 
 #: src/wavpack/ui.cxx:383
 #, fuzzy, c-format
-msgid "samplerate: %d Hz"
-msgstr "Vzorkovacia frekvencia: %d Hz"
+msgid "channels: %d"
+msgstr "Počet kanálov: %d"
 
 #: src/wavpack/ui.cxx:384
 #, fuzzy, c-format
-msgid "bits per sample: %d"
-msgstr "Bitov na vzorku: %d"
-
-#: src/wavpack/ui.cxx:385
-#, fuzzy, c-format
-msgid "channels: %d"
-msgstr "Počet kanálov: %d"
-
-#: src/wavpack/ui.cxx:386
-#, fuzzy, c-format
 msgid "length: %d:%.2d"
 msgstr ""
 "\n"
 "Celková dĺžka: %d:%d\n"
 
-#: src/wavpack/ui.cxx:387
+#: src/wavpack/ui.cxx:385
 #, fuzzy, c-format
 msgid "file size: %d Bytes"
 msgstr "Veľkosť súboru: %ld B"
 
-#: src/wavpack/ui.cxx:394
+#: src/wavpack/ui.cxx:392
 #, fuzzy
 msgid "Title Peak: ?"
 msgstr "Názov:"
 
-#: src/wavpack/ui.cxx:395
+#: src/wavpack/ui.cxx:393
 #, fuzzy
 msgid "Album Peak: ?"
 msgstr "Vrchol albumu:"
 
-#: src/wavpack/ui.cxx:396
+#: src/wavpack/ui.cxx:394
 #, fuzzy
 msgid "Title Gain: ?"
 msgstr "Zmena názvu"
 
-#: src/wavpack/ui.cxx:397
+#: src/wavpack/ui.cxx:395
 #, fuzzy
 msgid "Album Gain: ?"
 msgstr "Zosilnenie albumu:"
 
-#: src/wavpack/ui.cxx:471
+#: src/wavpack/ui.cxx:469
 #, fuzzy
 msgid "Wavpack Configuration"
 msgstr "Nastavenia Flac"
 
-#: src/wavpack/ui.cxx:484
+#: src/wavpack/ui.cxx:482
 #, fuzzy
 msgid "General Plugin Settings:"
 msgstr "Nastavenia zosilnenia prehrávania:"
 
-#: src/wavpack/ui.cxx:502
+#: src/wavpack/ui.cxx:500
 msgid "ReplayGain Settings:"
 msgstr "Nastavenia zosilnenia prehrávania:"
 
-#: src/wavpack/ui.cxx:520
+#: src/wavpack/ui.cxx:518
 msgid "ReplayGain Type:"
 msgstr "Typ zosilnenia:"
 
-#: src/wavpack/ui.cxx:531
+#: src/wavpack/ui.cxx:529
 msgid "use Track Gain/Peak"
 msgstr "použiť zosilnenie podľa vrcholu v skladbe"
 
-#: src/wavpack/ui.cxx:539
+#: src/wavpack/ui.cxx:537
 msgid "use Album Gain/Peak"
 msgstr "použiť zosilnenie podľa vrcholu na albume"
 
-#: src/wma/wma.c:123
+#: src/wma/wma.c:120
 msgid ""
 "Adapted for use in Audacious by Tony Vroon (chainsaw@gentoo.org) from\n"
 "the BEEP-WMA plugin which is Copyright (C) 2004,2005 Mokrushin I.V. aka "
@@ -5160,14 +6296,6 @@
 #~ msgstr "O podpore sndfile WAV"
 
 #, fuzzy
-#~ msgid "Play/Pause:"
-#~ msgstr "Prehrávanie->Pozastaviť"
-
-#, fuzzy
-#~ msgid "File Info"
-#~ msgstr "Informácie o súbore - %s"
-
-#, fuzzy
 #~ msgid "Couldn't open file!"
 #~ msgstr "MIDI súbor sa nepodarilo načítať"
 
@@ -5192,9 +6320,6 @@
 #~ msgid "%d Hz"
 #~ msgstr "%d Hz"
 
-#~ msgid "Blues"
-#~ msgstr "Blues"
-
 #~ msgid "Classic Rock"
 #~ msgstr "Klasický rok"
 
@@ -5261,9 +6386,6 @@
 #~ msgid "Death Metal"
 #~ msgstr "Death Metal"
 
-#~ msgid "Pranks"
-#~ msgstr "Žarty"
-
 #~ msgid "Soundtrack"
 #~ msgstr "Soundtrack"
 
@@ -5315,9 +6437,6 @@
 #~ msgid "AlternRock"
 #~ msgstr "Alternatívny rock"
 
-#~ msgid "Bass"
-#~ msgstr "Bass"
-
 #~ msgid "Soul"
 #~ msgstr "Soul"
 
@@ -5399,9 +6518,6 @@
 #~ msgid "Rave"
 #~ msgstr "Rave"
 
-#~ msgid "Showtunes"
-#~ msgstr "Showtunes"
-
 #~ msgid "Trailer"
 #~ msgstr "Upútavka"
 
@@ -5420,9 +6536,6 @@
 #~ msgid "Polka"
 #~ msgstr "Polka"
 
-#~ msgid "Retro"
-#~ msgstr "Retro"
-
 #~ msgid "Musical"
 #~ msgstr "Muzikál"
 
@@ -5450,9 +6563,6 @@
 #~ msgid "Bebob"
 #~ msgstr "Bebob"
 
-#~ msgid "Latin"
-#~ msgstr "Latinská"
-
 #~ msgid "Revival"
 #~ msgstr "Revival"
 
@@ -5516,15 +6626,9 @@
 #~ msgid "Booty Bass"
 #~ msgstr "Booty Bass"
 
-#~ msgid "Primus"
-#~ msgstr "Primus"
-
 #~ msgid "Porn Groove"
 #~ msgstr "Porn Groove"
 
-#~ msgid "Satire"
-#~ msgstr "Satira"
-
 #~ msgid "Slow Jam"
 #~ msgstr "Slow Jam"
 
@@ -5597,9 +6701,6 @@
 #~ msgid "Polsk Punk"
 #~ msgstr "Polsk Punk"
 
-#~ msgid "Beat"
-#~ msgstr "Beat"
-
 #~ msgid "Christian Gangsta Rap"
 #~ msgstr "Kresťanský Gangsta Rap"
 
@@ -5658,9 +6759,6 @@
 #~ msgid " Ogg Vorbis Tag "
 #~ msgstr " Popis súboru Ogg Vorbis "
 
-#~ msgid "Date:"
-#~ msgstr "Dátum:"
-
 #~ msgid "Description:"
 #~ msgstr "Popis:"
 
@@ -5670,15 +6768,9 @@
 #~ msgid "ISRC number:"
 #~ msgstr "ISRC číslo:"
 
-#~ msgid "Organization:"
-#~ msgstr "Organizácia:"
-
 #~ msgid " Ogg Vorbis ReplayGain "
 #~ msgstr " Zosilnenie Ogg Vorbis "
 
-#~ msgid "Track gain:"
-#~ msgstr "Zosilnenie skladby:"
-
 #~ msgid "Track peak:"
 #~ msgstr "Vrchol skladby:"
 
@@ -5718,9 +6810,6 @@
 #~ msgid "%d Bytes"
 #~ msgstr "%d bajtov"
 
-#~ msgid "%s - Audacious"
-#~ msgstr "%s - Audacious"
-
 #~ msgid "Use software volume control"
 #~ msgstr "Softvérové ovládanie hlasitosti"
 
@@ -5757,10 +6846,6 @@
 #~ msgstr "10000 Hz"
 
 #, fuzzy
-#~ msgid "16000"
-#~ msgstr "10000 Hz"
-
-#, fuzzy
 #~ msgid "24000"
 #~ msgstr "22000 Hz"
 
@@ -5822,13 +6907,6 @@
 #~ "Test digitálneho čítania zvuku zlyhal: %s\n"
 #~ "\n"
 
-#~ msgid ""
-#~ "Failed to check directory %s\n"
-#~ "Error: %s"
-#~ msgstr ""
-#~ "Adresár %s sa nepodarilo otestovať\n"
-#~ "Chyba: %s"
-
 #~ msgid "Error: %s exist, but is not a directory"
 #~ msgstr "Chyba: %s existuje, ale nie je to adresár"
 
@@ -5859,9 +6937,6 @@
 #~ msgid "Check drive..."
 #~ msgstr "Skontrolovať mechaniku..."
 
-#~ msgid "Remove drive"
-#~ msgstr "Odstrániť mechaniku"
-
 #~ msgid "CD Audio Player Configuration"
 #~ msgstr "Nastavenie prehrávača Audio CD"
 
@@ -5880,9 +6955,6 @@
 #~ msgid "Get server list"
 #~ msgstr "Získať zoznam serverov"
 
-#~ msgid "Show network window"
-#~ msgstr "Zobraziť okno so sieťovým prenosom"
-
 #~ msgid "CDDB server:"
 #~ msgstr "CDDB server:"
 
@@ -6217,12 +7289,6 @@
 #~ msgid "Noise shaping"
 #~ msgstr "Tvarovanie šumu"
 
-#~ msgid "low"
-#~ msgstr "nízke"
-
-#~ msgid "medium"
-#~ msgstr "stredné"
-
 #~ msgid "high"
 #~ msgstr "vysoké"
 
--- a/po/tr.po	Thu Jul 03 17:23:34 2008 +0300
+++ b/po/tr.po	Thu Jul 03 17:37:11 2008 +0300
@@ -14,8 +14,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: audacious-plugins\n"
-"Report-Msgid-Bugs-To: http://bugs.audacious-media-player.org\n"
-"POT-Creation-Date: 2008-03-30 17:25+0200\n"
+"Report-Msgid-Bugs-To: http://bugzilla.atheme.org/\n"
+"POT-Creation-Date: 2008-06-21 08:27+0300\n"
 "PO-Revision-Date: 2007-12-22 23:09+0200\n"
 "Last-Translator: Onur Küçük <onur@pardus.org.tr>\n"
 "Language-Team: Turkish\n"
@@ -24,11 +24,11 @@
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: KBabel 1.11.4\n"
 
-#: src/aac/libmp4.c:286
+#: src/aac/libmp4.c:283
 msgid "Using libfaad2-"
 msgstr "Çözme işlemi için libfaad2-"
 
-#: src/aac/libmp4.c:287
+#: src/aac/libmp4.c:284
 msgid ""
 " for decoding.\n"
 "FAAD2 AAC/HE-AAC/HE-AACv2/DRM decoder (c) Nero AG, www.nero.com\n"
@@ -38,38 +38,38 @@
 "FAAD2 AAC/HE-AAC/HE-AACv2/DRM çözücüsü (c) Nero AG, www.nero.com\n"
 "Telif Hakkı (c) 2005-2006 Audacious ekibi"
 
-#: src/aac/libmp4.c:291
+#: src/aac/libmp4.c:288
 msgid "About MP4 AAC player plugin"
 msgstr "MP4 AAC oynatıcı eklentisi hakkında"
 
-#: src/aac/libmp4.c:293 src/adplug/adplug-xmms.cc:182
-#: src/adplug/adplug-xmms.cc:265 src/adplug/adplug-xmms.cc:526
-#: src/alac/plugin.c:77 src/arts/arts.c:26 src/arts/configure.c:90
-#: src/audiocompress/audacious-glue.c:102
-#: src/audiocompress/audacious-glue.c:552 src/cdaudio-ng/configure.c:228
-#: src/console/Audacious_Driver.cxx:449 src/demac/plugin.c:393
-#: src/echo_plugin/gui.c:26 src/echo_plugin/gui.c:137 src/esd/about.c:49
-#: src/filewriter/filewriter.c:183 src/jack/configure.c:141
-#: src/jack/jack.c:456 src/madplug/plugin.c:542 src/madplug/plugin.c:566
-#: src/metronom/metronom.c:88 src/modplug/gui/main.cxx:49
-#: src/musepack/libmpc.cxx:232 src/null/null.c:67 src/null/null.c:110
-#: src/OSS4/about.c:59 src/OSS/about.c:54 src/paranormal-ng/plugin.c:283
-#: src/paranormal/plugin.c:291 src/scrobbler/gtkstuff.c:25
-#: src/sndfile/plugin.c:565 src/statusicon/si_ui.c:628
-#: src/stereo_plugin/stereo.c:53 src/stereo_plugin/stereo.c:116
-#: src/sun/about.c:38 src/sun/configure.c:559 src/timidity/interface.c:222
-#: src/timidity/xmms-timidity.c:120 src/tonegen/tonegen.c:62
-#: src/tta/libtta.c:153 src/tta/libtta.c:267 src/tta/libtta.c:402
-#: src/vorbis/vorbis.c:700 src/vtx/about.c:32 src/vtx/info.c:43
-#: src/wavpack/ui.cxx:56 src/wavpack/ui.cxx:556
+#: src/aac/libmp4.c:290 src/adplug/adplug-xmms.cc:180
+#: src/adplug/adplug-xmms.cc:263 src/adplug/adplug-xmms.cc:524
+#: src/alac/plugin.c:74 src/arts/arts.c:25 src/arts/configure.c:90
+#: src/audiocompress/audacious-glue.c:110
+#: src/audiocompress/audacious-glue.c:560 src/cdaudio-ng/configure.c:242
+#: src/console/Audacious_Driver.cxx:447 src/crystalizer/crystalizer.c:113
+#: src/demac/plugin.c:364 src/echo_plugin/gui.c:24 src/echo_plugin/gui.c:135
+#: src/esd/about.c:48 src/filewriter/filewriter.c:183 src/jack/configure.c:140
+#: src/jack/jack.c:454 src/madplug/plugin.c:679 src/madplug/plugin.c:703
+#: src/metronom/metronom.c:87 src/modplug/gui/main.cxx:52
+#: src/musepack/libmpc.cxx:228 src/null/null.c:64 src/null/null.c:107
+#: src/OSS4/OSS4.c:55 src/OSS/OSS.c:52 src/paranormal-ng/plugin.c:282
+#: src/paranormal/plugin.c:290 src/scrobbler/gtkstuff.c:22
+#: src/sndfile/plugin.c:571 src/statusicon/si_ui.c:626
+#: src/stereo_plugin/stereo.c:52 src/stereo_plugin/stereo.c:115
+#: src/sun/about.c:37 src/sun/configure.c:557 src/timidity/interface.c:222
+#: src/timidity/xmms-timidity.c:117 src/tonegen/tonegen.c:61
+#: src/tta/libtta.c:150 src/tta/libtta.c:264 src/tta/libtta.c:399
+#: src/vorbis/vorbis.c:696 src/vtx/about.c:26 src/vtx/info.c:38
+#: src/wavpack/ui.cxx:54 src/wavpack/ui.cxx:554
 msgid "Ok"
 msgstr "Tamam"
 
-#: src/adplug/adplug-xmms.cc:171
+#: src/adplug/adplug-xmms.cc:169
 msgid "About "
 msgstr "Hakkında"
 
-#: src/adplug/adplug-xmms.cc:175
+#: src/adplug/adplug-xmms.cc:173
 msgid ""
 "\n"
 "Copyright (C) 2002, 2003 Simon Peter <dn.tlp@gmx.net>\n"
@@ -92,65 +92,65 @@
 "kütüphanesini kullanmaktadır.\n"
 "AdPlug kitaplık sürümü: "
 
-#: src/adplug/adplug-xmms.cc:256
+#: src/adplug/adplug-xmms.cc:254
 msgid "AdPlug :: Configuration"
 msgstr "AdPlug :: Yapılandırması"
 
-#: src/adplug/adplug-xmms.cc:275 src/alarm/interface.c:1398
+#: src/adplug/adplug-xmms.cc:273 src/alarm/interface.c:1398
 #: src/alsa/configure.c:389 src/arts/configure.c:91
-#: src/audiocompress/audacious-glue.c:557 src/cdaudio-ng/configure.c:232
-#: src/echo_plugin/gui.c:145 src/jack/configure.c:148
-#: src/modplug/gui/interface.cxx:714 src/modplug/gui/modplug.glade:1668
-#: src/musepack/libmpc.cxx:237 src/musepack/libmpc.cxx:557 src/null/null.c:111
-#: src/sid/xmms-sid.glade:3080 src/sid/xs_interface.c:1250
-#: src/stereo_plugin/stereo.c:125 src/sun/configure.c:567
-#: src/timidity/interface.c:230 src/wavpack/ui.cxx:280 src/wavpack/ui.cxx:563
+#: src/audiocompress/audacious-glue.c:565 src/cdaudio-ng/configure.c:246
+#: src/crystalizer/crystalizer.c:122 src/echo_plugin/gui.c:143
+#: src/jack/configure.c:147 src/modplug/gui/interface.cxx:714
+#: src/modplug/gui/modplug.glade:1668 src/musepack/libmpc.cxx:233
+#: src/musepack/libmpc.cxx:553 src/null/null.c:108
+#: src/stereo_plugin/stereo.c:124 src/sun/configure.c:565
+#: src/timidity/interface.c:230 src/wavpack/ui.cxx:278 src/wavpack/ui.cxx:561
 msgid "Cancel"
 msgstr "İptal"
 
-#: src/adplug/adplug-xmms.cc:291 src/console/Audacious_Config.cxx:145
-#: src/madplug/configure.c:290 src/modplug/gui/interface.cxx:628
+#: src/adplug/adplug-xmms.cc:289 src/console/Audacious_Config.cxx:144
+#: src/madplug/configure.c:289 src/modplug/gui/interface.cxx:628
 #: src/modplug/gui/interface.cxx:887 src/modplug/gui/modplug.glade:1404
 #: src/modplug/gui/modplug.glade:1804
 msgid "General"
 msgstr "Genel"
 
-#: src/adplug/adplug-xmms.cc:303
+#: src/adplug/adplug-xmms.cc:301
 msgid "Sound quality"
 msgstr "Ses kalitesi"
 
-#: src/adplug/adplug-xmms.cc:308 src/modplug/gui/interface.cxx:187
+#: src/adplug/adplug-xmms.cc:306 src/modplug/gui/interface.cxx:187
 #: src/modplug/gui/modplug.glade:113
 msgid "Resolution"
 msgstr "Çözünürlük"
 
-#: src/adplug/adplug-xmms.cc:310
+#: src/adplug/adplug-xmms.cc:308
 msgid "8bit"
 msgstr "8bit"
 
-#: src/adplug/adplug-xmms.cc:315
+#: src/adplug/adplug-xmms.cc:313
 msgid "16bit"
 msgstr "16bit"
 
-#: src/adplug/adplug-xmms.cc:323 src/modplug/gui/interface.cxx:218
+#: src/adplug/adplug-xmms.cc:321 src/modplug/gui/interface.cxx:218
 #: src/modplug/gui/modplug.glade:199 src/timidity/interface.c:148
 msgid "Channels"
 msgstr "Kanallar"
 
-#: src/adplug/adplug-xmms.cc:325 src/filewriter/mp3.c:900
-#: src/sid/xmms-sid.glade:157 src/sid/xs_interface.c:288
+#: src/adplug/adplug-xmms.cc:323 src/filewriter/mp3.c:900
+#: src/sid/xmms-sid.glade:157 src/sid/xs_interface.c:300
 #: src/timidity/interface.c:165
 msgid "Mono"
 msgstr "Mono"
 
-#: src/adplug/adplug-xmms.cc:330 src/filewriter/mp3.c:895
+#: src/adplug/adplug-xmms.cc:328 src/filewriter/mp3.c:895
 #: src/modplug/gui/interface.cxx:204 src/modplug/gui/modplug.glade:159
-#: src/sid/xmms-sid.glade:176 src/sid/xs_interface.c:295
+#: src/sid/xmms-sid.glade:176 src/sid/xs_interface.c:307
 #: src/timidity/interface.c:173
 msgid "Stereo"
 msgstr "Stereo"
 
-#: src/adplug/adplug-xmms.cc:334
+#: src/adplug/adplug-xmms.cc:332
 msgid ""
 "Setting stereo is not recommended, unless you need to. This won't add any "
 "stereo effects to the sound - OPL2 is just mono - but eats up more CPU power!"
@@ -158,20 +158,20 @@
 "Eğer, ihtyacınız yoksa, stereoyu seçmeyin. Çünkü, sese stereo etkisi "
 "eklenmeyecektir. OPL2 sadece mono kullanır fakat daha fazla CPU gücü harcar!"
 
-#: src/adplug/adplug-xmms.cc:342
+#: src/adplug/adplug-xmms.cc:340
 msgid "Frequency"
 msgstr "Sıklık"
 
-#: src/adplug/adplug-xmms.cc:378 src/adplug/adplug-xmms.cc:582
-#: src/console/Audacious_Config.cxx:147
+#: src/adplug/adplug-xmms.cc:376 src/adplug/adplug-xmms.cc:580
+#: src/console/Audacious_Config.cxx:146 src/skins/ui_manager.c:175
 msgid "Playback"
 msgstr "Çal"
 
-#: src/adplug/adplug-xmms.cc:382
+#: src/adplug/adplug-xmms.cc:380
 msgid "Detect songend"
 msgstr "Şarkı sonunu tespit et"
 
-#: src/adplug/adplug-xmms.cc:386
+#: src/adplug/adplug-xmms.cc:384
 msgid ""
 "If enabled, XMMS will detect a song's ending, stop it and advance in the "
 "playlist. If disabled, XMMS won't take notice of a song's ending and loop it "
@@ -182,23 +182,23 @@
 "Audacious şarkı sonunu tespit edemeyecek ve şarkıyı tekrar tekrar çalmaya "
 "devam edecek."
 
-#: src/adplug/adplug-xmms.cc:397
+#: src/adplug/adplug-xmms.cc:395
 msgid "Formats"
 msgstr "Biçimler"
 
-#: src/adplug/adplug-xmms.cc:404
+#: src/adplug/adplug-xmms.cc:402
 msgid "Format selection"
 msgstr "Biçim seçimi"
 
-#: src/adplug/adplug-xmms.cc:407
+#: src/adplug/adplug-xmms.cc:405
 msgid "Format"
 msgstr "Biçim"
 
-#: src/adplug/adplug-xmms.cc:407
+#: src/adplug/adplug-xmms.cc:405
 msgid "Extension"
 msgstr "Dosya uzantısı"
 
-#: src/adplug/adplug-xmms.cc:447
+#: src/adplug/adplug-xmms.cc:445
 msgid ""
 "Selected file types will be recognized and played back by this plugin. "
 "Deselected types will be ignored to make room for other plugins to play "
@@ -208,88 +208,88 @@
 "Seçilmemiş türler, diğer eklentilerin bu dosyaları çalması için, dikkate "
 "alınmayacak."
 
-#: src/adplug/adplug-xmms.cc:533
+#: src/adplug/adplug-xmms.cc:531
 msgid "AdPlug :: File Info"
 msgstr "AdPlug :: Dosya Bilgisi"
 
-#: src/adplug/adplug-xmms.cc:555 src/amidi-plug/i_configure-fluidsynth.c:448
+#: src/adplug/adplug-xmms.cc:553 src/amidi-plug/i_configure-fluidsynth.c:448
 msgid "Filename"
 msgstr "Dosya adı"
 
+#: src/adplug/adplug-xmms.cc:557 src/skins/ui_playlist.c:470
+msgid "Title: "
+msgstr "Başlık: "
+
+#: src/adplug/adplug-xmms.cc:558
+msgid "Author: "
+msgstr "Yazar: "
+
 #: src/adplug/adplug-xmms.cc:559
-msgid "Title: "
-msgstr "Başlık: "
-
-#: src/adplug/adplug-xmms.cc:560
-msgid "Author: "
-msgstr "Yazar: "
-
-#: src/adplug/adplug-xmms.cc:561
 msgid "File Type: "
 msgstr "Dosya Türü: "
 
-#: src/adplug/adplug-xmms.cc:562
+#: src/adplug/adplug-xmms.cc:560
 msgid "Subsongs: "
 msgstr "Alt şarkılar: "
 
-#: src/adplug/adplug-xmms.cc:563
+#: src/adplug/adplug-xmms.cc:561
 msgid "Instruments: "
 msgstr "Enstrumanlar: "
 
-#: src/adplug/adplug-xmms.cc:568
+#: src/adplug/adplug-xmms.cc:566
 msgid "Orders: "
 msgstr "Sıralar: "
 
-#: src/adplug/adplug-xmms.cc:569
+#: src/adplug/adplug-xmms.cc:567
 msgid "Patterns: "
 msgstr "Örnekler: "
 
-#: src/adplug/adplug-xmms.cc:573
+#: src/adplug/adplug-xmms.cc:571
 msgid "Song"
 msgstr "Şarkı"
 
-#: src/adplug/adplug-xmms.cc:599
+#: src/adplug/adplug-xmms.cc:597
 msgid "Instrument name"
 msgstr "Enstruman adı"
 
-#: src/adplug/adplug-xmms.cc:641
+#: src/adplug/adplug-xmms.cc:639
 msgid "Song message"
 msgstr "Şarkı mesajı"
 
-#: src/adplug/adplug-xmms.cc:663
+#: src/adplug/adplug-xmms.cc:661
 msgid "Subsong selection"
 msgstr "Arkayüz bölümü"
 
-#: src/adplug/adplug-xmms.cc:727
+#: src/adplug/adplug-xmms.cc:725
 msgid "Order: "
 msgstr "Sıra: "
 
-#: src/adplug/adplug-xmms.cc:728
+#: src/adplug/adplug-xmms.cc:726
 msgid "Pattern: "
 msgstr "Örnek: "
 
+#: src/adplug/adplug-xmms.cc:728
+msgid "Row: "
+msgstr "Satır: "
+
+#: src/adplug/adplug-xmms.cc:729
+msgid "Speed: "
+msgstr "Hız: "
+
 #: src/adplug/adplug-xmms.cc:730
-msgid "Row: "
-msgstr "Satır: "
-
-#: src/adplug/adplug-xmms.cc:731
-msgid "Speed: "
-msgstr "Hız: "
-
-#: src/adplug/adplug-xmms.cc:732
 msgid "Timer: "
 msgstr "Sayaç: "
 
-#: src/adplug/adplug-xmms.cc:733 src/console/Audacious_Config.cxx:225
-#: src/sid/xmms-sid.glade:332 src/sid/xs_interface.c:341
+#: src/adplug/adplug-xmms.cc:731 src/console/Audacious_Config.cxx:224
+#: src/sid/xmms-sid.glade:332 src/sid/xs_interface.c:353
 msgid "Hz"
 msgstr "Hz"
 
-#: src/alac/plugin.c:74
+#: src/alac/plugin.c:71
 msgid "About Apple Lossless Audio Plugin"
 msgstr "Apple Kayıpsız Ses Eklentisi Hakkında"
 
-#: src/alac/plugin.c:75
+#: src/alac/plugin.c:72
 msgid ""
 "Copyright (c) 2006 Audacious team\n"
 "Portions (c) 2005-2006 David Hammerton <crazney -at- crazney.net>"
@@ -327,8 +327,8 @@
 
 #: src/alarm/interface.c:71 src/lirc/about.c:115
 #: src/modplug/gui/interface.cxx:971 src/modplug/gui/modplug.glade:2030
-#: src/sid/xmms-sid.glade:3643 src/sid/xs_about.c:214
-#: src/sid/xs_interface.c:1740
+#: src/sid/xmms-sid.glade:3837 src/sid/xs_about.c:214
+#: src/sid/xs_interface.c:1824
 msgid "Close"
 msgstr "Kapat"
 
@@ -340,13 +340,12 @@
 msgid "This is your wakeup call."
 msgstr "Bu sizin uyandırma çağrınız."
 
-#: src/alarm/interface.c:124 src/alarm/interface.c:1389 src/alsa/about.c:46
+#: src/alarm/interface.c:124 src/alarm/interface.c:1389 src/alsa/about.c:45
 #: src/alsa/configure.c:383 src/cdaudio-ng/cdaudio-ng.c:247
-#: src/flacng/plugin.c:706 src/gnomeshortcuts/gnomeshortcuts.c:311
-#: src/hotkey/gui.c:671 src/modplug/gui/interface.cxx:702
-#: src/modplug/gui/modplug.glade:1642 src/pulse_audio/pulse_audio.c:738
-#: src/scrobbler/gtkstuff.c:45 src/sid/xmms-sid.glade:3066
-#: src/sid/xs_interface.c:1243
+#: src/flacng/plugin.c:705 src/gnomeshortcuts/gnomeshortcuts.c:310
+#: src/hotkey/gui.c:670 src/modplug/gui/interface.cxx:702
+#: src/modplug/gui/modplug.glade:1642 src/pulse_audio/pulse_audio.c:736
+#: src/scrobbler/gtkstuff.c:42 src/skins/plugin.c:130
 msgid "OK"
 msgstr "Tamam"
 
@@ -417,7 +416,8 @@
 #: src/alarm/interface.c:612 src/alarm/interface.c:660
 #: src/alarm/interface.c:708 src/alarm/interface.c:756
 #: src/alarm/interface.c:804 src/alarm/interface.c:852
-#: src/alarm/interface.c:900 src/OSS4/configure.c:138 src/OSS/configure.c:169
+#: src/alarm/interface.c:900 src/OSS4/configure.c:136 src/OSS/configure.c:168
+#: src/skins/ui_manager.c:447 src/skins/ui_manager.c:468
 msgid "Default"
 msgstr "Öntanımlı"
 
@@ -462,9 +462,9 @@
 msgstr "Yavaş geçiş"
 
 #: src/alarm/interface.c:1087 src/sid/xmms-sid.glade:2007
-#: src/sid/xmms-sid.glade:2178 src/sid/xmms-sid.glade:2676
-#: src/sid/xs_interface.c:908 src/sid/xs_interface.c:962
-#: src/sid/xs_interface.c:1122
+#: src/sid/xmms-sid.glade:2178 src/sid/xmms-sid.glade:2746
+#: src/sid/xs_interface.c:920 src/sid/xs_interface.c:974
+#: src/sid/xs_interface.c:1154
 msgid "seconds"
 msgstr "saniye"
 
@@ -517,7 +517,7 @@
 msgid "Use reminder"
 msgstr "Hatırlatıcıyı kullan"
 
-#: src/alarm/interface.c:1328 src/sndstretch/sndstretch_xmms.c:377
+#: src/alarm/interface.c:1328 src/sndstretch/sndstretch_xmms.c:376
 msgid "Options"
 msgstr "Seçenekler"
 
@@ -631,7 +631,7 @@
 "    type the reminder in the box and turn on the\n"
 "    toggle button if you want it to be shown.\n"
 
-#: src/alarm/interface.c:1366
+#: src/alarm/interface.c:1366 src/skins/ui_manager.c:386
 msgid "Help"
 msgstr "Yardım"
 
@@ -643,11 +643,11 @@
 msgid "Thankyou"
 msgstr "Teşekkürler"
 
-#: src/alsa/about.c:30
+#: src/alsa/about.c:29
 msgid "About ALSA Driver"
 msgstr "ALSA Sürücüsü Hakkında"
 
-#: src/alsa/about.c:31
+#: src/alsa/about.c:30
 msgid ""
 "Audacious ALSA Driver\n"
 "\n"
@@ -698,8 +698,8 @@
 msgid "ALSA Driver configuration"
 msgstr "ALSA Sürücüsü ayarları"
 
-#: src/alsa/configure.c:274 src/OSS4/configure.c:186 src/OSS/configure.c:217
-#: src/sun/configure.c:183
+#: src/alsa/configure.c:274 src/OSS4/configure.c:184 src/OSS/configure.c:216
+#: src/sun/configure.c:181
 msgid "Audio device:"
 msgstr "Ses aygıtı:"
 
@@ -711,7 +711,7 @@
 msgid "Mixer card:"
 msgstr "Karıştırıcı kart:"
 
-#: src/alsa/configure.c:313 src/OSS/configure.c:260 src/sun/configure.c:220
+#: src/alsa/configure.c:313 src/OSS/configure.c:259 src/sun/configure.c:218
 msgid "Mixer device:"
 msgstr "Karıştırıcı aygıt:"
 
@@ -1430,8 +1430,8 @@
 "<span size=\"smaller\">TiMidity\n"
 "arkayüzü</span>"
 
-#: src/amidi-plug/i_fileinfo.c:169 src/sid/xmms-sid.glade:3465
-#: src/sid/xs_interface.c:1684
+#: src/amidi-plug/i_fileinfo.c:169 src/sid/xmms-sid.glade:3659
+#: src/sid/xs_interface.c:1768
 msgid "Name:"
 msgstr "İsim:"
 
@@ -1557,19 +1557,19 @@
 msgid "None"
 msgstr "Hiçbiri"
 
-#: src/aosd/aosd_trigger.c:75
+#: src/aosd/aosd_trigger.c:74
 msgid "Playback Start"
 msgstr "Çalmayı Başlat"
 
-#: src/aosd/aosd_trigger.c:76
+#: src/aosd/aosd_trigger.c:75
 msgid "Triggers OSD when a playlist entry is played."
 msgstr "Parça listesindeki girdi oynatıldığında OSD'yi başlatır."
 
-#: src/aosd/aosd_trigger.c:80
+#: src/aosd/aosd_trigger.c:79
 msgid "Title Change"
 msgstr "Başlık Değiştirme"
 
-#: src/aosd/aosd_trigger.c:81
+#: src/aosd/aosd_trigger.c:80
 msgid ""
 "Triggers OSD when, during playback, the song title changes but the filename "
 "is the same. This is mostly useful to display title changes in internet "
@@ -1579,27 +1579,27 @@
 "ise OSD'yi tetikler. Bu yetenek özellikle İnternet üzerinden dinlenen "
 "yayınlarda başlık değişikliği olduğunda bu ayar faydalı oluyor."
 
-#: src/aosd/aosd_trigger.c:87
+#: src/aosd/aosd_trigger.c:86
 msgid "Volume Change"
 msgstr "Ses Değiştirme"
 
-#: src/aosd/aosd_trigger.c:88
+#: src/aosd/aosd_trigger.c:87
 msgid "Triggers OSD when volume is changed."
 msgstr "Ses değiştiğinde OSD'yi başlatır."
 
-#: src/aosd/aosd_trigger.c:92
+#: src/aosd/aosd_trigger.c:91
 msgid "Pause On"
 msgstr "Bekletme Açık"
 
-#: src/aosd/aosd_trigger.c:93
+#: src/aosd/aosd_trigger.c:92
 msgid "Triggers OSD when playback is paused."
 msgstr "Çalma bekletildiğinde OSD'yi başlatır."
 
+#: src/aosd/aosd_trigger.c:96
+msgid "Pause Off"
+msgstr "Bekletme Kapalı"
+
 #: src/aosd/aosd_trigger.c:97
-msgid "Pause Off"
-msgstr "Bekletme Kapalı"
-
-#: src/aosd/aosd_trigger.c:98
 msgid "Triggers OSD when playback is unpaused."
 msgstr "Çalmaya yeniden başladığında OSD'yi başlatır."
 
@@ -1698,10 +1698,10 @@
 msgid "Skin file:"
 msgstr "Deri dosyası:"
 
-#: src/aosd/aosd_ui.c:644 src/sid/xmms-sid.glade:2331
-#: src/sid/xmms-sid.glade:2856 src/sid/xmms-sid.glade:2962
-#: src/sid/xs_interface.c:1010 src/sid/xs_interface.c:1182
-#: src/sid/xs_interface.c:1218
+#: src/aosd/aosd_ui.c:644 src/sid/xmms-sid.glade:2373
+#: src/sid/xmms-sid.glade:2968 src/sid/xmms-sid.glade:3136
+#: src/sid/xs_interface.c:1043 src/sid/xs_interface.c:1235
+#: src/sid/xs_interface.c:1291
 msgid "Browse"
 msgstr "Gözat"
 
@@ -1784,9 +1784,9 @@
 msgid "Trigger"
 msgstr "Başlat"
 
-#: src/aosd/aosd_ui.c:1076 src/cdaudio-ng/configure.c:167
+#: src/aosd/aosd_ui.c:1076 src/cdaudio-ng/configure.c:175
 #: src/modplug/gui/interface.cxx:688 src/modplug/gui/modplug.glade:1603
-#: src/sid/xmms-sid.glade:3026 src/sid/xs_interface.c:1229
+#: src/sid/xmms-sid.glade:3220 src/sid/xs_interface.c:1301
 msgid "Misc"
 msgstr "Çeşitli"
 
@@ -1825,11 +1825,11 @@
 "Ghosd kütüphanesini hazırlayan Evan Martin\n"
 "\n"
 
-#: src/arts/arts.c:22
+#: src/arts/arts.c:21
 msgid "About aRts Output"
 msgstr "aRts Çıkışı Hakkında"
 
-#: src/arts/arts.c:23
+#: src/arts/arts.c:22
 msgid ""
 "aRts output plugin by Håvard Kvålen <havardk@xmms.org>\n"
 "Audacious port by Giacomo Lozito from develia.org"
@@ -1841,26 +1841,26 @@
 msgid "aRts Driver configuration"
 msgstr "aRTS Ses Sürücüsü ayarları"
 
-#: src/arts/configure.c:61 src/esd/configure.c:171 src/OSS4/configure.c:232
-#: src/OSS/configure.c:304 src/sun/configure.c:259
+#: src/arts/configure.c:61 src/esd/configure.c:171 src/OSS4/configure.c:230
+#: src/OSS/configure.c:303 src/sun/configure.c:257
 msgid "Buffering:"
 msgstr "Tamponlama:"
 
-#: src/arts/configure.c:73 src/esd/configure.c:184 src/OSS4/configure.c:245
-#: src/OSS/configure.c:317 src/sun/configure.c:272
+#: src/arts/configure.c:73 src/esd/configure.c:184 src/OSS4/configure.c:243
+#: src/OSS/configure.c:316 src/sun/configure.c:270
 msgid "Buffer size (ms):"
 msgstr "Tampon boyutu (ms):"
 
-#: src/arts/configure.c:83 src/esd/configure.c:209 src/OSS4/configure.c:270
-#: src/OSS/configure.c:342 src/sun/configure.c:304
+#: src/arts/configure.c:83 src/esd/configure.c:209 src/OSS4/configure.c:268
+#: src/OSS/configure.c:341 src/sun/configure.c:302
 msgid "Buffering"
 msgstr "Tamponlanıyor"
 
-#: src/audiocompress/audacious-glue.c:95
+#: src/audiocompress/audacious-glue.c:103
 msgid "AudioCompress "
 msgstr "AudioCompress "
 
-#: src/audiocompress/audacious-glue.c:96
+#: src/audiocompress/audacious-glue.c:104
 msgid ""
 "\n"
 "(c)2003 trikuare studios(http://trikuare.cx)\n"
@@ -1876,11 +1876,11 @@
 "Temiz sıkıştırma için kullanabileceğiniz\n"
 "ses seviyesini normal değerlerde tutan bir işleyici"
 
-#: src/audiocompress/audacious-glue.c:101
+#: src/audiocompress/audacious-glue.c:109
 msgid "About AudioCompress"
 msgstr "AudioCompress Hakkında"
 
-#: src/audiocompress/audacious-glue.c:320
+#: src/audiocompress/audacious-glue.c:328
 msgid ""
 "If checked, when the sound peaks the volume will be cut instantly; "
 "otherwise, it will ramp down just in time for the peak (but some minor "
@@ -1890,15 +1890,15 @@
 "tepe noktasına çok az kala basamaklanarak azaltılır (ancak bu da cıırtıya "
 "sebep olabilir)."
 
-#: src/audiocompress/audacious-glue.c:324
+#: src/audiocompress/audacious-glue.c:332
 msgid "The maximum amount to amplify the audio by"
 msgstr "Sesi yükseltmek  için en fazla miktar"
 
-#: src/audiocompress/audacious-glue.c:326
+#: src/audiocompress/audacious-glue.c:334
 msgid "Defines how smoothly the volume will ramp up"
 msgstr "Ses seviyesinin ne kadar akıcı artacağını belirler"
 
-#: src/audiocompress/audacious-glue.c:328
+#: src/audiocompress/audacious-glue.c:336
 msgid ""
 "The target audio level for ramping up. Lowering the value gives a bit more "
 "dynamic range for peaks, but will make the overall sound quieter."
@@ -1907,43 +1907,43 @@
 "biraz daha esneklik sağlar ancak genel olarak sesin daha düşük seviyede "
 "olmasına sebep olur."
 
-#: src/audiocompress/audacious-glue.c:331
+#: src/audiocompress/audacious-glue.c:339
 msgid "How long of a window to maintain"
 msgstr "Bir pencerenin ne kadar saklanacağı"
 
-#: src/audiocompress/audacious-glue.c:372
+#: src/audiocompress/audacious-glue.c:380
 msgid "AudioCompress preferences"
 msgstr "AudioCompress seçenekleri"
 
-#: src/audiocompress/audacious-glue.c:389
+#: src/audiocompress/audacious-glue.c:397
 msgid " Quality Options "
 msgstr " Kalite Seçenekleri "
 
-#: src/audiocompress/audacious-glue.c:394
+#: src/audiocompress/audacious-glue.c:402
 msgid " Aggressively prevent clipping"
 msgstr " Yoğun kırpmayı önle"
 
-#: src/audiocompress/audacious-glue.c:406
+#: src/audiocompress/audacious-glue.c:414
 msgid " Target & gain"
 msgstr " Hedef & kazanç"
 
-#: src/audiocompress/audacious-glue.c:417
+#: src/audiocompress/audacious-glue.c:425
 msgid "Target audio level:"
 msgstr "Hedef ses seviyesi:"
 
-#: src/audiocompress/audacious-glue.c:425
-msgid "Maximum gain:"
-msgstr "Azami kazanç:"
-
 #: src/audiocompress/audacious-glue.c:433
+msgid "Maximum gain:"
+msgstr "Azami kazanç:"
+
+#: src/audiocompress/audacious-glue.c:441
 msgid "Gain smooth:"
 msgstr "Kazanç yumuşaklığı:"
 
-#: src/audiocompress/audacious-glue.c:485
+#: src/audiocompress/audacious-glue.c:493
 msgid " History "
 msgstr " Geçmiş "
 
-#: src/audiocompress/audacious-glue.c:517
+#: src/audiocompress/audacious-glue.c:525
 msgid ""
 "How long of a history to maintain.  A higher number will make the volume "
 "changes less responsive."
@@ -1951,41 +1951,41 @@
 "Geçmişin ne kadarının saklanacağı. Değeri yükseldikçe ses seviyesi "
 "değişikliklerinin tepki hızı azalır."
 
-#: src/audiocompress/audacious-glue.c:528
+#: src/audiocompress/audacious-glue.c:536
 msgid "Load default values"
 msgstr "Öntanımlı değerleri yükle"
 
-#: src/audiocompress/audacious-glue.c:533
+#: src/audiocompress/audacious-glue.c:541
 msgid "Audio values"
 msgstr "Ses değerleri:"
 
-#: src/audiocompress/audacious-glue.c:562 src/echo_plugin/gui.c:152
-#: src/modplug/gui/interface.cxx:708 src/modplug/gui/modplug.glade:1655
-#: src/stereo_plugin/stereo.c:132
+#: src/audiocompress/audacious-glue.c:570 src/crystalizer/crystalizer.c:129
+#: src/echo_plugin/gui.c:150 src/modplug/gui/interface.cxx:708
+#: src/modplug/gui/modplug.glade:1655 src/stereo_plugin/stereo.c:131
 msgid "Apply"
 msgstr "Uygula"
 
-#: src/blur_scope/blur_scope.c:54
+#: src/blur_scope/blur_scope.c:52
 msgid "/Toggle Decorations"
 msgstr "/Geçiş Dekorasyonları"
 
-#: src/blur_scope/blur_scope.c:56
+#: src/blur_scope/blur_scope.c:54
 msgid "/-"
 msgstr "/-"
 
-#: src/blur_scope/blur_scope.c:57
+#: src/blur_scope/blur_scope.c:55
 msgid "/Close"
 msgstr "/Kapat"
 
-#: src/blur_scope/blur_scope.c:181
+#: src/blur_scope/blur_scope.c:179
 msgid "Blur scope"
 msgstr "Bulanık Alan"
 
-#: src/blur_scope/config.c:72
+#: src/blur_scope/config.c:71
 msgid "Blur Scope: Color selection"
 msgstr "Bulanık alan: Renk seçimi"
 
-#: src/blur_scope/config.c:82 src/jack/configure.c:108
+#: src/blur_scope/config.c:81 src/jack/configure.c:107
 msgid "Options:"
 msgstr "Seçenekler:"
 
@@ -2025,7 +2025,7 @@
 "\n"
 "Bu bir Google Summer of Code 2007 projesidir."
 
-#: src/cdaudio-ng/cdaudio-ng.c:814
+#: src/cdaudio-ng/cdaudio-ng.c:815
 msgid ""
 "<b><big>No playable CD found.</big></b>\n"
 "\n"
@@ -2035,98 +2035,103 @@
 "\n"
 "CD yok veya CD ses CD'si deği.\n"
 
-#: src/cdaudio-ng/configure.c:147
+#: src/cdaudio-ng/configure.c:155
 msgid "CD Audio Plugin Configuration"
 msgstr "CD Audio Eklentisi Yapılandırması"
 
-#: src/cdaudio-ng/configure.c:157
+#: src/cdaudio-ng/configure.c:165
 msgid "Digital audio extraction"
 msgstr "Sayısal ses elde etme"
 
-#: src/cdaudio-ng/configure.c:162
+#: src/cdaudio-ng/configure.c:170
 msgid "Title information"
 msgstr "Başlık bilgisi"
 
-#: src/cdaudio-ng/configure.c:179
+#: src/cdaudio-ng/configure.c:187
 msgid "Limit read speed to: "
 msgstr "Okuma hızını sınırla: "
 
-#: src/cdaudio-ng/configure.c:186
+#: src/cdaudio-ng/configure.c:194
 msgid "Use cd-text if available"
 msgstr "Varsa CD Bilgisini kullan"
 
-#: src/cdaudio-ng/configure.c:190
+#: src/cdaudio-ng/configure.c:198
 msgid "Use CDDB if available"
 msgstr "Varsa CDDB kullan"
 
-#: src/cdaudio-ng/configure.c:194
+#: src/cdaudio-ng/configure.c:202
 msgid "Server: "
 msgstr "Sunucu: "
 
-#: src/cdaudio-ng/configure.c:197
+#: src/cdaudio-ng/configure.c:205
+#, fuzzy
+msgid "Path: "
+msgstr "Örnek: "
+
+#: src/cdaudio-ng/configure.c:208
 msgid "Port: "
 msgstr "Port: "
 
-#: src/cdaudio-ng/configure.c:203
+#: src/cdaudio-ng/configure.c:217
 msgid "Use HTTP instead of CDDBP"
 msgstr ""
 
-#: src/cdaudio-ng/configure.c:211
+#: src/cdaudio-ng/configure.c:225
 msgid "Override default device: "
 msgstr "Öntanımlı aygıtın üstüne yaz: "
 
-#: src/cdaudio-ng/configure.c:218
+#: src/cdaudio-ng/configure.c:232
 msgid "Print debug information"
 msgstr "Hata ayıklama bilgisini yazdır"
 
-#: src/console/Audacious_Config.cxx:125
+#: src/console/Audacious_Config.cxx:124
 msgid "Console Music Decoder"
 msgstr "Konsol Müzik Çözücüsü"
 
-#: src/console/Audacious_Config.cxx:162
+#: src/console/Audacious_Config.cxx:161
 msgid "Bass:"
 msgstr "Bas:"
 
-#: src/console/Audacious_Config.cxx:166 src/console/Audacious_Config.cxx:177
-#: src/console/Audacious_Config.cxx:198
+#: src/console/Audacious_Config.cxx:165 src/console/Audacious_Config.cxx:176
+#: src/console/Audacious_Config.cxx:197
 msgid "secs"
 msgstr "saniye"
 
-#: src/console/Audacious_Config.cxx:173
+#: src/console/Audacious_Config.cxx:172
 msgid "Treble:"
 msgstr "Tiz:"
 
-#: src/console/Audacious_Config.cxx:194
+#: src/console/Audacious_Config.cxx:193
 msgid "Default song length:"
 msgstr "Varsayılan şarkı uzunluğu:"
 
-#: src/console/Audacious_Config.cxx:200 src/modplug/gui/interface.cxx:268
+#: src/console/Audacious_Config.cxx:199 src/modplug/gui/interface.cxx:268
 #: src/modplug/gui/modplug.glade:338 src/sid/xmms-sid.glade:1243
-#: src/sid/xs_interface.c:653
+#: src/sid/xs_interface.c:665
 msgid "Resampling"
 msgstr "Yeniden örnekleme"
 
-#: src/console/Audacious_Config.cxx:206
+#: src/console/Audacious_Config.cxx:205
 msgid "Enable audio resampling"
 msgstr "Ses örneklemesini etkinleştir"
 
-#: src/console/Audacious_Config.cxx:221
+#: src/console/Audacious_Config.cxx:220
 msgid "Resampling rate:"
 msgstr "Örnekleme oranı:"
 
-#: src/console/Audacious_Config.cxx:236
+#: src/console/Audacious_Config.cxx:235
 msgid "SPC"
 msgstr "SPC"
 
-#: src/console/Audacious_Config.cxx:237
+#: src/console/Audacious_Config.cxx:236
 msgid "Ignore length from SPC tags"
 msgstr "SPC etiketlerindeki uzunluğu gözardı et"
 
-#: src/console/Audacious_Config.cxx:238
+#: src/console/Audacious_Config.cxx:237
 msgid "Increase reverb"
 msgstr "Derinliği artır"
 
-#: src/console/Audacious_Config.cxx:263
+#: src/console/Audacious_Config.cxx:262
 msgid ""
 "The default song length, expressed in seconds, is used for songs that do not "
 "provide length information (i.e. looping tracks)."
@@ -2134,11 +2139,11 @@
 "Saniyelerle belirtilen varsayılan şarkı uzunluğu, uzunluk bilgisi bulunmayan "
 "parçalar için kullanılır (örneğin özyinelenen izler)."
 
-#: src/console/Audacious_Driver.cxx:444
+#: src/console/Audacious_Driver.cxx:442
 msgid "About the Console Music Decoder"
 msgstr "Konsol Müzik Çözücüsü Hakkında"
 
-#: src/console/Audacious_Driver.cxx:445
+#: src/console/Audacious_Driver.cxx:443
 msgid ""
 "Console music decoder engine based on Game_Music_Emu 0.5.2.\n"
 "Supported formats: AY, GBS, GYM, HES, KSS, NSF, NSFE, SAP, SPC, VGM, VGZ\n"
@@ -2150,12 +2155,21 @@
 "Audacious için uyarlayan: William Pitcock <nenolod@nenolod.net>, \n"
 "        Shay Green <gblargg@gmail.com>"
 
-#: src/demac/plugin.c:388
+#: src/crystalizer/crystalizer.c:90
+#, fuzzy
+msgid "Configure Crystalizer"
+msgstr "Ekstra Stereo Eklentisini Yapılandır"
+
+#: src/crystalizer/crystalizer.c:92 src/stereo_plugin/stereo.c:94
+msgid "Effect intensity:"
+msgstr "Efekt yoğunluğu:"
+
+#: src/demac/plugin.c:359
 #, fuzzy
 msgid "About Monkey's Audio Plugin"
 msgstr "MPEG Ses Eklentisi Hakkında"
 
-#: src/demac/plugin.c:389
+#: src/demac/plugin.c:360
 msgid ""
 "Copyright (C) 2007 Eugene Zagidullin <e.asphyx@gmail.com>\n"
 "Based on ffape decoder, Copyright (C) 2007 Benjamin Zores\n"
@@ -2164,7 +2178,7 @@
 "ffape is a part of FFmpeg project, http://ffmpeg.mplayerhq.hu/"
 msgstr ""
 
-#: src/echo_plugin/gui.c:11
+#: src/echo_plugin/gui.c:9
 msgid ""
 "Echo Plugin\n"
 "By Johan Levin 1999.\n"
@@ -2176,35 +2190,35 @@
 "\n"
 "Surround Eko - Carl van Schaik 1999"
 
-#: src/echo_plugin/gui.c:25
+#: src/echo_plugin/gui.c:23
 msgid "About Echo Plugin"
 msgstr "Yankı (Eko) Eklentisi Hakkında"
 
-#: src/echo_plugin/gui.c:76
+#: src/echo_plugin/gui.c:74
 msgid "Configure Echo"
 msgstr "Yankı (Eko) Eklentisini Yapılandır"
 
-#: src/echo_plugin/gui.c:89
+#: src/echo_plugin/gui.c:87
 msgid "Delay: (ms)"
 msgstr "Gecikme: (ms )"
 
-#: src/echo_plugin/gui.c:94
+#: src/echo_plugin/gui.c:92
 msgid "Feedback: (%)"
 msgstr "Geribesleme: (%)"
 
-#: src/echo_plugin/gui.c:99
+#: src/echo_plugin/gui.c:97
 msgid "Volume: (%)"
 msgstr "Ses: (%)"
 
-#: src/echo_plugin/gui.c:122
+#: src/echo_plugin/gui.c:120
 msgid "Surround echo"
 msgstr "Çevresel Yankı"
 
-#: src/esd/about.c:34
+#: src/esd/about.c:33
 msgid "About ESounD Plugin"
 msgstr "ESounD Eklentisi Hakkında"
 
-#: src/esd/about.c:35
+#: src/esd/about.c:34
 msgid ""
 "Audacious ESounD Plugin\n"
 "\n"
@@ -2266,8 +2280,8 @@
 msgid "Server"
 msgstr "Sunucu"
 
-#: src/esd/configure.c:198 src/OSS4/configure.c:259 src/OSS/configure.c:331
-#: src/sun/configure.c:290
+#: src/esd/configure.c:198 src/OSS4/configure.c:257 src/OSS/configure.c:330
+#: src/sun/configure.c:288
 msgid "Pre-buffer (percent):"
 msgstr "Ön tampon (yüzde):"
 
@@ -2339,7 +2353,7 @@
 msgid "Window->JumpToFile"
 msgstr "Dosya Çal"
 
-#: src/evdev-plug/ed_internals.c:94
+#: src/evdev-plug/ed_internals.c:93
 #, c-format
 msgid ""
 "event-device-plugin: unable to open device file %s , skipping this device; "
@@ -2349,7 +2363,7 @@
 "Cihaz durduruldu. Dosya yolunun, adının doğruluğunu\n"
 "ve erişim haklarınızı kontrol edin.\n"
 
-#: src/evdev-plug/ed_internals.c:103
+#: src/evdev-plug/ed_internals.c:102
 #, c-format
 msgid ""
 "event-device-plugin: unable to create a io_channel for device file %s ,"
@@ -2358,7 +2372,7 @@
 "event-device-plugin: %s aygıt dosyası okunurken giriş-çıkış hatası\n"
 "meydana geldi. Aygıt okuma işlemi durduruldu.\n"
 
-#: src/evdev-plug/ed_internals.c:342
+#: src/evdev-plug/ed_internals.c:341
 msgid ""
 "event-device-plugin: unable to open /proc/bus/input/devices , automatic "
 "detection of event devices won't work.\n"
@@ -2366,7 +2380,7 @@
 "event-device-plugin: /proc/bus/input/devices açılamıyor.\n"
 "Otomatik başlatma yapılamıyor.\n"
 
-#: src/evdev-plug/ed_internals.c:351
+#: src/evdev-plug/ed_internals.c:350
 msgid ""
 "event-device-plugin: unable to open a io_channel for /proc/bus/input/"
 "devices , automatic detection of event devices won't work.\n"
@@ -2374,7 +2388,7 @@
 "event-device-plugin: /proc/bus/input/devices için girdi-çıktı hatası, "
 "otomatik tanımlama yapılamıyor.\n"
 
-#: src/evdev-plug/ed_internals.c:361
+#: src/evdev-plug/ed_internals.c:360
 msgid ""
 "event-device-plugin: an error occurred while reading /proc/bus/input/"
 "devices , automatic detection of event devices won't work.\n"
@@ -2382,14 +2396,14 @@
 "event-device-plugin: /proc/bus/input/devices okunurken hata oluştu, otomatik "
 "tanımlama çalışmayacak.\n"
 
-#: src/evdev-plug/ed_internals.c:424
+#: src/evdev-plug/ed_internals.c:423
 #, c-format
 msgid "event-device-plugin: device %s not found in /dev/input , skipping.\n"
 msgstr ""
 "event-device-plugin: /dev/input içerisinde aygıt %s bulunamadı, es "
 "geçiliyor.\n"
 
-#: src/evdev-plug/ed_internals.c:489 src/evdev-plug/ed_internals.c:583
+#: src/evdev-plug/ed_internals.c:488 src/evdev-plug/ed_internals.c:582
 #, c-format
 msgid ""
 "event-device-plugin: unable to load config file %s , default settings will "
@@ -2398,7 +2412,7 @@
 "event-device-plugin: ayar dosyası %s yüklenemiyor, öntanımlı ayarlar "
 "kullanılacak.\n"
 
-#: src/evdev-plug/ed_internals.c:535
+#: src/evdev-plug/ed_internals.c:534
 #, c-format
 msgid ""
 "event-device-plugin: incomplete information in config file for device \"%s"
@@ -2407,7 +2421,7 @@
 "event-device-plugin: ayar dosyasında \"%s\" aygıtı için yetersiz bilgi "
 "bulundu, es geçiliyor.\n"
 
-#: src/evdev-plug/ed_internals.c:604 src/evdev-plug/ed_internals.c:936
+#: src/evdev-plug/ed_internals.c:603 src/evdev-plug/ed_internals.c:935
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get is_active value for device "
@@ -2416,7 +2430,7 @@
 "event-device-plugin: ayarlar, \"%s\" aygıtının çalıştığı bilgisine "
 "ulaşılamadı, es geçiliyor.\n"
 
-#: src/evdev-plug/ed_internals.c:840
+#: src/evdev-plug/ed_internals.c:839
 #, c-format
 msgid ""
 "event-device-plugin: unable to access local directory %s , settings will not "
@@ -2424,7 +2438,7 @@
 msgstr ""
 "event-device-plugin: yerel dizin %s erişilemiyor, ayarlar kaydedilmeyecek.\n"
 
-#: src/evdev-plug/ed_internals.c:890
+#: src/evdev-plug/ed_internals.c:889
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get filename value for device "
@@ -2433,7 +2447,7 @@
 "event-device-plugn: ayarlar, aygıt \"%s\" için filename değeri alınamıyor, "
 "es geçiliyor.\n"
 
-#: src/evdev-plug/ed_internals.c:906
+#: src/evdev-plug/ed_internals.c:905
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get phys value for device \"%s"
@@ -2442,7 +2456,7 @@
 "event-device-plugin: ayarlar, aygıt \"%s\" için phys değeri alınamıyor, es "
 "geçiliyor.\n"
 
-#: src/evdev-plug/ed_internals.c:922
+#: src/evdev-plug/ed_internals.c:921
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unable to get is_custom value for device "
@@ -2451,7 +2465,7 @@
 "event-device-plugin: ayarlar, aygıt \"%s\" için is_custom değeri alınamıyor, "
 "es geçiliyor.\n"
 
-#: src/evdev-plug/ed_internals.c:946
+#: src/evdev-plug/ed_internals.c:945
 #, c-format
 msgid ""
 "event-device-plugin: configuration, unexpected value for device \"%s\", "
@@ -2473,7 +2487,7 @@
 "Tanınmamış bir aygıt için ilişkilendirme penceresi açılamıyor.\n"
 "Aygıtın düzgün bir şekilde sisteme takılı olduğundan emin olun."
 
-#: src/evdev-plug/ed_ui.c:319 src/madplug/plugin.c:566
+#: src/evdev-plug/ed_ui.c:319 src/madplug/plugin.c:703
 msgid "Error"
 msgstr "Hata"
 
@@ -2539,7 +2553,7 @@
 msgid "Active"
 msgstr "Etkin"
 
-#: src/evdev-plug/ed_ui.c:655 src/sun/configure.c:488
+#: src/evdev-plug/ed_ui.c:655 src/sun/configure.c:486
 msgid "Status"
 msgstr "Durum"
 
@@ -2666,7 +2680,7 @@
 msgid "Output file format:"
 msgstr "Çıktı dosya biçimi:"
 
-#: src/filewriter/filewriter.c:511 src/ladspa/ladspa.c:960
+#: src/filewriter/filewriter.c:511 src/ladspa/ladspa.c:959
 msgid "Configure"
 msgstr "Yapılandır"
 
@@ -2901,11 +2915,11 @@
 msgid "Quality level (0 - 10):"
 msgstr "Kalite seviyesi (0 - 10):"
 
-#: src/flacng/plugin.c:698
+#: src/flacng/plugin.c:697
 msgid "FLAC Audio Plugin "
 msgstr "FLAC Ses Eklentisi "
 
-#: src/flacng/plugin.c:699
+#: src/flacng/plugin.c:698
 msgid ""
 "\n"
 "\n"
@@ -2921,15 +2935,15 @@
 "\n"
 "http://www.skytale.net/projects/bmp-flac2/"
 
-#: src/flacng/plugin.c:704
+#: src/flacng/plugin.c:703
 msgid "About FLAC Audio Plugin"
 msgstr "FLAC Ses Eklentisi Hakkında"
 
+#: src/gnomeshortcuts/gnomeshortcuts.c:305
+msgid "About Gnome Shortcut Plugin"
+msgstr "Gnome Kısayol Eklentisi Hakkında"
+
 #: src/gnomeshortcuts/gnomeshortcuts.c:306
-msgid "About Gnome Shortcut Plugin"
-msgstr "Gnome Kısayol Eklentisi Hakkında"
-
-#: src/gnomeshortcuts/gnomeshortcuts.c:307
 #, fuzzy
 msgid ""
 "Gnome Shortcut Plugin\n"
@@ -2949,7 +2963,7 @@
 msgid "Previous Track"
 msgstr "Önceki Parça:"
 
-#: src/hotkey/gui.c:69
+#: src/hotkey/gui.c:69 src/skins/ui_manager.c:177 src/skins/ui_manager.c:178
 #, fuzzy
 msgid "Play"
 msgstr "Oynatma süresi:"
@@ -2959,7 +2973,7 @@
 msgid "Pause/Resume"
 msgstr "Beklet:"
 
-#: src/hotkey/gui.c:71
+#: src/hotkey/gui.c:71 src/skins/ui_manager.c:183 src/skins/ui_manager.c:184
 #, fuzzy
 msgid "Stop"
 msgstr "Durdur:"
@@ -2994,7 +3008,7 @@
 msgid "Volume Down"
 msgstr "Sesi alçalt:"
 
-#: src/hotkey/gui.c:78
+#: src/hotkey/gui.c:78 src/skins/ui_manager.c:422 src/skins/ui_manager.c:423
 #, fuzzy
 msgid "Jump to File"
 msgstr "Dosyaya Atla:"
@@ -3049,11 +3063,11 @@
 msgid "<b>Key Binding:</b>"
 msgstr ""
 
-#: src/hotkey/gui.c:660
+#: src/hotkey/gui.c:659
 msgid "About Global Hotkey Plugin"
 msgstr "Genel Kısayol Eklentisi Hakkında"
 
-#: src/hotkey/gui.c:661
+#: src/hotkey/gui.c:660
 #, fuzzy
 msgid ""
 "Global Hotkey Plugin\n"
@@ -3083,35 +3097,35 @@
 "\t\t\tJeremy Tan <nsx@nsx.homeip.net>\n"
 "\n"
 
-#: src/jack/configure.c:70
+#: src/jack/configure.c:69
 msgid "Connect to all available jack ports"
 msgstr "Uygun bütün jack portlarına bağlan"
 
-#: src/jack/configure.c:77
+#: src/jack/configure.c:76
 msgid "Connect only the output ports"
 msgstr "Sadece çıkış portlarını bağla"
 
-#: src/jack/configure.c:84
+#: src/jack/configure.c:83
 msgid "Connect to no ports"
 msgstr "Hiç bir porta bağlanma"
 
-#: src/jack/configure.c:99
+#: src/jack/configure.c:98
 msgid "jack Plugin configuration"
 msgstr "Jack Eklentisi Eklentisi yapılandırması"
 
-#: src/jack/configure.c:117
+#: src/jack/configure.c:116
 msgid "Connection mode:"
 msgstr "Bağlantı modu:"
 
-#: src/jack/configure.c:129
+#: src/jack/configure.c:128
 msgid "Enable debug printing"
 msgstr "Hata ayıklama yazdırmasını etkinleştir"
 
-#: src/jack/jack.c:84
+#: src/jack/jack.c:82
 msgid "Sample rate mismatch"
 msgstr "Örnekleme oranı uyumsuzluğu"
 
-#: src/jack/jack.c:87
+#: src/jack/jack.c:85
 msgid ""
 "Xmms is asking for a sample rate that differs from\n"
 " that of the jack server.  Xmms 1.2.8 or later\n"
@@ -3135,15 +3149,15 @@
 "\n"
 "Chris Morgan <cmorgan@alum.wpi.edu>\n"
 
-#: src/jack/jack.c:100 src/wma/wma.c:148
+#: src/jack/jack.c:98 src/wma/wma.c:145
 msgid " Close "
 msgstr " Kapat "
 
-#: src/jack/jack.c:452
+#: src/jack/jack.c:450
 msgid "About JACK Output Plugin 0.17"
 msgstr "JACK Çıkış Eklentisi 0.17 Hakkında"
 
-#: src/jack/jack.c:453
+#: src/jack/jack.c:451
 msgid ""
 "XMMS jack Driver 0.17\n"
 "\n"
@@ -3161,39 +3175,39 @@
 "Audacious uyarlaması\n"
 "develia.org'tan Giacomo Lozito"
 
-#: src/ladspa/ladspa.c:722
+#: src/ladspa/ladspa.c:721
 msgid "This LADSPA plugin has no user controls"
 msgstr "Bu LADSPA eklentisi kullanıcı ayarı içermiyor"
 
-#: src/ladspa/ladspa.c:767 src/ladspa/ladspa.c:853
+#: src/ladspa/ladspa.c:766 src/ladspa/ladspa.c:852
 msgid "Name"
 msgstr "İsim"
 
-#: src/ladspa/ladspa.c:853
+#: src/ladspa/ladspa.c:852
 msgid "UID"
 msgstr "UID"
 
-#: src/ladspa/ladspa.c:928
+#: src/ladspa/ladspa.c:927
 msgid "Installed plugins"
 msgstr "Yüklü eklentiler"
 
-#: src/ladspa/ladspa.c:937
+#: src/ladspa/ladspa.c:936
 msgid "Running plugins"
 msgstr "Çalışan eklentiler"
 
-#: src/ladspa/ladspa.c:952
+#: src/ladspa/ladspa.c:951
 msgid "Add"
 msgstr "Ekle"
 
-#: src/ladspa/ladspa.c:956
+#: src/ladspa/ladspa.c:955
 msgid "Remove"
 msgstr "Kaldır"
 
-#: src/ladspa/ladspa.c:969
+#: src/ladspa/ladspa.c:968
 msgid "LADSPA Plugin Catalog"
 msgstr "LADSPA Eklenti Kataloğu"
 
-#: src/lastfm/lastfm.c:96
+#: src/lastfm/lastfm.c:94
 msgid ""
 "<b><big>Couldn't initialize the last.fm radio plugin.</big></b>\n"
 "\n"
@@ -3295,60 +3309,60 @@
 msgid "%s: will try reconnect every %d seconds...\n"
 msgstr ""
 
-#: src/madplug/configure.c:209
+#: src/madplug/configure.c:208
 msgid "MPEG Audio Plugin Configuration"
 msgstr "MPEG Ses Eklentisi Yapılandırması"
 
-#: src/madplug/configure.c:226
+#: src/madplug/configure.c:225
 #, fuzzy
 msgid "Audio Settings"
 msgstr "Alarm Ayarları"
 
-#: src/madplug/configure.c:234
+#: src/madplug/configure.c:233
 msgid "Force reopen audio when audio type changed"
 msgstr "Ses tipi değişince sesi tekrar yüklemeye zorla"
 
-#: src/madplug/configure.c:243
+#: src/madplug/configure.c:242
 #, fuzzy
 msgid "Metadata Settings"
 msgstr "Karıştırıcı Ayarları:"
 
-#: src/madplug/configure.c:252
+#: src/madplug/configure.c:251
 msgid "Enable fast play-length calculation"
 msgstr "Hızlı parça uzunluğu hesaplamayı etkinleştir"
 
-#: src/madplug/configure.c:259
+#: src/madplug/configure.c:258
 msgid "Parse XING headers"
 msgstr "XING başlıklarını işle"
 
-#: src/madplug/configure.c:266
+#: src/madplug/configure.c:265
 #, fuzzy
 msgid "Use SJIS to write ID3 tags (not recommended)"
 msgstr "ID3 etiketini yazarken UTF-8 yerine SjIS kullan"
 
-#: src/madplug/configure.c:273
+#: src/madplug/configure.c:272
 #, fuzzy
 msgid "Miscellaneous Settings"
 msgstr "Karıştırıcı Ayarları:"
 
-#: src/madplug/configure.c:282
+#: src/madplug/configure.c:281
 msgid "Display average bitrate for VBR"
 msgstr "VBR için ortalama bitoranını göster"
 
-#: src/madplug/configure.c:296 src/vorbis/configure.c:102
+#: src/madplug/configure.c:295 src/vorbis/configure.c:100
 msgid "Override generic titles"
 msgstr "Genel başlıkları geçersiz kıl"
 
-#: src/madplug/configure.c:308
+#: src/madplug/configure.c:307
 msgid "ID3 format:"
 msgstr "ID3 biçimi:"
 
-#: src/madplug/configure.c:320 src/sid/xmms-sid.glade:2540
-#: src/sid/xs_interface.c:1070
+#: src/madplug/configure.c:319 src/sid/xmms-sid.glade:2610
+#: src/sid/xs_interface.c:1102
 msgid "Title"
 msgstr "Başlık"
 
-#: src/madplug/plugin.c:524
+#: src/madplug/plugin.c:661
 #, c-format
 msgid ""
 "Audacious MPEG Audio Plugin\n"
@@ -3379,15 +3393,15 @@
 "ReplayGain desteği:\n"
 "    Samuel Krempp"
 
-#: src/madplug/plugin.c:540
+#: src/madplug/plugin.c:677
 msgid "About MPEG Audio Plugin"
 msgstr "MPEG Ses Eklentisi Hakkında"
 
+#: src/metronom/metronom.c:86
+msgid "About Metronom"
+msgstr "Metronom Hakkında"
+
 #: src/metronom/metronom.c:87
-msgid "About Metronom"
-msgstr "Metronom Hakkında"
-
-#: src/metronom/metronom.c:88
 msgid ""
 "A Tact Generator by Martin Strauss <mys@faveve.uni-stuttgart.de>\n"
 "\n"
@@ -3401,12 +3415,12 @@
 "örneğin tact://77 ile dakikada 77 vurgu ya da\n"
 "tact://60*3/4 ile 60 bpm yi 3/4 tact ile"
 
-#: src/metronom/metronom.c:198 src/metronom/metronom.c:262
+#: src/metronom/metronom.c:197 src/metronom/metronom.c:261
 #, c-format
 msgid "Tact generator: %d bpm"
 msgstr "Takt oluşturucu: %d bpm"
 
-#: src/metronom/metronom.c:200 src/metronom/metronom.c:264
+#: src/metronom/metronom.c:199 src/metronom/metronom.c:263
 #, c-format
 msgid "Tact generator: %d bpm %d/%d"
 msgstr "Takt oluşturucu: %d bpm %d/%d"
@@ -3622,11 +3636,11 @@
 msgid "Message"
 msgstr "Mesaj"
 
-#: src/modplug/gui/main.cxx:45
+#: src/modplug/gui/main.cxx:48
 msgid "Modplug Input Plugin for Audacious ver"
 msgstr "Modplug Girdi Eklentisi Audacious sürüm"
 
-#: src/modplug/gui/main.cxx:46
+#: src/modplug/gui/main.cxx:49
 msgid ""
 "\n"
 "Modplug sound engine written by Olivier Lapicque.\n"
@@ -3642,7 +3656,7 @@
 "Güncelleme ve bakım Konstanty Bialkowski.\n"
 "BMP uyarlaması Theofilos Intzoglou."
 
-#: src/modplug/gui/main.cxx:49
+#: src/modplug/gui/main.cxx:52
 msgid "About Modplug"
 msgstr "Modplug Hakkında"
 
@@ -3652,27 +3666,27 @@
 msgid "Couldn't find pixmap file: %s"
 msgstr "Resim dosyası bulunamadı: %s"
 
-#: src/mtp_up/mtp.c:35
+#: src/mtp_up/mtp.c:33
 msgid "Upload selected track(s)"
 msgstr ""
 
-#: src/mtp_up/mtp.c:296
+#: src/mtp_up/mtp.c:294
 msgid "Upload in progress..."
 msgstr ""
 
-#: src/mtp_up/mtp.c:305
+#: src/mtp_up/mtp.c:303
 msgid "MTP device handler"
 msgstr ""
 
-#: src/mtp_up/mtp.c:309
+#: src/mtp_up/mtp.c:307
 msgid "Disconnect the device"
 msgstr ""
 
-#: src/musepack/libmpc.cxx:146
+#: src/musepack/libmpc.cxx:142
 msgid "Musepack Decoder Plugin 1.2"
 msgstr "Musepack Dekoder Eklentisi 1.2"
 
-#: src/musepack/libmpc.cxx:147
+#: src/musepack/libmpc.cxx:143
 msgid ""
 "Plugin code by\n"
 "Benoit Amiaux\n"
@@ -3688,174 +3702,175 @@
 "\n"
 "Son sürümüne http://musepack.net adresinden ulaşabilirsiniz\n"
 
-#: src/musepack/libmpc.cxx:148
+#: src/musepack/libmpc.cxx:144
 msgid "Nevermind"
 msgstr "Boşver"
 
-#: src/musepack/libmpc.cxx:166
+#: src/musepack/libmpc.cxx:162
 msgid "Musepack Decoder Configuration"
 msgstr "Musepack Çözücüsü Yapılandırması"
 
-#: src/musepack/libmpc.cxx:176
+#: src/musepack/libmpc.cxx:172
 msgid "General Settings"
 msgstr "Genel Ayarlar"
 
-#: src/musepack/libmpc.cxx:183 src/wavpack/ui.cxx:492
+#: src/musepack/libmpc.cxx:179 src/wavpack/ui.cxx:490
 msgid "Enable Dynamic Bitrate Display"
 msgstr "Dinamik Bitoranı Görüntülemeyi Etkinleştir"
 
-#: src/musepack/libmpc.cxx:187 src/wavpack/ui.cxx:498
+#: src/musepack/libmpc.cxx:183 src/wavpack/ui.cxx:496
 msgid "Plugin"
 msgstr "Eklenti"
 
-#: src/musepack/libmpc.cxx:190
+#: src/musepack/libmpc.cxx:186
 msgid "ReplayGain Settings"
 msgstr "ReplayGain Ayarları"
 
-#: src/musepack/libmpc.cxx:197 src/wavpack/ui.cxx:510
+#: src/musepack/libmpc.cxx:193 src/wavpack/ui.cxx:508
 msgid "Enable Clipping Prevention"
 msgstr " Çatlama Korumasını Etkinleştir"
 
-#: src/musepack/libmpc.cxx:202 src/wavpack/ui.cxx:515
+#: src/musepack/libmpc.cxx:198 src/wavpack/ui.cxx:513
 msgid "Enable ReplayGain"
 msgstr "ReplayGain Etkinleştir"
 
-#: src/musepack/libmpc.cxx:207
+#: src/musepack/libmpc.cxx:203
 msgid "ReplayGain Type"
 msgstr "ReplayGain Türü"
 
-#: src/musepack/libmpc.cxx:215
+#: src/musepack/libmpc.cxx:211
 msgid "Use Track Gain"
 msgstr "Parça Kazancı Kullan"
 
-#: src/musepack/libmpc.cxx:219
+#: src/musepack/libmpc.cxx:215
 msgid "Use Album Gain"
 msgstr "Albüm Kazancı Kullan"
 
-#: src/musepack/libmpc.cxx:224 src/wavpack/ui.cxx:547
+#: src/musepack/libmpc.cxx:220 src/wavpack/ui.cxx:545
 msgid "ReplayGain"
 msgstr "ReplayGain"
 
-#: src/musepack/libmpc.cxx:491 src/sid/xmms-sid.glade:3144
-#: src/sid/xs_interface.c:1564 src/tta/libtta.c:304 src/wavpack/ui.cxx:152
+#: src/musepack/libmpc.cxx:487 src/sid/xmms-sid.glade:3338
+#: src/sid/xs_interface.c:1648 src/tta/libtta.c:301 src/wavpack/ui.cxx:150
 msgid "Filename:"
 msgstr "Dosya adı:"
 
-#: src/musepack/libmpc.cxx:506
+#: src/musepack/libmpc.cxx:502
 msgid "Musepack Tag"
 msgstr "Musepack Etiketi"
 
-#: src/musepack/libmpc.cxx:514 src/tta/libtta.c:323 src/wavpack/ui.cxx:172
+#: src/musepack/libmpc.cxx:510 src/tta/libtta.c:320 src/wavpack/ui.cxx:170
 msgid "Title:"
 msgstr "Başlık:"
 
-#: src/musepack/libmpc.cxx:518 src/tta/libtta.c:333 src/wavpack/ui.cxx:184
+#: src/musepack/libmpc.cxx:514 src/tta/libtta.c:330 src/wavpack/ui.cxx:182
 msgid "Artist:"
 msgstr "Sanatçı:"
 
-#: src/musepack/libmpc.cxx:522 src/tta/libtta.c:344 src/wavpack/ui.cxx:196
+#: src/musepack/libmpc.cxx:518 src/tta/libtta.c:341 src/wavpack/ui.cxx:194
 msgid "Album:"
 msgstr "Albüm:"
 
-#: src/musepack/libmpc.cxx:526 src/tta/libtta.c:355 src/wavpack/ui.cxx:208
+#: src/musepack/libmpc.cxx:522 src/tta/libtta.c:352 src/wavpack/ui.cxx:206
 msgid "Comment:"
 msgstr "Yorum:"
 
-#: src/musepack/libmpc.cxx:530 src/tta/libtta.c:366 src/wavpack/ui.cxx:221
+#: src/musepack/libmpc.cxx:526 src/tta/libtta.c:363 src/wavpack/ui.cxx:219
 msgid "Year:"
 msgstr "Yıl:"
 
-#: src/musepack/libmpc.cxx:535
+#: src/musepack/libmpc.cxx:531
 msgid "Track:"
 msgstr "Parça:"
 
-#: src/musepack/libmpc.cxx:540 src/tta/libtta.c:390 src/wavpack/ui.cxx:248
+#: src/musepack/libmpc.cxx:536 src/tta/libtta.c:387 src/wavpack/ui.cxx:246
 msgid "Genre:"
 msgstr "Tür:"
 
-#: src/musepack/libmpc.cxx:551 src/sid/xmms-sid.glade:1732
-#: src/sid/xs_interface.c:820 src/wavpack/ui.cxx:267
+#: src/musepack/libmpc.cxx:547 src/sid/xmms-sid.glade:1732
+#: src/sid/xs_interface.c:832 src/skins/ui_manager.c:438
+#: src/wavpack/ui.cxx:265
 msgid "Save"
 msgstr "Kaydet"
 
-#: src/musepack/libmpc.cxx:554 src/wavpack/ui.cxx:273
+#: src/musepack/libmpc.cxx:550 src/wavpack/ui.cxx:271
 msgid "Remove Tag"
 msgstr "Etiketi kaldır"
 
-#: src/musepack/libmpc.cxx:562
+#: src/musepack/libmpc.cxx:558
 msgid "Musepack Info"
 msgstr "Musepack Bilgi"
 
+#: src/musepack/libmpc.cxx:591
+#, c-format
+msgid "Streamversion %d"
+msgstr "Yayın sürümü %d"
+
+#: src/musepack/libmpc.cxx:592
+#, c-format
+msgid "Encoder: %s"
+msgstr "Enkoder: %s"
+
+#: src/musepack/libmpc.cxx:593
+#, c-format
+msgid "Profile: %s"
+msgstr "Profil: %s"
+
+#: src/musepack/libmpc.cxx:594
+#, c-format
+msgid "Average bitrate: %6.1f kbps"
+msgstr "Ortalama bitoranı: %6.1f kbps"
+
 #: src/musepack/libmpc.cxx:595
 #, c-format
-msgid "Streamversion %d"
-msgstr "Yayın sürümü %d"
+msgid "Samplerate: %d Hz"
+msgstr "Örnekleme oranı: %d Hz"
 
 #: src/musepack/libmpc.cxx:596
 #, c-format
-msgid "Encoder: %s"
-msgstr "Enkoder: %s"
+msgid "Channels: %d"
+msgstr "Kanallar: %d"
 
 #: src/musepack/libmpc.cxx:597
 #, c-format
-msgid "Profile: %s"
-msgstr "Profil: %s"
-
-#: src/musepack/libmpc.cxx:598
-#, c-format
-msgid "Average bitrate: %6.1f kbps"
-msgstr "Ortalama bitoranı: %6.1f kbps"
-
-#: src/musepack/libmpc.cxx:599
-#, c-format
-msgid "Samplerate: %d Hz"
-msgstr "Örnekleme oranı: %d Hz"
-
-#: src/musepack/libmpc.cxx:600
-#, c-format
-msgid "Channels: %d"
-msgstr "Kanallar: %d"
-
-#: src/musepack/libmpc.cxx:601
-#, c-format
 msgid "Length: %d:\\%.2d"
 msgstr "Uzunluk: %d:\\%.2d"
 
-#: src/musepack/libmpc.cxx:602
+#: src/musepack/libmpc.cxx:598
 #, c-format
 msgid "File size: %d Bytes"
 msgstr "Dosya boyutu: %d Bayt"
 
-#: src/musepack/libmpc.cxx:603
+#: src/musepack/libmpc.cxx:599
 #, c-format
 msgid "Track Peak: %5u"
 msgstr "Parça Zirvesi: %5u"
 
-#: src/musepack/libmpc.cxx:604
+#: src/musepack/libmpc.cxx:600
 #, c-format
 msgid "Track Gain: %-+2.2f dB"
 msgstr "Paça Kazancı: %-+2.2f dB"
 
-#: src/musepack/libmpc.cxx:605
+#: src/musepack/libmpc.cxx:601
 #, c-format
 msgid "Album Peak: %5u"
 msgstr "Albüm Zirvesi: %5u"
 
-#: src/musepack/libmpc.cxx:606
+#: src/musepack/libmpc.cxx:602
 #, c-format
 msgid "Album Gain: %-+5.2f dB"
 msgstr "Albüm Kazancı: %-+5.2f dB"
 
-#: src/musepack/libmpc.cxx:634 src/tta/libtta.c:413 src/wavpack/ui.cxx:409
+#: src/musepack/libmpc.cxx:630 src/tta/libtta.c:410 src/wavpack/ui.cxx:407
 #, c-format
 msgid "File Info - %s"
 msgstr "Dosya Bilgisi - %s"
 
-#: src/null/null.c:61
+#: src/null/null.c:58
 msgid "Null output plugin "
 msgstr "Null Çıkış eklentisi"
 
-#: src/null/null.c:62
+#: src/null/null.c:59
 msgid ""
 " by Christian Birchinger <joker@netswarm.net>\n"
 "based on the XMMS plugin by Håvard Kvål <havardk@xmms.org>"
@@ -3863,23 +3878,52 @@
 "Christian Birchinger <joker@netswarm.net>\n"
 "Esinlenilen XMMS eklentisi - Håvard Kvål <havardk@xmms.org>"
 
-#: src/null/null.c:65
+#: src/null/null.c:62
 msgid "About Null Output"
 msgstr "Null Çıkışı Hakkında"
 
-#: src/null/null.c:94
+#: src/null/null.c:91
 msgid "Null output preferences"
 msgstr "Boşl çıktı eklentisi"
 
-#: src/null/null.c:103
+#: src/null/null.c:100
 msgid "Run in real time"
 msgstr "Gerçekzamanlı çalış"
 
-#: src/OSS4/about.c:42
+#: src/OSS4/configure.c:118 src/OSS/configure.c:150
+#, c-format
+msgid "Default (%s)"
+msgstr "Varsayılan (%s)"
+
+#: src/OSS4/configure.c:168 src/OSS/configure.c:200
+msgid "OSS Driver configuration"
+msgstr "OSS Sürücüsü ayarları"
+
+#: src/OSS4/configure.c:206 src/OSS/configure.c:238 src/OSS/configure.c:279
+msgid "Use alternate device:"
+msgstr "Farklı aygıt kullan:"
+
+#: src/OSS4/configure.c:228 src/OSS/configure.c:301 src/sun/configure.c:246
+msgid "Devices"
+msgstr "Aygıtlar"
+
+#: src/OSS4/configure.c:270 src/OSS/configure.c:342
+msgid "Mixer Settings:"
+msgstr "Karıştırıcı Ayarları:"
+
+#: src/OSS4/configure.c:276
+msgid "Save VMIX volume between sessions"
+msgstr "Oturumlar arası VMIX ses seviyesini kaydet"
+
+#: src/OSS4/configure.c:282 src/OSS/configure.c:354 src/sun/configure.c:392
+msgid "Mixer"
+msgstr "Karıştırıcı"
+
+#: src/OSS4/OSS4.c:38
 msgid "About OSSv4 Driver"
 msgstr "OSSv4 Sürücüsü Hakkında"
 
-#: src/OSS4/about.c:43
+#: src/OSS4/OSS4.c:39
 msgid ""
 "Audacious OSSv4 Driver\n"
 "\n"
@@ -3920,40 +3964,15 @@
 "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,\n"
 "USA."
 
-#: src/OSS4/configure.c:120 src/OSS/configure.c:151
-#, c-format
-msgid "Default (%s)"
-msgstr "Varsayılan (%s)"
-
-#: src/OSS4/configure.c:170 src/OSS/configure.c:201
-msgid "OSS Driver configuration"
-msgstr "OSS Sürücüsü ayarları"
-
-#: src/OSS4/configure.c:208 src/OSS/configure.c:239 src/OSS/configure.c:280
-msgid "Use alternate device:"
-msgstr "Farklı aygıt kullan:"
-
-#: src/OSS4/configure.c:230 src/OSS/configure.c:302 src/sun/configure.c:248
-msgid "Devices"
-msgstr "Aygıtlar"
-
-#: src/OSS4/configure.c:272 src/OSS/configure.c:343
-msgid "Mixer Settings:"
-msgstr "Karıştırıcı Ayarları:"
-
-#: src/OSS4/configure.c:278
-msgid "Save VMIX volume between sessions"
-msgstr "Oturumlar arası VMIX ses seviyesini kaydet"
-
-#: src/OSS4/configure.c:284 src/OSS/configure.c:355 src/sun/configure.c:394
-msgid "Mixer"
-msgstr "Karıştırıcı"
-
-#: src/OSS/about.c:39
+#: src/OSS/configure.c:348
+msgid "Volume controls Master not PCM"
+msgstr "Ses ayarı PCM değil, ana kanalı ayarlasın"
+
+#: src/OSS/OSS.c:37
 msgid "About OSS Driver"
 msgstr "OSS Sürücüsü Hakkında"
 
-#: src/OSS/about.c:40
+#: src/OSS/OSS.c:38
 msgid ""
 "Audacious OSS Driver\n"
 "\n"
@@ -3991,19 +4010,15 @@
 "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,\n"
 "USA."
 
-#: src/OSS/configure.c:349
-msgid "Volume controls Master not PCM"
-msgstr "Ses ayarı PCM değil, ana kanalı ayarlasın"
-
 #: src/projectm-1.0/main.c:70
 msgid "_Random"
 msgstr ""
 
-#: src/pulse_audio/pulse_audio.c:722
+#: src/pulse_audio/pulse_audio.c:720
 msgid "About Audacious PulseAudio Output Plugin"
 msgstr "Audacious PulseAudio Çıktı Eklentisi Hakkında"
 
-#: src/pulse_audio/pulse_audio.c:723
+#: src/pulse_audio/pulse_audio.c:721
 msgid ""
 "Audacious PulseAudio Output Plugin\n"
 "\n"
@@ -4041,27 +4056,27 @@
 "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,\n"
 "USA."
 
-#: src/scrobbler/configure.c:138
+#: src/scrobbler/configure.c:134
 msgid "<b>Services</b>"
 msgstr "<b>Hizmetler</b>"
 
-#: src/scrobbler/configure.c:160 src/scrobbler/configure.c:199
+#: src/scrobbler/configure.c:156 src/scrobbler/configure.c:195
 msgid "Username:"
 msgstr "Kullanıcı adı:"
 
-#: src/scrobbler/configure.c:166 src/scrobbler/configure.c:205
+#: src/scrobbler/configure.c:162 src/scrobbler/configure.c:201
 msgid "Password:"
 msgstr "Şifre:"
 
-#: src/scrobbler/configure.c:183
+#: src/scrobbler/configure.c:179
 msgid "<b>Last.FM</b>"
 msgstr "<b>Last.FM</b>"
 
-#: src/scrobbler/configure.c:222
+#: src/scrobbler/configure.c:218
 msgid "<b>Gerpok</b>"
 msgstr "<b>Gerpok</b>"
 
-#: src/scrobbler/gtkstuff.c:21
+#: src/scrobbler/gtkstuff.c:18
 msgid ""
 "Audacious AudioScrobbler Plugin\n"
 "\n"
@@ -4072,11 +4087,11 @@
 "\n"
 "İlk geliştiricileri Audun Hove <audun@nlc.no> ve Pipian <pipian@pipian.com>\n"
 
-#: src/scrobbler/gtkstuff.c:23
+#: src/scrobbler/gtkstuff.c:20
 msgid "About Scrobbler Plugin"
 msgstr "Scrobbler Eklentisi Hakkında"
 
-#: src/scrobbler/gtkstuff.c:36
+#: src/scrobbler/gtkstuff.c:33
 #, c-format
 msgid ""
 "There has been an error that may require your attention.\n"
@@ -4091,59 +4106,59 @@
 "\n"
 "%s\n"
 
-#: src/scrobbler/gtkstuff.c:43
+#: src/scrobbler/gtkstuff.c:40
 msgid "Scrobbler Error"
 msgstr "Scrobbler Hatası"
 
-#: src/sid/xmms-sid.glade:8 src/sid/xs_interface.c:221
+#: src/sid/xmms-sid.glade:8 src/sid/xs_interface.c:233
 msgid "Audacious-SID configuration"
 msgstr "Audacious-SID - yapılandırması"
 
-#: src/sid/xmms-sid.glade:71 src/sid/xs_interface.c:257
+#: src/sid/xmms-sid.glade:71 src/sid/xs_interface.c:269
 msgid "8-bit"
 msgstr "8-bit"
 
-#: src/sid/xmms-sid.glade:90 src/sid/xs_interface.c:264
+#: src/sid/xmms-sid.glade:90 src/sid/xs_interface.c:276
 msgid "16-bit"
 msgstr "16-bit"
 
-#: src/sid/xmms-sid.glade:111 src/sid/xs_interface.c:271
+#: src/sid/xmms-sid.glade:111 src/sid/xs_interface.c:283
 msgid "Resolution:"
 msgstr "Çözünürlük:"
 
-#: src/sid/xmms-sid.glade:196 src/sid/xs_interface.c:302
+#: src/sid/xmms-sid.glade:196 src/sid/xs_interface.c:314
 msgid "Autopanning"
 msgstr "Otomatik Pan"
 
-#: src/sid/xmms-sid.glade:217 src/sid/xs_interface.c:309
+#: src/sid/xmms-sid.glade:217 src/sid/xs_interface.c:321
 msgid "Channels:"
 msgstr "Kanallar:"
 
-#: src/sid/xmms-sid.glade:384 src/sid/xs_interface.c:353
+#: src/sid/xmms-sid.glade:384 src/sid/xs_interface.c:365
 msgid "Samplerate:"
 msgstr "Örnekleme oranı:"
 
-#: src/sid/xmms-sid.glade:430 src/sid/xs_interface.c:370
+#: src/sid/xmms-sid.glade:430 src/sid/xs_interface.c:382
 msgid "Use oversampling"
 msgstr "Yeniden örnekleme kullan"
 
-#: src/sid/xmms-sid.glade:456 src/sid/xs_interface.c:381
+#: src/sid/xmms-sid.glade:456 src/sid/xs_interface.c:393
 msgid "Factor:"
 msgstr "Oran:"
 
-#: src/sid/xmms-sid.glade:500 src/sid/xs_interface.c:393
+#: src/sid/xmms-sid.glade:500 src/sid/xs_interface.c:405
 msgid "Large factors require more CPU-power"
 msgstr "yüksek oran değerleri daha çok işlemci gücü gerektirir"
 
-#: src/sid/xmms-sid.glade:534 src/sid/xs_interface.c:399
+#: src/sid/xmms-sid.glade:534 src/sid/xs_interface.c:411
 msgid "Oversampling:"
 msgstr "Yeniden örnekleme:"
 
-#: src/sid/xmms-sid.glade:570 src/sid/xs_interface.c:404
+#: src/sid/xmms-sid.glade:570 src/sid/xs_interface.c:416
 msgid "Audio"
 msgstr "Ses"
 
-#: src/sid/xmms-sid.glade:620 src/sid/xs_interface.c:436
+#: src/sid/xmms-sid.glade:620 src/sid/xs_interface.c:448
 msgid ""
 "If enabled, this option \"forces\" the emulation engine to use the selected "
 "clock speed/frequency. Otherwise the speed is determined from played file "
@@ -4153,11 +4168,11 @@
 "\"zorlar\". Bu seçenek seçili değilse hız oynatılan dosya bilgilerinden "
 "ayarlanır."
 
-#: src/sid/xmms-sid.glade:622 src/sid/xs_interface.c:432
+#: src/sid/xmms-sid.glade:622 src/sid/xs_interface.c:444
 msgid "Force speed"
 msgstr "Zorlanan hız"
 
-#: src/sid/xmms-sid.glade:640 src/sid/xs_interface.c:442
+#: src/sid/xmms-sid.glade:640 src/sid/xs_interface.c:454
 msgid ""
 "PAL is the european TV standard, which uses 50Hz vertical refresh frequency. "
 "Most of SID-tunes have been made for PAL computers."
@@ -4165,11 +4180,11 @@
 "PAL 50Hz dikey tazeleme frekansına sahip Avrupa Televizyon Standardıdır. SID-"
 "tınılarının çoğu PAL bilgisayarlar için üretilmiştir."
 
-#: src/sid/xmms-sid.glade:642 src/sid/xs_interface.c:438
+#: src/sid/xmms-sid.glade:642 src/sid/xs_interface.c:450
 msgid "PAL (50 Hz)"
 msgstr "PAL (50 Hz)"
 
-#: src/sid/xmms-sid.glade:660 src/sid/xs_interface.c:450
+#: src/sid/xmms-sid.glade:660 src/sid/xs_interface.c:462
 msgid ""
 "NTSC is the TV standard with 60Hz vertical refresh rate (and other features "
 "that differ from PAL). It is mainly used in United States, Japan and certain "
@@ -4179,15 +4194,15 @@
 "özelliğe) sahip bir standarttır. En çok Amerika Birleşik Devletleri, Japonya "
 "ve belli başkı bazı ülkelerde kullanılmaktadır."
 
-#: src/sid/xmms-sid.glade:662 src/sid/xs_interface.c:446
+#: src/sid/xmms-sid.glade:662 src/sid/xs_interface.c:458
 msgid "NTSC (60 Hz)"
 msgstr "NTSC (60 Hz)"
 
-#: src/sid/xmms-sid.glade:683 src/sid/xs_interface.c:454
+#: src/sid/xmms-sid.glade:683 src/sid/xs_interface.c:466
 msgid "Clock speed:"
 msgstr "Saat hızı:"
 
-#: src/sid/xmms-sid.glade:728 src/sid/xs_interface.c:475
+#: src/sid/xmms-sid.glade:728 src/sid/xs_interface.c:487
 msgid ""
 "If enabled, this option \"forces\" the emulation engine to use the selected "
 "SID-chip model. Otherwise the preferred SID model is determined from the "
@@ -4197,11 +4212,11 @@
 "\"zorlanır\". Seçili değilse tercih edilen SID modeli dosyadan (PSIDv2NG "
 "tipinde ise) belirlenir, dosya mevcut değilse bu ayar kullanılır."
 
-#: src/sid/xmms-sid.glade:730 src/sid/xs_interface.c:471
+#: src/sid/xmms-sid.glade:730 src/sid/xs_interface.c:483
 msgid "Force model"
 msgstr "Zorlama modeli"
 
-#: src/sid/xmms-sid.glade:748 src/sid/xs_interface.c:481
+#: src/sid/xmms-sid.glade:748 src/sid/xs_interface.c:493
 msgid ""
 "MOS/CSG 6581 is the earlier major version of SID chip. It differs from 8580 "
 "in few ways, having much fuller filter (which, due to design error, is never "
@@ -4213,19 +4228,19 @@
 "sebebiyle asla iki farklı SID entegresinde aynı olmaz) ve \"ses ayarlama "
 "hatası\" ile dijital örneklerin oynatılmasına olanak verir."
 
-#: src/sid/xmms-sid.glade:750 src/sid/xs_interface.c:477
+#: src/sid/xmms-sid.glade:750 src/sid/xs_interface.c:489
 msgid "MOS 6581"
 msgstr "MOS 6581"
 
-#: src/sid/xmms-sid.glade:769 src/sid/xs_interface.c:485
+#: src/sid/xmms-sid.glade:769 src/sid/xs_interface.c:497
 msgid "MOS 8580"
 msgstr "MOS 8580"
 
-#: src/sid/xmms-sid.glade:790 src/sid/xs_interface.c:492
+#: src/sid/xmms-sid.glade:790 src/sid/xs_interface.c:504
 msgid "SID model:"
 msgstr "SID modeli:"
 
-#: src/sid/xmms-sid.glade:842 src/sid/xs_interface.c:513
+#: src/sid/xmms-sid.glade:842 src/sid/xs_interface.c:525
 msgid ""
 "Use libSIDPlay 1.x emulation, faster but not so accurate. Good in most "
 "cases, though."
@@ -4233,11 +4248,11 @@
 "Daha az hassas fakat daha hızlı olan libSIDPlay 1.x emülasyonu kullan. Çoğu "
 "durum için yeterlidir."
 
-#: src/sid/xmms-sid.glade:844 src/sid/xs_interface.c:509
+#: src/sid/xmms-sid.glade:844 src/sid/xs_interface.c:521
 msgid "SIDPlay 1 (frame-based)"
 msgstr "SIDPLAY 1 (çerçeve tabanlı)"
 
-#: src/sid/xmms-sid.glade:863 src/sid/xs_interface.c:521
+#: src/sid/xmms-sid.glade:863 src/sid/xs_interface.c:533
 msgid ""
 "Use libSIDPlay 2.x emulation, which requires powerful CPU due to more exact "
 "emulation."
@@ -4245,39 +4260,39 @@
 "libSIDPlay 2.x emülasyonu kullan. Daha hassas çalıştığı için güçlü bir "
 "işlemci gerektirir."
 
-#: src/sid/xmms-sid.glade:865 src/sid/xs_interface.c:517
+#: src/sid/xmms-sid.glade:865 src/sid/xs_interface.c:529
 msgid "SIDPlay 2 (cycle-based)"
 msgstr "SIDPlay 2 (tur-tabanlı)"
 
-#: src/sid/xmms-sid.glade:887 src/sid/xs_interface.c:525
+#: src/sid/xmms-sid.glade:887 src/sid/xs_interface.c:537
 msgid "Emulation library selection:"
 msgstr "Emülasyon kütüphanesi seçimi:"
 
-#: src/sid/xmms-sid.glade:933 src/sid/xs_interface.c:542
+#: src/sid/xmms-sid.glade:933 src/sid/xs_interface.c:554
 msgid "Real C64 (SIDPlay 2 only)"
 msgstr "Real C64 (sadece SIDPlay 2 ile)"
 
-#: src/sid/xmms-sid.glade:952 src/sid/xs_interface.c:549
+#: src/sid/xmms-sid.glade:952 src/sid/xs_interface.c:561
 msgid "Bank switching"
 msgstr "Banka değişimi"
 
-#: src/sid/xmms-sid.glade:972 src/sid/xs_interface.c:556
+#: src/sid/xmms-sid.glade:972 src/sid/xs_interface.c:568
 msgid "Transparent ROM"
 msgstr "Saydam ROM"
 
-#: src/sid/xmms-sid.glade:992 src/sid/xs_interface.c:563
+#: src/sid/xmms-sid.glade:992 src/sid/xs_interface.c:575
 msgid "PlaySID environment"
 msgstr "PlaySID ortamı"
 
-#: src/sid/xmms-sid.glade:1013 src/sid/xs_interface.c:570
+#: src/sid/xmms-sid.glade:1013 src/sid/xs_interface.c:582
 msgid "Memory mode:"
 msgstr "Hafıza modu:"
 
-#: src/sid/xmms-sid.glade:1049 src/sid/xs_interface.c:575
+#: src/sid/xmms-sid.glade:1049 src/sid/xs_interface.c:587
 msgid "Emu#1"
 msgstr "Emu#1"
 
-#: src/sid/xmms-sid.glade:1093 src/sid/xs_interface.c:602
+#: src/sid/xmms-sid.glade:1093 src/sid/xs_interface.c:614
 msgid ""
 "This setting can be used to enable libSIDPlay2's \"optimization mode\", "
 "which in downgrades the emulation from cycle-exact to something similar to "
@@ -4287,11 +4302,11 @@
 "bu ayar emülasyonun tam-tur yerine tam-çerçeve çalışmasını sağlar. Sonuçta "
 "daha az işlemci gücü kullanılır ama daha az hassasiyet elde edilir."
 
-#: src/sid/xmms-sid.glade:1095 src/sid/xs_interface.c:598
+#: src/sid/xmms-sid.glade:1095 src/sid/xs_interface.c:610
 msgid "Optimization mode (faster, inaccurate)"
 msgstr "Optimizasyon modu (hassas değil ama hızlı)"
 
-#: src/sid/xmms-sid.glade:1113 src/sid/xs_interface.c:608
+#: src/sid/xmms-sid.glade:1113 src/sid/xs_interface.c:620
 msgid ""
 "reSID is the software SID-chip simulator based on SID reverse-engineering, "
 "created by Dag Lem. It is probably the closest thing to real SID available "
@@ -4301,11 +4316,11 @@
 "engineering) yöntemiyle üretilen simulatör yazılımıdır. Büyük ihtimalle "
 "yazılım emülatörü olarak gerçek SID'e en yakın araçtır."
 
-#: src/sid/xmms-sid.glade:1115 src/sid/xs_interface.c:604
+#: src/sid/xmms-sid.glade:1115 src/sid/xs_interface.c:616
 msgid "reSID-emulation"
 msgstr "reSID-emülasyonu"
 
-#: src/sid/xmms-sid.glade:1133 src/sid/xs_interface.c:616
+#: src/sid/xmms-sid.glade:1133 src/sid/xs_interface.c:628
 msgid ""
 "HardSID is a EISA/PCI card for PC-compatibles, which can be fitted with a "
 "real SID-chip. Software can be used to control the HardSID and combined with "
@@ -4319,15 +4334,15 @@
 "edildiğinde gerçek bir C64 \"neredeyse %100\" başarıyla taklit edilebilir."
 "Daha fazla bilgi için http://www.hardsid.com/"
 
-#: src/sid/xmms-sid.glade:1135 src/sid/xs_interface.c:612
+#: src/sid/xmms-sid.glade:1135 src/sid/xs_interface.c:624
 msgid "HardSID"
 msgstr "HardSID"
 
-#: src/sid/xmms-sid.glade:1156 src/sid/xs_interface.c:620
+#: src/sid/xmms-sid.glade:1156 src/sid/xs_interface.c:632
 msgid "SIDPlay 2 options:"
 msgstr "SIDPlay 2 options:"
 
-#: src/sid/xmms-sid.glade:1201 src/sid/xs_interface.c:641
+#: src/sid/xmms-sid.glade:1201 src/sid/xs_interface.c:653
 msgid ""
 "Fastest and also worst sounding sampling method, simply picks nearest "
 "neighbouring sample."
@@ -4335,11 +4350,11 @@
 "En hızlı ama en kötü ses örnekleme metodu, basitce en yakın örneği seçerek "
 "çalışır."
 
-#: src/sid/xmms-sid.glade:1203 src/sid/xs_interface.c:637
+#: src/sid/xmms-sid.glade:1203 src/sid/xs_interface.c:649
 msgid "Fast (nearest neighbour)"
 msgstr "Hızlı (en yakın örnek)"
 
-#: src/sid/xmms-sid.glade:1221 src/sid/xs_interface.c:649
+#: src/sid/xmms-sid.glade:1221 src/sid/xs_interface.c:661
 msgid ""
 "Uses linear interpolation between samples, yielding higher audio quality "
 "with less sampling noise."
@@ -4347,23 +4362,23 @@
 "Az örnekleme gürültüsü ile yüksek ses kalitesi elde etmek için örnekler "
 "arası doğrusal ortalama kullanır."
 
-#: src/sid/xmms-sid.glade:1223 src/sid/xs_interface.c:645
+#: src/sid/xmms-sid.glade:1223 src/sid/xs_interface.c:657
 msgid "Linear interpolation"
 msgstr "Doğrusal ortalama"
 
-#: src/sid/xmms-sid.glade:1263 src/sid/xs_interface.c:660
+#: src/sid/xmms-sid.glade:1263 src/sid/xs_interface.c:672
 msgid "Resampling (FIR)"
 msgstr "Yeniden örnekleme (FIR)"
 
-#: src/sid/xmms-sid.glade:1284 src/sid/xs_interface.c:667
+#: src/sid/xmms-sid.glade:1284 src/sid/xs_interface.c:679
 msgid "reSID sampling options:"
 msgstr "reSID örnekleme seçenekleri:"
 
-#: src/sid/xmms-sid.glade:1320 src/sid/xs_interface.c:672
+#: src/sid/xmms-sid.glade:1320 src/sid/xs_interface.c:684
 msgid "Emu#2"
 msgstr "Emu#2"
 
-#: src/sid/xmms-sid.glade:1350 src/sid/xs_interface.c:688
+#: src/sid/xmms-sid.glade:1350 src/sid/xs_interface.c:700
 msgid ""
 "This option enables emulation of SID filter. The filter is an essential part "
 "of SID's sound capacity, but accurate emulation of it may require quite much "
@@ -4375,59 +4390,61 @@
 "işlemci gücü isteyebilir. Yine de, filtre emülasyonu kapatılırsa, duyulan "
 "sesler filtreyi çağırdıkları kadar otantik üretilmeyecektir."
 
-#: src/sid/xmms-sid.glade:1352 src/sid/xs_interface.c:684
+#: src/sid/xmms-sid.glade:1352 src/sid/xs_interface.c:696
 msgid "Emulate filters"
 msgstr "Emülasyon filtreleri"
 
-#: src/sid/xmms-sid.glade:1409 src/sid/xs_interface.c:713
+#: src/sid/xmms-sid.glade:1409 src/sid/xs_interface.c:725
 msgid "FS"
 msgstr "FS"
 
-#: src/sid/xmms-sid.glade:1460 src/sid/xs_interface.c:730
+#: src/sid/xmms-sid.glade:1460 src/sid/xs_interface.c:742
 msgid "FM"
 msgstr "FM"
 
-#: src/sid/xmms-sid.glade:1511 src/sid/xs_interface.c:747
+#: src/sid/xmms-sid.glade:1511 src/sid/xs_interface.c:759
 msgid "FT"
 msgstr "FT"
 
-#: src/sid/xmms-sid.glade:1549 src/sid/xs_interface.c:758
+#: src/sid/xmms-sid.glade:1549 src/sid/xs_interface.c:770
 msgid "Reset values"
 msgstr "Değerleri sıfırla"
 
-#: src/sid/xmms-sid.glade:1578 src/sid/xs_interface.c:763
+#: src/sid/xmms-sid.glade:1578 src/sid/xs_interface.c:775
 msgid "SIDPlay1"
 msgstr "SIDPlay1"
 
-#: src/sid/xmms-sid.glade:1690 src/sid/xs_interface.c:804
+#: src/sid/xmms-sid.glade:1690 src/sid/xs_interface.c:816
 msgid "Export"
 msgstr "Dışa aktar"
 
-#: src/sid/xmms-sid.glade:1711 src/sid/xs_interface.c:812
+#: src/sid/xmms-sid.glade:1711 src/sid/xs_interface.c:824
 msgid "Use"
 msgstr "Kullan"
 
-#: src/sid/xmms-sid.glade:1753 src/sid/xs_interface.c:828
+#: src/sid/xmms-sid.glade:1753 src/sid/xs_interface.c:840
+#: src/skins/ui_manager.c:437
 msgid "Import"
 msgstr "İçe aktar"
 
-#: src/sid/xmms-sid.glade:1774 src/sid/xs_interface.c:836
+#: src/sid/xmms-sid.glade:1774 src/sid/xs_interface.c:848
+#: src/skins/ui_manager.c:439
 msgid "Delete"
 msgstr "Sil"
 
-#: src/sid/xmms-sid.glade:1819 src/sid/xs_interface.c:850
+#: src/sid/xmms-sid.glade:1819 src/sid/xs_interface.c:862
 msgid "Filter curve:"
 msgstr "Filtre eğrisi"
 
-#: src/sid/xmms-sid.glade:1855 src/sid/xs_interface.c:855
+#: src/sid/xmms-sid.glade:1855 src/sid/xs_interface.c:867
 msgid "SIDPlay2"
 msgstr "SIDPlay2"
 
-#: src/sid/xmms-sid.glade:1891 src/sid/xs_interface.c:861
+#: src/sid/xmms-sid.glade:1891 src/sid/xs_interface.c:873
 msgid "Filters"
 msgstr "Filtreler"
 
-#: src/sid/xmms-sid.glade:1935 src/sid/xs_interface.c:888
+#: src/sid/xmms-sid.glade:1935 src/sid/xs_interface.c:900
 msgid ""
 "If enabled, the tune is played at least for the specified time, adding "
 "silence to the end if necessary."
@@ -4435,21 +4452,21 @@
 "Seçildiğinde tını belirlenen süre kadar oynatılır, gerekli olursa sonuna "
 "sessizlik eklenir."
 
-#: src/sid/xmms-sid.glade:1937 src/sid/xs_interface.c:884
+#: src/sid/xmms-sid.glade:1937 src/sid/xs_interface.c:896
 msgid "Play at least for specified time"
 msgstr "En az belirlenen süre kadar oynat"
 
 #: src/sid/xmms-sid.glade:1962 src/sid/xmms-sid.glade:2133
-#: src/sid/xmms-sid.glade:2632 src/sid/xs_interface.c:895
-#: src/sid/xs_interface.c:949 src/sid/xs_interface.c:1109
+#: src/sid/xmms-sid.glade:2702 src/sid/xs_interface.c:907
+#: src/sid/xs_interface.c:961 src/sid/xs_interface.c:1141
 msgid "Playtime:"
 msgstr "Oynatma süresi:"
 
-#: src/sid/xmms-sid.glade:2041 src/sid/xs_interface.c:915
+#: src/sid/xmms-sid.glade:2041 src/sid/xs_interface.c:927
 msgid "Minimum playtime:"
 msgstr "En az oynatma süresi:"
 
-#: src/sid/xmms-sid.glade:2086 src/sid/xs_interface.c:936
+#: src/sid/xmms-sid.glade:2086 src/sid/xs_interface.c:948
 msgid ""
 "If enabled, tune is played until specified duration is reached (aka maximum "
 "playtime)."
@@ -4457,11 +4474,11 @@
 "Seçildiğinde tını belirlenen süreye kadar oynatılır (maksimum oynatma "
 "süresi)."
 
-#: src/sid/xmms-sid.glade:2088 src/sid/xs_interface.c:932
+#: src/sid/xmms-sid.glade:2088 src/sid/xs_interface.c:944
 msgid "Play for specified time maximum"
 msgstr "En fazla belirlenen süre kadar oynat"
 
-#: src/sid/xmms-sid.glade:2107 src/sid/xs_interface.c:942
+#: src/sid/xmms-sid.glade:2107 src/sid/xs_interface.c:954
 msgid ""
 "If enabled, the maximum playtime is applied only if song/tune length is not "
 "known."
@@ -4469,15 +4486,15 @@
 "Seçildiğinde en fazla oynatma süresi sadece şarkının/tınının süresi "
 "bilinmiyorsa uygulanır."
 
-#: src/sid/xmms-sid.glade:2109 src/sid/xs_interface.c:938
+#: src/sid/xmms-sid.glade:2109 src/sid/xs_interface.c:950
 msgid "Only when song length is unknown"
 msgstr "Sadece şarkı süresi bilinmiyorsa"
 
-#: src/sid/xmms-sid.glade:2212 src/sid/xs_interface.c:969
+#: src/sid/xmms-sid.glade:2212 src/sid/xs_interface.c:981
 msgid "Maximum playtime:"
 msgstr "En fazla oynatma süresi:"
 
-#: src/sid/xmms-sid.glade:2257 src/sid/xs_interface.c:990
+#: src/sid/xmms-sid.glade:2257 src/sid/xs_interface.c:1002
 msgid ""
 "This option enables using of XSIDPLAY compatible song length database. "
 "(Refer to Audacious-SID documentation for more information)"
@@ -4485,31 +4502,31 @@
 "Bu seçenek XSIDPLAY uyumlu şarkı uzunluğu veritabanının kullanımını açar. "
 "(Daha fazla bilgi için Audacious-SID belgelerine başvurunuz)"
 
-#: src/sid/xmms-sid.glade:2259 src/sid/xs_interface.c:986
+#: src/sid/xmms-sid.glade:2259 src/sid/xs_interface.c:998
 msgid "Use XSIDPLAY-compatible database"
 msgstr "XSIDPLAY-uyumlu veritabanı kullan"
 
-#: src/sid/xmms-sid.glade:2284 src/sid/xs_interface.c:997
+#: src/sid/xmms-sid.glade:2284 src/sid/xs_interface.c:1009
 msgid "DB-file:"
 msgstr "DB-dosyası:"
 
-#: src/sid/xmms-sid.glade:2309 src/sid/xs_interface.c:1007
+#: src/sid/xmms-sid.glade:2309 src/sid/xs_interface.c:1019
 msgid "Database path and filename"
 msgstr "Veritabanı dizini ve dosya adı"
 
-#: src/sid/xmms-sid.glade:2329 src/sid/xs_interface.c:1014
+#: src/sid/xmms-sid.glade:2329 src/sid/xs_interface.c:1026
 msgid "Browse for song length-database file"
 msgstr "Şarkı uzunluğu veritabanı dosyasını seç"
 
-#: src/sid/xmms-sid.glade:2356 src/sid/xs_interface.c:1016
+#: src/sid/xmms-sid.glade:2418 src/sid/xs_interface.c:1048
 msgid "Song length database:"
 msgstr "Şarkı uzunluğu veritabanı:"
 
-#: src/sid/xmms-sid.glade:2392 src/sid/xs_interface.c:1021
+#: src/sid/xmms-sid.glade:2454 src/sid/xs_interface.c:1053
 msgid "Songlength"
 msgstr "Şarkı uzunluğu"
 
-#: src/sid/xmms-sid.glade:2430 src/sid/xs_interface.c:1043
+#: src/sid/xmms-sid.glade:2492 src/sid/xs_interface.c:1075
 msgid ""
 "By enabling this option you can specify a custom Tuplez formatting string "
 "for SID-files. The SID-plugin specific Tuplez tags are described shortly "
@@ -4519,23 +4536,32 @@
 "belirleyebilirsiniz. SID eklentisine özel Tuplez etiketleri kısa bir şekilde "
 "aşağıda açıklanmıştır."
 
-#: src/sid/xmms-sid.glade:2432 src/sid/xs_interface.c:1039
+#: src/sid/xmms-sid.glade:2494 src/sid/xs_interface.c:1071
 msgid "Override generic Tuplez format string"
 msgstr "Genel Tuplez biçimindeki metni kullanma"
 
-#: src/sid/xmms-sid.glade:2457 src/sid/xs_interface.c:1054
+#: src/sid/xmms-sid.glade:2519 src/sid/xs_interface.c:1086
 msgid "Tuplez format string for SID-files"
 msgstr "SID dosyaları için Tuplez biçim metni"
 
-#: src/sid/xmms-sid.glade:2477 src/sid/xs_interface.c:1057
-msgid "Descriptions of <i>SID-specific</i> Tuplez fields go here. <b>:D</b>"
-msgstr "<i>SID'e özel</i> Tuplez alanlarının tanımı buraya gelecek. <b>:D</b>"
-
-#: src/sid/xmms-sid.glade:2511 src/sid/xs_interface.c:1065
+#: src/sid/xmms-sid.glade:2539 src/sid/xs_interface.c:1089
+msgid ""
+"<u>SID-specific Tuplez fields:</u>\n"
+"\n"
+"<b>sid-format</b>\t\t- Specific fileformat\n"
+"<b>sid-model</b>\t\t- 6581 or 8580\n"
+"<b>sid-speed</b>\t\t- Timing or speed: PAL/NTSC/etc.\n"
+"\n"
+"<u>Other \"special\" fields set:</u>\n"
+"\n"
+"<b>subsong-num, subsong-id</b>"
+msgstr ""
+
+#: src/sid/xmms-sid.glade:2581 src/sid/xs_interface.c:1097
 msgid "Song title format:"
 msgstr "Şarkı adı biçimi:"
 
-#: src/sid/xmms-sid.glade:2584 src/sid/xs_interface.c:1096
+#: src/sid/xmms-sid.glade:2654 src/sid/xs_interface.c:1128
 msgid ""
 "If enabled, sub-tunes of each file will be added to playlist. If disabled, "
 "only the default sub-tune will be added."
@@ -4543,23 +4569,23 @@
 "Seçildiğinde, her dosyanın alt tınısı parça listesine eklenecektir. Kapalı "
 "ise, sadece öntanımlı alt tını eklenecektir."
 
-#: src/sid/xmms-sid.glade:2586 src/sid/xs_interface.c:1092
+#: src/sid/xmms-sid.glade:2656 src/sid/xs_interface.c:1124
 msgid "Add sub-tunes to playlist"
 msgstr "Parça listesine alttınılar ekle"
 
-#: src/sid/xmms-sid.glade:2605 src/sid/xs_interface.c:1102
+#: src/sid/xmms-sid.glade:2675 src/sid/xs_interface.c:1134
 msgid "Only add sub-tunes that have a duration of at least specified time."
 msgstr "Sadece en az belirlenen süre uzunluğunda alttınıları ekle."
 
-#: src/sid/xmms-sid.glade:2607 src/sid/xs_interface.c:1098
+#: src/sid/xmms-sid.glade:2677 src/sid/xs_interface.c:1130
 msgid "Only tunes with specified minimum duration"
 msgstr "Sadece belirlenen en az süreye sahip tınılar"
 
-#: src/sid/xmms-sid.glade:2710 src/sid/xs_interface.c:1129
+#: src/sid/xmms-sid.glade:2780 src/sid/xs_interface.c:1161
 msgid "Sub-tune handling:"
 msgstr "Alttını yönetimi:"
 
-#: src/sid/xmms-sid.glade:2755 src/sid/xs_interface.c:1150
+#: src/sid/xmms-sid.glade:2825 src/sid/xs_interface.c:1182
 msgid ""
 "If this option is enabled (and the database & HVSC settings below are "
 "correctly set), Audacious-SID will use and display additional information "
@@ -4569,15 +4595,15 @@
 "ayarlandıysa), Audacious-SID HVSC SID dosyaları oynatılırken STIL "
 "veritabanından aldığını bilgileri kullanacak ve gösterecek."
 
-#: src/sid/xmms-sid.glade:2757 src/sid/xs_interface.c:1146
+#: src/sid/xmms-sid.glade:2827 src/sid/xs_interface.c:1178
 msgid "Use STIL database"
 msgstr "STIL veritabanını kullan"
 
-#: src/sid/xmms-sid.glade:2782 src/sid/xs_interface.c:1157
+#: src/sid/xmms-sid.glade:2852 src/sid/xs_interface.c:1189
 msgid "STIL file:"
 msgstr "STIL dosyası:"
 
-#: src/sid/xmms-sid.glade:2819 src/sid/xs_interface.c:1173
+#: src/sid/xmms-sid.glade:2889 src/sid/xs_interface.c:1205
 msgid ""
 "Path and filename of STIL database file (STIL.txt), usually found from "
 "HVSC's DOCUMENTS-subdirectory."
@@ -4585,15 +4611,15 @@
 "STIL veritabanı dosyasının (STIL.txt) dizini ve dosya adı. Genellikle "
 "HVSC'nin DOCUMENTS dizininden bulunabilir."
 
-#: src/sid/xmms-sid.glade:2854 src/sid/xs_interface.c:1186
+#: src/sid/xmms-sid.glade:2924 src/sid/xs_interface.c:1218
 msgid "Browse for STIL-database file"
 msgstr "STIL veritabanı dosyasını seç"
 
-#: src/sid/xmms-sid.glade:2888 src/sid/xs_interface.c:1193
+#: src/sid/xmms-sid.glade:3020 src/sid/xs_interface.c:1245
 msgid "HVSC path:"
 msgstr "HVSC yolu:"
 
-#: src/sid/xmms-sid.glade:2925 src/sid/xs_interface.c:1209
+#: src/sid/xmms-sid.glade:3057 src/sid/xs_interface.c:1261
 msgid ""
 "Path to base-directory of your High Voltage SID Collection (HVSC), for "
 "example /media/C64Music/"
@@ -4601,88 +4627,88 @@
 "Yüksek Voltaj SID Koleksiyonu (HVSC) aranacağı dizin, örnek olarak /media/"
 "C64Music/"
 
-#: src/sid/xmms-sid.glade:2960 src/sid/xs_interface.c:1222
+#: src/sid/xmms-sid.glade:3092 src/sid/xs_interface.c:1274
 msgid "Browse for HVSC path"
 msgstr "HVSC dizinini seç"
 
-#: src/sid/xmms-sid.glade:2990 src/sid/xs_interface.c:1224
+#: src/sid/xmms-sid.glade:3184 src/sid/xs_interface.c:1296
 msgid "SID Tune Information List (STIL) database:"
 msgstr "SID Tını Bilgisi Listesi (STIL) veritabanı:"
 
-#: src/sid/xmms-sid.glade:3063 src/sid/xs_interface.c:1248
+#: src/sid/xmms-sid.glade:3257 src/sid/xs_interface.c:1320
 msgid "Accept and update changes"
 msgstr "Değişiklikleri kabul et ve güncelle"
 
-#: src/sid/xmms-sid.glade:3077 src/sid/xs_interface.c:1255
+#: src/sid/xmms-sid.glade:3271 src/sid/xs_interface.c:1327
 msgid "Cancel any changes"
 msgstr "Değişiklikleri kabul etme"
 
-#: src/sid/xmms-sid.glade:3102 src/sid/xs_interface.c:1543
+#: src/sid/xmms-sid.glade:3296 src/sid/xs_interface.c:1627
 msgid "Audacious-SID Fileinfo"
 msgstr "Audacious SID Dosya Bilgisi"
 
-#: src/sid/xmms-sid.glade:3172 src/sid/xs_interface.c:1572
+#: src/sid/xmms-sid.glade:3366 src/sid/xs_interface.c:1656
 msgid "Songname:"
 msgstr "Şarkı adı:"
 
-#: src/sid/xmms-sid.glade:3200 src/sid/xs_interface.c:1580
+#: src/sid/xmms-sid.glade:3394 src/sid/xs_interface.c:1664
 msgid "Composer:"
 msgstr "Besteci:"
 
-#: src/sid/xmms-sid.glade:3228 src/sid/xs_interface.c:1588
+#: src/sid/xmms-sid.glade:3422 src/sid/xs_interface.c:1672
 msgid "Copyright:"
 msgstr "Telif Hakkı:"
 
-#: src/sid/xmms-sid.glade:3342 src/sid/xs_interface.c:1632
+#: src/sid/xmms-sid.glade:3536 src/sid/xs_interface.c:1716
 msgid "Song Information:"
 msgstr "Şarkı Bilgisi:"
 
-#: src/sid/xmms-sid.glade:3416 src/sid/xs_interface.c:1667
+#: src/sid/xmms-sid.glade:3610 src/sid/xs_interface.c:1751
 msgid "Author:"
 msgstr "Yazar:"
 
-#: src/sid/xmms-sid.glade:3514 src/sid/xs_interface.c:1701
+#: src/sid/xmms-sid.glade:3708 src/sid/xs_interface.c:1785
 msgid "Duration:"
 msgstr "Süre:"
 
-#: src/sid/xmms-sid.glade:3608 src/sid/xs_interface.c:1735
+#: src/sid/xmms-sid.glade:3802 src/sid/xs_interface.c:1819
 msgid "Sub-tune Information:"
 msgstr "Alt Tını Bilgisi:"
 
-#: src/sid/xmms-sid.glade:3662 src/sid/xs_interface.c:1796
+#: src/sid/xmms-sid.glade:3856 src/sid/xs_interface.c:1880
 msgid "Select HVSC song length database"
 msgstr "HVSC şarkı uzunluğu veritabanını seç"
 
-#: src/sid/xmms-sid.glade:3704 src/sid/xs_interface.c:1837
+#: src/sid/xmms-sid.glade:3898 src/sid/xs_interface.c:1921
 msgid "Select STIL-database"
 msgstr "STIL veritabanını seç"
 
-#: src/sid/xmms-sid.glade:3746 src/sid/xs_interface.c:1878
+#: src/sid/xmms-sid.glade:3940 src/sid/xs_interface.c:1962
 msgid "Select HVSC location prefix"
 msgstr "HVSC konum bilgisini seç"
 
-#: src/sid/xmms-sid.glade:3788 src/sid/xs_interface.c:1919
+#: src/sid/xmms-sid.glade:3982 src/sid/xs_interface.c:2003
 msgid "Select SIDPlay2 filters file for importing"
 msgstr "İçe aktarmak için SIDPlay2 filtre dosyasını seç"
 
-#: src/sid/xmms-sid.glade:3830 src/sid/xs_interface.c:1960
+#: src/sid/xmms-sid.glade:4024 src/sid/xs_interface.c:2044
 msgid "Select SIDPlay2 filters file for exporting"
 msgstr "Dışa aktarmak için SIDPlay2 filtre dosyasını seç"
 
-#: src/sid/xmms-sid.glade:3871 src/sid/xmms-sid.glade:3953
-#: src/sid/xs_interface.c:2008 src/sid/xs_interface.c:2021
+#: src/sid/xmms-sid.glade:4065 src/sid/xmms-sid.glade:4147
+#: src/sid/xs_interface.c:2092 src/sid/xs_interface.c:2105
 msgid "Confirm selected action"
 msgstr "Seçilen eylemi onayla"
 
-#: src/sid/xmms-sid.glade:3909 src/sid/xs_interface.c:2038
+#: src/sid/xmms-sid.glade:4103 src/sid/xs_interface.c:2122
 msgid "Yes"
 msgstr "Evet"
 
-#: src/sid/xmms-sid.glade:3921 src/sid/xs_interface.c:2044
+#: src/sid/xmms-sid.glade:4115 src/sid/xs_interface.c:2128
 msgid "No"
 msgstr "Hayır"
 
-#: src/sid/xs_about.c:84 src/wma/wma.c:121
+#: src/sid/xs_about.c:84 src/wma/wma.c:118
 #, c-format
 msgid "About %s"
 msgstr "%s Hakkında"
@@ -4696,12 +4722,1143 @@
 msgid "Tune #%i: "
 msgstr "Tını #%i: "
 
-#: src/sndfile/plugin.c:548
+#: src/skins/plugin.c:128
+msgid "About Skinned GUI"
+msgstr ""
+
+#: src/skins/plugin.c:129
+msgid ""
+"Copyright (c) 2008, by Tomasz Moń <desowin@gmail.com>\n"
+"\n"
+msgstr ""
+
+#: src/skins/skins_cfg.c:329
+#, fuzzy
+msgid "<b>_Fonts</b>"
+msgstr "<b>Dosya ismi: </b>"
+
+#: src/skins/skins_cfg.c:330
+#, fuzzy
+msgid "_Player:"
+msgstr "Oynatma süresi:"
+
+#: src/skins/skins_cfg.c:330
+msgid "Select main player window font:"
+msgstr ""
+
+#: src/skins/skins_cfg.c:331
+#, fuzzy
+msgid "_Playlist:"
+msgstr "Parça Listesini Seç"
+
+#: src/skins/skins_cfg.c:331
+#, fuzzy
+msgid "Select playlist font:"
+msgstr "Parça Listesini Seç"
+
+#: src/skins/skins_cfg.c:332
+#, fuzzy
+msgid "Use Bitmap fonts if available"
+msgstr "Varsa CDDB kullan"
+
+#: src/skins/skins_cfg.c:332
+msgid ""
+"Use bitmap fonts if they are available. Bitmap fonts do not support Unicode "
+"strings."
+msgstr ""
+
+#: src/skins/skins_cfg.c:333
+#, fuzzy
+msgid "<b>_Miscellaneous</b>"
+msgstr "<b>Hizmetler</b>"
+
+#: src/skins/skins_cfg.c:334
+msgid "Show track numbers in playlist"
+msgstr ""
+
+#: src/skins/skins_cfg.c:336
+msgid "Show separators in playlist"
+msgstr ""
+
+#: src/skins/skins_cfg.c:338
+msgid "Show window manager decoration"
+msgstr ""
+
+#: src/skins/skins_cfg.c:339
+msgid "This enables the window manager to show decorations for windows."
+msgstr ""
+
+#: src/skins/skins_cfg.c:340
+msgid "Use two-way text scroller"
+msgstr ""
+
+#: src/skins/skins_cfg.c:341
+msgid ""
+"If selected, the file information text in the main window will scroll back "
+"and forth. If not selected, the text will only scroll in one direction."
+msgstr ""
+
+#: src/skins/skins_cfg.c:342
+msgid "Disable inline gtk theme"
+msgstr ""
+
+#: src/skins/skins_cfg.c:343
+msgid "Allow loading incomplete skins"
+msgstr ""
+
+#: src/skins/skins_cfg.c:344
+msgid ""
+"If selected, audacious won't refuse loading broken skins. Use only if your "
+"favourite skin doesn't work"
+msgstr ""
+
+#: src/skins/skins_cfg.c:410
+msgid "Color Adjustment"
+msgstr ""
+
+#: src/skins/skins_cfg.c:417
+msgid ""
+"Audacious allows you to alter the color balance of the skinned UI. The "
+"sliders below will allow you to do this."
+msgstr ""
+
+#: src/skins/skins_cfg.c:427
+#, fuzzy
+msgid "Blue"
+msgstr "Blues"
+
+#: src/skins/skins_cfg.c:434
+msgid "Green"
+msgstr ""
+
+#: src/skins/skins_cfg.c:441
+msgid "Red"
+msgstr ""
+
+#: src/skins/skins_cfg.c:571
+#, fuzzy
+msgid "Audacious Skinned GUI Configuration"
+msgstr "Audacious OSD - yapılandırması"
+
+#: src/skins/skins_cfg.c:596
+#, fuzzy
+msgid "<b>_Skin</b>"
+msgstr "<b>Dosya ismi: </b>"
+
+#: src/skins/ui_equalizer.c:494
+#, fuzzy
+msgid "Audacious Equalizer"
+msgstr "Ekolayzır"
+
+#: src/skins/ui_equalizer.c:794
+#, c-format
+msgid "Error importing Winamp EQF file '%s'"
+msgstr ""
+
+#: src/skins/ui_equalizer.c:1172
+msgid "Presets"
+msgstr ""
+
+#: src/skins/ui_main.c:392
+#, c-format
+msgid "%s - Audacious"
+msgstr "%s - Audacious"
+
+#: src/skins/ui_main.c:394 src/skins/ui_main.c:2397
+#, fuzzy
+msgid "Audacious"
+msgstr "%s - Audacious"
+
+#: src/skins/ui_main.c:641
+#, fuzzy
+msgid "VBR"
+msgstr "VBR/ABR"
+
+#: src/skins/ui_main.c:659 src/skins/ui_main.c:663
+#, fuzzy
+msgid "stereo"
+msgstr "Stereo"
+
+#: src/skins/ui_main.c:659 src/skins/ui_main.c:663
+#, fuzzy
+msgid "mono"
+msgstr "Mono"
+
+#: src/skins/ui_main.c:957
+msgid "Can't jump to time when no track is being played.\n"
+msgstr ""
+
+#: src/skins/ui_main.c:972 src/skins/ui_manager.c:425
+#: src/skins/ui_manager.c:426
+#, fuzzy
+msgid "Jump to Time"
+msgstr "Dosyaya Atla:"
+
+#: src/skins/ui_main.c:993
+#, fuzzy
+msgid "minutes:seconds"
+msgstr "dakika"
+
+#: src/skins/ui_main.c:1003
+#, fuzzy
+msgid "Track length:"
+msgstr "Parça ses yüksekliği:"
+
+#: src/skins/ui_main.c:1149
+msgid "Audacious - visibility warning"
+msgstr ""
+
+#: src/skins/ui_main.c:1152
+msgid "Show main player window"
+msgstr ""
+
+#: src/skins/ui_main.c:1153
+msgid "Ignore"
+msgstr ""
+
+#: src/skins/ui_main.c:1159
+msgid ""
+"Audacious has been started with all of its windows hidden.\n"
+"You may want to show the player window again to control Audacious; "
+"otherwise, you'll have to control it remotely via audtool or enabled plugins "
+"(such as the statusicon plugin)."
+msgstr ""
+
+#: src/skins/ui_main.c:1165
+msgid "Always ignore, show/hide is controlled remotely"
+msgstr ""
+
+#: src/skins/ui_main.c:1210
+msgid "Audacious - broken GTK engine usage warning"
+msgstr ""
+
+#: src/skins/ui_main.c:1218
+#, c-format
+msgid ""
+"<big><b>Broken GTK engine in use</b></big>\n"
+"\n"
+"Audacious has detected that you are using a broken GTK engine.\n"
+"\n"
+"The theme engine you are using, <i>%s</i>, is incompatible with some of the "
+"features used by modern skins. The incompatible features have been disabled "
+"for this session.\n"
+"\n"
+"To use these features, please consider using a different GTK theme engine."
+msgstr ""
+
+#: src/skins/ui_main.c:1229
+msgid "Do not display this warning again"
+msgstr ""
+
+#: src/skins/ui_main.c:1253
+msgid "Enter location to play:"
+msgstr ""
+
+#: src/skins/ui_main.c:1497
+#, c-format
+msgid "Seek to: %d:%-2.2d/%d:%-2.2d (%d%%)"
+msgstr ""
+
+#: src/skins/ui_main.c:1527
+#, fuzzy, c-format
+msgid "Volume: %d%%"
+msgstr "Ses: (%)"
+
+#: src/skins/ui_main.c:1555
+#, c-format
+msgid "Balance: %d%% left"
+msgstr ""
+
+#: src/skins/ui_main.c:1559
+msgid "Balance: center"
+msgstr ""
+
+#: src/skins/ui_main.c:1563
+#, c-format
+msgid "Balance: %d%% right"
+msgstr ""
+
+#: src/skins/ui_main.c:1881
+#, fuzzy
+msgid "Options Menu"
+msgstr "Seçenekler"
+
+#: src/skins/ui_main.c:1885
+msgid "Disable 'Always On Top'"
+msgstr ""
+
+#: src/skins/ui_main.c:1887
+msgid "Enable 'Always On Top'"
+msgstr ""
+
+#: src/skins/ui_main.c:1890
+#, fuzzy
+msgid "File Info Box"
+msgstr "Dosya Bilgisi"
+
+#: src/skins/ui_main.c:1894
+msgid "Disable 'GUI Scaling'"
+msgstr ""
+
+#: src/skins/ui_main.c:1896
+#, fuzzy
+msgid "Enable 'GUI Scaling'"
+msgstr "Ses örneklemesini etkinleştir"
+
+#: src/skins/ui_main.c:1899
+msgid "Visualization Menu"
+msgstr ""
+
+#: src/skins/ui_main.c:1946
+msgid ""
+"<b><big>Couldn't open audio.</big></b>\n"
+"\n"
+"Please check that:\n"
+"1. You have the correct output plugin selected.\n"
+"2. No other programs is blocking the soundcard.\n"
+"3. Your soundcard is configured properly.\n"
+msgstr ""
+
+#: src/skins/ui_manager.c:53 src/skins/ui_manager.c:54
+msgid "Autoscroll Songname"
+msgstr ""
+
+#: src/skins/ui_manager.c:56 src/skins/ui_manager.c:57
+msgid "Stop after Current Song"
+msgstr ""
+
+#: src/skins/ui_manager.c:59 src/skins/ui_manager.c:60
+#, fuzzy
+msgid "Peaks"
+msgstr "Pranks"
+
+#: src/skins/ui_manager.c:62 src/skins/ui_manager.c:63
+#, fuzzy
+msgid "Repeat"
+msgstr "Beat"
+
+#: src/skins/ui_manager.c:65 src/skins/ui_manager.c:66
+msgid "Shuffle"
+msgstr ""
+
+#: src/skins/ui_manager.c:68 src/skins/ui_manager.c:69
+msgid "No Playlist Advance"
+msgstr ""
+
+#: src/skins/ui_manager.c:71 src/skins/ui_manager.c:72
+msgid "Show Player"
+msgstr ""
+
+#: src/skins/ui_manager.c:74 src/skins/ui_manager.c:75
+msgid "Show Playlist Editor"
+msgstr ""
+
+#: src/skins/ui_manager.c:77 src/skins/ui_manager.c:78
+#, fuzzy
+msgid "Show Equalizer"
+msgstr "Ekolayzır"
+
+#: src/skins/ui_manager.c:80 src/skins/ui_manager.c:81
+msgid "Always on Top"
+msgstr ""
+
+#: src/skins/ui_manager.c:83 src/skins/ui_manager.c:84
+msgid "Put on All Workspaces"
+msgstr ""
+
+#: src/skins/ui_manager.c:86 src/skins/ui_manager.c:87
+msgid "Roll up Player"
+msgstr ""
+
+#: src/skins/ui_manager.c:89 src/skins/ui_manager.c:90
+msgid "Roll up Playlist Editor"
+msgstr ""
+
+#: src/skins/ui_manager.c:92 src/skins/ui_manager.c:93
+msgid "Roll up Equalizer"
+msgstr ""
+
+#: src/skins/ui_manager.c:95 src/sndstretch/sndstretch_xmms.c:375
+msgid "Scale"
+msgstr "Yayılma"
+
+#: src/skins/ui_manager.c:96
+msgid "DoubleSize"
+msgstr ""
+
+#: src/skins/ui_manager.c:98 src/skins/ui_manager.c:99
+msgid "Easy Move"
+msgstr ""
+
+#: src/skins/ui_manager.c:107
+#, fuzzy
+msgid "Analyzer"
+msgstr "Spektrum Analizi"
+
+#: src/skins/ui_manager.c:108
+#, fuzzy
+msgid "Scope"
+msgstr "Durdur:"
+
+#: src/skins/ui_manager.c:109
+msgid "Voiceprint"
+msgstr ""
+
+#: src/skins/ui_manager.c:110
+msgid "Off"
+msgstr ""
+
+#: src/skins/ui_manager.c:114 src/skins/ui_manager.c:131
+#: src/skins/ui_manager.c:137
+#, fuzzy
+msgid "Normal"
+msgstr "Biçim"
+
+#: src/skins/ui_manager.c:115 src/skins/ui_manager.c:132
+#, fuzzy
+msgid "Fire"
+msgstr "Taşlama"
+
+#: src/skins/ui_manager.c:116
+msgid "Vertical Lines"
+msgstr ""
+
+#: src/skins/ui_manager.c:120
+#, fuzzy
+msgid "Lines"
+msgstr "dakika"
+
+#: src/skins/ui_manager.c:121
+#, fuzzy
+msgid "Bars"
+msgstr "Bas"
+
+#: src/skins/ui_manager.c:125
+#, fuzzy
+msgid "Dot Scope"
+msgstr "Tekrarlama yapma"
+
+#: src/skins/ui_manager.c:126
+msgid "Line Scope"
+msgstr ""
+
+#: src/skins/ui_manager.c:127
+msgid "Solid Scope"
+msgstr ""
+
+#: src/skins/ui_manager.c:133
+msgid "Ice"
+msgstr ""
+
+#: src/skins/ui_manager.c:138
+msgid "Smooth"
+msgstr ""
+
+#: src/skins/ui_manager.c:142
+msgid "Full (~50 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:143
+msgid "Half (~25 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:144
+msgid "Quarter (~13 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:145
+msgid "Eighth (~6 fps)"
+msgstr ""
+
+#: src/skins/ui_manager.c:149 src/skins/ui_manager.c:157
+#, fuzzy
+msgid "Slowest"
+msgstr "Showtunes"
+
+#: src/skins/ui_manager.c:150 src/skins/ui_manager.c:158
+#, fuzzy
+msgid "Slow"
+msgstr "Slow Jam"
+
+#: src/skins/ui_manager.c:151 src/skins/ui_manager.c:159
+msgid "Medium"
+msgstr ""
+
+#: src/skins/ui_manager.c:152 src/skins/ui_manager.c:160
+#, fuzzy
+msgid "Fast"
+msgstr "Biçim"
+
+#: src/skins/ui_manager.c:153 src/skins/ui_manager.c:161
+msgid "Fastest"
+msgstr ""
+
+#: src/skins/ui_manager.c:165
+msgid "Time Elapsed"
+msgstr ""
+
+#: src/skins/ui_manager.c:166
+msgid "Time Remaining"
+msgstr ""
+
+#: src/skins/ui_manager.c:180 src/skins/ui_manager.c:181
+#, fuzzy
+msgid "Pause"
+msgstr "Bekletme Açık"
+
+#: src/skins/ui_manager.c:186 src/skins/ui_manager.c:187
+#, fuzzy
+msgid "Previous"
+msgstr "Önceki Parça:"
+
+#: src/skins/ui_manager.c:189 src/skins/ui_manager.c:190
+#, fuzzy
+msgid "Next"
+msgstr "Metin"
+
+#: src/skins/ui_manager.c:195
+#, fuzzy
+msgid "Visualization"
+msgstr "Kurum:"
+
+#: src/skins/ui_manager.c:196
+msgid "Visualization Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:197
+msgid "Analyzer Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:198
+msgid "Scope Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:199
+msgid "Voiceprint Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:200
+msgid "WindowShade VU Mode"
+msgstr ""
+
+#: src/skins/ui_manager.c:201
+msgid "Refresh Rate"
+msgstr ""
+
+#: src/skins/ui_manager.c:202
+msgid "Analyzer Falloff"
+msgstr ""
+
+#: src/skins/ui_manager.c:203
+msgid "Peaks Falloff"
+msgstr ""
+
+#: src/skins/ui_manager.c:208
+#, fuzzy
+msgid "Playlist"
+msgstr "Parça Listesini Seç"
+
+#: src/skins/ui_manager.c:210 src/skins/ui_manager.c:211
+#, fuzzy
+msgid "New Playlist"
+msgstr "Parça Listesini Seç"
+
+#: src/skins/ui_manager.c:213 src/skins/ui_manager.c:214
+#, fuzzy
+msgid "Select Next Playlist"
+msgstr "Parça Listesini Seç"
+
+#: src/skins/ui_manager.c:216 src/skins/ui_manager.c:217
+#, fuzzy
+msgid "Select Previous Playlist"
+msgstr "Parça Listesini Seç"
+
+#: src/skins/ui_manager.c:219 src/skins/ui_manager.c:220
+#, fuzzy
+msgid "Delete Playlist"
+msgstr "Parça Listesini Seç"
+
+#: src/skins/ui_manager.c:222
+msgid "Load List"
+msgstr ""
+
+#: src/skins/ui_manager.c:223
+msgid "Loads a playlist file into the selected playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:225
+#, fuzzy
+msgid "Save List"
+msgstr "Kaydet"
+
+#: src/skins/ui_manager.c:226
+#, fuzzy
+msgid "Saves the selected playlist."
+msgstr "Parça Listesini Seç"
+
+#: src/skins/ui_manager.c:228
+#, fuzzy
+msgid "Save Default List"
+msgstr "Varsayılan (%s)"
+
+#: src/skins/ui_manager.c:229
+msgid "Saves the selected playlist to the default location."
+msgstr ""
+
+#: src/skins/ui_manager.c:232
+msgid "Refresh List"
+msgstr ""
+
+#: src/skins/ui_manager.c:233
+msgid "Refreshes metadata associated with a playlist entry."
+msgstr ""
+
+#: src/skins/ui_manager.c:236
+msgid "List Manager"
+msgstr ""
+
+#: src/skins/ui_manager.c:237
+msgid "Opens the playlist manager."
+msgstr ""
+
+#: src/skins/ui_manager.c:243
+msgid "View"
+msgstr ""
+
+#: src/skins/ui_manager.c:247
+msgid "Add Internet Address..."
+msgstr ""
+
+#: src/skins/ui_manager.c:248
+msgid "Adds a remote track to the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:251
+msgid "Add Files..."
+msgstr ""
+
+#: src/skins/ui_manager.c:252
+#, fuzzy
+msgid "Adds files to the playlist."
+msgstr "Parça listesine alttınılar ekle"
+
+#: src/skins/ui_manager.c:257
+msgid "Search and Select"
+msgstr ""
+
+#: src/skins/ui_manager.c:258
+msgid ""
+"Searches the playlist and selects playlist entries based on specific "
+"criteria."
+msgstr ""
+
+#: src/skins/ui_manager.c:261
+#, fuzzy
+msgid "Invert Selection"
+msgstr "Biçim seçimi"
+
+#: src/skins/ui_manager.c:262
+msgid "Inverts the selected and unselected entries."
+msgstr ""
+
+#: src/skins/ui_manager.c:265
+#, fuzzy
+msgid "Select All"
+msgstr "Parça Listesini Seç"
+
+#: src/skins/ui_manager.c:266
+msgid "Selects all of the playlist entries."
+msgstr ""
+
+#: src/skins/ui_manager.c:269
+#, fuzzy
+msgid "Select None"
+msgstr "Deri Dosyasını Seçin"
+
+#: src/skins/ui_manager.c:270
+msgid "Deselects all of the playlist entries."
+msgstr ""
+
+#: src/skins/ui_manager.c:275
+#, fuzzy
+msgid "Remove All"
+msgstr "Kaldır"
+
+#: src/skins/ui_manager.c:276
+msgid "Removes all entries from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:279
+msgid "Clear Queue"
+msgstr ""
+
+#: src/skins/ui_manager.c:280
+msgid "Clears the queue associated with this playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:283
+msgid "Remove Unavailable Files"
+msgstr ""
+
+#: src/skins/ui_manager.c:284
+msgid "Removes unavailable files from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:287
+msgid "Remove Duplicates"
+msgstr ""
+
+#: src/skins/ui_manager.c:289 src/skins/ui_manager.c:321
+#: src/skins/ui_manager.c:351
+#, fuzzy
+msgid "By Title"
+msgstr "Başlık"
+
+#: src/skins/ui_manager.c:290
+msgid "Removes duplicate entries from the playlist by title."
+msgstr ""
+
+#: src/skins/ui_manager.c:293 src/skins/ui_manager.c:329
+#: src/skins/ui_manager.c:359
+#, fuzzy
+msgid "By Filename"
+msgstr "Dosya adı"
+
+#: src/skins/ui_manager.c:294
+msgid "Removes duplicate entries from the playlist by filename."
+msgstr ""
+
+#: src/skins/ui_manager.c:297 src/skins/ui_manager.c:333
+#: src/skins/ui_manager.c:363
+#, fuzzy
+msgid "By Path + Filename"
+msgstr "Dosya adı"
+
+#: src/skins/ui_manager.c:298
+msgid "Removes duplicate entries from the playlist by their full path."
+msgstr ""
+
+#: src/skins/ui_manager.c:301
+msgid "Remove Unselected"
+msgstr ""
+
+#: src/skins/ui_manager.c:302
+msgid "Remove unselected entries from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:305
+msgid "Remove Selected"
+msgstr ""
+
+#: src/skins/ui_manager.c:306
+msgid "Remove selected entries from the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:311
+msgid "Randomize List"
+msgstr ""
+
+#: src/skins/ui_manager.c:312
+msgid "Randomizes the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:315
+msgid "Reverse List"
+msgstr ""
+
+#: src/skins/ui_manager.c:316
+msgid "Reverses the playlist."
+msgstr ""
+
+#: src/skins/ui_manager.c:319
+#, fuzzy
+msgid "Sort List"
+msgstr "Sanatçı:"
+
+#: src/skins/ui_manager.c:322 src/skins/ui_manager.c:352
+msgid "Sorts the list by title."
+msgstr ""
+
+#: src/skins/ui_manager.c:325 src/skins/ui_manager.c:355
+#, fuzzy
+msgid "By Artist"
+msgstr "Sanatçı:"
+
+#: src/skins/ui_manager.c:326 src/skins/ui_manager.c:356
+msgid "Sorts the list by artist."
+msgstr ""
+
+#: src/skins/ui_manager.c:330 src/skins/ui_manager.c:360
+msgid "Sorts the list by filename."
+msgstr ""
+
+#: src/skins/ui_manager.c:334 src/skins/ui_manager.c:364
+msgid "Sorts the list by full pathname."
+msgstr ""
+
+#: src/skins/ui_manager.c:337 src/skins/ui_manager.c:367
+#, fuzzy
+msgid "By Date"
+msgstr "Tarih:"
+
+#: src/skins/ui_manager.c:338 src/skins/ui_manager.c:368
+msgid "Sorts the list by modification time."
+msgstr ""
+
+#: src/skins/ui_manager.c:341 src/skins/ui_manager.c:371
+#, fuzzy
+msgid "By Track Number"
+msgstr "Parça numarası:"
+
+#: src/skins/ui_manager.c:342 src/skins/ui_manager.c:372
+msgid "Sorts the list by track number."
+msgstr ""
+
+#: src/skins/ui_manager.c:345 src/skins/ui_manager.c:375
+#, fuzzy
+msgid "By Playlist Entry"
+msgstr "Hızlı Parça Listesi Bilgisi"
+
+#: src/skins/ui_manager.c:346 src/skins/ui_manager.c:376
+msgid "Sorts the list by playlist entry."
+msgstr ""
+
+#: src/skins/ui_manager.c:349
+#, fuzzy
+msgid "Sort Selected"
+msgstr "Biçim seçimi"
+
+#: src/skins/ui_manager.c:385
+#, fuzzy
+msgid "File"
+msgstr "Filtreler"
+
+#: src/skins/ui_manager.c:388
+msgid "Plugin Services"
+msgstr ""
+
+#: src/skins/ui_manager.c:390 src/skins/ui_manager.c:393
+#, fuzzy
+msgid "View Track Details"
+msgstr "Parça Kazancı Kullan"
+
+#: src/skins/ui_manager.c:391 src/skins/ui_manager.c:394
+msgid "View track details"
+msgstr ""
+
+#: src/skins/ui_manager.c:396 src/skins/ui_manager.c:397
+#, fuzzy
+msgid "About Audacious"
+msgstr "LIRC Audacious Eklentisi Hakkında"
+
+#: src/skins/ui_manager.c:399
+#, fuzzy
+msgid "Play File"
+msgstr "Oynatma süresi:"
+
+#: src/skins/ui_manager.c:400
+#, fuzzy
+msgid "Load and play a file"
+msgstr "Çalıcı başladığında SF'yi yükle"
+
+#: src/skins/ui_manager.c:402
+#, fuzzy
+msgid "Play Location"
+msgstr "Yer:"
+
+#: src/skins/ui_manager.c:403
+#, fuzzy
+msgid "Play media from the selected location"
+msgstr "Seçilen eylemi onayla"
+
+#: src/skins/ui_manager.c:405
+msgid "Plugin services"
+msgstr ""
+
+#: src/skins/ui_manager.c:407
+msgid "Preferences"
+msgstr ""
+
+#: src/skins/ui_manager.c:408
+msgid "Open preferences window"
+msgstr ""
+
+#: src/skins/ui_manager.c:410
+#, fuzzy
+msgid "_Quit"
+msgstr "Kalite"
+
+#: src/skins/ui_manager.c:411
+#, fuzzy
+msgid "Quit Audacious"
+msgstr "%s - Audacious"
+
+#: src/skins/ui_manager.c:413 src/skins/ui_manager.c:414
+msgid "Set A-B"
+msgstr ""
+
+#: src/skins/ui_manager.c:416 src/skins/ui_manager.c:417
+msgid "Clear A-B"
+msgstr ""
+
+#: src/skins/ui_manager.c:419 src/skins/ui_manager.c:420
+msgid "Jump to Playlist Start"
+msgstr ""
+
+#: src/skins/ui_manager.c:428
+msgid "Queue Toggle"
+msgstr ""
+
+#: src/skins/ui_manager.c:429
+msgid "Enables/disables the entry in the playlist's queue."
+msgstr ""
+
+#: src/skins/ui_manager.c:436
+msgid "Load"
+msgstr ""
+
+#: src/skins/ui_manager.c:441 src/skins/ui_manager.c:462
+#: src/skins/ui_manager.c:477
+#, fuzzy
+msgid "Preset"
+msgstr "Port"
+
+#: src/skins/ui_manager.c:442
+msgid "Load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:444 src/skins/ui_manager.c:465
+#: src/skins/ui_manager.c:480
+msgid "Auto-load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:445
+msgid "Load auto-load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:448
+#, fuzzy
+msgid "Load default preset into equalizer"
+msgstr "Öntanımlı değerleri yükle"
+
+#: src/skins/ui_manager.c:450
+#, fuzzy
+msgid "Zero"
+msgstr "Retro"
+
+#: src/skins/ui_manager.c:451
+msgid "Set equalizer preset levels to zero"
+msgstr ""
+
+#: src/skins/ui_manager.c:453
+#, fuzzy
+msgid "From file"
+msgstr "Profil: %s"
+
+#: src/skins/ui_manager.c:454
+#, fuzzy
+msgid "Load preset from file"
+msgstr "Dosya okunamıyor\n"
+
+#: src/skins/ui_manager.c:456
+msgid "From WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:457
+msgid "Load preset from WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:459
+msgid "WinAMP Presets"
+msgstr ""
+
+#: src/skins/ui_manager.c:460
+msgid "Import WinAMP presets"
+msgstr ""
+
+#: src/skins/ui_manager.c:463
+msgid "Save preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:466
+msgid "Save auto-load preset"
+msgstr ""
+
+#: src/skins/ui_manager.c:469
+#, fuzzy
+msgid "Save default preset"
+msgstr "Öntanımlı değerleri yükle"
+
+#: src/skins/ui_manager.c:471
+#, fuzzy
+msgid "To file"
+msgstr "STIL dosyası:"
+
+#: src/skins/ui_manager.c:472
+msgid "Save preset to file"
+msgstr ""
+
+#: src/skins/ui_manager.c:474
+msgid "To WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:475
+msgid "Save preset to WinAMP EQF file"
+msgstr ""
+
+#: src/skins/ui_manager.c:478
+#, fuzzy
+msgid "Delete preset"
+msgstr "Sil"
+
+#: src/skins/ui_manager.c:481
+msgid "Delete auto-load preset"
+msgstr ""
+
+#: src/skins/ui_playlist.c:454
+msgid "Search entries in active playlist"
+msgstr ""
+
+#: src/skins/ui_playlist.c:462
+msgid ""
+"Select entries in playlist by filling one or more fields. Fields use regular "
+"expressions syntax, case-insensitive. If you don't know how regular "
+"expressions work, simply insert a literal portion of what you're searching "
+"for."
+msgstr ""
+
+#: src/skins/ui_playlist.c:477
+#, fuzzy
+msgid "Album: "
+msgstr "Albüm:"
+
+#: src/skins/ui_playlist.c:484
+#, fuzzy
+msgid "Artist: "
+msgstr "Sanatçı:"
+
+#: src/skins/ui_playlist.c:491
+#, fuzzy
+msgid "Filename: "
+msgstr "Dosya adı:"
+
+#: src/skins/ui_playlist.c:499
+msgid "Clear previous selection before searching"
+msgstr ""
+
+#: src/skins/ui_playlist.c:502
+msgid "Automatically toggle queue for matching entries"
+msgstr ""
+
+#: src/skins/ui_playlist.c:505
+msgid "Create a new playlist with matching entries"
+msgstr ""
+
+#: src/skins/ui_playlist.c:724
+#, c-format
+msgid "Error writing playlist \"%s\": %s"
+msgstr ""
+
+#: src/skins/ui_playlist.c:746
+#, c-format
+msgid "%s already exist. Continue?"
+msgstr ""
+
+#: src/skins/ui_playlist.c:761
+#, c-format
+msgid ""
+"<b><big>Unable to save playlist.</big></b>\n"
+"\n"
+"Unknown file type for '%s'.\n"
+msgstr ""
+
+#: src/skins/ui_playlist.c:887
+#, fuzzy
+msgid "Save as Static Playlist"
+msgstr "Parça Listesini Seç"
+
+#: src/skins/ui_playlist.c:894
+msgid "Use Relative Path"
+msgstr ""
+
+#: src/skins/ui_playlist.c:916
+#, fuzzy
+msgid "Load Playlist"
+msgstr "Hızlı Parça Listesi Bilgisi"
+
+#: src/skins/ui_playlist.c:929
+#, fuzzy
+msgid "Save Playlist"
+msgstr "Parça Listesini Seç"
+
+#: src/skins/ui_playlist.c:1497
+#, fuzzy
+msgid "Audacious Playlist Editor"
+msgstr "Hızlı Parça Listesi Bilgisi"
+
+#: src/skins/ui_skinned_equalizer_slider.c:377
+msgid "PREAMP"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:377
+msgid "60HZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:377
+msgid "170HZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:378
+msgid "310HZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:378
+msgid "600HZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:378
+msgid "1KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:379
+msgid "3KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:379
+msgid "6KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:379
+msgid "12KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:380
+msgid "14KHZ"
+msgstr ""
+
+#: src/skins/ui_skinned_equalizer_slider.c:380
+msgid "16KHZ"
+msgstr ""
+
+#: src/skins/ui_skinselector.c:178
+msgid "Archived Winamp 2.x skin"
+msgstr ""
+
+#: src/skins/ui_skinselector.c:183
+msgid "Unarchived Winamp 2.x skin"
+msgstr ""
+
+#: src/skins/util.c:1132
+#, fuzzy, c-format
+msgid "Could not create directory (%s): %s\n"
+msgstr "sidFilename ('%s') ayrılamadı\n"
+
+#: src/sndfile/plugin.c:554
 #, fuzzy
 msgid "About sndfile plugin"
 msgstr "sndfile WAV eklentisi"
 
-#: src/sndfile/plugin.c:549
+#: src/sndfile/plugin.c:555
 msgid ""
 "Adapted for Audacious usage by Tony Vroon <chainsaw@gentoo.org>\n"
 "from the xmms_sndfile plugin which is:\n"
@@ -4744,63 +5901,59 @@
 "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,\n"
 "USA."
 
-#: src/sndstretch/sndstretch_xmms.c:159
+#: src/sndstretch/sndstretch_xmms.c:158
 msgid "About SndStretch"
 msgstr "SndStretch Hakkında"
 
-#: src/sndstretch/sndstretch_xmms.c:319
+#: src/sndstretch/sndstretch_xmms.c:318
 msgid "Volume corr."
 msgstr "Ses düzeltme"
 
-#: src/sndstretch/sndstretch_xmms.c:320
+#: src/sndstretch/sndstretch_xmms.c:319
 msgid "Short Overlap"
 msgstr "Kısa Bindirme"
 
+#: src/sndstretch/sndstretch_xmms.c:373
+msgid "Speed"
+msgstr "Hız"
+
 #: src/sndstretch/sndstretch_xmms.c:374
-msgid "Speed"
-msgstr "Hız"
-
-#: src/sndstretch/sndstretch_xmms.c:375
 msgid "Pitch"
 msgstr "Tizlik"
 
-#: src/sndstretch/sndstretch_xmms.c:376
-msgid "Scale"
-msgstr "Yayılma"
-
-#: src/sndstretch/sndstretch_xmms.c:396
+#: src/sndstretch/sndstretch_xmms.c:395
 msgid "SndStretch - Configuration"
 msgstr "SndStretch Ayarları"
 
-#: src/song_change/song_change.c:312
+#: src/song_change/song_change.c:310
 msgid "Commands"
 msgstr "Komutlar"
 
-#: src/song_change/song_change.c:319
+#: src/song_change/song_change.c:317
 msgid "Command to run when Audacious starts a new song."
 msgstr "Audacious yeni bir şarkı başlattığında çalışacak komut."
 
-#: src/song_change/song_change.c:328 src/song_change/song_change.c:350
-#: src/song_change/song_change.c:371 src/song_change/song_change.c:392
+#: src/song_change/song_change.c:326 src/song_change/song_change.c:348
+#: src/song_change/song_change.c:369 src/song_change/song_change.c:390
 msgid "Command:"
 msgstr "Komut:"
 
-#: src/song_change/song_change.c:342
+#: src/song_change/song_change.c:340
 msgid "Command to run toward the end of a song."
 msgstr "Bir şarkının sonuna doğru çalışacak komut."
 
-#: src/song_change/song_change.c:362
+#: src/song_change/song_change.c:360
 msgid "Command to run when Audacious reaches the end of the playlist."
 msgstr "Audacious parça listesinin sonuna ulaştığında çalıştırılacak komut."
 
-#: src/song_change/song_change.c:383
+#: src/song_change/song_change.c:381
 msgid ""
 "Command to run when title changes for a song (i.e. network streams titles)."
 msgstr ""
 "Bir şarkı için başlık değiştiğinde çalıştırılacak komut (örneğin ağ yayını "
 "başlıkları)."
 
-#: src/song_change/song_change.c:404
+#: src/song_change/song_change.c:402
 #, c-format
 msgid ""
 "You can use the following format strings which\n"
@@ -4829,7 +5982,7 @@
 "%%t: Çalma listesi durumu (%%02d)\n"
 "%%p: Şu an oynatılan (1 or 0)"
 
-#: src/song_change/song_change.c:429
+#: src/song_change/song_change.c:427
 msgid ""
 "<span size='small'>Parameters passed to the shell should be encapsulated in "
 "quotes. Doing otherwise is a security risk.</span>"
@@ -4837,7 +5990,7 @@
 "<span size='small'>Kabuğa yollanan parametreler tırnak içinde belirtilmeli. "
 "Aksi takdirde güvenlik sorunu yaratır. </span>"
 
-#: src/spectrum/spectrum.c:90
+#: src/spectrum/spectrum.c:89
 msgid "Spectrum Analyzer"
 msgstr "Spektrum Analizi"
 
@@ -4849,11 +6002,11 @@
 msgid "The orientation of the tray"
 msgstr "Sistem ikonu canlandırması"
 
-#: src/statusicon/si_ui.c:622
+#: src/statusicon/si_ui.c:620
 msgid "About Status Icon Plugin"
 msgstr "Durum Simgesi Eklentisi Hakkında"
 
-#: src/statusicon/si_ui.c:624
+#: src/statusicon/si_ui.c:622
 msgid ""
 "\n"
 "written by Giacomo Lozito < james@develia.org >\n"
@@ -4866,39 +6019,39 @@
 "\n"
 "Bu eklenti durum simgesinin sistem araç cubuğunda görüntülenmesini sağlar.\n"
 
-#: src/statusicon/si_ui.c:696
+#: src/statusicon/si_ui.c:694
 msgid "Status Icon Plugin - Preferences"
 msgstr "Durum Simgesi Eklentisi - Tercihler"
 
-#: src/statusicon/si_ui.c:707
+#: src/statusicon/si_ui.c:705
 msgid "Right-Click Menu"
 msgstr "Sağ-Tık Menüsü"
 
-#: src/statusicon/si_ui.c:712
+#: src/statusicon/si_ui.c:710
 msgid "Audacious standard menu"
 msgstr "Audacious standart menü"
 
-#: src/statusicon/si_ui.c:717
+#: src/statusicon/si_ui.c:715
 msgid "Small playback menu #1"
 msgstr "Küçük oynatma menüsü #1"
 
-#: src/statusicon/si_ui.c:722
+#: src/statusicon/si_ui.c:720
 msgid "Small playback menu #2"
 msgstr "Küçük oynatma menüsü #2"
 
-#: src/statusicon/si_ui.c:745
+#: src/statusicon/si_ui.c:743
 msgid "Mouse Scroll Action"
 msgstr "Fare Tekerleği Eylemi"
 
-#: src/statusicon/si_ui.c:750
+#: src/statusicon/si_ui.c:748
 msgid "Change volume"
 msgstr "Ses seviyesini değiştir"
 
-#: src/statusicon/si_ui.c:755
+#: src/statusicon/si_ui.c:753
 msgid "Change playing song"
 msgstr "Çalan şarkıyı değiştir"
 
-#: src/stereo_plugin/stereo.c:26
+#: src/stereo_plugin/stereo.c:25
 msgid ""
 "Extra Stereo Plugin\n"
 "\n"
@@ -4908,23 +6061,19 @@
 "\n"
 "Johan Levin 1999."
 
-#: src/stereo_plugin/stereo.c:52
+#: src/stereo_plugin/stereo.c:51
 msgid "About Extra Stereo Plugin"
 msgstr "Ekstra Stereo Eklentisi Hakkında"
 
-#: src/stereo_plugin/stereo.c:93
+#: src/stereo_plugin/stereo.c:92
 msgid "Configure Extra Stereo"
 msgstr "Ekstra Stereo Eklentisini Yapılandır"
 
-#: src/stereo_plugin/stereo.c:95
-msgid "Effect intensity:"
-msgstr "Efekt yoğunluğu:"
+#: src/sun/about.c:33
+msgid "About the Sun Driver"
+msgstr "Sun Sürücüsü Hakkında"
 
 #: src/sun/about.c:34
-msgid "About the Sun Driver"
-msgstr "Sun Sürücüsü Hakkında"
-
-#: src/sun/about.c:35
 msgid ""
 "XMMS BSD Sun Driver\n"
 "\n"
@@ -4936,19 +6085,19 @@
 "Telif Hakkı (c) 2001 CubeSoft Communications, Inc.\n"
 "Sorumlu: <vedge at csoft.org>.\n"
 
-#: src/sun/configure.c:201
+#: src/sun/configure.c:199
 msgid "Audio control device:"
 msgstr "Ses kontrol aygıtı:"
 
-#: src/sun/configure.c:350
+#: src/sun/configure.c:348
 msgid "Volume controls device:"
 msgstr "Ses kontrolleri aygıtı:"
 
-#: src/sun/configure.c:363
+#: src/sun/configure.c:361
 msgid "XMMS uses mixer exclusively."
 msgstr "XMMS, sadece karıştırıcıyı kullanıyor."
 
-#: src/sun/configure.c:538
+#: src/sun/configure.c:536
 msgid "Sun driver configuration"
 msgstr "Sun sürücüsü yapılandırması"
 
@@ -4976,7 +6125,7 @@
 msgid "TiMidity Configuration File"
 msgstr "TiMidity Yapılandırma Dosyası"
 
-#: src/timidity/xmms-timidity.c:118
+#: src/timidity/xmms-timidity.c:115
 msgid ""
 "TiMidity Plugin\n"
 "http://libtimidity.sourceforge.net\n"
@@ -4986,20 +6135,20 @@
 "http://libtimidity.sourceforge.net\n"
 "Konstantin Korikov"
 
-#: src/timidity/xmms-timidity.c:119
+#: src/timidity/xmms-timidity.c:116
 #, c-format
 msgid "TiMidity Plugin %s"
 msgstr "TiMidity Eklentisi %s"
 
-#: src/timidity/xmms-timidity.c:336
+#: src/timidity/xmms-timidity.c:333
 msgid "Couldn't load MIDI file"
 msgstr "MIDI dosyası yüklenemedi"
 
-#: src/tonegen/tonegen.c:56
+#: src/tonegen/tonegen.c:55
 msgid "About Tone Generator"
 msgstr "Ton Oluşturucusu Hakkında"
 
-#: src/tonegen/tonegen.c:58
+#: src/tonegen/tonegen.c:57
 msgid ""
 "Sinus tone generator by Haavard Kvaalen <havardk@xmms.org>\n"
 "Modified by Daniel J. Peng <danielpeng@bigfoot.com>\n"
@@ -5013,52 +6162,52 @@
 "Kullanmak için bir URL ekleyin: tone://frequency1;frequency2;frequency3;...\n"
 "ör: 2000Hz ton ve 2005Hz ton çalmak için tone://2000;2005"
 
-#: src/tonegen/tonegen.c:167
+#: src/tonegen/tonegen.c:166
 #, c-format
 msgid "%s %.1f Hz"
 msgstr "%s %.1f Hz"
 
-#: src/tonegen/tonegen.c:167
+#: src/tonegen/tonegen.c:166
 msgid "Tone Generator: "
 msgstr "Ton Oluşturucu: "
 
-#: src/tta/libtta.c:130
+#: src/tta/libtta.c:127
 msgid "Can't open file\n"
 msgstr "Dosya açılamıyor\n"
 
+#: src/tta/libtta.c:130
+msgid "Not supported file format\n"
+msgstr "Desteklenmeyen dosya biçimi\n"
+
 #: src/tta/libtta.c:133
-msgid "Not supported file format\n"
-msgstr "Desteklenmeyen dosya biçimi\n"
+msgid "File is corrupted\n"
+msgstr "Dosya bozuk\n"
 
 #: src/tta/libtta.c:136
-msgid "File is corrupted\n"
-msgstr "Dosya bozuk\n"
+msgid "Can't read from file\n"
+msgstr "Dosya okunamıyor\n"
 
 #: src/tta/libtta.c:139
-msgid "Can't read from file\n"
-msgstr "Dosya okunamıyor\n"
+msgid "Insufficient memory available\n"
+msgstr "Hafıza yetersiz\n"
 
 #: src/tta/libtta.c:142
-msgid "Insufficient memory available\n"
-msgstr "Hafıza yetersiz\n"
+msgid "Output plugin error\n"
+msgstr "Çıktı eklentisi hatası\n"
 
 #: src/tta/libtta.c:145
-msgid "Output plugin error\n"
-msgstr "Çıktı eklentisi hatası\n"
-
-#: src/tta/libtta.c:148
 msgid "Unknown error\n"
 msgstr "Bilinmeyen hata\n"
 
-#: src/tta/libtta.c:152
+#: src/tta/libtta.c:149
 msgid "TTA Decoder Error"
 msgstr "TTA Dekoder Hatası"
 
-#: src/tta/libtta.c:261
+#: src/tta/libtta.c:258
 msgid "TTA input plugin "
 msgstr "TTA girdi eklentisi"
 
-#: src/tta/libtta.c:262
+#: src/tta/libtta.c:259
 msgid ""
 " for BMP\n"
 "Copyright (c) 2004 True Audio Software\n"
@@ -5066,35 +6215,35 @@
 " BMP eklentisi\n"
 "Copyright (c) 2004 True Audio Software\n"
 
-#: src/tta/libtta.c:265
+#: src/tta/libtta.c:262
 msgid "About True Audio Plugin"
 msgstr "True Audio Eklentisi Hakkında"
 
-#: src/tta/libtta.c:316
+#: src/tta/libtta.c:313
 msgid "ID3 Tag:"
 msgstr "ID3 Etiketi:"
 
-#: src/tta/libtta.c:378 src/wavpack/ui.cxx:234
+#: src/tta/libtta.c:375 src/wavpack/ui.cxx:232
 msgid "Track number:"
 msgstr "Parça numarası:"
 
-#: src/vorbis/configure.c:84
+#: src/vorbis/configure.c:82
 msgid "Ogg Vorbis Audio Plugin Configuration"
 msgstr "Ogg Vorbis Ses Eklentisi Yapılandırması"
 
-#: src/vorbis/configure.c:94
+#: src/vorbis/configure.c:92
 msgid "Ogg Vorbis Tags:"
 msgstr "Ogg Vorbis Etiketleri:"
 
-#: src/vorbis/configure.c:115
+#: src/vorbis/configure.c:113
 msgid "Title format:"
 msgstr "Başlık biçimi:"
 
-#: src/vorbis/vorbis.c:681
+#: src/vorbis/vorbis.c:677
 msgid "About Ogg Vorbis Audio Plugin"
 msgstr "OGG Vorbis Ses Eklentisi Hakkında"
 
-#: src/vorbis/vorbis.c:687
+#: src/vorbis/vorbis.c:683
 #, fuzzy
 msgid ""
 "Ogg Vorbis Plugin by the Xiph.org Foundation\n"
@@ -5128,11 +6277,11 @@
 "\n"
 "Xiph.org Vakfını buradan ziyaret edebilirsiniz http://www.xiph.org/\n"
 
-#: src/vtx/about.c:23
+#: src/vtx/about.c:17
 msgid "About Vortex Player"
 msgstr "Vortex Player Hakkında"
 
-#: src/vtx/about.c:25
+#: src/vtx/about.c:19
 msgid ""
 "Vortex file format player by Sashnov Alexander <sashnov@ngs.ru>\n"
 "Founded on original source in_vtx.dll by Roman Sherbakov <v_soft@microfor."
@@ -5153,12 +6302,12 @@
 "\n"
 "Audacious desteği Pavel Vymetalek <pvymetalek@seznam.cz>"
 
-#: src/wavpack/ui.cxx:52
+#: src/wavpack/ui.cxx:50
 #, c-format
 msgid "Wavpack Decoder Plugin %s"
 msgstr "Wavpack Dekoder Eklentisi %s"
 
-#: src/wavpack/ui.cxx:53
+#: src/wavpack/ui.cxx:51
 msgid ""
 "Copyright (c) 2006 William Pitcock <nenolod -at- nenolod.net>\n"
 "\n"
@@ -5170,90 +6319,90 @@
 "Eklenti kodunun bir kısmı Miles Egan tarafından hazırlanmıştır\n"
 "Wavpack sitesine http://www.wavpack.com/ adresinden ulaşabilirsiniz\n"
 
-#: src/wavpack/ui.cxx:165
+#: src/wavpack/ui.cxx:163
 msgid "Ape2 Tag"
 msgstr "Ape2 Etiketi"
 
-#: src/wavpack/ui.cxx:288
+#: src/wavpack/ui.cxx:286
 msgid "Wavpack Info:"
 msgstr "Wavpack Bilgisi:"
 
+#: src/wavpack/ui.cxx:379
+#, c-format
+msgid "version %d"
+msgstr "sürüm %d"
+
+#: src/wavpack/ui.cxx:380
+#, c-format
+msgid "average bitrate: %6.1f kbps"
+msgstr "ortalama bitoranı: %6.1f kbps"
+
 #: src/wavpack/ui.cxx:381
 #, c-format
-msgid "version %d"
-msgstr "sürüm %d"
+msgid "samplerate: %d Hz"
+msgstr "örnekleme oranı: %d Hz"
 
 #: src/wavpack/ui.cxx:382
 #, c-format
-msgid "average bitrate: %6.1f kbps"
-msgstr "ortalama bitoranı: %6.1f kbps"
+msgid "bits per sample: %d"
+msgstr "bit/örnekleme: %d"
 
 #: src/wavpack/ui.cxx:383
 #, c-format
-msgid "samplerate: %d Hz"
-msgstr "örnekleme oranı: %d Hz"
+msgid "channels: %d"
+msgstr "kanallar: %d"
 
 #: src/wavpack/ui.cxx:384
 #, c-format
-msgid "bits per sample: %d"
-msgstr "bit/örnekleme: %d"
+msgid "length: %d:%.2d"
+msgstr "uzunluk: %d:%.2d"
 
 #: src/wavpack/ui.cxx:385
 #, c-format
-msgid "channels: %d"
-msgstr "kanallar: %d"
-
-#: src/wavpack/ui.cxx:386
-#, c-format
-msgid "length: %d:%.2d"
-msgstr "uzunluk: %d:%.2d"
-
-#: src/wavpack/ui.cxx:387
-#, c-format
 msgid "file size: %d Bytes"
 msgstr "dosya boyutu: %d Byte"
 
-#: src/wavpack/ui.cxx:394
+#: src/wavpack/ui.cxx:392
 msgid "Title Peak: ?"
 msgstr "Başlık Doruğu: ?"
 
-#: src/wavpack/ui.cxx:395
+#: src/wavpack/ui.cxx:393
 msgid "Album Peak: ?"
 msgstr "Albüm Doruğu: ?"
 
-#: src/wavpack/ui.cxx:396
+#: src/wavpack/ui.cxx:394
 msgid "Title Gain: ?"
 msgstr "Başlık Kazancı: ?"
 
-#: src/wavpack/ui.cxx:397
+#: src/wavpack/ui.cxx:395
 msgid "Album Gain: ?"
 msgstr "Albüm Kazancı: ?"
 
-#: src/wavpack/ui.cxx:471
+#: src/wavpack/ui.cxx:469
 msgid "Wavpack Configuration"
 msgstr "Wavpack Yapılandırması"
 
-#: src/wavpack/ui.cxx:484
+#: src/wavpack/ui.cxx:482
 msgid "General Plugin Settings:"
 msgstr "Genel Eklenti Ayarları:"
 
-#: src/wavpack/ui.cxx:502
+#: src/wavpack/ui.cxx:500
 msgid "ReplayGain Settings:"
 msgstr "ReplayGain Ayarları:"
 
-#: src/wavpack/ui.cxx:520
+#: src/wavpack/ui.cxx:518
 msgid "ReplayGain Type:"
 msgstr "ReplayGain Türü:"
 
-#: src/wavpack/ui.cxx:531
+#: src/wavpack/ui.cxx:529
 msgid "use Track Gain/Peak"
 msgstr "Parçada Gain/Peak kullan"
 
-#: src/wavpack/ui.cxx:539
+#: src/wavpack/ui.cxx:537
 msgid "use Album Gain/Peak"
 msgstr "Albümde Gain/Peak kullan"
 
-#: src/wma/wma.c:123
+#: src/wma/wma.c:120
 msgid ""
 "Adapted for use in Audacious by Tony Vroon (chainsaw@gentoo.org) from\n"
 "the BEEP-WMA plugin which is Copyright (C) 2004,2005 Mokrushin I.V. aka "
@@ -5270,6 +6419,10 @@
 "ru>. baz alınarak hazırlanmıştır\n"
 "Bu eklenti hazırlanırken kaynak kod baz alınmıştır"
 
+#~ msgid "Descriptions of <i>SID-specific</i> Tuplez fields go here. <b>:D</b>"
+#~ msgstr ""
+#~ "<i>SID'e özel</i> Tuplez alanlarının tanımı buraya gelecek. <b>:D</b>"
+
 #~ msgid "Error initializing song-length database!\n"
 #~ msgstr "Şarkı-uzunluğu veritabanını başlatırken hata oluştu!\n"
 
@@ -5401,9 +6554,6 @@
 #~ msgid "Could not allocate memory for t_xs_tuneinfo ('%s')\n"
 #~ msgstr "t_xs_tuneinfo ('%s') için hafıza ayrılamadı\n"
 
-#~ msgid "Could not allocate sidFilename ('%s')\n"
-#~ msgstr "sidFilename ('%s') ayrılamadı\n"
-
 #~ msgid "Could not allocate memory for t_xs_subtuneinfo ('%s', %i)\n"
 #~ msgstr "t_xs_subtuneinfo ('%s', %i) için hafıza ayrılamadı\n"
 
@@ -5471,9 +6621,6 @@
 #~ msgid "Play/Pause:"
 #~ msgstr "Çal/Beklet:"
 
-#~ msgid "File Info"
-#~ msgstr "Dosya Bilgisi"
-
 #~ msgid "Couldn't open file!"
 #~ msgstr "DIDI  açılamadı!emedi"
 
@@ -5525,9 +6672,6 @@
 #~ msgid "mp3gain minmax=%4s (max-min=%+6.3fdB)"
 #~ msgstr "mp3gain minmax=%4s (max-min=%+6.3fdB)"
 
-#~ msgid "Blues"
-#~ msgstr "Blues"
-
 #~ msgid "Classic Rock"
 #~ msgstr "Klasik Rock"
 
@@ -5594,9 +6738,6 @@
 #~ msgid "Death Metal"
 #~ msgstr "Death Metal"
 
-#~ msgid "Pranks"
-#~ msgstr "Pranks"
-
 #~ msgid "Soundtrack"
 #~ msgstr "Soundtrack"
 
@@ -5648,9 +6789,6 @@
 #~ msgid "AlternRock"
 #~ msgstr "Alternatif Rock"
 
-#~ msgid "Bass"
-#~ msgstr "Bas"
-
 #~ msgid "Soul"
 #~ msgstr "Soul"
 
@@ -5732,9 +6870,6 @@
 #~ msgid "Rave"
 #~ msgstr "Rave"
 
-#~ msgid "Showtunes"
-#~ msgstr "Showtunes"
-
 #~ msgid "Trailer"
 #~ msgstr "Trailer"
 
@@ -5753,9 +6888,6 @@
 #~ msgid "Polka"
 #~ msgstr "Polka"
 
-#~ msgid "Retro"
-#~ msgstr "Retro"
-
 #~ msgid "Musical"
 #~ msgstr "Müzikal"
 
@@ -5855,12 +6987,6 @@
 #~ msgid "Porn Groove"
 #~ msgstr "Porn Groove"
 
-#~ msgid "Satire"
-#~ msgstr "Taşlama"
-
-#~ msgid "Slow Jam"
-#~ msgstr "Slow Jam"
-
 #~ msgid "Club"
 #~ msgstr "Club"
 
@@ -5930,9 +7056,6 @@
 #~ msgid "Polsk Punk"
 #~ msgstr "Polsk Punk"
 
-#~ msgid "Beat"
-#~ msgstr "Beat"
-
 #~ msgid "Christian Gangsta Rap"
 #~ msgstr "Christian Gangsta Rap"
 
@@ -5991,30 +7114,18 @@
 #~ msgid " Ogg Vorbis Tag "
 #~ msgstr " Ogg Vorbis Etiketi "
 
-#~ msgid "Date:"
-#~ msgstr "Tarih:"
-
 #~ msgid "Description:"
 #~ msgstr "Açıklama:"
 
-#~ msgid "Location:"
-#~ msgstr "Yer:"
-
 #~ msgid "Version:"
 #~ msgstr "Sürüm:"
 
 #~ msgid "ISRC number:"
 #~ msgstr "ISRC numarası:"
 
-#~ msgid "Organization:"
-#~ msgstr "Kurum:"
-
 #~ msgid " Ogg Vorbis ReplayGain "
 #~ msgstr " Ogg Vorbis ReplayGain "
 
-#~ msgid "Track gain:"
-#~ msgstr "Parça ses yüksekliği:"
-
 #~ msgid "Track peak:"
 #~ msgstr "Parça doruğu:"
 
@@ -6053,6 +7164,3 @@
 
 #~ msgid "%d Bytes"
 #~ msgstr "%d Byte"
-
-#~ msgid "%s - Audacious"
-#~ msgstr "%s - Audacious"
--- a/src/adplug/adplug-xmms.cc	Thu Jul 03 17:23:34 2008 +0300
+++ b/src/adplug/adplug-xmms.cc	Thu Jul 03 17:37:11 2008 +0300
@@ -913,29 +913,6 @@
 }
 
 static int
-adplug_is_our_file (char *filename)
-{
-  CSilentopl tmpopl;
-  VFSFile *fd = aud_vfs_buffered_file_new_from_uri (filename);
-  if (!fd)
-    return FALSE;
-
-  CPlayer *p = factory (fd, &tmpopl);
-
-  dbg_printf ("adplug_is_our_file(\"%s\"): returned ", filename);
-
-  if (p)
-  {
-    delete p;
-    dbg_printf ("TRUE\n");
-    return TRUE;
-  }
-
-  dbg_printf ("FALSE\n");
-  return FALSE;
-}
-
-static int
 adplug_get_time (InputPlayback * data)
 {
   if (audio_error)
@@ -1140,13 +1117,12 @@
   adplug_about,
   adplug_config,
   FALSE,
-  adplug_is_our_file,
-  NULL,                         // scan_dir (look in Input/cdaudio/cdaudio.c)
+  NULL,
+  NULL,
   adplug_play,
   adplug_stop,
   adplug_pause,
   adplug_seek,
-  NULL,                         // set_eq
   adplug_get_time,
   NULL,                         // get_volume (handled by output plugin)
   NULL,                         // set_volume (...)
@@ -1156,7 +1132,6 @@
   NULL,                         // set_info_text (filled by XMMS)
   adplug_song_info,
   adplug_info_box,
-  NULL,                         // output plugin (filled by XMMS)
   adplug_get_tuple,
   adplug_is_our_fd,
   (gchar **)fmts,
--- a/src/alsa/alsa.h	Thu Jul 03 17:23:34 2008 +0300
+++ b/src/alsa/alsa.h	Thu Jul 03 17:37:11 2008 +0300
@@ -41,15 +41,15 @@
 
 struct alsa_config
 {
-	char *pcm_device;
-	int mixer_card;
-	char *mixer_device;
-	int buffer_time;
-	int period_time;
+	gchar *pcm_device;
+	gint mixer_card;
+	gchar *mixer_device;
+	gint buffer_time;
+	gint period_time;
 	gboolean debug;
 	struct
 	{
-		int left, right;
+		gint left, right;
 	} vol;
 };
 
@@ -57,21 +57,21 @@
 
 void alsa_about(void);
 void alsa_configure(void);
-int alsa_get_mixer(snd_mixer_t **mixer, int card);
+gint alsa_get_mixer(snd_mixer_t **mixer, gint card);
 void alsa_save_config(void);
 
-void alsa_get_volume(int *l, int *r);
-void alsa_set_volume(int l, int r);
+void alsa_get_volume(gint *l, gint *r);
+void alsa_set_volume(gint l, gint r);
 
-int alsa_playing(void);
-int alsa_free(void);
-void alsa_write(void *ptr, int length);
+gint alsa_playing(void);
+gint alsa_free(void);
+void alsa_write(void *ptr, gint length);
 void alsa_close(void);
-void alsa_flush(int time);
-void alsa_pause(short p);
-int alsa_open(AFormat fmt, int rate, int nch);
-int alsa_get_output_time(void);
-int alsa_get_written_time(void);
+void alsa_flush(gint time);
+void alsa_pause(gshort p);
+gint alsa_open(AFormat fmt, gint rate, gint nch);
+gint alsa_get_output_time(void);
+gint alsa_get_written_time(void);
 void alsa_tell(AFormat * fmt, gint * rate, gint * nch);
 
 extern GStaticMutex alsa_mutex;
--- a/src/alsa/audio.c	Thu Jul 03 17:23:34 2008 +0300
+++ b/src/alsa/audio.c	Thu Jul 03 17:37:11 2008 +0300
@@ -46,8 +46,8 @@
 static guint64 output_time_offset;
 
 /* device buffer/period sizes in bytes */
-static int hw_buffer_size, hw_period_size;		/* in output bytes */
-static int hw_buffer_size_in, hw_period_size_in;	/* in input bytes */
+static gint hw_buffer_size, hw_period_size;		/* in output bytes */
+static gint hw_buffer_size_in, hw_period_size_in;	/* in input bytes */
 
 /* Set/Get volume */
 static snd_mixer_elem_t *pcm_element;
@@ -60,32 +60,32 @@
 
 /* for audio thread */
 static GThread *audio_thread;	 /* audio loop thread */
-static int thread_buffer_size;	 /* size of intermediate buffer in bytes */
-static char *thread_buffer;	 /* audio intermediate buffer */
-static int rd_index, wr_index;	 /* current read/write position in int-buffer */
+static gint thread_buffer_size;	 /* size of intermediate buffer in bytes */
+static gchar *thread_buffer;	 /* audio intermediate buffer */
+static gint rd_index, wr_index;	 /* current read/write position in int-buffer */
 static gboolean pause_request;	 /* pause status currently requested */
-static int flush_request;	 /* flush status (time) currently requested */
-static int prebuffer_size;
+static gint flush_request;	 /* flush status (time) currently requested */
+static gint prebuffer_size;
 GStaticMutex alsa_mutex = G_STATIC_MUTEX_INIT;
 
 struct snd_format {
-	unsigned int rate;
-	unsigned int channels;
+	guint rate;
+	guint channels;
 	snd_pcm_format_t format;
 	AFormat xmms_format;
-	int sample_bits;
-	int bps;
+	gint sample_bits;
+	gint bps;
 };
 
 static struct snd_format *inputf = NULL;
 static struct snd_format *outputf = NULL;
 
-static int alsa_setup(struct snd_format *f);
-static void alsa_write_audio(char *data, int length);
+static gint alsa_setup(struct snd_format *f);
+static void alsa_write_audio(gchar *data, gint length);
 static void alsa_cleanup_mixer(void);
-static int get_thread_buffer_filled(void);
+static gint get_thread_buffer_filled(void);
 
-static struct snd_format * snd_format_from_xmms(AFormat fmt, int rate, int channels);
+static struct snd_format * snd_format_from_xmms(AFormat fmt, gint rate, gint channels);
 
 static const struct {
 	AFormat xmms;
@@ -115,9 +115,9 @@
 };
 
 
-static void debug(char *str, ...) G_GNUC_PRINTF(1, 2);
+static void debug(gchar *str, ...) G_GNUC_PRINTF(1, 2);
 
-static void debug(char *str, ...)
+static void debug(gchar *str, ...)
 {
 	va_list args;
 
@@ -140,10 +140,10 @@
                get_thread_buffer_filled() > hw_period_size_in;
 }
 
-static int
-alsa_recovery(int err)
+static gint
+alsa_recovery(gint err)
 {
-	int err2;
+	gint err2;
 
 	/* if debug mode is enabled, dump ALSA state to console */
 	if (alsa_cfg.debug)
@@ -298,7 +298,7 @@
 
 /* reopen ALSA PCM */
 #if 0
-static int alsa_reopen(struct snd_format *f)
+static gint alsa_reopen(struct snd_format *f)
 {
 	/* remember the current position */
 	output_time_offset += (alsa_hw_written * 1000) / outputf->bps;
@@ -311,7 +311,7 @@
 #endif
 
 /* do flush (drop) operation */
-static void alsa_do_flush(int time)
+static void alsa_do_flush(gint time)
 {
 	if (alsa_pcm)
 	{
@@ -324,16 +324,16 @@
 	rd_index = wr_index = alsa_hw_written = 0;
 }
 
-void alsa_flush(int time)
+void alsa_flush(gint time)
 {
 	flush_request = time;
 	while ((flush_request != -1) && (going))
 		g_usleep(10000);
 }
 
-static void parse_mixer_name(char *str, char **name, int *index)
+static void parse_mixer_name(gchar *str, gchar **name, gint *index)
 {
-	char *end;
+	gchar *end;
 
 	while (isspace(*str))
 		str++;
@@ -351,10 +351,10 @@
 	}
 }
 
-int alsa_get_mixer(snd_mixer_t **mixer, int card)
+gint alsa_get_mixer(snd_mixer_t **mixer, gint card)
 {
-	char *dev;
-	int err;
+	gchar *dev;
+	gint err;
 
 	debug("alsa_get_mixer");
 
@@ -393,7 +393,7 @@
 }
 
 
-static snd_mixer_elem_t* alsa_get_mixer_elem(snd_mixer_t *mixer, char *name, int index)
+static snd_mixer_elem_t* alsa_get_mixer_elem(snd_mixer_t *mixer, gchar *name, gint index)
 {
 	snd_mixer_selem_id_t *selem_id;
 	snd_mixer_elem_t* elem;
@@ -411,10 +411,10 @@
 
 static int alsa_setup_mixer(void)
 {
-	char *name;
-	long int a, b;
-	long alsa_min_vol, alsa_max_vol;
-	int err, index;
+	gchar *name;
+	glong a, b;
+	glong alsa_min_vol, alsa_max_vol;
+	gint err, index;
 
 	debug("alsa_setup_mixer");
 
@@ -471,9 +471,9 @@
 	}
 }
 
-void alsa_get_volume(int *l, int *r)
+void alsa_get_volume(gint *l, gint *r)
 {
-	long ll = *l, lr = *r;
+	glong ll = *l, lr = *r;
 
 	if (mixer_start)
 	{
@@ -497,7 +497,7 @@
 }
 
 
-void alsa_set_volume(int l, int r)
+void alsa_set_volume(gint l, gint r)
 {
 	if (!pcm_element)
 		return;
@@ -541,7 +541,7 @@
 	return thread_buffer_size - (rd_index - wr_index);
 }
 
-int alsa_get_output_time(void)
+gint alsa_get_output_time(void)
 {
 	snd_pcm_sframes_t delay;
 	guint64 bytes = alsa_hw_written;
@@ -560,7 +560,7 @@
 	return output_time_offset + (bytes * 1000) / outputf->bps;
 }
 
-int alsa_get_written_time(void)
+gint alsa_get_written_time(void)
 {
 	if (!going)
 		return 0;
@@ -581,10 +581,10 @@
 }
 
 /* write callback */
-void alsa_write(gpointer data, int length)
+void alsa_write(gpointer data, gint length)
 {
-	int cnt;
-	char *src = (char *)data;
+	gint cnt;
+	gchar *src = (gchar *)data;
 	
 	remove_prebuffer = FALSE;
 	
@@ -602,7 +602,7 @@
 }
 
 /* transfer data to audio h/w via normal write */
-static void alsa_write_audio(char *data, int length)
+static void alsa_write_audio(gchar *data, gint length)
 {
 	snd_pcm_sframes_t written_frames;
 
@@ -655,8 +655,8 @@
 /* FIXME: proper lock? */
 static void *alsa_loop(void *arg)
 {
-	int npfds = snd_pcm_poll_descriptors_count(alsa_pcm);
-	int wr = 0;
+	gint npfds = snd_pcm_poll_descriptors_count(alsa_pcm);
+	gint wr = 0;
 
 	g_static_mutex_lock(&alsa_mutex);
 
@@ -704,7 +704,7 @@
 }
 
 /* open callback */
-int alsa_open(AFormat fmt, int rate, int nch)
+gint alsa_open(AFormat fmt, gint rate, gint nch)
 {
 	debug("Opening device");
 	if((inputf = snd_format_from_xmms(fmt, rate, nch)) == NULL) return 0;
@@ -751,11 +751,11 @@
 	return 1;
 }
 
-static struct snd_format * snd_format_from_xmms(AFormat fmt, int rate, int channels)
+static struct snd_format * snd_format_from_xmms(AFormat fmt, gint rate, gint channels)
 {
 	struct snd_format *f = g_malloc(sizeof(struct snd_format));
 	size_t i;
-        int found = 0;
+    gint found = 0;
 
 	f->xmms_format = fmt;
 	f->format = SND_PCM_FORMAT_UNKNOWN;
@@ -790,12 +790,12 @@
 	return f;
 }
 
-static int alsa_setup(struct snd_format *f)
+static gint alsa_setup(struct snd_format *f)
 {
-	int err;
+	gint err;
 	snd_pcm_hw_params_t *hwparams = NULL;
 	snd_pcm_sw_params_t *swparams = NULL;
-	unsigned int alsa_buffer_time, alsa_period_time;
+	guint alsa_buffer_time, alsa_period_time;
 	snd_pcm_uframes_t alsa_buffer_size, alsa_period_size;
 
 	debug("alsa_setup");
--- a/src/alsa/configure.c	Thu Jul 03 17:23:34 2008 +0300
+++ b/src/alsa/configure.c	Thu Jul 03 17:37:11 2008 +0300
@@ -24,7 +24,7 @@
 
 static GtkWidget *devices_combo, *mixer_devices_combo;
 
-static int current_mixer_card;
+static gint current_mixer_card;
 
 #define GET_SPIN_INT(spin) \
 	gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(spin))
@@ -58,10 +58,10 @@
 	aud_cfg_db_close(cfgfile);
 }
 
-static int get_cards(GtkOptionMenu *omenu, GtkSignalFunc cb, int active)
+static gint get_cards(GtkOptionMenu *omenu, GtkSignalFunc cb, gint active)
 {
 	GtkWidget *menu, *item;
-	int card = -1, err, set = 0, curr = -1;
+	gint card = -1, err, set = 0, curr = -1;
 
 	menu = gtk_menu_new();
 	if ((err = snd_card_next(&card)) != 0)
@@ -69,7 +69,7 @@
 
 	while (card > -1)
 	{
-		char *label;
+		gchar *label;
 
 		curr++;
 		if (card == active)
@@ -98,10 +98,10 @@
 	return set;
 }
 
-static int get_mixer_devices(GtkCombo *combo, int card)
+static gint get_mixer_devices(GtkCombo *combo, gint card)
 {
 	GList *items = NULL;
-	int err;
+	gint err;
 	snd_mixer_t *mixer;
 	snd_mixer_elem_t *current;
 
@@ -112,10 +112,16 @@
 
 	while (current)
 	{
-		const char *sname = snd_mixer_selem_get_name(current);
 		if (snd_mixer_selem_is_active(current) &&
 		    snd_mixer_selem_has_playback_volume(current))
-			items = g_list_append(items, g_strdup(sname));
+		{
+			const gchar *sname = snd_mixer_selem_get_name(current);
+			gint index = snd_mixer_selem_get_index(current);
+			if (index)
+				items = g_list_append(items, g_strdup_printf("%s,%d", sname, index));
+			else
+				items = g_list_append(items, g_strdup(sname));
+		}
 		current = snd_mixer_elem_next(current);
 	}
 
@@ -124,13 +130,13 @@
 	return 0;
 }
 
-static void get_devices_for_card(GtkCombo *combo, int card)
+static void get_devices_for_card(GtkCombo *combo, gint card)
 {
 	GtkWidget *item;
-	int pcm_device = -1, err;
+	gint pcm_device = -1, err;
 	snd_pcm_info_t *pcm_info = NULL;
 	snd_ctl_t *ctl;
-	char dev[64], *card_name;
+	gchar dev[64], *card_name;
 
 	sprintf(dev, "hw:%i", card);
 
@@ -194,9 +200,9 @@
 static void get_devices(GtkCombo *combo)
 {
 	GtkWidget *item;
-	int card = -1;
-	int err = 0;
-	char *descr;
+	gint card = -1;
+	gint err = 0;
+	gchar *descr;
 
 	descr = g_strdup_printf(_("Default PCM device (%s)"), "default");
 	item = gtk_list_item_new_with_label(descr);
@@ -244,7 +250,7 @@
 	GtkObject *buffer_time_adj, *period_time_adj;
 	GtkWidget *bbox, *ok, *cancel;
 
-	int mset;
+	gint mset;
 
 	if (configure_win)
 	{
--- a/src/bluetooth/Makefile	Thu Jul 03 17:23:34 2008 +0300
+++ b/src/bluetooth/Makefile	Thu Jul 03 17:37:11 2008 +0300
@@ -1,6 +1,6 @@
 PLUGIN = bluetooth${PLUGIN_SUFFIX}
 
-SRCS = bluetooth.c gui.c marshal.c
+SRCS = bluetooth.c gui.c marshal.c scan_gui.c
 include ../../buildsys.mk
 include ../../extra.mk
 
--- a/src/bluetooth/bluetooth.c	Thu Jul 03 17:23:34 2008 +0300
+++ b/src/bluetooth/bluetooth.c	Thu Jul 03 17:37:11 2008 +0300
@@ -5,12 +5,14 @@
 #include "bluetooth.h"
 #include "marshal.h"
 #include "gui.h"
-
+#include "scan_gui.h"
 #define DEBUG 1
 static gboolean plugin_active = FALSE,exiting=FALSE;
 GList * current_device = NULL;
 DBusGConnection * bus = NULL;
-gint discover_finish =0;
+DBusGProxy * obj = NULL;
+gint config = 0;
+gint devices_no = 0;
 GStaticMutex mutex = G_STATIC_MUTEX_INIT;
 
 void bluetooth_init ( void );
@@ -23,7 +25,7 @@
 static void print_results(void);
 static void discovery_completed(DBusGProxy *object, gpointer user_data);
 void discover_devices(void);
-
+void disconnect_dbus_signals(void);
 
 
 GeneralPlugin bluetooth_gp =
@@ -36,6 +38,7 @@
 };
 GeneralPlugin *bluetooth_gplist[] = { &bluetooth_gp, NULL };
 DECLARE_PLUGIN(bluetooth_gp, NULL, NULL, NULL, NULL, NULL, bluetooth_gplist, NULL, NULL)
+
 void bluetooth_init ( void )
 {
     audio_devices = NULL;
@@ -45,33 +48,76 @@
 void bluetooth_cleanup ( void )
 {
     printf("bluetooth: exit\n");
+    if (config ==1 ){
+        close_window();
+        config =0;
+    }
     if(discover_finish == 2) {
         dbus_g_connection_flush (bus);
         dbus_g_connection_unref(bus);
+        disconnect_dbus_signals();
+
     }
-
 }
-/*void bt_cfg( void )
-  {
 
-  }
-  */
 void bt_about( void )
 {
+    printf("about call\n");
+    show_scan();
+}
+
+void bt_cfg(void)
+{   
+    printf("bt_cfg\n");
+    config =1;
+    if(discover_finish == 2){
+        if (devices_no == 0){
+            printf("no devs!\n");
+            show_scan();
+            show_no_devices();
+        }else 
+            results_ui();
+    }
+    else show_scan();    
+    printf("end of bt_cfg\n");
+}
+
+void disconnect_dbus_signals()
+{
+    dbus_g_proxy_disconnect_signal(obj, "RemoteDeviceFound", G_CALLBACK(remote_device_found), bus);
+    dbus_g_proxy_disconnect_signal(obj, "DiscoveryStarted", G_CALLBACK(discovery_started), bus);
+    dbus_g_proxy_disconnect_signal(obj, "DiscoveryCompleted", G_CALLBACK(discovery_completed), bus);
+    dbus_g_proxy_disconnect_signal(obj, "RemoteNameUpdated", G_CALLBACK(remote_name_updated), NULL);
 
 }
 
-
-void refresh_call(void){
-   if(discover_finish == 0 ||discover_finish== 2)
-       discover_devices();
-       else 
-           printf("Scanning please wait!\n");
-    printf("refresh function called\n");
+void clean_devices_list(){
+    g_list_free(audio_devices);
+    dbus_g_connection_flush (bus);
+    dbus_g_connection_unref(bus);
+    audio_devices = NULL;
+    //g_list_free(current_device);
 }
 
-void connect_call(void){
-  printf("connect function \n");
+void refresh_call(void)
+{
+    printf("refresh function called\n");
+    disconnect_dbus_signals();
+    clean_devices_list();
+    if(discover_finish == 0 ||discover_finish== 2){
+        discover_finish = 0;
+
+        discover_devices();
+        close_window();
+        show_scan();
+    }
+    else 
+        printf("Scanning please wait!\n");
+}
+
+void connect_call(void)
+{
+    printf("connect function \n");
 }
 
 
@@ -82,7 +128,6 @@
     current_device = audio_devices;
     if((class & 0x200404)==0x200404)
     {
-
         while(current_device != NULL)
         {
             if(g_str_equal(address,((DeviceData*)(current_device->data))->address)) 
@@ -98,8 +143,7 @@
             dev->class = class;
             dev->address = g_strdup(address);
             dev->name = NULL;
-            audio_devices=g_list_prepend(audio_devices, dev);     
-
+            audio_devices=g_list_prepend(audio_devices, dev);
         }
     }
     g_static_mutex_unlock(&mutex);
@@ -126,49 +170,60 @@
     }
     g_static_mutex_unlock(&mutex);
 }
+
 static void print_results()
 {
     int i=0;
     g_print("Final Scan results:\n");
-    g_print("Number of audio devices: %d \n",g_list_length(audio_devices));
-    current_device=audio_devices;
-    while(current_device != NULL)
-    {
-        g_print("Device %d: Name: %s, Class: 0x%x, Address: %s\n",++i,
-                ((DeviceData*)(current_device->data))-> name,
-                ((DeviceData*)(current_device->data))-> class,
-                ((DeviceData*)(current_device->data))-> address);
+    devices_no = g_list_length(audio_devices);
+    g_print("Number of audio devices: %d \n",devices_no);
+    if(devices_no==0 ) {
+        if(config ==1) show_no_devices();        
+    } else {
+        current_device=audio_devices;
+        while(current_device != NULL)
+        {
+            g_print("Device %d: Name: %s, Class: 0x%x, Address: %s\n",++i,
+                    ((DeviceData*)(current_device->data))-> name,
+                    ((DeviceData*)(current_device->data))-> class,
+                    ((DeviceData*)(current_device->data))-> address);
+            current_device=g_list_next(current_device);
+        }
+        destroy_scan_window();
+        if(config==1) {
+            destroy_scan_window();
+            results_ui();
+        }
+        //   refresh_tree();
+    }
+}
 
-        current_device=g_list_next(current_device);
-    }
 
-    refresh_tree();
-}
 
 static void discovery_completed(DBusGProxy *object, gpointer user_data)
 {
     g_print("Signal: DiscoveryCompleted()\n");
+    discover_finish =2;
     print_results();
-    discover_finish =2;
 }
 
 
-void discover_devices(void){
+
+void discover_devices(void)
+{
     GError *error = NULL;
-    DBusGProxy * obj = NULL;
-    g_type_init();
+    //  g_type_init();
     g_log_set_always_fatal (G_LOG_LEVEL_WARNING);
-
     bus = dbus_g_bus_get(DBUS_BUS_SYSTEM, &error);
     if (error != NULL)
     {
         g_printerr("Connecting to system bus failed: %s\n", error->message);
         g_error_free(error);
-        exit(EXIT_FAILURE);
     }
     obj = dbus_g_proxy_new_for_name(bus, "org.bluez", "/org/bluez/hci0", "org.bluez.Adapter");
+    printf("bluetooth plugin - start discovery \n");
+    dbus_g_object_register_marshaller(marshal_VOID__STRING_UINT_INT, G_TYPE_NONE, G_TYPE_STRING, G_TYPE_UINT, G_TYPE_INT, G_TYPE_INVALID);
 
-    dbus_g_object_register_marshaller(marshal_VOID__STRING_UINT_INT, G_TYPE_NONE, G_TYPE_STRING, G_TYPE_UINT, G_TYPE_INT, G_TYPE_INVALID);
     dbus_g_proxy_add_signal(obj, "RemoteDeviceFound", G_TYPE_STRING, G_TYPE_UINT, G_TYPE_INT, G_TYPE_INVALID);
     dbus_g_proxy_connect_signal(obj, "RemoteDeviceFound", G_CALLBACK(remote_device_found), bus, NULL);
 
@@ -179,6 +234,7 @@
     dbus_g_proxy_connect_signal(obj, "DiscoveryCompleted", G_CALLBACK(discovery_completed), bus, NULL);
 
     dbus_g_object_register_marshaller(marshal_VOID__STRING_STRING, G_TYPE_NONE, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INVALID);
+
     dbus_g_proxy_add_signal(obj, "RemoteNameUpdated", G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INVALID);
     dbus_g_proxy_connect_signal(obj, "RemoteNameUpdated", G_CALLBACK(remote_name_updated), NULL, NULL);
 
@@ -187,8 +243,6 @@
     {
         g_printerr("Failed to discover devices: %s\n", error->message);
         g_error_free(error);
-        exit(EXIT_FAILURE);
     }
-      dbus_g_connection_flush (bus);
-      dbus_g_connection_unref(bus);
-}    
+
+}   
--- a/src/bluetooth/bluetooth.h	Thu Jul 03 17:23:34 2008 +0300
+++ b/src/bluetooth/bluetooth.h	Thu Jul 03 17:37:11 2008 +0300
@@ -19,4 +19,6 @@
 void refresh_call(void);
 void connect_call(void);
 GList * audio_devices;
+gint discover_finish ;
 
+
--- a/src/bluetooth/gui.c	Thu Jul 03 17:23:34 2008 +0300
+++ b/src/bluetooth/gui.c	Thu Jul 03 17:37:11 2008 +0300
@@ -3,101 +3,110 @@
 
 static GtkWidget *window = NULL;
 static GtkTreeModel *model;
-GtkWidget *mainbox;
-GtkWidget *hbox_top;
-GtkWidget *hbox_bottom;
-GtkWidget *box_about;
-GtkWidget *box_about_left;
-GtkWidget *box_about_right;
-GtkWidget *headset_frame;
-GtkWidget *about_frame;
-GtkWidget *refresh;
-GtkWidget *connect_button;
-GtkWidget *close_button;   
-GtkWidget *treeview;
-GtkWidget *label_p;
-GtkWidget *label_c;
-GtkWidget *label_a;
-GtkWidget *label_prod;
-GtkWidget *label_class;
-GtkWidget *label_address;
-GList * dev = NULL;
+static GtkWidget *mainbox;
+static GtkWidget *hbox_top;
+static GtkWidget *hbox_bottom;
+static GtkWidget *box_about;
+static GtkWidget *box_about_left;
+static GtkWidget *box_about_right;
+static GtkWidget *headset_frame;
+static GtkWidget *about_frame;
+static GtkWidget *refresh;
+static GtkWidget *connect_button;
+static GtkWidget *close_button;   
+static GtkWidget *treeview;
+static GtkWidget *label_p;
+static GtkWidget *label_c;
+static GtkWidget *label_a;
+static GtkWidget *label_prod;
+static GtkWidget *label_class;
+static GtkWidget *label_address;
+static GList * dev = NULL;
+gchar *status = NULL;
 enum{
     COLUMN_PRODUCER,
     NUM_COLUMNS
 };
-static DeviceData test_data[]=
-{
-    {0,"00:00:00:00:00","Scanning"}
-};
-
 
 static GtkTreeModel * create_model(void)
 {
     GtkListStore *store;
     GtkTreeIter iter;
-    gint i=0;
-   /* create list store */
+    /* create list store */
     store = gtk_list_store_new(NUM_COLUMNS,
             G_TYPE_STRING);
-         
-    /* add data to the list store */
-    for(i = 0;i<G_N_ELEMENTS(test_data);i++)
+    dev = audio_devices;
+    if(dev == NULL) {
+        /*if we are scanning for devices now then print the Scanning message,
+         * else we print the "no devices found message */
+        if(discover_finish == 1) 
+            /*we are scanning*/
+            status = g_strdup_printf("Scanning"); 
+        else 
+            status = g_strdup_printf("No devices found!");
+        /* add the status to the list */
+        gtk_list_store_append(store,&iter);
+        gtk_list_store_set(store,&iter, COLUMN_PRODUCER,status,-1);
+        return GTK_TREE_MODEL(store);    
+    } 
+    while(dev != NULL)
     {
         gtk_list_store_append(store,&iter);
-        gtk_list_store_set(store,&iter,
-                COLUMN_PRODUCER, test_data[i].name,-1);
+        gtk_list_store_set(store,&iter, COLUMN_PRODUCER, 
+                ((DeviceData*)(dev->data))-> name,-1);
+        dev = g_list_next(dev);
     }
 
-        return GTK_TREE_MODEL(store);                       
+    return GTK_TREE_MODEL(store);                       
 }
 static GtkTreeModel * rebuild_model(void)
 {
 
     GtkListStore *store;
     GtkTreeIter iter;
-    gint i=0;
     gint dev_no=0;
     GList *dev;
     gchar *temp;
     if(!window) 
         return NULL;
-   /* create list store */
+    /* create list store */
     store = gtk_list_store_new(NUM_COLUMNS,
             G_TYPE_STRING);
-         
+
     /*add inf to test_data from audio_devices */
     dev_no = g_list_length(audio_devices);
     dev = audio_devices;
+    if(dev == NULL || discover_finish == 0) {
+        /*if we are scanning for devices now then print the Scanning message,
+         * else we print the "no devices found message */
+        printf("discover: %d\n",discover_finish);
+        if(discover_finish == 1) {
+            /*we are scanning*/
+            status = g_strdup_printf("Scanning"); 
+        } else 
+            status = g_strdup_printf("No devices found!");
+        /* add the status to the list */
+        gtk_list_store_append(store,&iter);
+        gtk_list_store_set(store,&iter, COLUMN_PRODUCER,status,-1);
+        gtk_label_set_text(GTK_LABEL(label_prod),status);
+        return GTK_TREE_MODEL(store);    
+    } 
+
+    /* add data to the list store */
     while(dev != NULL)
     {
-        test_data[i].name = ((DeviceData*)(dev->data))-> name;
-        test_data[i].class = ((DeviceData*)(dev->data))-> class;
-        test_data[i].address = ((DeviceData*)(dev->data))-> address;
-        i++;
-        dev=g_list_next(dev);
-    }
-    if (dev_no == 0) 
-    {
-        test_data[0].name = "No devices found!";
-        test_data[0].class = 0;
-        test_data[0].address = "00:00:00:00:00";
+        gtk_list_store_append(store,&iter);
+        gtk_list_store_set(store,&iter, COLUMN_PRODUCER, 
+                ((DeviceData*)(dev->data))-> name,-1);
+        dev = g_list_next(dev);
     }
-
-    /* add data to the list store */
-    for(i = 0;i<G_N_ELEMENTS(test_data);i++)
-    {
-        gtk_list_store_append(store,&iter);
-        gtk_list_store_set(store,&iter,
-        COLUMN_PRODUCER, test_data[i].name,-1);
-    }
-        //set the labels
-         temp = g_strdup_printf("0x%x",test_data[0].class);
-         gtk_label_set_text(GTK_LABEL(label_prod),test_data[0].name);
-         gtk_label_set_text(GTK_LABEL(label_class),temp);
-         gtk_label_set_text(GTK_LABEL(label_address),test_data[0].address);
-
-        return GTK_TREE_MODEL(store);          
+    //set the labels
+    //   temp = g_strdup_printf("0x%x",((DeviceData*)(dev->data))->class);
+    gtk_label_set_text(GTK_LABEL(label_prod),((DeviceData*)(dev->data))->name);
+    //    gtk_label_set_text(GTK_LABEL(label_class),temp);
+    gtk_label_set_text(GTK_LABEL(label_address),((DeviceData*)(dev->data))->address);
+    g_free(temp);
+    return GTK_TREE_MODEL(store);          
 
 }
 
@@ -106,8 +115,8 @@
 {
     if(!window) 
         return;
-     model = rebuild_model();
-     gtk_tree_view_set_model(GTK_TREE_VIEW(treeview),GTK_TREE_MODEL(model));
+    model = rebuild_model();
+    gtk_tree_view_set_model(GTK_TREE_VIEW(treeview),GTK_TREE_MODEL(model));
 }
 
 
@@ -119,7 +128,7 @@
 
     /* column for producer */
     renderer = gtk_cell_renderer_text_new ();
-    column = gtk_tree_view_column_new_with_attributes ("Producer",
+    column = gtk_tree_view_column_new_with_attributes (_("Producer"),
             renderer,
             "text",
             COLUMN_PRODUCER,
@@ -139,6 +148,7 @@
     GtkTreeIter iter;
     gint sel;
     gchar *temp;
+    gint i;
     printf("select\n");
     GtkTreeSelection *selection = gtk_tree_view_get_selection (GTK_TREE_VIEW(treeview)); 
     if(gtk_tree_selection_get_selected (selection, NULL,&iter)){
@@ -146,21 +156,33 @@
         path = gtk_tree_model_get_path (model, &iter);
         sel = gtk_tree_path_get_indices (path)[0];
         printf("i=%d\n",sel);
-        temp = g_strdup_printf("0x%x",test_data[sel].class);
-        gtk_label_set_text(GTK_LABEL(label_prod),test_data[sel].name);
-        gtk_label_set_text(GTK_LABEL(label_class),temp);
-        gtk_label_set_text(GTK_LABEL(label_address),test_data[sel].address);
-        gtk_tree_path_free (path);
-        g_free(temp);
+        dev = audio_devices;
+        for(i=0;i<sel;i++) 
+            dev = g_list_next(dev);
+        if(dev != NULL) {
+            temp = g_strdup_printf("0x%x",((DeviceData*)(dev->data))->class);
+            gtk_label_set_text(GTK_LABEL(label_prod),((DeviceData*)(dev->data))->name);
+            gtk_label_set_text(GTK_LABEL(label_class),temp);
+            gtk_label_set_text(GTK_LABEL(label_address),((DeviceData*)(dev->data))->address);
+            gtk_tree_path_free (path);
+            g_free(temp);
+        }else 
+            gtk_label_set_text(GTK_LABEL(label_prod),status);
+        g_free(status);
 
     }
-
-
-
 }
-void bt_cfg()
+
+void refresh_resultsui(){
+  gtk_widget_destroy (window);
+  window = NULL;
+  refresh_call();
+}
+   
+
+void results_ui()
 {
-
+    gchar *temp;
     if (!window)
     {
         window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
@@ -178,21 +200,21 @@
         gtk_container_set_border_width (GTK_CONTAINER (hbox_bottom), 4); 
         gtk_container_add (GTK_CONTAINER (mainbox), hbox_bottom);
 
-        headset_frame = gtk_frame_new("Available Headsets");
+        headset_frame = gtk_frame_new(_("Available Headsets"));
         gtk_container_add (GTK_CONTAINER (hbox_top), headset_frame);
 
-        about_frame = gtk_frame_new("Current Headset");
+        about_frame = gtk_frame_new(_("Current Headset"));
         gtk_container_add(GTK_CONTAINER(hbox_top),about_frame);
 
-        refresh = gtk_button_new_with_mnemonic ("_Refresh");
-        g_signal_connect (refresh, "clicked",G_CALLBACK (refresh_call), NULL);
+        refresh = gtk_button_new_with_mnemonic (_("_Refresh"));
+        g_signal_connect (refresh, "clicked",G_CALLBACK (refresh_resultsui), NULL);
         gtk_container_add(GTK_CONTAINER(hbox_bottom),refresh);
 
-        connect_button = gtk_button_new_with_mnemonic("_Connect");
+        connect_button = gtk_button_new_with_mnemonic(_("_Connect"));
         g_signal_connect(connect_button,"clicked",G_CALLBACK (connect_call), NULL);
         gtk_container_add(GTK_CONTAINER(hbox_bottom),connect_button);
 
-        close_button = gtk_button_new_with_mnemonic("_Close");
+        close_button = gtk_button_new_with_mnemonic(_("_Close"));
         g_signal_connect(close_button,"clicked",G_CALLBACK (close_call),NULL);
         gtk_container_add(GTK_CONTAINER(hbox_bottom),close_button);
         /* create tree model */
@@ -206,7 +228,7 @@
         gtk_container_add (GTK_CONTAINER (headset_frame), treeview);
         /* add columns to the tree view */
         add_columns (GTK_TREE_VIEW (treeview));
-        
+
         g_signal_connect(treeview,"cursor-changed",G_CALLBACK(select_row),treeview);
 
 
@@ -226,19 +248,19 @@
         gtk_container_add (GTK_CONTAINER (box_about), box_about_right);
 
         /* Left labels  */
-        label_p = gtk_label_new("Name:");
+        label_p = gtk_label_new(_("Name:"));
         gtk_container_add(GTK_CONTAINER(box_about_left),label_p);
 
-        label_c = gtk_label_new("Class");
+        label_c = gtk_label_new(_("Class"));
         gtk_container_add(GTK_CONTAINER(box_about_left),label_c);
 
 
-        label_a = gtk_label_new("Address:");
+        label_a = gtk_label_new(_("Address:"));
         gtk_container_add(GTK_CONTAINER(box_about_left),label_a);
 
 
         /*right labels */
-        label_prod = gtk_label_new("Scanning");
+        label_prod = gtk_label_new("  ");
         gtk_container_add(GTK_CONTAINER(box_about_right),label_prod);
 
         label_class = gtk_label_new("  ");
@@ -248,7 +270,16 @@
         label_address = gtk_label_new("   ");
         gtk_container_add(GTK_CONTAINER(box_about_right),label_address);
 
-        gtk_window_set_default_size (GTK_WINDOW (window), 480, 180);
+        dev = audio_devices;
+        if(dev != NULL) {
+            temp = g_strdup_printf("0x%x",((DeviceData*)(dev->data))->class);
+            gtk_label_set_text(GTK_LABEL(label_prod),((DeviceData*)(dev->data))->name);
+            gtk_label_set_text(GTK_LABEL(label_class),temp);
+            gtk_label_set_text(GTK_LABEL(label_address),((DeviceData*)(dev->data))->address);
+            g_free(temp);
+        }
+
+        gtk_window_set_default_size (GTK_WINDOW (window), 460, 150);
         if (!GTK_WIDGET_VISIBLE (window))
             gtk_widget_show_all (window);
         else
--- a/src/bluetooth/gui.h	Thu Jul 03 17:23:34 2008 +0300
+++ b/src/bluetooth/gui.h	Thu Jul 03 17:37:11 2008 +0300
@@ -1,3 +1,6 @@
 #include <gtk/gtk.h>
 #include <glib.h>
 void refresh_tree(void);
+void results_ui();
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/bluetooth/scan_gui.c	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,104 @@
+#include "scan_gui.h"
+#include "bluetooth.h"
+static GtkWidget *window = NULL;
+static GtkWidget *winbox;
+static GtkWidget *scanbox;
+static GtkWidget *buttonsbox;
+static GtkWidget *progressbox;
+static GtkWidget *bluetooth_img;
+static GtkWidget *scan_label;
+static GtkWidget *progress_bar;
+static GtkWidget *rescan_buttton;
+static GtkWidget *close_button;
+gpointer progress() {
+
+    for(;;){
+        if(window){
+            gtk_progress_bar_pulse(GTK_PROGRESS_BAR(progress_bar));
+        }
+        sleep(1);
+        if(discover_finish == 2 ) {            
+            if(window){
+                gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(progress_bar),1);
+            }
+            return 0;
+        }
+    }
+    return 0;
+}
+
+void show_no_devices(){
+    if(window ){
+        gtk_label_set_text(GTK_LABEL(scan_label),_("No devices found!"));
+    }
+}
+void destroy_scan_window(){
+    gtk_widget_hide(window);
+}
+void close_window(void){
+    printf("scan_gui close callback \n");
+    gtk_widget_destroy (window);
+    window = NULL;
+}
+
+
+void show_scan()
+{
+    GThread *th1;
+    gchar *filename;
+    if (!window)
+    {
+        window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+        g_signal_connect (window, "destroy",G_CALLBACK (gtk_widget_destroyed), &window);
+
+        winbox = gtk_vbox_new(FALSE,2);
+        gtk_container_set_border_width (GTK_CONTAINER (winbox), 2); 
+        gtk_container_add (GTK_CONTAINER (window), winbox);
+
+        scanbox = gtk_hbox_new(FALSE,2);
+        gtk_container_set_border_width(GTK_CONTAINER(scanbox),2);
+        gtk_container_add(GTK_CONTAINER(winbox),scanbox);
+
+        progressbox = gtk_vbox_new(FALSE,2);
+        gtk_container_set_border_width(GTK_CONTAINER(progressbox),4);
+        gtk_container_add(GTK_CONTAINER(winbox),progressbox);
+        filename =  DATA_DIR G_DIR_SEPARATOR_S "images" G_DIR_SEPARATOR_S "blue.png";
+        bluetooth_img = gtk_image_new_from_file(filename);
+        gtk_image_set_pixel_size(GTK_IMAGE(bluetooth_img),-1);
+        gtk_container_add(GTK_CONTAINER(scanbox),bluetooth_img);
+
+        scan_label = gtk_label_new_with_mnemonic(_("Scanning..."));
+        gtk_container_add(GTK_CONTAINER(scanbox),scan_label);
+
+        progress_bar = gtk_progress_bar_new();
+        gtk_progress_bar_pulse(GTK_PROGRESS_BAR(progress_bar));
+        gtk_container_add(GTK_CONTAINER(progressbox),progress_bar);
+        th1 =  g_thread_create((GThreadFunc)progress, NULL,TRUE,NULL);
+        /* I have to add a button for Rescan when there are
+         * no devices found and not currently scanning
+         */
+        buttonsbox = gtk_hbox_new(FALSE,2);
+        gtk_container_set_border_width(GTK_CONTAINER(buttonsbox),2);
+        gtk_container_add(GTK_CONTAINER(progressbox),buttonsbox);
+        rescan_buttton = gtk_button_new_with_mnemonic(_("Rescan"));
+        g_signal_connect(rescan_buttton,"clicked",G_CALLBACK (refresh_call),NULL);
+
+        close_button = gtk_button_new_with_mnemonic(_("Close"));
+        gtk_container_add(GTK_CONTAINER(buttonsbox),rescan_buttton);
+        gtk_container_add(GTK_CONTAINER(buttonsbox),close_button);
+        g_signal_connect(close_button,"clicked",G_CALLBACK (close_window),NULL);
+
+        gtk_window_set_default_size (GTK_WINDOW (window), 60, 40);
+        gtk_window_set_resizable(GTK_WINDOW(window),FALSE);
+        if (!GTK_WIDGET_VISIBLE (window))
+            gtk_widget_show_all (window);
+        else
+        {   
+            gtk_widget_destroy (window);
+            g_free(filename);
+            window = NULL;
+        }
+
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/bluetooth/scan_gui.h	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,6 @@
+#include <gtk/gtk.h>
+#include <glib.h>
+void show_scan();
+void show_no_devices();
+void destroy_scan_window();
+void close_window();
--- a/src/console/Audacious_Driver.cxx	Thu Jul 03 17:23:34 2008 +0300
+++ b/src/console/Audacious_Driver.cxx	Thu Jul 03 17:37:11 2008 +0300
@@ -470,7 +470,6 @@
 	console_stop,
 	console_pause,
 	seek,
-	NULL,
 	get_time,
 	NULL,
 	NULL,   
@@ -480,7 +479,6 @@
 	NULL,
 	NULL,
 	NULL,
-	NULL,
 	get_song_tuple,
 	NULL,
 	(gchar **)gme_fmts,
--- a/src/cue/cuesheet.c	Thu Jul 03 17:23:34 2008 +0300
+++ b/src/cue/cuesheet.c	Thu Jul 03 17:37:11 2008 +0300
@@ -158,10 +158,9 @@
 
 		for (i = 0; i < last_cue_track; i++)
 		{
-			gchar _buf[65535];
-
-			g_snprintf(_buf, 65535, "cue://%s?%d", filename, i);
-			aud_playlist_add_url(aud_playlist_get_active(), _buf);
+			gchar *tmp = g_strdup_printf("cue://%s?%d", filename, i);
+			aud_playlist_add_url(aud_playlist_get_active(), tmp);
+			g_free(tmp);
 		}
 
 		free_cue_info();
@@ -190,7 +189,7 @@
 	play_thread = g_thread_self();
 	data->set_pb_ready(data); // it should be done in real input plugin? --yaz
 	play_cue_uri(data, uri);
-	g_free(uri); uri = NULL;
+	g_free(uri);
 }
 
 static Tuple *get_tuple(gchar *uri)
@@ -323,7 +322,6 @@
 
             if (real_ip != NULL) {
                 real_ip->plugin->set_info = cue_ip.set_info;
-                real_ip->plugin->output = NULL;
                 g_free(real_ip);
                 real_ip = NULL;
             }
@@ -438,7 +436,6 @@
 		real_ip = (InputPlayback *)g_memdup(data, sizeof(InputPlayback));
 		real_ip->plugin = real_ip_plugin;
 		real_ip->plugin->set_info = set_info_override;
-		real_ip->plugin->output = cue_ip.output;
 		real_ip->filename = cue_file;
 
 		data->playing = 1;
--- a/src/evdev-plug/ed_ui.c	Thu Jul 03 17:23:34 2008 +0300
+++ b/src/evdev-plug/ed_ui.c	Thu Jul 03 17:37:11 2008 +0300
@@ -209,18 +209,18 @@
   switch (is_available)
   {
     case DEVLIST_ISAVAILABLE_DET:
-      g_object_set( renderer , "text" , "Detected" ,
+      g_object_set( renderer , "text" , _("Detected") ,
         "foreground" , "Green" , "foreground-set" , TRUE ,
         "background" , "Black" , "background-set" , TRUE , NULL );
       break;
     case DEVLIST_ISAVAILABLE_CUSTOM:
-      g_object_set( renderer , "text" , "Custom" ,
+      g_object_set( renderer , "text" , _("Custom") ,
         "foreground" , "Yellow" , "foreground-set" , TRUE ,
         "background" , "Black" , "background-set" , TRUE , NULL );
       break;
     case DEVLIST_ISAVAILABLE_NOTDET:
     default:
-      g_object_set( renderer , "text" , "Not Detected" ,
+      g_object_set( renderer , "text" , _("Not Detected") ,
         "foreground" , "Orange" , "foreground-set" , TRUE ,
         "background" , "Black" , "background-set" , TRUE , NULL );
       break;
@@ -401,7 +401,7 @@
           DEVLIST_COL_ISACTIVE , FALSE ,
           DEVLIST_COL_NAME , name ,
           DEVLIST_COL_FILENAME , file ,
-          DEVLIST_COL_PHYS , "(custom)" ,
+          DEVLIST_COL_PHYS , _("(custom)") ,
           DEVLIST_COL_ISAVAILABLE , DEVLIST_ISAVAILABLE_CUSTOM ,
           DEVLIST_COL_BINDINGS , NULL , -1 );
         task_done = TRUE;
--- a/src/flacng/plugin.c	Thu Jul 03 17:23:34 2008 +0300
+++ b/src/flacng/plugin.c	Thu Jul 03 17:37:11 2008 +0300
@@ -446,7 +446,7 @@
                 /*
                  * Flush the buffers
                  */
-                flac_ip.output->flush(seek_to);
+                playback->output->flush(seek_to);
             }
             seek_to = -1;
         }
@@ -462,7 +462,7 @@
 
             _DEBUG("End of stream reached, draining output buffer");
 
-            while((-1 == seek_to) && flac_ip.output->buffer_playing() && playback->playing == TRUE) {
+            while((-1 == seek_to) && playback->output->buffer_playing() && playback->playing == TRUE) {
                 g_usleep(40000);
             }
 
@@ -478,7 +478,7 @@
      */
     playback->playing = FALSE;
     _DEBUG("Closing audio device");
-    flac_ip.output->close_audio();
+    playback->output->close_audio();
     _DEBUG("Audio device closed");
 
     free(play_buffer);
--- a/src/madplug/plugin.c	Thu Jul 03 17:23:34 2008 +0300
+++ b/src/madplug/plugin.c	Thu Jul 03 17:37:11 2008 +0300
@@ -277,7 +277,9 @@
         ((guint32) hbuf[3]);
 }
 
-#if 0
+#undef MADPROBE_DEBUG
+
+#ifdef MADPROBE_DEBUG
 static gchar *mp3_ver_table[4] = { "2.5", "INVALID", "2", "1" };
 #define LULZ(...) do { fprintf(stderr, "madprobe: "); fprintf(stderr, __VA_ARGS__); } while (0)
 #define LOL(...) do { fprintf(stderr, __VA_ARGS__); } while (0)
@@ -396,7 +398,7 @@
                         /* Not similar frame... */
                         LOL(" .. but does not match (%d)!\n", chkcount);
                         state = STATE_RESYNC;
-                    } else if (chkcount >= 5) {
+                    } else if (chkcount >= 3) {
                         /* Okay, accept this stream */
                         LOL(" .. accepted as mp3!!!\n");
                         return 1;
--- a/src/modplug/plugin.cxx	Thu Jul 03 17:23:34 2008 +0300
+++ b/src/modplug/plugin.cxx	Thu Jul 03 17:37:11 2008 +0300
@@ -106,7 +106,6 @@
     Stop,
     Pause,
     Seek,
-    NULL,
     GetTime,
     NULL,
     NULL,
@@ -116,7 +115,6 @@
     NULL,
     NULL,
     ShowFileInfoBox,
-    NULL,   // output
     GetSongTuple,
     CanPlayFileFromVFS, // vfs
     (gchar **)fmts,
--- a/src/musepack/libmpc.cxx	Thu Jul 03 17:23:34 2008 +0300
+++ b/src/musepack/libmpc.cxx	Thu Jul 03 17:37:11 2008 +0300
@@ -25,7 +25,6 @@
     mpcStop,        //Stop                      [CALLBACK]
     mpcPause,       //Pause                     [CALLBACK]
     mpcSeek,        //Seek                      [CALLBACK]
-    NULL,           //Set EQ                    [CALLBACK]
     mpcGetTime,     //Get Time                  [CALLBACK]
     NULL,           //Get Volume                [UNUSED]
     NULL,           //Set Volume                [UNUSED]
@@ -35,7 +34,6 @@
     NULL,           //set Info Text             set_info_text(char* text)
     mpcGetSongInfo, //Get Title String callback [CALLBACK]
     mpcFileInfoBox, //Show File Info Box        [CALLBACK]
-    NULL,           //Output Plugin Handle      OutputPlugin output
     mpcGetSongTuple,//Acquire tuple for song    [CALLBACK]
     mpcIsOurFD,
     (gchar **)mpc_fmts
@@ -51,7 +49,7 @@
 static TrackInfo    track        = {0};
 
 static GThread            *threadHandle;
-GStaticMutex threadMutex = G_STATIC_MUTEX_INIT;
+static GStaticMutex threadMutex = G_STATIC_MUTEX_INIT;
 
 /*
  * VFS callback implementation, adapted from mpc_reader.c.
@@ -812,7 +810,7 @@
     MPC_SAMPLE_FORMAT sampleBuffer[MPC_DECODER_BUFFER_LENGTH];
     char xmmsBuffer[MPC_DECODER_BUFFER_LENGTH * 4];
 
-    if (!MpcPlugin.output->open_audio(FMT_S16_LE, track.sampleFreq, track.channels))
+    if (!data->output->open_audio(FMT_S16_LE, track.sampleFreq, track.channels))
     {
         mpcDecoder.isError = g_strdup_printf("[xmms-musepack] decodeStream is unable to open an audio output");
         return endThread(filename, input, true);
@@ -834,9 +832,9 @@
         }
 
         lockAcquire();
-        short iPlaying = MpcPlugin.output->buffer_playing()? 1 : 0;
-        gint iFree = MpcPlugin.output->buffer_free();
-        if (!mpcDecoder.isPause &&  iFree >= ((1152 * 4) << iPlaying))
+        short iPlaying = data->output->buffer_playing()? 1 : 0;
+        gint iFree = data->output->buffer_free();
+        if (!mpcDecoder.isPause && iFree >= ((1152 * 4) << iPlaying))
         {
             unsigned status = processBuffer(data, sampleBuffer, xmmsBuffer, decoder);
             if (status == (unsigned) (-1))
--- a/src/neon/neon.c	Thu Jul 03 17:23:34 2008 +0300
+++ b/src/neon/neon.c	Thu Jul 03 17:37:11 2008 +0300
@@ -212,7 +212,7 @@
  * -----
  */
 
-static void parse_icy(struct icy_metadata* m, gchar* metadata, gint len) {
+static void parse_icy(struct icy_metadata* m, gchar* metadata, gsize len) {
 
     gchar* p;
     gchar* tstart;
@@ -220,7 +220,7 @@
     gchar name[NEON_ICY_BUFSIZE];
     gchar value[NEON_ICY_BUFSIZE];
     gint state;
-    gint pos;
+    gsize pos;
 
     _ENTER;
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/Makefile	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,22 @@
+PLUGIN = psf2${PLUGIN_SUFFIX}
+
+SRCS = corlett.c \
+       plugin.c \
+       psx.c \
+       psx_hw.c \
+       eng_psf.c \
+       eng_psf2.c \
+       eng_spu.c \
+       peops/spu.c \
+       peops2/dma.c \
+       peops2/registers.c \
+       peops2/spu.c \
+
+include ../../buildsys.mk
+include ../../extra.mk
+
+plugindir := ${plugindir}/${INPUT_PLUGIN_DIR}
+
+CFLAGS += ${PLUGIN_CFLAGS} -O0
+CPPFLAGS += ${PLUGIN_CPPFLAGS} ${MOWGLI_CFLAGS} ${GTK_CFLAGS} ${GLIB_CFLAGS}  -I../.. -Ispu/ -I.
+LIBS += ${GTK_LIBS} ${GLIB_LIBS}  ${MOWGLI_LIBS} -lz
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/README	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,21 @@
+psf2 plugin
+-----------
+
+What is this?
+
+It's a PSF2 plugin based on:
+
+ * UPSE
+ * Audio Overload
+ * Highly Experimental
+
+It's under the BSD license, mostly, but it uses code from PeOPS, so it's
+probably GPL.
+
+Does it work?
+
+Yes. But there's bugs. See http://audacious-media-player.org/?title=Audacious2/PSF2Plugin 
+for suggestions on things you can do.
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/ao.h	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,175 @@
+//
+// Audio Overload SDK
+//
+// Fake ao.h to set up the general Audio Overload style environment
+//
+
+#include "../../config.h"
+
+#ifndef __AO_H
+#define __AO_H
+
+#define AO_SUCCESS					1
+#define AO_FAIL						0
+#define AO_FAIL_DECOMPRESSION		-1
+
+#define MAX_DISP_INFO_LENGTH		256
+#define AUDIO_RATE					(44100)
+
+enum
+{
+	COMMAND_NONE = 0,
+	COMMAND_PREV,
+	COMMAND_NEXT,
+	COMMAND_RESTART,
+	COMMAND_HAS_PREV,
+	COMMAND_HAS_NEXT,
+	COMMAND_GET_MIN,
+	COMMAND_GET_MAX,
+	COMMAND_JUMP
+};
+
+/* Compiler defines for Xcode */
+#ifndef WORDS_BIGENDIAN
+	#define LSB_FIRST	1
+#endif
+
+typedef unsigned char ao_bool;
+
+#ifdef __GNUC__
+#include <stddef.h>	// get NULL
+#include <stdbool.h>
+
+#ifndef nil
+#define nil NULL
+#endif
+
+#ifndef TRUE
+#define TRUE  (1)
+#endif
+#ifndef FALSE
+#define FALSE (0)
+#endif
+
+#define xmalloc(a) malloc(a)
+
+#endif
+
+#ifdef _MSC_VER
+#include <stddef.h>	// get NULL
+#include <wchar.h> // for off_t
+
+#ifndef nil
+#define nil NULL
+#endif
+
+#ifndef TRUE
+#define TRUE  (1)
+#endif
+#ifndef FALSE
+#define FALSE (0)
+#endif
+
+#define true (1)
+#define false (0)
+
+#define xmalloc(a) malloc(a)
+
+#define strcasecmp _strcmpi
+
+#endif
+
+#ifndef PATH_MAX
+#define PATH_MAX	2048
+#endif
+
+typedef unsigned char		uint8;
+typedef unsigned char		UINT8;
+typedef signed char			int8;
+typedef signed char			INT8;
+typedef unsigned short		uint16;
+typedef unsigned short		UINT16;
+typedef signed short		int16;
+typedef signed short		INT16;
+typedef signed int			int32;
+typedef unsigned int		uint32;
+#ifdef LONG_IS_64BIT
+typedef signed long             int64;
+typedef unsigned long           uint64;
+#else
+typedef signed long long	int64;
+typedef unsigned long long	uint64;
+#endif
+
+#ifdef WIN32
+#ifndef _BASETSD_H
+typedef signed int			INT32;
+typedef unsigned int		UINT32;
+typedef signed long long	INT64;
+typedef unsigned long long	UINT64;
+#endif
+#else
+typedef signed int			INT32;
+typedef unsigned int		UINT32;
+#ifdef LONG_IS_64BIT
+typedef signed long         INT64;
+typedef unsigned long       UINT64;
+#else
+typedef signed long long	INT64;
+typedef unsigned long long	UINT64;
+#endif
+#endif
+
+#ifndef INLINE
+#if defined(_MSC_VER)
+#define INLINE __forceinline
+#elif defined(__GNUC__)
+#define INLINE __inline__
+#elif defined(_MWERKS_)
+#define INLINE inline
+#elif defined(__powerc)
+#define INLINE inline
+#else
+#define INLINE
+#endif
+#endif
+
+#if LSB_FIRST
+#define LE16(x) (x)
+#define LE32(x) (x)
+
+#ifndef __ENDIAN__ /* Mac OS X Endian header has this function in it */
+static unsigned long INLINE Endian32_Swap(unsigned long addr)
+{
+	unsigned long res = (((addr&0xff000000)>>24) |
+		 ((addr&0x00ff0000)>>8) |
+		 ((addr&0x0000ff00)<<8) |
+		 ((addr&0x000000ff)<<24));
+
+	return res;
+}
+#endif
+
+#else
+
+static unsigned short INLINE LE16(unsigned short x)
+{
+	unsigned short res = (((x & 0xFF00) >> 8) | ((x & 0xFF) << 8));
+	return res;
+}
+
+static unsigned long INLINE LE32(unsigned long addr)
+{
+	unsigned long res = (((addr&0xff000000)>>24) |
+		 ((addr&0x00ff0000)>>8) |
+		 ((addr&0x0000ff00)<<8) |
+		 ((addr&0x000000ff)<<24));
+
+	return res;
+}
+
+#endif
+
+int ao_get_lib(char *filename, uint8 **buffer, uint64 *length);
+
+#endif // AO_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/corlett.c	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,381 @@
+/*
+
+	Audio Overload SDK
+
+	Copyright (c) 2007-2008, R. Belmont and Richard Bannister.
+
+	All rights reserved.
+
+	Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+	* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+	* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+	* Neither the names of R. Belmont and Richard Bannister nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+	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.
+*/
+
+// corlett.c
+
+// Decodes file format designed by Neill Corlett (PSF, QSF, ...)
+
+/*
+ - First 3 bytes: ASCII signature: "PSF" (case sensitive)
+
+- Next 1 byte: Version byte
+  The version byte is used to determine the type of PSF file.  It does NOT
+  affect the basic structure of the file in any way.
+
+  Currently accepted version bytes are:
+    0x01: Playstation (PSF1)
+    0x02: Playstation 2 (PSF2)
+    0x11: Saturn (SSF) [TENTATIVE]
+    0x12: Dreamcast (DSF) [TENTATIVE]
+    0x21: Nintendo 64 (USF) [RESERVED]
+    0x41: Capcom QSound (QSF)
+
+- Next 4 bytes: Size of reserved area (R), little-endian unsigned long
+
+- Next 4 bytes: Compressed program length (N), little-endian unsigned long
+  This is the length of the program data _after_ compression.
+
+- Next 4 bytes: Compressed program CRC-32, little-endian unsigned long
+  This is the CRC-32 of the program data _after_ compression.  Filling in
+  this value is mandatory, as a PSF file may be regarded as corrupt if it
+  does not match.
+
+- Next R bytes: Reserved area.
+  May be empty if R is 0 bytes.
+
+- Next N bytes: Compressed program, in zlib compress() format.
+  May be empty if N is 0 bytes.
+
+The following data is optional and may be omitted:
+
+- Next 5 bytes: ASCII signature: "[TAG]" (case sensitive)
+  If these 5 bytes do not match, then the remainder of the file may be
+  regarded as invalid and discarded.
+
+- Remainder of file: Uncompressed ASCII tag data.
+*/
+
+#include <assert.h>
+#include <string.h>
+#include <stdlib.h>
+
+#include "ao.h"
+#include "corlett.h"
+
+#include <zlib.h>
+#include <stdlib.h>
+
+#define DECOMP_MAX_SIZE		((32 * 1024 * 1024) + 12)
+
+int corlett_decode(uint8 *input, uint32 input_len, uint8 **output, uint64 *size, corlett_t **c)
+{
+	uint32 *buf;
+	uint32 res_area, comp_crc,  actual_crc;
+	uint8 *decomp_dat, *tag_dec;
+	uLongf decomp_length, comp_length;
+	
+	// 32-bit pointer to data
+	buf = (uint32 *)input;
+	
+	// Check we have a PSF format file.
+	if ((input[0] != 'P') || (input[1] != 'S') || (input[2] != 'F'))
+	{
+		return AO_FAIL;
+	}
+	
+	// Get our values
+	res_area = LE32(buf[1]);
+	comp_length = LE32(buf[2]);
+	comp_crc = LE32(buf[3]);
+		
+	if (comp_length > 0)
+	{
+		// Check length
+		if (input_len < comp_length + 16)
+			return AO_FAIL;
+	
+		// Check CRC is correct
+		actual_crc = crc32(0, (unsigned char *)&buf[4+(res_area/4)], comp_length);
+		if (actual_crc != comp_crc)
+			return AO_FAIL;
+	
+		// Decompress data if any
+		decomp_dat = malloc(DECOMP_MAX_SIZE);
+		decomp_length = DECOMP_MAX_SIZE;
+		if (uncompress(decomp_dat, &decomp_length, (unsigned char *)&buf[4+(res_area/4)], comp_length) != Z_OK)
+		{
+			free(decomp_dat);
+			return AO_FAIL;
+		}
+	   	
+		// Resize memory buffer to what we actually need
+		decomp_dat = realloc(decomp_dat, (size_t)decomp_length + 1);
+	}
+	else
+	{
+		decomp_dat = NULL;
+		decomp_length =  0;
+	}
+
+	// Make structure
+	*c = malloc(sizeof(corlett_t));
+	if (!(*c))
+	{
+		free(decomp_dat);
+		return AO_FAIL;
+	}
+	memset(*c, 0, sizeof(corlett_t));
+	strcpy((*c)->inf_title, "n/a");
+	strcpy((*c)->inf_copy, "n/a");
+	strcpy((*c)->inf_artist, "n/a");
+	strcpy((*c)->inf_game, "n/a");
+	strcpy((*c)->inf_year, "n/a");
+	strcpy((*c)->inf_length, "n/a");
+	strcpy((*c)->inf_fade, "n/a");
+
+	// set reserved section pointer
+	(*c)->res_section = &buf[4];
+	(*c)->res_size = res_area;
+	
+	// Return it
+	if (output != NULL && size != NULL)
+	{
+		*output = decomp_dat;
+		*size = decomp_length;
+	}
+	else
+		free(decomp_dat);
+
+	// Next check for tags
+	input_len -= (comp_length + 16 + res_area);
+	if (input_len < 5)
+		return AO_SUCCESS;
+		
+//	printf("\n\nNew corlett: input len %d\n", input_len);
+	
+	tag_dec = input + (comp_length + res_area + 16);
+	if ((tag_dec[0] == '[') && (tag_dec[1] == 'T') && (tag_dec[2] == 'A') && (tag_dec[3] == 'G') && (tag_dec[4] == ']'))
+	{
+		int tag, l, num_tags, data;
+		
+		// Tags found!
+		tag_dec += 5;
+		input_len -= 5;
+
+		tag = 0;
+		data = false;
+		num_tags = 0;
+		l = 0;
+		while (input_len && (num_tags < MAX_UNKNOWN_TAGS))
+		{
+			if (data)
+			{
+				if ((*tag_dec == 0xA) || (*tag_dec == 0x00))
+				{
+					(*c)->tag_data[num_tags][l] = 0;
+					data = false;
+					num_tags++;
+					l = 0;
+				}
+				else
+				{
+					(*c)->tag_data[num_tags][l++] = *tag_dec;
+				}
+			}
+			else
+			{
+				if (*tag_dec == '=')
+				{
+					(*c)->tag_name[num_tags][l] = 0;
+					l = 0;
+					data = true;
+				}
+				else
+				{
+					(*c)->tag_name[num_tags][l++] = *tag_dec;
+				}
+			}
+			
+			tag_dec++;
+			input_len--;
+		}
+		
+		
+		// Now, process that tag array into what we expect
+		for (num_tags = 0; num_tags < MAX_UNKNOWN_TAGS; num_tags++)
+		{			
+			// See if tag belongs in one of the special fields we have
+			if (!strcasecmp((*c)->tag_name[num_tags], "_lib"))
+			{
+				strcpy((*c)->lib, (*c)->tag_data[num_tags]);
+				(*c)->tag_data[num_tags][0] = 0;
+				(*c)->tag_name[num_tags][0] = 0;
+			}
+			else if (!strncmp((*c)->tag_name[num_tags], "_lib2", 5))
+			{
+				strcpy((*c)->libaux[0], (*c)->tag_data[num_tags]);
+				(*c)->tag_data[num_tags][0] = 0;
+				(*c)->tag_name[num_tags][0] = 0;
+			}
+			else if (!strncmp((*c)->tag_name[num_tags], "_lib3", 5))
+			{
+				strcpy((*c)->libaux[1], (*c)->tag_data[num_tags]);
+				(*c)->tag_data[num_tags][0] = 0;
+				(*c)->tag_name[num_tags][0] = 0;
+			}
+			else if (!strncmp((*c)->tag_name[num_tags], "_lib4", 5))
+			{
+				strcpy((*c)->libaux[2], (*c)->tag_data[num_tags]);
+				(*c)->tag_data[num_tags][0] = 0;
+				(*c)->tag_name[num_tags][0] = 0;
+			}
+			else if (!strncmp((*c)->tag_name[num_tags], "_lib5", 5))
+			{
+				strcpy((*c)->libaux[3], (*c)->tag_data[num_tags]);
+				(*c)->tag_data[num_tags][0] = 0;
+				(*c)->tag_name[num_tags][0] = 0;
+			}
+			else if (!strncmp((*c)->tag_name[num_tags], "_lib6", 5))
+			{
+				strcpy((*c)->libaux[4], (*c)->tag_data[num_tags]);
+				(*c)->tag_data[num_tags][0] = 0;
+				(*c)->tag_name[num_tags][0] = 0;
+			}
+			else if (!strncmp((*c)->tag_name[num_tags], "_lib7", 5))
+			{
+				strcpy((*c)->libaux[5], (*c)->tag_data[num_tags]);
+				(*c)->tag_data[num_tags][0] = 0;
+				(*c)->tag_name[num_tags][0] = 0;
+			}
+			else if (!strncmp((*c)->tag_name[num_tags], "_lib8", 5))
+			{
+				strcpy((*c)->libaux[6], (*c)->tag_data[num_tags]);
+				(*c)->tag_data[num_tags][0] = 0;
+				(*c)->tag_name[num_tags][0] = 0;
+			}
+			else if (!strncmp((*c)->tag_name[num_tags], "_lib9", 5))
+			{
+				strcpy((*c)->libaux[7], (*c)->tag_data[num_tags]);
+				(*c)->tag_data[num_tags][0] = 0;
+				(*c)->tag_name[num_tags][0] = 0;
+			}
+			else if (!strncmp((*c)->tag_name[num_tags], "_refresh", 8))
+			{
+				strcpy((*c)->inf_refresh, (*c)->tag_data[num_tags]);
+				(*c)->tag_data[num_tags][0] = 0;
+				(*c)->tag_name[num_tags][0] = 0;
+			}
+			else if (!strncmp((*c)->tag_name[num_tags], "title", 5))
+			{
+				strcpy((*c)->inf_title, (*c)->tag_data[num_tags]);
+				(*c)->tag_data[num_tags][0] = 0;
+				(*c)->tag_name[num_tags][0] = 0;
+			}
+			else if (!strncmp((*c)->tag_name[num_tags], "copyright", 9))
+			{
+				strcpy((*c)->inf_copy, (*c)->tag_data[num_tags]);
+				(*c)->tag_data[num_tags][0] = 0;
+				(*c)->tag_name[num_tags][0] = 0;
+			}
+			else if (!strncmp((*c)->tag_name[num_tags], "artist", 6))
+			{
+				strcpy((*c)->inf_artist, (*c)->tag_data[num_tags]);
+				(*c)->tag_data[num_tags][0] = 0;
+				(*c)->tag_name[num_tags][0] = 0;
+			}
+			else if (!strncmp((*c)->tag_name[num_tags], "game", 4))
+			{
+				strcpy((*c)->inf_game, (*c)->tag_data[num_tags]);
+				(*c)->tag_data[num_tags][0] = 0;
+				(*c)->tag_name[num_tags][0] = 0;
+			}
+			else if (!strncmp((*c)->tag_name[num_tags], "year", 4))
+			{
+				strcpy((*c)->inf_year, (*c)->tag_data[num_tags]);
+				(*c)->tag_data[num_tags][0] = 0;
+				(*c)->tag_name[num_tags][0] = 0;
+			}
+			else if (!strncmp((*c)->tag_name[num_tags], "length", 6))
+			{
+				strcpy((*c)->inf_length, (*c)->tag_data[num_tags]);
+				(*c)->tag_data[num_tags][0] = 0;
+				(*c)->tag_name[num_tags][0] = 0;
+			}
+			else if (!strncmp((*c)->tag_name[num_tags], "fade", 4))
+			{
+				strcpy((*c)->inf_fade, (*c)->tag_data[num_tags]);
+				(*c)->tag_data[num_tags][0] = 0;
+				(*c)->tag_name[num_tags][0] = 0;
+			}
+		}
+	}
+	
+	// Bingo
+	return AO_SUCCESS;
+}
+
+uint32 psfTimeToMS(char *str)
+{
+	int x, c=0;
+	uint32 acc=0;
+	char s[100];
+
+	strncpy(s,str,100);
+	s[99]=0;
+
+	for (x=strlen(s); x>=0; x--)
+	{
+		if (s[x]=='.' || s[x]==',')
+		{
+			acc=atoi(s+x+1);
+			s[x]=0;
+		}
+		else if (s[x]==':')
+		{
+			if(c==0) 
+			{
+				acc+=atoi(s+x+1)*10;
+			}
+			else if(c==1) 
+			{
+				acc+=atoi(s+x+(x?1:0))*10*60;
+			}
+
+			c++;
+			s[x]=0;
+		}
+		else if (x==0)
+		{
+			if(c==0)
+			{ 
+				acc+=atoi(s+x)*10;
+			}
+			else if(c==1) 
+			{
+				acc+=atoi(s+x)*10*60;
+			}
+			else if(c==2) 
+			{
+				acc+=atoi(s+x)*10*60*60;
+			}
+		}
+	}
+
+	acc*=100;
+	return(acc);
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/corlett.h	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,35 @@
+//
+// Audio Overload
+// Emulated music player
+//
+// (C) 2000-2008 Richard F. Bannister
+//
+
+// corlett.h
+
+#define MAX_UNKNOWN_TAGS			32
+
+typedef struct {
+	char lib[256];
+	char libaux[8][256];
+	
+	char inf_title[256];
+	char inf_copy[256];
+	char inf_artist[256];
+	char inf_game[256];
+	char inf_year[256];
+	char inf_length[256];
+	char inf_fade[256];
+
+	char inf_refresh[256];
+	
+	char tag_name[MAX_UNKNOWN_TAGS][256];
+	char tag_data[MAX_UNKNOWN_TAGS][256];
+
+	uint32 *res_section;
+	uint32 res_size;
+} corlett_t;
+
+int corlett_decode(uint8 *input, uint32 input_len, uint8 **output, uint64 *size, corlett_t **c);
+uint32 psfTimeToMS(char *str);
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/cpuintrf.h	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,668 @@
+#ifndef CPUINTRF_H
+#define CPUINTRF_H
+
+#include "osd_cpu.h"
+
+/* The old system is obsolete and no longer supported by the core */
+#define NEW_INTERRUPT_SYSTEM    1
+
+#define MAX_IRQ_LINES   8       /* maximum number of IRQ lines per CPU */
+
+#define CLEAR_LINE		0		/* clear (a fired, held or pulsed) line */
+#define ASSERT_LINE     1       /* assert an interrupt immediately */
+#define HOLD_LINE       2       /* hold interrupt line until enable is true */
+#define PULSE_LINE		3		/* pulse interrupt line for one instruction */
+
+#define MAX_REGS		64		/* maximum number of register of any CPU */
+
+#define	IRQ_LINE_NMI	10
+/* Values passed to the cpu_info function of a core to retrieve information */
+enum {
+	CPU_INFO_REG,
+	CPU_INFO_FLAGS=MAX_REGS,
+	CPU_INFO_NAME,
+    CPU_INFO_FAMILY,
+    CPU_INFO_VERSION,
+    CPU_INFO_FILE,
+    CPU_INFO_CREDITS,
+    CPU_INFO_REG_LAYOUT,
+	CPU_INFO_WIN_LAYOUT
+};
+
+#define CPU_IS_LE		0	/* emulated CPU is little endian */
+#define CPU_IS_BE		1	/* emulated CPU is big endian */
+
+/*
+ * This value is passed to cpu_get_reg to retrieve the previous
+ * program counter value, ie. before a CPU emulation started
+ * to fetch opcodes and arguments for the current instrution.
+ */
+#define REG_PREVIOUSPC	-1
+
+/*
+ * This value is passed to cpu_get_reg/cpu_set_reg, instead of one of
+ * the names from the enum a CPU core defines for it's registers,
+ * to get or set the contents of the memory pointed to by a stack pointer.
+ * You can specify the n'th element on the stack by (REG_SP_CONTENTS-n),
+ * ie. lower negative values. The actual element size (UINT16 or UINT32)
+ * depends on the CPU core.
+ * This is also used to replace the cpu_geturnpc() function.
+ */
+#define REG_SP_CONTENTS -2
+
+/*
+ * These flags can be defined in the makefile (or project) to
+ * exclude (zero) or include (non zero) specific CPU cores
+ */
+#ifndef HAS_GENSYNC
+#define HAS_GENSYNC		0
+#endif
+#ifndef HAS_Z80
+#define HAS_Z80 		0
+#endif
+#ifndef HAS_Z80_VM
+#define HAS_Z80_VM		0
+#endif
+#ifndef HAS_8080
+#define HAS_8080		0
+#endif
+#ifndef HAS_8085A
+#define HAS_8085A		0
+#endif
+#ifndef HAS_M6502
+#define HAS_M6502		0
+#endif
+#ifndef HAS_M65C02
+#define HAS_M65C02		0
+#endif
+#ifndef HAS_M65SC02
+#define HAS_M65SC02		0
+#endif
+#ifndef HAS_M65CE02
+#define HAS_M65CE02		0
+#endif
+#ifndef HAS_M6509
+#define HAS_M6509		0
+#endif
+#ifndef HAS_M6510
+#define HAS_M6510		0
+#endif
+#ifndef HAS_N2A03
+#define HAS_N2A03		0
+#endif
+#ifndef HAS_H6280
+#define HAS_H6280		0
+#endif
+#ifndef HAS_I86
+#define HAS_I86 		0
+#endif
+#ifndef HAS_V20
+#define HAS_V20 		0
+#endif
+#ifndef HAS_V30
+#define HAS_V30 		0
+#endif
+#ifndef HAS_V33
+#define HAS_V33 		0
+#endif
+#ifndef HAS_I8035
+#define HAS_I8035		0
+#endif
+#ifndef HAS_I8039
+#define HAS_I8039		0
+#endif
+#ifndef HAS_I8048
+#define HAS_I8048		0
+#endif
+#ifndef HAS_N7751
+#define HAS_N7751		0
+#endif
+#ifndef HAS_M6800
+#define HAS_M6800		0
+#endif
+#ifndef HAS_M6801
+#define HAS_M6801		0
+#endif
+#ifndef HAS_M6802
+#define HAS_M6802		0
+#endif
+#ifndef HAS_M6803
+#define HAS_M6803		0
+#endif
+#ifndef HAS_M6808
+#define HAS_M6808		0
+#endif
+#ifndef HAS_HD63701
+#define HAS_HD63701 	0
+#endif
+#ifndef HAS_M6805
+#define HAS_M6805		0
+#endif
+#ifndef HAS_M68705
+#define HAS_M68705		0
+#endif
+#ifndef HAS_HD63705
+#define HAS_HD63705 	0
+#endif
+#ifndef HAS_HD6309
+#define HAS_HD6309		0
+#endif
+#ifndef HAS_M6809
+#define HAS_M6809		0
+#endif
+#ifndef HAS_KONAMI
+#define HAS_KONAMI		0
+#endif
+#ifndef HAS_M68000
+#define HAS_M68000		0
+#endif
+#ifndef HAS_M68010
+#define HAS_M68010		0
+#endif
+#ifndef HAS_M68020
+#define HAS_M68020		0
+#endif
+#ifndef HAS_T11
+#define HAS_T11 		0
+#endif
+#ifndef HAS_S2650
+#define HAS_S2650		0
+#endif
+#ifndef HAS_TMS34010
+#define HAS_TMS34010	0
+#endif
+#ifndef HAS_TMS9900
+#define HAS_TMS9900 	0
+#endif
+#ifndef HAS_TMS9940
+#define HAS_TMS9940 	0
+#endif
+#ifndef HAS_TMS9980
+#define HAS_TMS9980 	0
+#endif
+#ifndef HAS_TMS9985
+#define HAS_TMS9985 	0
+#endif
+#ifndef HAS_TMS9989
+#define HAS_TMS9989 	0
+#endif
+#ifndef HAS_TMS9995
+#define HAS_TMS9995 	0
+#endif
+#ifndef HAS_TMS99105A
+#define HAS_TMS99105A 	0
+#endif
+#ifndef HAS_TMS99110A
+#define HAS_TMS99110A 	0
+#endif
+#ifndef HAS_Z8000
+#define HAS_Z8000		0
+#endif
+#ifndef HAS_TMS320C10
+#define HAS_TMS320C10	0
+#endif
+#ifndef HAS_CCPU
+#define HAS_CCPU		0
+#endif
+#ifndef HAS_PDP1
+#define HAS_PDP1		0
+#endif
+#ifndef HAS_ADSP2100
+#define HAS_ADSP2100	0
+#endif
+
+/* ASG 971222 -- added this generic structure */
+struct cpu_interface
+{
+    unsigned cpu_num;
+    void (*reset)(void *param);
+    void (*exit)(void);
+    int (*execute)(int cycles);
+    void (*burn)(int cycles);
+    unsigned (*get_context)(void *reg);
+    void (*set_context)(void *reg);
+    unsigned (*get_pc)(void);
+    void (*set_pc)(unsigned val);
+    unsigned (*get_sp)(void);
+    void (*set_sp)(unsigned val);
+    unsigned (*get_reg)(int regnum);
+    void (*set_reg)(int regnum, unsigned val);
+    void (*set_nmi_line)(int linestate);
+    void (*set_irq_line)(int irqline, int linestate);
+    void (*set_irq_callback)(int(*callback)(int irqline));
+    void (*internal_interrupt)(int type);
+    void (*cpu_state_save)(void *file);
+    void (*cpu_state_load)(void *file);
+    const char* (*cpu_info)(void *context,int regnum);
+    unsigned (*cpu_dasm)(char *buffer,unsigned pc);
+	unsigned num_irqs;
+	int default_vector;
+    int *icount;
+    double overclock;
+    int no_int, irq_int, nmi_int;
+    int (*memory_read)(int offset);
+    void (*memory_write)(int offset, int data);
+    void (*set_op_base)(int pc);
+	int address_shift;
+	unsigned address_bits, endianess, align_unit, max_inst_len;
+    unsigned abits1, abits2, abitsmin;
+};
+
+extern struct cpu_interface cpuintf[];
+
+void cpu_init(void);
+void cpu_run(void);
+
+/* optional watchdog */
+void watchdog_reset_w(int offset,int data);
+int watchdog_reset_r(int offset);
+/* Use this function to reset the machine */
+void machine_reset(void);
+/* Use this function to reset a single CPU */
+void cpu_set_reset_line(int cpu,int state);
+/* Use this function to halt a single CPU */
+void cpu_set_halt_line(int cpu,int state);
+
+/* This function returns CPUNUM current status (running or halted) */
+int cpu_getstatus(int cpunum);
+int cpu_gettotalcpu(void);
+int cpu_getactivecpu(void);
+void cpu_setactivecpu(int cpunum);
+
+/* Returns the current program counter */
+unsigned cpu_get_pc(void);
+/* Set the current program counter */
+void cpu_set_pc(unsigned val);
+
+/* Returns the current stack pointer */
+unsigned cpu_get_sp(void);
+/* Set the current stack pointer */
+void cpu_set_sp(unsigned val);
+
+/* Get the active CPUs context and return it's size */
+unsigned cpu_get_context(void *context);
+/* Set the active CPUs context */
+void cpu_set_context(void *context);
+
+/* Returns a specific register value (mamedbg) */
+unsigned cpu_get_reg(int regnum);
+/* Sets a specific register value (mamedbg) */
+void cpu_set_reg(int regnum, unsigned val);
+
+/* Returns previous pc (start of opcode causing read/write) */
+/* int cpu_getpreviouspc(void); */
+#define cpu_getpreviouspc() cpu_get_reg(REG_PREVIOUSPC)
+
+/* Returns the return address from the top of the stack (Z80 only) */
+/* int cpu_getreturnpc(void); */
+/* This can now be handled with a generic function */
+#define cpu_geturnpc() cpu_get_reg(REG_SP_CONTENTS)
+
+int cycles_currently_ran(void);
+int cycles_left_to_run(void);
+
+/* Returns the number of CPU cycles which take place in one video frame */
+int cpu_gettotalcycles(void);
+/* Returns the number of CPU cycles before the next interrupt handler call */
+int cpu_geticount(void);
+/* Returns the number of CPU cycles before the end of the current video frame */
+int cpu_getfcount(void);
+/* Returns the number of CPU cycles in one video frame */
+int cpu_getfperiod(void);
+/* Scales a given value by the ratio of fcount / fperiod */
+int cpu_scalebyfcount(int value);
+/* Returns the current scanline number */
+int cpu_getscanline(void);
+/* Returns the amount of time until a given scanline */
+double cpu_getscanlinetime(int scanline);
+/* Returns the duration of a single scanline */
+double cpu_getscanlineperiod(void);
+/* Returns the duration of a single scanline in cycles */
+int cpu_getscanlinecycles(void);
+/* Returns the number of cycles since the beginning of this frame */
+int cpu_getcurrentcycles(void);
+/* Returns the current horizontal beam position in pixels */
+int cpu_gethorzbeampos(void);
+/*
+  Returns the number of times the interrupt handler will be called before
+  the end of the current video frame. This is can be useful to interrupt
+  handlers to synchronize their operation. If you call this from outside
+  an interrupt handler, add 1 to the result, i.e. if it returns 0, it means
+  that the interrupt handler will be called once.
+*/
+int cpu_getiloops(void);
+
+/* Returns the current VBLANK state */
+int cpu_getvblank(void);
+
+/* Returns the number of the video frame we are currently playing */
+int cpu_getcurrentframe(void);
+
+
+/* generate a trigger after a specific period of time */
+void cpu_triggertime (double duration, int trigger);
+/* generate a trigger now */
+void cpu_trigger (int trigger);
+
+/* burn CPU cycles until a timer trigger */
+void cpu_spinuntil_trigger (int trigger);
+/* burn CPU cycles until the next interrupt */
+void cpu_spinuntil_int (void);
+/* burn CPU cycles until our timeslice is up */
+void cpu_spin (void);
+/* burn CPU cycles for a specific period of time */
+void cpu_spinuntil_time (double duration);
+
+/* yield our timeslice for a specific period of time */
+void cpu_yielduntil_trigger (int trigger);
+/* yield our timeslice until the next interrupt */
+void cpu_yielduntil_int (void);
+/* yield our current timeslice */
+void cpu_yield (void);
+/* yield our timeslice for a specific period of time */
+void cpu_yielduntil_time (double duration);
+
+/* set the NMI line state for a CPU, normally use PULSE_LINE */
+void cpu_set_nmi_line(int cpunum, int state);
+/* set the IRQ line state for a specific irq line of a CPU */
+/* normally use state HOLD_LINE, irqline 0 for first IRQ type of a cpu */
+void cpu_set_irq_line(int cpunum, int irqline, int state);
+/* this is to be called by CPU cores only! */
+void cpu_generate_internal_interrupt(int cpunum, int type);
+/* set the vector to be returned during a CPU's interrupt acknowledge cycle */
+void cpu_irq_line_vector_w(int cpunum, int irqline, int vector);
+
+/* use these in your write memory/port handles to set an IRQ vector */
+/* offset corresponds to the irq line number here */
+void cpu_0_irq_line_vector_w(int offset, int data);
+void cpu_1_irq_line_vector_w(int offset, int data);
+void cpu_2_irq_line_vector_w(int offset, int data);
+void cpu_3_irq_line_vector_w(int offset, int data);
+void cpu_4_irq_line_vector_w(int offset, int data);
+void cpu_5_irq_line_vector_w(int offset, int data);
+void cpu_6_irq_line_vector_w(int offset, int data);
+void cpu_7_irq_line_vector_w(int offset, int data);
+
+/* Obsolete functions: avoid to use them in new drivers if possible. */
+
+/* cause an interrupt on a CPU */
+void cpu_cause_interrupt(int cpu,int type);
+void cpu_clear_pending_interrupts(int cpu);
+void interrupt_enable_w(int offset,int data);
+void interrupt_vector_w(int offset,int data);
+int interrupt(void);
+int nmi_interrupt(void);
+int m68_level1_irq(void);
+int m68_level2_irq(void);
+int m68_level3_irq(void);
+int m68_level4_irq(void);
+int m68_level5_irq(void);
+int m68_level6_irq(void);
+int m68_level7_irq(void);
+int ignore_interrupt(void);
+
+/* CPU context access */
+void* cpu_getcontext (int _activecpu);
+int cpu_is_saving_context(int _activecpu);
+
+/***************************************************************************
+ * Get information for the currently active CPU
+ * cputype is a value from the CPU enum in driver.h
+ ***************************************************************************/
+/* Return number of address bits */
+unsigned cpu_address_bits(void);
+/* Return address mask */
+unsigned cpu_address_mask(void);
+/* Return address shift factor (TMS34010 bit addressing mode) */
+int cpu_address_shift(void);
+/* Return endianess of the emulated CPU (CPU_IS_LE or CPU_IS_BE) */
+unsigned cpu_endianess(void);
+/* Return opcode align unit (1 byte, 2 word, 4 dword) */
+unsigned cpu_align_unit(void);
+/* Return maximum instruction length */
+unsigned cpu_max_inst_len(void);
+
+/* Return name of the active CPU */
+const char *cpu_name(void);
+/* Return family name of the active CPU */
+const char *cpu_core_family(void);
+/* Return core version of the active CPU */
+const char *cpu_core_version(void);
+/* Return core filename of the active CPU */
+const char *cpu_core_file(void);
+/* Return credits info for of the active CPU */
+const char *cpu_core_credits(void);
+/* Return register layout definition for the active CPU */
+const char *cpu_reg_layout(void);
+/* Return (debugger) window layout definition for the active CPU */
+const char *cpu_win_layout(void);
+
+/* Disassemble an instruction at PC into the given buffer */
+unsigned cpu_dasm(char *buffer, unsigned pc);
+/* Return a string describing the currently set flag (status) bits of the active CPU */
+const char *cpu_flags(void);
+/* Return a string with a register name and hex value for the active CPU */
+/* regnum is a value defined in the CPU cores header files */
+const char *cpu_dump_reg(int regnum);
+/* Return a string describing the active CPUs current state */
+const char *cpu_dump_state(void);
+
+/***************************************************************************
+ * Get information for a specific CPU type
+ * cputype is a value from the CPU enum in driver.h
+ ***************************************************************************/
+/* Return address shift factor */
+/* TMS320C10 -1: word addressing mode, TMS34010 3: bit addressing mode */
+int cputype_address_shift(int cputype);
+/* Return number of address bits */
+unsigned cputype_address_bits(int cputype);
+/* Return address mask */
+unsigned cputype_address_mask(int cputype);
+/* Return endianess of the emulated CPU (CPU_IS_LE or CPU_IS_BE) */
+unsigned cputype_endianess(int cputype);
+/* Return opcode align unit (1 byte, 2 word, 4 dword) */
+unsigned cputype_align_unit(int cputype);
+/* Return maximum instruction length */
+unsigned cputype_max_inst_len(int cputype);
+
+/* Return name of the CPU */
+const char *cputype_name(int cputype);
+/* Return family name of the CPU */
+const char *cputype_core_family(int cputype);
+/* Return core version number of the CPU */
+const char *cputype_core_version(int cputype);
+/* Return core filename of the CPU */
+const char *cputype_core_file(int cputype);
+/* Return credits for the CPU core */
+const char *cputype_core_credits(int cputype);
+/* Return register layout definition for the CPU core */
+const char *cputype_reg_layout(int cputype);
+/* Return (debugger) window layout definition for the CPU core */
+const char *cputype_win_layout(int cputype);
+
+/***************************************************************************
+ * Get (or set) information for a numbered CPU of the running machine
+ * cpunum is a value between 0 and cpu_gettotalcpu() - 1
+ ***************************************************************************/
+/* Return number of address bits */
+unsigned cpunum_address_bits(int cputype);
+/* Return address mask */
+unsigned cpunum_address_mask(int cputype);
+/* Return endianess of the emulated CPU (CPU_LSB_FIRST or CPU_MSB_FIRST) */
+unsigned cpunum_endianess(int cputype);
+/* Return opcode align unit (1 byte, 2 word, 4 dword) */
+unsigned cpunum_align_unit(int cputype);
+/* Return maximum instruction length */
+unsigned cpunum_max_inst_len(int cputype);
+
+/* Get a register value for the specified CPU number of the running machine */
+unsigned cpunum_get_reg(int cpunum, int regnum);
+/* Set a register value for the specified CPU number of the running machine */
+void cpunum_set_reg(int cpunum, int regnum, unsigned val);
+
+/* Return (debugger) register layout definition for the CPU core */
+const char *cpunum_reg_layout(int cpunum);
+/* Return (debugger) window layout definition for the CPU core */
+const char *cpunum_win_layout(int cpunum);
+
+unsigned cpunum_dasm(int cpunum,char *buffer,unsigned pc);
+/* Return a string describing the currently set flag (status) bits of the CPU */
+const char *cpunum_flags(int cpunum);
+/* Return a string with a register name and value */
+/* regnum is a value defined in the CPU cores header files */
+const char *cpunum_dump_reg(int cpunum, int regnum);
+/* Return a string describing the CPUs current state */
+const char *cpunum_dump_state(int cpunum);
+/* Return a name for the specified cpu number */
+const char *cpunum_name(int cpunum);
+/* Return a family name for the specified cpu number */
+const char *cpunum_core_family(int cpunum);
+/* Return a version for the specified cpu number */
+const char *cpunum_core_version(int cpunum);
+/* Return a the source filename for the specified cpu number */
+const char *cpunum_core_file(int cpunum);
+/* Return a the credits for the specified cpu number */
+const char *cpunum_core_credits(int cpunum);
+
+/* Dump all of the running machines CPUs state to stderr */
+void cpu_dump_states(void);
+
+/* daisy-chain link */
+typedef struct {
+    void (*reset)(int);             /* reset callback     */
+    int  (*interrupt_entry)(int);   /* entry callback     */
+    void (*interrupt_reti)(int);    /* reti callback      */
+    int irq_param;                  /* callback paramater */
+}	Z80_DaisyChain;
+
+#define Z80_MAXDAISY	4		/* maximum of daisy chan device */
+
+#define Z80_INT_REQ     0x01    /* interrupt request mask       */
+#define Z80_INT_IEO     0x02    /* interrupt disable mask(IEO)  */
+
+#define Z80_VECTOR(device,state) (((device)<<8)|(state))
+
+#ifndef INLINE
+#define INLINE 		inline
+#endif
+
+#include <string.h>
+#include <stdlib.h>
+#include <stdio.h>
+
+#define cpu_readmem16		memory_read
+#define cpu_readport16		memory_readport
+#define cpu_writeport16		memory_writeport
+#define cpu_writemem16		memory_write
+#define cpu_readop			memory_readop
+#define cpu_readop_arg		memory_read
+#define logerror(x, ...)
+#define change_pc16(x)
+#define CALL_MAME_DEBUG
+
+#define ADDRESS_SPACES			3						/* maximum number of address spaces */
+#define ADDRESS_SPACE_PROGRAM	0						/* program address space */
+#define ADDRESS_SPACE_DATA		1						/* data address space */
+#define ADDRESS_SPACE_IO		2						/* I/O address space */
+
+enum
+{
+	/* internal flags (not for use by drivers!) */
+	INTERNAL_CLEAR_LINE = 100 + CLEAR_LINE,
+	INTERNAL_ASSERT_LINE = 100 + ASSERT_LINE,
+
+	/* input lines */
+	MAX_INPUT_LINES = 32+3,
+	INPUT_LINE_IRQ0 = 0,
+	INPUT_LINE_IRQ1 = 1,
+	INPUT_LINE_IRQ2 = 2,
+	INPUT_LINE_IRQ3 = 3,
+	INPUT_LINE_IRQ4 = 4,
+	INPUT_LINE_IRQ5 = 5,
+	INPUT_LINE_IRQ6 = 6,
+	INPUT_LINE_IRQ7 = 7,
+	INPUT_LINE_IRQ8 = 8,
+	INPUT_LINE_IRQ9 = 9,
+	INPUT_LINE_NMI = MAX_INPUT_LINES - 3,
+
+	/* special input lines that are implemented in the core */
+	INPUT_LINE_RESET = MAX_INPUT_LINES - 2,
+	INPUT_LINE_HALT = MAX_INPUT_LINES - 1,
+
+	/* output lines */
+	MAX_OUTPUT_LINES = 32
+};
+
+enum
+{
+	/* --- the following bits of info are returned as 64-bit signed integers --- */
+	CPUINFO_INT_FIRST = 0x00000,
+
+	CPUINFO_INT_CONTEXT_SIZE = CPUINFO_INT_FIRST,		/* R/O: size of CPU context in bytes */
+	CPUINFO_INT_INPUT_LINES,							/* R/O: number of input lines */
+	CPUINFO_INT_OUTPUT_LINES,							/* R/O: number of output lines */
+	CPUINFO_INT_DEFAULT_IRQ_VECTOR,						/* R/O: default IRQ vector */
+	CPUINFO_INT_ENDIANNESS,								/* R/O: either CPU_IS_BE or CPU_IS_LE */
+	CPUINFO_INT_CLOCK_DIVIDER,							/* R/O: internal clock divider */
+	CPUINFO_INT_MIN_INSTRUCTION_BYTES,					/* R/O: minimum bytes per instruction */
+	CPUINFO_INT_MAX_INSTRUCTION_BYTES,					/* R/O: maximum bytes per instruction */
+	CPUINFO_INT_MIN_CYCLES,								/* R/O: minimum cycles for a single instruction */
+	CPUINFO_INT_MAX_CYCLES,								/* R/O: maximum cycles for a single instruction */
+
+	CPUINFO_INT_DATABUS_WIDTH,							/* R/O: data bus size for each address space (8,16,32,64) */
+	CPUINFO_INT_DATABUS_WIDTH_LAST = CPUINFO_INT_DATABUS_WIDTH + ADDRESS_SPACES - 1,
+	CPUINFO_INT_ADDRBUS_WIDTH,							/* R/O: address bus size for each address space (12-32) */
+	CPUINFO_INT_ADDRBUS_WIDTH_LAST = CPUINFO_INT_ADDRBUS_WIDTH + ADDRESS_SPACES - 1,
+	CPUINFO_INT_ADDRBUS_SHIFT,							/* R/O: shift applied to addresses each address space (+3 means >>3, -1 means <<1) */
+	CPUINFO_INT_ADDRBUS_SHIFT_LAST = CPUINFO_INT_ADDRBUS_SHIFT + ADDRESS_SPACES - 1,
+
+	CPUINFO_INT_SP,										/* R/W: the current stack pointer value */
+	CPUINFO_INT_PC,										/* R/W: the current PC value */
+	CPUINFO_INT_PREVIOUSPC,								/* R/W: the previous PC value */
+	CPUINFO_INT_INPUT_STATE,							/* R/W: states for each input line */
+	CPUINFO_INT_INPUT_STATE_LAST = CPUINFO_INT_INPUT_STATE + MAX_INPUT_LINES - 1,
+	CPUINFO_INT_OUTPUT_STATE,							/* R/W: states for each output line */
+	CPUINFO_INT_OUTPUT_STATE_LAST = CPUINFO_INT_OUTPUT_STATE + MAX_OUTPUT_LINES - 1,
+	CPUINFO_INT_REGISTER,								/* R/W: values of up to MAX_REGs registers */
+	CPUINFO_INT_REGISTER_LAST = CPUINFO_INT_REGISTER + MAX_REGS - 1,
+
+	CPUINFO_INT_CPU_SPECIFIC = 0x08000,					/* R/W: CPU-specific values start here */
+
+	/* --- the following bits of info are returned as pointers to data or functions --- */
+	CPUINFO_PTR_FIRST = 0x10000,
+
+	CPUINFO_PTR_SET_INFO = CPUINFO_PTR_FIRST,			/* R/O: void (*set_info)(UINT32 state, INT64 data, void *ptr) */
+	CPUINFO_PTR_GET_CONTEXT,							/* R/O: void (*get_context)(void *buffer) */
+	CPUINFO_PTR_SET_CONTEXT,							/* R/O: void (*set_context)(void *buffer) */
+	CPUINFO_PTR_INIT,									/* R/O: void (*init)(void) */
+	CPUINFO_PTR_RESET,									/* R/O: void (*reset)(void *param) */
+	CPUINFO_PTR_EXIT,									/* R/O: void (*exit)(void) */
+	CPUINFO_PTR_EXECUTE,								/* R/O: int (*execute)(int cycles) */
+	CPUINFO_PTR_BURN,									/* R/O: void (*burn)(int cycles) */
+	CPUINFO_PTR_DISASSEMBLE,							/* R/O: void (*disassemble)(char *buffer, offs_t pc) */
+	CPUINFO_PTR_IRQ_CALLBACK,							/* R/W: int (*irqcallback)(int state) */
+	CPUINFO_PTR_INSTRUCTION_COUNTER,					/* R/O: int *icount */
+	CPUINFO_PTR_REGISTER_LAYOUT,						/* R/O: struct debug_register_layout *layout */
+	CPUINFO_PTR_WINDOW_LAYOUT,							/* R/O: struct debug_window_layout *layout */
+	CPUINFO_PTR_INTERNAL_MEMORY_MAP,					/* R/O: construct_map_t map */
+	CPUINFO_PTR_INTERNAL_MEMORY_MAP_LAST = CPUINFO_PTR_INTERNAL_MEMORY_MAP + ADDRESS_SPACES - 1,
+	CPUINFO_PTR_DEBUG_REGISTER_LIST,					/* R/O: int *list: list of registers for NEW_DEBUGGER */
+
+	CPUINFO_PTR_CPU_SPECIFIC = 0x18000,					/* R/W: CPU-specific values start here */
+
+	/* --- the following bits of info are returned as NULL-terminated strings --- */
+	CPUINFO_STR_FIRST = 0x20000,
+
+	CPUINFO_STR_NAME = CPUINFO_STR_FIRST,				/* R/O: name of the CPU */
+	CPUINFO_STR_CORE_FAMILY,							/* R/O: family of the CPU */
+	CPUINFO_STR_CORE_VERSION,							/* R/O: version of the CPU core */
+	CPUINFO_STR_CORE_FILE,								/* R/O: file containing the CPU core */
+	CPUINFO_STR_CORE_CREDITS,							/* R/O: credits for the CPU core */
+	CPUINFO_STR_FLAGS,									/* R/O: string representation of the main flags value */
+	CPUINFO_STR_REGISTER,								/* R/O: string representation of up to MAX_REGs registers */
+	CPUINFO_STR_REGISTER_LAST = CPUINFO_STR_REGISTER + MAX_REGS - 1,
+
+	CPUINFO_STR_CPU_SPECIFIC = 0x28000					/* R/W: CPU-specific values start here */
+};
+
+#endif	/* CPUINTRF_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/eng_protos.h	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,19 @@
+//
+// Audio Overload
+// Emulated music player
+//
+// (C) 2000-2007 Richard F. Bannister
+//
+
+#include <audacious/plugin.h>
+
+//
+// eng_protos.h
+//
+
+int32 psf2_start(uint8 *, uint32 length);
+int32 psf2_execute(InputPlayback *playback);
+int32 psf2_stop(void);
+int32 psf2_command(int32, int32);
+int32 psf2_fill_info(Tuple *);
+int   psf2_seek(uint32);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/eng_psf.c	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,414 @@
+/*
+	Audio Overload SDK - PSF file format engine
+
+	Copyright (c) 2007 R. Belmont and Richard Bannister.
+
+	All rights reserved.
+
+	Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+	* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+	* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+	* Neither the names of R. Belmont and Richard Bannister nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+	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.
+*/
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+
+#include "ao.h"
+#include "eng_protos.h"
+#include "cpuintrf.h"
+#include "psx.h"
+
+#include "peops/stdafx.h"
+#include "peops/externals.h"
+#include "peops/regs.h"
+#include "peops/registers.h"
+#include "peops/spu.h"
+
+
+#include "corlett.h"
+
+#define DEBUG_LOADER	(0)
+
+static corlett_t	*c = NULL;
+static char 		psfby[256];
+char			*spu_pOutput;
+int			psf_refresh  = -1;
+
+
+// main RAM
+extern uint32 psx_ram[((2*1024*1024)/4)+4];
+extern uint32 psx_scratch[0x400];
+extern uint32 initial_ram[((2*1024*1024)/4)+4];
+extern uint32 initial_scratch[0x400];
+static uint32 initialPC, initialGP, initialSP;
+
+extern void mips_init( void );
+extern void mips_reset( void *param );
+extern int mips_execute( int cycles );
+extern void mips_set_info(UINT32 state, union cpuinfo *info);
+extern void psx_hw_init(void);
+extern void psx_hw_slice(void);
+extern void psx_hw_frame(void);
+extern void setlength(int32 stop, int32 fade);
+
+int32 psf_start(uint8 *buffer, uint32 length)
+{
+	uint8 *file, *lib_decoded, *lib_raw_file, *alib_decoded;
+	uint32 offset, plength, PC, SP, GP, lengthMS, fadeMS;
+	uint64 file_len, lib_len, lib_raw_length, alib_len;
+	corlett_t *lib;
+	int i;
+	union cpuinfo mipsinfo;
+
+	// clear PSX work RAM before we start scribbling in it
+	memset(psx_ram, 0, 2*1024*1024);
+
+//	printf("Length = %d\n", length);
+
+	// Decode the current GSF
+	if (corlett_decode(buffer, length, &file, &file_len, &c) != AO_SUCCESS)
+	{
+		return AO_FAIL;
+	}
+
+//	printf("file_len %d reserve %d\n", file_len, c->res_size);
+
+	// check for PSX EXE signature
+	if (strncmp((char *)file, "PS-X EXE", 8))
+	{
+		return AO_FAIL;
+	}
+
+	#if DEBUG_LOADER
+	offset = file[0x18] | file[0x19]<<8 | file[0x1a]<<16 | file[0x1b]<<24;
+	printf("Text section start: %x\n", offset);
+	offset = file[0x1c] | file[0x1d]<<8 | file[0x1e]<<16 | file[0x1f]<<24;
+	printf("Text section size: %x\n", offset);
+	printf("Region: [%s]\n", &file[0x4c]);
+	printf("refresh: [%s]\n", c->inf_refresh);			
+	#endif
+
+	if (c->inf_refresh[0] == '5')
+	{
+		psf_refresh = 50;
+	}
+	if (c->inf_refresh[0] == '6')
+	{
+		psf_refresh = 60;
+	}
+
+	PC = file[0x10] | file[0x11]<<8 | file[0x12]<<16 | file[0x13]<<24;
+	GP = file[0x14] | file[0x15]<<8 | file[0x16]<<16 | file[0x17]<<24;
+	SP = file[0x30] | file[0x31]<<8 | file[0x32]<<16 | file[0x33]<<24;
+
+	#if DEBUG_LOADER
+	printf("Top level: PC %x GP %x SP %x\n", PC, GP, SP);
+	#endif
+
+	// Get the library file, if any
+	if (c->lib[0] != 0)
+	{
+		uint64 tmp_length;
+	
+		#if DEBUG_LOADER	
+		printf("Loading library: %s\n", c->lib);
+		#endif
+		if (ao_get_lib(c->lib, &lib_raw_file, &tmp_length) != AO_SUCCESS)
+		{
+			return AO_FAIL;
+		}
+		lib_raw_length = tmp_length;
+		
+		if (corlett_decode(lib_raw_file, lib_raw_length, &lib_decoded, &lib_len, &lib) != AO_SUCCESS)
+		{
+			free(lib_raw_file);
+			return AO_FAIL;
+		}
+				
+		// Free up raw file
+		free(lib_raw_file);
+
+		if (strncmp((char *)lib_decoded, "PS-X EXE", 8))
+		{
+			printf("Major error!  PSF was OK, but referenced library is not!\n");
+			free(lib);
+			return AO_FAIL;
+		}
+
+		#if DEBUG_LOADER	
+		offset = lib_decoded[0x18] | lib_decoded[0x19]<<8 | lib_decoded[0x1a]<<16 | lib_decoded[0x1b]<<24;
+		printf("Text section start: %x\n", offset);
+		offset = lib_decoded[0x1c] | lib_decoded[0x1d]<<8 | lib_decoded[0x1e]<<16 | lib_decoded[0x1f]<<24;
+		printf("Text section size: %x\n", offset);
+		printf("Region: [%s]\n", &lib_decoded[0x4c]);
+		printf("refresh: [%s]\n", lib->inf_refresh);			
+		#endif
+
+		// if the original file had no refresh tag, give the lib a shot
+		if (psf_refresh == -1)
+		{
+			if (lib->inf_refresh[0] == '5')
+			{
+				psf_refresh = 50;
+			}
+			if (lib->inf_refresh[0] == '6')
+			{
+				psf_refresh = 60;
+			}
+		}
+
+		PC = lib_decoded[0x10] | lib_decoded[0x11]<<8 | lib_decoded[0x12]<<16 | lib_decoded[0x13]<<24;
+		GP = lib_decoded[0x14] | lib_decoded[0x15]<<8 | lib_decoded[0x16]<<16 | lib_decoded[0x17]<<24;
+		SP = lib_decoded[0x30] | lib_decoded[0x31]<<8 | lib_decoded[0x32]<<16 | lib_decoded[0x33]<<24;
+
+		#if DEBUG_LOADER
+		printf("Library: PC %x GP %x SP %x\n", PC, GP, SP);
+		#endif
+
+		// now patch the file into RAM
+		offset = lib_decoded[0x18] | lib_decoded[0x19]<<8 | lib_decoded[0x1a]<<16 | lib_decoded[0x1b]<<24;
+		offset &= 0x3fffffff;	// kill any MIPS cache segment indicators
+		plength = lib_decoded[0x1c] | lib_decoded[0x1d]<<8 | lib_decoded[0x1e]<<16 | lib_decoded[0x1f]<<24;
+		#if DEBUG_LOADER
+		printf("library offset: %x plength: %d\n", offset, plength);
+		#endif
+		memcpy(&psx_ram[offset/4], lib_decoded+2048, plength);
+		
+		// Dispose the corlett structure for the lib - we don't use it
+		free(lib);
+	}
+
+	// now patch the main file into RAM OVER the libraries (but not the aux lib)
+	offset = file[0x18] | file[0x19]<<8 | file[0x1a]<<16 | file[0x1b]<<24;
+	offset &= 0x3fffffff;	// kill any MIPS cache segment indicators
+	plength = file[0x1c] | file[0x1d]<<8 | file[0x1e]<<16 | file[0x1f]<<24;
+
+	// Philosoma has an illegal "plength".  *sigh*
+	if (plength > (file_len-2048))
+	{
+		plength = file_len-2048;
+	}
+	memcpy(&psx_ram[offset/4], file+2048, plength);
+
+	// load any auxiliary libraries now
+	for (i = 0; i < 8; i++)
+	{
+		if (c->libaux[i][0] != 0)
+		{
+			uint64 tmp_length;
+		
+			#if DEBUG_LOADER	
+			printf("Loading aux library: %s\n", c->libaux[i]);
+			#endif
+
+			if (ao_get_lib(c->libaux[i], &lib_raw_file, &tmp_length) != AO_SUCCESS)
+			{
+				return AO_FAIL;
+			}
+			lib_raw_length = tmp_length;
+		
+			if (corlett_decode(lib_raw_file, lib_raw_length, &alib_decoded, &alib_len, &lib) != AO_SUCCESS)
+			{
+				free(lib_raw_file);
+				return AO_FAIL;
+			}
+				
+			// Free up raw file
+			free(lib_raw_file);
+
+			if (strncmp((char *)alib_decoded, "PS-X EXE", 8))
+			{
+				printf("Major error!  PSF was OK, but referenced library is not!\n");
+				free(lib);
+				return AO_FAIL;
+			}
+
+			#if DEBUG_LOADER	
+			offset = alib_decoded[0x18] | alib_decoded[0x19]<<8 | alib_decoded[0x1a]<<16 | alib_decoded[0x1b]<<24;
+			printf("Text section start: %x\n", offset);
+			offset = alib_decoded[0x1c] | alib_decoded[0x1d]<<8 | alib_decoded[0x1e]<<16 | alib_decoded[0x1f]<<24;
+			printf("Text section size: %x\n", offset);
+			printf("Region: [%s]\n", &alib_decoded[0x4c]);
+			#endif
+
+			// now patch the file into RAM
+			offset = alib_decoded[0x18] | alib_decoded[0x19]<<8 | alib_decoded[0x1a]<<16 | alib_decoded[0x1b]<<24;
+			offset &= 0x3fffffff;	// kill any MIPS cache segment indicators
+			plength = alib_decoded[0x1c] | alib_decoded[0x1d]<<8 | alib_decoded[0x1e]<<16 | alib_decoded[0x1f]<<24;
+			memcpy(&psx_ram[offset/4], alib_decoded+2048, plength);
+		
+			// Dispose the corlett structure for the lib - we don't use it
+			free(lib);
+		}
+	}
+
+	free(file);
+//	free(lib_decoded);
+	
+	// Finally, set psfby tag
+	strcpy(psfby, "n/a");
+	if (c)
+	{
+		int i;
+		for (i = 0; i < MAX_UNKNOWN_TAGS; i++)
+		{
+			if (!strcasecmp(c->tag_name[i], "psfby"))
+				strcpy(psfby, c->tag_data[i]);
+		}
+	}
+
+	mips_init();
+	mips_reset(NULL);
+
+	// set the initial PC, SP, GP
+	#if DEBUG_LOADER	
+	printf("Initial PC %x, GP %x, SP %x\n", PC, GP, SP);
+	printf("Refresh = %d\n", psf_refresh);
+	#endif
+	mipsinfo.i = PC;
+	mips_set_info(CPUINFO_INT_PC, &mipsinfo);
+
+	// set some reasonable default for the stack
+	if (SP == 0)
+	{
+		SP = 0x801fff00;
+	}
+
+	mipsinfo.i = SP;
+	mips_set_info(CPUINFO_INT_REGISTER + MIPS_R29, &mipsinfo);
+	mips_set_info(CPUINFO_INT_REGISTER + MIPS_R30, &mipsinfo);
+
+	mipsinfo.i = GP;
+	mips_set_info(CPUINFO_INT_REGISTER + MIPS_R28, &mipsinfo);
+
+	#if DEBUG_LOADER && 1
+	{
+		FILE *f;
+
+		f = fopen("psxram.bin", "wb");
+		fwrite(psx_ram, 2*1024*1024, 1, f);
+		fclose(f);
+	}
+	#endif
+
+	psx_hw_init();
+	SPUinit();
+	SPUopen();
+
+	lengthMS = psfTimeToMS(c->inf_length);
+	fadeMS = psfTimeToMS(c->inf_fade);
+
+	#if DEBUG_LOADER
+	printf("length %d fade %d\n", lengthMS, fadeMS);
+	#endif
+
+	if (lengthMS == 0) 
+	{
+		lengthMS = ~0;
+	}
+
+	setlength(lengthMS, fadeMS);
+
+//	psx_ram[0x118b8/4] = LE32(0);	// crash 2 hack
+
+	// backup the initial state for restart
+	memcpy(initial_ram, psx_ram, 2*1024*1024);
+	memcpy(initial_scratch, psx_scratch, 0x400);
+	initialPC = PC;
+	initialGP = GP;
+	initialSP = SP;
+
+	mips_execute(5000);
+	
+	return AO_SUCCESS;
+}
+
+void spu_update(unsigned char* pSound,long lBytes)
+{
+	memcpy(spu_pOutput, pSound, lBytes);
+}
+
+int32 psf_gen(int16 *buffer, uint32 samples)
+{	
+	int i;
+
+	for (i = 0; i < samples; i++)
+	{
+		psx_hw_slice();
+		SPUasync(384);
+	}
+
+	spu_pOutput = (char *)buffer;
+	SPU_flushboot();
+
+	psx_hw_frame();
+
+	return AO_SUCCESS;
+}
+
+int32 psf_stop(void)
+{
+	SPUclose();
+	free(c);
+
+	return AO_SUCCESS;
+}
+
+int32 psf_command(int32 command, int32 parameter)
+{
+	union cpuinfo mipsinfo;
+	uint32 lengthMS, fadeMS;
+
+	switch (command)
+	{
+		case COMMAND_RESTART:
+			SPUclose();
+
+			memcpy(psx_ram, initial_ram, 2*1024*1024);
+			memcpy(psx_scratch, initial_scratch, 0x400);
+
+			mips_init();
+			mips_reset(NULL);
+			psx_hw_init();
+			SPUinit();
+			SPUopen();
+
+			lengthMS = psfTimeToMS(c->inf_length);
+			fadeMS = psfTimeToMS(c->inf_fade);
+
+			if (lengthMS == 0) 
+			{
+				lengthMS = ~0;
+			}
+			setlength(lengthMS, fadeMS);
+
+			mipsinfo.i = initialPC;
+			mips_set_info(CPUINFO_INT_PC, &mipsinfo);
+			mipsinfo.i = initialSP;
+			mips_set_info(CPUINFO_INT_REGISTER + MIPS_R29, &mipsinfo);
+			mips_set_info(CPUINFO_INT_REGISTER + MIPS_R30, &mipsinfo);
+			mipsinfo.i = initialGP;
+			mips_set_info(CPUINFO_INT_REGISTER + MIPS_R28, &mipsinfo);
+
+			mips_execute(5000);
+
+			return AO_SUCCESS;
+		
+	}
+	return AO_FAIL;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/eng_psf2.c	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,679 @@
+/*
+	Audio Overload SDK - PSF2 file format engine
+
+	Copyright (c) 2007-2008 R. Belmont and Richard Bannister.
+
+	All rights reserved.
+
+	Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+	* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+	* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+	* Neither the names of R. Belmont and Richard Bannister nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+	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.
+*/
+
+//
+// Audio Overload
+// Emulated music player
+//
+// (C) 2000-2008 Richard F. Bannister
+//
+
+//
+// eng_psf2.c
+//
+// References:
+// psf_format.txt v1.6 by Neill Corlett (filesystem and decompression info)
+// Intel ELF format specs ELF.PS (general ELF parsing info)
+// http://ps2dev.org/kb.x?T=457 (IRX relocation and inter-module call info)
+// http://ps2dev.org/ (the whole site - lots of IOP info)
+// spu2regs.txt (comes with SexyPSF source: IOP hardware info)
+// 64-bit ELF Object File Specification: http://techpubs.sgi.com/library/manuals/4000/007-4658-001/pdf/007-4658-001.pdf (MIPS ELF relocation types)
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <zlib.h>
+
+#include "ao.h"
+#include "eng_protos.h"
+#include "cpuintrf.h"
+#include "psx.h"
+
+#include "peops2/stdafx.h"
+#include "peops2/externals.h"
+#include "peops2/regs.h"
+#include "peops2/registers.h"
+#include "peops2/spu.h"
+
+#include "corlett.h"
+
+#define DEBUG_LOADER	(0)
+#define MAX_FS		(32)	// maximum # of filesystems (libs and subdirectories)
+
+// ELF relocation helpers
+#define ELF32_R_SYM(val)                ((val) >> 8)
+#define ELF32_R_TYPE(val)               ((val) & 0xff)
+
+static corlett_t	*c = NULL;
+static char 		psfby[256];
+static char		*spu_pOutput;
+
+// main RAM
+extern uint32 psx_ram[(2*1024*1024)/4];
+extern uint32 initial_ram[(2*1024*1024)/4];
+static uint32 initialPC, initialSP;
+static uint32 loadAddr, lengthMS, fadeMS;
+
+static uint8 *filesys[MAX_FS];
+static uint8 *lib_raw_file;
+static uint32 fssize[MAX_FS];
+static int num_fs;
+
+extern void mips_init( void );
+extern void mips_reset( void *param );
+extern int mips_execute( int cycles );
+extern void mips_set_info(UINT32 state, union cpuinfo *info);
+extern void psx_hw_init(void);
+extern void ps2_hw_slice(void);
+extern void ps2_hw_frame(void);
+extern void setlength2(int32 stop, int32 fade);
+
+static uint32 secname(uint8 *start, uint32 strndx, uint32 shoff, uint32 shentsize, uint32 name)
+{
+	uint32 offset, shent;
+
+	// get string table section
+	shent = shoff + (shentsize * strndx);
+
+	// find the offset to the section
+	offset = start[shent+16] | start[shent+17]<<8 | start[shent+18]<<16 | start[shent+19]<<24; 
+
+	offset += name;
+	
+	return offset;	
+}
+
+static void do_iopmod(uint8 *start, uint32 offset)
+{
+	uint32 nameoffs, saddr, heap, tsize, dsize, bsize, vers2;
+
+	nameoffs = start[offset] | start[offset+1]<<8 | start[offset+2]<<16 | start[offset+3]<<24;
+
+	saddr = start[offset+4] | start[offset+5]<<8 | start[offset+6]<<16 | start[offset+7]<<24;
+	heap = start[offset+8] | start[offset+9]<<8 | start[offset+10]<<16 | start[offset+11]<<24;
+	tsize = start[offset+12] | start[offset+13]<<8 | start[offset+14]<<16 | start[offset+15]<<24; 
+	dsize = start[offset+16] | start[offset+17]<<8 | start[offset+18]<<16 | start[offset+19]<<24; 
+	bsize = start[offset+20] | start[offset+21]<<8 | start[offset+22]<<16 | start[offset+23]<<24; 
+	vers2 = start[offset+24] | start[offset+25]<<8;
+
+//	printf("nameoffs %08x saddr %08x heap %08x tsize %08x dsize %08x bsize %08x\n", nameoffs, saddr, heap, tsize, dsize, bsize);
+	#if DEBUG_LOADER
+	printf("vers: %04x name [%s]\n", vers2, &start[offset+26]);
+	#endif
+}
+
+uint32 psf2_load_elf(uint8 *start, uint32 len)
+{
+	uint32 entry, phoff, shoff, phentsize, shentsize, phnum, shnum, shstrndx;
+	uint32 name, type, flags, addr, offset, size, shent;
+	uint32 totallen;
+	int i, rec;
+//	FILE *f;
+
+	if (loadAddr & 3)
+	{
+		loadAddr &= ~3;
+		loadAddr += 4;
+	}
+
+	#if DEBUG_LOADER
+	printf("psf2_load_elf: starting at %08x\n", loadAddr | 0x80000000);
+	#endif
+
+	if ((start[0] != 0x7f) || (start[1] != 'E') || (start[2] != 'L') || (start[3] != 'F'))
+	{
+		printf("Not an ELF file\n");
+		return 0xffffffff;
+	}
+
+	entry = start[24] | start[25]<<8 | start[26]<<16 | start[27]<<24;	// 0x18
+	phoff = start[28] | start[29]<<8 | start[30]<<16 | start[31]<<24; 	// 0x1c
+	shoff = start[32] | start[33]<<8 | start[34]<<16 | start[35]<<24; 	// 0x20
+		
+//	printf("Entry: %08x phoff %08x shoff %08x\n", entry, phoff, shoff);
+
+	phentsize = start[42] | start[43]<<8;			// 0x2a
+	phnum = start[44] | start[45]<<8;			// 0x2c
+	shentsize = start[46] | start[47]<<8;			// 0x2e
+	shnum = start[48] | start[49]<<8;			// 0x30
+	shstrndx = start[50] | start[51]<<8;			// 0x32
+
+//	printf("phentsize %08x phnum %d shentsize %08x shnum %d shstrndx %d\n", phentsize, phnum, shentsize, shnum, shstrndx);	
+
+	// process ELF sections
+	shent = shoff;
+	totallen = 0;
+	for (i = 0; i < shnum; i++)
+	{
+		name = start[shent] | start[shent+1]<<8 | start[shent+2]<<16 | start[shent+3]<<24;
+		type = start[shent+4] | start[shent+5]<<8 | start[shent+6]<<16 | start[shent+7]<<24;
+		flags = start[shent+8] | start[shent+9]<<8 | start[shent+10]<<16 | start[shent+11]<<24;
+		addr = start[shent+12] | start[shent+13]<<8 | start[shent+14]<<16 | start[shent+15]<<24;
+		offset = start[shent+16] | start[shent+17]<<8 | start[shent+18]<<16 | start[shent+19]<<24;
+		size = start[shent+20] | start[shent+21]<<8 | start[shent+22]<<16 | start[shent+23]<<24;
+
+//		printf("Section %02d: name %08x [%s] type %08x flags %08x addr %08x offset %08x size %08x\n", i, name, &start[secname(start, shstrndx, shoff, shentsize, name)], type, flags, addr, offset, size);
+
+		switch (type)
+		{
+			case 0:			// section table header - do nothing
+				break;
+
+			case 1:			// PROGBITS: copy data to destination
+				memcpy(&psx_ram[(loadAddr + addr)/4], &start[offset], size);
+				totallen += size;
+				break;
+
+			case 2:			// SYMTAB: ignore
+				break;
+
+			case 3:			// STRTAB: ignore
+				break;
+
+			case 8:			// NOBITS: BSS region, zero out destination
+				memset(&psx_ram[(loadAddr + addr)/4], 0, size);
+				totallen += size;
+				break;
+
+			case 9:			// REL: short relocation data
+		  		for (rec = 0; rec < (size/8); rec++)
+				{
+					uint32 offs, info, target, temp, val, vallo;
+					static uint32 hi16offs = 0, hi16target = 0;
+
+					offs = start[offset+(rec*8)] | start[offset+1+(rec*8)]<<8 | start[offset+2+(rec*8)]<<16 | start[offset+3+(rec*8)]<<24;
+					info = start[offset+4+(rec*8)] | start[offset+5+(rec*8)]<<8 | start[offset+6+(rec*8)]<<16 | start[offset+7+(rec*8)]<<24;
+					target = LE32(psx_ram[(loadAddr+offs)/4]);
+					
+//					printf("[%04d] offs %08x type %02x info %08x => %08x\n", rec, offs, ELF32_R_TYPE(info), ELF32_R_SYM(info), target);
+
+					switch (ELF32_R_TYPE(info))
+					{
+						case 2:	      	// R_MIPS_32
+							target += loadAddr;
+//							target |= 0x80000000;
+							break;
+
+						case 4:		// R_MIPS_26
+							temp = (target & 0x03ffffff);
+							target &= 0xfc000000;
+							temp += (loadAddr>>2);
+							target |= temp;
+							break;
+
+						case 5:		// R_MIPS_HI16
+							hi16offs = offs;
+							hi16target = target;
+							break;
+
+						case 6:		// R_MIPS_LO16
+							vallo = ((target & 0xffff) ^ 0x8000) - 0x8000;
+
+							val = ((hi16target & 0xffff) << 16) +	vallo;
+							val += loadAddr;
+//							val |= 0x80000000;
+
+							/* Account for the sign extension that will happen in the low bits.  */
+							val = ((val >> 16) + ((val & 0x8000) != 0)) & 0xffff;
+
+							hi16target = (hi16target & ~0xffff) | val;
+
+							/* Ok, we're done with the HI16 relocs.  Now deal with the LO16.  */
+							val = loadAddr + vallo;
+							target = (target & ~0xffff) | (val & 0xffff);
+
+							psx_ram[(loadAddr+hi16offs)/4] = LE32(hi16target);
+							break;
+
+						default:
+							printf("FATAL: Unknown MIPS ELF relocation!\n");
+							return 0xffffffff;
+							break;
+					}
+
+					psx_ram[(loadAddr+offs)/4] = LE32(target);
+				}						
+				break;
+
+			case 0x70000080:	// .iopmod
+				do_iopmod(start, offset);
+				break;
+
+			default:
+				#if DEBUG_LOADER
+				printf("Unhandled ELF section type %d\n", type);
+				#endif
+				break;
+		}
+
+		shent += shentsize;
+	}	
+
+	entry += loadAddr;
+	entry |= 0x80000000;
+	loadAddr += totallen;
+
+	#if DEBUG_LOADER
+	printf("psf2_load_elf: entry PC %08x\n", entry);
+	#endif
+	return entry;
+}
+
+static uint32 load_file_ex(uint8 *top, uint8 *start, uint32 len, char *file, uint8 *buf, uint32 buflen)
+{
+	int32 numfiles, i, j;
+	uint8 *cptr;
+	uint32 offs, uncomp, bsize, cofs, uofs;
+	uint32 X;
+	uLongf dlength;
+	int uerr;
+	char matchname[512], *remainder;
+
+	// strip out to only the directory name
+	i = 0;
+	while ((file[i] != '/') && (file[i] != '\\') && (file[i] != '\0'))
+	{
+		matchname[i] = file[i];
+		i++;
+	}
+	matchname[i] = '\0';
+	remainder = &file[i+1];
+	
+	cptr = start + 4; 
+
+	numfiles = start[0] | start[1]<<8 | start[2]<<16 | start[3]<<24;
+
+	for (i = 0; i < numfiles; i++)
+	{
+		offs = cptr[36] | cptr[37]<<8 | cptr[38]<<16 | cptr[39]<<24;
+		uncomp = cptr[40] | cptr[41]<<8 | cptr[42]<<16 | cptr[43]<<24;
+		bsize = cptr[44] | cptr[45]<<8 | cptr[46]<<16 | cptr[47]<<24;
+
+		#if DEBUG_LOADER
+		printf("[%s vs %s]: ofs %08x uncomp %08x bsize %08x\n", cptr, matchname, offs, uncomp, bsize);
+		#endif
+		
+		if (!strcasecmp((char *)cptr, matchname))
+		{
+			if ((uncomp == 0) && (bsize == 0))
+			{
+				#if DEBUG_LOADER
+				printf("Drilling into subdirectory [%s] with [%s] at offset %x\n", matchname, remainder, offs);
+				#endif
+				return load_file_ex(top, &top[offs], len-offs, remainder, buf, buflen);
+			}
+
+			X = (uncomp + bsize - 1) / bsize;
+			
+			cofs = offs + (X*4);
+			uofs = 0;
+			for (j = 0; j < X; j++)
+			{
+				uint32 usize;
+
+				usize = top[offs+(j*4)] | top[offs+1+(j*4)]<<8 | top[offs+2+(j*4)]<<16 | top[offs+3+(j*4)]<<24;
+
+				dlength = buflen - uofs;
+		
+				uerr = uncompress(&buf[uofs], &dlength, &top[cofs], usize);
+				if (uerr != Z_OK)
+				{
+					printf("Decompress fail: %x %d!\n", dlength, uerr);
+					return 0xffffffff;
+				}
+
+				cofs += usize;
+				uofs += dlength;
+			}
+
+			return uncomp;
+		}
+		else
+		{
+			cptr += 48;
+		}
+	}
+
+	return 0xffffffff;
+}
+
+static uint32 load_file(int fs, char *file, uint8 *buf, uint32 buflen)
+{
+	return load_file_ex(filesys[fs], filesys[fs], fssize[fs], file, buf, buflen);
+}
+
+#if 0
+static dump_files(int fs, uint8 *buf, uint32 buflen)
+{
+	int32 numfiles, i, j;
+	uint8 *cptr;
+	uint32 offs, uncomp, bsize, cofs, uofs;
+	uint32 X;
+	uLongf dlength;
+	int uerr;
+	uint8 *start;
+	uint32 len;
+	FILE *f;
+	char tfn[128];
+
+	printf("Dumping FS %d\n", fs);
+		
+	start = filesys[fs];
+	len = fssize[fs];
+
+	cptr = start + 4; 
+
+	numfiles = start[0] | start[1]<<8 | start[2]<<16 | start[3]<<24;
+
+	for (i = 0; i < numfiles; i++)
+	{
+		offs = cptr[36] | cptr[37]<<8 | cptr[38]<<16 | cptr[39]<<24;
+		uncomp = cptr[40] | cptr[41]<<8 | cptr[42]<<16 | cptr[43]<<24;
+		bsize = cptr[44] | cptr[45]<<8 | cptr[46]<<16 | cptr[47]<<24;
+
+		if (bsize > 0)		
+		{
+			X = (uncomp + bsize - 1) / bsize;
+
+			printf("[dump %s]: ofs %08x uncomp %08x bsize %08x\n", cptr, offs, uncomp, bsize);
+
+			cofs = offs + (X*4);
+			uofs = 0;
+			for (j = 0; j < X; j++)
+			{
+				uint32 usize;
+
+				usize = start[offs+(j*4)] | start[offs+1+(j*4)]<<8 | start[offs+2+(j*4)]<<16 | start[offs+3+(j*4)]<<24;
+
+				dlength = buflen - uofs;
+		
+				uerr = uncompress(&buf[uofs], &dlength, &start[cofs], usize);
+				if (uerr != Z_OK)
+				{
+					printf("Decompress fail: %x %d!\n", dlength, uerr);
+					return 0xffffffff;
+				}
+
+				cofs += usize;
+				uofs += dlength;
+			}
+
+			sprintf(tfn, "iopfiles/%s", cptr);
+			f = fopen(tfn, "wb");
+			fwrite(buf, uncomp, 1, f);
+			fclose(f);
+		}
+		else
+		{
+			printf("[subdir %s]: ofs %08x uncomp %08x bsize %08x\n", cptr, offs, uncomp, bsize);
+		}
+
+		cptr += 48;
+	}
+
+	return 0xffffffff;
+}
+#endif
+
+// find a file on our filesystems
+uint32 psf2_load_file(char *file, uint8 *buf, uint32 buflen)
+{
+	int i;
+	uint32 flen;
+
+	for (i = 0; i < num_fs; i++)
+	{
+		flen = load_file(i, file, buf, buflen);
+		if (flen != 0xffffffff)
+		{
+			return flen;
+		}
+	}
+
+	return 0xffffffff;
+}
+
+int32 psf2_start(uint8 *buffer, uint32 length)
+{
+	uint8 *file, *lib_decoded;
+	uint32 irx_len;
+	uint64 file_len, lib_raw_length, lib_len;
+	uint8 *buf;
+	union cpuinfo mipsinfo;
+	corlett_t *lib;
+
+	loadAddr = 0x23f00;	// this value makes allocations work out similarly to how they would 
+				// in Highly Experimental (as per Shadow Hearts' hard-coded assumptions)
+
+	// clear IOP work RAM before we start scribbling in it
+	memset(psx_ram, 0, 2*1024*1024);
+
+	// Decode the current PSF2
+	if (corlett_decode(buffer, length, &file, &file_len, &c) != AO_SUCCESS)
+	{
+		return AO_FAIL;
+	}
+
+	if (file_len > 0) printf("ERROR: PSF2 can't have a program section!  ps %08x\n", file_len);
+
+	#if DEBUG_LOADER
+	printf("FS section: size %x\n", c->res_size);
+	#endif
+
+	num_fs = 1;
+	filesys[0] = (uint8 *)c->res_section;
+	fssize[0] = c->res_size;
+
+	// Get the library file, if any
+	if (c->lib[0] != 0)
+	{
+		uint64 tmp_length;
+	
+		#if DEBUG_LOADER	
+		printf("Loading library: %s\n", c->lib);
+		#endif
+		if (ao_get_lib(c->lib, &lib_raw_file, &tmp_length) != AO_SUCCESS)
+		{
+			return AO_FAIL;
+		}
+		lib_raw_length = tmp_length;
+
+		if (corlett_decode(lib_raw_file, lib_raw_length, &lib_decoded, &lib_len, &lib) != AO_SUCCESS)
+		{
+			free(lib_raw_file);
+			return AO_FAIL;
+		}
+				
+		#if DEBUG_LOADER
+		printf("Lib FS section: size %x bytes\n", lib->res_size);
+		#endif
+
+		num_fs++;
+		filesys[1] = (uint8 *)lib->res_section;
+ 		fssize[1] = lib->res_size;
+	}
+
+	// dump all files
+	#if 0
+	buf = (uint8 *)malloc(16*1024*1024);
+	dump_files(0, buf, 16*1024*1024);
+	if (c->lib[0] != 0)
+		dump_files(1, buf, 16*1024*1024);
+	free(buf);
+	#endif
+
+	// load psf2.irx, which kicks everything off
+	buf = (uint8 *)malloc(512*1024);
+	irx_len = psf2_load_file("psf2.irx", buf, 512*1024);
+
+	if (irx_len != 0xffffffff)
+	{
+		initialPC = psf2_load_elf(buf, irx_len);
+		initialSP = 0x801ffff0;
+	}
+	free(buf);
+
+	if (initialPC == 0xffffffff)
+	{
+		return AO_FAIL;
+	}
+
+	lengthMS = psfTimeToMS(c->inf_length);
+	fadeMS = psfTimeToMS(c->inf_fade);
+	if (lengthMS == 0) 
+	{
+		lengthMS = ~0;
+	}
+	setlength2(lengthMS, fadeMS);
+
+	mips_init();
+	mips_reset(NULL);
+
+	mipsinfo.i = initialPC;
+	mips_set_info(CPUINFO_INT_PC, &mipsinfo);
+
+	mipsinfo.i = initialSP;
+	mips_set_info(CPUINFO_INT_REGISTER + MIPS_R29, &mipsinfo);
+	mips_set_info(CPUINFO_INT_REGISTER + MIPS_R30, &mipsinfo);
+
+	// set RA
+	mipsinfo.i = 0x80000000;
+	mips_set_info(CPUINFO_INT_REGISTER + MIPS_R31, &mipsinfo);
+
+	// set A0 & A1 to point to "aofile:/"
+	mipsinfo.i = 2;	// argc
+	mips_set_info(CPUINFO_INT_REGISTER + MIPS_R4, &mipsinfo);
+
+	mipsinfo.i = 0x80000004;	// argv
+	mips_set_info(CPUINFO_INT_REGISTER + MIPS_R5, &mipsinfo);
+	psx_ram[1] = LE32(0x80000008);
+	
+	buf = (uint8 *)&psx_ram[2];
+	strcpy((char *)buf, "aofile:/");		
+
+	psx_ram[0] = LE32(FUNCT_HLECALL);
+
+	// back up initial RAM image to quickly restart songs
+	memcpy(initial_ram, psx_ram, 2*1024*1024);
+
+	psx_hw_init();
+	SPU2init();
+	SPU2open(NULL);
+
+	return AO_SUCCESS;
+}
+
+int32 psf2_execute(InputPlayback *playback)
+{	
+	int i;
+
+	while (playback->playing && !playback->eof)
+	{
+		for (i = 0; i < 44100 / 60; i++)
+		{
+			SPU2async(1, playback);
+			ps2_hw_slice();
+		}
+
+		ps2_hw_frame();
+	}
+
+	return AO_SUCCESS;
+}
+
+int32 psf2_stop(void)
+{
+	SPU2close();
+	if (c->lib[0] != 0)
+	{
+		free(lib_raw_file);
+	}
+	free(c);
+
+	return AO_SUCCESS;
+}
+
+int32 psf2_command(int32 command, int32 parameter)
+{
+	union cpuinfo mipsinfo;
+	uint32 lengthMS, fadeMS;
+
+	switch (command)
+	{
+		case COMMAND_RESTART:
+			SPU2close();
+
+			memcpy(psx_ram, initial_ram, 2*1024*1024);
+
+			mips_init();
+			mips_reset(NULL);
+			psx_hw_init();
+			SPU2init();
+			SPU2open(NULL);
+
+			mipsinfo.i = initialPC;
+			mips_set_info(CPUINFO_INT_PC, &mipsinfo);
+
+			mipsinfo.i = initialSP;
+			mips_set_info(CPUINFO_INT_REGISTER + MIPS_R29, &mipsinfo);
+			mips_set_info(CPUINFO_INT_REGISTER + MIPS_R30, &mipsinfo);
+
+			// set RA
+			mipsinfo.i = 0x80000000;
+			mips_set_info(CPUINFO_INT_REGISTER + MIPS_R31, &mipsinfo);
+
+			// set A0 & A1 to point to "aofile:/"
+			mipsinfo.i = 2;	// argc
+			mips_set_info(CPUINFO_INT_REGISTER + MIPS_R4, &mipsinfo);
+
+			mipsinfo.i = 0x80000004;	// argv
+			mips_set_info(CPUINFO_INT_REGISTER + MIPS_R5, &mipsinfo);
+
+			psx_hw_init();
+
+			lengthMS = psfTimeToMS(c->inf_length);
+			fadeMS = psfTimeToMS(c->inf_fade);
+			if (lengthMS == 0) 
+			{
+				lengthMS = ~0;
+			}
+			setlength2(lengthMS, fadeMS);
+
+			return AO_SUCCESS;
+		
+	}
+	return AO_FAIL;
+}
+
+uint32 psf2_get_loadaddr(void)
+{
+	return loadAddr;
+}
+
+void psf2_set_loadaddr(uint32 new)
+{
+	loadAddr = new;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/eng_spu.c	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,307 @@
+/*
+	Audio Overload SDK - SPU file format engine
+
+	Copyright (c) 2007 R. Belmont and Richard Bannister.
+
+	All rights reserved.
+
+	Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+	* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+	* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+	* Neither the names of R. Belmont and Richard Bannister nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+	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.
+*/
+
+//
+// eng_spu.c
+//
+// Note: support for old-format files is not tested and may not work.  All the rips I could find
+//       are in the newer format.  Also, CDDA and XA commands do not work - I've not found a rip using them.
+//
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+
+#include "ao.h"
+#include "eng_protos.h"
+#include "cpuintrf.h"
+#include "psx.h"
+
+extern int SPUinit(void);
+extern int SPUopen(void);
+extern int SPUclose(void);
+extern void SPUinjectRAMImage(unsigned short *source);
+
+static uint8 *start_of_file, *song_ptr;
+static uint32 cur_tick, cur_event, num_events, next_tick, end_tick;
+static int old_fmt;
+static char name[128], song[128], company[128];
+
+int32 spu_start(uint8 *buffer, uint32 length)
+{
+	int i;
+	uint16 reg;
+
+	if (strncmp((char *)buffer, "SPU", 3))
+	{
+		return AO_FAIL;
+	}
+
+	start_of_file = buffer;
+
+	SPUinit();
+	SPUopen();
+	setlength(~0, 0);
+
+	// upload the SPU RAM image
+	SPUinjectRAMImage((unsigned short *)&buffer[0]);
+
+	// apply the register image	
+	for (i = 0; i < 512; i += 2)
+	{
+		reg = buffer[0x80000+i] | buffer[0x80000+i+1]<<8;
+
+		SPUwriteRegister((i/2)+0x1f801c00, reg);
+	}
+
+	old_fmt = 1;
+
+	if ((buffer[0x80200] != 0x44) || (buffer[0x80201] != 0xac) || (buffer[0x80202] != 0x00) || (buffer[0x80203] != 0x00))
+	{
+		old_fmt = 0;
+	}
+
+	if (old_fmt)
+	{
+		num_events = buffer[0x80204] | buffer[0x80205]<<8 | buffer[0x80206]<<16 | buffer[0x80207]<<24;
+
+		if (((num_events * 12) + 0x80208) > length)
+		{
+			old_fmt = 0;
+		}
+		else
+		{
+			cur_tick = 0;
+		}
+	}
+
+	if (!old_fmt)
+	{
+		end_tick = buffer[0x80200] | buffer[0x80201]<<8 | buffer[0x80202]<<16 | buffer[0x80203]<<24; 
+		cur_tick = buffer[0x80204] | buffer[0x80205]<<8 | buffer[0x80206]<<16 | buffer[0x80207]<<24; 
+		next_tick = cur_tick;
+	}
+
+	song_ptr = &buffer[0x80208];
+	cur_event = 0;
+
+	strncpy((char *)&buffer[4], name, 128);
+	strncpy((char *)&buffer[0x44], song, 128);
+	strncpy((char *)&buffer[0x84], company, 128);
+
+	return AO_SUCCESS;
+}
+
+extern int SPUasync(uint32 cycles);
+extern void SPU_flushboot(void);
+
+extern char *spu_pOutput;	// this is a bit lame, but we'll deal
+
+static void spu_tick(void)
+{
+	uint32 time, reg, size;
+	uint16 rdata;
+	uint8 opcode;
+
+	if (old_fmt)
+	{
+		time = song_ptr[0] | song_ptr[1]<<8 | song_ptr[2]<<16 | song_ptr[3]<<24;
+
+		while ((time == cur_tick) && (cur_event < num_events))
+		{
+			reg = song_ptr[4] | song_ptr[5]<<8 | song_ptr[6]<<16 | song_ptr[7]<<24;
+			rdata = song_ptr[8] | song_ptr[9]<<8;
+
+			SPUwriteRegister(reg, rdata);
+
+			cur_event++;
+			song_ptr += 12;
+
+			time = song_ptr[0] | song_ptr[1]<<8 | song_ptr[2]<<16 | song_ptr[3]<<24;
+		}
+	}
+	else
+	{
+		if (cur_tick < end_tick)
+		{
+			while (cur_tick == next_tick)
+			{
+				opcode = song_ptr[0];
+				song_ptr++;
+
+				switch (opcode)
+				{
+					case 0:	// write register
+						reg = song_ptr[0] | song_ptr[1]<<8 | song_ptr[2]<<16 | song_ptr[3]<<24;
+						rdata = song_ptr[4] | song_ptr[5]<<8;
+
+						SPUwriteRegister(reg, rdata);
+
+						next_tick = song_ptr[6] | song_ptr[7]<<8 | song_ptr[8]<<16 | song_ptr[9]<<24; 
+						song_ptr += 10;
+						break;
+
+					case 1:	// read register
+				 		reg = song_ptr[0] | song_ptr[1]<<8 | song_ptr[2]<<16 | song_ptr[3]<<24;
+						SPUreadRegister(reg);
+						next_tick = song_ptr[4] | song_ptr[5]<<8 | song_ptr[6]<<16 | song_ptr[7]<<24; 
+						song_ptr += 8;
+						break;
+
+					case 2: // dma write
+						size = song_ptr[0] | song_ptr[1]<<8 | song_ptr[2]<<16 | song_ptr[3]<<24; 
+						song_ptr += (4 + size);
+						next_tick = song_ptr[0] | song_ptr[1]<<8 | song_ptr[2]<<16 | song_ptr[3]<<24; 
+						song_ptr += 4;
+						break;
+
+					case 3: // dma read
+						next_tick = song_ptr[4] | song_ptr[5]<<8 | song_ptr[6]<<16 | song_ptr[7]<<24; 
+						song_ptr += 8;
+						break;
+
+					case 4: // xa play
+						song_ptr += (32 + 16384);
+						next_tick = song_ptr[0] | song_ptr[1]<<8 | song_ptr[2]<<16 | song_ptr[3]<<24; 
+						song_ptr += 4;
+						break;
+
+					case 5: // cdda play
+						size = song_ptr[0] | song_ptr[1]<<8 | song_ptr[2]<<16 | song_ptr[3]<<24; 
+						song_ptr += (4 + size);
+						next_tick = song_ptr[0] | song_ptr[1]<<8 | song_ptr[2]<<16 | song_ptr[3]<<24; 
+						song_ptr += 4;
+						break;
+
+					default:
+						printf("Unknown opcode %d\n", opcode);
+						exit(-1);
+						break;
+				}
+			}
+		}
+		else
+		{
+//			ao_song_done = 1;
+		}
+	}
+
+	cur_tick++;
+}
+
+int32 spu_gen(int16 *buffer, uint32 samples)
+{
+	int i, run = 1;
+
+	if (old_fmt)
+	{
+		if (cur_event >= num_events)
+		{
+			run = 0;
+		}
+	}
+	else
+	{
+		if (cur_tick >= end_tick)
+		{
+			run = 0;
+		}
+	}
+
+	if (run)
+	{
+		for (i = 0; i < samples; i++)
+		{
+		  	spu_tick();
+			SPUasync(384);
+		}
+
+		spu_pOutput = (char *)buffer;
+		SPU_flushboot();
+	}
+	else
+	{
+		memset(buffer, 0, samples*2*sizeof(int16));
+	}
+
+	return AO_SUCCESS;
+}
+
+int32 spu_stop(void)
+{
+	return AO_SUCCESS;
+}
+
+int32 spu_command(int32 command, int32 parameter)
+{
+	switch (command)
+	{
+		case COMMAND_GET_MIN:
+		case COMMAND_GET_MAX:
+		{
+			return 0;
+		}
+		break;
+		
+		case COMMAND_HAS_PREV:
+		case COMMAND_HAS_NEXT:
+		case COMMAND_PREV:
+		case COMMAND_NEXT:
+		case COMMAND_JUMP:
+		{
+			return AO_FAIL;
+		}
+		break;
+		
+		case COMMAND_RESTART:
+		{
+			song_ptr = &start_of_file[0x80200];
+
+			if (old_fmt)
+			{
+				num_events = song_ptr[4] | song_ptr[5]<<8 | song_ptr[6]<<16 | song_ptr[7]<<24;
+			}
+			else
+			{
+				end_tick = song_ptr[0] | song_ptr[1]<<8 | song_ptr[2]<<16 | song_ptr[3]<<24; 
+				cur_tick = song_ptr[4] | song_ptr[5]<<8 | song_ptr[6]<<16 | song_ptr[7]<<24; 
+			}
+
+			song_ptr += 8;
+			cur_event = 0;
+			return AO_SUCCESS;
+		}
+		break;
+		
+#if VERBOSE
+		default:
+			printf("Unknown command executed!\n");
+			break;
+#endif		
+	}
+	
+	return AO_FAIL;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/license.txt	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,236 @@
+Here is a list of the licenses each file in this package are under, and their text.
+
+The upshot is this: if you create anything from this PSFSDK and include any MAME licensed components
+(which are an integral part of each engine supplied) you must distribute the source code to your
+derivative program.
+
+
+=====================================================================================
+
+BSD license:
+
+Copyright (c) 2007-2008, R. Belmont and Richard Bannister.
+
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+* Neither the names of R. Belmont and Richard Bannister nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+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.
+
+=====================================================================================
+
+MAME license:
+
+Copyright (c) 1997-2008, Nicola Salmoria and the MAME team
+All rights reserved.
+
+Redistribution and use of this code or any derivative works are permitted provided that the following conditions are met:
+
+    * Redistributions may not be sold, nor may they be used in a commercial product or activity.
+    * Redistributions that are modified from the original source must include the complete source code, including the source code for all components used by a binary built from the modified sources. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
+    * Redistributions must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+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.
+
+=====================================================================================
+
+GPL license:
+
+Too long to include here.
+
+See eng_psf/peops/License.txt or eng_psf/peops2/License.txt for the complete text.
+
+While legally combining GPL with BSD and MAME licensed software is unclear, Pete Bernert 
+will probably be OK with anything you do as long as you distribute the source for your
+AOSDK based creations.
+										  
+=====================================================================================
+
+ZLIB license:
+
+/* zlib.h -- interface of the 'zlib' general purpose compression library
+  version 1.2.2, October 3rd, 2004
+
+  Copyright (C) 1995-2004 Jean-loup Gailly and Mark Adler
+
+  This software is provided 'as-is', without any express or implied
+  warranty.  In no event will the authors be held liable for any damages
+  arising from the use of this software.
+
+  Permission is granted to anyone to use this software for any purpose,
+  including commercial applications, and to alter it and redistribute it
+  freely, subject to the following restrictions:
+
+  1. The origin of this software must not be misrepresented; you must not
+     claim that you wrote the original software. If you use this software
+     in a product, an acknowledgment in the product documentation would be
+     appreciated but is not required.
+  2. Altered source versions must be plainly marked as such, and must not be
+     misrepresented as being the original software.
+  3. This notice may not be removed or altered from any source distribution.
+
+  Jean-loup Gailly jloup@gzip.org
+  Mark Adler madler@alumni.caltech.edu
+
+*/
+
+=====================================================================================
+
+List of files and their licenses:
+
+ao.h			BSD
+corlett.c		BSD 
+corlett.h		BSD 
+cpuintrf.h		BSD 
+dsnd.c			BSD 
+eng_protos.h		BSD 
+main.c			BSD 
+Makefile		BSD 
+mem.h			BSD 
+osd_cpu.h		MAME
+oss.c			BSD 
+oss.h			BSD 
+
+eng_dsf:
+
+aica.c			MAME
+aica.h			MAME
+aicadsp.c		MAME
+aicadsp.h		MAME
+aicalfo.c		MAME
+arm7.c			MAME
+arm7.h			MAME
+arm7i.c			MAME
+arm7i.h			MAME
+arm7memil.c		MAME
+eng_dsf.c		BSD
+dc_hw.c			BSD
+dc_hw.h			BSD
+
+eng_qsf:
+
+eng_qsf.c		BSD
+kabuki.c		MAME
+qsound.c		MAME
+qsound.h		MAME
+z80.c			MAME
+z80dasm.c		MAME
+z80dasm.h		MAME
+z80.h			MAME
+
+eng_ssf:
+
+eng_ssf.c		BSD
+m68kconf.h		MAME
+m68kcpu.c		MAME
+m68kcpu.h		MAME
+m68k.h			MAME
+m68k_in.c		MAME
+m68kmake.c		MAME
+m68kmame.h		MAME
+m68kopac.c		MAME
+m68kopdm.c		MAME
+m68kopnz.c		MAME
+m68kops.c		MAME
+m68kops.h		MAME
+sat_hw.c		BSD
+sat_hw.h		BSD
+scsp.c			MAME
+scspdsp.c		MAME
+scspdsp.h		MAME
+scsp.h			MAME
+scsplfo.c		MAME
+
+eng_psf:
+
+eng_psf2.c		BSD
+eng_psf.c		BSD
+eng_spu.c		BSD
+psx_hw.c		BSD
+psx.c			MAME
+psx.h			MAME
+cpuintrf.h		MAME
+mamemem.h		MAME
+
+eng_psf/peops:
+
+adsr.c			GPL
+adsr.h			GPL
+dma.c			GPL
+dma.h			GPL
+externals.h		GPL
+gauss_i.h		GPL
+registers.c		GPL
+registers.h		GPL
+regs.h			GPL
+reverb.c		GPL
+spu.c			GPL
+spu.h			GPL
+stdafx.h		GPL
+
+
+eng_psf/peops2:
+
+adsr.c			GPL
+adsr.h			GPL
+dma.c			GPL
+dma.h			GPL
+externals.h		GPL
+gauss_i.h		GPL
+psemuxa.h		GPL
+registers.c		GPL
+registers.h		GPL
+regs.h			GPL
+reverb.c		GPL
+reverb.h		GPL
+spu.c			GPL
+spu.h			GPL
+stdafx.h		GPL
+xa.c			GPL
+
+
+
+zlib:
+
+adler32.c		ZLIB
+compress.c		ZLIB
+crc32.c			ZLIB
+crc32.h			ZLIB
+crypt.h			ZLIB
+deflate.c		ZLIB
+deflate.h		ZLIB
+gzio.c			ZLIB
+infback.c		ZLIB
+inffast.c		ZLIB
+inffast.h		ZLIB
+inffixed.h		ZLIB
+inflate.c		ZLIB
+inflate.h		ZLIB
+inftrees.c		ZLIB
+inftrees.h		ZLIB
+ioapi.c			ZLIB
+ioapi.h			ZLIB
+trees.c			ZLIB
+trees.h			ZLIB
+uncompr.c		ZLIB
+unzip.c			ZLIB
+unzip.h			ZLIB
+zconf.h			ZLIB
+zlib.h			ZLIB
+zutil.c			ZLIB
+zutil.h			ZLIB
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/mamemem.h	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,662 @@
+#ifndef _MEMORY_H
+#define _MEMORY_H
+
+#include <stddef.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __GNU__
+#define UNUSEDARG __attribute__((__unused__))
+#else
+#define UNUSEDARG
+#endif
+
+#define MAX_BANKS		20
+
+
+/* obsolete, to be removed */
+#define READ_WORD(a)		  (*(UINT16 *)(a))
+#define WRITE_WORD(a,d) 	  (*(UINT16 *)(a) = (d))
+#define COMBINE_WORD(w,d)	  (((w) & ((d) >> 16)) | ((d) & 0xffff))
+#define COMBINE_WORD_MEM(a,d) (WRITE_WORD((a), (READ_WORD(a) & ((d) >> 16)) | (d)))
+
+#define ASSERT_LINE (1)
+#define CLEAR_LINE  (0)
+#define TIME_NEVER (0)
+
+#define TIME_IN_HZ(hz)        (1.0 / (double)(hz))
+#define TIME_IN_MSEC(ms)      ((double)(ms) * (1.0 / 1000.0))
+#define TIME_IN_USEC(us)      ((double)(us) * (1.0 / 1000000.0))
+
+/***************************************************************************
+
+Note that the memory hooks are not passed the actual memory address where
+the operation takes place, but the offset from the beginning of the block
+they are assigned to. This makes handling of mirror addresses easier, and
+makes the handlers a bit more "object oriented". If you handler needs to
+read/write the main memory area, provide a "base" pointer: it will be
+initialized by the main engine to point to the beginning of the memory block
+assigned to the handler. You may also provided a pointer to "size": it
+will be set to the length of the memory area processed by the handler.
+
+***************************************************************************/
+
+#define MEMORY_WIDTH_MASK		0x00000003
+#define MEMORY_WIDTH_8			0x00000001
+#define MEMORY_WIDTH_16 		0x00000002
+#define MEMORY_WIDTH_32 		0x00000003
+
+#define MEMORY_TYPE_MASK		0x30000000
+#define MEMORY_TYPE_MEM 		0x10000000
+#define MEMORY_TYPE_IO			0x20000000
+
+#define MEMORY_DIRECTION_MASK   0xc0000000
+#define MEMORY_DIRECTION_READ   0x40000000
+#define MEMORY_DIRECTION_WRITE  0x80000000
+
+typedef unsigned int offs_t;
+typedef offs_t (*opbase_handler)(UNUSEDARG offs_t address);
+
+/***************************************************************************
+	8-BIT	Core memory read/write/opbase handler types
+***************************************************************************/
+
+typedef unsigned char data8_t;
+typedef unsigned short data16_t;
+
+typedef data8_t (*mem_read_handler)(UNUSEDARG offs_t offset);
+typedef void (*mem_write_handler)(UNUSEDARG offs_t offset, UNUSEDARG data8_t data);
+
+#define READ_HANDLER(name) data8_t name(UNUSEDARG offs_t offset)
+#define WRITE_HANDLER(name) void name(UNUSEDARG offs_t offset, UNUSEDARG data8_t data)
+#define OPBASE_HANDLER(name) offs_t name(UNUSEDARG offs_t address)
+
+#define READ16_HANDLER(name) data16_t name(UNUSEDARG offs_t offset, UNUSEDARG UINT32 mem_mask)
+#define WRITE16_HANDLER(name) void name(UNUSEDARG offs_t offset, UNUSEDARG data16_t data, UNUSEDARG UINT32 mem_mask)
+#define OPBASE16_HANDLER(name) offs_t name(UNUSEDARG offs_t address)
+
+#define MRA_NOP 0                           /* don't care, return 0 */
+#define MWA_NOP 0							/* do nothing */
+#define MRA_RAM ((mem_read_handler)-1)		/* plain RAM location (return its contents) */
+#define MWA_RAM ((mem_write_handler)-1) 	/* plain RAM location (store the value) */
+#define MRA_ROM ((mem_read_handler)-2)		/* plain ROM location (return its contents) */
+#define MWA_ROM ((mem_write_handler)-2) 	/* plain ROM location (do nothing) */
+/**************************************************************************
+ * If the CPU opcodes are encrypted, they are fetched from a different
+ * memory space. In such a case, if the program dynamically creates code
+ * in RAM and executes it, it won't work unless you use MWA_RAMROM
+ * to affect both memory spaces.
+ **************************************************************************/
+#define MWA_RAMROM ((mem_write_handler)-3)
+
+/* bank memory */
+#define MRA_BANK1 ((mem_read_handler)-10)
+#define MWA_BANK1 ((mem_write_handler)-10)
+#define MRA_BANK2 ((mem_read_handler)-11)
+#define MWA_BANK2 ((mem_write_handler)-11)
+#define MRA_BANK3 ((mem_read_handler)-12)
+#define MWA_BANK3 ((mem_write_handler)-12)
+#define MRA_BANK4 ((mem_read_handler)-13)
+#define MWA_BANK4 ((mem_write_handler)-13)
+#define MRA_BANK5 ((mem_read_handler)-14)
+#define MWA_BANK5 ((mem_write_handler)-14)
+#define MRA_BANK6 ((mem_read_handler)-15)
+#define MWA_BANK6 ((mem_write_handler)-15)
+#define MRA_BANK7 ((mem_read_handler)-16)
+#define MWA_BANK7 ((mem_write_handler)-16)
+#define MRA_BANK8 ((mem_read_handler)-17)
+#define MWA_BANK8 ((mem_write_handler)-17)
+#define MRA_BANK9 ((mem_read_handler)-18)
+#define MWA_BANK9 ((mem_write_handler)-18)
+#define MRA_BANK10 ((mem_read_handler)-19)
+#define MWA_BANK10 ((mem_write_handler)-19)
+#define MRA_BANK11 ((mem_read_handler)-20)
+#define MWA_BANK11 ((mem_write_handler)-20)
+#define MRA_BANK12 ((mem_read_handler)-21)
+#define MWA_BANK12 ((mem_write_handler)-21)
+#define MRA_BANK13 ((mem_read_handler)-22)
+#define MWA_BANK13 ((mem_write_handler)-22)
+#define MRA_BANK14 ((mem_read_handler)-23)
+#define MWA_BANK14 ((mem_write_handler)-23)
+#define MRA_BANK15 ((mem_read_handler)-24)
+#define MWA_BANK15 ((mem_write_handler)-24)
+#define MRA_BANK16 ((mem_read_handler)-25)
+#define MWA_BANK16 ((mem_write_handler)-25)
+#define MRA_BANK17 ((mem_read_handler)-26)
+#define MWA_BANK17 ((mem_write_handler)-26)
+#define MRA_BANK18 ((mem_read_handler)-27)
+#define MWA_BANK18 ((mem_write_handler)-27)
+#define MRA_BANK19 ((mem_read_handler)-28)
+#define MWA_BANK19 ((mem_write_handler)-28)
+#define MRA_BANK20 ((mem_read_handler)-29)
+#define MWA_BANK20 ((mem_write_handler)-29)
+
+struct Memory_ReadAddress
+{
+	offs_t start, end;
+	mem_read_handler handler;				/* see special values above */
+};
+
+struct Memory_WriteAddress
+{
+    offs_t start, end;
+	mem_write_handler handler;				/* see special values above */
+	data8_t **base;							/* optional (see explanation above) */
+    size_t *size;                           /* optional (see explanation above) */
+};
+
+#define MEMORY_MARKER ((offs_t)~0)
+
+#define MEMORY_END { MEMORY_MARKER, 0 } };
+
+#define IS_MEMORY_MARKER( ma ) ((ma)->start == MEMORY_MARKER && (ma)->end < MEMORY_MARKER)
+#define IS_MEMORY_END( ma ) ((ma)->start == MEMORY_MARKER && (ma)->end == 0)
+
+#define MEMORY_READ_START(name) const struct Memory_ReadAddress name[] = { \
+	{ MEMORY_MARKER, MEMORY_DIRECTION_READ | MEMORY_TYPE_MEM | MEMORY_WIDTH_8 },
+#define MEMORY_WRITE_START(name) const struct Memory_WriteAddress name[] = { \
+	{ MEMORY_MARKER, MEMORY_DIRECTION_WRITE | MEMORY_TYPE_MEM | MEMORY_WIDTH_8 },
+
+/***************************************************************************
+	16-BIT	Core memory read/write/opbase handler types
+***************************************************************************/
+
+typedef data16_t (*mem_read16_handler)(UNUSEDARG offs_t offset);
+typedef void (*mem_write16_handler)(UNUSEDARG offs_t offset, UNUSEDARG data16_t data, UNUSEDARG UINT32 mem_mask);
+
+#define READ16_HANDLER(name) data16_t name(UNUSEDARG offs_t offset, UNUSEDARG UINT32 mem_mask)
+#define WRITE16_HANDLER(name) void name(UNUSEDARG offs_t offset, UNUSEDARG data16_t data, UNUSEDARG UINT32 mem_mask)
+#define OPBASE16_HANDLER(name) offs_t name(UNUSEDARG offs_t address)
+
+#define MRA16_NOP 0 						/* don't care, return 0 */
+#define MWA16_NOP 0 						/* do nothing */
+#define MRA16_RAM ((mem_read16_handler)-1)  /* plain RAM location (return its contents) */
+#define MWA16_RAM ((mem_write16_handler)-1) /* plqain RAM location (store the value) */
+#define MRA16_ROM ((mem_read16_handler)-2)	/* plain ROM location (return its contents) */
+#define MWA16_ROM ((mem_write16_handler)-2) /* plain ROM location (do nothing) */
+/**************************************************************************
+ * If the CPU opcodes are encrypted, they are fetched from a different
+ * memory space. In such a case, if the program dynamically creates code
+ * in RAM and executes it, it won't work unless you use MWA_RAMROM
+ * to affect both memory spaces.
+ **************************************************************************/
+#define MWA16_RAMROM ((mem_write16_handler)-3)
+
+/* bank memory */
+#define MRA16_BANK1 ((mem_read16_handler)-10)
+#define MWA16_BANK1 ((mem_write16_handler)-10)
+#define MRA16_BANK2 ((mem_read16_handler)-11)
+#define MWA16_BANK2 ((mem_write16_handler)-11)
+#define MRA16_BANK3 ((mem_read16_handler)-12)
+#define MWA16_BANK3 ((mem_write16_handler)-12)
+#define MRA16_BANK4 ((mem_read16_handler)-13)
+#define MWA16_BANK4 ((mem_write16_handler)-13)
+#define MRA16_BANK5 ((mem_read16_handler)-14)
+#define MWA16_BANK5 ((mem_write16_handler)-14)
+#define MRA16_BANK6 ((mem_read16_handler)-15)
+#define MWA16_BANK6 ((mem_write16_handler)-15)
+#define MRA16_BANK7 ((mem_read16_handler)-16)
+#define MWA16_BANK7 ((mem_write16_handler)-16)
+#define MRA16_BANK8 ((mem_read16_handler)-17)
+#define MWA16_BANK8 ((mem_write16_handler)-17)
+#define MRA16_BANK9 ((mem_read16_handler)-18)
+#define MWA16_BANK9 ((mem_write16_handler)-18)
+#define MRA16_BANK10 ((mem_read16_handler)-19)
+#define MWA16_BANK10 ((mem_write16_handler)-19)
+#define MRA16_BANK11 ((mem_read16_handler)-20)
+#define MWA16_BANK11 ((mem_write16_handler)-20)
+#define MRA16_BANK12 ((mem_read16_handler)-21)
+#define MWA16_BANK12 ((mem_write16_handler)-21)
+#define MRA16_BANK13 ((mem_read16_handler)-22)
+#define MWA16_BANK13 ((mem_write16_handler)-22)
+#define MRA16_BANK14 ((mem_read16_handler)-23)
+#define MWA16_BANK14 ((mem_write16_handler)-23)
+#define MRA16_BANK15 ((mem_read16_handler)-24)
+#define MWA16_BANK15 ((mem_write16_handler)-24)
+#define MRA16_BANK16 ((mem_read16_handler)-25)
+#define MWA16_BANK16 ((mem_write16_handler)-25)
+#define MRA16_BANK17 ((mem_read16_handler)-26)
+#define MWA16_BANK17 ((mem_write16_handler)-26)
+#define MRA16_BANK18 ((mem_read16_handler)-27)
+#define MWA16_BANK18 ((mem_write16_handler)-27)
+#define MRA16_BANK19 ((mem_read16_handler)-28)
+#define MWA16_BANK19 ((mem_write16_handler)-28)
+#define MRA16_BANK20 ((mem_read16_handler)-29)
+#define MWA16_BANK20 ((mem_write16_handler)-29)
+
+struct Memory_ReadAddress16
+{
+	offs_t start, end;
+	mem_read16_handler handler; 			/* see special values above */
+};
+
+struct Memory_WriteAddress16
+{
+	offs_t start, end;
+	mem_write16_handler handler;			/* see special values above */
+	data16_t **base;						/* optional (see explanation above) */
+    size_t *size;                           /* optional (see explanation above) */
+};
+
+#define MEMORY_READ16_START(name) const struct Memory_ReadAddress16 name[] = { \
+	{ MEMORY_MARKER, MEMORY_DIRECTION_READ | MEMORY_TYPE_MEM | MEMORY_WIDTH_16 },
+#define MEMORY_WRITE16_START(name) const struct Memory_WriteAddress16 name[] = { \
+	{ MEMORY_MARKER, MEMORY_DIRECTION_WRITE | MEMORY_TYPE_MEM | MEMORY_WIDTH_16 },
+
+/***************************************************************************
+	32-BIT	Core memory read/write/opbase handler types
+***************************************************************************/
+
+typedef UINT32 data32_t;
+
+typedef data32_t (*mem_read32_handler)(UNUSEDARG offs_t offset);
+typedef void (*mem_write32_handler)(UNUSEDARG offs_t offset, UNUSEDARG data32_t data, UNUSEDARG UINT32 mem_mask);
+
+#define READ32_HANDLER(name) data32_t name(UNUSEDARG offs_t offset, UNUSEDARG UINT32 mem_mask)
+#define WRITE32_HANDLER(name) void name(UNUSEDARG offs_t offset, UNUSEDARG data32_t data, UNUSEDARG UINT32 mem_mask)
+#define OPBASE32_HANDLER(name) offs_t name(UNUSEDARG offs_t address)
+
+#define MRA32_NOP 0 						/* don't care, return 0 */
+#define MWA32_NOP 0 						/* do nothing */
+#define MRA32_RAM ((mem_read32_handler)-1)  /* plain RAM location (return its contents) */
+#define MWA32_RAM ((mem_write32_handler)-1) /* plain RAM location (store the value) */
+#define MRA32_ROM ((mem_read32_handler)-2)	/* plain ROM location (return its contents) */
+#define MWA32_ROM ((mem_write32_handler)-2) /* plain ROM location (do nothing) */
+/**************************************************************************
+ * If the CPU opcodes are encrypted, they are fetched from a different
+ * memory space. In such a case, if the program dynamically creates code
+ * in RAM and executes it, it won't work unless you use MWA_RAMROM
+ * to affect both memory spaces.
+ **************************************************************************/
+#define MWA32_RAMROM ((mem_write32_handler)-3)
+
+/* bank memory */
+#define MRA32_BANK1 ((mem_read32_handler)-10)
+#define MWA32_BANK1 ((mem_write32_handler)-10)
+#define MRA32_BANK2 ((mem_read32_handler)-11)
+#define MWA32_BANK2 ((mem_write32_handler)-11)
+#define MRA32_BANK3 ((mem_read32_handler)-12)
+#define MWA32_BANK3 ((mem_write32_handler)-12)
+#define MRA32_BANK4 ((mem_read32_handler)-13)
+#define MWA32_BANK4 ((mem_write32_handler)-13)
+#define MRA32_BANK5 ((mem_read32_handler)-14)
+#define MWA32_BANK5 ((mem_write32_handler)-14)
+#define MRA32_BANK6 ((mem_read32_handler)-15)
+#define MWA32_BANK6 ((mem_write32_handler)-15)
+#define MRA32_BANK7 ((mem_read32_handler)-16)
+#define MWA32_BANK7 ((mem_write32_handler)-16)
+#define MRA32_BANK8 ((mem_read32_handler)-17)
+#define MWA32_BANK8 ((mem_write32_handler)-17)
+#define MRA32_BANK9 ((mem_read32_handler)-18)
+#define MWA32_BANK9 ((mem_write32_handler)-18)
+#define MRA32_BANK10 ((mem_read32_handler)-19)
+#define MWA32_BANK10 ((mem_write32_handler)-19)
+#define MRA32_BANK11 ((mem_read32_handler)-20)
+#define MWA32_BANK11 ((mem_write32_handler)-20)
+#define MRA32_BANK12 ((mem_read32_handler)-21)
+#define MWA32_BANK12 ((mem_write32_handler)-21)
+#define MRA32_BANK13 ((mem_read32_handler)-22)
+#define MWA32_BANK13 ((mem_write32_handler)-22)
+#define MRA32_BANK14 ((mem_read32_handler)-23)
+#define MWA32_BANK14 ((mem_write32_handler)-23)
+#define MRA32_BANK15 ((mem_read32_handler)-24)
+#define MWA32_BANK15 ((mem_write32_handler)-24)
+#define MRA32_BANK32 ((mem_read32_handler)-25)
+#define MWA32_BANK32 ((mem_write32_handler)-25)
+#define MRA32_BANK17 ((mem_read32_handler)-26)
+#define MWA32_BANK17 ((mem_write32_handler)-26)
+#define MRA32_BANK18 ((mem_read32_handler)-27)
+#define MWA32_BANK18 ((mem_write32_handler)-27)
+#define MRA32_BANK19 ((mem_read32_handler)-28)
+#define MWA32_BANK19 ((mem_write32_handler)-28)
+#define MRA32_BANK20 ((mem_read32_handler)-29)
+#define MWA32_BANK20 ((mem_write32_handler)-29)
+
+struct Memory_ReadAddress32
+{
+	offs_t start, end;
+	mem_read32_handler handler; 			/* see special values above */
+};
+
+struct Memory_WriteAddress32
+{
+	offs_t start, end;
+	mem_write32_handler handler;			/* see special values above */
+	data32_t **base;						/* optional (see explanation above) */
+	size_t *size;							/* optional (see explanation above) */
+};
+
+#define MEMORY_READ32_START(name) const struct Memory_ReadAddress32 name[] = { \
+	{ MEMORY_MARKER, MEMORY_DIRECTION_READ | MEMORY_TYPE_MEM | MEMORY_WIDTH_32 },
+#define MEMORY_WRITE32_START(name) const struct Memory_WriteAddress32 name[] = { \
+	{ MEMORY_MARKER, MEMORY_DIRECTION_WRITE | MEMORY_TYPE_MEM | MEMORY_WIDTH_32 },
+
+/***************************************************************************
+
+IN and OUT ports are handled like memory accesses, the hook template is the
+same so you can interchange them. Of course there is no 'base' pointer for
+IO ports.
+
+***************************************************************************/
+
+struct IO_ReadPort
+{
+	offs_t start,end;
+	mem_read_handler handler;				/* see special values below */
+};
+
+#define IORP_NOP 0	/* don't care, return 0 */
+
+
+struct IO_WritePort
+{
+	offs_t start,end;
+	mem_write_handler handler;				/* see special values below */
+};
+
+#define IOWP_NOP 0	/* do nothing */
+
+#define PORT_READ_START(name) const struct IO_ReadPort name[] = { \
+	{ MEMORY_MARKER, MEMORY_DIRECTION_READ | MEMORY_TYPE_IO | MEMORY_WIDTH_8 },
+#define PORT_WRITE_START(name) const struct IO_WritePort name[] = { \
+	{ MEMORY_MARKER, MEMORY_DIRECTION_WRITE | MEMORY_TYPE_IO | MEMORY_WIDTH_8 },
+#define PORT_END	MEMORY_END
+
+/***************************************************************************
+
+If a memory region contains areas that are outside of the ROM region for
+an address space, the memory system will allocate an array of structures
+to track the external areas.
+
+***************************************************************************/
+
+#define MAX_EXT_MEMORY 64
+
+struct ExtMemory
+{
+	offs_t start,end,region;
+    UINT8 *data;
+};
+
+extern struct ExtMemory ext_memory[MAX_EXT_MEMORY];
+
+
+
+/***************************************************************************
+
+For a given number of address bits, we need to determine how many elements
+there are in the first and second-order lookup tables. We also need to know
+how many low-order bits to ignore. The ABITS* values represent these
+constants for each address space type we support.
+
+***************************************************************************/
+
+/* memory element block size */
+#define MH_SBITS		8			/* sub element bank size */
+#define MH_PBITS		8			/* port current element size */
+#define MH_ELEMAX		64			/* sub elements limit */
+#define MH_HARDMAX		64			/* hardware functions limit */
+
+/* 16 bits address */
+#define ABITS1_16		12
+#define ABITS2_16		4
+#define ABITS_MIN_16	0			/* minimum memory block is 1 byte */
+/* 16 bits address (word access) */
+#define ABITS1_16W	12
+#define ABITS2_16W	3
+#define ABITS_MIN_16W 1			/* minimum memory block is 2 bytes */
+/* 20 bits address */
+#define ABITS1_20		12
+#define ABITS2_20		8
+#define ABITS_MIN_20	0			/* minimum memory block is 1 byte */
+/* 21 bits address */
+#define ABITS1_21		13
+#define ABITS2_21		8
+#define ABITS_MIN_21	0			/* minimum memory block is 1 byte */
+/* 24 bits address */
+#define ABITS1_24		16
+#define ABITS2_24		8
+#define ABITS_MIN_24	0			/* minimum memory block is 1 byte */
+/* 24 bits address (word access) */
+#define ABITS1_24W	15
+#define ABITS2_24W	8
+#define ABITS_MIN_24W 1			/* minimum memory block is 2 bytes */
+/* 24 bits address (dword access) */
+#define ABITS1_24DW	14
+#define ABITS2_24DW	8
+#define ABITS_MIN_24DW 2			/* minimum memory block is 4 bytes */
+/* 26 bits address (dword access) */
+#define ABITS1_26DW	16
+#define ABITS2_26DW	8
+#define ABITS_MIN_26DW 2			/* minimum memory block is 4 bytes */
+/* 29 bits address (word access) */
+#define ABITS1_29W	20
+#define ABITS2_29W	8
+#define ABITS_MIN_29W	1			/* minimum memory block is 2 bytes */
+/* 32 bits address (word access) */
+#define ABITS1_32W	23
+#define ABITS2_32W	8
+#define ABITS_MIN_32W	1			/* minimum memory block is 2 bytes */
+/* 32 bits address (dword access) */
+#define ABITS1_32DW	22
+#define ABITS2_32DW	8
+#define ABITS_MIN_32DW	2			/* minimum memory block is 4 bytes */
+/* mask bits */
+#define MHMASK(abits)	 (0xffffffff >> (32 - abits))
+
+
+/***************************************************************************
+
+	Global variables
+
+***************************************************************************/
+
+typedef unsigned char MHELE;
+
+extern MHELE ophw;				/* opcode handler */
+extern MHELE *cur_mrhard;		/* current set of read handlers */
+extern MHELE *cur_mwhard;		/* current set of write handlers */
+
+extern UINT8 *OP_RAM;			/* opcode RAM base */
+extern UINT8 *OP_ROM;			/* opcode ROM base */
+extern UINT8 *cpu_bankbase[];	/* array of bank bases */
+
+
+/* global memory access width and mask (16-bit and 32-bit under-size accesses) */
+//extern UINT32 mem_width;
+//extern UINT32 mem_mask;
+//extern UINT32 mem_offs;
+
+/***************************************************************************
+
+	Macros
+
+***************************************************************************/
+
+/* ----- 16-bit memory accessing ----- */
+#define COMBINE_DATA(varptr)	(*(varptr) = (*(varptr) & mem_mask) | (data & ~mem_mask))
+#define ACCESSING_LSB ((mem_mask & 0x00ff) == 0)
+#define ACCESSING_MSB ((mem_mask & 0xff00) == 0)
+
+//extern unsigned char prgrom[128*1024];
+
+/* ----- opcode reading ----- */
+#define cpu_readop cpu_readmem16
+//#define cpu_readop16(A) 	READ_WORD(&prgrom[A&0x3fff])
+//#define cpu_readop32(A) 	READ_DWORD(&prgrom[A&0x3fff])
+
+/* ----- opcode argument reading ----- */
+#define cpu_readop_arg cpu_readmem16
+//#define cpu_readop_arg16(A) READ_WORD(&prgrom[A&0x3fff])
+//#define cpu_readop_arg32(A) READ_DWORD(&prgrom[A&0x3fff])
+
+/* ----- bank switching for CPU cores ----- */
+#define change_pc_generic(pc,abits2,abitsmin,shift,setop)	\
+{															\
+	if (cur_mrhard[(pc)>>(abits2+abitsmin+shift)] != ophw)	\
+		setop(pc);											\
+}
+#define change_pc16(pc) 	 
+//change_pc_generic(pc, ABITS2_16, ABITS_MIN_16, 0, cpu_setOPbase16)
+#define change_pc20(pc) 	 change_pc_generic(pc, ABITS2_20, ABITS_MIN_20, 0, cpu_setOPbase20)
+#define change_pc21(pc) 	 change_pc_generic(pc, ABITS2_21, ABITS_MIN_21, 0, cpu_setOPbase21)
+#define change_pc24(pc) 	 change_pc_generic(pc, ABITS2_24, ABITS_MIN_24, 0, cpu_setOPbase24)
+#define change_pc16bew(pc)	 change_pc_generic(pc, ABITS2_16W,   ABITS_MIN_16W,   0, cpu_setOPbase16bew)
+#define change_pc16lew(pc)	 change_pc_generic(pc, ABITS2_16W,   ABITS_MIN_16W,   0, cpu_setOPbase16lew)
+#define change_pc24bew(pc)	 change_pc_generic(pc, ABITS2_24W,   ABITS_MIN_24W,   0, cpu_setOPbase24bew)
+#define change_pc29lew(pc)   change_pc_generic(pc, ABITS2_29W,   ABITS_MIN_29W,   3, cpu_setOPbase29lew)
+#define change_pc32bew(pc) 	 change_pc_generic(pc, ABITS2_32W,   ABITS_MIN_32W,   0, cpu_setOPbase32bew)
+#define change_pc32lew(pc)	 change_pc_generic(pc, ABITS2_32W,   ABITS_MIN_32W,   0, cpu_setOPbase32lew)
+#define change_pc24bedw(pc)	 change_pc_generic(pc, ABITS2_24DW,  ABITS_MIN_24DW,  0, cpu_setOPbase24bedw)
+#define change_pc26ledw(pc)	 change_pc_generic(pc, ABITS2_26DW,  ABITS_MIN_26DW,  0, cpu_setOPbase26ledw)
+#define change_pc32bedw(pc)  change_pc_generic(pc, ABITS2_32DW,  ABITS_MIN_32DW,  0, cpu_setOPbase32bedw)
+
+/* backward compatibility */
+#define change_pc(pc)
+// change_pc16(pc)
+
+/* ----- for use OPbaseOverride driver, request override callback to next cpu_setOPbase ----- */
+#define catch_nextBranch()	(ophw = 0xff)
+
+/* -----  bank switching macro ----- */
+#define cpu_setbank(bank, base) 						\
+{														\
+	if (bank >= 1 && bank <= MAX_BANKS) 				\
+	{													\
+		cpu_bankbase[bank] = (UINT8 *)(base);			\
+		if (ophw == bank)								\
+		{												\
+			ophw = 0xff;								\
+			cpu_set_op_base(cpu_get_pc());				\
+		}												\
+	}													\
+}
+
+
+/***************************************************************************
+
+	Function prototypes
+
+***************************************************************************/
+
+/* ----- memory setup function ----- */
+
+/* ----- memory read functions ----- */
+data8_t cpu_readmem16(offs_t address);
+data8_t cpu_readmem20(offs_t address);
+data8_t cpu_readmem21(offs_t address);
+data8_t cpu_readmem24(offs_t address);
+
+data16_t cpu_readmem16bew(offs_t address);
+data16_t cpu_readmem16bew_word(offs_t address);
+data16_t cpu_readmem16lew(offs_t address);
+data16_t cpu_readmem16lew_word(offs_t address);
+data16_t cpu_readmem24bew(offs_t address);
+data16_t cpu_readmem24bew_word(offs_t address);
+data16_t cpu_readmem29lew(offs_t address);
+data16_t cpu_readmem29lew_word(offs_t address);
+data16_t cpu_readmem32bew(offs_t address);
+data16_t cpu_readmem32bew_word(offs_t address);
+data16_t cpu_readmem32lew(offs_t address);
+data16_t cpu_readmem32lew_word(offs_t address);
+
+data32_t cpu_readmem24bedw(offs_t address);
+data32_t cpu_readmem24bedw_word(offs_t address);
+data32_t cpu_readmem24bedw_dword(offs_t address);
+data32_t cpu_readmem26ledw(offs_t address);
+data32_t cpu_readmem26ledw_word(offs_t address);
+data32_t cpu_readmem26ledw_dword(offs_t address);
+data32_t cpu_readmem27bedw(offs_t address);
+data32_t cpu_readmem27bedw_word(offs_t address);
+data32_t cpu_readmem27bedw_dword(offs_t address);
+data32_t cpu_readmem32bedw(offs_t address);
+data32_t cpu_readmem32bedw_word(offs_t address);
+data32_t cpu_readmem32bedw_dword(offs_t address);
+
+/* ----- memory write functions ----- */
+void cpu_writemem16(offs_t address,data8_t data);
+void cpu_writemem20(offs_t address,data8_t data);
+void cpu_writemem21(offs_t address,data8_t data);
+void cpu_writemem24(offs_t address,data8_t data);
+
+void cpu_writemem16bew(offs_t address,data16_t data);
+void cpu_writemem16bew_word(offs_t address,data16_t data);
+void cpu_writemem16lew(offs_t address,data16_t data);
+void cpu_writemem16lew_word(offs_t address,data16_t data);
+void cpu_writemem24bew(offs_t address,data16_t data);
+void cpu_writemem24bew_word(offs_t address,data16_t data);
+void cpu_writemem29lew(offs_t address,data16_t data);
+void cpu_writemem29lew_word(offs_t address,data16_t data);
+void cpu_writemem32bew(offs_t address,data16_t data);
+void cpu_writemem32bew_word(offs_t address,data16_t data);
+void cpu_writemem32lew(offs_t address,data16_t data);
+void cpu_writemem32lew_word(offs_t address,data16_t data);
+
+void cpu_writemem24bedw(offs_t address,data32_t data);
+void cpu_writemem24bedw_word(offs_t address,data32_t data);
+void cpu_writemem24bedw_dword(offs_t address,data32_t data);
+void cpu_writemem26ledw(offs_t address,data32_t data);
+void cpu_writemem26ledw_word(offs_t address,data32_t data);
+void cpu_writemem26ledw_dword(offs_t address,data32_t data);
+void cpu_writemem27bedw(offs_t address,data32_t data);
+void cpu_writemem27bedw_word(offs_t address,data32_t data);
+void cpu_writemem27bedw_dword(offs_t address,data32_t data);
+void cpu_writemem32bedw(offs_t address,data32_t data);
+void cpu_writemem32bedw_word(offs_t address,data32_t data);
+void cpu_writemem32bedw_dword(offs_t address,data32_t data);
+
+/* ----- port I/O functions ----- */
+int cpu_readport(int port);
+void cpu_writeport(int port, int value);
+
+/* ----- dynamic memory/port mapping ----- */
+void *install_mem_read_handler(int cpu, int start, int end, mem_read_handler handler);
+void *install_mem_read16_handler(int cpu, int start, int end, mem_read16_handler handler);
+void *install_mem_read32_handler(int cpu, int start, int end, mem_read32_handler handler);
+void *install_mem_write_handler(int cpu, int start, int end, mem_write_handler handler);
+void *install_mem_write16_handler(int cpu, int start, int end, mem_write16_handler handler);
+void *install_mem_write32_handler(int cpu, int start, int end, mem_write32_handler handler);
+void *install_port_read_handler(int cpu, int start, int end, mem_read_handler handler);
+void *install_port_write_handler(int cpu, int start, int end, mem_write_handler handler);
+
+/* ----- dynamic bank handlers ----- */
+void cpu_setbankhandler_r(int bank, mem_read_handler handler);
+void cpu_setbankhandler_w(int bank, mem_write_handler handler);
+
+/* ----- opcode base control ---- */
+void cpu_setOPbase16(offs_t pc);
+void cpu_setOPbase20(offs_t pc);
+void cpu_setOPbase21(offs_t pc);
+void cpu_setOPbase24(offs_t pc);
+void cpu_setOPbase16bew(offs_t pc);
+void cpu_setOPbase16lew(offs_t pc);
+void cpu_setOPbase24bew(offs_t pc);
+void cpu_setOPbase24bedw(offs_t pc);
+void cpu_setOPbase26ledw(offs_t pc);
+void cpu_setOPbase29lew(offs_t pc);
+void cpu_setOPbase32bew(offs_t pc);
+void cpu_setOPbase32lew(offs_t pc);
+void cpu_setOPbaseoverride(int cpu, opbase_handler function);
+
+/* ----- harder-to-explain functions ---- */
+
+/* use this to set the a different opcode base address when using a CPU with
+   opcodes and data encrypted separately */
+void memory_set_opcode_base(int cpu, void *base);
+
+/* look up a chunk of memory and get its start/end addresses, and its base.
+Pass in the cpu number and the offset. It will find the chunk containing
+that offset and return the start and end addresses, along with a pointer to
+the base of the memory.
+This can be used (carefully!) by drivers that wish to access memory directly
+without going through the readmem/writemem accessors (e.g., blitters). */
+void *findmemorychunk(int cpu, int offset, int *chunkstart, int *chunkend);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* !_MEMORY_H */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/osd_cpu.h	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,70 @@
+/*******************************************************************************
+*																			   *
+*	Define size independent data types and operations.						   *
+*																			   *
+*   The following types must be supported by all platforms:					   *
+*																			   *
+*	UINT8  - Unsigned 8-bit Integer		INT8  - Signed 8-bit integer           *
+*	UINT16 - Unsigned 16-bit Integer	INT16 - Signed 16-bit integer          *
+*	UINT32 - Unsigned 32-bit Integer	INT32 - Signed 32-bit integer          *
+*	UINT64 - Unsigned 64-bit Integer	INT64 - Signed 64-bit integer          *
+*																			   *
+*																			   *
+*   The macro names for the artithmatic operations are composed as follows:    *
+*																			   *
+*   XXX_R_A_B, where XXX - 3 letter operation code (ADD, SUB, etc.)			   *
+*					 R   - The type	of the result							   *
+*					 A   - The type of operand 1							   *
+*			         B   - The type of operand 2 (if binary operation)		   *
+*																			   *
+*				     Each type is one of: U8,8,U16,16,U32,32,U64,64			   *
+*																			   *
+*******************************************************************************/
+
+
+#ifndef OSD_CPU_H
+#define OSD_CPU_H
+
+#include "ao.h"
+
+/* Combine two 32-bit integers into a 64-bit integer */
+#define COMBINE_64_32_32(A,B)     ((((UINT64)(A))<<32) | (UINT32)(B))
+#define COMBINE_U64_U32_U32(A,B)  COMBINE_64_32_32(A,B)
+
+/* Return upper 32 bits of a 64-bit integer */
+#define HI32_32_64(A)		  (((UINT64)(A)) >> 32)
+#define HI32_U32_U64(A)		  HI32_32_64(A)
+
+/* Return lower 32 bits of a 64-bit integer */
+#define LO32_32_64(A)		  ((A) & 0xffffffff)
+#define LO32_U32_U64(A)		  LO32_32_64(A)
+
+#define DIV_64_64_32(A,B)	  ((A)/(B))
+#define DIV_U64_U64_U32(A,B)  ((A)/(UINT32)(B))
+
+#define MOD_32_64_32(A,B)	  ((A)%(B))
+#define MOD_U32_U64_U32(A,B)  ((A)%(UINT32)(B))
+
+#define MUL_64_32_32(A,B)	  ((A)*(INT64)(B))
+#define MUL_U64_U32_U32(A,B)  ((A)*(UINT64)(UINT32)(B))
+
+
+/******************************************************************************
+ * Union of UINT8, UINT16 and UINT32 in native endianess of the target
+ * This is used to access bytes and words in a machine independent manner.
+ * The upper bytes h2 and h3 normally contain zero (16 bit CPU cores)
+ * thus PAIR.d can be used to pass arguments to the memory system
+ * which expects 'int' really.
+ ******************************************************************************/
+typedef union {
+#if LSB_FIRST
+	struct { UINT8 l,h,h2,h3; } b;
+	struct { UINT16 l,h; } w;
+#else
+	struct { UINT8 h3,h2,h,l; } b;
+	struct { UINT16 h,l; } w;
+#endif
+	UINT32 d;
+}	PAIR;
+
+#endif	/* defined OSD_CPU_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/peops/License.txt	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,282 @@
+#########################################################################
+
+		    GNU GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+                          675 Mass Ave, Cambridge, MA 02139, USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+			    NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/peops/adsr.c	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,618 @@
+/***************************************************************************
+                          adsr.c  -  description
+                             -------------------
+    begin                : Wed May 15 2002
+    copyright            : (C) 2002 by Pete Bernert
+    email                : BlackDove@addcom.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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; either version 2 of the License, or     *
+ *   (at your option) any later version. See also the license.txt file for *
+ *   additional informations.                                              *
+ *                                                                         *
+ ***************************************************************************/
+
+//*************************************************************************//
+// History of changes:
+//
+// 2003/01/06 - Pete
+// - added Neill's ADSR timings
+//
+// 2002/05/15 - Pete
+// - generic cleanup for the Peops release
+//
+//*************************************************************************//
+
+#define _IN_ADSR
+
+// will be included from spu.c
+#ifdef _IN_SPU
+
+////////////////////////////////////////////////////////////////////////
+// ADSR func
+////////////////////////////////////////////////////////////////////////
+
+static u32 RateTable[160];
+
+static void InitADSR(void)                                    // INIT ADSR
+{
+ u32 r,rs,rd;int i;
+
+ memset(RateTable,0,sizeof(u32)*160);        // build the rate table according to Neill's rules (see at bottom of file)
+
+ r=3;rs=1;rd=0;
+
+ for(i=32;i<160;i++)                                   // we start at pos 32 with the real values... everything before is 0
+  {
+   if(r<0x3FFFFFFF)
+    {
+     r+=rs;
+     rd++;if(rd==5) {rd=1;rs*=2;}
+    }
+   if(r>0x3FFFFFFF) r=0x3FFFFFFF;
+
+   RateTable[i]=r;
+  }
+}
+
+////////////////////////////////////////////////////////////////////////
+
+static INLINE void StartADSR(int ch)                          // MIX ADSR
+{
+ s_chan[ch].ADSRX.lVolume=1;                           // and init some adsr vars
+ s_chan[ch].ADSRX.State=0;
+ s_chan[ch].ADSRX.EnvelopeVol=0;
+}
+
+////////////////////////////////////////////////////////////////////////
+
+static INLINE int MixADSR(int ch)                             // MIX ADSR
+{    
+ static const int sexytable[8]=
+	{0,4,6,8,9,10,11,12};
+
+ if(s_chan[ch].bStop)                                  // should be stopped:
+  {                                                    // do release
+   if(s_chan[ch].ADSRX.ReleaseModeExp)
+    {
+     s_chan[ch].ADSRX.EnvelopeVol-=RateTable[(4*(s_chan[ch].ADSRX.ReleaseRate^0x1F))-0x18+32+sexytable[(s_chan[ch].ADSRX.EnvelopeVol>>28)&0x7]];
+    }
+   else
+    {
+     s_chan[ch].ADSRX.EnvelopeVol-=RateTable[(4*(s_chan[ch].ADSRX.ReleaseRate^0x1F))-0x0C + 32];
+    }
+
+   if(s_chan[ch].ADSRX.EnvelopeVol<0) 
+    {
+     s_chan[ch].ADSRX.EnvelopeVol=0;
+     s_chan[ch].bOn=0;
+     s_chan[ch].bNoise=0;
+    }
+
+   s_chan[ch].ADSRX.lVolume=s_chan[ch].ADSRX.EnvelopeVol>>21;
+   return s_chan[ch].ADSRX.lVolume;
+  }
+ else                                                  // not stopped yet?
+  {
+   if(s_chan[ch].ADSRX.State==0)                       // -> attack
+    {
+     if(s_chan[ch].ADSRX.AttackModeExp)
+      {
+       if(s_chan[ch].ADSRX.EnvelopeVol<0x60000000) 
+        s_chan[ch].ADSRX.EnvelopeVol+=RateTable[(s_chan[ch].ADSRX.AttackRate^0x7F)-0x10 + 32];
+       else
+        s_chan[ch].ADSRX.EnvelopeVol+=RateTable[(s_chan[ch].ADSRX.AttackRate^0x7F)-0x18 + 32];
+      }
+     else
+      {
+       s_chan[ch].ADSRX.EnvelopeVol+=RateTable[(s_chan[ch].ADSRX.AttackRate^0x7F)-0x10 + 32];
+      }
+
+     if(s_chan[ch].ADSRX.EnvelopeVol<0) 
+      {
+       s_chan[ch].ADSRX.EnvelopeVol=0x7FFFFFFF;
+       s_chan[ch].ADSRX.State=1;
+      }
+
+     s_chan[ch].ADSRX.lVolume=s_chan[ch].ADSRX.EnvelopeVol>>21;
+     return s_chan[ch].ADSRX.lVolume;
+    }
+   //--------------------------------------------------//
+   if(s_chan[ch].ADSRX.State==1)                       // -> decay
+    {
+     s_chan[ch].ADSRX.EnvelopeVol-=RateTable[(4*(s_chan[ch].ADSRX.DecayRate^0x1F))-0x18+32+sexytable[(s_chan[ch].ADSRX.EnvelopeVol>>28)&0x7]];
+
+     if(s_chan[ch].ADSRX.EnvelopeVol<0) s_chan[ch].ADSRX.EnvelopeVol=0;
+     if(((s_chan[ch].ADSRX.EnvelopeVol>>27)&0xF) <= s_chan[ch].ADSRX.SustainLevel)
+      {
+       s_chan[ch].ADSRX.State=2;
+      }
+
+     s_chan[ch].ADSRX.lVolume=s_chan[ch].ADSRX.EnvelopeVol>>21;
+     return s_chan[ch].ADSRX.lVolume;
+    }
+   //--------------------------------------------------//
+   if(s_chan[ch].ADSRX.State==2)                       // -> sustain
+    {
+     if(s_chan[ch].ADSRX.SustainIncrease)
+      {
+       if(s_chan[ch].ADSRX.SustainModeExp)
+        {
+         if(s_chan[ch].ADSRX.EnvelopeVol<0x60000000) 
+          s_chan[ch].ADSRX.EnvelopeVol+=RateTable[(s_chan[ch].ADSRX.SustainRate^0x7F)-0x10 + 32];
+         else
+          s_chan[ch].ADSRX.EnvelopeVol+=RateTable[(s_chan[ch].ADSRX.SustainRate^0x7F)-0x18 + 32];
+        }
+       else
+        {
+         s_chan[ch].ADSRX.EnvelopeVol+=RateTable[(s_chan[ch].ADSRX.SustainRate^0x7F)-0x10 + 32];
+        }
+
+       if(s_chan[ch].ADSRX.EnvelopeVol<0) 
+        {
+         s_chan[ch].ADSRX.EnvelopeVol=0x7FFFFFFF;
+        }
+      }
+     else
+      {
+       if(s_chan[ch].ADSRX.SustainModeExp)
+        s_chan[ch].ADSRX.EnvelopeVol-=RateTable[((s_chan[ch].ADSRX.SustainRate^0x7F))-0x1B+32+sexytable[(s_chan[ch].ADSRX.EnvelopeVol>>28)&0x7]];
+       else
+        s_chan[ch].ADSRX.EnvelopeVol-=RateTable[((s_chan[ch].ADSRX.SustainRate^0x7F))-0x0F + 32];
+
+       if(s_chan[ch].ADSRX.EnvelopeVol<0) 
+        {
+         s_chan[ch].ADSRX.EnvelopeVol=0;
+        }
+      }
+     s_chan[ch].ADSRX.lVolume=s_chan[ch].ADSRX.EnvelopeVol>>21;
+     return s_chan[ch].ADSRX.lVolume;
+    }
+  }
+ return 0;
+}
+
+#endif
+
+/*
+James Higgs ADSR investigations:
+
+PSX SPU Envelope Timings
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+First, here is an extract from doomed's SPU doc, which explains the basics
+of the SPU "volume envelope": 
+
+*** doomed doc extract start ***
+
+--------------------------------------------------------------------------
+Voices.
+--------------------------------------------------------------------------
+The SPU has 24 hardware voices. These voices can be used to reproduce sample
+data, noise or can be used as frequency modulator on the next voice.
+Each voice has it's own programmable ADSR envelope filter. The main volume
+can be programmed independently for left and right output.
+
+The ADSR envelope filter works as follows:
+Ar = Attack rate, which specifies the speed at which the volume increases
+     from zero to it's maximum value, as soon as the note on is given. The
+     slope can be set to lineair or exponential.
+Dr = Decay rate specifies the speed at which the volume decreases to the
+     sustain level. Decay is always decreasing exponentially.
+Sl = Sustain level, base level from which sustain starts.
+Sr = Sustain rate is the rate at which the volume of the sustained note
+     increases or decreases. This can be either lineair or exponential.
+Rr = Release rate is the rate at which the volume of the note decreases
+     as soon as the note off is given.
+
+     lvl |
+       ^ |     /\Dr     __
+     Sl _| _  / _ \__---  \
+         |   /       ---__ \ Rr
+         |  /Ar       Sr  \ \
+         | /                \\
+         |/___________________\________
+                                  ->time
+
+The overal volume can also be set to sweep up or down lineairly or
+exponentially from it's current value. This can be done seperately
+for left and right.
+
+Relevant SPU registers:
+-------------------------------------------------------------
+$1f801xx8         Attack/Decay/Sustain level
+bit  |0f|0e 0d 0c 0b 0a 09 08|07 06 05 04|03 02 01 00|
+desc.|Am|         Ar         |Dr         |Sl         |
+
+Am       0        Attack mode Linear
+         1                    Exponential
+
+Ar       0-7f     attack rate
+Dr       0-f      decay rate
+Sl       0-f      sustain level
+-------------------------------------------------------------
+$1f801xxa         Sustain rate, Release Rate.
+bit  |0f|0e|0d|0c 0b 0a 09 08 07 06|05|04 03 02 01 00|
+desc.|Sm|Sd| 0|   Sr               |Rm|Rr            |
+
+Sm       0        sustain rate mode linear
+         1                          exponential
+Sd       0        sustain rate mode increase
+         1                          decrease
+Sr       0-7f     Sustain Rate
+Rm       0        Linear decrease
+         1        Exponential decrease
+Rr       0-1f     Release Rate
+
+Note: decay mode is always Expontial decrease, and thus cannot
+be set.
+-------------------------------------------------------------
+$1f801xxc         Current ADSR volume
+bit  |0f 0e 0d 0c 0b 0a 09 08 07 06 05 04 03 02 01 00|
+desc.|ADSRvol                                        |
+
+ADSRvol           Returns the current envelope volume when
+                  read.
+-- James' Note: return range: 0 -> 32767
+
+*** doomed doc extract end *** 
+
+By using a small PSX proggie to visualise the envelope as it was played,
+the following results for envelope timing were obtained:
+
+1. Attack rate value (linear mode)
+
+   Attack value range: 0 -> 127
+
+   Value  | 48 | 52 | 56 | 60 | 64 | 68 | 72 |    | 80 |
+   -----------------------------------------------------------------
+   Frames | 11 | 21 | 42 | 84 | 169| 338| 676|    |2890|
+
+   Note: frames is no. of PAL frames to reach full volume (100%
+   amplitude)
+
+   Hmm, noticing that the time taken to reach full volume doubles
+   every time we add 4 to our attack value, we know the equation is
+   of form:
+             frames = k * 2 ^ (value / 4)
+
+   (You may ponder about envelope generator hardware at this point,
+   or maybe not... :)
+
+   By substituting some stuff and running some checks, we get:
+
+       k = 0.00257              (close enuf)
+
+   therefore,
+             frames = 0.00257 * 2 ^ (value / 4)
+   If you just happen to be writing an emulator, then you can probably
+   use an equation like:
+
+       %volume_increase_per_tick = 1 / frames
+
+
+   ------------------------------------
+   Pete:
+   ms=((1<<(value>>2))*514)/10000
+   ------------------------------------
+
+2. Decay rate value (only has log mode)
+
+   Decay value range: 0 -> 15
+
+   Value  |  8 |  9 | 10 | 11 | 12 | 13 | 14 | 15 |
+   ------------------------------------------------
+   frames |    |    |    |    |  6 | 12 | 24 | 47 |
+
+   Note: frames here is no. of PAL frames to decay to 50% volume.
+
+   formula: frames = k * 2 ^ (value)
+
+   Substituting, we get: k = 0.00146
+
+   Further info on logarithmic nature:
+   frames to decay to sustain level 3  =  3 * frames to decay to 
+   sustain level 9
+
+   Also no. of frames to 25% volume = roughly 1.85 * no. of frames to
+   50% volume.
+
+   Frag it - just use linear approx.
+
+   ------------------------------------
+   Pete:
+   ms=((1<<value)*292)/10000
+   ------------------------------------
+
+
+3. Sustain rate value (linear mode)
+
+   Sustain rate range: 0 -> 127
+
+   Value  | 48 | 52 | 56 | 60 | 64 | 68 | 72 |
+   -------------------------------------------
+   frames |  9 | 19 | 37 | 74 | 147| 293| 587|
+
+   Here, frames = no. of PAL frames for volume amplitude to go from 100%
+   to 0% (or vice-versa).
+
+   Same formula as for attack value, just a different value for k:
+
+   k = 0.00225
+
+   ie: frames = 0.00225 * 2 ^ (value / 4)
+
+   For emulation purposes:
+
+   %volume_increase_or_decrease_per_tick = 1 / frames
+
+   ------------------------------------
+   Pete:
+   ms=((1<<(value>>2))*450)/10000
+   ------------------------------------
+
+
+4. Release rate (linear mode)
+
+   Release rate range: 0 -> 31
+
+   Value  | 13 | 14 | 15 | 16 | 17 |
+   ---------------------------------------------------------------
+   frames | 18 | 36 | 73 | 146| 292|
+
+   Here, frames = no. of PAL frames to decay from 100% vol to 0% vol
+   after "note-off" is triggered.
+
+   Formula: frames = k * 2 ^ (value)
+
+   And so: k = 0.00223
+
+   ------------------------------------
+   Pete:
+   ms=((1<<value)*446)/10000
+   ------------------------------------
+
+
+Other notes:   
+
+Log stuff not figured out. You may get some clues from the "Decay rate"
+stuff above. For emu purposes it may not be important - use linear
+approx.
+
+To get timings in millisecs, multiply frames by 20.
+
+
+
+- James Higgs 17/6/2000
+james7780@yahoo.com
+
+//---------------------------------------------------------------
+
+OLD adsr mixing according to james' rules... has to be called
+every one millisecond
+
+
+ i32 v,v2,lT,l1,l2,l3;
+
+ if(s_chan[ch].bStop)                                  // psx wants to stop? -> release phase
+  {
+   if(s_chan[ch].ADSR.ReleaseVal!=0)                   // -> release not 0: do release (if 0: stop right now)
+    {
+     if(!s_chan[ch].ADSR.ReleaseVol)                   // --> release just started? set up the release stuff
+      {
+       s_chan[ch].ADSR.ReleaseStartTime=s_chan[ch].ADSR.lTime;
+       s_chan[ch].ADSR.ReleaseVol=s_chan[ch].ADSR.lVolume;
+       s_chan[ch].ADSR.ReleaseTime =                   // --> calc how long does it take to reach the wanted sus level
+         (s_chan[ch].ADSR.ReleaseTime*
+          s_chan[ch].ADSR.ReleaseVol)/1024;
+      }
+                                                       // -> NO release exp mode used (yet)
+     v=s_chan[ch].ADSR.ReleaseVol;                     // -> get last volume
+     lT=s_chan[ch].ADSR.lTime-                         // -> how much time is past?
+        s_chan[ch].ADSR.ReleaseStartTime;
+     l1=s_chan[ch].ADSR.ReleaseTime;
+                                                       
+     if(lT<l1)                                         // -> we still have to release
+      {
+       v=v-((v*lT)/l1);                                // --> calc new volume
+      }
+     else                                              // -> release is over: now really stop that sample
+      {v=0;s_chan[ch].bOn=0;s_chan[ch].ADSR.ReleaseVol=0;s_chan[ch].bNoise=0;}
+    }
+   else                                                // -> release IS 0: release at once
+    {
+     v=0;s_chan[ch].bOn=0;s_chan[ch].ADSR.ReleaseVol=0;s_chan[ch].bNoise=0;
+    }
+  }
+ else                                               
+  {//--------------------------------------------------// not in release phase:
+   v=1024;
+   lT=s_chan[ch].ADSR.lTime;
+   l1=s_chan[ch].ADSR.AttackTime;
+                                                       
+   if(lT<l1)                                           // attack
+    {                                                  // no exp mode used (yet)
+//     if(s_chan[ch].ADSR.AttackModeExp)
+//      {
+//       v=(v*lT)/l1;
+//      }
+//     else
+      {
+       v=(v*lT)/l1;
+      }
+     if(v==0) v=1;
+    }
+   else                                                // decay
+    {                                                  // should be exp, but who cares? ;)
+     l2=s_chan[ch].ADSR.DecayTime;
+     v2=s_chan[ch].ADSR.SustainLevel;
+
+     lT-=l1;
+     if(lT<l2)
+      {
+       v-=(((v-v2)*lT)/l2);
+      }
+     else                                              // sustain
+      {                                                // no exp mode used (yet)
+       l3=s_chan[ch].ADSR.SustainTime;
+       lT-=l2;
+       if(s_chan[ch].ADSR.SustainModeDec>0)
+        {
+         if(l3!=0) v2+=((v-v2)*lT)/l3;
+         else      v2=v;
+        }
+       else
+        {
+         if(l3!=0) v2-=(v2*lT)/l3;
+         else      v2=v;
+        }
+
+       if(v2>v)  v2=v;
+       if(v2<=0) {v2=0;s_chan[ch].bOn=0;s_chan[ch].ADSR.ReleaseVol=0;s_chan[ch].bNoise=0;}
+
+       v=v2;
+      }
+    }
+  }
+
+ //----------------------------------------------------// 
+ // ok, done for this channel, so increase time
+
+ s_chan[ch].ADSR.lTime+=1;                             // 1 = 1.020408f ms;      
+
+ if(v>1024)     v=1024;                                // adjust volume
+ if(v<0)        v=0;                                  
+ s_chan[ch].ADSR.lVolume=v;                            // store act volume
+
+ return v;                                             // return the volume factor
+*/
+
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+
+
+/*
+-----------------------------------------------------------------------------
+Neill Corlett
+Playstation SPU envelope timing notes
+-----------------------------------------------------------------------------
+
+This is preliminary.  This may be wrong.  But the model described herein fits
+all of my experimental data, and it's just simple enough to sound right.
+
+ADSR envelope level ranges from 0x00000000 to 0x7FFFFFFF internally.
+The value returned by channel reg 0xC is (envelope_level>>16).
+
+Each sample, an increment or decrement value will be added to or
+subtracted from this envelope level.
+
+Create the rate log table.  The values double every 4 entries.
+   entry #0 = 4
+
+    4, 5, 6, 7,
+    8,10,12,14,
+   16,20,24,28, ...
+
+   entry #40 = 4096...
+   entry #44 = 8192...
+   entry #48 = 16384...
+   entry #52 = 32768...
+   entry #56 = 65536...
+
+increments and decrements are in terms of ratelogtable[n]
+n may exceed the table bounds (plan on n being between -32 and 127).
+table values are all clipped between 0x00000000 and 0x3FFFFFFF
+
+when you "voice on", the envelope is always fully reset.
+(yes, it may click. the real thing does this too.)
+
+envelope level begins at zero.
+
+each state happens for at least 1 cycle
+(transitions are not instantaneous)
+this may result in some oddness: if the decay rate is uberfast, it will cut
+the envelope from full down to half in one sample, potentially skipping over
+the sustain level
+
+ATTACK
+------
+- if the envelope level has overflowed past the max, clip to 0x7FFFFFFF and
+  proceed to DECAY.
+
+Linear attack mode:
+- line extends upward to 0x7FFFFFFF
+- increment per sample is ratelogtable[(Ar^0x7F)-0x10]
+
+Logarithmic attack mode:
+if envelope_level < 0x60000000:
+  - line extends upward to 0x60000000
+  - increment per sample is ratelogtable[(Ar^0x7F)-0x10]
+else:
+  - line extends upward to 0x7FFFFFFF
+  - increment per sample is ratelogtable[(Ar^0x7F)-0x18]
+
+DECAY
+-----
+- if ((envelope_level>>27)&0xF) <= Sl, proceed to SUSTAIN.
+  Do not clip to the sustain level.
+- current line ends at (envelope_level & 0x07FFFFFF)
+- decrement per sample depends on (envelope_level>>28)&0x7
+  0: ratelogtable[(4*(Dr^0x1F))-0x18+0]
+  1: ratelogtable[(4*(Dr^0x1F))-0x18+4]
+  2: ratelogtable[(4*(Dr^0x1F))-0x18+6]
+  3: ratelogtable[(4*(Dr^0x1F))-0x18+8]
+  4: ratelogtable[(4*(Dr^0x1F))-0x18+9]
+  5: ratelogtable[(4*(Dr^0x1F))-0x18+10]
+  6: ratelogtable[(4*(Dr^0x1F))-0x18+11]
+  7: ratelogtable[(4*(Dr^0x1F))-0x18+12]
+  (note that this is the same as the release rate formula, except that
+   decay rates 10-1F aren't possible... those would be slower in theory)
+
+SUSTAIN
+-------
+- no terminating condition except for voice off
+- Sd=0 (increase) behavior is identical to ATTACK for both log and linear.
+- Sd=1 (decrease) behavior:
+Linear sustain decrease:
+- line extends to 0x00000000
+- decrement per sample is ratelogtable[(Sr^0x7F)-0x0F]
+Logarithmic sustain decrease:
+- current line ends at (envelope_level & 0x07FFFFFF)
+- decrement per sample depends on (envelope_level>>28)&0x7
+  0: ratelogtable[(Sr^0x7F)-0x1B+0]
+  1: ratelogtable[(Sr^0x7F)-0x1B+4]
+  2: ratelogtable[(Sr^0x7F)-0x1B+6]
+  3: ratelogtable[(Sr^0x7F)-0x1B+8]
+  4: ratelogtable[(Sr^0x7F)-0x1B+9]
+  5: ratelogtable[(Sr^0x7F)-0x1B+10]
+  6: ratelogtable[(Sr^0x7F)-0x1B+11]
+  7: ratelogtable[(Sr^0x7F)-0x1B+12]
+
+RELEASE
+-------
+- if the envelope level has overflowed to negative, clip to 0 and QUIT.
+
+Linear release mode:
+- line extends to 0x00000000
+- decrement per sample is ratelogtable[(4*(Rr^0x1F))-0x0C]
+
+Logarithmic release mode:
+- line extends to (envelope_level & 0x0FFFFFFF)
+- decrement per sample depends on (envelope_level>>28)&0x7
+  0: ratelogtable[(4*(Rr^0x1F))-0x18+0]
+  1: ratelogtable[(4*(Rr^0x1F))-0x18+4]
+  2: ratelogtable[(4*(Rr^0x1F))-0x18+6]
+  3: ratelogtable[(4*(Rr^0x1F))-0x18+8]
+  4: ratelogtable[(4*(Rr^0x1F))-0x18+9]
+  5: ratelogtable[(4*(Rr^0x1F))-0x18+10]
+  6: ratelogtable[(4*(Rr^0x1F))-0x18+11]
+  7: ratelogtable[(4*(Rr^0x1F))-0x18+12]
+
+-----------------------------------------------------------------------------
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/peops/adsr.h	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,28 @@
+/***************************************************************************
+                           adsr.h  -  description
+                             -------------------
+    begin                : Wed May 15 2002
+    copyright            : (C) 2002 by Pete Bernert
+    email                : BlackDove@addcom.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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; either version 2 of the License, or     *
+ *   (at your option) any later version. See also the license.txt file for *
+ *   additional informations.                                              *
+ *                                                                         *
+ ***************************************************************************/
+
+//*************************************************************************//
+// History of changes:
+//
+// 2002/05/15 - Pete
+// - generic cleanup for the Peops release
+//
+//*************************************************************************//
+
+static INLINE void StartADSR(int ch);
+static INLINE int  MixADSR(int ch);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/peops/dma.c	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,80 @@
+/***************************************************************************
+                            dma.c  -  description
+                             -------------------
+    begin                : Wed May 15 2002
+    copyright            : (C) 2002 by Pete Bernert
+    email                : BlackDove@addcom.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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; either version 2 of the License, or     *
+ *   (at your option) any later version. See also the license.txt file for *
+ *   additional informations.                                              *
+ *                                                                         *
+ ***************************************************************************/
+
+//*************************************************************************//
+// History of changes:
+//
+// 2002/05/15 - Pete
+// - generic cleanup for the Peops release
+//
+//*************************************************************************//
+
+#include "../peops/stdafx.h"
+
+#define _IN_DMA
+
+extern uint32 psx_ram[(2*1024*1024)/4];
+
+//#include "externals.h"
+////////////////////////////////////////////////////////////////////////
+// READ DMA (many values)
+////////////////////////////////////////////////////////////////////////
+
+void SPUreadDMAMem(u32 usPSXMem,int iSize)
+{
+ int i;
+ u16 *ram16 = (u16 *)&psx_ram[0];
+
+ for(i=0;i<iSize;i++)
+  {
+   ram16[usPSXMem>>1]=spuMem[spuAddr>>1];		// spu addr got by writeregister
+   usPSXMem+=2;
+   spuAddr+=2;                                         // inc spu addr
+   if(spuAddr>0x7ffff) spuAddr=0;                      // wrap
+  }
+}
+
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+
+// to investigate: do sound data updates by writedma affect spu
+// irqs? Will an irq be triggered, if new data is written to
+// the memory irq address?
+
+////////////////////////////////////////////////////////////////////////
+// WRITE DMA (many values)
+////////////////////////////////////////////////////////////////////////
+
+void SPUwriteDMAMem(u32 usPSXMem,int iSize)
+{
+ int i;
+ u16 *ram16 = (u16 *)&psx_ram[0];
+
+ for(i=0;i<iSize;i++)
+  {
+//  printf("main RAM %x => SPU %x\n", usPSXMem, spuAddr);
+   spuMem[spuAddr>>1] = ram16[usPSXMem>>1];
+   usPSXMem+=2;                  			// spu addr got by writeregister
+   spuAddr+=2;                                         // inc spu addr
+   if(spuAddr>0x7ffff) spuAddr=0;                      // wrap
+  }
+}
+
+////////////////////////////////////////////////////////////////////////
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/peops/dma.h	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,31 @@
+/***************************************************************************
+                            dma.h  -  description
+                             -------------------
+    begin                : Wed May 15 2002
+    copyright            : (C) 2002 by Pete Bernert
+    email                : BlackDove@addcom.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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; either version 2 of the License, or     *
+ *   (at your option) any later version. See also the license.txt file for *
+ *   additional informations.                                              *
+ *                                                                         *
+ ***************************************************************************/
+
+//*************************************************************************//
+// History of changes:
+//
+// 2002/05/15 - Pete
+// - generic cleanup for the Peops release
+//
+//*************************************************************************//
+
+
+u16 CALLBACK SPUreadDMA(void);
+void CALLBACK SPUreadDMAMem(u16 * pusPSXMem,int iSize);
+void CALLBACK SPUwriteDMA(u16 val);
+void CALLBACK SPUwriteDMAMem(u16 * pusPSXMem,int iSize);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/peops/externals.h	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,203 @@
+/***************************************************************************
+                         externals.h  -  description
+                             -------------------
+    begin                : Wed May 15 2002
+    copyright            : (C) 2002 by Pete Bernert
+    email                : BlackDove@addcom.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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; either version 2 of the License, or     *
+ *   (at your option) any later version. See also the license.txt file for *
+ *   additional informations.                                              *
+ *                                                                         *
+ ***************************************************************************/
+
+#include "ao.h"
+
+#ifndef PEOPS_EXTERNALS
+#define PEOPS_EXTERNALS
+
+typedef int8 s8;
+typedef int16 s16;
+typedef int32 s32;
+typedef int64 s64;
+
+typedef uint8 u8;
+typedef uint16 u16;
+typedef uint32 u32;
+typedef uint64 u64;
+
+#if LSB_FIRST
+static INLINE u16 BFLIP16(u16 x)
+{
+ return x;
+}
+#else
+static INLINE u16 BFLIP16(u16 x)
+{
+ return( ((x>>8)&0xFF)| ((x&0xFF)<<8) );
+}
+#endif
+
+//*************************************************************************//
+// History of changes:
+//
+// 2002/05/15 - Pete
+// - generic cleanup for the Peops release
+//
+//*************************************************************************//
+
+#define max(a,b)            (((a) > (b)) ? (a) : (b))
+#define min(a,b)            (((a) < (b)) ? (a) : (b))
+
+////////////////////////////////////////////////////////////////////////
+// spu defines
+////////////////////////////////////////////////////////////////////////
+
+// num of channels
+#define MAXCHAN     24
+
+///////////////////////////////////////////////////////////
+// struct defines
+///////////////////////////////////////////////////////////
+
+// ADSR INFOS PER CHANNEL
+typedef struct
+{
+ int            AttackModeExp;
+ s32           AttackTime;
+ s32           DecayTime;
+ s32           SustainLevel;
+ int            SustainModeExp;
+ s32           SustainModeDec;
+ s32           SustainTime;
+ int            ReleaseModeExp;
+ u32  ReleaseVal;
+ s32           ReleaseTime;
+ s32           ReleaseStartTime; 
+ s32           ReleaseVol; 
+ s32           lTime;
+ s32           lVolume;
+} ADSRInfo;
+
+typedef struct
+{
+ int            State;
+ int            AttackModeExp;
+ int            AttackRate;
+ int            DecayRate;
+ int            SustainLevel;
+ int            SustainModeExp;
+ int            SustainIncrease;
+ int            SustainRate;
+ int            ReleaseModeExp;
+ int            ReleaseRate;
+ int            EnvelopeVol;
+ s32           lVolume;
+ s32           lDummy1;
+ s32           lDummy2;
+} ADSRInfoEx;
+              
+///////////////////////////////////////////////////////////
+
+// Tmp Flags
+
+// used for debug channel muting
+#define FLAG_MUTE  1
+
+///////////////////////////////////////////////////////////
+
+// MAIN CHANNEL STRUCT
+typedef struct
+{
+ int               bNew;                               // start flag
+
+ int               iSBPos;                             // mixing stuff
+ int               spos;
+ int               sinc;
+ int               SB[32+1];
+ int               sval;
+
+ u8 *   pStart;                             // start ptr into sound mem
+ u8 *   pCurr;                              // current pos in sound mem
+ u8 *   pLoop;                              // loop ptr in sound mem
+
+ int               bOn;                                // is channel active (sample playing?)
+ int               bStop;                              // is channel stopped (sample _can_ still be playing, ADSR Release phase)
+ int               iActFreq;                           // current psx pitch
+ int               iUsedFreq;                          // current pc pitch
+ int               iLeftVolume;                        // left volume
+ int               iLeftVolRaw;                        // left psx volume value
+ int               bIgnoreLoop;                        // ignore loop bit, if an external loop address is used
+ int               iRightVolume;                       // right volume
+ int               iRightVolRaw;                       // right psx volume value
+ int               iRawPitch;                          // raw pitch (0...3fff)
+ int               iIrqDone;                           // debug irq done flag
+ int               s_1;                                // last decoding infos
+ int               s_2;
+ int               bRVBActive;                         // reverb active flag
+ int               iRVBOffset;                         // reverb offset
+ int               iRVBRepeat;                         // reverb repeat
+ int               bNoise;                             // noise active flag
+ int               bFMod;                              // freq mod (0=off, 1=sound channel, 2=freq channel)
+ int               iOldNoise;                          // old noise val for this channel   
+ ADSRInfo          ADSR;                               // active ADSR settings
+ ADSRInfoEx        ADSRX;                              // next ADSR settings (will be moved to active on sample start)
+
+} SPUCHAN;
+
+///////////////////////////////////////////////////////////
+
+typedef struct
+{
+ int StartAddr;      // reverb area start addr in samples
+ int CurrAddr;       // reverb area curr addr in samples
+
+ int Enabled;
+ int VolLeft;
+ int VolRight;
+ int iLastRVBLeft;
+ int iLastRVBRight;
+ int iRVBLeft;
+ int iRVBRight;
+
+
+ int FB_SRC_A;       // (offset)
+ int FB_SRC_B;       // (offset)
+ int IIR_ALPHA;      // (coef.)
+ int ACC_COEF_A;     // (coef.)
+ int ACC_COEF_B;     // (coef.)
+ int ACC_COEF_C;     // (coef.)
+ int ACC_COEF_D;     // (coef.)
+ int IIR_COEF;       // (coef.)
+ int FB_ALPHA;       // (coef.)
+ int FB_X;           // (coef.)
+ int IIR_DEST_A0;    // (offset)
+ int IIR_DEST_A1;    // (offset)
+ int ACC_SRC_A0;     // (offset)
+ int ACC_SRC_A1;     // (offset)
+ int ACC_SRC_B0;     // (offset)
+ int ACC_SRC_B1;     // (offset)
+ int IIR_SRC_A0;     // (offset)
+ int IIR_SRC_A1;     // (offset)
+ int IIR_DEST_B0;    // (offset)
+ int IIR_DEST_B1;    // (offset)
+ int ACC_SRC_C0;     // (offset)
+ int ACC_SRC_C1;     // (offset)
+ int ACC_SRC_D0;     // (offset)
+ int ACC_SRC_D1;     // (offset)
+ int IIR_SRC_B1;     // (offset)
+ int IIR_SRC_B0;     // (offset)
+ int MIX_DEST_A0;    // (offset)
+ int MIX_DEST_A1;    // (offset)
+ int MIX_DEST_B0;    // (offset)
+ int MIX_DEST_B1;    // (offset)
+ int IN_COEF_L;      // (coef.)
+ int IN_COEF_R;      // (coef.)
+} REVERBInfo;
+
+#endif // PEOPS_EXTERNALS
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/peops/gauss_i.h	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,163 @@
+/***************************************************************************
+                          gauss_i.h  -  description
+                           -----------------------
+    begin                : Sun Feb 08 2003
+    copyright            : (C) 2003 by Chris Moeller, eh, whatever
+    email                : chris@kode54.tk
+ ***************************************************************************/
+                       
+/***************************************************************************
+ *                                                                         *
+ *   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; either version 2 of the License, or     *
+ *   (at your option) any later version. See also the license.txt file for *
+ *   additional informations.                                              *
+ *                                                                         *
+ ***************************************************************************/
+                           
+//*************************************************************************//
+// History of changes:
+//
+// 2003/02/08 - kode54
+// - generated by interleaving table from gauss.h from the libopenspc
+//   project; a gaussian bell curve table logged from the SPC-700,
+//   though Neill says he logged the same curve from a PSX SPU. Also
+//   says that interleaving the coefficients together runs faster. Meh.
+//
+//*************************************************************************//
+
+#ifndef GAUSS_H
+#define GAUSS_H
+
+// 1024 entries
+const int gauss[]={
+	0x172, 0x519, 0x176, 0x000, 0x16E, 0x519, 0x17A, 0x000, 
+	0x16A, 0x518, 0x17D, 0x000, 0x166, 0x518, 0x181, 0x000, 
+	0x162, 0x518, 0x185, 0x000, 0x15F, 0x518, 0x189, 0x000, 
+	0x15B, 0x518, 0x18D, 0x000, 0x157, 0x517, 0x191, 0x000, 
+	0x153, 0x517, 0x195, 0x000, 0x150, 0x517, 0x19A, 0x000, 
+	0x14C, 0x516, 0x19E, 0x000, 0x148, 0x516, 0x1A2, 0x000, 
+	0x145, 0x515, 0x1A6, 0x000, 0x141, 0x514, 0x1AA, 0x000, 
+	0x13E, 0x514, 0x1AE, 0x000, 0x13A, 0x513, 0x1B2, 0x000, 
+	0x137, 0x512, 0x1B7, 0x001, 0x133, 0x511, 0x1BB, 0x001, 
+	0x130, 0x511, 0x1BF, 0x001, 0x12C, 0x510, 0x1C3, 0x001, 
+	0x129, 0x50F, 0x1C8, 0x001, 0x125, 0x50E, 0x1CC, 0x001, 
+	0x122, 0x50D, 0x1D0, 0x001, 0x11E, 0x50C, 0x1D5, 0x001, 
+	0x11B, 0x50B, 0x1D9, 0x001, 0x118, 0x50A, 0x1DD, 0x001, 
+	0x114, 0x508, 0x1E2, 0x001, 0x111, 0x507, 0x1E6, 0x002, 
+	0x10E, 0x506, 0x1EB, 0x002, 0x10B, 0x504, 0x1EF, 0x002, 
+	0x107, 0x503, 0x1F3, 0x002, 0x104, 0x502, 0x1F8, 0x002, 
+	0x101, 0x500, 0x1FC, 0x002, 0x0FE, 0x4FF, 0x201, 0x002, 
+	0x0FB, 0x4FD, 0x205, 0x003, 0x0F8, 0x4FB, 0x20A, 0x003, 
+	0x0F5, 0x4FA, 0x20F, 0x003, 0x0F2, 0x4F8, 0x213, 0x003, 
+	0x0EF, 0x4F6, 0x218, 0x003, 0x0EC, 0x4F5, 0x21C, 0x004, 
+	0x0E9, 0x4F3, 0x221, 0x004, 0x0E6, 0x4F1, 0x226, 0x004, 
+	0x0E3, 0x4EF, 0x22A, 0x004, 0x0E0, 0x4ED, 0x22F, 0x004, 
+	0x0DD, 0x4EB, 0x233, 0x005, 0x0DA, 0x4E9, 0x238, 0x005, 
+	0x0D7, 0x4E7, 0x23D, 0x005, 0x0D4, 0x4E5, 0x241, 0x005, 
+	0x0D2, 0x4E3, 0x246, 0x006, 0x0CF, 0x4E0, 0x24B, 0x006, 
+	0x0CC, 0x4DE, 0x250, 0x006, 0x0C9, 0x4DC, 0x254, 0x006, 
+	0x0C7, 0x4D9, 0x259, 0x007, 0x0C4, 0x4D7, 0x25E, 0x007, 
+	0x0C1, 0x4D5, 0x263, 0x007, 0x0BF, 0x4D2, 0x267, 0x008, 
+	0x0BC, 0x4D0, 0x26C, 0x008, 0x0BA, 0x4CD, 0x271, 0x008, 
+	0x0B7, 0x4CB, 0x276, 0x009, 0x0B4, 0x4C8, 0x27B, 0x009, 
+	0x0B2, 0x4C5, 0x280, 0x009, 0x0AF, 0x4C3, 0x284, 0x00A, 
+	0x0AD, 0x4C0, 0x289, 0x00A, 0x0AB, 0x4BD, 0x28E, 0x00A, 
+	0x0A8, 0x4BA, 0x293, 0x00B, 0x0A6, 0x4B7, 0x298, 0x00B, 
+	0x0A3, 0x4B5, 0x29D, 0x00B, 0x0A1, 0x4B2, 0x2A2, 0x00C, 
+	0x09F, 0x4AF, 0x2A6, 0x00C, 0x09C, 0x4AC, 0x2AB, 0x00D, 
+	0x09A, 0x4A9, 0x2B0, 0x00D, 0x098, 0x4A6, 0x2B5, 0x00E, 
+	0x096, 0x4A2, 0x2BA, 0x00E, 0x093, 0x49F, 0x2BF, 0x00F, 
+	0x091, 0x49C, 0x2C4, 0x00F, 0x08F, 0x499, 0x2C9, 0x00F, 
+	0x08D, 0x496, 0x2CE, 0x010, 0x08B, 0x492, 0x2D3, 0x010, 
+	0x089, 0x48F, 0x2D8, 0x011, 0x086, 0x48C, 0x2DC, 0x011, 
+	0x084, 0x488, 0x2E1, 0x012, 0x082, 0x485, 0x2E6, 0x013, 
+	0x080, 0x481, 0x2EB, 0x013, 0x07E, 0x47E, 0x2F0, 0x014, 
+	0x07C, 0x47A, 0x2F5, 0x014, 0x07A, 0x477, 0x2FA, 0x015, 
+	0x078, 0x473, 0x2FF, 0x015, 0x076, 0x470, 0x304, 0x016, 
+	0x075, 0x46C, 0x309, 0x017, 0x073, 0x468, 0x30E, 0x017, 
+	0x071, 0x465, 0x313, 0x018, 0x06F, 0x461, 0x318, 0x018, 
+	0x06D, 0x45D, 0x31D, 0x019, 0x06B, 0x459, 0x322, 0x01A, 
+	0x06A, 0x455, 0x326, 0x01B, 0x068, 0x452, 0x32B, 0x01B, 
+	0x066, 0x44E, 0x330, 0x01C, 0x064, 0x44A, 0x335, 0x01D, 
+	0x063, 0x446, 0x33A, 0x01D, 0x061, 0x442, 0x33F, 0x01E, 
+	0x05F, 0x43E, 0x344, 0x01F, 0x05E, 0x43A, 0x349, 0x020, 
+	0x05C, 0x436, 0x34E, 0x020, 0x05A, 0x432, 0x353, 0x021, 
+	0x059, 0x42E, 0x357, 0x022, 0x057, 0x42A, 0x35C, 0x023, 
+	0x056, 0x425, 0x361, 0x024, 0x054, 0x421, 0x366, 0x024, 
+	0x053, 0x41D, 0x36B, 0x025, 0x051, 0x419, 0x370, 0x026, 
+	0x050, 0x415, 0x374, 0x027, 0x04E, 0x410, 0x379, 0x028, 
+	0x04D, 0x40C, 0x37E, 0x029, 0x04C, 0x408, 0x383, 0x02A, 
+	0x04A, 0x403, 0x388, 0x02B, 0x049, 0x3FF, 0x38C, 0x02C, 
+	0x047, 0x3FB, 0x391, 0x02D, 0x046, 0x3F6, 0x396, 0x02E, 
+	0x045, 0x3F2, 0x39B, 0x02F, 0x043, 0x3ED, 0x39F, 0x030, 
+	0x042, 0x3E9, 0x3A4, 0x031, 0x041, 0x3E5, 0x3A9, 0x032, 
+	0x040, 0x3E0, 0x3AD, 0x033, 0x03E, 0x3DC, 0x3B2, 0x034, 
+	0x03D, 0x3D7, 0x3B7, 0x035, 0x03C, 0x3D2, 0x3BB, 0x036, 
+	0x03B, 0x3CE, 0x3C0, 0x037, 0x03A, 0x3C9, 0x3C5, 0x038, 
+	0x038, 0x3C5, 0x3C9, 0x03A, 0x037, 0x3C0, 0x3CE, 0x03B, 
+	0x036, 0x3BB, 0x3D2, 0x03C, 0x035, 0x3B7, 0x3D7, 0x03D, 
+	0x034, 0x3B2, 0x3DC, 0x03E, 0x033, 0x3AD, 0x3E0, 0x040, 
+	0x032, 0x3A9, 0x3E5, 0x041, 0x031, 0x3A4, 0x3E9, 0x042, 
+	0x030, 0x39F, 0x3ED, 0x043, 0x02F, 0x39B, 0x3F2, 0x045, 
+	0x02E, 0x396, 0x3F6, 0x046, 0x02D, 0x391, 0x3FB, 0x047, 
+	0x02C, 0x38C, 0x3FF, 0x049, 0x02B, 0x388, 0x403, 0x04A, 
+	0x02A, 0x383, 0x408, 0x04C, 0x029, 0x37E, 0x40C, 0x04D, 
+	0x028, 0x379, 0x410, 0x04E, 0x027, 0x374, 0x415, 0x050, 
+	0x026, 0x370, 0x419, 0x051, 0x025, 0x36B, 0x41D, 0x053, 
+	0x024, 0x366, 0x421, 0x054, 0x024, 0x361, 0x425, 0x056, 
+	0x023, 0x35C, 0x42A, 0x057, 0x022, 0x357, 0x42E, 0x059, 
+	0x021, 0x353, 0x432, 0x05A, 0x020, 0x34E, 0x436, 0x05C, 
+	0x020, 0x349, 0x43A, 0x05E, 0x01F, 0x344, 0x43E, 0x05F, 
+	0x01E, 0x33F, 0x442, 0x061, 0x01D, 0x33A, 0x446, 0x063, 
+	0x01D, 0x335, 0x44A, 0x064, 0x01C, 0x330, 0x44E, 0x066, 
+	0x01B, 0x32B, 0x452, 0x068, 0x01B, 0x326, 0x455, 0x06A, 
+	0x01A, 0x322, 0x459, 0x06B, 0x019, 0x31D, 0x45D, 0x06D, 
+	0x018, 0x318, 0x461, 0x06F, 0x018, 0x313, 0x465, 0x071, 
+	0x017, 0x30E, 0x468, 0x073, 0x017, 0x309, 0x46C, 0x075, 
+	0x016, 0x304, 0x470, 0x076, 0x015, 0x2FF, 0x473, 0x078, 
+	0x015, 0x2FA, 0x477, 0x07A, 0x014, 0x2F5, 0x47A, 0x07C, 
+	0x014, 0x2F0, 0x47E, 0x07E, 0x013, 0x2EB, 0x481, 0x080, 
+	0x013, 0x2E6, 0x485, 0x082, 0x012, 0x2E1, 0x488, 0x084, 
+	0x011, 0x2DC, 0x48C, 0x086, 0x011, 0x2D8, 0x48F, 0x089, 
+	0x010, 0x2D3, 0x492, 0x08B, 0x010, 0x2CE, 0x496, 0x08D, 
+	0x00F, 0x2C9, 0x499, 0x08F, 0x00F, 0x2C4, 0x49C, 0x091, 
+	0x00F, 0x2BF, 0x49F, 0x093, 0x00E, 0x2BA, 0x4A2, 0x096, 
+	0x00E, 0x2B5, 0x4A6, 0x098, 0x00D, 0x2B0, 0x4A9, 0x09A, 
+	0x00D, 0x2AB, 0x4AC, 0x09C, 0x00C, 0x2A6, 0x4AF, 0x09F, 
+	0x00C, 0x2A2, 0x4B2, 0x0A1, 0x00B, 0x29D, 0x4B5, 0x0A3, 
+	0x00B, 0x298, 0x4B7, 0x0A6, 0x00B, 0x293, 0x4BA, 0x0A8, 
+	0x00A, 0x28E, 0x4BD, 0x0AB, 0x00A, 0x289, 0x4C0, 0x0AD, 
+	0x00A, 0x284, 0x4C3, 0x0AF, 0x009, 0x280, 0x4C5, 0x0B2, 
+	0x009, 0x27B, 0x4C8, 0x0B4, 0x009, 0x276, 0x4CB, 0x0B7, 
+	0x008, 0x271, 0x4CD, 0x0BA, 0x008, 0x26C, 0x4D0, 0x0BC, 
+	0x008, 0x267, 0x4D2, 0x0BF, 0x007, 0x263, 0x4D5, 0x0C1, 
+	0x007, 0x25E, 0x4D7, 0x0C4, 0x007, 0x259, 0x4D9, 0x0C7, 
+	0x006, 0x254, 0x4DC, 0x0C9, 0x006, 0x250, 0x4DE, 0x0CC, 
+	0x006, 0x24B, 0x4E0, 0x0CF, 0x006, 0x246, 0x4E3, 0x0D2, 
+	0x005, 0x241, 0x4E5, 0x0D4, 0x005, 0x23D, 0x4E7, 0x0D7, 
+	0x005, 0x238, 0x4E9, 0x0DA, 0x005, 0x233, 0x4EB, 0x0DD, 
+	0x004, 0x22F, 0x4ED, 0x0E0, 0x004, 0x22A, 0x4EF, 0x0E3, 
+	0x004, 0x226, 0x4F1, 0x0E6, 0x004, 0x221, 0x4F3, 0x0E9, 
+	0x004, 0x21C, 0x4F5, 0x0EC, 0x003, 0x218, 0x4F6, 0x0EF, 
+	0x003, 0x213, 0x4F8, 0x0F2, 0x003, 0x20F, 0x4FA, 0x0F5, 
+	0x003, 0x20A, 0x4FB, 0x0F8, 0x003, 0x205, 0x4FD, 0x0FB, 
+	0x002, 0x201, 0x4FF, 0x0FE, 0x002, 0x1FC, 0x500, 0x101, 
+	0x002, 0x1F8, 0x502, 0x104, 0x002, 0x1F3, 0x503, 0x107, 
+	0x002, 0x1EF, 0x504, 0x10B, 0x002, 0x1EB, 0x506, 0x10E, 
+	0x002, 0x1E6, 0x507, 0x111, 0x001, 0x1E2, 0x508, 0x114, 
+	0x001, 0x1DD, 0x50A, 0x118, 0x001, 0x1D9, 0x50B, 0x11B, 
+	0x001, 0x1D5, 0x50C, 0x11E, 0x001, 0x1D0, 0x50D, 0x122, 
+	0x001, 0x1CC, 0x50E, 0x125, 0x001, 0x1C8, 0x50F, 0x129, 
+	0x001, 0x1C3, 0x510, 0x12C, 0x001, 0x1BF, 0x511, 0x130, 
+	0x001, 0x1BB, 0x511, 0x133, 0x001, 0x1B7, 0x512, 0x137, 
+	0x000, 0x1B2, 0x513, 0x13A, 0x000, 0x1AE, 0x514, 0x13E, 
+	0x000, 0x1AA, 0x514, 0x141, 0x000, 0x1A6, 0x515, 0x145, 
+	0x000, 0x1A2, 0x516, 0x148, 0x000, 0x19E, 0x516, 0x14C, 
+	0x000, 0x19A, 0x517, 0x150, 0x000, 0x195, 0x517, 0x153, 
+	0x000, 0x191, 0x517, 0x157, 0x000, 0x18D, 0x518, 0x15B, 
+	0x000, 0x189, 0x518, 0x15F, 0x000, 0x185, 0x518, 0x162, 
+	0x000, 0x181, 0x518, 0x166, 0x000, 0x17D, 0x518, 0x16A, 
+	0x000, 0x17A, 0x519, 0x16E, 0x000, 0x176, 0x519, 0x172};
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/peops/registers.c	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,492 @@
+/***************************************************************************
+                         registers.c  -  description
+                             -------------------
+    begin                : Wed May 15 2002
+    copyright            : (C) 2002 by Pete Bernert
+    email                : BlackDove@addcom.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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; either version 2 of the License, or     *
+ *   (at your option) any later version. See also the license.txt file for *
+ *   additional informations.                                              *
+ *                                                                         *
+ ***************************************************************************/
+
+/* ChangeLog 
+
+ February 8, 2004	-	xodnizel
+ - Fixed setting of reverb volume.  Just typecast val("u16") to s16.
+   Also adjusted the normal channel volume to be one less than what it was before when the 
+   "phase invert" bit is set.  I'm assuming it's just in two's complement.
+
+ 2003/02/09 - kode54
+ - removed &0x3fff from reverb volume registers, fixes a few games,
+   hopefully won't be breaking anything
+
+ 2003/01/19 - Pete
+ - added Neill's reverb
+
+ 2003/01/06 - Pete
+ - added Neill's ADSR timings
+
+ 2002/05/15 - Pete
+ - generic cleanup for the Peops release
+
+*/
+
+#include "stdafx.h"
+
+#define _IN_REGISTERS
+
+#include "../peops/externals.h"
+#include "../peops/registers.h"
+#include "../peops/regs.h"
+
+////////////////////////////////////////////////////////////////////////
+// WRITE REGISTERS: called by main emu
+////////////////////////////////////////////////////////////////////////
+
+void SPUwriteRegister(u32 reg, u16 val)
+{
+ const u32 r=reg&0xfff;
+ regArea[(r-0xc00)>>1] = val;
+
+// printf("SPUwrite: r %x val %x\n", r, val);
+
+ if(r>=0x0c00 && r<0x0d80)                             // some channel info?
+  {
+   int ch=(r>>4)-0xc0;                                 // calc channel
+
+   //if(ch==20) printf("%08x: %04x\n",reg,val);
+
+   switch(r&0x0f)
+    {
+     //------------------------------------------------// r volume
+     case 0:                                           
+       SetVolumeLR(0,(u8)ch,val);
+       break;
+     //------------------------------------------------// l volume
+     case 2:                                           
+       SetVolumeLR(1,(u8)ch,val);
+       break;
+     //------------------------------------------------// pitch
+     case 4:                                           
+       SetPitch(ch,val);
+       break;
+     //------------------------------------------------// start
+     case 6:      
+       s_chan[ch].pStart=spuMemC+((u32) val<<3);
+       break;
+     //------------------------------------------------// level with pre-calcs
+     case 8:
+       {
+        const u32 lval=val; // DEBUG CHECK
+        //---------------------------------------------//
+        s_chan[ch].ADSRX.AttackModeExp=(lval&0x8000)?1:0; 
+        s_chan[ch].ADSRX.AttackRate=(lval>>8) & 0x007f;
+        s_chan[ch].ADSRX.DecayRate=(lval>>4) & 0x000f;
+        s_chan[ch].ADSRX.SustainLevel=lval & 0x000f;
+        //---------------------------------------------//
+      }
+      break;
+     //------------------------------------------------// adsr times with pre-calcs
+     case 10:
+      {
+       const u32 lval=val; // DEBUG CHECK
+
+       //----------------------------------------------//
+       s_chan[ch].ADSRX.SustainModeExp = (lval&0x8000)?1:0;
+       s_chan[ch].ADSRX.SustainIncrease= (lval&0x4000)?0:1;
+       s_chan[ch].ADSRX.SustainRate = (lval>>6) & 0x007f;
+       s_chan[ch].ADSRX.ReleaseModeExp = (lval&0x0020)?1:0;
+       s_chan[ch].ADSRX.ReleaseRate = lval & 0x001f;
+       //----------------------------------------------//
+      }
+     break;
+     //------------------------------------------------// adsr volume... mmm have to investigate this
+     //case 0xC:
+     //  break;
+     //------------------------------------------------//
+     case 0xE:                                          // loop?
+       s_chan[ch].pLoop=spuMemC+((u32) val<<3);
+       s_chan[ch].bIgnoreLoop=1;
+       break;
+     //------------------------------------------------//
+    }
+   return;
+  }
+
+ switch(r)
+   {
+    //-------------------------------------------------//
+    case H_SPUaddr:
+      spuAddr = (u32) val<<3;
+      break;
+    //-------------------------------------------------//
+    case H_SPUdata:
+      spuMem[spuAddr>>1] = BFLIP16(val);
+      spuAddr+=2;
+      if(spuAddr>0x7ffff) spuAddr=0;
+      break;
+    //-------------------------------------------------//
+    case H_SPUctrl:
+      spuCtrl=val;
+      break;
+    //-------------------------------------------------//
+    case H_SPUstat:
+      spuStat=val & 0xf800;
+      break;
+    //-------------------------------------------------//
+    case H_SPUReverbAddr:
+      if(val==0xFFFF || val<=0x200)
+       {rvb.StartAddr=rvb.CurrAddr=0;}
+      else
+       {
+        const s32 iv=(u32)val<<2;
+        if(rvb.StartAddr!=iv)
+         {
+          rvb.StartAddr=(u32)val<<2;
+          rvb.CurrAddr=rvb.StartAddr;
+         }
+       }
+      break;
+    //-------------------------------------------------//
+    case H_SPUirqAddr:
+      spuIrq = val;
+      pSpuIrq=spuMemC+((u32) val<<3);
+      break;
+    //-------------------------------------------------//
+    /* Volume settings appear to be at least 15-bit unsigned in this case.  
+       Definitely NOT 15-bit signed.  Probably 16-bit signed, so s16 type cast.
+       Check out "Chrono Cross:  Shadow's End Forest"
+    */
+    case H_SPUrvolL:
+      rvb.VolLeft=(s16)val;
+      //printf("%d\n",val);
+      break;
+    //-------------------------------------------------//
+    case H_SPUrvolR:
+      rvb.VolRight=(s16)val;
+      //printf("%d\n",val);
+      break;
+    //-------------------------------------------------//
+
+/*
+    case H_ExtLeft:
+     //auxprintf("EL %d\n",val);
+      break;
+    //-------------------------------------------------//
+    case H_ExtRight:
+     //auxprintf("ER %d\n",val);
+      break;
+    //-------------------------------------------------//
+    case H_SPUmvolL:
+     //auxprintf("ML %d\n",val);
+      break;
+    //-------------------------------------------------//
+    case H_SPUmvolR:
+     //auxprintf("MR %d\n",val);
+      break;
+    //-------------------------------------------------//
+    case H_SPUMute1:
+     //printf("M0 %04x\n",val);
+      break;
+    //-------------------------------------------------//
+    case H_SPUMute2:
+    // printf("M1 %04x\n",val);
+      break;
+*/
+    //-------------------------------------------------//
+    case H_SPUon1:
+      SoundOn(0,16,val);
+      break;
+    //-------------------------------------------------//
+     case H_SPUon2:
+	// printf("Boop: %08x: %04x\n",reg,val);
+      SoundOn(16,24,val);
+      break;
+    //-------------------------------------------------//
+    case H_SPUoff1:
+      SoundOff(0,16,val);
+      break;
+    //-------------------------------------------------//
+    case H_SPUoff2:
+      SoundOff(16,24,val);
+	// printf("Boop: %08x: %04x\n",reg,val);
+      break;
+    //-------------------------------------------------//
+    case H_FMod1:
+      FModOn(0,16,val);
+      break;
+    //-------------------------------------------------//
+    case H_FMod2:
+      FModOn(16,24,val);
+      break;
+    //-------------------------------------------------//
+    case H_Noise1:
+      NoiseOn(0,16,val);
+      break;
+    //-------------------------------------------------//
+    case H_Noise2:
+      NoiseOn(16,24,val);
+      break;
+    //-------------------------------------------------//
+    case H_RVBon1:
+      rvb.Enabled&=~0xFFFF;
+      rvb.Enabled|=val;
+      break;
+
+    //-------------------------------------------------//
+    case H_RVBon2:
+      rvb.Enabled&=0xFFFF;
+      rvb.Enabled|=val<<16;
+      break;
+
+    //-------------------------------------------------//
+    case H_Reverb+0:
+      rvb.FB_SRC_A=val;
+      break;
+
+    case H_Reverb+2   : rvb.FB_SRC_B=(s16)val;       break;
+    case H_Reverb+4   : rvb.IIR_ALPHA=(s16)val;      break;
+    case H_Reverb+6   : rvb.ACC_COEF_A=(s16)val;     break;
+    case H_Reverb+8   : rvb.ACC_COEF_B=(s16)val;     break;
+    case H_Reverb+10  : rvb.ACC_COEF_C=(s16)val;     break;
+    case H_Reverb+12  : rvb.ACC_COEF_D=(s16)val;     break;
+    case H_Reverb+14  : rvb.IIR_COEF=(s16)val;       break;
+    case H_Reverb+16  : rvb.FB_ALPHA=(s16)val;       break;
+    case H_Reverb+18  : rvb.FB_X=(s16)val;           break;
+    case H_Reverb+20  : rvb.IIR_DEST_A0=(s16)val;    break;
+    case H_Reverb+22  : rvb.IIR_DEST_A1=(s16)val;    break;
+    case H_Reverb+24  : rvb.ACC_SRC_A0=(s16)val;     break;
+    case H_Reverb+26  : rvb.ACC_SRC_A1=(s16)val;     break;
+    case H_Reverb+28  : rvb.ACC_SRC_B0=(s16)val;     break;
+    case H_Reverb+30  : rvb.ACC_SRC_B1=(s16)val;     break;
+    case H_Reverb+32  : rvb.IIR_SRC_A0=(s16)val;     break;
+    case H_Reverb+34  : rvb.IIR_SRC_A1=(s16)val;     break;
+    case H_Reverb+36  : rvb.IIR_DEST_B0=(s16)val;    break;
+    case H_Reverb+38  : rvb.IIR_DEST_B1=(s16)val;    break;
+    case H_Reverb+40  : rvb.ACC_SRC_C0=(s16)val;     break;
+    case H_Reverb+42  : rvb.ACC_SRC_C1=(s16)val;     break;
+    case H_Reverb+44  : rvb.ACC_SRC_D0=(s16)val;     break;
+    case H_Reverb+46  : rvb.ACC_SRC_D1=(s16)val;     break;
+    case H_Reverb+48  : rvb.IIR_SRC_B1=(s16)val;     break;
+    case H_Reverb+50  : rvb.IIR_SRC_B0=(s16)val;     break;
+    case H_Reverb+52  : rvb.MIX_DEST_A0=(s16)val;    break;
+    case H_Reverb+54  : rvb.MIX_DEST_A1=(s16)val;    break;
+    case H_Reverb+56  : rvb.MIX_DEST_B0=(s16)val;    break;
+    case H_Reverb+58  : rvb.MIX_DEST_B1=(s16)val;    break;
+    case H_Reverb+60  : rvb.IN_COEF_L=(s16)val;      break;
+    case H_Reverb+62  : rvb.IN_COEF_R=(s16)val;      break;
+   }
+
+}
+
+////////////////////////////////////////////////////////////////////////
+// READ REGISTER: called by main emu
+////////////////////////////////////////////////////////////////////////
+
+u16 SPUreadRegister(u32 reg)
+{
+ const u32 r=reg&0xfff;
+
+ if(r>=0x0c00 && r<0x0d80)
+  {
+   switch(r&0x0f)
+    {
+     case 0xC:                                          // get adsr vol
+      {
+       const int ch=(r>>4)-0xc0;
+       if(s_chan[ch].bNew) return 1;                   // we are started, but not processed? return 1
+       if(s_chan[ch].ADSRX.lVolume &&                  // same here... we haven't decoded one sample yet, so no envelope yet. return 1 as well
+          !s_chan[ch].ADSRX.EnvelopeVol)                   
+        return 1;
+       return (u16)(s_chan[ch].ADSRX.EnvelopeVol>>16);
+      }
+
+     case 0xE:                                          // get loop address
+      {
+       const int ch=(r>>4)-0xc0;
+       if(s_chan[ch].pLoop==NULL) return 0;
+       return (u16)((s_chan[ch].pLoop-spuMemC)>>3);
+      }
+    }
+  }
+
+ switch(r)
+  {
+    case H_SPUctrl:
+     return spuCtrl;
+
+    case H_SPUstat:
+     return spuStat;
+        
+    case H_SPUaddr:
+     return (u16)(spuAddr>>3);
+
+    case H_SPUdata:
+     {
+      u16 s=BFLIP16(spuMem[spuAddr>>1]);
+      spuAddr+=2;
+      if(spuAddr>0x7ffff) spuAddr=0;
+      return s;
+     }
+
+    case H_SPUirqAddr:
+     return spuIrq;
+
+    //case H_SPUIsOn1:
+    // return IsSoundOn(0,16);
+
+    //case H_SPUIsOn2:
+    // return IsSoundOn(16,24);
+ 
+  }
+
+ return regArea[(r-0xc00)>>1];
+}
+ 
+////////////////////////////////////////////////////////////////////////
+// SOUND ON register write
+////////////////////////////////////////////////////////////////////////
+
+static void SoundOn(int start,int end,u16 val)     // SOUND ON PSX COMAND
+{
+ int ch;
+
+ for(ch=start;ch<end;ch++,val>>=1)                     // loop channels
+  {
+   if((val&1) && s_chan[ch].pStart)                    // mmm... start has to be set before key on !?!
+    {
+     s_chan[ch].bIgnoreLoop=0;
+     s_chan[ch].bNew=1;
+    }
+  }
+}
+
+////////////////////////////////////////////////////////////////////////
+// SOUND OFF register write
+////////////////////////////////////////////////////////////////////////
+
+static void SoundOff(int start,int end,u16 val)    // SOUND OFF PSX COMMAND
+{
+ int ch;
+ for(ch=start;ch<end;ch++,val>>=1)                     // loop channels
+  {
+   if(val&1)                                           // && s_chan[i].bOn)  mmm...
+    {
+     s_chan[ch].bStop=1;
+    }                                                  
+  }
+}
+
+////////////////////////////////////////////////////////////////////////
+// FMOD register write
+////////////////////////////////////////////////////////////////////////
+
+static void FModOn(int start,int end,u16 val)      // FMOD ON PSX COMMAND
+{
+ int ch;
+
+ for(ch=start;ch<end;ch++,val>>=1)                     // loop channels
+  {
+   if(val&1)                                           // -> fmod on/off
+    {
+     if(ch>0) 
+      {
+       s_chan[ch].bFMod=1;                             // --> sound channel
+       s_chan[ch-1].bFMod=2;                           // --> freq channel
+      }
+    }
+   else
+    {
+     s_chan[ch].bFMod=0;                               // --> turn off fmod
+    }
+  }
+}
+
+////////////////////////////////////////////////////////////////////////
+// NOISE register write
+////////////////////////////////////////////////////////////////////////
+
+static void NoiseOn(int start,int end,u16 val)     // NOISE ON PSX COMMAND
+{
+ int ch;
+
+ for(ch=start;ch<end;ch++,val>>=1)                     // loop channels
+  {
+   if(val&1)                                           // -> noise on/off
+    {
+     s_chan[ch].bNoise=1;
+    }
+   else 
+    {
+     s_chan[ch].bNoise=0;
+    }
+  }
+}
+
+////////////////////////////////////////////////////////////////////////
+// LEFT VOLUME register write
+////////////////////////////////////////////////////////////////////////
+
+// please note: sweep is wrong.
+
+static void SetVolumeLR(int right, u8 ch,s16 vol)            // LEFT VOLUME
+{
+ //if(vol&0xc000)
+ //printf("%d %08x\n",right,vol);
+ if(right)
+  s_chan[ch].iRightVolRaw=vol;
+ else
+  s_chan[ch].iLeftVolRaw=vol;
+
+ if(vol&0x8000)                                        // sweep?
+  {
+   s16 sInc=1;                                       // -> sweep up?
+   if(vol&0x2000) sInc=-1;                             // -> or down?
+   if(vol&0x1000) vol^=0xffff;                         // -> mmm... phase inverted? have to investigate this
+   vol=((vol&0x7f)+1)/2;                               // -> sweep: 0..127 -> 0..64
+   vol+=vol/(2*sInc);                                  // -> HACK: we don't sweep right now, so we just raise/lower the volume by the half!
+   vol*=128;
+   vol&=0x3fff;
+   //puts("Sweep");
+  }
+ else                                                  // no sweep:
+  {
+   if(vol&0x4000)
+    vol=(vol&0x3FFF)-0x4000;
+   else
+    vol&=0x3FFF;
+
+   //if(vol&0x4000)                                      // -> mmm... phase inverted? have to investigate this
+   // vol=0-(0x3fff-(vol&0x3fff));
+   //else
+   // vol&=0x3fff;
+  }
+ if(right)
+  s_chan[ch].iRightVolume=vol;
+ else
+  s_chan[ch].iLeftVolume=vol;                           // store volume
+}
+
+////////////////////////////////////////////////////////////////////////
+// PITCH register write
+////////////////////////////////////////////////////////////////////////
+
+static void SetPitch(int ch,u16 val)               // SET PITCH
+{
+ int NP;
+ if(val>0x3fff) NP=0x3fff;                             // get pitch val
+ else           NP=val;
+
+ s_chan[ch].iRawPitch=NP;
+
+ NP=(44100L*NP)/4096L;                                 // calc frequency
+ if(NP<1) NP=1;                                        // some security
+ s_chan[ch].iActFreq=NP;                               // store frequency
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/peops/registers.h	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,153 @@
+/***************************************************************************
+                         registers.h  -  description
+                             -------------------
+    begin                : Wed May 15 2002
+    copyright            : (C) 2002 by Pete Bernert
+    email                : BlackDove@addcom.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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; either version 2 of the License, or     *
+ *   (at your option) any later version. See also the license.txt file for *
+ *   additional informations.                                              *
+ *                                                                         *
+ ***************************************************************************/
+
+//*************************************************************************//
+// History of changes:
+//
+// 2002/05/15 - Pete
+// - generic cleanup for the Peops release
+//
+//*************************************************************************//
+
+#define H_SPUReverbAddr  0x0da2
+#define H_SPUirqAddr     0x0da4
+#define H_SPUaddr        0x0da6
+#define H_SPUdata        0x0da8
+#define H_SPUctrl        0x0daa
+#define H_SPUstat        0x0dae
+#define H_SPUmvolL       0x0d80
+#define H_SPUmvolR       0x0d82
+#define H_SPUrvolL       0x0d84
+#define H_SPUrvolR       0x0d86
+#define H_SPUon1         0x0d88
+#define H_SPUon2         0x0d8a
+#define H_SPUoff1        0x0d8c
+#define H_SPUoff2        0x0d8e
+#define H_FMod1          0x0d90
+#define H_FMod2          0x0d92
+#define H_Noise1         0x0d94
+#define H_Noise2         0x0d96
+#define H_RVBon1         0x0d98
+#define H_RVBon2         0x0d9a
+#define H_SPUMute1       0x0d9c
+#define H_SPUMute2       0x0d9e
+#define H_CDLeft         0x0db0
+#define H_CDRight        0x0db2
+#define H_ExtLeft        0x0db4
+#define H_ExtRight       0x0db6
+#define H_Reverb         0x0dc0
+#define H_SPUPitch0      0x0c04
+#define H_SPUPitch1      0x0c14
+#define H_SPUPitch2      0x0c24
+#define H_SPUPitch3      0x0c34
+#define H_SPUPitch4      0x0c44
+#define H_SPUPitch5      0x0c54
+#define H_SPUPitch6      0x0c64
+#define H_SPUPitch7      0x0c74
+#define H_SPUPitch8      0x0c84
+#define H_SPUPitch9      0x0c94
+#define H_SPUPitch10     0x0ca4
+#define H_SPUPitch11     0x0cb4
+#define H_SPUPitch12     0x0cc4
+#define H_SPUPitch13     0x0cd4
+#define H_SPUPitch14     0x0ce4
+#define H_SPUPitch15     0x0cf4
+#define H_SPUPitch16     0x0d04
+#define H_SPUPitch17     0x0d14
+#define H_SPUPitch18     0x0d24
+#define H_SPUPitch19     0x0d34
+#define H_SPUPitch20     0x0d44
+#define H_SPUPitch21     0x0d54
+#define H_SPUPitch22     0x0d64
+#define H_SPUPitch23     0x0d74
+
+#define H_SPUStartAdr0   0x0c06
+#define H_SPUStartAdr1   0x0c16
+#define H_SPUStartAdr2   0x0c26
+#define H_SPUStartAdr3   0x0c36
+#define H_SPUStartAdr4   0x0c46
+#define H_SPUStartAdr5   0x0c56
+#define H_SPUStartAdr6   0x0c66
+#define H_SPUStartAdr7   0x0c76
+#define H_SPUStartAdr8   0x0c86
+#define H_SPUStartAdr9   0x0c96
+#define H_SPUStartAdr10  0x0ca6
+#define H_SPUStartAdr11  0x0cb6
+#define H_SPUStartAdr12  0x0cc6
+#define H_SPUStartAdr13  0x0cd6
+#define H_SPUStartAdr14  0x0ce6
+#define H_SPUStartAdr15  0x0cf6
+#define H_SPUStartAdr16  0x0d06
+#define H_SPUStartAdr17  0x0d16
+#define H_SPUStartAdr18  0x0d26
+#define H_SPUStartAdr19  0x0d36
+#define H_SPUStartAdr20  0x0d46
+#define H_SPUStartAdr21  0x0d56
+#define H_SPUStartAdr22  0x0d66
+#define H_SPUStartAdr23  0x0d76
+
+#define H_SPULoopAdr0   0x0c0e
+#define H_SPULoopAdr1   0x0c1e
+#define H_SPULoopAdr2   0x0c2e
+#define H_SPULoopAdr3   0x0c3e
+#define H_SPULoopAdr4   0x0c4e
+#define H_SPULoopAdr5   0x0c5e
+#define H_SPULoopAdr6   0x0c6e
+#define H_SPULoopAdr7   0x0c7e
+#define H_SPULoopAdr8   0x0c8e
+#define H_SPULoopAdr9   0x0c9e
+#define H_SPULoopAdr10  0x0cae
+#define H_SPULoopAdr11  0x0cbe
+#define H_SPULoopAdr12  0x0cce
+#define H_SPULoopAdr13  0x0cde
+#define H_SPULoopAdr14  0x0cee
+#define H_SPULoopAdr15  0x0cfe
+#define H_SPULoopAdr16  0x0d0e
+#define H_SPULoopAdr17  0x0d1e
+#define H_SPULoopAdr18  0x0d2e
+#define H_SPULoopAdr19  0x0d3e
+#define H_SPULoopAdr20  0x0d4e
+#define H_SPULoopAdr21  0x0d5e
+#define H_SPULoopAdr22  0x0d6e
+#define H_SPULoopAdr23  0x0d7e
+
+#define H_SPU_ADSRLevel0   0x0c08
+#define H_SPU_ADSRLevel1   0x0c18
+#define H_SPU_ADSRLevel2   0x0c28
+#define H_SPU_ADSRLevel3   0x0c38
+#define H_SPU_ADSRLevel4   0x0c48
+#define H_SPU_ADSRLevel5   0x0c58
+#define H_SPU_ADSRLevel6   0x0c68
+#define H_SPU_ADSRLevel7   0x0c78
+#define H_SPU_ADSRLevel8   0x0c88
+#define H_SPU_ADSRLevel9   0x0c98
+#define H_SPU_ADSRLevel10  0x0ca8
+#define H_SPU_ADSRLevel11  0x0cb8
+#define H_SPU_ADSRLevel12  0x0cc8
+#define H_SPU_ADSRLevel13  0x0cd8
+#define H_SPU_ADSRLevel14  0x0ce8
+#define H_SPU_ADSRLevel15  0x0cf8
+#define H_SPU_ADSRLevel16  0x0d08
+#define H_SPU_ADSRLevel17  0x0d18
+#define H_SPU_ADSRLevel18  0x0d28
+#define H_SPU_ADSRLevel19  0x0d38
+#define H_SPU_ADSRLevel20  0x0d48
+#define H_SPU_ADSRLevel21  0x0d58
+#define H_SPU_ADSRLevel22  0x0d68
+#define H_SPU_ADSRLevel23  0x0d78
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/peops/regs.h	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,34 @@
+/***************************************************************************
+                           regs.h  -  description
+                             -------------------
+    begin                : Wed May 15 2002
+    copyright            : (C) 2002 by Pete Bernert
+    email                : BlackDove@addcom.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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; either version 2 of the License, or     *
+ *   (at your option) any later version. See also the license.txt file for *
+ *   additional informations.                                              *
+ *                                                                         *
+ ***************************************************************************/
+
+//*************************************************************************//
+// History of changes:
+//
+// 2002/05/15 - Pete
+// - generic cleanup for the Peops release
+//
+//*************************************************************************//
+
+
+static void SoundOn(int start,int end,u16 val);
+static void SoundOff(int start,int end,u16 val);
+static void FModOn(int start,int end,u16 val);
+static void NoiseOn(int start,int end,u16 val);
+static void SetVolumeLR(int right, u8 ch,s16 vol);
+static void SetPitch(int ch,u16 val);
+void SPUwriteRegister(u32 reg, u16 val);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/peops/reverb.c	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,383 @@
+/***************************************************************************
+                          reverb.c  -  description
+                             -------------------
+    begin                : Wed May 15 2002
+    copyright            : (C) 2002 by Pete Bernert
+    email                : BlackDove@addcom.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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; either version 2 of the License, or     *
+ *   (at your option) any later version. See also the license.txt file for *
+ *   additional informations.                                              *
+ *                                                                         *
+ ***************************************************************************/
+
+//*************************************************************************//
+// History of changes:
+//
+// 2003/03/17 - xodnizel
+// - Implemented Neill's 44.1Khz-22050Hz downsampling data
+//   I also need to check if the ~4 sample delay doesn't screw any sounds
+//   up by making things too out of phase.  It could be fixed easily(elsewhere).
+//
+// 2003/01/19 - Pete
+// - added Neill's reverb (see at the end of file)
+//
+// 2002/12/26 - Pete
+// - adjusted reverb handling
+//
+// 2002/08/14 - Pete
+// - added extra reverb
+//
+// 2002/05/15 - Pete
+// - generic cleanup for the Peops release
+//
+//*************************************************************************//
+
+#define _IN_REVERB
+
+// will be included from spu.c
+#ifdef _IN_SPU
+
+////////////////////////////////////////////////////////////////////////
+// globals
+////////////////////////////////////////////////////////////////////////
+
+// REVERB info and timing vars...
+
+////////////////////////////////////////////////////////////////////////
+
+static INLINE s64 g_buffer(int iOff)                          // get_buffer content helper: takes care about wraps
+{
+ s16 * p=(s16 *)spuMem;
+ iOff=(iOff*4)+rvb.CurrAddr;
+ while(iOff>0x3FFFF)       iOff=rvb.StartAddr+(iOff-0x40000);
+ while(iOff<rvb.StartAddr) iOff=0x3ffff-(rvb.StartAddr-iOff);
+ return (int)(s16)BFLIP16(*(p+iOff));
+}
+
+////////////////////////////////////////////////////////////////////////
+
+static INLINE void s_buffer(int iOff,int iVal)                // set_buffer content helper: takes care about wraps and clipping
+{
+ s16 * p=(s16 *)spuMem;
+ iOff=(iOff*4)+rvb.CurrAddr;
+ while(iOff>0x3FFFF) iOff=rvb.StartAddr+(iOff-0x40000);
+ while(iOff<rvb.StartAddr) iOff=0x3ffff-(rvb.StartAddr-iOff);
+ if(iVal<-32768L) iVal=-32768L;
+ if(iVal>32767L) iVal=32767L;
+ *(p+iOff)=(s16)BFLIP16((s16)iVal);
+}
+
+////////////////////////////////////////////////////////////////////////
+
+static INLINE void s_buffer1(int iOff,int iVal)                // set_buffer (+1 sample) content helper: takes care about wraps and clipping
+{
+ s16 * p=(s16 *)spuMem;
+ iOff=(iOff*4)+rvb.CurrAddr+1;
+ while(iOff>0x3FFFF) iOff=rvb.StartAddr+(iOff-0x40000);
+ while(iOff<rvb.StartAddr) iOff=0x3ffff-(rvb.StartAddr-iOff);
+ if(iVal<-32768L) iVal=-32768L;if(iVal>32767L) iVal=32767L;
+ *(p+iOff)=(s16)BFLIP16((s16)iVal);
+}
+
+static INLINE void MixREVERBLeftRight(s32 *oleft, s32 *oright, s32 inleft, s32 inright)
+{
+   static s32 downbuf[2][8];
+   static s32 upbuf[2][8];
+   static int dbpos=0,ubpos=0;
+   static s32 downcoeffs[8]={ /* Symmetry is sexy. */
+				1283,5344,10895,15243,
+				15243,10895,5344,1283
+			       };
+   int x;
+
+   if(!rvb.StartAddr)                                  // reverb is off
+    {
+     rvb.iRVBLeft=rvb.iRVBRight=0;
+     return;
+    }
+
+   //if(inleft<-32767 || inleft>32767) printf("%d\n",inleft);
+   //if(inright<-32767 || inright>32767) printf("%d\n",inright);
+   downbuf[0][dbpos]=inleft;
+   downbuf[1][dbpos]=inright;
+   dbpos=(dbpos+1)&7;
+
+   if(dbpos&1)                                          // we work on every second left value: downsample to 22 khz
+    {
+     if(spuCtrl&0x80)                                  // -> reverb on? oki
+      {
+       int ACC0,ACC1,FB_A0,FB_A1,FB_B0,FB_B1;
+       s32 INPUT_SAMPLE_L=0;                         
+       s32 INPUT_SAMPLE_R=0;
+
+       for(x=0;x<8;x++)
+       {
+        INPUT_SAMPLE_L+=(downbuf[0][(dbpos+x)&7]*downcoeffs[x])>>8; /* Lose insignificant
+							    digits to prevent
+							    overflow(check this) */
+        INPUT_SAMPLE_R+=(downbuf[1][(dbpos+x)&7]*downcoeffs[x])>>8;
+       }
+
+       INPUT_SAMPLE_L>>=(16-8);
+       INPUT_SAMPLE_R>>=(16-8);
+       {
+        const s64 IIR_INPUT_A0 = ((g_buffer(rvb.IIR_SRC_A0) * rvb.IIR_COEF)>>15) + ((INPUT_SAMPLE_L * rvb.IN_COEF_L)>>15);
+        const s64 IIR_INPUT_A1 = ((g_buffer(rvb.IIR_SRC_A1) * rvb.IIR_COEF)>>15) + ((INPUT_SAMPLE_R * rvb.IN_COEF_R)>>15);
+        const s64 IIR_INPUT_B0 = ((g_buffer(rvb.IIR_SRC_B0) * rvb.IIR_COEF)>>15) + ((INPUT_SAMPLE_L * rvb.IN_COEF_L)>>15);
+        const s64 IIR_INPUT_B1 = ((g_buffer(rvb.IIR_SRC_B1) * rvb.IIR_COEF)>>15) + ((INPUT_SAMPLE_R * rvb.IN_COEF_R)>>15);
+        const s64 IIR_A0 = ((IIR_INPUT_A0 * rvb.IIR_ALPHA)>>15) + ((g_buffer(rvb.IIR_DEST_A0) * (32768L - rvb.IIR_ALPHA))>>15);
+        const s64 IIR_A1 = ((IIR_INPUT_A1 * rvb.IIR_ALPHA)>>15) + ((g_buffer(rvb.IIR_DEST_A1) * (32768L - rvb.IIR_ALPHA))>>15);
+        const s64 IIR_B0 = ((IIR_INPUT_B0 * rvb.IIR_ALPHA)>>15) + ((g_buffer(rvb.IIR_DEST_B0) * (32768L - rvb.IIR_ALPHA))>>15);
+        const s64 IIR_B1 = ((IIR_INPUT_B1 * rvb.IIR_ALPHA)>>15) + ((g_buffer(rvb.IIR_DEST_B1) * (32768L - rvb.IIR_ALPHA))>>15);
+
+       s_buffer1(rvb.IIR_DEST_A0, IIR_A0);
+       s_buffer1(rvb.IIR_DEST_A1, IIR_A1);
+       s_buffer1(rvb.IIR_DEST_B0, IIR_B0);
+       s_buffer1(rvb.IIR_DEST_B1, IIR_B1);
+ 
+       ACC0 = ((g_buffer(rvb.ACC_SRC_A0) * rvb.ACC_COEF_A)>>15) +
+              ((g_buffer(rvb.ACC_SRC_B0) * rvb.ACC_COEF_B)>>15) +
+              ((g_buffer(rvb.ACC_SRC_C0) * rvb.ACC_COEF_C)>>15) +
+              ((g_buffer(rvb.ACC_SRC_D0) * rvb.ACC_COEF_D)>>15);
+       ACC1 = ((g_buffer(rvb.ACC_SRC_A1) * rvb.ACC_COEF_A)>>15) +
+              ((g_buffer(rvb.ACC_SRC_B1) * rvb.ACC_COEF_B)>>15) +
+              ((g_buffer(rvb.ACC_SRC_C1) * rvb.ACC_COEF_C)>>15) +
+              ((g_buffer(rvb.ACC_SRC_D1) * rvb.ACC_COEF_D)>>15);
+
+       FB_A0 = g_buffer(rvb.MIX_DEST_A0 - rvb.FB_SRC_A);
+       FB_A1 = g_buffer(rvb.MIX_DEST_A1 - rvb.FB_SRC_A);
+       FB_B0 = g_buffer(rvb.MIX_DEST_B0 - rvb.FB_SRC_B);
+       FB_B1 = g_buffer(rvb.MIX_DEST_B1 - rvb.FB_SRC_B);
+
+       s_buffer(rvb.MIX_DEST_A0, ACC0 - ((FB_A0 * rvb.FB_ALPHA)>>15));
+       s_buffer(rvb.MIX_DEST_A1, ACC1 - ((FB_A1 * rvb.FB_ALPHA)>>15));
+       
+       s_buffer(rvb.MIX_DEST_B0, ((rvb.FB_ALPHA * ACC0)>>15) - ((FB_A0 * (int)(rvb.FB_ALPHA^0xFFFF8000))>>15) - ((FB_B0 * rvb.FB_X)>>15));
+       s_buffer(rvb.MIX_DEST_B1, ((rvb.FB_ALPHA * ACC1)>>15) - ((FB_A1 * (int)(rvb.FB_ALPHA^0xFFFF8000))>>15) - ((FB_B1 * rvb.FB_X)>>15));
+ 
+       rvb.iRVBLeft  = (g_buffer(rvb.MIX_DEST_A0)+g_buffer(rvb.MIX_DEST_B0))/3;
+       rvb.iRVBRight = (g_buffer(rvb.MIX_DEST_A1)+g_buffer(rvb.MIX_DEST_B1))/3;
+
+       rvb.iRVBLeft  = ((s64)rvb.iRVBLeft * rvb.VolLeft)  >> 14;
+       rvb.iRVBRight = ((s64)rvb.iRVBRight * rvb.VolRight) >> 14;
+
+       upbuf[0][ubpos]=rvb.iRVBLeft;
+       upbuf[1][ubpos]=rvb.iRVBRight;
+       ubpos=(ubpos+1)&7;
+       } // Bracket hack(et).
+      }
+     else                                              // -> reverb off
+      {
+       rvb.iRVBLeft=rvb.iRVBRight=0;
+       return;
+      }
+     rvb.CurrAddr++;
+     if(rvb.CurrAddr>0x3ffff) rvb.CurrAddr=rvb.StartAddr;
+    }
+    else
+    {
+     upbuf[0][ubpos]=0;
+     upbuf[1][ubpos]=0;
+     ubpos=(ubpos+1)&7;
+    }
+   {
+    s32 retl=0,retr=0;
+    for(x=0;x<8;x++)
+    {
+     retl+=(upbuf[0][(ubpos+x)&7]*downcoeffs[x])>>8;
+     retr+=(upbuf[1][(ubpos+x)&7]*downcoeffs[x])>>8;
+    }
+    retl>>=(16-8-1); /* -1 To adjust for the null padding. */
+    retr>>=(16-8-1);
+
+    *oleft+=retl;
+    *oright+=retr;
+   }
+}
+
+////////////////////////////////////////////////////////////////////////
+
+#endif
+
+/*
+-----------------------------------------------------------------------------
+PSX reverb hardware notes
+by Neill Corlett
+-----------------------------------------------------------------------------
+
+Yadda yadda disclaimer yadda probably not perfect yadda well it's okay anyway
+yadda yadda.
+
+-----------------------------------------------------------------------------
+
+Basics
+------
+
+- The reverb buffer is 22khz 16-bit mono PCM.
+- It starts at the reverb address given by 1DA2, extends to
+  the end of sound RAM, and wraps back to the 1DA2 address.
+
+Setting the address at 1DA2 resets the current reverb work address.
+
+This work address ALWAYS increments every 1/22050 sec., regardless of
+whether reverb is enabled (bit 7 of 1DAA set).
+
+And the contents of the reverb buffer ALWAYS play, scaled by the
+"reverberation depth left/right" volumes (1D84/1D86).
+(which, by the way, appear to be scaled so 3FFF=approx. 1.0, 4000=-1.0)
+
+-----------------------------------------------------------------------------
+
+Register names
+--------------
+
+These are probably not their real names.
+These are probably not even correct names.
+We will use them anyway, because we can.
+
+1DC0: FB_SRC_A       (offset)
+1DC2: FB_SRC_B       (offset)
+1DC4: IIR_ALPHA      (coef.)
+1DC6: ACC_COEF_A     (coef.)
+1DC8: ACC_COEF_B     (coef.)
+1DCA: ACC_COEF_C     (coef.)
+1DCC: ACC_COEF_D     (coef.)
+1DCE: IIR_COEF       (coef.)
+1DD0: FB_ALPHA       (coef.)
+1DD2: FB_X           (coef.)
+1DD4: IIR_DEST_A0    (offset)
+1DD6: IIR_DEST_A1    (offset)
+1DD8: ACC_SRC_A0     (offset)
+1DDA: ACC_SRC_A1     (offset)
+1DDC: ACC_SRC_B0     (offset)
+1DDE: ACC_SRC_B1     (offset)
+1DE0: IIR_SRC_A0     (offset)
+1DE2: IIR_SRC_A1     (offset)
+1DE4: IIR_DEST_B0    (offset)
+1DE6: IIR_DEST_B1    (offset)
+1DE8: ACC_SRC_C0     (offset)
+1DEA: ACC_SRC_C1     (offset)
+1DEC: ACC_SRC_D0     (offset)
+1DEE: ACC_SRC_D1     (offset)
+1DF0: IIR_SRC_B1     (offset)
+1DF2: IIR_SRC_B0     (offset)
+1DF4: MIX_DEST_A0    (offset)
+1DF6: MIX_DEST_A1    (offset)
+1DF8: MIX_DEST_B0    (offset)
+1DFA: MIX_DEST_B1    (offset)
+1DFC: IN_COEF_L      (coef.)
+1DFE: IN_COEF_R      (coef.)
+
+The coefficients are signed fractional values.
+-32768 would be -1.0
+ 32768 would be  1.0 (if it were possible... the highest is of course 32767)
+
+The offsets are (byte/8) offsets into the reverb buffer.
+i.e. you multiply them by 8, you get byte offsets.
+You can also think of them as (samples/4) offsets.
+They appear to be signed.  They can be negative.
+None of the documented presets make them negative, though.
+
+Yes, 1DF0 and 1DF2 appear to be backwards.  Not a typo.
+
+-----------------------------------------------------------------------------
+
+What it does
+------------
+
+We take all reverb sources:
+- regular channels that have the reverb bit on
+- cd and external sources, if their reverb bits are on
+and mix them into one stereo 44100hz signal.
+
+Lowpass/downsample that to 22050hz.  The PSX uses a proper bandlimiting
+algorithm here, but I haven't figured out the hysterically exact specifics.
+I use an 8-tap filter with these coefficients, which are nice but probably
+not the real ones:
+
+0.037828187894
+0.157538631280
+0.321159685278
+0.449322115345
+0.449322115345
+0.321159685278
+0.157538631280
+0.037828187894
+
+So we have two input samples (INPUT_SAMPLE_L, INPUT_SAMPLE_R) every 22050hz.
+
+* IN MY EMULATION, I divide these by 2 to make it clip less.
+  (and of course the L/R output coefficients are adjusted to compensate)
+  The real thing appears to not do this.
+
+At every 22050hz tick:
+- If the reverb bit is enabled (bit 7 of 1DAA), execute the reverb
+  steady-state algorithm described below
+- AFTERWARDS, retrieve the "wet out" L and R samples from the reverb buffer
+  (This part may not be exactly right and I guessed at the coefs. TODO: check later.)
+  L is: 0.333 * (buffer[MIX_DEST_A0] + buffer[MIX_DEST_B0])
+  R is: 0.333 * (buffer[MIX_DEST_A1] + buffer[MIX_DEST_B1])
+- Advance the current buffer position by 1 sample
+
+The wet out L and R are then upsampled to 44100hz and played at the
+"reverberation depth left/right" (1D84/1D86) volume, independent of the main
+volume.
+
+-----------------------------------------------------------------------------
+
+Reverb steady-state
+-------------------
+
+The reverb steady-state algorithm is fairly clever, and of course by
+"clever" I mean "batshit insane".
+
+buffer[x] is relative to the current buffer position, not the beginning of
+the buffer.  Note that all buffer offsets must wrap around so they're
+contained within the reverb work area.
+
+Clipping is performed at the end... maybe also sooner, but definitely at
+the end.
+
+IIR_INPUT_A0 = buffer[IIR_SRC_A0] * IIR_COEF + INPUT_SAMPLE_L * IN_COEF_L;
+IIR_INPUT_A1 = buffer[IIR_SRC_A1] * IIR_COEF + INPUT_SAMPLE_R * IN_COEF_R;
+IIR_INPUT_B0 = buffer[IIR_SRC_B0] * IIR_COEF + INPUT_SAMPLE_L * IN_COEF_L;
+IIR_INPUT_B1 = buffer[IIR_SRC_B1] * IIR_COEF + INPUT_SAMPLE_R * IN_COEF_R;
+
+IIR_A0 = IIR_INPUT_A0 * IIR_ALPHA + buffer[IIR_DEST_A0] * (1.0 - IIR_ALPHA);
+IIR_A1 = IIR_INPUT_A1 * IIR_ALPHA + buffer[IIR_DEST_A1] * (1.0 - IIR_ALPHA);
+IIR_B0 = IIR_INPUT_B0 * IIR_ALPHA + buffer[IIR_DEST_B0] * (1.0 - IIR_ALPHA);
+IIR_B1 = IIR_INPUT_B1 * IIR_ALPHA + buffer[IIR_DEST_B1] * (1.0 - IIR_ALPHA);
+
+buffer[IIR_DEST_A0 + 1sample] = IIR_A0;
+buffer[IIR_DEST_A1 + 1sample] = IIR_A1;
+buffer[IIR_DEST_B0 + 1sample] = IIR_B0;
+buffer[IIR_DEST_B1 + 1sample] = IIR_B1;
+
+ACC0 = buffer[ACC_SRC_A0] * ACC_COEF_A +
+       buffer[ACC_SRC_B0] * ACC_COEF_B +
+       buffer[ACC_SRC_C0] * ACC_COEF_C +
+       buffer[ACC_SRC_D0] * ACC_COEF_D;
+ACC1 = buffer[ACC_SRC_A1] * ACC_COEF_A +
+       buffer[ACC_SRC_B1] * ACC_COEF_B +
+       buffer[ACC_SRC_C1] * ACC_COEF_C +
+       buffer[ACC_SRC_D1] * ACC_COEF_D;
+
+FB_A0 = buffer[MIX_DEST_A0 - FB_SRC_A];
+FB_A1 = buffer[MIX_DEST_A1 - FB_SRC_A];
+FB_B0 = buffer[MIX_DEST_B0 - FB_SRC_B];
+FB_B1 = buffer[MIX_DEST_B1 - FB_SRC_B];
+
+buffer[MIX_DEST_A0] = ACC0 - FB_A0 * FB_ALPHA;
+buffer[MIX_DEST_A1] = ACC1 - FB_A1 * FB_ALPHA;
+buffer[MIX_DEST_B0] = (FB_ALPHA * ACC0) - FB_A0 * (FB_ALPHA^0x8000) - FB_B0 * FB_X;
+buffer[MIX_DEST_B1] = (FB_ALPHA * ACC1) - FB_A1 * (FB_ALPHA^0x8000) - FB_B1 * FB_X;
+
+-----------------------------------------------------------------------------
+*/
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/peops/spu.c	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,641 @@
+/***************************************************************************
+                            spu.c  -  description
+                             -------------------
+    begin                : Wed May 15 2002
+    copyright            : (C) 2002 by Pete Bernert
+    email                : BlackDove@addcom.de
+ ***************************************************************************/
+                       
+/***************************************************************************
+ *                                                                         *
+ *   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; either version 2 of the License, or     *
+ *   (at your option) any later version. See also the license.txt file for *
+ *   additional informations.                                              *
+ *                                                                         *
+ ***************************************************************************/
+                           
+//*************************************************************************//
+// History of changes:
+//
+// 2003/03/01 - linuzappz
+// - libraryName changes using ALSA
+//
+// 2003/02/28 - Pete
+// - added option for type of interpolation
+// - adjusted spu irqs again (Thousant Arms, Valkyrie Profile)
+// - added MONO support for MSWindows DirectSound
+//
+// 2003/02/20 - kode54
+// - amended interpolation code, goto GOON could skip initialization of gpos and cause segfault
+//
+// 2003/02/19 - kode54
+// - moved SPU IRQ handler and changed sample flag processing
+//
+// 2003/02/18 - kode54
+// - moved ADSR calculation outside of the sample decode loop, somehow I doubt that
+//   ADSR timing is relative to the frequency at which a sample is played... I guess
+//   this remains to be seen, and I don't know whether ADSR is applied to noise channels...
+//
+// 2003/02/09 - kode54
+// - one-shot samples now process the end block before stopping
+// - in light of removing fmod hack, now processing ADSR on frequency channel as well
+//
+// 2003/02/08 - kode54
+// - replaced easy interpolation with gaussian
+// - removed fmod averaging hack
+// - changed .sinc to be updated from .iRawPitch, no idea why it wasn't done this way already (<- Pete: because I sometimes fail to see the obvious, haharhar :)
+//
+// 2003/02/08 - linuzappz
+// - small bugfix for one usleep that was 1 instead of 1000
+// - added iDisStereo for no stereo (Linux)
+//
+// 2003/01/22 - Pete
+// - added easy interpolation & small noise adjustments
+//
+// 2003/01/19 - Pete
+// - added Neill's reverb
+//
+// 2003/01/12 - Pete
+// - added recording window handlers
+//
+// 2003/01/06 - Pete
+// - added Neill's ADSR timings
+//
+// 2002/12/28 - Pete
+// - adjusted spu irq handling, fmod handling and loop handling
+//
+// 2002/08/14 - Pete
+// - added extra reverb
+//
+// 2002/06/08 - linuzappz
+// - SPUupdate changed for SPUasync
+//
+// 2002/05/15 - Pete
+// - generic cleanup for the Peops release
+//
+//*************************************************************************//
+
+#define _IN_SPU
+
+#include "../peops/stdafx.h"
+#include "../peops/externals.h"
+#include "../peops/regs.h"
+#include "../peops/registers.h"
+#include "../peops/spu.h"
+
+void SPUirq(void) ;
+
+//#include "PsxMem.h"
+//#include "driver.h"
+
+////////////////////////////////////////////////////////////////////////
+// globals
+////////////////////////////////////////////////////////////////////////
+
+// psx buffer / addresses
+
+static u16  regArea[0x200];
+static u16  spuMem[256*1024];
+static u8 * spuMemC;
+static u8 * pSpuIrq=0;
+static u8 * pSpuBuffer;
+
+// user settings          
+static int             iVolume;
+                               
+// MAIN infos struct for each channel
+
+static SPUCHAN         s_chan[MAXCHAN+1];                     // channel + 1 infos (1 is security for fmod handling)
+static REVERBInfo      rvb;
+
+static u32   dwNoiseVal=1;                          // global noise generator
+
+static u16  spuCtrl=0;                             // some vars to store psx reg infos
+static u16  spuStat=0;
+static u16  spuIrq=0;             
+static u32  spuAddr=0xffffffff;                    // address into spu mem
+static int  bSPUIsOpen=0;
+
+static const int f[5][2] = {   
+			{    0,  0  },
+                        {   60,  0  },
+                        {  115, -52 },
+                        {   98, -55 },
+                        {  122, -60 } };
+s16 * pS;
+static s32 ttemp;
+
+////////////////////////////////////////////////////////////////////////
+// CODE AREA
+////////////////////////////////////////////////////////////////////////
+
+// dirty inline func includes
+
+#include "../peops/reverb.c"        
+#include "../peops/adsr.c"
+
+// Try this to increase speed.
+#include "../peops/registers.c"
+#include "../peops/dma.c"
+
+////////////////////////////////////////////////////////////////////////
+// helpers for so-called "gauss interpolation"
+
+#define gval0 (((int *)(&s_chan[ch].SB[29]))[gpos])
+#define gval(x) (((int *)(&s_chan[ch].SB[29]))[(gpos+x)&3])
+
+#include "gauss_i.h"
+
+////////////////////////////////////////////////////////////////////////
+
+////////////////////////////////////////////////////////////////////////
+// START SOUND... called by main thread to setup a new sound on a channel
+////////////////////////////////////////////////////////////////////////
+
+static INLINE void StartSound(int ch)
+{
+ StartADSR(ch);
+
+ s_chan[ch].pCurr=s_chan[ch].pStart;                   // set sample start
+                         
+ s_chan[ch].s_1=0;                                     // init mixing vars
+ s_chan[ch].s_2=0;
+ s_chan[ch].iSBPos=28;
+
+ s_chan[ch].bNew=0;                                    // init channel flags
+ s_chan[ch].bStop=0;                                   
+ s_chan[ch].bOn=1;
+
+ s_chan[ch].SB[29]=0;                                  // init our interpolation helpers
+ s_chan[ch].SB[30]=0;
+
+ s_chan[ch].spos=0x40000L;s_chan[ch].SB[28]=0;  // -> start with more decoding
+}
+
+////////////////////////////////////////////////////////////////////////
+// MAIN SPU FUNCTION
+// here is the main job handler... thread, timer or direct func call
+// basically the whole sound processing is done in this fat func!
+////////////////////////////////////////////////////////////////////////
+
+static u32 sampcount;
+static u32 decaybegin;
+static u32 decayend;
+
+// Counting to 65536 results in full volume offage.
+void setlength(s32 stop, s32 fade)
+{
+ if(stop==~0)
+ {
+  decaybegin=~0;
+ }
+ else
+ {
+  stop=(stop*441)/10;
+  fade=(fade*441)/10;
+
+  decaybegin=stop;
+  decayend=stop+fade;
+ }
+}
+
+#define CLIP(_x) {if(_x>32767) _x=32767; if(_x<-32767) _x=-32767;}
+int SPUasync(u32 cycles)
+{
+ int volmul=iVolume;
+ static s32 dosampies;
+ s32 temp;
+
+ ttemp+=cycles;
+ dosampies=ttemp/384;
+ if(!dosampies) return(1);
+ ttemp-=dosampies*384;
+ temp=dosampies;
+
+ while(temp)
+ {
+   s32 revLeft=0, revRight=0;
+   s32 sl=0, sr=0;
+   int ch,fa;
+
+   temp--;
+   //--------------------------------------------------//
+   //- main channel loop                              -// 
+   //--------------------------------------------------//
+    {
+     for(ch=0;ch<MAXCHAN;ch++)                         // loop em all.
+      {
+       if(s_chan[ch].bNew) StartSound(ch);             // start new sound
+       if(!s_chan[ch].bOn) continue;                   // channel not playing? next
+
+
+       if(s_chan[ch].iActFreq!=s_chan[ch].iUsedFreq)   // new psx frequency?
+        {
+         s_chan[ch].iUsedFreq=s_chan[ch].iActFreq;     // -> take it and calc steps
+         s_chan[ch].sinc=s_chan[ch].iRawPitch<<4;
+         if(!s_chan[ch].sinc) s_chan[ch].sinc=1;
+        }
+
+         while(s_chan[ch].spos>=0x10000L)
+          {
+           if(s_chan[ch].iSBPos==28)                   // 28 reached?
+            {
+	     int predict_nr,shift_factor,flags,d,s;
+	     u8* start;unsigned int nSample;
+	     int s_1,s_2;
+
+             start=s_chan[ch].pCurr;                   // set up the current pos
+
+             if (start == (u8*)-1)          // special "stop" sign
+              {
+               s_chan[ch].bOn=0;                       // -> turn everything off
+               s_chan[ch].ADSRX.lVolume=0;
+               s_chan[ch].ADSRX.EnvelopeVol=0;
+               goto ENDX;                              // -> and done for this channel
+              }
+
+             s_chan[ch].iSBPos=0;	// Reset buffer play index.
+
+             //////////////////////////////////////////// spu irq handler here? mmm... do it later
+
+             s_1=s_chan[ch].s_1;
+             s_2=s_chan[ch].s_2;
+
+             predict_nr=(int)*start;start++;           
+             shift_factor=predict_nr&0xf;
+             predict_nr >>= 4;
+             flags=(int)*start;start++;
+
+             // -------------------------------------- // 
+	     // Decode new samples into s_chan[ch].SB[0 through 27]
+             for (nSample=0;nSample<28;start++)      
+              {
+               d=(int)*start;
+               s=((d&0xf)<<12);
+               if(s&0x8000) s|=0xffff0000;
+
+               fa=(s >> shift_factor);
+               fa=fa + ((s_1 * f[predict_nr][0])>>6) + ((s_2 * f[predict_nr][1])>>6);
+               s_2=s_1;s_1=fa;
+               s=((d & 0xf0) << 8);
+
+               s_chan[ch].SB[nSample++]=fa;
+
+               if(s&0x8000) s|=0xffff0000;
+               fa=(s>>shift_factor);              
+               fa=fa + ((s_1 * f[predict_nr][0])>>6) + ((s_2 * f[predict_nr][1])>>6);
+               s_2=s_1;s_1=fa;
+
+               s_chan[ch].SB[nSample++]=fa;
+              }     
+
+             //////////////////////////////////////////// irq check
+
+             if(spuCtrl&0x40)         			// irq active?
+              {
+               if((pSpuIrq >  start-16 &&              // irq address reached?
+                   pSpuIrq <= start) ||
+                  ((flags&1) &&                        // special: irq on looping addr, when stop/loop flag is set 
+                   (pSpuIrq >  s_chan[ch].pLoop-16 && 
+                    pSpuIrq <= s_chan[ch].pLoop)))
+               {
+		 //extern s32 spuirqvoodoo;
+                 s_chan[ch].iIrqDone=1;                // -> debug flag
+		 SPUirq();
+		//puts("IRQ");
+		 //if(spuirqvoodoo!=-1)
+		 //{
+		 // spuirqvoodoo=temp*384;
+		 // temp=0;
+		 //}
+                }
+              }
+      
+             //////////////////////////////////////////// flag handler
+
+             if((flags&4) && (!s_chan[ch].bIgnoreLoop))
+              s_chan[ch].pLoop=start-16;               // loop adress
+
+             if(flags&1)                               // 1: stop/loop
+              {
+               // We play this block out first...
+               //if(!(flags&2))                          // 1+2: do loop... otherwise: stop
+               if(flags!=3 || s_chan[ch].pLoop==NULL)  // PETE: if we don't check exactly for 3, loop hang ups will happen (DQ4, for example)
+                {                                      // and checking if pLoop is set avoids crashes, yeah
+                 start = (u8*)-1;
+                }
+               else
+                {
+                 start = s_chan[ch].pLoop;
+                }
+              }
+
+             s_chan[ch].pCurr=start;                   // store values for next cycle
+             s_chan[ch].s_1=s_1;
+             s_chan[ch].s_2=s_2;      
+
+             ////////////////////////////////////////////
+            }
+
+           fa=s_chan[ch].SB[s_chan[ch].iSBPos++];      // get sample data
+
+           if((spuCtrl&0x4000)==0) fa=0;               // muted?
+	   else CLIP(fa);
+
+	    {
+	     int gpos;
+             gpos = s_chan[ch].SB[28];
+             gval0 = fa;
+             gpos = (gpos+1) & 3;
+             s_chan[ch].SB[28] = gpos;
+	    }
+           s_chan[ch].spos -= 0x10000L;
+          }
+
+         ////////////////////////////////////////////////
+         // noise handler... just produces some noise data
+         // surely wrong... and no noise frequency (spuCtrl&0x3f00) will be used...
+         // and sometimes the noise will be used as fmod modulation... pfff
+
+         if(s_chan[ch].bNoise)
+          {
+	   //puts("Noise");
+           if((dwNoiseVal<<=1)&0x80000000L)
+            {
+             dwNoiseVal^=0x0040001L;
+             fa=((dwNoiseVal>>2)&0x7fff);
+             fa=-fa;
+            }
+           else fa=(dwNoiseVal>>2)&0x7fff;
+
+           // mmm... depending on the noise freq we allow bigger/smaller changes to the previous val
+           fa=s_chan[ch].iOldNoise+((fa-s_chan[ch].iOldNoise)/((0x001f-((spuCtrl&0x3f00)>>9))+1));
+           if(fa>32767L)  fa=32767L;
+           if(fa<-32767L) fa=-32767L;              
+           s_chan[ch].iOldNoise=fa;
+
+          }                                            //----------------------------------------
+         else                                         // NO NOISE (NORMAL SAMPLE DATA) HERE 
+          {
+             int vl, vr, gpos;
+             vl = (s_chan[ch].spos >> 6) & ~3;
+             gpos = s_chan[ch].SB[28];
+             vr=(gauss[vl]*gval0)>>9;
+             vr+=(gauss[vl+1]*gval(1))>>9;
+             vr+=(gauss[vl+2]*gval(2))>>9;
+             vr+=(gauss[vl+3]*gval(3))>>9;
+             fa = vr>>2;
+          }
+
+         s_chan[ch].sval = (MixADSR(ch) * fa)>>10;     // / 1023;  // add adsr
+         if(s_chan[ch].bFMod==2)                       // fmod freq channel
+         {
+           int NP=s_chan[ch+1].iRawPitch;
+           NP=((32768L+s_chan[ch].sval)*NP)>>15; ///32768L;
+
+           if(NP>0x3fff) NP=0x3fff;
+           if(NP<0x1)    NP=0x1;
+                                                        
+	   // mmmm... if I do this, all is screwed              
+	  //           s_chan[ch+1].iRawPitch=NP;
+
+           NP=(44100L*NP)/(4096L);                     // calc frequency
+
+           s_chan[ch+1].iActFreq=NP;
+           s_chan[ch+1].iUsedFreq=NP;
+           s_chan[ch+1].sinc=(((NP/10)<<16)/4410);
+           if(!s_chan[ch+1].sinc) s_chan[ch+1].sinc=1;
+
+		// mmmm... set up freq decoding positions?
+		//           s_chan[ch+1].iSBPos=28;
+		//           s_chan[ch+1].spos=0x10000L;
+          }                    
+         else
+          {                                          
+           //////////////////////////////////////////////
+           // ok, left/right sound volume (psx volume goes from 0 ... 0x3fff)
+	   int tmpl,tmpr;
+
+		if (1) //ao_channel_enable[ch+PSF_1]) {
+		{
+			tmpl=(s_chan[ch].sval*s_chan[ch].iLeftVolume)>>14;
+			tmpr=(s_chan[ch].sval*s_chan[ch].iRightVolume)>>14;
+		} else {
+			tmpl = 0;
+			tmpr = 0;
+		}
+	   sl+=tmpl;
+	   sr+=tmpr;
+
+	   if(((rvb.Enabled>>ch)&1) && (spuCtrl&0x80))
+	   {
+	    revLeft+=tmpl;
+	    revRight+=tmpr;
+	   }
+          }
+
+         s_chan[ch].spos += s_chan[ch].sinc;             
+ ENDX:   ;                                                      
+      }
+    }                                                         
+
+  ///////////////////////////////////////////////////////
+  // mix all channels (including reverb) into one buffer
+  MixREVERBLeftRight(&sl,&sr,revLeft,revRight);
+//  printf("sampcount %d decaybegin %d decayend %d\n", sampcount, decaybegin, decayend);
+  if(sampcount>=decaybegin)
+  {
+   s32 dmul;
+   if(decaybegin!=~0) // Is anyone REALLY going to be playing a song
+		      // for 13 hours?
+   {
+    if(sampcount>=decayend) 
+    {
+//       	    ao_song_done = 1;
+	    return(0);
+    }
+    dmul=256-(256*(sampcount-decaybegin)/(decayend-decaybegin));
+    sl=(sl*dmul)>>8;
+    sr=(sr*dmul)>>8;
+   }
+  }
+
+  sampcount++;
+  sl=(sl*volmul)>>8;
+  sr=(sr*volmul)>>8;
+
+  //{
+  // static double asl=0;
+  // static double asr=0;
+   
+  // asl+=(sl-asl)/5;
+  // asr+=(sl-asr)/5;
+
+   //sl-=asl;
+   //sr-=asr;
+
+  // if(sl>32767 || sl < -32767) printf("Left: %d, %f\n",sl,asl);
+  // if(sr>32767 || sr < -32767) printf("Right: %d, %f\n",sl,asl);
+  //}
+
+  if(sl>32767) sl=32767; if(sl<-32767) sl=-32767;
+  if(sr>32767) sr=32767; if(sr<-32767) sr=-32767;
+
+  *pS++=sl;
+  *pS++=sr;
+ }
+
+ return(1);
+}
+
+void SPU_flushboot(void)
+{
+   if((u8*)pS>((u8*)pSpuBuffer+1024))
+   {
+    spu_update((u8*)pSpuBuffer,(u8*)pS-(u8*)pSpuBuffer);
+    pS=(s16 *)pSpuBuffer;
+   }
+}   
+
+#ifdef TIMEO
+static u64 begintime;
+static u64 gettime64(void)
+{
+ struct timeval tv;
+ u64 ret;
+
+ gettimeofday(&tv,0);
+ ret=tv.tv_sec;
+ ret*=1000000;
+ ret+=tv.tv_usec;
+ return(ret);
+}
+#endif
+////////////////////////////////////////////////////////////////////////
+// INIT/EXIT STUFF
+////////////////////////////////////////////////////////////////////////
+
+////////////////////////////////////////////////////////////////////////
+// SPUINIT: this func will be called first by the main emu
+////////////////////////////////////////////////////////////////////////
+              
+int SPUinit(void)
+{
+ spuMemC=(u8*)spuMem;                      // just small setup
+ memset((void *)s_chan,0,MAXCHAN*sizeof(SPUCHAN));
+ memset((void *)&rvb,0,sizeof(REVERBInfo));
+ memset(regArea,0,sizeof(regArea));
+ memset(spuMem,0,sizeof(spuMem));
+ InitADSR();
+ sampcount=ttemp=0;
+ #ifdef TIMEO
+ begintime=gettime64();
+ #endif
+ return 0;
+}
+
+////////////////////////////////////////////////////////////////////////
+// SETUPSTREAMS: init most of the spu buffers
+////////////////////////////////////////////////////////////////////////
+
+void SetupStreams(void)
+{ 
+ int i;
+
+ pSpuBuffer=(u8*)malloc(32768);            // alloc mixing buffer
+ pS=(s16 *)pSpuBuffer;
+
+ for(i=0;i<MAXCHAN;i++)                                // loop sound channels
+  {
+   s_chan[i].ADSRX.SustainLevel = 1024;                // -> init sustain
+   s_chan[i].iIrqDone=0;
+   s_chan[i].pLoop=spuMemC;
+   s_chan[i].pStart=spuMemC;
+   s_chan[i].pCurr=spuMemC;
+  }
+}
+
+////////////////////////////////////////////////////////////////////////
+// REMOVESTREAMS: free most buffer
+////////////////////////////////////////////////////////////////////////
+
+void RemoveStreams(void)
+{ 
+ free(pSpuBuffer);                                     // free mixing buffer
+ pSpuBuffer=NULL;
+
+ #ifdef TIMEO
+ {
+  u64 tmp;
+  tmp=gettime64();
+  tmp-=begintime;
+  if(tmp)
+   tmp=(u64)sampcount*1000000/tmp;
+  printf("%lld samples per second\n",tmp);
+ }
+ #endif
+}
+
+
+////////////////////////////////////////////////////////////////////////
+// SPUOPEN: called by main emu after init
+////////////////////////////////////////////////////////////////////////
+   
+int SPUopen(void)
+{
+ if(bSPUIsOpen) return 0;                              // security for some stupid main emus
+ spuIrq=0;                       
+
+ spuStat=spuCtrl=0;
+ spuAddr=0xffffffff;
+ dwNoiseVal=1;
+
+ spuMemC=(u8*)spuMem;      
+ memset((void *)s_chan,0,(MAXCHAN+1)*sizeof(SPUCHAN));
+ pSpuIrq=0;
+
+ iVolume=255; //85;
+ SetupStreams();                                       // prepare streaming
+
+ bSPUIsOpen=1;
+
+ return 1;
+}
+
+////////////////////////////////////////////////////////////////////////
+
+////////////////////////////////////////////////////////////////////////
+// SPUCLOSE: called before shutdown
+////////////////////////////////////////////////////////////////////////
+
+int SPUclose(void)
+{
+ if(!bSPUIsOpen) return 0;                             // some security
+
+ bSPUIsOpen=0;                                         // no more open
+
+ RemoveStreams();                                      // no more streaming
+
+ return 0;
+}
+
+////////////////////////////////////////////////////////////////////////
+// SPUSHUTDOWN: called by main emu on final exit
+////////////////////////////////////////////////////////////////////////
+
+int SPUshutdown(void)
+{
+ return 0;
+}
+
+void SPUinjectRAMImage(u16 *pIncoming)
+{
+	int i;
+
+	for (i = 0; i < (256*1024); i++)
+	{
+		spuMem[i] = pIncoming[i];
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/peops/spu.h	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,39 @@
+/***************************************************************************
+                            spu.h  -  description
+                             -------------------
+    begin                : Wed May 15 2002
+    copyright            : (C) 2002 by Pete Bernert
+    email                : BlackDove@addcom.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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; either version 2 of the License, or     *
+ *   (at your option) any later version. See also the license.txt file for *
+ *   additional informations.                                              *
+ *                                                                         *
+ ***************************************************************************/
+
+//*************************************************************************//
+// History of changes:
+//
+// 2002/05/15 - Pete
+// - generic cleanup for the Peops release
+//
+//*************************************************************************//
+
+void sexyd_update(unsigned char* pSound,long lBytes);
+
+int SPUasync(u32 cycles);
+void SPU_flushboot(void);
+int SPUinit(void);
+int SPUopen(void);
+int SPUclose(void);
+int SPUshutdown(void);
+void SPUinjectRAMImage(u16 *pIncoming);
+void SPUreadDMAMem(u32 usPSXMem,int iSize);
+void SPUwriteDMAMem(u32 usPSXMem,int iSize);
+u16 SPUreadRegister(u32 reg);
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/peops/stdafx.h	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,29 @@
+/***************************************************************************
+                           StdAfx.h  -  description
+                             -------------------
+    begin                : Wed May 15 2002
+    copyright            : (C) 2002 by Pete Bernert
+    email                : BlackDove@addcom.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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; either version 2 of the License, or     *
+ *   (at your option) any later version. See also the license.txt file for *
+ *   additional informations.                                              *
+ *                                                                         *
+ ***************************************************************************/
+
+//*************************************************************************//
+// History of changes:
+//
+// 2002/05/15 - Pete
+// - generic cleanup for the Peops release
+//
+//*************************************************************************//
+
+#include <stdlib.h>
+#include <string.h> 
+#include <math.h>  
Binary file src/psf2/peops2/.DS_Store has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/peops2/License.txt	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,282 @@
+#########################################################################
+
+		    GNU GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+                          675 Mass Ave, Cambridge, MA 02139, USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+			    NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/peops2/adsr.c	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,656 @@
+/***************************************************************************
+                          adsr.c  -  description
+                             -------------------
+    begin                : Wed May 15 2002
+    copyright            : (C) 2002 by Pete Bernert
+    email                : BlackDove@addcom.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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; either version 2 of the License, or     *
+ *   (at your option) any later version. See also the license.txt file for *
+ *   additional informations.                                              *
+ *                                                                         *
+ ***************************************************************************/
+
+//*************************************************************************//
+// History of changes:
+//
+// 2003/05/14 - xodnizel
+// - removed stopping of reverb on sample end
+//
+// 2003/01/06 - Pete
+// - added Neill's ADSR timings
+//
+// 2002/05/15 - Pete
+// - generic cleanup for the Peops release
+//
+//*************************************************************************//
+
+#include "stdafx.h"
+
+#define _IN_ADSR
+
+// will be included from spu.c
+#ifdef _IN_SPU
+
+////////////////////////////////////////////////////////////////////////
+// ADSR func
+////////////////////////////////////////////////////////////////////////
+
+unsigned long RateTable[160];
+
+void InitADSR(void)                                    // INIT ADSR
+{
+ unsigned long r,rs,rd;int i;
+
+ memset(RateTable,0,sizeof(unsigned long)*160);        // build the rate table according to Neill's rules (see at bottom of file)
+
+ r=3;rs=1;rd=0;
+
+ for(i=32;i<160;i++)                                   // we start at pos 32 with the real values... everything before is 0
+  {
+   if(r<0x3FFFFFFF)
+    {
+     r+=rs;
+     rd++;if(rd==5) {rd=1;rs*=2;}
+    }
+   if(r>0x3FFFFFFF) r=0x3FFFFFFF;
+
+   RateTable[i]=r;
+  }
+}
+
+////////////////////////////////////////////////////////////////////////
+
+INLINE void StartADSR(int ch)                          // MIX ADSR
+{
+ s_chan[ch].ADSRX.lVolume=1;                           // and init some adsr vars
+ s_chan[ch].ADSRX.State=0;
+ s_chan[ch].ADSRX.EnvelopeVol=0;
+}
+
+////////////////////////////////////////////////////////////////////////
+
+INLINE int MixADSR(int ch)                             // MIX ADSR
+{    
+ if(s_chan[ch].bStop)                                  // should be stopped:
+  {                                                    // do release
+   if(s_chan[ch].ADSRX.ReleaseModeExp)
+    {
+     switch((s_chan[ch].ADSRX.EnvelopeVol>>28)&0x7)
+      {
+       case 0: s_chan[ch].ADSRX.EnvelopeVol-=RateTable[(4*(s_chan[ch].ADSRX.ReleaseRate^0x1F))-0x18 +0 + 32]; break;
+       case 1: s_chan[ch].ADSRX.EnvelopeVol-=RateTable[(4*(s_chan[ch].ADSRX.ReleaseRate^0x1F))-0x18 +4 + 32]; break;
+       case 2: s_chan[ch].ADSRX.EnvelopeVol-=RateTable[(4*(s_chan[ch].ADSRX.ReleaseRate^0x1F))-0x18 +6 + 32]; break;
+       case 3: s_chan[ch].ADSRX.EnvelopeVol-=RateTable[(4*(s_chan[ch].ADSRX.ReleaseRate^0x1F))-0x18 +8 + 32]; break;
+       case 4: s_chan[ch].ADSRX.EnvelopeVol-=RateTable[(4*(s_chan[ch].ADSRX.ReleaseRate^0x1F))-0x18 +9 + 32]; break;
+       case 5: s_chan[ch].ADSRX.EnvelopeVol-=RateTable[(4*(s_chan[ch].ADSRX.ReleaseRate^0x1F))-0x18 +10+ 32]; break;
+       case 6: s_chan[ch].ADSRX.EnvelopeVol-=RateTable[(4*(s_chan[ch].ADSRX.ReleaseRate^0x1F))-0x18 +11+ 32]; break;
+       case 7: s_chan[ch].ADSRX.EnvelopeVol-=RateTable[(4*(s_chan[ch].ADSRX.ReleaseRate^0x1F))-0x18 +12+ 32]; break;
+      }
+    }
+   else
+    {
+     s_chan[ch].ADSRX.EnvelopeVol-=RateTable[(4*(s_chan[ch].ADSRX.ReleaseRate^0x1F))-0x0C + 32];
+    }
+
+   if(s_chan[ch].ADSRX.EnvelopeVol<0) 
+    {
+     s_chan[ch].ADSRX.EnvelopeVol=0;
+     s_chan[ch].bOn=0;
+     //s_chan[ch].bReverb=0;
+     //s_chan[ch].bNoise=0;
+    }
+
+   s_chan[ch].ADSRX.lVolume=s_chan[ch].ADSRX.EnvelopeVol>>21;
+   return s_chan[ch].ADSRX.lVolume;
+  }
+ else                                                  // not stopped yet?
+  {
+   if(s_chan[ch].ADSRX.State==0)                       // -> attack
+    {
+     if(s_chan[ch].ADSRX.AttackModeExp)
+      {
+       if(s_chan[ch].ADSRX.EnvelopeVol<0x60000000) 
+        s_chan[ch].ADSRX.EnvelopeVol+=RateTable[(s_chan[ch].ADSRX.AttackRate^0x7F)-0x10 + 32];
+       else
+        s_chan[ch].ADSRX.EnvelopeVol+=RateTable[(s_chan[ch].ADSRX.AttackRate^0x7F)-0x18 + 32];
+      }
+     else
+      {
+       s_chan[ch].ADSRX.EnvelopeVol+=RateTable[(s_chan[ch].ADSRX.AttackRate^0x7F)-0x10 + 32];
+      }
+
+     if(s_chan[ch].ADSRX.EnvelopeVol<0) 
+      {
+       s_chan[ch].ADSRX.EnvelopeVol=0x7FFFFFFF;
+       s_chan[ch].ADSRX.State=1;
+      }
+
+     s_chan[ch].ADSRX.lVolume=s_chan[ch].ADSRX.EnvelopeVol>>21;
+     return s_chan[ch].ADSRX.lVolume;
+    }
+   //--------------------------------------------------//
+   if(s_chan[ch].ADSRX.State==1)                       // -> decay
+    {
+     switch((s_chan[ch].ADSRX.EnvelopeVol>>28)&0x7)
+      {
+       case 0: s_chan[ch].ADSRX.EnvelopeVol-=RateTable[(4*(s_chan[ch].ADSRX.DecayRate^0x1F))-0x18+0 + 32]; break;
+       case 1: s_chan[ch].ADSRX.EnvelopeVol-=RateTable[(4*(s_chan[ch].ADSRX.DecayRate^0x1F))-0x18+4 + 32]; break;
+       case 2: s_chan[ch].ADSRX.EnvelopeVol-=RateTable[(4*(s_chan[ch].ADSRX.DecayRate^0x1F))-0x18+6 + 32]; break;
+       case 3: s_chan[ch].ADSRX.EnvelopeVol-=RateTable[(4*(s_chan[ch].ADSRX.DecayRate^0x1F))-0x18+8 + 32]; break;
+       case 4: s_chan[ch].ADSRX.EnvelopeVol-=RateTable[(4*(s_chan[ch].ADSRX.DecayRate^0x1F))-0x18+9 + 32]; break;
+       case 5: s_chan[ch].ADSRX.EnvelopeVol-=RateTable[(4*(s_chan[ch].ADSRX.DecayRate^0x1F))-0x18+10+ 32]; break;
+       case 6: s_chan[ch].ADSRX.EnvelopeVol-=RateTable[(4*(s_chan[ch].ADSRX.DecayRate^0x1F))-0x18+11+ 32]; break;
+       case 7: s_chan[ch].ADSRX.EnvelopeVol-=RateTable[(4*(s_chan[ch].ADSRX.DecayRate^0x1F))-0x18+12+ 32]; break;
+      }
+
+     if(s_chan[ch].ADSRX.EnvelopeVol<0) s_chan[ch].ADSRX.EnvelopeVol=0;
+     if(((s_chan[ch].ADSRX.EnvelopeVol>>27)&0xF) <= s_chan[ch].ADSRX.SustainLevel)
+      {
+       s_chan[ch].ADSRX.State=2;
+      }
+
+     s_chan[ch].ADSRX.lVolume=s_chan[ch].ADSRX.EnvelopeVol>>21;
+     return s_chan[ch].ADSRX.lVolume;
+    }
+   //--------------------------------------------------//
+   if(s_chan[ch].ADSRX.State==2)                       // -> sustain
+    {
+     if(s_chan[ch].ADSRX.SustainIncrease)
+      {
+       if(s_chan[ch].ADSRX.SustainModeExp)
+        {
+         if(s_chan[ch].ADSRX.EnvelopeVol<0x60000000) 
+          s_chan[ch].ADSRX.EnvelopeVol+=RateTable[(s_chan[ch].ADSRX.SustainRate^0x7F)-0x10 + 32];
+         else
+          s_chan[ch].ADSRX.EnvelopeVol+=RateTable[(s_chan[ch].ADSRX.SustainRate^0x7F)-0x18 + 32];
+        }
+       else
+        {
+         s_chan[ch].ADSRX.EnvelopeVol+=RateTable[(s_chan[ch].ADSRX.SustainRate^0x7F)-0x10 + 32];
+        }
+
+       if(s_chan[ch].ADSRX.EnvelopeVol<0) 
+        {
+         s_chan[ch].ADSRX.EnvelopeVol=0x7FFFFFFF;
+        }
+      }
+     else
+      {
+       if(s_chan[ch].ADSRX.SustainModeExp)
+        {
+         switch((s_chan[ch].ADSRX.EnvelopeVol>>28)&0x7)
+          {
+           case 0: s_chan[ch].ADSRX.EnvelopeVol-=RateTable[((s_chan[ch].ADSRX.SustainRate^0x7F))-0x1B +0 + 32];break;
+           case 1: s_chan[ch].ADSRX.EnvelopeVol-=RateTable[((s_chan[ch].ADSRX.SustainRate^0x7F))-0x1B +4 + 32];break;
+           case 2: s_chan[ch].ADSRX.EnvelopeVol-=RateTable[((s_chan[ch].ADSRX.SustainRate^0x7F))-0x1B +6 + 32];break;
+           case 3: s_chan[ch].ADSRX.EnvelopeVol-=RateTable[((s_chan[ch].ADSRX.SustainRate^0x7F))-0x1B +8 + 32];break;
+           case 4: s_chan[ch].ADSRX.EnvelopeVol-=RateTable[((s_chan[ch].ADSRX.SustainRate^0x7F))-0x1B +9 + 32];break;
+           case 5: s_chan[ch].ADSRX.EnvelopeVol-=RateTable[((s_chan[ch].ADSRX.SustainRate^0x7F))-0x1B +10+ 32];break;
+           case 6: s_chan[ch].ADSRX.EnvelopeVol-=RateTable[((s_chan[ch].ADSRX.SustainRate^0x7F))-0x1B +11+ 32];break;
+           case 7: s_chan[ch].ADSRX.EnvelopeVol-=RateTable[((s_chan[ch].ADSRX.SustainRate^0x7F))-0x1B +12+ 32];break;
+          }
+        }
+       else
+        {
+         s_chan[ch].ADSRX.EnvelopeVol-=RateTable[((s_chan[ch].ADSRX.SustainRate^0x7F))-0x0F + 32];
+        }
+
+       if(s_chan[ch].ADSRX.EnvelopeVol<0) 
+        {
+         s_chan[ch].ADSRX.EnvelopeVol=0;
+        }
+      }
+     s_chan[ch].ADSRX.lVolume=s_chan[ch].ADSRX.EnvelopeVol>>21;
+     return s_chan[ch].ADSRX.lVolume;
+    }
+  }
+ return 0;
+}
+
+#endif
+
+/*
+James Higgs ADSR investigations:
+
+PSX SPU Envelope Timings
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+First, here is an extract from doomed's SPU doc, which explains the basics
+of the SPU "volume envelope": 
+
+*** doomed doc extract start ***
+
+--------------------------------------------------------------------------
+Voices.
+--------------------------------------------------------------------------
+The SPU has 24 hardware voices. These voices can be used to reproduce sample
+data, noise or can be used as frequency modulator on the next voice.
+Each voice has it's own programmable ADSR envelope filter. The main volume
+can be programmed independently for left and right output.
+
+The ADSR envelope filter works as follows:
+Ar = Attack rate, which specifies the speed at which the volume increases
+     from zero to it's maximum value, as soon as the note on is given. The
+     slope can be set to lineair or exponential.
+Dr = Decay rate specifies the speed at which the volume decreases to the
+     sustain level. Decay is always decreasing exponentially.
+Sl = Sustain level, base level from which sustain starts.
+Sr = Sustain rate is the rate at which the volume of the sustained note
+     increases or decreases. This can be either lineair or exponential.
+Rr = Release rate is the rate at which the volume of the note decreases
+     as soon as the note off is given.
+
+     lvl |
+       ^ |     /\Dr     __
+     Sl _| _  / _ \__---  \
+         |   /       ---__ \ Rr
+         |  /Ar       Sr  \ \
+         | /                \\
+         |/___________________\________
+                                  ->time
+
+The overal volume can also be set to sweep up or down lineairly or
+exponentially from it's current value. This can be done seperately
+for left and right.
+
+Relevant SPU registers:
+-------------------------------------------------------------
+$1f801xx8         Attack/Decay/Sustain level
+bit  |0f|0e 0d 0c 0b 0a 09 08|07 06 05 04|03 02 01 00|
+desc.|Am|         Ar         |Dr         |Sl         |
+
+Am       0        Attack mode Linear
+         1                    Exponential
+
+Ar       0-7f     attack rate
+Dr       0-f      decay rate
+Sl       0-f      sustain level
+-------------------------------------------------------------
+$1f801xxa         Sustain rate, Release Rate.
+bit  |0f|0e|0d|0c 0b 0a 09 08 07 06|05|04 03 02 01 00|
+desc.|Sm|Sd| 0|   Sr               |Rm|Rr            |
+
+Sm       0        sustain rate mode linear
+         1                          exponential
+Sd       0        sustain rate mode increase
+         1                          decrease
+Sr       0-7f     Sustain Rate
+Rm       0        Linear decrease
+         1        Exponential decrease
+Rr       0-1f     Release Rate
+
+Note: decay mode is always Expontial decrease, and thus cannot
+be set.
+-------------------------------------------------------------
+$1f801xxc         Current ADSR volume
+bit  |0f 0e 0d 0c 0b 0a 09 08 07 06 05 04 03 02 01 00|
+desc.|ADSRvol                                        |
+
+ADSRvol           Returns the current envelope volume when
+                  read.
+-- James' Note: return range: 0 -> 32767
+
+*** doomed doc extract end *** 
+
+By using a small PSX proggie to visualise the envelope as it was played,
+the following results for envelope timing were obtained:
+
+1. Attack rate value (linear mode)
+
+   Attack value range: 0 -> 127
+
+   Value  | 48 | 52 | 56 | 60 | 64 | 68 | 72 |    | 80 |
+   -----------------------------------------------------------------
+   Frames | 11 | 21 | 42 | 84 | 169| 338| 676|    |2890|
+
+   Note: frames is no. of PAL frames to reach full volume (100%
+   amplitude)
+
+   Hmm, noticing that the time taken to reach full volume doubles
+   every time we add 4 to our attack value, we know the equation is
+   of form:
+             frames = k * 2 ^ (value / 4)
+
+   (You may ponder about envelope generator hardware at this point,
+   or maybe not... :)
+
+   By substituting some stuff and running some checks, we get:
+
+       k = 0.00257              (close enuf)
+
+   therefore,
+             frames = 0.00257 * 2 ^ (value / 4)
+   If you just happen to be writing an emulator, then you can probably
+   use an equation like:
+
+       %volume_increase_per_tick = 1 / frames
+
+
+   ------------------------------------
+   Pete:
+   ms=((1<<(value>>2))*514)/10000
+   ------------------------------------
+
+2. Decay rate value (only has log mode)
+
+   Decay value range: 0 -> 15
+
+   Value  |  8 |  9 | 10 | 11 | 12 | 13 | 14 | 15 |
+   ------------------------------------------------
+   frames |    |    |    |    |  6 | 12 | 24 | 47 |
+
+   Note: frames here is no. of PAL frames to decay to 50% volume.
+
+   formula: frames = k * 2 ^ (value)
+
+   Substituting, we get: k = 0.00146
+
+   Further info on logarithmic nature:
+   frames to decay to sustain level 3  =  3 * frames to decay to 
+   sustain level 9
+
+   Also no. of frames to 25% volume = roughly 1.85 * no. of frames to
+   50% volume.
+
+   Frag it - just use linear approx.
+
+   ------------------------------------
+   Pete:
+   ms=((1<<value)*292)/10000
+   ------------------------------------
+
+
+3. Sustain rate value (linear mode)
+
+   Sustain rate range: 0 -> 127
+
+   Value  | 48 | 52 | 56 | 60 | 64 | 68 | 72 |
+   -------------------------------------------
+   frames |  9 | 19 | 37 | 74 | 147| 293| 587|
+
+   Here, frames = no. of PAL frames for volume amplitude to go from 100%
+   to 0% (or vice-versa).
+
+   Same formula as for attack value, just a different value for k:
+
+   k = 0.00225
+
+   ie: frames = 0.00225 * 2 ^ (value / 4)
+
+   For emulation purposes:
+
+   %volume_increase_or_decrease_per_tick = 1 / frames
+
+   ------------------------------------
+   Pete:
+   ms=((1<<(value>>2))*450)/10000
+   ------------------------------------
+
+
+4. Release rate (linear mode)
+
+   Release rate range: 0 -> 31
+
+   Value  | 13 | 14 | 15 | 16 | 17 |
+   ---------------------------------------------------------------
+   frames | 18 | 36 | 73 | 146| 292|
+
+   Here, frames = no. of PAL frames to decay from 100% vol to 0% vol
+   after "note-off" is triggered.
+
+   Formula: frames = k * 2 ^ (value)
+
+   And so: k = 0.00223
+
+   ------------------------------------
+   Pete:
+   ms=((1<<value)*446)/10000
+   ------------------------------------
+
+
+Other notes:   
+
+Log stuff not figured out. You may get some clues from the "Decay rate"
+stuff above. For emu purposes it may not be important - use linear
+approx.
+
+To get timings in millisecs, multiply frames by 20.
+
+
+
+- James Higgs 17/6/2000
+james7780@yahoo.com
+
+//---------------------------------------------------------------
+
+OLD adsr mixing according to james' rules... has to be called
+every one millisecond
+
+
+ long v,v2,lT,l1,l2,l3;
+
+ if(s_chan[ch].bStop)                                  // psx wants to stop? -> release phase
+  {
+   if(s_chan[ch].ADSR.ReleaseVal!=0)                   // -> release not 0: do release (if 0: stop right now)
+    {
+     if(!s_chan[ch].ADSR.ReleaseVol)                   // --> release just started? set up the release stuff
+      {
+       s_chan[ch].ADSR.ReleaseStartTime=s_chan[ch].ADSR.lTime;
+       s_chan[ch].ADSR.ReleaseVol=s_chan[ch].ADSR.lVolume;
+       s_chan[ch].ADSR.ReleaseTime =                   // --> calc how long does it take to reach the wanted sus level
+         (s_chan[ch].ADSR.ReleaseTime*
+          s_chan[ch].ADSR.ReleaseVol)/1024;
+      }
+                                                       // -> NO release exp mode used (yet)
+     v=s_chan[ch].ADSR.ReleaseVol;                     // -> get last volume
+     lT=s_chan[ch].ADSR.lTime-                         // -> how much time is past?
+        s_chan[ch].ADSR.ReleaseStartTime;
+     l1=s_chan[ch].ADSR.ReleaseTime;
+                                                       
+     if(lT<l1)                                         // -> we still have to release
+      {
+       v=v-((v*lT)/l1);                                // --> calc new volume
+      }
+     else                                              // -> release is over: now really stop that sample
+      {v=0;s_chan[ch].bOn=0;s_chan[ch].ADSR.ReleaseVol=0;s_chan[ch].bNoise=0;}
+    }
+   else                                                // -> release IS 0: release at once
+    {
+     v=0;s_chan[ch].bOn=0;s_chan[ch].ADSR.ReleaseVol=0;s_chan[ch].bNoise=0;
+    }
+  }
+ else                                               
+  {//--------------------------------------------------// not in release phase:
+   v=1024;
+   lT=s_chan[ch].ADSR.lTime;
+   l1=s_chan[ch].ADSR.AttackTime;
+                                                       
+   if(lT<l1)                                           // attack
+    {                                                  // no exp mode used (yet)
+//     if(s_chan[ch].ADSR.AttackModeExp)
+//      {
+//       v=(v*lT)/l1;
+//      }
+//     else
+      {
+       v=(v*lT)/l1;
+      }
+     if(v==0) v=1;
+    }
+   else                                                // decay
+    {                                                  // should be exp, but who cares? ;)
+     l2=s_chan[ch].ADSR.DecayTime;
+     v2=s_chan[ch].ADSR.SustainLevel;
+
+     lT-=l1;
+     if(lT<l2)
+      {
+       v-=(((v-v2)*lT)/l2);
+      }
+     else                                              // sustain
+      {                                                // no exp mode used (yet)
+       l3=s_chan[ch].ADSR.SustainTime;
+       lT-=l2;
+       if(s_chan[ch].ADSR.SustainModeDec>0)
+        {
+         if(l3!=0) v2+=((v-v2)*lT)/l3;
+         else      v2=v;
+        }
+       else
+        {
+         if(l3!=0) v2-=(v2*lT)/l3;
+         else      v2=v;
+        }
+
+       if(v2>v)  v2=v;
+       if(v2<=0) {v2=0;s_chan[ch].bOn=0;s_chan[ch].ADSR.ReleaseVol=0;s_chan[ch].bNoise=0;}
+
+       v=v2;
+      }
+    }
+  }
+
+ //----------------------------------------------------// 
+ // ok, done for this channel, so increase time
+
+ s_chan[ch].ADSR.lTime+=1;                             // 1 = 1.020408f ms;      
+
+ if(v>1024)     v=1024;                                // adjust volume
+ if(v<0)        v=0;                                  
+ s_chan[ch].ADSR.lVolume=v;                            // store act volume
+
+ return v;                                             // return the volume factor
+*/
+
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+
+
+/*
+-----------------------------------------------------------------------------
+Neill Corlett
+Playstation SPU envelope timing notes
+-----------------------------------------------------------------------------
+
+This is preliminary.  This may be wrong.  But the model described herein fits
+all of my experimental data, and it's just simple enough to sound right.
+
+ADSR envelope level ranges from 0x00000000 to 0x7FFFFFFF internally.
+The value returned by channel reg 0xC is (envelope_level>>16).
+
+Each sample, an increment or decrement value will be added to or
+subtracted from this envelope level.
+
+Create the rate log table.  The values double every 4 entries.
+   entry #0 = 4
+
+    4, 5, 6, 7,
+    8,10,12,14,
+   16,20,24,28, ...
+
+   entry #40 = 4096...
+   entry #44 = 8192...
+   entry #48 = 16384...
+   entry #52 = 32768...
+   entry #56 = 65536...
+
+increments and decrements are in terms of ratelogtable[n]
+n may exceed the table bounds (plan on n being between -32 and 127).
+table values are all clipped between 0x00000000 and 0x3FFFFFFF
+
+when you "voice on", the envelope is always fully reset.
+(yes, it may click. the real thing does this too.)
+
+envelope level begins at zero.
+
+each state happens for at least 1 cycle
+(transitions are not instantaneous)
+this may result in some oddness: if the decay rate is uberfast, it will cut
+the envelope from full down to half in one sample, potentially skipping over
+the sustain level
+
+ATTACK
+------
+- if the envelope level has overflowed past the max, clip to 0x7FFFFFFF and
+  proceed to DECAY.
+
+Linear attack mode:
+- line extends upward to 0x7FFFFFFF
+- increment per sample is ratelogtable[(Ar^0x7F)-0x10]
+
+Logarithmic attack mode:
+if envelope_level < 0x60000000:
+  - line extends upward to 0x60000000
+  - increment per sample is ratelogtable[(Ar^0x7F)-0x10]
+else:
+  - line extends upward to 0x7FFFFFFF
+  - increment per sample is ratelogtable[(Ar^0x7F)-0x18]
+
+DECAY
+-----
+- if ((envelope_level>>27)&0xF) <= Sl, proceed to SUSTAIN.
+  Do not clip to the sustain level.
+- current line ends at (envelope_level & 0x07FFFFFF)
+- decrement per sample depends on (envelope_level>>28)&0x7
+  0: ratelogtable[(4*(Dr^0x1F))-0x18+0]
+  1: ratelogtable[(4*(Dr^0x1F))-0x18+4]
+  2: ratelogtable[(4*(Dr^0x1F))-0x18+6]
+  3: ratelogtable[(4*(Dr^0x1F))-0x18+8]
+  4: ratelogtable[(4*(Dr^0x1F))-0x18+9]
+  5: ratelogtable[(4*(Dr^0x1F))-0x18+10]
+  6: ratelogtable[(4*(Dr^0x1F))-0x18+11]
+  7: ratelogtable[(4*(Dr^0x1F))-0x18+12]
+  (note that this is the same as the release rate formula, except that
+   decay rates 10-1F aren't possible... those would be slower in theory)
+
+SUSTAIN
+-------
+- no terminating condition except for voice off
+- Sd=0 (increase) behavior is identical to ATTACK for both log and linear.
+- Sd=1 (decrease) behavior:
+Linear sustain decrease:
+- line extends to 0x00000000
+- decrement per sample is ratelogtable[(Sr^0x7F)-0x0F]
+Logarithmic sustain decrease:
+- current line ends at (envelope_level & 0x07FFFFFF)
+- decrement per sample depends on (envelope_level>>28)&0x7
+  0: ratelogtable[(Sr^0x7F)-0x1B+0]
+  1: ratelogtable[(Sr^0x7F)-0x1B+4]
+  2: ratelogtable[(Sr^0x7F)-0x1B+6]
+  3: ratelogtable[(Sr^0x7F)-0x1B+8]
+  4: ratelogtable[(Sr^0x7F)-0x1B+9]
+  5: ratelogtable[(Sr^0x7F)-0x1B+10]
+  6: ratelogtable[(Sr^0x7F)-0x1B+11]
+  7: ratelogtable[(Sr^0x7F)-0x1B+12]
+
+RELEASE
+-------
+- if the envelope level has overflowed to negative, clip to 0 and QUIT.
+
+Linear release mode:
+- line extends to 0x00000000
+- decrement per sample is ratelogtable[(4*(Rr^0x1F))-0x0C]
+
+Logarithmic release mode:
+- line extends to (envelope_level & 0x0FFFFFFF)
+- decrement per sample depends on (envelope_level>>28)&0x7
+  0: ratelogtable[(4*(Rr^0x1F))-0x18+0]
+  1: ratelogtable[(4*(Rr^0x1F))-0x18+4]
+  2: ratelogtable[(4*(Rr^0x1F))-0x18+6]
+  3: ratelogtable[(4*(Rr^0x1F))-0x18+8]
+  4: ratelogtable[(4*(Rr^0x1F))-0x18+9]
+  5: ratelogtable[(4*(Rr^0x1F))-0x18+10]
+  6: ratelogtable[(4*(Rr^0x1F))-0x18+11]
+  7: ratelogtable[(4*(Rr^0x1F))-0x18+12]
+
+-----------------------------------------------------------------------------
+*/
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/peops2/adsr.h	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,28 @@
+/***************************************************************************
+                           adsr.h  -  description
+                             -------------------
+    begin                : Wed May 15 2002
+    copyright            : (C) 2002 by Pete Bernert
+    email                : BlackDove@addcom.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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; either version 2 of the License, or     *
+ *   (at your option) any later version. See also the license.txt file for *
+ *   additional informations.                                              *
+ *                                                                         *
+ ***************************************************************************/
+
+//*************************************************************************//
+// History of changes:
+//
+// 2002/05/15 - Pete
+// - generic cleanup for the Peops release
+//
+//*************************************************************************//
+
+INLINE void StartADSR(int ch);
+INLINE int  MixADSR(int ch);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/peops2/dma.c	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,175 @@
+/***************************************************************************
+                            dma.c  -  description
+                             -------------------
+    begin                : Wed May 15 2002
+    copyright            : (C) 2002 by Pete Bernert
+    email                : BlackDove@addcom.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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; either version 2 of the License, or     *
+ *   (at your option) any later version. See also the license.txt file for *
+ *   additional informations.                                              *
+ *                                                                         *
+ ***************************************************************************/
+
+//*************************************************************************//
+// History of changes:
+//
+// 2004/04/04 - Pete
+// - changed plugin to emulate PS2 spu
+//
+// 2002/05/15 - Pete
+// - generic cleanup for the Peops release
+//
+//*************************************************************************//
+
+#include "../peops2/stdafx.h"
+
+#define _IN_DMA
+
+#include "../peops2/externals.h"
+#include "../peops2/registers.h"
+//#include "debug.h"
+
+extern uint32 psx_ram[(2*1024*1024)/4];
+
+////////////////////////////////////////////////////////////////////////
+// READ DMA (many values)
+////////////////////////////////////////////////////////////////////////
+
+EXPORT_GCC void CALLBACK SPU2readDMA4Mem(u32 usPSXMem,int iSize)
+{
+ int i;
+ u16 *ram16 = (u16 *)&psx_ram[0];
+
+ for(i=0;i<iSize;i++)
+  {
+   ram16[usPSXMem>>1]=spuMem[spuAddr2[0]];                  // spu addr 0 got by writeregister
+   usPSXMem+=2;
+   spuAddr2[0]++;                                     // inc spu addr
+   if(spuAddr2[0]>0xfffff) spuAddr2[0]=0;             // wrap
+  }
+
+ spuAddr2[0]+=0x20; //?????
+ 
+
+ iSpuAsyncWait=0;
+
+ // got from J.F. and Kanodin... is it needed?
+ regArea[(PS2_C0_ADMAS)>>1]=0;                         // Auto DMA complete
+ spuStat2[0]=0x80;                                     // DMA complete
+}
+
+EXPORT_GCC void CALLBACK SPU2readDMA7Mem(u32 usPSXMem,int iSize)
+{
+ int i;
+ u16 *ram16 = (u16 *)&psx_ram[0];
+
+ for(i=0;i<iSize;i++)
+  {
+   ram16[usPSXMem>>1]=spuMem[spuAddr2[1]];             // spu addr 1 got by writeregister
+   usPSXMem+=2;
+   spuAddr2[1]++;                                      // inc spu addr
+   if(spuAddr2[1]>0xfffff) spuAddr2[1]=0;              // wrap
+  }
+
+ spuAddr2[1]+=0x20; //?????
+
+ iSpuAsyncWait=0;
+
+ // got from J.F. and Kanodin... is it needed?
+ regArea[(PS2_C1_ADMAS)>>1]=0;                         // Auto DMA complete
+ spuStat2[1]=0x80;                                     // DMA complete
+}
+
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+
+// to investigate: do sound data updates by writedma affect spu
+// irqs? Will an irq be triggered, if new data is written to
+// the memory irq address?
+
+////////////////////////////////////////////////////////////////////////
+// WRITE DMA (many values)
+////////////////////////////////////////////////////////////////////////
+
+EXPORT_GCC void CALLBACK SPU2writeDMA4Mem(u32 usPSXMem,int iSize)
+{
+ int i;
+ u16 *ram16 = (u16 *)&psx_ram[0];
+
+ for(i=0;i<iSize;i++)
+  {
+   spuMem[spuAddr2[0]] = ram16[usPSXMem>>1];                 // spu addr 0 got by writeregister
+   usPSXMem+=2;
+   spuAddr2[0]++;                                      // inc spu addr
+   if(spuAddr2[0]>0xfffff) spuAddr2[0]=0;              // wrap
+  }
+ 
+ iSpuAsyncWait=0;
+
+ // got from J.F. and Kanodin... is it needed?
+ spuStat2[0]=0x80;                                     // DMA complete
+}
+
+EXPORT_GCC void CALLBACK SPU2writeDMA7Mem(u32 usPSXMem,int iSize)
+{
+ int i;
+ u16 *ram16 = (u16 *)&psx_ram[0];
+
+ for(i=0;i<iSize;i++)
+  {
+   spuMem[spuAddr2[1]] = ram16[usPSXMem>>1];           // spu addr 1 got by writeregister
+   spuAddr2[1]++;                                      // inc spu addr
+   if(spuAddr2[1]>0xfffff) spuAddr2[1]=0;              // wrap
+  }
+ 
+ iSpuAsyncWait=0;
+
+ // got from J.F. and Kanodin... is it needed?
+ spuStat2[1]=0x80;                                     // DMA complete
+}
+
+////////////////////////////////////////////////////////////////////////
+// INTERRUPTS
+////////////////////////////////////////////////////////////////////////
+
+void InterruptDMA4(void) 
+{
+// taken from linuzappz NULL spu2
+//	spu2Rs16(CORE0_ATTR)&= ~0x30;
+//	spu2Rs16(REG__1B0) = 0;
+//	spu2Rs16(SPU2_STATX_WRDY_M)|= 0x80;
+
+ spuCtrl2[0]&=~0x30;
+ regArea[(PS2_C0_ADMAS)>>1]=0;
+ spuStat2[0]|=0x80;
+}
+                       
+EXPORT_GCC void CALLBACK SPU2interruptDMA4(void) 
+{
+ InterruptDMA4();
+}
+
+void InterruptDMA7(void) 
+{
+// taken from linuzappz NULL spu2
+//	spu2Rs16(CORE1_ATTR)&= ~0x30;
+//	spu2Rs16(REG__5B0) = 0;
+//	spu2Rs16(SPU2_STATX_DREQ)|= 0x80;
+
+ spuCtrl2[1]&=~0x30;
+ regArea[(PS2_C1_ADMAS)>>1]=0;
+ spuStat2[1]|=0x80;
+}
+
+EXPORT_GCC void CALLBACK SPU2interruptDMA7(void) 
+{
+ InterruptDMA7();
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/peops2/dma.h	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,29 @@
+/***************************************************************************
+                            dma.h  -  description
+                             -------------------
+    begin                : Wed May 15 2002
+    copyright            : (C) 2002 by Pete Bernert
+    email                : BlackDove@addcom.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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; either version 2 of the License, or     *
+ *   (at your option) any later version. See also the license.txt file for *
+ *   additional informations.                                              *
+ *                                                                         *
+ ***************************************************************************/
+
+//*************************************************************************//
+// History of changes:
+//
+// 2002/05/15 - Pete
+// - generic cleanup for the Peops release
+//
+//*************************************************************************//
+
+void InterruptDMA4(void);
+void InterruptDMA7(void); 
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/peops2/externals.h	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,385 @@
+/***************************************************************************
+                         externals.h  -  description
+                             -------------------
+    begin                : Wed May 15 2002
+    copyright            : (C) 2002 by Pete Bernert
+    email                : BlackDove@addcom.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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; either version 2 of the License, or     *
+ *   (at your option) any later version. See also the license.txt file for *
+ *   additional informations.                                              *
+ *                                                                         *
+ ***************************************************************************/
+
+//*************************************************************************//
+// History of changes:
+//
+// 2004/04/04 - Pete
+// - changed plugin to emulate PS2 spu
+//
+// 2002/04/04 - Pete
+// - increased channel struct for interpolation
+//
+// 2002/05/15 - Pete
+// - generic cleanup for the Peops release
+//
+//*************************************************************************//
+
+#ifndef PEOPS2_EXTERNALS
+#define PEOPS2_EXTERNALS
+
+#include "ao.h"
+
+typedef int8 s8;
+typedef int16 s16;
+typedef int32 s32;
+typedef int64 s64;
+
+typedef uint8 u8;
+typedef uint16 u16;
+typedef uint32 u32;
+typedef uint64 u64;
+
+#if LSB_FIRST
+static INLINE u16 BFLIP16(u16 x)
+{
+ return x;
+}
+#else
+static INLINE u16 BFLIP16(u16 x)
+{
+ return( ((x>>8)&0xFF)| ((x&0xFF)<<8) );
+}
+#endif
+
+/////////////////////////////////////////////////////////
+// generic defines
+/////////////////////////////////////////////////////////
+
+//#define PSE_LT_SPU                  4
+//#define PSE_SPU_ERR_SUCCESS         0
+//#define PSE_SPU_ERR                 -60
+//#define PSE_SPU_ERR_NOTCONFIGURED   PSE_SPU_ERR - 1
+//#define PSE_SPU_ERR_INIT            PSE_SPU_ERR - 2
+
+#ifndef max
+#define max(a,b)            (((a) > (b)) ? (a) : (b))
+#define min(a,b)            (((a) < (b)) ? (a) : (b))
+#endif
+
+////////////////////////////////////////////////////////////////////////
+// spu defines
+////////////////////////////////////////////////////////////////////////
+
+// sound buffer sizes
+// 400 ms complete sound buffer
+#define SOUNDSIZE   76800
+// 137 ms test buffer... if less than that is buffered, a new upload will happen
+#define TESTSIZE    26304
+
+// num of channels
+#define MAXCHAN     48
+#define HLFCHAN     24
+
+// ~ 1 ms of data (was 45)
+#define NSSIZE 	1
+//45
+
+///////////////////////////////////////////////////////////
+// struct defines
+///////////////////////////////////////////////////////////
+
+// ADSR INFOS PER CHANNEL
+typedef struct
+{
+ int            AttackModeExp;
+ long           AttackTime;
+ long           DecayTime;
+ long           SustainLevel;
+ int            SustainModeExp;
+ long           SustainModeDec;
+ long           SustainTime;
+ int            ReleaseModeExp;
+ unsigned long  ReleaseVal;
+ long           ReleaseTime;
+ long           ReleaseStartTime; 
+ long           ReleaseVol; 
+ long           lTime;
+ long           lVolume;
+} ADSRInfo;
+
+typedef struct
+{
+ int            State;
+ int            AttackModeExp;
+ int            AttackRate;
+ int            DecayRate;
+ int            SustainLevel;
+ int            SustainModeExp;
+ int            SustainIncrease;
+ int            SustainRate;
+ int            ReleaseModeExp;
+ int            ReleaseRate;
+ int            EnvelopeVol;
+ long           lVolume;
+ long           lDummy1;
+ long           lDummy2;
+} ADSRInfoEx;
+              
+///////////////////////////////////////////////////////////
+
+// Tmp Flags
+
+// used for debug channel muting
+#define FLAG_MUTE  1
+
+// used for simple interpolation
+#define FLAG_IPOL0 2
+#define FLAG_IPOL1 4
+
+///////////////////////////////////////////////////////////
+
+// MAIN CHANNEL STRUCT
+typedef struct
+{
+ // no mutexes used anymore... don't need them to sync access
+ //HANDLE            hMutex;
+
+ int               bNew;                               // start flag
+
+ int               iSBPos;                             // mixing stuff
+ int               spos;
+ int               sinc;
+ int               SB[32+32];                          // Pete added another 32 dwords in 1.6 ... prevents overflow issues with gaussian/cubic interpolation (thanx xodnizel!), and can be used for even better interpolations, eh? :)
+ int               sval;
+
+ unsigned char *   pStart;                             // start ptr into sound mem
+ unsigned char *   pCurr;                              // current pos in sound mem
+ unsigned char *   pLoop;                              // loop ptr in sound mem
+
+ int               iStartAdr;
+ int               iLoopAdr; 
+ int               iNextAdr; 
+
+ int               bOn;                                // is channel active (sample playing?)
+ int               bStop;                              // is channel stopped (sample _can_ still be playing, ADSR Release phase)
+ int               bEndPoint;                          // end point reached
+ int               bReverbL;                           // can we do reverb on this channel? must have ctrl register bit, to get active
+ int               bReverbR; 
+ 
+ int               bVolumeL;                           // Volume on/off
+ int               bVolumeR;
+ 
+ int               iActFreq;                           // current psx pitch
+ int               iUsedFreq;                          // current pc pitch
+ int               iLeftVolume;                        // left volume
+ int               iLeftVolRaw;                        // left psx volume value
+ int               bIgnoreLoop;                        // ignore loop bit, if an external loop address is used
+ int               iMute;                              // mute mode
+ int               iRightVolume;                       // right volume
+ int               iRightVolRaw;                       // right psx volume value
+ int               iRawPitch;                          // raw pitch (0...3fff)
+ int               iIrqDone;                           // debug irq done flag
+ int               s_1;                                // last decoding infos
+ int               s_2;
+ int               bRVBActive;                         // reverb active flag
+ int               bNoise;                             // noise active flag
+ int               bFMod;                              // freq mod (0=off, 1=sound channel, 2=freq channel)
+ int               iOldNoise;                          // old noise val for this channel   
+ ADSRInfo          ADSR;                               // active ADSR settings
+ ADSRInfoEx        ADSRX;                              // next ADSR settings (will be moved to active on sample start)
+
+} SPUCHAN;
+
+///////////////////////////////////////////////////////////
+
+typedef struct
+{
+ int StartAddr;      // reverb area start addr in samples
+ int EndAddr;        // reverb area end addr in samples
+ int CurrAddr;       // reverb area curr addr in samples
+
+ int VolLeft;
+ int VolRight;
+ int iLastRVBLeft;
+ int iLastRVBRight;
+ int iRVBLeft;
+ int iRVBRight;
+ int iCnt;
+
+ int FB_SRC_A;       // (offset)
+ int FB_SRC_B;       // (offset)
+ int IIR_ALPHA;      // (coef.)
+ int ACC_COEF_A;     // (coef.)
+ int ACC_COEF_B;     // (coef.)
+ int ACC_COEF_C;     // (coef.)
+ int ACC_COEF_D;     // (coef.)
+ int IIR_COEF;       // (coef.)
+ int FB_ALPHA;       // (coef.)
+ int FB_X;           // (coef.)
+ int IIR_DEST_A0;    // (offset)
+ int IIR_DEST_A1;    // (offset)
+ int ACC_SRC_A0;     // (offset)
+ int ACC_SRC_A1;     // (offset)
+ int ACC_SRC_B0;     // (offset)
+ int ACC_SRC_B1;     // (offset)
+ int IIR_SRC_A0;     // (offset)
+ int IIR_SRC_A1;     // (offset)
+ int IIR_DEST_B0;    // (offset)
+ int IIR_DEST_B1;    // (offset)
+ int ACC_SRC_C0;     // (offset)
+ int ACC_SRC_C1;     // (offset)
+ int ACC_SRC_D0;     // (offset)
+ int ACC_SRC_D1;     // (offset)
+ int IIR_SRC_B1;     // (offset)
+ int IIR_SRC_B0;     // (offset)
+ int MIX_DEST_A0;    // (offset)
+ int MIX_DEST_A1;    // (offset)
+ int MIX_DEST_B0;    // (offset)
+ int MIX_DEST_B1;    // (offset)
+ int IN_COEF_L;      // (coef.)
+ int IN_COEF_R;      // (coef.)
+} REVERBInfo;
+
+#ifdef _WINDOWS
+//extern HINSTANCE hInst;
+//#define WM_MUTE (WM_USER+543)
+#endif
+
+///////////////////////////////////////////////////////////
+// SPU.C globals
+///////////////////////////////////////////////////////////
+
+#ifndef _IN_SPU
+
+// psx buffers / addresses
+
+extern unsigned short  regArea[];                        
+extern unsigned short  spuMem[];
+extern unsigned char * spuMemC;
+extern unsigned char * pSpuIrq[];
+extern unsigned char * pSpuBuffer;
+
+// user settings
+
+extern int        iUseXA;
+extern int        iVolume;
+extern int        iXAPitch;
+extern int        iUseTimer;
+extern int        iSPUIRQWait;
+extern int        iDebugMode;
+extern int        iRecordMode;
+extern int        iUseReverb;
+extern int        iUseInterpolation;
+extern int        iDisStereo;
+// MISC
+
+extern SPUCHAN s_chan[];
+extern REVERBInfo rvb[];
+
+extern unsigned long dwNoiseVal;
+extern unsigned short spuCtrl2[];
+extern unsigned short spuStat2[];
+extern unsigned long  spuIrq2[];
+extern unsigned long  spuAddr2[];
+extern unsigned long   spuRvbAddr2[];
+extern unsigned long   spuRvbAEnd2[];
+
+extern int      bEndThread; 
+extern int      bThreadEnded;
+extern int      bSpuInit;
+
+extern int      SSumR[];
+extern int      SSumL[];
+extern int      iCycle;
+extern short *  pS;
+extern unsigned long dwNewChannel2[];
+extern unsigned long dwEndChannel2[];
+
+extern int iSpuAsyncWait;
+
+#ifdef _WINDOWS
+//extern HWND    hWMain;                               // window handle
+//extern HWND    hWDebug;
+#endif
+
+extern void (CALLBACK *cddavCallback)(unsigned short,unsigned short);
+
+#endif
+
+///////////////////////////////////////////////////////////
+// CFG.C globals
+///////////////////////////////////////////////////////////
+
+#ifndef _IN_CFG
+
+#ifndef _WINDOWS
+extern char * pConfigFile;
+#endif
+
+#endif
+
+///////////////////////////////////////////////////////////
+// DSOUND.C globals
+///////////////////////////////////////////////////////////
+
+#ifndef _IN_DSOUND
+
+#ifdef _WINDOWS
+extern unsigned long LastWrite;
+extern unsigned long LastPlay;
+#endif
+
+#endif
+
+///////////////////////////////////////////////////////////
+// RECORD.C globals
+///////////////////////////////////////////////////////////
+
+#ifndef _IN_RECORD
+
+#ifdef _WINDOWS
+extern int iDoRecord;
+#endif
+
+#endif
+
+///////////////////////////////////////////////////////////
+// XA.C globals
+///////////////////////////////////////////////////////////
+
+#ifndef _IN_XA
+
+extern xa_decode_t   * xapGlobal;
+
+extern unsigned long * XAFeed;
+extern unsigned long * XAPlay;
+extern unsigned long * XAStart;
+extern unsigned long * XAEnd;
+
+extern unsigned long   XARepeat;
+extern unsigned long   XALastVal;
+
+extern int           iLeftXAVol;
+extern int           iRightXAVol;
+
+#endif
+
+///////////////////////////////////////////////////////////
+// REVERB.C globals
+///////////////////////////////////////////////////////////
+
+#ifndef _IN_REVERB
+
+extern int *          sRVBPlay[];
+extern int *          sRVBEnd[];
+extern int *          sRVBStart[];
+
+#endif
+
+#endif // PEOPS2_EXTERNALS
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/peops2/gauss_i.h	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,162 @@
+/***************************************************************************
+                          gauss_i.h  -  description
+                           -----------------------
+    begin                : Sun Feb 08 2003
+    copyright            : (C) 2003 by Chris Moeller, eh, whatever
+    email                : chris@kode54.tk
+ ***************************************************************************/
+                       
+/***************************************************************************
+ *                                                                         *
+ *   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; either version 2 of the License, or     *
+ *   (at your option) any later version. See also the license.txt file for *
+ *   additional informations.                                              *
+ *                                                                         *
+ ***************************************************************************/
+                           
+//*************************************************************************//
+// History of changes:
+//
+// 2003/02/08 - kode54
+// - generated by interleaving table from gauss.h from the libopenspc
+//   project; a gaussian bell curve table logged from the SPC-700,
+//   though Neill says he logged the same curve from a PSX SPU. Also
+//   says that interleaving the coefficients together runs faster. Meh.
+//
+//*************************************************************************//
+
+#ifndef GAUSS_H
+#define GAUSS_H
+
+static const int gauss[]={
+	0x172, 0x519, 0x176, 0x000, 0x16E, 0x519, 0x17A, 0x000, 
+	0x16A, 0x518, 0x17D, 0x000, 0x166, 0x518, 0x181, 0x000, 
+	0x162, 0x518, 0x185, 0x000, 0x15F, 0x518, 0x189, 0x000, 
+	0x15B, 0x518, 0x18D, 0x000, 0x157, 0x517, 0x191, 0x000, 
+	0x153, 0x517, 0x195, 0x000, 0x150, 0x517, 0x19A, 0x000, 
+	0x14C, 0x516, 0x19E, 0x000, 0x148, 0x516, 0x1A2, 0x000, 
+	0x145, 0x515, 0x1A6, 0x000, 0x141, 0x514, 0x1AA, 0x000, 
+	0x13E, 0x514, 0x1AE, 0x000, 0x13A, 0x513, 0x1B2, 0x000, 
+	0x137, 0x512, 0x1B7, 0x001, 0x133, 0x511, 0x1BB, 0x001, 
+	0x130, 0x511, 0x1BF, 0x001, 0x12C, 0x510, 0x1C3, 0x001, 
+	0x129, 0x50F, 0x1C8, 0x001, 0x125, 0x50E, 0x1CC, 0x001, 
+	0x122, 0x50D, 0x1D0, 0x001, 0x11E, 0x50C, 0x1D5, 0x001, 
+	0x11B, 0x50B, 0x1D9, 0x001, 0x118, 0x50A, 0x1DD, 0x001, 
+	0x114, 0x508, 0x1E2, 0x001, 0x111, 0x507, 0x1E6, 0x002, 
+	0x10E, 0x506, 0x1EB, 0x002, 0x10B, 0x504, 0x1EF, 0x002, 
+	0x107, 0x503, 0x1F3, 0x002, 0x104, 0x502, 0x1F8, 0x002, 
+	0x101, 0x500, 0x1FC, 0x002, 0x0FE, 0x4FF, 0x201, 0x002, 
+	0x0FB, 0x4FD, 0x205, 0x003, 0x0F8, 0x4FB, 0x20A, 0x003, 
+	0x0F5, 0x4FA, 0x20F, 0x003, 0x0F2, 0x4F8, 0x213, 0x003, 
+	0x0EF, 0x4F6, 0x218, 0x003, 0x0EC, 0x4F5, 0x21C, 0x004, 
+	0x0E9, 0x4F3, 0x221, 0x004, 0x0E6, 0x4F1, 0x226, 0x004, 
+	0x0E3, 0x4EF, 0x22A, 0x004, 0x0E0, 0x4ED, 0x22F, 0x004, 
+	0x0DD, 0x4EB, 0x233, 0x005, 0x0DA, 0x4E9, 0x238, 0x005, 
+	0x0D7, 0x4E7, 0x23D, 0x005, 0x0D4, 0x4E5, 0x241, 0x005, 
+	0x0D2, 0x4E3, 0x246, 0x006, 0x0CF, 0x4E0, 0x24B, 0x006, 
+	0x0CC, 0x4DE, 0x250, 0x006, 0x0C9, 0x4DC, 0x254, 0x006, 
+	0x0C7, 0x4D9, 0x259, 0x007, 0x0C4, 0x4D7, 0x25E, 0x007, 
+	0x0C1, 0x4D5, 0x263, 0x007, 0x0BF, 0x4D2, 0x267, 0x008, 
+	0x0BC, 0x4D0, 0x26C, 0x008, 0x0BA, 0x4CD, 0x271, 0x008, 
+	0x0B7, 0x4CB, 0x276, 0x009, 0x0B4, 0x4C8, 0x27B, 0x009, 
+	0x0B2, 0x4C5, 0x280, 0x009, 0x0AF, 0x4C3, 0x284, 0x00A, 
+	0x0AD, 0x4C0, 0x289, 0x00A, 0x0AB, 0x4BD, 0x28E, 0x00A, 
+	0x0A8, 0x4BA, 0x293, 0x00B, 0x0A6, 0x4B7, 0x298, 0x00B, 
+	0x0A3, 0x4B5, 0x29D, 0x00B, 0x0A1, 0x4B2, 0x2A2, 0x00C, 
+	0x09F, 0x4AF, 0x2A6, 0x00C, 0x09C, 0x4AC, 0x2AB, 0x00D, 
+	0x09A, 0x4A9, 0x2B0, 0x00D, 0x098, 0x4A6, 0x2B5, 0x00E, 
+	0x096, 0x4A2, 0x2BA, 0x00E, 0x093, 0x49F, 0x2BF, 0x00F, 
+	0x091, 0x49C, 0x2C4, 0x00F, 0x08F, 0x499, 0x2C9, 0x00F, 
+	0x08D, 0x496, 0x2CE, 0x010, 0x08B, 0x492, 0x2D3, 0x010, 
+	0x089, 0x48F, 0x2D8, 0x011, 0x086, 0x48C, 0x2DC, 0x011, 
+	0x084, 0x488, 0x2E1, 0x012, 0x082, 0x485, 0x2E6, 0x013, 
+	0x080, 0x481, 0x2EB, 0x013, 0x07E, 0x47E, 0x2F0, 0x014, 
+	0x07C, 0x47A, 0x2F5, 0x014, 0x07A, 0x477, 0x2FA, 0x015, 
+	0x078, 0x473, 0x2FF, 0x015, 0x076, 0x470, 0x304, 0x016, 
+	0x075, 0x46C, 0x309, 0x017, 0x073, 0x468, 0x30E, 0x017, 
+	0x071, 0x465, 0x313, 0x018, 0x06F, 0x461, 0x318, 0x018, 
+	0x06D, 0x45D, 0x31D, 0x019, 0x06B, 0x459, 0x322, 0x01A, 
+	0x06A, 0x455, 0x326, 0x01B, 0x068, 0x452, 0x32B, 0x01B, 
+	0x066, 0x44E, 0x330, 0x01C, 0x064, 0x44A, 0x335, 0x01D, 
+	0x063, 0x446, 0x33A, 0x01D, 0x061, 0x442, 0x33F, 0x01E, 
+	0x05F, 0x43E, 0x344, 0x01F, 0x05E, 0x43A, 0x349, 0x020, 
+	0x05C, 0x436, 0x34E, 0x020, 0x05A, 0x432, 0x353, 0x021, 
+	0x059, 0x42E, 0x357, 0x022, 0x057, 0x42A, 0x35C, 0x023, 
+	0x056, 0x425, 0x361, 0x024, 0x054, 0x421, 0x366, 0x024, 
+	0x053, 0x41D, 0x36B, 0x025, 0x051, 0x419, 0x370, 0x026, 
+	0x050, 0x415, 0x374, 0x027, 0x04E, 0x410, 0x379, 0x028, 
+	0x04D, 0x40C, 0x37E, 0x029, 0x04C, 0x408, 0x383, 0x02A, 
+	0x04A, 0x403, 0x388, 0x02B, 0x049, 0x3FF, 0x38C, 0x02C, 
+	0x047, 0x3FB, 0x391, 0x02D, 0x046, 0x3F6, 0x396, 0x02E, 
+	0x045, 0x3F2, 0x39B, 0x02F, 0x043, 0x3ED, 0x39F, 0x030, 
+	0x042, 0x3E9, 0x3A4, 0x031, 0x041, 0x3E5, 0x3A9, 0x032, 
+	0x040, 0x3E0, 0x3AD, 0x033, 0x03E, 0x3DC, 0x3B2, 0x034, 
+	0x03D, 0x3D7, 0x3B7, 0x035, 0x03C, 0x3D2, 0x3BB, 0x036, 
+	0x03B, 0x3CE, 0x3C0, 0x037, 0x03A, 0x3C9, 0x3C5, 0x038, 
+	0x038, 0x3C5, 0x3C9, 0x03A, 0x037, 0x3C0, 0x3CE, 0x03B, 
+	0x036, 0x3BB, 0x3D2, 0x03C, 0x035, 0x3B7, 0x3D7, 0x03D, 
+	0x034, 0x3B2, 0x3DC, 0x03E, 0x033, 0x3AD, 0x3E0, 0x040, 
+	0x032, 0x3A9, 0x3E5, 0x041, 0x031, 0x3A4, 0x3E9, 0x042, 
+	0x030, 0x39F, 0x3ED, 0x043, 0x02F, 0x39B, 0x3F2, 0x045, 
+	0x02E, 0x396, 0x3F6, 0x046, 0x02D, 0x391, 0x3FB, 0x047, 
+	0x02C, 0x38C, 0x3FF, 0x049, 0x02B, 0x388, 0x403, 0x04A, 
+	0x02A, 0x383, 0x408, 0x04C, 0x029, 0x37E, 0x40C, 0x04D, 
+	0x028, 0x379, 0x410, 0x04E, 0x027, 0x374, 0x415, 0x050, 
+	0x026, 0x370, 0x419, 0x051, 0x025, 0x36B, 0x41D, 0x053, 
+	0x024, 0x366, 0x421, 0x054, 0x024, 0x361, 0x425, 0x056, 
+	0x023, 0x35C, 0x42A, 0x057, 0x022, 0x357, 0x42E, 0x059, 
+	0x021, 0x353, 0x432, 0x05A, 0x020, 0x34E, 0x436, 0x05C, 
+	0x020, 0x349, 0x43A, 0x05E, 0x01F, 0x344, 0x43E, 0x05F, 
+	0x01E, 0x33F, 0x442, 0x061, 0x01D, 0x33A, 0x446, 0x063, 
+	0x01D, 0x335, 0x44A, 0x064, 0x01C, 0x330, 0x44E, 0x066, 
+	0x01B, 0x32B, 0x452, 0x068, 0x01B, 0x326, 0x455, 0x06A, 
+	0x01A, 0x322, 0x459, 0x06B, 0x019, 0x31D, 0x45D, 0x06D, 
+	0x018, 0x318, 0x461, 0x06F, 0x018, 0x313, 0x465, 0x071, 
+	0x017, 0x30E, 0x468, 0x073, 0x017, 0x309, 0x46C, 0x075, 
+	0x016, 0x304, 0x470, 0x076, 0x015, 0x2FF, 0x473, 0x078, 
+	0x015, 0x2FA, 0x477, 0x07A, 0x014, 0x2F5, 0x47A, 0x07C, 
+	0x014, 0x2F0, 0x47E, 0x07E, 0x013, 0x2EB, 0x481, 0x080, 
+	0x013, 0x2E6, 0x485, 0x082, 0x012, 0x2E1, 0x488, 0x084, 
+	0x011, 0x2DC, 0x48C, 0x086, 0x011, 0x2D8, 0x48F, 0x089, 
+	0x010, 0x2D3, 0x492, 0x08B, 0x010, 0x2CE, 0x496, 0x08D, 
+	0x00F, 0x2C9, 0x499, 0x08F, 0x00F, 0x2C4, 0x49C, 0x091, 
+	0x00F, 0x2BF, 0x49F, 0x093, 0x00E, 0x2BA, 0x4A2, 0x096, 
+	0x00E, 0x2B5, 0x4A6, 0x098, 0x00D, 0x2B0, 0x4A9, 0x09A, 
+	0x00D, 0x2AB, 0x4AC, 0x09C, 0x00C, 0x2A6, 0x4AF, 0x09F, 
+	0x00C, 0x2A2, 0x4B2, 0x0A1, 0x00B, 0x29D, 0x4B5, 0x0A3, 
+	0x00B, 0x298, 0x4B7, 0x0A6, 0x00B, 0x293, 0x4BA, 0x0A8, 
+	0x00A, 0x28E, 0x4BD, 0x0AB, 0x00A, 0x289, 0x4C0, 0x0AD, 
+	0x00A, 0x284, 0x4C3, 0x0AF, 0x009, 0x280, 0x4C5, 0x0B2, 
+	0x009, 0x27B, 0x4C8, 0x0B4, 0x009, 0x276, 0x4CB, 0x0B7, 
+	0x008, 0x271, 0x4CD, 0x0BA, 0x008, 0x26C, 0x4D0, 0x0BC, 
+	0x008, 0x267, 0x4D2, 0x0BF, 0x007, 0x263, 0x4D5, 0x0C1, 
+	0x007, 0x25E, 0x4D7, 0x0C4, 0x007, 0x259, 0x4D9, 0x0C7, 
+	0x006, 0x254, 0x4DC, 0x0C9, 0x006, 0x250, 0x4DE, 0x0CC, 
+	0x006, 0x24B, 0x4E0, 0x0CF, 0x006, 0x246, 0x4E3, 0x0D2, 
+	0x005, 0x241, 0x4E5, 0x0D4, 0x005, 0x23D, 0x4E7, 0x0D7, 
+	0x005, 0x238, 0x4E9, 0x0DA, 0x005, 0x233, 0x4EB, 0x0DD, 
+	0x004, 0x22F, 0x4ED, 0x0E0, 0x004, 0x22A, 0x4EF, 0x0E3, 
+	0x004, 0x226, 0x4F1, 0x0E6, 0x004, 0x221, 0x4F3, 0x0E9, 
+	0x004, 0x21C, 0x4F5, 0x0EC, 0x003, 0x218, 0x4F6, 0x0EF, 
+	0x003, 0x213, 0x4F8, 0x0F2, 0x003, 0x20F, 0x4FA, 0x0F5, 
+	0x003, 0x20A, 0x4FB, 0x0F8, 0x003, 0x205, 0x4FD, 0x0FB, 
+	0x002, 0x201, 0x4FF, 0x0FE, 0x002, 0x1FC, 0x500, 0x101, 
+	0x002, 0x1F8, 0x502, 0x104, 0x002, 0x1F3, 0x503, 0x107, 
+	0x002, 0x1EF, 0x504, 0x10B, 0x002, 0x1EB, 0x506, 0x10E, 
+	0x002, 0x1E6, 0x507, 0x111, 0x001, 0x1E2, 0x508, 0x114, 
+	0x001, 0x1DD, 0x50A, 0x118, 0x001, 0x1D9, 0x50B, 0x11B, 
+	0x001, 0x1D5, 0x50C, 0x11E, 0x001, 0x1D0, 0x50D, 0x122, 
+	0x001, 0x1CC, 0x50E, 0x125, 0x001, 0x1C8, 0x50F, 0x129, 
+	0x001, 0x1C3, 0x510, 0x12C, 0x001, 0x1BF, 0x511, 0x130, 
+	0x001, 0x1BB, 0x511, 0x133, 0x001, 0x1B7, 0x512, 0x137, 
+	0x000, 0x1B2, 0x513, 0x13A, 0x000, 0x1AE, 0x514, 0x13E, 
+	0x000, 0x1AA, 0x514, 0x141, 0x000, 0x1A6, 0x515, 0x145, 
+	0x000, 0x1A2, 0x516, 0x148, 0x000, 0x19E, 0x516, 0x14C, 
+	0x000, 0x19A, 0x517, 0x150, 0x000, 0x195, 0x517, 0x153, 
+	0x000, 0x191, 0x517, 0x157, 0x000, 0x18D, 0x518, 0x15B, 
+	0x000, 0x189, 0x518, 0x15F, 0x000, 0x185, 0x518, 0x162, 
+	0x000, 0x181, 0x518, 0x166, 0x000, 0x17D, 0x518, 0x16A, 
+	0x000, 0x17A, 0x519, 0x16E, 0x000, 0x176, 0x519, 0x172};
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/peops2/psemuxa.h	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,28 @@
+//============================================
+//=== Audio XA decoding
+//=== Kazzuya
+//============================================
+
+#ifndef DECODEXA_H
+#define DECODEXA_H
+
+typedef struct
+{
+	long	y0, y1;
+} ADPCM_Decode_t;
+
+typedef struct
+{                                                                   
+	int				freq;
+	int				nbits;
+	int				stereo;
+	int				nsamples;
+	ADPCM_Decode_t	left, right;
+	short			pcm[16384];
+} xa_decode_t;
+
+long xa_decode_sector( xa_decode_t *xdp,
+					   unsigned char *sectorp,
+					   int is_first_sector );
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/peops2/registers.c	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,1343 @@
+/***************************************************************************
+                         registers.c  -  description
+                             -------------------
+    begin                : Wed May 15 2002
+    copyright            : (C) 2002 by Pete Bernert
+    email                : BlackDove@addcom.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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; either version 2 of the License, or     *
+ *   (at your option) any later version. See also the license.txt file for *
+ *   additional informations.                                              *
+ *                                                                         *
+ ***************************************************************************/
+
+//*************************************************************************//
+// History of changes:
+//
+// 2004/04/04 - Pete
+// - changed plugin to emulate PS2 spu
+//
+// 2003/02/09 - kode54
+// - removed &0x3fff from reverb volume registers, fixes a few games,
+//   hopefully won't be breaking anything
+//
+// 2003/01/19 - Pete
+// - added Neill's reverb
+//
+// 2003/01/06 - Pete
+// - added Neill's ADSR timings
+//
+// 2002/05/15 - Pete
+// - generic cleanup for the Peops release
+//
+//*************************************************************************//
+
+#include "stdafx.h"
+
+#define _IN_REGISTERS
+
+#include "../peops2/externals.h"
+#include "../peops2/registers.h"
+#include "../peops2/regs.h"
+#include "../peops2/reverb.h"
+
+/*
+// adsr time values (in ms) by James Higgs ... see the end of
+// the adsr.c source for details
+
+#define ATTACK_MS     514L
+#define DECAYHALF_MS  292L
+#define DECAY_MS      584L
+#define SUSTAIN_MS    450L
+#define RELEASE_MS    446L
+*/
+
+// we have a timebase of 1.020408f ms, not 1 ms... so adjust adsr defines
+#define ATTACK_MS      494L
+#define DECAYHALF_MS   286L
+#define DECAY_MS       572L
+#define SUSTAIN_MS     441L
+#define RELEASE_MS     437L
+
+// Prototypes
+void SetVolumeL(unsigned char ch,short vol);
+void SetVolumeR(unsigned char ch,short vol);
+void ReverbOn(int start,int end,unsigned short val,int iRight);
+void SetReverbAddr(int core);
+void VolumeOn(int start,int end,unsigned short val,int iRight);
+
+////////////////////////////////////////////////////////////////////////
+// WRITE REGISTERS: called by main emu
+////////////////////////////////////////////////////////////////////////
+
+EXPORT_GCC void CALLBACK SPU2write(unsigned long reg, unsigned short val)
+{
+ long r=reg&0xffff;
+
+ regArea[r>>1] = val;
+
+//	printf("SPU2: %04x to %08x\n", val, reg);
+
+ if((r>=0x0000 && r<0x0180)||(r>=0x0400 && r<0x0580))  // some channel info?
+  {
+   int ch=(r>>4)&0x1f;
+   if(r>=0x400) ch+=24;
+   
+   switch(r&0x0f)
+    {
+     //------------------------------------------------// r volume
+     case 0:                                           
+       SetVolumeL((unsigned char)ch,val);
+       break;
+     //------------------------------------------------// l volume
+     case 2:                                           
+       SetVolumeR((unsigned char)ch,val);
+       break;
+     //------------------------------------------------// pitch
+     case 4:                                           
+       SetPitch(ch,val);
+       break;
+     //------------------------------------------------// level with pre-calcs
+     case 6:
+       {
+        const unsigned long lval=val;unsigned long lx;
+        //---------------------------------------------//
+        s_chan[ch].ADSRX.AttackModeExp=(lval&0x8000)?1:0; 
+        s_chan[ch].ADSRX.AttackRate=(lval>>8) & 0x007f;
+        s_chan[ch].ADSRX.DecayRate=(lval>>4) & 0x000f;
+        s_chan[ch].ADSRX.SustainLevel=lval & 0x000f;
+        //---------------------------------------------//
+        if(!iDebugMode) break;
+        //---------------------------------------------// stuff below is only for debug mode
+
+        s_chan[ch].ADSR.AttackModeExp=(lval&0x8000)?1:0;        //0x007f
+
+        lx=(((lval>>8) & 0x007f)>>2);                  // attack time to run from 0 to 100% volume
+        lx=min(31,lx);                                 // no overflow on shift!
+        if(lx) 
+         { 
+          lx = (1<<lx);
+          if(lx<2147483) lx=(lx*ATTACK_MS)/10000L;     // another overflow check
+          else           lx=(lx/10000L)*ATTACK_MS;
+          if(!lx) lx=1;
+         }
+        s_chan[ch].ADSR.AttackTime=lx;                
+
+        s_chan[ch].ADSR.SustainLevel=                 // our adsr vol runs from 0 to 1024, so scale the sustain level
+         (1024*((lval) & 0x000f))/15;
+
+        lx=(lval>>4) & 0x000f;                         // decay:
+        if(lx)                                         // our const decay value is time it takes from 100% to 0% of volume
+         {
+          lx = ((1<<(lx))*DECAY_MS)/10000L;
+          if(!lx) lx=1;
+         }
+        s_chan[ch].ADSR.DecayTime =                   // so calc how long does it take to run from 100% to the wanted sus level
+         (lx*(1024-s_chan[ch].ADSR.SustainLevel))/1024;
+       }
+      break;
+     //------------------------------------------------// adsr times with pre-calcs
+     case 8:
+      {
+       const unsigned long lval=val;unsigned long lx;
+
+       //----------------------------------------------//
+       s_chan[ch].ADSRX.SustainModeExp = (lval&0x8000)?1:0;
+       s_chan[ch].ADSRX.SustainIncrease= (lval&0x4000)?0:1;
+       s_chan[ch].ADSRX.SustainRate = (lval>>6) & 0x007f;
+       s_chan[ch].ADSRX.ReleaseModeExp = (lval&0x0020)?1:0;
+       s_chan[ch].ADSRX.ReleaseRate = lval & 0x001f;
+       //----------------------------------------------//
+       if(!iDebugMode) break;
+       //----------------------------------------------// stuff below is only for debug mode
+
+       s_chan[ch].ADSR.SustainModeExp = (lval&0x8000)?1:0;
+       s_chan[ch].ADSR.ReleaseModeExp = (lval&0x0020)?1:0;
+                   
+       lx=((((lval>>6) & 0x007f)>>2));                 // sustain time... often very high
+       lx=min(31,lx);                                  // values are used to hold the volume
+       if(lx)                                          // until a sound stop occurs
+        {                                              // the highest value we reach (due to 
+         lx = (1<<lx);                                 // overflow checking) is: 
+         if(lx<2147483) lx=(lx*SUSTAIN_MS)/10000L;     // 94704 seconds = 1578 minutes = 26 hours... 
+         else           lx=(lx/10000L)*SUSTAIN_MS;     // should be enuff... if the stop doesn't 
+         if(!lx) lx=1;                                 // come in this time span, I don't care :)
+        }
+       s_chan[ch].ADSR.SustainTime = lx;
+
+       lx=(lval & 0x001f);
+       s_chan[ch].ADSR.ReleaseVal     =lx;
+       if(lx)                                          // release time from 100% to 0%
+        {                                              // note: the release time will be
+         lx = (1<<lx);                                 // adjusted when a stop is coming,
+         if(lx<2147483) lx=(lx*RELEASE_MS)/10000L;     // so at this time the adsr vol will 
+         else           lx=(lx/10000L)*RELEASE_MS;     // run from (current volume) to 0%
+         if(!lx) lx=1;
+        }
+       s_chan[ch].ADSR.ReleaseTime=lx;
+
+       if(lval & 0x4000)                               // add/dec flag
+            s_chan[ch].ADSR.SustainModeDec=-1;
+       else s_chan[ch].ADSR.SustainModeDec=1;
+      }
+     break;
+     //------------------------------------------------//
+    }
+
+   iSpuAsyncWait=0;
+
+   return;
+  }
+
+ if((r>=0x01c0 && r<0x02E0)||(r>=0x05c0 && r<0x06E0))  // some channel info?
+  {
+   int ch=0;
+   if(r>=0x400) {ch=24;r-=0x400;}
+
+   ch+=(r-0x1c0)/12;
+   r-=(ch%24)*12;
+   switch(r)
+    {
+     //------------------------------------------------//
+     case 0x1C0:
+      s_chan[ch].iStartAdr=(((unsigned long)val&0xf)<<16)|(s_chan[ch].iStartAdr&0xFFFF);
+      s_chan[ch].pStart=spuMemC+(s_chan[ch].iStartAdr<<1);
+      break;
+     case 0x1C2:
+      s_chan[ch].iStartAdr=(s_chan[ch].iStartAdr & 0xF0000) | (val & 0xFFFF);
+      s_chan[ch].pStart=spuMemC+(s_chan[ch].iStartAdr<<1);
+      break;
+     //------------------------------------------------//
+     case 0x1C4:
+      s_chan[ch].iLoopAdr=(((unsigned long)val&0xf)<<16)|(s_chan[ch].iLoopAdr&0xFFFF);
+      s_chan[ch].pLoop=spuMemC+(s_chan[ch].iLoopAdr<<1);
+      s_chan[ch].bIgnoreLoop=1;
+      break;
+     case 0x1C6:
+      s_chan[ch].iLoopAdr=(s_chan[ch].iLoopAdr & 0xF0000) | (val & 0xFFFF);
+      s_chan[ch].pLoop=spuMemC+(s_chan[ch].iLoopAdr<<1);
+      s_chan[ch].bIgnoreLoop=1;
+      break;
+     //------------------------------------------------//
+     case 0x1C8:
+      // unused... check if it gets written as well
+      s_chan[ch].iNextAdr=(((unsigned long)val&0xf)<<16)|(s_chan[ch].iNextAdr&0xFFFF);
+      break;
+     case 0x1CA:
+      // unused... check if it gets written as well
+      s_chan[ch].iNextAdr=(s_chan[ch].iNextAdr & 0xF0000) | (val & 0xFFFF);
+      break;
+     //------------------------------------------------//
+    }
+
+   iSpuAsyncWait=0;
+
+   return;
+  } 
+
+ switch(r)
+   {
+    //-------------------------------------------------//
+    case PS2_C0_SPUaddr_Hi:
+      spuAddr2[0] = (((unsigned long)val&0xf)<<16)|(spuAddr2[0]&0xFFFF);
+      break;
+    //-------------------------------------------------//
+    case PS2_C0_SPUaddr_Lo:
+      spuAddr2[0] = (spuAddr2[0] & 0xF0000) | (val & 0xFFFF);
+      break;
+    //-------------------------------------------------//
+    case PS2_C1_SPUaddr_Hi:
+      spuAddr2[1] = (((unsigned long)val&0xf)<<16)|(spuAddr2[1]&0xFFFF);
+      break;
+    //-------------------------------------------------//
+    case PS2_C1_SPUaddr_Lo:
+      spuAddr2[1] = (spuAddr2[1] & 0xF0000) | (val & 0xFFFF);
+      break;
+    //-------------------------------------------------//
+    case PS2_C0_SPUdata:
+      spuMem[spuAddr2[0]] = val;
+      spuAddr2[0]++;
+      if(spuAddr2[0]>0xfffff) spuAddr2[0]=0;
+      break;
+    //-------------------------------------------------//
+    case PS2_C1_SPUdata:
+      spuMem[spuAddr2[1]] = val;
+      spuAddr2[1]++;
+      if(spuAddr2[1]>0xfffff) spuAddr2[1]=0;
+      break;
+    //-------------------------------------------------//
+    case PS2_C0_ATTR:
+      spuCtrl2[0]=val;
+      break;
+    //-------------------------------------------------//
+    case PS2_C1_ATTR:
+      spuCtrl2[1]=val;
+      break;
+    //-------------------------------------------------//
+    case PS2_C0_SPUstat:
+      spuStat2[0]=val;
+      break;
+    //-------------------------------------------------//
+    case PS2_C1_SPUstat:
+      spuStat2[1]=val;
+      break;
+    //-------------------------------------------------//
+    case PS2_C0_ReverbAddr_Hi:
+      spuRvbAddr2[0] = (((unsigned long)val&0xf)<<16)|(spuRvbAddr2[0]&0xFFFF);
+      SetReverbAddr(0);
+      break;
+    //-------------------------------------------------//
+    case PS2_C0_ReverbAddr_Lo:
+      spuRvbAddr2[0] = (spuRvbAddr2[0] & 0xF0000) | (val & 0xFFFF);
+      SetReverbAddr(0);
+      break;
+    //-------------------------------------------------//
+    case PS2_C0_ReverbAEnd_Hi:
+      spuRvbAEnd2[0] = (((unsigned long)val&0xf)<<16)|(/*spuRvbAEnd2[0]&*/0xFFFF);
+      rvb[0].EndAddr=spuRvbAEnd2[0];
+      break;
+    //-------------------------------------------------//
+    case PS2_C1_ReverbAEnd_Hi:
+      spuRvbAEnd2[1] = (((unsigned long)val&0xf)<<16)|(/*spuRvbAEnd2[1]&*/0xFFFF);
+      rvb[1].EndAddr=spuRvbAEnd2[1];
+      break;
+    //-------------------------------------------------//
+    case PS2_C1_ReverbAddr_Hi:
+      spuRvbAddr2[1] = (((unsigned long)val&0xf)<<16)|(spuRvbAddr2[1]&0xFFFF);
+      SetReverbAddr(1);
+      break;
+    //-------------------------------------------------//
+    case PS2_C1_ReverbAddr_Lo:
+      spuRvbAddr2[1] = (spuRvbAddr2[1] & 0xF0000) | (val & 0xFFFF);
+      SetReverbAddr(1);
+      break;
+    //-------------------------------------------------//
+    case PS2_C0_SPUirqAddr_Hi:
+      spuIrq2[0] = (((unsigned long)val&0xf)<<16)|(spuIrq2[0]&0xFFFF);
+      pSpuIrq[0]=spuMemC+(spuIrq2[0]<<1);
+      break;
+    //-------------------------------------------------//
+    case PS2_C0_SPUirqAddr_Lo:
+      spuIrq2[0] = (spuIrq2[0] & 0xF0000) | (val & 0xFFFF);
+      pSpuIrq[0]=spuMemC+(spuIrq2[0]<<1);
+      break;
+    //-------------------------------------------------//
+    case PS2_C1_SPUirqAddr_Hi:
+      spuIrq2[1] = (((unsigned long)val&0xf)<<16)|(spuIrq2[1]&0xFFFF);
+      pSpuIrq[1]=spuMemC+(spuIrq2[1]<<1);
+      break;
+    //-------------------------------------------------//
+    case PS2_C1_SPUirqAddr_Lo:
+      spuIrq2[1] = (spuIrq2[1] & 0xF0000) | (val & 0xFFFF);
+      pSpuIrq[1]=spuMemC+(spuIrq2[1]<<1);
+      break;
+    //-------------------------------------------------//
+    case PS2_C0_SPUrvolL:
+      rvb[0].VolLeft=val;
+      break;
+    //-------------------------------------------------//
+    case PS2_C0_SPUrvolR:
+      rvb[0].VolRight=val;
+      break;
+    //-------------------------------------------------//
+    case PS2_C1_SPUrvolL:
+      rvb[1].VolLeft=val;
+      break;
+    //-------------------------------------------------//
+    case PS2_C1_SPUrvolR:
+      rvb[1].VolRight=val;
+      break;
+    //-------------------------------------------------//
+    case PS2_C0_SPUon1:
+      SoundOn(0,16,val);
+      break;
+    //-------------------------------------------------//
+    case PS2_C0_SPUon2:
+      SoundOn(16,24,val);
+      break;
+    //-------------------------------------------------//
+    case PS2_C1_SPUon1:
+      SoundOn(24,40,val);
+      break;
+    //-------------------------------------------------//
+    case PS2_C1_SPUon2:
+      SoundOn(40,48,val);
+      break;
+    //-------------------------------------------------//
+    case PS2_C0_SPUoff1:
+      SoundOff(0,16,val);
+      break;
+    //-------------------------------------------------//
+    case PS2_C0_SPUoff2:
+      SoundOff(16,24,val);
+      break;
+    //-------------------------------------------------//
+    case PS2_C1_SPUoff1:
+      SoundOff(24,40,val);
+      break;
+    //-------------------------------------------------//
+    case PS2_C1_SPUoff2:
+      SoundOff(40,48,val);
+      break;
+    //-------------------------------------------------//
+    case PS2_C0_SPUend1:
+    case PS2_C0_SPUend2:
+      if(val) dwEndChannel2[0]=0;
+      break;
+    //-------------------------------------------------//
+    case PS2_C1_SPUend1:
+    case PS2_C1_SPUend2:
+      if(val) dwEndChannel2[1]=0;
+      break;
+    //-------------------------------------------------//
+    case PS2_C0_FMod1:
+      FModOn(0,16,val);
+      break;
+    //-------------------------------------------------//
+    case PS2_C0_FMod2:
+      FModOn(16,24,val);
+      break;
+    //-------------------------------------------------//
+    case PS2_C1_FMod1:
+      FModOn(24,40,val);
+      break;
+    //-------------------------------------------------//
+    case PS2_C1_FMod2:
+      FModOn(40,48,val);
+      break;
+    //-------------------------------------------------//
+    case PS2_C0_Noise1:
+      NoiseOn(0,16,val);
+      break;
+    //-------------------------------------------------//
+    case PS2_C0_Noise2:
+      NoiseOn(16,24,val);
+      break;
+    //-------------------------------------------------//
+    case PS2_C1_Noise1:
+      NoiseOn(24,40,val);
+      break;
+    //-------------------------------------------------//
+    case PS2_C1_Noise2:
+      NoiseOn(40,48,val);
+      break;
+    //-------------------------------------------------//
+    case PS2_C0_DryL1:
+      VolumeOn(0,16,val,0);
+      break;
+    //-------------------------------------------------//
+    case PS2_C0_DryL2:
+      VolumeOn(16,24,val,0);
+      break;
+    //-------------------------------------------------//
+    case PS2_C1_DryL1:
+      VolumeOn(24,40,val,0);
+      break;
+    //-------------------------------------------------//
+    case PS2_C1_DryL2:
+      VolumeOn(40,48,val,0);
+      break;
+    //-------------------------------------------------//
+    case PS2_C0_DryR1:
+      VolumeOn(0,16,val,1);
+      break;
+    //-------------------------------------------------//
+    case PS2_C0_DryR2:
+      VolumeOn(16,24,val,1);
+      break;
+    //-------------------------------------------------//
+    case PS2_C1_DryR1:
+      VolumeOn(24,40,val,1);
+      break;
+    //-------------------------------------------------//
+    case PS2_C1_DryR2:
+      VolumeOn(40,48,val,1);
+      break;
+    //-------------------------------------------------//
+    case PS2_C0_RVBon1_L:
+      ReverbOn(0,16,val,0);
+      break;
+    //-------------------------------------------------//
+    case PS2_C0_RVBon2_L:
+      ReverbOn(16,24,val,0);
+      break;
+    //-------------------------------------------------//
+    case PS2_C1_RVBon1_L:
+      ReverbOn(24,40,val,0);
+      break;
+    //-------------------------------------------------//
+    case PS2_C1_RVBon2_L:
+      ReverbOn(40,48,val,0);
+      break;
+    //-------------------------------------------------//
+    case PS2_C0_RVBon1_R:
+      ReverbOn(0,16,val,1);
+      break;
+    //-------------------------------------------------//
+    case PS2_C0_RVBon2_R:
+      ReverbOn(16,24,val,1);
+      break;
+    //-------------------------------------------------//
+    case PS2_C1_RVBon1_R:
+      ReverbOn(24,40,val,1);
+      break;
+    //-------------------------------------------------//
+    case PS2_C1_RVBon2_R:
+      ReverbOn(40,48,val,1);
+      break;
+    //-------------------------------------------------//
+    case PS2_C0_Reverb+0:
+      rvb[0].FB_SRC_A=(((unsigned long)val&0xf)<<16)|(rvb[0].FB_SRC_A&0xFFFF);
+      break;
+    case PS2_C0_Reverb+2:
+      rvb[0].FB_SRC_A=(rvb[0].FB_SRC_A & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C0_Reverb+4:
+      rvb[0].FB_SRC_B=(((unsigned long)val&0xf)<<16)|(rvb[0].FB_SRC_B&0xFFFF);
+      break;
+    case PS2_C0_Reverb+6:
+      rvb[0].FB_SRC_B=(rvb[0].FB_SRC_B & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C0_Reverb+8:
+      rvb[0].IIR_DEST_A0=(((unsigned long)val&0xf)<<16)|(rvb[0].IIR_DEST_A0&0xFFFF);
+      break;
+    case PS2_C0_Reverb+10:
+      rvb[0].IIR_DEST_A0=(rvb[0].IIR_DEST_A0 & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C0_Reverb+12:
+      rvb[0].IIR_DEST_A1=(((unsigned long)val&0xf)<<16)|(rvb[0].IIR_DEST_A1&0xFFFF);
+      break;
+    case PS2_C0_Reverb+14:
+      rvb[0].IIR_DEST_A1=(rvb[0].IIR_DEST_A1 & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C0_Reverb+16:
+      rvb[0].ACC_SRC_A0=(((unsigned long)val&0xf)<<16)|(rvb[0].ACC_SRC_A0&0xFFFF);
+      break;
+    case PS2_C0_Reverb+18:
+      rvb[0].ACC_SRC_A0=(rvb[0].ACC_SRC_A0 & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C0_Reverb+20:
+      rvb[0].ACC_SRC_A1=(((unsigned long)val&0xf)<<16)|(rvb[0].ACC_SRC_A1&0xFFFF);
+      break;
+    case PS2_C0_Reverb+22:
+      rvb[0].ACC_SRC_A1=(rvb[0].ACC_SRC_A1 & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C0_Reverb+24:
+      rvb[0].ACC_SRC_B0=(((unsigned long)val&0xf)<<16)|(rvb[0].ACC_SRC_B0&0xFFFF);
+      break;
+    case PS2_C0_Reverb+26:
+      rvb[0].ACC_SRC_B0=(rvb[0].ACC_SRC_B0 & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C0_Reverb+28:
+      rvb[0].ACC_SRC_B1=(((unsigned long)val&0xf)<<16)|(rvb[0].ACC_SRC_B1&0xFFFF);
+      break;
+    case PS2_C0_Reverb+30:
+      rvb[0].ACC_SRC_B1=(rvb[0].ACC_SRC_B1 & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C0_Reverb+32:
+      rvb[0].IIR_SRC_A0=(((unsigned long)val&0xf)<<16)|(rvb[0].IIR_SRC_A0&0xFFFF);
+      break;
+    case PS2_C0_Reverb+34:
+      rvb[0].IIR_SRC_A0=(rvb[0].IIR_SRC_A0 & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C0_Reverb+36:
+      rvb[0].IIR_SRC_A1=(((unsigned long)val&0xf)<<16)|(rvb[0].IIR_SRC_A1&0xFFFF);
+      break;
+    case PS2_C0_Reverb+38:
+      rvb[0].IIR_SRC_A1=(rvb[0].IIR_SRC_A1 & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C0_Reverb+40:
+      rvb[0].IIR_DEST_B0=(((unsigned long)val&0xf)<<16)|(rvb[0].IIR_DEST_B0&0xFFFF);
+      break;
+    case PS2_C0_Reverb+42:
+      rvb[0].IIR_DEST_B0=(rvb[0].IIR_DEST_B0 & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C0_Reverb+44:
+      rvb[0].IIR_DEST_B1=(((unsigned long)val&0xf)<<16)|(rvb[0].IIR_DEST_B1&0xFFFF);
+      break;
+    case PS2_C0_Reverb+46:
+      rvb[0].IIR_DEST_B1=(rvb[0].IIR_DEST_B1 & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C0_Reverb+48:
+      rvb[0].ACC_SRC_C0=(((unsigned long)val&0xf)<<16)|(rvb[0].ACC_SRC_C0&0xFFFF);
+      break;
+    case PS2_C0_Reverb+50:
+      rvb[0].ACC_SRC_C0=(rvb[0].ACC_SRC_C0 & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C0_Reverb+52:
+      rvb[0].ACC_SRC_C1=(((unsigned long)val&0xf)<<16)|(rvb[0].ACC_SRC_C1&0xFFFF);
+      break;
+    case PS2_C0_Reverb+54:
+      rvb[0].ACC_SRC_C1=(rvb[0].ACC_SRC_C1 & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C0_Reverb+56:
+      rvb[0].ACC_SRC_D0=(((unsigned long)val&0xf)<<16)|(rvb[0].ACC_SRC_D0&0xFFFF);
+      break;
+    case PS2_C0_Reverb+58:
+      rvb[0].ACC_SRC_D0=(rvb[0].ACC_SRC_D0 & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C0_Reverb+60:
+      rvb[0].ACC_SRC_D1=(((unsigned long)val&0xf)<<16)|(rvb[0].ACC_SRC_D1&0xFFFF);
+      break;
+    case PS2_C0_Reverb+62:
+      rvb[0].ACC_SRC_D1=(rvb[0].ACC_SRC_D1 & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C0_Reverb+64:
+      rvb[0].IIR_SRC_B1=(((unsigned long)val&0xf)<<16)|(rvb[0].IIR_SRC_B1&0xFFFF);
+      break;
+    case PS2_C0_Reverb+66:
+      rvb[0].IIR_SRC_B1=(rvb[0].IIR_SRC_B1 & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C0_Reverb+68:
+      rvb[0].IIR_SRC_B0=(((unsigned long)val&0xf)<<16)|(rvb[0].IIR_SRC_B0&0xFFFF);
+      break;
+    case PS2_C0_Reverb+70:
+      rvb[0].IIR_SRC_B0=(rvb[0].IIR_SRC_B0 & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C0_Reverb+72:
+      rvb[0].MIX_DEST_A0=(((unsigned long)val&0xf)<<16)|(rvb[0].MIX_DEST_A0&0xFFFF);
+      break;
+    case PS2_C0_Reverb+74:
+      rvb[0].MIX_DEST_A0=(rvb[0].MIX_DEST_A0 & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C0_Reverb+76:
+      rvb[0].MIX_DEST_A1=(((unsigned long)val&0xf)<<16)|(rvb[0].MIX_DEST_A1&0xFFFF);
+      break;
+    case PS2_C0_Reverb+78:
+      rvb[0].MIX_DEST_A1=(rvb[0].MIX_DEST_A1 & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C0_Reverb+80:
+      rvb[0].MIX_DEST_B0=(((unsigned long)val&0xf)<<16)|(rvb[0].MIX_DEST_B0&0xFFFF);
+      break;
+    case PS2_C0_Reverb+82:
+      rvb[0].MIX_DEST_B0=(rvb[0].MIX_DEST_B0 & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C0_Reverb+84:
+      rvb[0].MIX_DEST_B1=(((unsigned long)val&0xf)<<16)|(rvb[0].MIX_DEST_B1&0xFFFF);
+      break;
+    case PS2_C0_Reverb+86:
+      rvb[0].MIX_DEST_B1=(rvb[0].MIX_DEST_B1 & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C0_ReverbX+0:  rvb[0].IIR_ALPHA=(short)val;      break;
+    case PS2_C0_ReverbX+2:  rvb[0].ACC_COEF_A=(short)val;     break;
+    case PS2_C0_ReverbX+4:  rvb[0].ACC_COEF_B=(short)val;     break;
+    case PS2_C0_ReverbX+6:  rvb[0].ACC_COEF_C=(short)val;     break;
+    case PS2_C0_ReverbX+8:  rvb[0].ACC_COEF_D=(short)val;     break;
+    case PS2_C0_ReverbX+10: rvb[0].IIR_COEF=(short)val;       break;
+    case PS2_C0_ReverbX+12: rvb[0].FB_ALPHA=(short)val;       break;
+    case PS2_C0_ReverbX+14: rvb[0].FB_X=(short)val;           break;
+    case PS2_C0_ReverbX+16: rvb[0].IN_COEF_L=(short)val;      break;
+    case PS2_C0_ReverbX+18: rvb[0].IN_COEF_R=(short)val;      break;
+    //-------------------------------------------------//
+    case PS2_C1_Reverb+0:
+      rvb[1].FB_SRC_A=(((unsigned long)val&0xf)<<16)|(rvb[1].FB_SRC_A&0xFFFF);
+      break;
+    case PS2_C1_Reverb+2:
+      rvb[1].FB_SRC_A=(rvb[1].FB_SRC_A & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C1_Reverb+4:
+      rvb[1].FB_SRC_B=(((unsigned long)val&0xf)<<16)|(rvb[1].FB_SRC_B&0xFFFF);
+      break;
+    case PS2_C1_Reverb+6:
+      rvb[1].FB_SRC_B=(rvb[1].FB_SRC_B & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C1_Reverb+8:
+      rvb[1].IIR_DEST_A0=(((unsigned long)val&0xf)<<16)|(rvb[1].IIR_DEST_A0&0xFFFF);
+      break;
+    case PS2_C1_Reverb+10:
+      rvb[1].IIR_DEST_A0=(rvb[1].IIR_DEST_A0 & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C1_Reverb+12:
+      rvb[1].IIR_DEST_A1=(((unsigned long)val&0xf)<<16)|(rvb[1].IIR_DEST_A1&0xFFFF);
+      break;
+    case PS2_C1_Reverb+14:
+      rvb[1].IIR_DEST_A1=(rvb[1].IIR_DEST_A1 & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C1_Reverb+16:
+      rvb[1].ACC_SRC_A0=(((unsigned long)val&0xf)<<16)|(rvb[1].ACC_SRC_A0&0xFFFF);
+      break;
+    case PS2_C1_Reverb+18:
+      rvb[1].ACC_SRC_A0=(rvb[1].ACC_SRC_A0 & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C1_Reverb+20:
+      rvb[1].ACC_SRC_A1=(((unsigned long)val&0xf)<<16)|(rvb[1].ACC_SRC_A1&0xFFFF);
+      break;
+    case PS2_C1_Reverb+22:
+      rvb[1].ACC_SRC_A1=(rvb[1].ACC_SRC_A1 & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C1_Reverb+24:
+      rvb[1].ACC_SRC_B0=(((unsigned long)val&0xf)<<16)|(rvb[1].ACC_SRC_B0&0xFFFF);
+      break;
+    case PS2_C1_Reverb+26:
+      rvb[1].ACC_SRC_B0=(rvb[1].ACC_SRC_B0 & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C1_Reverb+28:
+      rvb[1].ACC_SRC_B1=(((unsigned long)val&0xf)<<16)|(rvb[1].ACC_SRC_B1&0xFFFF);
+      break;
+    case PS2_C1_Reverb+30:
+      rvb[1].ACC_SRC_B1=(rvb[1].ACC_SRC_B1 & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C1_Reverb+32:
+      rvb[1].IIR_SRC_A0=(((unsigned long)val&0xf)<<16)|(rvb[1].IIR_SRC_A0&0xFFFF);
+      break;
+    case PS2_C1_Reverb+34:
+      rvb[1].IIR_SRC_A0=(rvb[1].IIR_SRC_A0 & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C1_Reverb+36:
+      rvb[1].IIR_SRC_A1=(((unsigned long)val&0xf)<<16)|(rvb[1].IIR_SRC_A1&0xFFFF);
+      break;
+    case PS2_C1_Reverb+38:
+      rvb[1].IIR_SRC_A1=(rvb[1].IIR_SRC_A1 & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C1_Reverb+40:
+      rvb[1].IIR_DEST_B0=(((unsigned long)val&0xf)<<16)|(rvb[1].IIR_DEST_B0&0xFFFF);
+      break;
+    case PS2_C1_Reverb+42:
+      rvb[1].IIR_DEST_B0=(rvb[1].IIR_DEST_B0 & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C1_Reverb+44:
+      rvb[1].IIR_DEST_B1=(((unsigned long)val&0xf)<<16)|(rvb[1].IIR_DEST_B1&0xFFFF);
+      break;
+    case PS2_C1_Reverb+46:
+      rvb[1].IIR_DEST_B1=(rvb[1].IIR_DEST_B1 & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C1_Reverb+48:
+      rvb[1].ACC_SRC_C0=(((unsigned long)val&0xf)<<16)|(rvb[1].ACC_SRC_C0&0xFFFF);
+      break;
+    case PS2_C1_Reverb+50:
+      rvb[1].ACC_SRC_C0=(rvb[1].ACC_SRC_C0 & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C1_Reverb+52:
+      rvb[1].ACC_SRC_C1=(((unsigned long)val&0xf)<<16)|(rvb[1].ACC_SRC_C1&0xFFFF);
+      break;
+    case PS2_C1_Reverb+54:
+      rvb[1].ACC_SRC_C1=(rvb[1].ACC_SRC_C1 & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C1_Reverb+56:
+      rvb[1].ACC_SRC_D0=(((unsigned long)val&0xf)<<16)|(rvb[1].ACC_SRC_D0&0xFFFF);
+      break;
+    case PS2_C1_Reverb+58:
+      rvb[1].ACC_SRC_D0=(rvb[1].ACC_SRC_D0 & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C1_Reverb+60:
+      rvb[1].ACC_SRC_D1=(((unsigned long)val&0xf)<<16)|(rvb[1].ACC_SRC_D1&0xFFFF);
+      break;
+    case PS2_C1_Reverb+62:
+      rvb[1].ACC_SRC_D1=(rvb[1].ACC_SRC_D1 & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C1_Reverb+64:
+      rvb[1].IIR_SRC_B1=(((unsigned long)val&0xf)<<16)|(rvb[1].IIR_SRC_B1&0xFFFF);
+      break;
+    case PS2_C1_Reverb+66:
+      rvb[1].IIR_SRC_B1=(rvb[1].IIR_SRC_B1 & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C1_Reverb+68:
+      rvb[1].IIR_SRC_B0=(((unsigned long)val&0xf)<<16)|(rvb[1].IIR_SRC_B0&0xFFFF);
+      break;
+    case PS2_C1_Reverb+70:
+      rvb[1].IIR_SRC_B0=(rvb[1].IIR_SRC_B0 & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C1_Reverb+72:
+      rvb[1].MIX_DEST_A0=(((unsigned long)val&0xf)<<16)|(rvb[1].MIX_DEST_A0&0xFFFF);
+      break;
+    case PS2_C1_Reverb+74:
+      rvb[1].MIX_DEST_A0=(rvb[1].MIX_DEST_A0 & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C1_Reverb+76:
+      rvb[1].MIX_DEST_A1=(((unsigned long)val&0xf)<<16)|(rvb[1].MIX_DEST_A1&0xFFFF);
+      break;
+    case PS2_C1_Reverb+78:
+      rvb[1].MIX_DEST_A1=(rvb[1].MIX_DEST_A1 & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C1_Reverb+80:
+      rvb[1].MIX_DEST_B0=(((unsigned long)val&0xf)<<16)|(rvb[1].MIX_DEST_B0&0xFFFF);
+      break;
+    case PS2_C1_Reverb+82:
+      rvb[1].MIX_DEST_B0=(rvb[1].MIX_DEST_B0 & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C1_Reverb+84:
+      rvb[1].MIX_DEST_B1=(((unsigned long)val&0xf)<<16)|(rvb[1].MIX_DEST_B1&0xFFFF);
+      break;
+    case PS2_C1_Reverb+86:
+      rvb[1].MIX_DEST_B1=(rvb[1].MIX_DEST_B1 & 0xF0000) | ((val) & 0xFFFF);
+      break;
+    case PS2_C1_ReverbX+0:  rvb[1].IIR_ALPHA=(short)val;      break;
+    case PS2_C1_ReverbX+2:  rvb[1].ACC_COEF_A=(short)val;     break;
+    case PS2_C1_ReverbX+4:  rvb[1].ACC_COEF_B=(short)val;     break;
+    case PS2_C1_ReverbX+6:  rvb[1].ACC_COEF_C=(short)val;     break;
+    case PS2_C1_ReverbX+8:  rvb[1].ACC_COEF_D=(short)val;     break;
+    case PS2_C1_ReverbX+10: rvb[1].IIR_COEF=(short)val;       break;
+    case PS2_C1_ReverbX+12: rvb[1].FB_ALPHA=(short)val;       break;
+    case PS2_C1_ReverbX+14: rvb[1].FB_X=(short)val;           break;
+    case PS2_C1_ReverbX+16: rvb[1].IN_COEF_L=(short)val;      break;
+    case PS2_C1_ReverbX+18: rvb[1].IN_COEF_R=(short)val;      break;
+   }
+
+ iSpuAsyncWait=0;
+
+}
+
+////////////////////////////////////////////////////////////////////////
+// READ REGISTER: called by main emu
+////////////////////////////////////////////////////////////////////////
+
+EXPORT_GCC unsigned short CALLBACK SPU2read(unsigned long reg)
+{
+ long r=reg&0xffff;
+
+#ifdef _WINDOWS
+// if(iDebugMode==1) logprintf("R_REG %X\r\n",reg&0xFFFF);
+#endif
+
+ iSpuAsyncWait=0;
+
+ if((r>=0x0000 && r<0x0180)||(r>=0x0400 && r<0x0580))  // some channel info?
+  {
+   switch(r&0x0f)
+    {
+     //------------------------------------------------// env value
+     case 10:                                           
+      {
+       int ch=(r>>4)&0x1f;
+       if(r>=0x400) ch+=24;
+       if(s_chan[ch].bNew) return 1;                   // we are started, but not processed? return 1
+       if(s_chan[ch].ADSRX.lVolume &&                  // same here... we haven't decoded one sample yet, so no envelope yet. return 1 as well
+          !s_chan[ch].ADSRX.EnvelopeVol)                   
+        return 1;
+       return (unsigned short)(s_chan[ch].ADSRX.EnvelopeVol>>16);
+      }break;
+    }
+  }
+
+ if((r>=0x01c0 && r<0x02E0)||(r>=0x05c0 && r<0x06E0))  // some channel info?
+  {
+   int ch=0;unsigned long rx=r;
+   if(rx>=0x400) {ch=24;rx-=0x400;}
+        
+   ch+=(rx-0x1c0)/12;
+   rx-=(ch%24)*12;
+   
+   switch(rx)
+    {
+     //------------------------------------------------//
+     case 0x1C4:
+      return (((s_chan[ch].pLoop-spuMemC)>>17)&0xF);
+      break;
+     case 0x1C6:
+      return (((s_chan[ch].pLoop-spuMemC)>>1)&0xFFFF);
+      break;
+     //------------------------------------------------//
+     case 0x1C8:
+      return (((s_chan[ch].pCurr-spuMemC)>>17)&0xF);
+      break;
+     case 0x1CA:
+      return (((s_chan[ch].pCurr-spuMemC)>>1)&0xFFFF);
+      break;
+     //------------------------------------------------//
+    }
+  }
+
+ switch(r)
+  {
+   //--------------------------------------------------//
+   case PS2_C0_SPUend1:
+     return (unsigned short)((dwEndChannel2[0]&0xFFFF));
+   case PS2_C0_SPUend2:
+     return (unsigned short)((dwEndChannel2[0]>>16));
+   //--------------------------------------------------//
+   case PS2_C1_SPUend1:
+     return (unsigned short)((dwEndChannel2[1]&0xFFFF));
+   case PS2_C1_SPUend2:
+     return (unsigned short)((dwEndChannel2[1]>>16));
+   //--------------------------------------------------//
+   case PS2_C0_ATTR:
+     return spuCtrl2[0];
+     break;
+   //--------------------------------------------------//
+   case PS2_C1_ATTR:
+     return spuCtrl2[1];
+     break;
+   //--------------------------------------------------//
+   case PS2_C0_SPUstat:
+     return spuStat2[0];
+     break;
+   //--------------------------------------------------//
+   case PS2_C1_SPUstat:
+     return spuStat2[1];
+     break;
+   //--------------------------------------------------//
+   case PS2_C0_SPUdata:
+     {
+      unsigned short s=spuMem[spuAddr2[0]];
+      spuAddr2[0]++;
+      if(spuAddr2[0]>0xfffff) spuAddr2[0]=0;
+      return s;
+     }
+   //--------------------------------------------------//
+   case PS2_C1_SPUdata:
+     {
+      unsigned short s=spuMem[spuAddr2[1]];
+      spuAddr2[1]++;
+      if(spuAddr2[1]>0xfffff) spuAddr2[1]=0;
+      return s;
+     }
+   //--------------------------------------------------//
+   case PS2_C0_SPUaddr_Hi:
+     return (unsigned short)((spuAddr2[0]>>16)&0xF);
+     break;
+   case PS2_C0_SPUaddr_Lo:
+     return (unsigned short)((spuAddr2[0]&0xFFFF));
+     break;
+   //--------------------------------------------------//
+   case PS2_C1_SPUaddr_Hi:
+     return (unsigned short)((spuAddr2[1]>>16)&0xF);
+     break;
+   case PS2_C1_SPUaddr_Lo:
+     return (unsigned short)((spuAddr2[1]&0xFFFF));
+     break;
+   //--------------------------------------------------//
+  }
+
+ return regArea[r>>1];
+}
+
+EXPORT_GCC void CALLBACK SPU2writePS1Port(unsigned long reg, unsigned short val)
+{
+ const u32 r=reg&0xfff;
+
+ if(r>=0xc00 && r<0xd80)	// channel info
+ {
+ 	SPU2write(r-0xc00, val);
+ 	return;
+ }
+
+ switch(r)
+   {
+    //-------------------------------------------------//
+    case H_SPUaddr:
+      spuAddr2[0] = (u32) val<<2;
+      break;
+    //-------------------------------------------------//
+    case H_SPUdata:
+      spuMem[spuAddr2[0]] = BFLIP16(val);
+      spuAddr2[0]++;
+      if(spuAddr2[0]>0xfffff) spuAddr2[0]=0;
+      break;
+    //-------------------------------------------------//
+    case H_SPUctrl:
+//      spuCtrl=val;
+      break;
+    //-------------------------------------------------//
+    case H_SPUstat:
+      spuStat2[0]=val & 0xf800;
+      break;
+    //-------------------------------------------------//
+    case H_SPUReverbAddr:
+      spuRvbAddr2[0] = val;
+      SetReverbAddr(0);
+      break;
+    //-------------------------------------------------//
+    case H_SPUirqAddr:
+      spuIrq2[0] = val<<2;
+      pSpuIrq[0]=spuMemC+((u32) val<<1);
+      break;
+    //-------------------------------------------------//
+    /* Volume settings appear to be at least 15-bit unsigned in this case.  
+       Definitely NOT 15-bit signed.  Probably 16-bit signed, so s16 type cast.
+       Check out "Chrono Cross:  Shadow's End Forest"
+    */
+    case H_SPUrvolL:
+      rvb[0].VolLeft=(s16)val;
+      //printf("%d\n",val);
+      break;
+    //-------------------------------------------------//
+    case H_SPUrvolR:
+      rvb[0].VolRight=(s16)val;
+      //printf("%d\n",val);
+      break;
+    //-------------------------------------------------//
+
+/*
+    case H_ExtLeft:
+     //auxprintf("EL %d\n",val);
+      break;
+    //-------------------------------------------------//
+    case H_ExtRight:
+     //auxprintf("ER %d\n",val);
+      break;
+    //-------------------------------------------------//
+    case H_SPUmvolL:
+     //auxprintf("ML %d\n",val);
+      break;
+    //-------------------------------------------------//
+    case H_SPUmvolR:
+     //auxprintf("MR %d\n",val);
+      break;
+    //-------------------------------------------------//
+    case H_SPUMute1:
+     //printf("M0 %04x\n",val);
+      break;
+    //-------------------------------------------------//
+    case H_SPUMute2:
+    // printf("M1 %04x\n",val);
+      break;
+*/
+    //-------------------------------------------------//
+    case H_SPUon1:
+      SoundOn(0,16,val);
+      break;
+    //-------------------------------------------------//
+     case H_SPUon2:
+      //printf("Boop: %08x: %04x\n",reg,val);
+      SoundOn(16,24,val);
+      break;
+    //-------------------------------------------------//
+    case H_SPUoff1:
+      SoundOff(0,16,val);
+      break;
+    //-------------------------------------------------//
+    case H_SPUoff2:
+      SoundOff(16,24,val);
+	// printf("Boop: %08x: %04x\n",reg,val);
+      break;
+    //-------------------------------------------------//
+    case H_FMod1:
+      FModOn(0,16,val);
+      break;
+    //-------------------------------------------------//
+    case H_FMod2:
+      FModOn(16,24,val);
+      break;
+    //-------------------------------------------------//
+    case H_Noise1:
+      NoiseOn(0,16,val);
+      break;
+    //-------------------------------------------------//
+    case H_Noise2:
+      NoiseOn(16,24,val);
+      break;
+    //-------------------------------------------------//
+    case H_RVBon1:
+      ReverbOn(0,16,val,0);
+      break;
+
+    //-------------------------------------------------//
+    case H_RVBon2:
+      ReverbOn(16,24,val,0);
+      break;
+
+    //-------------------------------------------------//
+    case H_Reverb+0:
+      rvb[0].FB_SRC_A=val;
+      break;
+
+    case H_Reverb+2   : rvb[0].FB_SRC_B=(s16)val;       break;
+    case H_Reverb+4   : rvb[0].IIR_ALPHA=(s16)val;      break;
+    case H_Reverb+6   : rvb[0].ACC_COEF_A=(s16)val;     break;
+    case H_Reverb+8   : rvb[0].ACC_COEF_B=(s16)val;     break;
+    case H_Reverb+10  : rvb[0].ACC_COEF_C=(s16)val;     break;
+    case H_Reverb+12  : rvb[0].ACC_COEF_D=(s16)val;     break;
+    case H_Reverb+14  : rvb[0].IIR_COEF=(s16)val;       break;
+    case H_Reverb+16  : rvb[0].FB_ALPHA=(s16)val;       break;
+    case H_Reverb+18  : rvb[0].FB_X=(s16)val;           break;
+    case H_Reverb+20  : rvb[0].IIR_DEST_A0=(s16)val;    break;
+    case H_Reverb+22  : rvb[0].IIR_DEST_A1=(s16)val;    break;
+    case H_Reverb+24  : rvb[0].ACC_SRC_A0=(s16)val;     break;
+    case H_Reverb+26  : rvb[0].ACC_SRC_A1=(s16)val;     break;
+    case H_Reverb+28  : rvb[0].ACC_SRC_B0=(s16)val;     break;
+    case H_Reverb+30  : rvb[0].ACC_SRC_B1=(s16)val;     break;
+    case H_Reverb+32  : rvb[0].IIR_SRC_A0=(s16)val;     break;
+    case H_Reverb+34  : rvb[0].IIR_SRC_A1=(s16)val;     break;
+    case H_Reverb+36  : rvb[0].IIR_DEST_B0=(s16)val;    break;
+    case H_Reverb+38  : rvb[0].IIR_DEST_B1=(s16)val;    break;
+    case H_Reverb+40  : rvb[0].ACC_SRC_C0=(s16)val;     break;
+    case H_Reverb+42  : rvb[0].ACC_SRC_C1=(s16)val;     break;
+    case H_Reverb+44  : rvb[0].ACC_SRC_D0=(s16)val;     break;
+    case H_Reverb+46  : rvb[0].ACC_SRC_D1=(s16)val;     break;
+    case H_Reverb+48  : rvb[0].IIR_SRC_B1=(s16)val;     break;
+    case H_Reverb+50  : rvb[0].IIR_SRC_B0=(s16)val;     break;
+    case H_Reverb+52  : rvb[0].MIX_DEST_A0=(s16)val;    break;
+    case H_Reverb+54  : rvb[0].MIX_DEST_A1=(s16)val;    break;
+    case H_Reverb+56  : rvb[0].MIX_DEST_B0=(s16)val;    break;
+    case H_Reverb+58  : rvb[0].MIX_DEST_B1=(s16)val;    break;
+    case H_Reverb+60  : rvb[0].IN_COEF_L=(s16)val;      break;
+    case H_Reverb+62  : rvb[0].IN_COEF_R=(s16)val;      break;
+   }
+}
+
+EXPORT_GCC unsigned short CALLBACK SPU2readPS1Port(unsigned long reg)
+{
+ const u32 r=reg&0xfff;
+
+ if(r>=0x0c00 && r<0x0d80)
+  {
+  	return SPU2read(r-0xc00);
+  }
+
+ switch(r)
+  {
+//    case H_SPUctrl:
+//     return spuCtrl;
+     break;
+
+    case H_SPUstat:
+     return spuStat2[0];
+     break;
+        
+    case H_SPUaddr:
+     return (u16)(spuAddr2[0]>>2);
+     break;
+
+    case H_SPUdata:
+     {
+      u16 s=BFLIP16(spuMem[spuAddr2[0]]);
+      spuAddr2[0]++;
+      if(spuAddr2[0]>0xfffff) spuAddr2[0]=0;
+      return s;
+     }
+     break;
+
+    case H_SPUirqAddr:
+     return spuIrq2[0]>>2;
+     break;
+  }
+
+  return 0;
+}
+
+////////////////////////////////////////////////////////////////////////
+// SOUND ON register write
+////////////////////////////////////////////////////////////////////////
+
+void SoundOn(int start,int end,unsigned short val)     // SOUND ON PSX COMAND
+{
+ int ch;
+
+ for(ch=start;ch<end;ch++,val>>=1)                     // loop channels
+  {
+   if((val&1) && s_chan[ch].pStart)                    // mmm... start has to be set before key on !?!
+    {
+     s_chan[ch].bIgnoreLoop=0;
+     s_chan[ch].bNew=1;
+     dwNewChannel2[ch/24]|=(1<<(ch%24));               // bitfield for faster testing
+    }
+  }
+}
+
+////////////////////////////////////////////////////////////////////////
+// SOUND OFF register write
+////////////////////////////////////////////////////////////////////////
+
+void SoundOff(int start,int end,unsigned short val)    // SOUND OFF PSX COMMAND
+{
+ int ch;
+ for(ch=start;ch<end;ch++,val>>=1)                     // loop channels
+  {
+   if(val&1)                                           // && s_chan[i].bOn)  mmm...
+    {
+     s_chan[ch].bStop=1;
+    }                                                  
+  }
+}
+
+////////////////////////////////////////////////////////////////////////
+// FMOD register write
+////////////////////////////////////////////////////////////////////////
+
+void FModOn(int start,int end,unsigned short val)      // FMOD ON PSX COMMAND
+{
+ int ch;
+
+ for(ch=start;ch<end;ch++,val>>=1)                     // loop channels
+  {
+   if(val&1)                                           // -> fmod on/off
+    {
+     if(ch>0) 
+      {
+       s_chan[ch].bFMod=1;                             // --> sound channel
+       s_chan[ch-1].bFMod=2;                           // --> freq channel
+      }
+    }
+   else
+    {
+     s_chan[ch].bFMod=0;                               // --> turn off fmod
+    }
+  }
+}
+
+////////////////////////////////////////////////////////////////////////
+// NOISE register write
+////////////////////////////////////////////////////////////////////////
+
+void NoiseOn(int start,int end,unsigned short val)     // NOISE ON PSX COMMAND
+{
+ int ch;
+
+ for(ch=start;ch<end;ch++,val>>=1)                     // loop channels
+  {
+   if(val&1)                                           // -> noise on/off
+    {
+     s_chan[ch].bNoise=1;
+    }
+   else 
+    {
+     s_chan[ch].bNoise=0;
+    }
+  }
+}
+
+////////////////////////////////////////////////////////////////////////
+// LEFT VOLUME register write
+////////////////////////////////////////////////////////////////////////
+
+// please note: sweep and phase invert are wrong... but I've never seen
+// them used
+
+void SetVolumeL(unsigned char ch,short vol)            // LEFT VOLUME
+{
+ s_chan[ch].iLeftVolRaw=vol;
+
+ if(vol&0x8000)                                        // sweep?
+  {
+   short sInc=1;                                       // -> sweep up?
+   if(vol&0x2000) sInc=-1;                             // -> or down?
+   if(vol&0x1000) vol^=0xffff;                         // -> mmm... phase inverted? have to investigate this
+   vol=((vol&0x7f)+1)/2;                               // -> sweep: 0..127 -> 0..64
+   vol+=vol/(2*sInc);                                  // -> HACK: we don't sweep right now, so we just raise/lower the volume by the half!
+   vol*=128;
+  }
+ else                                                  // no sweep:
+  {
+   if(vol&0x4000)                                      // -> mmm... phase inverted? have to investigate this
+    //vol^=0xffff;
+    vol=0x3fff-(vol&0x3fff);
+  }
+
+ vol&=0x3fff;
+ s_chan[ch].iLeftVolume=vol;                           // store volume
+}
+
+////////////////////////////////////////////////////////////////////////
+// RIGHT VOLUME register write
+////////////////////////////////////////////////////////////////////////
+
+void SetVolumeR(unsigned char ch,short vol)            // RIGHT VOLUME
+{
+ s_chan[ch].iRightVolRaw=vol;
+
+ if(vol&0x8000)                                        // comments... see above :)
+  {
+   short sInc=1;
+   if(vol&0x2000) sInc=-1;
+   if(vol&0x1000) vol^=0xffff;
+   vol=((vol&0x7f)+1)/2;        
+   vol+=vol/(2*sInc);
+   vol*=128;
+  }
+ else            
+  {
+   if(vol&0x4000) //vol=vol^=0xffff;
+    vol=0x3fff-(vol&0x3fff);
+  }
+
+ vol&=0x3fff;
+ s_chan[ch].iRightVolume=vol;
+}
+
+////////////////////////////////////////////////////////////////////////
+// PITCH register write
+////////////////////////////////////////////////////////////////////////
+
+void SetPitch(int ch,unsigned short val)               // SET PITCH
+{
+ int NP;
+ double intr;
+
+ if(val>0x3fff) NP=0x3fff;                             // get pitch val
+ else           NP=val;
+
+ intr = (double)48000.0f / (double)44100.0f * (double)NP;
+ NP = (UINT32)intr;
+
+ s_chan[ch].iRawPitch=NP;
+
+ NP=(44100L*NP)/4096L;                                 // calc frequency
+
+ if(NP<1) NP=1;                                        // some security
+ s_chan[ch].iActFreq=NP;                               // store frequency
+}
+
+////////////////////////////////////////////////////////////////////////
+// REVERB register write
+////////////////////////////////////////////////////////////////////////
+
+void ReverbOn(int start,int end,unsigned short val,int iRight)  // REVERB ON PSX COMMAND
+{
+ int ch;
+
+ for(ch=start;ch<end;ch++,val>>=1)                     // loop channels
+  {
+   if(val&1)                                           // -> reverb on/off
+    {
+     if(iRight) s_chan[ch].bReverbR=1;
+     else       s_chan[ch].bReverbL=1;
+    }
+   else 
+    {
+     if(iRight) s_chan[ch].bReverbR=0;
+     else       s_chan[ch].bReverbL=0;
+    }
+  }
+}
+
+////////////////////////////////////////////////////////////////////////
+// REVERB START register write
+////////////////////////////////////////////////////////////////////////
+
+void SetReverbAddr(int core)
+{
+ long val=spuRvbAddr2[core];
+ 
+ if(rvb[core].StartAddr!=val)
+  {
+   if(val<=0x27ff)
+    {
+     rvb[core].StartAddr=rvb[core].CurrAddr=0;
+    }
+   else
+    {
+     rvb[core].StartAddr=val;
+     rvb[core].CurrAddr=rvb[core].StartAddr;
+    } 
+  }
+}
+
+////////////////////////////////////////////////////////////////////////
+// DRY LEFT/RIGHT per voice switches
+////////////////////////////////////////////////////////////////////////
+
+void VolumeOn(int start,int end,unsigned short val,int iRight)  // VOLUME ON PSX COMMAND
+{
+ int ch;
+
+ for(ch=start;ch<end;ch++,val>>=1)                     // loop channels
+  {
+   if(val&1)                                           // -> reverb on/off
+    {
+     if(iRight) s_chan[ch].bVolumeR=1;
+     else       s_chan[ch].bVolumeL=1;
+    }
+   else 
+    {
+     if(iRight) s_chan[ch].bVolumeR=0;
+     else       s_chan[ch].bVolumeL=0;
+    }
+  }
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/peops2/registers.h	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,845 @@
+/***************************************************************************
+                         registers.h  -  description
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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; either version 2 of the License, or     *
+ *   (at your option) any later version. See also the license.txt file for *
+ *   additional informations.                                              *
+ *                                                                         *
+ ***************************************************************************/
+
+//*************************************************************************//
+// History of changes:
+//
+// 2004/04/04 - Pete
+// - generic cleanup for the Peops release... register values by Kanodin &
+//   his team
+//
+//*************************************************************************//
+
+//###########################################################################
+
+#define PS2_C0_SPUaddr_Hi    (0x000 + 0x1A8)
+#define PS2_C0_SPUaddr_Lo    (0x000 + 0x1AA)
+#define PS2_C1_SPUaddr_Hi    (0x400 + 0x1A8)
+#define PS2_C1_SPUaddr_Lo    (0x400 + 0x1AA)
+#define PS2_C0_SPUdata       (0x000 + 0x1AC)
+#define PS2_C1_SPUdata       (0x400 + 0x1AC)
+
+#define PS2_C0_SPUDMActrl    (0x000 + 0x1AE)
+#define PS2_C1_SPUDMActrl    (0x400 + 0x1AE)
+
+#define PS2_C0_SPUstat       (0x000 + 0x344)
+#define PS2_C1_SPUstat       (0x400 + 0x344)
+#define PS2_C0_ReverbAddr_Hi (0x000 + 0x2E0)
+#define PS2_C0_ReverbAddr_Lo (0x000 + 0x2E2)
+#define PS2_C1_ReverbAddr_Hi (0x400 + 0x2E0)
+#define PS2_C1_ReverbAddr_Lo (0x400 + 0x2E2)
+
+#define PS2_C0_ReverbAEnd_Hi (0x000 + 0x33C)
+#define PS2_C0_ReverbAEnd_Lo (0x000 + 0x33E)
+#define PS2_C1_ReverbAEnd_Hi (0x400 + 0x33C)
+#define PS2_C1_ReverbAEnd_Lo (0x400 + 0x33E)
+
+#define PS2_C0_DryL1         (0x000 + 0x188)
+#define PS2_C1_DryL1         (0x400 + 0x188)
+#define PS2_C0_DryL2         (0x000 + 0x18A)
+#define PS2_C1_DryL2         (0x400 + 0x18A)
+
+#define PS2_C0_DryR1         (0x000 + 0x190)
+#define PS2_C1_DryR1         (0x400 + 0x190)
+#define PS2_C0_DryR2         (0x000 + 0x192)
+#define PS2_C1_DryR2         (0x400 + 0x192)
+
+#define PS2_C0_ATTR          (0x000 + 0x19A)
+#define PS2_C1_ATTR          (0x400 + 0x19A)
+#define PS2_C0_ADMAS         (0x000 + 0x1B0)
+#define PS2_C1_ADMAS         (0x400 + 0x1B0)
+
+#define PS2_C0_SPUirqAddr_Hi (0x000 + 0x19C)
+#define PS2_C0_SPUirqAddr_Lo (0x000 + 0x19D)
+#define PS2_C1_SPUirqAddr_Hi (0x400 + 0x19C)
+#define PS2_C1_SPUirqAddr_Lo (0x400 + 0x19D)
+#define PS2_C0_SPUrvolL      (0x000 + 0x764)
+#define PS2_C0_SPUrvolR      (0x000 + 0x766)
+#define PS2_C1_SPUrvolL      (0x028 + 0x764)
+#define PS2_C1_SPUrvolR      (0x028 + 0x766)
+#define PS2_C0_SPUon1        (0x000 + 0x1A0)
+#define PS2_C0_SPUon2        (0x000 + 0x1A2)
+#define PS2_C1_SPUon1        (0x400 + 0x1A0)
+#define PS2_C1_SPUon2        (0x400 + 0x1A2)
+#define PS2_C0_SPUoff1       (0x000 + 0x1A4)
+#define PS2_C0_SPUoff2       (0x000 + 0x1A6)
+#define PS2_C1_SPUoff1       (0x400 + 0x1A4)
+#define PS2_C1_SPUoff2       (0x400 + 0x1A6)
+#define PS2_C0_FMod1         (0x000 + 0x180)
+#define PS2_C0_FMod2         (0x000 + 0x182)
+#define PS2_C1_FMod1         (0x400 + 0x180)
+#define PS2_C1_FMod2         (0x400 + 0x182)
+#define PS2_C0_Noise1        (0x000 + 0x184)
+#define PS2_C0_Noise2        (0x000 + 0x186)
+#define PS2_C1_Noise1        (0x400 + 0x184)
+#define PS2_C1_Noise2        (0x400 + 0x186)
+
+#define PS2_C0_RVBon1_L      (0x000 + 0x18C)
+#define PS2_C0_RVBon2_L      (0x000 + 0x18E)
+#define PS2_C0_RVBon1_R      (0x000 + 0x194)
+#define PS2_C0_RVBon2_R      (0x000 + 0x196)
+
+#define PS2_C1_RVBon1_L      (0x400 + 0x18C)
+#define PS2_C1_RVBon2_L      (0x400 + 0x18E)
+#define PS2_C1_RVBon1_R      (0x400 + 0x194)
+#define PS2_C1_RVBon2_R      (0x400 + 0x196)
+#define PS2_C0_Reverb        (0x000 + 0x2E4)
+#define PS2_C1_Reverb        (0x400 + 0x2E4)
+#define PS2_C0_ReverbX       (0x000 + 0x774)
+#define PS2_C1_ReverbX       (0x028 + 0x774)
+#define PS2_C0_SPUend1       (0x000 + 0x340)
+#define PS2_C0_SPUend2       (0x000 + 0x342)
+#define PS2_C1_SPUend1       (0x400 + 0x340)
+#define PS2_C1_SPUend2       (0x400 + 0x342)
+
+#define H_SPUReverbAddr  0x0da2
+   
+#define H_SPUirqAddr     0x0da4
+   
+#define H_SPUaddr        0x0da6
+   
+#define H_SPUdata        0x0da8
+   
+#define H_SPUctrl        0x0daa
+   
+#define H_SPUstat        0x0dae
+   
+#define H_SPUmvolL       0x0d80
+   
+#define H_SPUmvolR       0x0d82
+   
+#define H_SPUrvolL       0x0d84
+   
+#define H_SPUrvolR       0x0d86
+   
+#define H_SPUon1         0x0d88
+   
+#define H_SPUon2         0x0d8a
+   
+#define H_SPUoff1        0x0d8c
+   
+#define H_SPUoff2        0x0d8e
+   
+#define H_FMod1          0x0d90
+   
+#define H_FMod2          0x0d92
+   
+#define H_Noise1         0x0d94
+   
+#define H_Noise2         0x0d96
+   
+#define H_RVBon1         0x0d98
+   
+#define H_RVBon2         0x0d9a
+#define H_SPUMute1       0x0d9c
+#define H_SPUMute2       0x0d9e
+#define H_CDLeft         0x0db0
+#define H_CDRight        0x0db2
+#define H_ExtLeft        0x0db4
+#define H_ExtRight       0x0db6
+#define H_Reverb         0x0dc0
+
+
+//###########################################################################
+
+/*
+ Included the info received in Regs.txt list by Neill Corlett - Kanodin
+
+ Voice parameters:
+ SD_VP_VOLL, SD_VP_VOLR   - Volume left/right per voice.  Assuming identical to PS1.
+ SD_VP_PITCH              - Pitch scaler 0000-3FFF. Assuming identical to PS1.
+ SD_VP_ADSR1, SD_VP_ADSR1 - Envelope data. Bitfields are documented as identical to PS1.
+ SD_VP_ENVX               - Current envelope value. Assuming identical to PS1.
+ SD_VP_VOLXL, SD_VP_VOLXR - Current voice volume left/right. Does not exist on the PS1.
+                            Guessing that this is handy for the increase/decrease modes.
+
+ Voice addresses:
+
+ SD_VA_SSA                - Sample start address; assuming identical to PS1
+ SD_VA_LSAX               - Loop start address; assuming identical to PS1
+ SD_VA_NAX                - Seems to be documented as the current playing address.
+                            Does not exist on PS1.
+
+ Switches:
+
+ SD_S_PMON                - Pitch mod; assuming identical to PS1
+ SD_S_NON                 - Noise; assuming identical to PS1
+ SD_S_VMIXL, SD_S_VMIXR   - Voice mix L/R. Guessing this is just a separate L/R version 
+                            of the "voice enable" bits on the PS1.
+ SD_S_VMIXEL, SD_S_VMIXER - Voice effect mix L/R. Guessing this is just a separate L/R
+                            version of the "voice reverb enable" bits on the PS1.
+ SD_S_KON, SD_S_KOFF      - Key on/off; assuming identical to PS1
+
+
+ Addresses:
+
+ SD_A_TSA                 - Transfer start address; assuming identical to PS1
+ SD_A_ESA                 - Effect start address - this is probably analogous to the
+                            PS1's reverb work area start address
+ SD_A_EEA                 - Effect end address - this would've been fixed to 0x7FFFF on
+                            the PS1; settable in 128K increments on the PS2.
+ SD_A_IRQA                - IRQ address; assuming identical to PS1
+
+ Volume parameters:
+
+ SD_P_MVOLL, SD_P_MVOLR   - Master volume L/R; assuming identical to PS1
+ SD_P_EVOLL, SD_P_EVOLR   - Effect volume L/R; assuming analogous to RVOL on the PS1
+ SD_P_AVOLL, SD_P_AVOLR   - External input volume L/R
+                            This is probably where CORE0 connects to CORE1
+ SD_P_BVOLL, SD_P_BVOLR   - Sound data input volume - perhaps this is the volume of
+                            the raw PCM auto-DMA input? analogous to CD input volume?
+ SD_P_MVOLXL, SD_P_MVOLXR - Current master volume L/R; seems self-explanatory
+
+ SD_P_MMIX                - Mixer / effect enable bits.
+                             bit 11 = MSNDL  = voice output dry L
+                                 10 = MSNDR  = voice output dry R
+                                  9 = MSNDEL = voice output wet L
+                                  8 = MSNDER = voice output wet R
+                                  7 = MINL   = sound data input dry L
+                                  6 = MINR   = sound data input dry R
+                                  5 = MINEL  = sound data input wet L
+                                  4 = MINER  = sound data input wet R
+                                  3 = SINL   = core external input dry L
+                                  2 = SINR   = core external input dry R
+                                  1 = SINEL  = core external input wet L
+                                  0 = SINER  = core external input wet R
+
+Core attributes (SD_C)
+
+    bit 4..5      - DMA related
+    bit 6         - IRQ enable
+    bit 7         - effect enable (reverb enable)
+    bit 13..8     - noise clock
+    bit 14        - mute
+
+ - if you READ the two DMA related bits, if either are set, the channel is
+   considered "busy" by sceSdVoiceTrans
+
+
+
+Reverb parameters:
+
+  Same as PS1 reverb (I used the names from my reverb doc).
+
+
+Other PS2 IOP notes
+
+ There's two DMA controllers:
+ The original one at 1F801080-1F8010FF (channels 0-6)
+ A new one at        1F801500-1F80157F (channels 7-13)
+
+ They appear to function the same way - 7 channels each.
+
+ SPU CORE0's DMA channel is 4 as per usual
+ SPU CORE1's DMA channel is 7
+
+DMA channel 10 is SIF
+ 
+ Original INTR controller at 1F801000-1F80107F
+
+ All interrupt handling seems to be done using the old INTR, but
+ with some new bits defined:
+
+
+
+ Reading from 1F801078 masks interrupts and returns 1 if they weren't
+ masked before.  Writing 1 to 1F801078 re-enables interrupts.
+ Writing 0 doesn't.  Maybe it was like that on the original PS1 too.
+
+Six root counters:
+
+ RTC#   address      sources           size     prescale     interrupt#
+0      0x1F801100   sysclock,pixel    16 bit   1 only       4
+1      0x1F801110   sysclock,hline    16 bit   1 only       5
+2      0x1F801120   sysclock          16 bit   1,8          6
+3      0x1F801480   sysclock,hline    32 bit   1 only       14
+4      0x1F801490   sysclock          32 bit   1,8,16,256   15
+5      0x1F8014A0   sysclock          32 bit   1,8,16,256   16
+
+Count (0x0) and Compare (0x8) registers work as before, only with more bits
+in the new counters.
+
+Mode (0x4) works like this when written:
+
+  bits 0..2    gate
+  bit  3       reset on target
+  bit  4       target interrupt enable
+  bit  5       overflow interrupt enable
+  bit  6       master enable (?)
+  bit  7       ?
+  bit  8       clock select
+  bit  9       prescale (OLD)
+  bit  10..12  ?
+  bit  13..14  prescale (NEW)
+  bit  15      ? always set to 1
+
+Gate:
+   TM_NO_GATE                   000
+   TM_GATE_ON_Count             001
+   TM_GATE_ON_ClearStart        011
+   TM_GATE_ON_Clear_OFF_Start   101
+   TM_GATE_ON_Start             111
+
+   V-blank  ----+    +----------------------------+    +------
+                |    |                            |    |
+                |    |                            |    |
+                +----+                            +----+
+ TM_NO_GATE:
+
+                0================================>============
+
+ TM_GATE_ON_Count:
+
+                <---->0==========================><---->0=====
+
+ TM_GATE_ON_ClearStart:
+
+                0====>0================================>0=====
+
+ TM_GATE_ON_Clear_OFF_Start:
+
+                0====><-------------------------->0====><-----
+
+ TM_GATE_ON_Start:
+
+                <---->0==========================>============
+
+  reset on target: if set, counter resets to 0 when Compare value is reached
+
+  target interrupt enable: if set, interrupt when Compare value is reached
+  overflow interrupt enable: if set, interrupt when counter overflows
+
+  master enable: if this bit is clear, the timer should do nothing.
+
+  clock select: for counters 0, 1, and 3, setting this will select the alternate
+  counter (pixel or hline)
+
+  prescale (OLD): for counter 2 only. set this to prescale (divide) by 8.
+
+  prescale (NEW): for counters 4 and 5 only:
+
+  00 = prescale by 1
+  01 = prescale by 8
+  10 = prescale by 16
+  11 = prescale by 256
+
+Writing 0x4 also clears the counter. (I think.)
+
+When 0x4 is read, it becomes Status:
+
+  bit  0..10   ?
+  bit  11      compare value was reached
+  bit  12      count overflowed
+  bit  13..15  ?
+
+Reading probably clears these bits.
+
+
+
+ 1F8014B0 (word) - timer-related but otherwise unknown
+ 1F8014C0 (word) - timer-related but otherwise unknown
+
+
+ don't currently know how the interrupts work for DMA ch7 yet
+
+ 1F801060 (word) - address of some kind.
+
+ 1F801450 (word) -
+    if bit 3 is SET, we're in PS1 mode.
+    if bit 3 is CLEAR, we're in PS2 IOP mode.
+
+ 1F802070 (byte) - unknown. status byte of some kind? visible to EE?
+
+ 1D000000-1D00007F (?) - SIF related
+
+ 1D000020 (word) - read counter of some sort?
+                   sceSifInit waits for bit 0x10000 of this to be set.
+ 1D000030 (word) - read counter of some sort?
+ 1D000040 (word) - read bits 0x20, 0x40 mean something
+ 1D000060 (word) - used to detect whether the SIF interface exists
+                   read must be 0x1D000060, or the top 20 bits must be zero 
+*/
+
+/*
+
+// DirectX Audio SPU2 Driver for PCSX2
+// audio.c by J.F. and Kanodin (hooper1@cox.net)
+//
+// Copyright 2003 J.F. and Kanodin, and distributed under the
+// terms of the GNU General Public License, v2 or later.
+// http://www.gnu.org/copyleft/gpl.html.
+
+Included these just in case you need them J.F. - Kanodin
+
+// Core Start Addresses
+#define CORE0 0x1f900000
+#define CORE1 0x1f900400
+
+
+   #define IOP_INT_VBLANK  (1<<0)
+   #define IOP_INT_GM      (1<<1)
+   #define IOP_INT_CDROM   (1<<2)
+   #define IOP_INT_DMA     (1<<3)
+   #define IOP_INT_RTC0    (1<<4)
+   #define IOP_INT_RTC1    (1<<5)
+   #define IOP_INT_RTC2    (1<<6)
+   #define IOP_INT_SIO0    (1<<7)
+   #define IOP_INT_SIO1    (1<<8)
+   #define IOP_INT_SPU     (1<<9)
+   #define IOP_INT_PIO     (1<<10)
+   #define IOP_INT_EVBLANK (1<<11)
+   #define IOP_INT_DVD     (1<<12)
+   #define IOP_INT_PCMCIA  (1<<13)
+   #define IOP_INT_RTC3    (1<<14)
+   #define IOP_INT_RTC4    (1<<15)
+   #define IOP_INT_RTC5    (1<<16)
+   #define IOP_INT_SIO2    (1<<17)
+   #define IOP_INT_HTR0    (1<<18)
+   #define IOP_INT_HTR1    (1<<19)
+   #define IOP_INT_HTR2    (1<<20)
+   #define IOP_INT_HTR3    (1<<21)
+   #define IOP_INT_USB     (1<<22)
+   #define IOP_INT_EXTR    (1<<23)
+   #define IOP_INT_FWRE    (1<<24)
+   #define IOP_INT_FDMA    (1<<25)    
+
+// CORE0 => +0x000, CORE1 => +0x400
+
+// individual voice parameter regs
+
+#define VP_VOLL(cr, vc)  (0x400 * cr + 0x000 + (vc << 4))    // voice volume (left)
+#define VP_VOLR(cr, vc)  (0x400 * cr + 0x002 + (vc << 4))    // voice volume (right)
+#define VP_PITCH(cr, vc) (0x400 * cr + 0x004 + (vc << 4))    // voice pitch
+#define VP_ADSR1(cr, vc) (0x400 * cr + 0x006 + (vc << 4))    // voice envelope (AR, DR, SL)
+#define VP_ADSR2(cr, vc) (0x400 * cr + 0x008 + (vc << 4))    // voice envelope (SR, RR)
+#define VP_ENVX(cr, vc)  (0x400 * cr + 0x00A + (vc << 4))    // voice envelope (current value)
+#define VP_VOLXL(cr, vc) (0x400 * cr + 0x00C + (vc << 4))    // voice volume (current value left)
+#define VP_VOLXR(cr, vc) (0x400 * cr + 0x00E + (vc << 4))    // voice volume (current value right)
+
+#define VA_SSA(cr, vc)   (0x400 * cr + 0x1C0 + (vc * 12))    // voice waveform data start address
+#define VA_LSAX(cr, vc)  (0x400 * cr + 0x1C4 + (vc * 12))    // voice waveform data loop address
+#define VA_NAX(cr, vc)   (0x400 * cr + 0x1C8 + (vc * 12))    // voice waveform data next address
+
+// common settings
+
+#define S_PMON(cr)       (0x400 * cr + 0x180)                // pitch modulation on
+#define S_NON(cr)        (0x400 * cr + 0x184)                // noise generator on
+#define S_VMIXL(cr)      (0x400 * cr + 0x188)                // voice output mixing (dry left)
+#define S_VMIXEL(cr)     (0x400 * cr + 0x18C)                // voice output mixing (wet left)
+#define S_VMIXR(cr)      (0x400 * cr + 0x190)                // voice output mixing (dry right)
+#define S_VMIXER(cr)     (0x400 * cr + 0x194)                // voice output mixing (wet right)
+#define P_MMIX(cr)       (0x400 * cr + 0x198)                // output type after voice mixing (See paragraph below)
+#define P_ATTR(cr)       (0x400 * cr + 0x19A)                // core attributes (See paragraph below)
+#define A_IRQA(cr)       (0x400 * cr + 0x19C)                // IRQ address 
+#define S_KON(cr)        (0x400 * cr + 0x1A0)                // key on (start voice sound generation)
+#define S_KOFF(cr)       (0x400 * cr + 0x1A4)                // key off (end voice sound generation)
+#define A_TSA(cr)        (0x400 * cr + 0x1A8)                // DMA transfer start address
+#define P_DATA(cr)       (0x400 * cr + 0x1AC)                // DMA data register
+#define P_CTRL(cr)       (0x400 * cr + 0x1AE)                // DMA control register
+#define P_ADMAS(cr)      (0x400 * cr + 0x1B0)                // AutoDMA status
+
+#define A_ESA(cr)        (0x400 * cr + 0x2E0)                // effects work area start address
+
+#define FB_SRC_A(cr)     (0x400 * cr + 0x2E4)      
+#define FB_SRC_B(cr)     (0x400 * cr + 0x2E8)      
+#define IIR_DEST_A0(cr)  (0x400 * cr + 0x2EC)      
+#define IIR_DEST_A1(cr)  (0x400 * cr + 0x2F0)      
+#define ACC_SRC_A0(cr)   (0x400 * cr + 0x2F4)     
+#define ACC_SRC_A1(cr)   (0x400 * cr + 0x2F8)
+#define ACC_SRC_B0(cr)   (0x400 * cr + 0x2FC)  
+
+#define ACC_SRC_B1(cr)   (0x400 * cr + 0x300)      
+#define IIR_SRC_A0(cr)   (0x400 * cr + 0x304)      
+#define IIR_SRC_A1(cr)   (0x400 * cr + 0x308)      
+#define IIR_DEST_B0(cr)  (0x400 * cr + 0x30C)      
+#define IIR_DEST_B1(cr)  (0x400 * cr + 0x310)      
+#define ACC_SRC_C0(cr)   (0x400 * cr + 0x314)      
+#define ACC_SRC_C1(cr)   (0x400 * cr + 0x318)  
+
+#define ACC_SRC_D0(cr)   (0x400 * cr + 0x31C)      
+#define ACC_SRC_D1(cr)   (0x400 * cr + 0x320)      
+#define IIR_SRC_B1(cr)   (0x400 * cr + 0x324)      
+#define IIR_SRC_B0(cr)   (0x400 * cr + 0x328)      
+#define MIX_DEST_A0(cr)  (0x400 * cr + 0x32C)      
+#define MIX_DEST_A1(cr)  (0x400 * cr + 0x330)      
+#define MIX_DEST_B0(cr)  (0x400 * cr + 0x334)      
+#define MIX_DEST_B1(cr)  (0x400 * cr + 0x338)      
+
+#define A_EEA(cr)        (0x400 * cr + 0x33C)                // effects work area end address
+
+#define P_ENDX(cr)       (0x400 * cr + 0x340)                // voice loop end status
+#define P_STAT(cr)       (0x400 * cr + 0x344)                // DMA status register
+#define P_ENDS(cr)       (0x400 * cr + 0x346)                // ?
+
+// CORE0 => +0x400, CORE1 => +0x428
+
+#define P_MVOLL(cr)      (0x28 * cr + 0x760)                 // master volume (left)
+#define P_MVOLR(cr)      (0x28 * cr + 0x762)                 // master volume (right)
+#define P_EVOLL(cr)      (0x28 * cr + 0x764)                 // effect return volume (left)
+#define P_EVOLR(cr)      (0x28 * cr + 0x766)                 // effect return volume (right)
+#define P_AVOLL(cr)      (0x28 * cr + 0x768)                 // core external input volume (left)
+#define P_AVOLR(cr)      (0x28 * cr + 0x76A)                 // core external input volume (right)
+#define P_BVOLL(cr)      (0x28 * cr + 0x76C)                 // sound data input volume (left)
+#define P_BVOLR(cr)      (0x28 * cr + 0x76E)                 // sound data input volume (right)
+#define P_MVOLXL(cr)     (0x28 * cr + 0x770)                 // current master volume (left)
+#define P_MVOLXR(cr)     (0x28 * cr + 0x772)                 // current master volume (right)
+
+#define IIR_ALPHA(cr)    (0x28 * cr + 0x774)      
+#define ACC_COEF_A(cr)   (0x28 * cr + 0x776)      
+#define ACC_COEF_B(cr)   (0x28 * cr + 0x778)      
+#define ACC_COEF_C(cr)   (0x28 * cr + 0x77A)      
+#define ACC_COEF_D(cr)   (0x28 * cr + 0x77C)      
+#define IIR_COEF(cr)     (0x28 * cr + 0x77E)      
+#define FB_ALPHA(cr)     (0x28 * cr + 0x780)      
+#define FB_X(cr)         (0x28 * cr + 0x782)      
+#define IN_COEF_L(cr)    (0x28 * cr + 0x784)      
+#define IN_COEF_R(cr)    (0x28 * cr + 0x786)      
+
+// CORE1 only => +0x400
+
+#define SPDIF_OUT        0x7C0                               // SPDIF Out: OFF/'PCM'/Bitstream/Bypass 
+#define SPDIF_MODE       0x7C6
+#define SPDIF_MEDIA      0x7C8                               // SPDIF Media: 'CD'/DVD	
+#define SPDIF_COPY       0x7CA                               // SPDIF Copy Protection
+
+// PS1 SPU CORE
+
+// individual voice settings
+
+#define SPU_VP_PITCH(vc) (0xC04 + (vc << 4))                 // voice pitch
+#define SPU_VA_SSA(vc)   (0xC06 + (vc << 4))                 // voice waveform data start address
+#define SPU_VP_ADSR(vc)  (0xC08 + (vc << 4))                 // voice envelope
+#define SPU_VA_SSA(vc)   (0xC0E + (vc << 4))                 // voice waveform data loop address
+
+// common settings
+
+#define SPU_P_MVOLL      0xD80                               // master volume (left)
+#define SPU_P_MVOLR      0xD82                               // master volume (right)
+#define SPU_P_RVOLL      0xD84                               // effect return volume (left)
+#define SPU_P_RVOLR      0xD86                               // effect return volume (right)
+#define SPU_S_KON1       0xD88                               // key on
+#define SPU_S_KON2       0xD8A                               // 
+#define SPU_S_KOFF1      0xD8C                               // key off
+#define SPU_S_KOFF2      0xD8E                               // 
+#define SPU_S_PMON1      0xD90                               // pitch modulation on
+#define SPU_S_PMON2      0xD92                               // 
+#define SPU_S_NON1       0xD94                               // noise generator on
+#define SPU_S_NON2       0xD96                               // 
+#define SPU_S_RVBON1     0xD98                               // effects on
+#define SPU_S_RVBON2     0xD9A                               // 
+#define SPU_S_MUTE1      0xD9C                               // voice mute
+#define SPU_S_MUTE2      0xD9E                               // 
+
+#define SPU_A_ESA        0xDA2                               // effects work area start
+#define SPU_A_IRQA       0xDA4                               // IRQ address
+#define SPU_A_TSA        0xDA6                               // DMA transfer start address
+#define SPU_P_DATA       0xDA8                               // DMA data register
+#define SPU_P_CTRL       0xDAA                               // DMA control register
+#define SPU_P_STAT       0xDAE                               // DMA status register
+
+#define SPU_P_CDL        0xDB0                               // sound data input volume (left)
+#define SPU_P_CDR        0xDB2                               // sound data input volume (right)
+#define SPU_P_EXTL       0xDB4                               // external input volume (left)
+#define SPU_P_EXTR       0xDB6                               // external input volume (right)
+
+#define SPU_P_REVERB     0xDC0                               // effects control
+
+
+// Individual voice parameter regs CORE 0
+// Only
+
+
+#define VP_VOLL(cr, vc)  (0x400 * cr + 0x000 + (vc << 4))    // voice volume (left)
+#define VP_VOLR(cr, vc)  (0x400 * cr + 0x002 + (vc << 4))    // voice volume (right)
+#define VP_PITCH(cr, vc) (0x400 * cr + 0x004 + (vc << 4))    // voice pitch
+#define VP_ADSR1(cr, vc) (0x400 * cr + 0x006 + (vc << 4))    // voice envelope (AR, DR, SL)
+#define VP_ADSR2(cr, vc) (0x400 * cr + 0x008 + (vc << 4))    // voice envelope (SR, RR)
+#define VP_ENVX(cr, vc)  (0x400 * cr + 0x00A + (vc << 4))    // voice envelope (current value)
+#define VP_VOLXL(cr, vc) (0x400 * cr + 0x00C + (vc << 4))    // voice volume (current value left)
+#define VP_VOLXR(cr, vc) (0x400 * cr + 0x00E + (vc << 4))    // voice volume (current value right)
+
+#define VA_SSA(cr, vc)   (0x400 * cr + 0x1C0 + (vc * 12))    // voice waveform data start address
+#define VA_LSAX(cr, vc)  (0x400 * cr + 0x1C4 + (vc * 12))    // voice waveform data loop address
+#define VA_NAX(cr, vc)   (0x400 * cr + 0x1C8 + (vc * 12))    // voice waveform data next address
+
+
+// CORE 0 Common Settings
+
+
+#define S_PMON(cr)       (0x400 * cr + 0x180)                // pitch modulation on
+#define S_NON(cr)        (0x400 * cr + 0x184)                // noise generator on
+#define S_VMIXL(cr)      (0x400 * cr + 0x188)                // voice output mixing (dry left)
+#define S_VMIXEL(cr)     (0x400 * cr + 0x18C)                // voice output mixing (wet left)
+#define S_VMIXR(cr)      (0x400 * cr + 0x190)                // voice output mixing (dry right)
+#define S_VMIXER(cr)     (0x400 * cr + 0x194)                // voice output mixing (wet right)
+#define P_MMIX(cr)       (0x400 * cr + 0x198)                // output type after voice mixing (See paragraph below)
+#define P_ATTR(cr)       (0x400 * cr + 0x19A)                // core attributes (See paragraph below)
+#define A_IRQA(cr)       (0x400 * cr + 0x19C)                // IRQ address 
+#define S_KON(cr)        (0x400 * cr + 0x1A0)                // key on (start voice sound generation)
+#define S_KOFF(cr)       (0x400 * cr + 0x1A4)                // key off (end voice sound generation)
+#define A_TSA(cr)        (0x400 * cr + 0x1A8)                // DMA transfer start address
+#define P_DATA(cr)       (0x400 * cr + 0x1AC)                // DMA data register
+#define P_CTRL(cr)       (0x400 * cr + 0x1AE)                // DMA control register
+#define P_ADMAS(cr)      (0x400 * cr + 0x1B0)                // AutoDMA status
+
+#define A_ESA(cr)        (0x400 * cr + 0x2E0)                // effects work area start address
+
+
+// Core 0 Reverb Addresses
+
+
+#define FB_SRC_A(cr)     (0x400 * cr + 0x2E4)      
+#define FB_SRC_B(cr)     (0x400 * cr + 0x2E8)      
+#define IIR_DEST_A0(cr)  (0x400 * cr + 0x2EC)      
+#define IIR_DEST_A1(cr)  (0x400 * cr + 0x2F0)      
+#define ACC_SRC_A0(cr)   (0x400 * cr + 0x2F4)     
+#define ACC_SRC_A1(cr)   (0x400 * cr + 0x2F8)
+#define ACC_SRC_B0(cr)   (0x400 * cr + 0x2FC)  
+
+#define ACC_SRC_B1(cr)   (0x400 * cr + 0x300)      
+#define IIR_SRC_A0(cr)   (0x400 * cr + 0x304)      
+#define IIR_SRC_A1(cr)   (0x400 * cr + 0x308)      
+#define IIR_DEST_B0(cr)  (0x400 * cr + 0x30C)      
+#define IIR_DEST_B1(cr)  (0x400 * cr + 0x310)      
+#define ACC_SRC_C0(cr)   (0x400 * cr + 0x314)      
+#define ACC_SRC_C1(cr)   (0x400 * cr + 0x318)  
+
+#define ACC_SRC_D0(cr)   (0x400 * cr + 0x31C)      
+#define ACC_SRC_D1(cr)   (0x400 * cr + 0x320)      
+#define IIR_SRC_B1(cr)   (0x400 * cr + 0x324)      
+#define IIR_SRC_B0(cr)   (0x400 * cr + 0x328)      
+#define MIX_DEST_A0(cr)  (0x400 * cr + 0x32C)      
+#define MIX_DEST_A1(cr)  (0x400 * cr + 0x330)      
+#define MIX_DEST_B0(cr)  (0x400 * cr + 0x334)      
+#define MIX_DEST_B1(cr)  (0x400 * cr + 0x338)      
+
+#define A_EEA(cr)        (0x400 * cr + 0x33C)                // effects work area end address
+
+#define P_ENDX(cr)       (0x400 * cr + 0x340)                // voice loop end status
+#define P_STAT(cr)       (0x400 * cr + 0x344)                // DMA status register
+#define P_ENDS(cr)       (0x400 * cr + 0x346)                // ?
+
+
+// CORE 0 Specific
+
+
+#define P_MVOLL(cr)      (0x28 * cr + 0x760)                 // master volume (left)
+#define P_MVOLR(cr)      (0x28 * cr + 0x762)                 // master volume (right)
+#define P_EVOLL(cr)      (0x28 * cr + 0x764)                 // effect return volume (left)
+#define P_EVOLR(cr)      (0x28 * cr + 0x766)                 // effect return volume (right)
+#define P_AVOLL(cr)      (0x28 * cr + 0x768)                 // core external input volume (left)
+#define P_AVOLR(cr)      (0x28 * cr + 0x76A)                 // core external input volume (right)
+#define P_BVOLL(cr)      (0x28 * cr + 0x76C)                 // sound data input volume (left)
+#define P_BVOLR(cr)      (0x28 * cr + 0x76E)                 // sound data input volume (right)
+#define P_MVOLXL(cr)     (0x28 * cr + 0x770)                 // current master volume (left)
+#define P_MVOLXR(cr)     (0x28 * cr + 0x772)                 // current master volume (right)
+
+
+// More CORE 0 Reverb
+
+
+#define IIR_ALPHA(cr)    (0x28 * cr + 0x774)      
+#define ACC_COEF_A(cr)   (0x28 * cr + 0x776)      
+#define ACC_COEF_B(cr)   (0x28 * cr + 0x778)      
+#define ACC_COEF_C(cr)   (0x28 * cr + 0x77A)      
+#define ACC_COEF_D(cr)   (0x28 * cr + 0x77C)      
+#define IIR_COEF(cr)     (0x28 * cr + 0x77E)      
+#define FB_ALPHA(cr)     (0x28 * cr + 0x780)      
+#define FB_X(cr)         (0x28 * cr + 0x782)      
+#define IN_COEF_L(cr)    (0x28 * cr + 0x784)      
+#define IN_COEF_R(cr)    (0x28 * cr + 0x786) 
+
+
+// CORE 1 only
+
+#define SPDIF_OUT        0x7C0                                // SPDIF Out: OFF/'PCM'/Bitstream/Bypass 
+#define SPDIF_MODE       0x7C6 
+#define SPDIF_MEDIA      0x7C8                                // SPDIF Media: 'CD'/DVD	
+#define SPDIF_COPY       0x7CA                                // SPDIF Copy Protection
+*/
+
+/* PS1 SPU CORE
+
+*** The below really isn't needed, only if you ***
+*** want to add SPU support to the plugin      ***
+*** which I see no need to add at this time.   ***
+*** individual voice settings                  ***
+
+#define SPU_VP_PITCH(vc) (0xC04 + (vc << 4))                 // voice pitch
+#define SPU_VA_SSA(vc)   (0xC06 + (vc << 4))                 // voice waveform data start address
+#define SPU_VP_ADSR(vc)  (0xC08 + (vc << 4))                 // voice envelope
+#define SPU_VA_SSA(vc)   (0xC0E + (vc << 4))                 // voice waveform data loop address
+
+// common settings
+
+#define SPU_P_MVOLL      0xD80                               // master volume (left)
+#define SPU_P_MVOLR      0xD82                               // master volume (right)
+#define SPU_P_RVOLL      0xD84                               // effect return volume (left)
+#define SPU_P_RVOLR      0xD86                               // effect return volume (right)
+#define SPU_S_KON1       0xD88                               // key on
+#define SPU_S_KON2       0xD8A                               // 
+#define SPU_S_KOFF1      0xD8C                               // key off
+#define SPU_S_KOFF2      0xD8E                               // 
+#define SPU_S_PMON1      0xD90                               // pitch modulation on
+#define SPU_S_PMON2      0xD92                               // 
+#define SPU_S_NON1       0xD94                               // noise generator on
+#define SPU_S_NON2       0xD96                               // 
+#define SPU_S_RVBON1     0xD98                               // effects on
+#define SPU_S_RVBON2     0xD9A                               // 
+#define SPU_S_MUTE1      0xD9C                               // voice mute
+#define SPU_S_MUTE2      0xD9E                               // 
+
+#define SPU_A_ESA        0xDA2                               // effects work area start
+#define SPU_A_IRQA       0xDA4                               // IRQ address
+#define SPU_A_TSA        0xDA6                               // DMA transfer start address
+#define SPU_P_DATA       0xDA8                               // DMA data register
+#define SPU_P_CTRL       0xDAA                               // DMA control register
+#define SPU_P_STAT       0xDAE                               // DMA status register
+
+#define SPU_P_CDL        0xDB0                               // sound data input volume (left)
+#define SPU_P_CDR        0xDB2                               // sound data input volume (right)
+#define SPU_P_EXTL       0xDB4                               // external input volume (left)
+#define SPU_P_EXTR       0xDB6                               // external input volume (right)
+
+#define SPU_P_REVERB     0xDC0                               // effects control
+*/
+
+/*
+#define H_SPUReverbAddr  0x0da2
+#define H_SPUirqAddr     0x0da4
+#define H_SPUaddr        0x0da6
+#define H_SPUdata        0x0da8
+#define H_SPUctrl        0x0daa
+#define H_SPUstat        0x0dae
+#define H_SPUmvolL       0x0d80
+#define H_SPUmvolR       0x0d82
+#define H_SPUrvolL       0x0d84
+#define H_SPUrvolR       0x0d86
+#define H_SPUon1         0x0d88
+#define H_SPUon2         0x0d8a
+#define H_SPUoff1        0x0d8c
+#define H_SPUoff2        0x0d8e
+#define H_FMod1          0x0d90
+#define H_FMod2          0x0d92
+#define H_Noise1         0x0d94
+#define H_Noise2         0x0d96
+#define H_RVBon1         0x0d98
+#define H_RVBon2         0x0d9a
+#define H_SPUMute1       0x0d9c
+#define H_SPUMute2       0x0d9e
+#define H_CDLeft         0x0db0
+#define H_CDRight        0x0db2
+#define H_ExtLeft        0x0db4
+#define H_ExtRight       0x0db6
+#define H_Reverb         0x0dc0
+#define H_SPUPitch0      0x0c04
+#define H_SPUPitch1      0x0c14
+#define H_SPUPitch2      0x0c24
+#define H_SPUPitch3      0x0c34
+#define H_SPUPitch4      0x0c44
+#define H_SPUPitch5      0x0c54
+#define H_SPUPitch6      0x0c64
+#define H_SPUPitch7      0x0c74
+#define H_SPUPitch8      0x0c84
+#define H_SPUPitch9      0x0c94
+#define H_SPUPitch10     0x0ca4
+#define H_SPUPitch11     0x0cb4
+#define H_SPUPitch12     0x0cc4
+#define H_SPUPitch13     0x0cd4
+#define H_SPUPitch14     0x0ce4
+#define H_SPUPitch15     0x0cf4
+#define H_SPUPitch16     0x0d04
+#define H_SPUPitch17     0x0d14
+#define H_SPUPitch18     0x0d24
+#define H_SPUPitch19     0x0d34
+#define H_SPUPitch20     0x0d44
+#define H_SPUPitch21     0x0d54
+#define H_SPUPitch22     0x0d64
+#define H_SPUPitch23     0x0d74
+
+#define H_SPUStartAdr0   0x0c06
+#define H_SPUStartAdr1   0x0c16
+#define H_SPUStartAdr2   0x0c26
+#define H_SPUStartAdr3   0x0c36
+#define H_SPUStartAdr4   0x0c46
+#define H_SPUStartAdr5   0x0c56
+#define H_SPUStartAdr6   0x0c66
+#define H_SPUStartAdr7   0x0c76
+#define H_SPUStartAdr8   0x0c86
+#define H_SPUStartAdr9   0x0c96
+#define H_SPUStartAdr10  0x0ca6
+#define H_SPUStartAdr11  0x0cb6
+#define H_SPUStartAdr12  0x0cc6
+#define H_SPUStartAdr13  0x0cd6
+#define H_SPUStartAdr14  0x0ce6
+#define H_SPUStartAdr15  0x0cf6
+#define H_SPUStartAdr16  0x0d06
+#define H_SPUStartAdr17  0x0d16
+#define H_SPUStartAdr18  0x0d26
+#define H_SPUStartAdr19  0x0d36
+#define H_SPUStartAdr20  0x0d46
+#define H_SPUStartAdr21  0x0d56
+#define H_SPUStartAdr22  0x0d66
+#define H_SPUStartAdr23  0x0d76
+
+#define H_SPULoopAdr0   0x0c0e
+#define H_SPULoopAdr1   0x0c1e
+#define H_SPULoopAdr2   0x0c2e
+#define H_SPULoopAdr3   0x0c3e
+#define H_SPULoopAdr4   0x0c4e
+#define H_SPULoopAdr5   0x0c5e
+#define H_SPULoopAdr6   0x0c6e
+#define H_SPULoopAdr7   0x0c7e
+#define H_SPULoopAdr8   0x0c8e
+#define H_SPULoopAdr9   0x0c9e
+#define H_SPULoopAdr10  0x0cae
+#define H_SPULoopAdr11  0x0cbe
+#define H_SPULoopAdr12  0x0cce
+#define H_SPULoopAdr13  0x0cde
+#define H_SPULoopAdr14  0x0cee
+#define H_SPULoopAdr15  0x0cfe
+#define H_SPULoopAdr16  0x0d0e
+#define H_SPULoopAdr17  0x0d1e
+#define H_SPULoopAdr18  0x0d2e
+#define H_SPULoopAdr19  0x0d3e
+#define H_SPULoopAdr20  0x0d4e
+#define H_SPULoopAdr21  0x0d5e
+#define H_SPULoopAdr22  0x0d6e
+#define H_SPULoopAdr23  0x0d7e
+
+#define H_SPU_ADSRLevel0   0x0c08
+#define H_SPU_ADSRLevel1   0x0c18
+#define H_SPU_ADSRLevel2   0x0c28
+#define H_SPU_ADSRLevel3   0x0c38
+#define H_SPU_ADSRLevel4   0x0c48
+#define H_SPU_ADSRLevel5   0x0c58
+#define H_SPU_ADSRLevel6   0x0c68
+#define H_SPU_ADSRLevel7   0x0c78
+#define H_SPU_ADSRLevel8   0x0c88
+#define H_SPU_ADSRLevel9   0x0c98
+#define H_SPU_ADSRLevel10  0x0ca8
+#define H_SPU_ADSRLevel11  0x0cb8
+#define H_SPU_ADSRLevel12  0x0cc8
+#define H_SPU_ADSRLevel13  0x0cd8
+#define H_SPU_ADSRLevel14  0x0ce8
+#define H_SPU_ADSRLevel15  0x0cf8
+#define H_SPU_ADSRLevel16  0x0d08
+#define H_SPU_ADSRLevel17  0x0d18
+#define H_SPU_ADSRLevel18  0x0d28
+#define H_SPU_ADSRLevel19  0x0d38
+#define H_SPU_ADSRLevel20  0x0d48
+#define H_SPU_ADSRLevel21  0x0d58
+#define H_SPU_ADSRLevel22  0x0d68
+#define H_SPU_ADSRLevel23  0x0d78
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/peops2/regs.h	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,43 @@
+/***************************************************************************
+                           regs.h  -  description
+                             -------------------
+    begin                : Wed May 15 2002
+    copyright            : (C) 2002 by Pete Bernert
+    email                : BlackDove@addcom.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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; either version 2 of the License, or     *
+ *   (at your option) any later version. See also the license.txt file for *
+ *   additional informations.                                              *
+ *                                                                         *
+ ***************************************************************************/
+
+//*************************************************************************//
+// History of changes:
+//
+// 2004/04/04 - Pete
+// - changed plugin to emulate PS2 spu
+//
+// 2002/05/15 - Pete
+// - generic cleanup for the Peops release
+//
+//*************************************************************************//
+
+
+void SoundOn(int start,int end,unsigned short val);
+void SoundOff(int start,int end,unsigned short val);
+void VolumeOn(int start,int end,unsigned short val,int iRight);
+void FModOn(int start,int end,unsigned short val);
+void NoiseOn(int start,int end,unsigned short val);
+void SetVolumeL(unsigned char ch,short vol);
+void SetVolumeR(unsigned char ch,short vol);
+void SetPitch(int ch,unsigned short val);
+void ReverbOn(int start,int end,unsigned short val,int iRight);
+void SetReverbAddr(int core);
+
+EXPORT_GCC void CALLBACK SPU2write(unsigned long reg, unsigned short val);
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/peops2/reverb.c	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,420 @@
+/***************************************************************************
+                          reverb.c  -  description
+                             -------------------
+    begin                : Wed May 15 2002
+    copyright            : (C) 2002 by Pete Bernert
+    email                : BlackDove@addcom.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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; either version 2 of the License, or     *
+ *   (at your option) any later version. See also the license.txt file for *
+ *   additional informations.                                              *
+ *                                                                         *
+ ***************************************************************************/
+
+//*************************************************************************//
+// History of changes:
+//
+// 2004/04/04 - Pete
+// - changed to SPU2 functionality
+//
+// 2003/01/19 - Pete
+// - added Neill's reverb (see at the end of file)
+//
+// 2002/12/26 - Pete
+// - adjusted reverb handling
+//
+// 2002/08/14 - Pete
+// - added extra reverb
+//
+// 2002/05/15 - Pete
+// - generic cleanup for the Peops release
+//
+//*************************************************************************//
+
+#include "stdafx.h"
+
+#define _IN_REVERB
+
+// will be included from spu.c
+#ifdef _IN_SPU
+
+////////////////////////////////////////////////////////////////////////
+// globals
+////////////////////////////////////////////////////////////////////////
+
+// REVERB info and timing vars...
+
+int *          sRVBPlay[2];
+int *          sRVBEnd[2];
+int *          sRVBStart[2];
+
+////////////////////////////////////////////////////////////////////////
+// START REVERB
+////////////////////////////////////////////////////////////////////////
+
+INLINE void StartREVERB(int ch)
+{
+ int core=ch/24;
+ 
+ if((s_chan[ch].bReverbL || s_chan[ch].bReverbR) && (spuCtrl2[core]&0x80))       // reverb possible?
+  {
+   if(iUseReverb==1) s_chan[ch].bRVBActive=1;
+  }
+ else s_chan[ch].bRVBActive=0;                         // else -> no reverb
+}
+
+////////////////////////////////////////////////////////////////////////
+// HELPER FOR NEILL'S REVERB: re-inits our reverb mixing buf
+////////////////////////////////////////////////////////////////////////
+
+INLINE void InitREVERB(void)
+{
+ if(iUseReverb==1)
+  {
+   memset(sRVBStart[0],0,NSSIZE*2*4);
+   memset(sRVBStart[1],0,NSSIZE*2*4);
+  }
+}
+
+////////////////////////////////////////////////////////////////////////
+// STORE REVERB
+////////////////////////////////////////////////////////////////////////
+
+INLINE void StoreREVERB(int ch,int ns)
+{
+ int core=ch/24;
+ 
+ if(iUseReverb==0) return;
+ else
+ if(iUseReverb==1) // -------------------------------- // Neil's reverb
+  {
+   const int iRxl=(s_chan[ch].sval*s_chan[ch].iLeftVolume*s_chan[ch].bReverbL)/0x4000;
+   const int iRxr=(s_chan[ch].sval*s_chan[ch].iRightVolume*s_chan[ch].bReverbR)/0x4000;
+
+   ns<<=1;
+
+   *(sRVBStart[core]+ns)  +=iRxl;                      // -> we mix all active reverb channels into an extra buffer
+   *(sRVBStart[core]+ns+1)+=iRxr;
+  }
+}
+
+////////////////////////////////////////////////////////////////////////
+
+INLINE int g_buffer(int iOff,int core)                   // get_buffer content helper: takes care about wraps
+{
+ short * p=(short *)spuMem;
+ iOff=(iOff)+rvb[core].CurrAddr;
+ while(iOff>rvb[core].EndAddr)   iOff=rvb[core].StartAddr+(iOff-(rvb[core].EndAddr+1));
+ while(iOff<rvb[core].StartAddr) iOff=rvb[core].EndAddr-(rvb[core].StartAddr-iOff);
+ return (int)*(p+iOff);
+}
+
+////////////////////////////////////////////////////////////////////////
+
+INLINE void s_buffer(int iOff,int iVal,int core)        // set_buffer content helper: takes care about wraps and clipping
+{
+ short * p=(short *)spuMem;
+ iOff=(iOff)+rvb[core].CurrAddr;
+ while(iOff>rvb[core].EndAddr) iOff=rvb[core].StartAddr+(iOff-(rvb[core].EndAddr+1));
+ while(iOff<rvb[core].StartAddr) iOff=rvb[core].EndAddr-(rvb[core].StartAddr-iOff);
+ if(iVal<-32768L) iVal=-32768L;if(iVal>32767L) iVal=32767L;
+ *(p+iOff)=(short)iVal;
+}
+
+////////////////////////////////////////////////////////////////////////
+
+INLINE void s_buffer1(int iOff,int iVal,int core)      // set_buffer (+1 sample) content helper: takes care about wraps and clipping
+{
+ short * p=(short *)spuMem;
+ iOff=(iOff)+rvb[core].CurrAddr+1;
+ while(iOff>rvb[core].EndAddr) iOff=rvb[core].StartAddr+(iOff-(rvb[core].EndAddr+1));
+ while(iOff<rvb[core].StartAddr) iOff=rvb[core].EndAddr-(rvb[core].StartAddr-iOff);
+ if(iVal<-32768L) iVal=-32768L;if(iVal>32767L) iVal=32767L;
+ *(p+iOff)=(short)iVal;
+}
+
+////////////////////////////////////////////////////////////////////////
+
+INLINE int MixREVERBLeft(int ns,int core)
+{
+ if(iUseReverb==1)
+  {
+   if(!rvb[core].StartAddr || !rvb[core].EndAddr || 
+      rvb[core].StartAddr>=rvb[core].EndAddr)          // reverb is off
+    {
+     rvb[core].iLastRVBLeft=rvb[core].iLastRVBRight=rvb[core].iRVBLeft=rvb[core].iRVBRight=0;
+     return 0;
+    }
+
+   rvb[core].iCnt++;                                    
+
+   if(rvb[core].iCnt&1)                                // we work on every second left value: downsample to 22 khz
+    {
+     if((spuCtrl2[core]&0x80))                         // -> reverb on? oki
+      {
+       int ACC0,ACC1,FB_A0,FB_A1,FB_B0,FB_B1;
+
+       const int INPUT_SAMPLE_L=*(sRVBStart[core]+(ns<<1));                         
+       const int INPUT_SAMPLE_R=*(sRVBStart[core]+(ns<<1)+1);                     
+
+       const int IIR_INPUT_A0 = (g_buffer(rvb[core].IIR_SRC_A0,core) * rvb[core].IIR_COEF)/32768L + (INPUT_SAMPLE_L * rvb[core].IN_COEF_L)/32768L;
+       const int IIR_INPUT_A1 = (g_buffer(rvb[core].IIR_SRC_A1,core) * rvb[core].IIR_COEF)/32768L + (INPUT_SAMPLE_R * rvb[core].IN_COEF_R)/32768L;
+       const int IIR_INPUT_B0 = (g_buffer(rvb[core].IIR_SRC_B0,core) * rvb[core].IIR_COEF)/32768L + (INPUT_SAMPLE_L * rvb[core].IN_COEF_L)/32768L;
+       const int IIR_INPUT_B1 = (g_buffer(rvb[core].IIR_SRC_B1,core) * rvb[core].IIR_COEF)/32768L + (INPUT_SAMPLE_R * rvb[core].IN_COEF_R)/32768L;
+
+       const int IIR_A0 = (IIR_INPUT_A0 * rvb[core].IIR_ALPHA)/32768L + (g_buffer(rvb[core].IIR_DEST_A0,core) * (32768L - rvb[core].IIR_ALPHA))/32768L;
+       const int IIR_A1 = (IIR_INPUT_A1 * rvb[core].IIR_ALPHA)/32768L + (g_buffer(rvb[core].IIR_DEST_A1,core) * (32768L - rvb[core].IIR_ALPHA))/32768L;
+       const int IIR_B0 = (IIR_INPUT_B0 * rvb[core].IIR_ALPHA)/32768L + (g_buffer(rvb[core].IIR_DEST_B0,core) * (32768L - rvb[core].IIR_ALPHA))/32768L;
+       const int IIR_B1 = (IIR_INPUT_B1 * rvb[core].IIR_ALPHA)/32768L + (g_buffer(rvb[core].IIR_DEST_B1,core) * (32768L - rvb[core].IIR_ALPHA))/32768L;
+
+       s_buffer1(rvb[core].IIR_DEST_A0, IIR_A0,core);
+       s_buffer1(rvb[core].IIR_DEST_A1, IIR_A1,core);
+       s_buffer1(rvb[core].IIR_DEST_B0, IIR_B0,core);
+       s_buffer1(rvb[core].IIR_DEST_B1, IIR_B1,core);
+ 
+       ACC0 = (g_buffer(rvb[core].ACC_SRC_A0,core) * rvb[core].ACC_COEF_A)/32768L +
+              (g_buffer(rvb[core].ACC_SRC_B0,core) * rvb[core].ACC_COEF_B)/32768L +
+              (g_buffer(rvb[core].ACC_SRC_C0,core) * rvb[core].ACC_COEF_C)/32768L +
+              (g_buffer(rvb[core].ACC_SRC_D0,core) * rvb[core].ACC_COEF_D)/32768L;
+       ACC1 = (g_buffer(rvb[core].ACC_SRC_A1,core) * rvb[core].ACC_COEF_A)/32768L +
+              (g_buffer(rvb[core].ACC_SRC_B1,core) * rvb[core].ACC_COEF_B)/32768L +
+              (g_buffer(rvb[core].ACC_SRC_C1,core) * rvb[core].ACC_COEF_C)/32768L +
+              (g_buffer(rvb[core].ACC_SRC_D1,core) * rvb[core].ACC_COEF_D)/32768L;
+
+       FB_A0 = g_buffer(rvb[core].MIX_DEST_A0 - rvb[core].FB_SRC_A,core);
+       FB_A1 = g_buffer(rvb[core].MIX_DEST_A1 - rvb[core].FB_SRC_A,core);
+       FB_B0 = g_buffer(rvb[core].MIX_DEST_B0 - rvb[core].FB_SRC_B,core);
+       FB_B1 = g_buffer(rvb[core].MIX_DEST_B1 - rvb[core].FB_SRC_B,core);
+
+       s_buffer(rvb[core].MIX_DEST_A0, ACC0 - (FB_A0 * rvb[core].FB_ALPHA)/32768L,core);
+       s_buffer(rvb[core].MIX_DEST_A1, ACC1 - (FB_A1 * rvb[core].FB_ALPHA)/32768L,core);
+       
+       s_buffer(rvb[core].MIX_DEST_B0, (rvb[core].FB_ALPHA * ACC0)/32768L - (FB_A0 * (int)(rvb[core].FB_ALPHA^0xFFFF8000))/32768L - (FB_B0 * rvb[core].FB_X)/32768L,core);
+       s_buffer(rvb[core].MIX_DEST_B1, (rvb[core].FB_ALPHA * ACC1)/32768L - (FB_A1 * (int)(rvb[core].FB_ALPHA^0xFFFF8000))/32768L - (FB_B1 * rvb[core].FB_X)/32768L,core);
+ 
+       rvb[core].iLastRVBLeft  = rvb[core].iRVBLeft;
+       rvb[core].iLastRVBRight = rvb[core].iRVBRight;
+
+       rvb[core].iRVBLeft  = (g_buffer(rvb[core].MIX_DEST_A0,core)+g_buffer(rvb[core].MIX_DEST_B0,core))/3;
+       rvb[core].iRVBRight = (g_buffer(rvb[core].MIX_DEST_A1,core)+g_buffer(rvb[core].MIX_DEST_B1,core))/3;
+
+       rvb[core].iRVBLeft  = (rvb[core].iRVBLeft  * rvb[core].VolLeft)  / 0x4000;
+       rvb[core].iRVBRight = (rvb[core].iRVBRight * rvb[core].VolRight) / 0x4000;
+
+       rvb[core].CurrAddr++;
+       if(rvb[core].CurrAddr>rvb[core].EndAddr) rvb[core].CurrAddr=rvb[core].StartAddr;
+
+       return rvb[core].iLastRVBLeft+(rvb[core].iRVBLeft-rvb[core].iLastRVBLeft)/2;
+      }
+     else                                              // -> reverb off
+      {
+       rvb[core].iLastRVBLeft=rvb[core].iLastRVBRight=rvb[core].iRVBLeft=rvb[core].iRVBRight=0;
+      }
+
+     rvb[core].CurrAddr++;
+     if(rvb[core].CurrAddr>rvb[core].EndAddr) rvb[core].CurrAddr=rvb[core].StartAddr;
+    }
+
+   return rvb[core].iLastRVBLeft;
+  }
+ return 0;
+}
+
+////////////////////////////////////////////////////////////////////////
+
+INLINE int MixREVERBRight(int core)
+{
+ if(iUseReverb==1)                                     // Neill's reverb:
+  {
+   int i=rvb[core].iLastRVBRight+(rvb[core].iRVBRight-rvb[core].iLastRVBRight)/2;
+   rvb[core].iLastRVBRight=rvb[core].iRVBRight;
+   return i;                                           // -> just return the last right reverb val (little bit scaled by the previous right val)
+  }
+ return 0;
+}
+
+////////////////////////////////////////////////////////////////////////
+
+#endif
+
+/*
+-----------------------------------------------------------------------------
+PSX reverb hardware notes
+by Neill Corlett
+-----------------------------------------------------------------------------
+
+Yadda yadda disclaimer yadda probably not perfect yadda well it's okay anyway
+yadda yadda.
+
+-----------------------------------------------------------------------------
+
+Basics
+------
+
+- The reverb buffer is 22khz 16-bit mono PCM.
+- It starts at the reverb address given by 1DA2, extends to
+  the end of sound RAM, and wraps back to the 1DA2 address.
+
+Setting the address at 1DA2 resets the current reverb work address.
+
+This work address ALWAYS increments every 1/22050 sec., regardless of
+whether reverb is enabled (bit 7 of 1DAA set).
+
+And the contents of the reverb buffer ALWAYS play, scaled by the
+"reverberation depth left/right" volumes (1D84/1D86).
+(which, by the way, appear to be scaled so 3FFF=approx. 1.0, 4000=-1.0)
+
+-----------------------------------------------------------------------------
+
+Register names
+--------------
+
+These are probably not their real names.
+These are probably not even correct names.
+We will use them anyway, because we can.
+
+1DC0: FB_SRC_A       (offset)
+1DC2: FB_SRC_B       (offset)
+1DC4: IIR_ALPHA      (coef.)
+1DC6: ACC_COEF_A     (coef.)
+1DC8: ACC_COEF_B     (coef.)
+1DCA: ACC_COEF_C     (coef.)
+1DCC: ACC_COEF_D     (coef.)
+1DCE: IIR_COEF       (coef.)
+1DD0: FB_ALPHA       (coef.)
+1DD2: FB_X           (coef.)
+1DD4: IIR_DEST_A0    (offset)
+1DD6: IIR_DEST_A1    (offset)
+1DD8: ACC_SRC_A0     (offset)
+1DDA: ACC_SRC_A1     (offset)
+1DDC: ACC_SRC_B0     (offset)
+1DDE: ACC_SRC_B1     (offset)
+1DE0: IIR_SRC_A0     (offset)
+1DE2: IIR_SRC_A1     (offset)
+1DE4: IIR_DEST_B0    (offset)
+1DE6: IIR_DEST_B1    (offset)
+1DE8: ACC_SRC_C0     (offset)
+1DEA: ACC_SRC_C1     (offset)
+1DEC: ACC_SRC_D0     (offset)
+1DEE: ACC_SRC_D1     (offset)
+1DF0: IIR_SRC_B1     (offset)
+1DF2: IIR_SRC_B0     (offset)
+1DF4: MIX_DEST_A0    (offset)
+1DF6: MIX_DEST_A1    (offset)
+1DF8: MIX_DEST_B0    (offset)
+1DFA: MIX_DEST_B1    (offset)
+1DFC: IN_COEF_L      (coef.)
+1DFE: IN_COEF_R      (coef.)
+
+The coefficients are signed fractional values.
+-32768 would be -1.0
+ 32768 would be  1.0 (if it were possible... the highest is of course 32767)
+
+The offsets are (byte/8) offsets into the reverb buffer.
+i.e. you multiply them by 8, you get byte offsets.
+You can also think of them as (samples/4) offsets.
+They appear to be signed.  They can be negative.
+None of the documented presets make them negative, though.
+
+Yes, 1DF0 and 1DF2 appear to be backwards.  Not a typo.
+
+-----------------------------------------------------------------------------
+
+What it does
+------------
+
+We take all reverb sources:
+- regular channels that have the reverb bit on
+- cd and external sources, if their reverb bits are on
+and mix them into one stereo 44100hz signal.
+
+Lowpass/downsample that to 22050hz.  The PSX uses a proper bandlimiting
+algorithm here, but I haven't figured out the hysterically exact specifics.
+I use an 8-tap filter with these coefficients, which are nice but probably
+not the real ones:
+
+0.037828187894
+0.157538631280
+0.321159685278
+0.449322115345
+0.449322115345
+0.321159685278
+0.157538631280
+0.037828187894
+
+So we have two input samples (INPUT_SAMPLE_L, INPUT_SAMPLE_R) every 22050hz.
+
+* IN MY EMULATION, I divide these by 2 to make it clip less.
+  (and of course the L/R output coefficients are adjusted to compensate)
+  The real thing appears to not do this.
+
+At every 22050hz tick:
+- If the reverb bit is enabled (bit 7 of 1DAA), execute the reverb
+  steady-state algorithm described below
+- AFTERWARDS, retrieve the "wet out" L and R samples from the reverb buffer
+  (This part may not be exactly right and I guessed at the coefs. TODO: check later.)
+  L is: 0.333 * (buffer[MIX_DEST_A0] + buffer[MIX_DEST_B0])
+  R is: 0.333 * (buffer[MIX_DEST_A1] + buffer[MIX_DEST_B1])
+- Advance the current buffer position by 1 sample
+
+The wet out L and R are then upsampled to 44100hz and played at the
+"reverberation depth left/right" (1D84/1D86) volume, independent of the main
+volume.
+
+-----------------------------------------------------------------------------
+
+Reverb steady-state
+-------------------
+
+The reverb steady-state algorithm is fairly clever, and of course by
+"clever" I mean "batshit insane".
+
+buffer[x] is relative to the current buffer position, not the beginning of
+the buffer.  Note that all buffer offsets must wrap around so they're
+contained within the reverb work area.
+
+Clipping is performed at the end... maybe also sooner, but definitely at
+the end.
+
+IIR_INPUT_A0 = buffer[IIR_SRC_A0] * IIR_COEF + INPUT_SAMPLE_L * IN_COEF_L;
+IIR_INPUT_A1 = buffer[IIR_SRC_A1] * IIR_COEF + INPUT_SAMPLE_R * IN_COEF_R;
+IIR_INPUT_B0 = buffer[IIR_SRC_B0] * IIR_COEF + INPUT_SAMPLE_L * IN_COEF_L;
+IIR_INPUT_B1 = buffer[IIR_SRC_B1] * IIR_COEF + INPUT_SAMPLE_R * IN_COEF_R;
+
+IIR_A0 = IIR_INPUT_A0 * IIR_ALPHA + buffer[IIR_DEST_A0] * (1.0 - IIR_ALPHA);
+IIR_A1 = IIR_INPUT_A1 * IIR_ALPHA + buffer[IIR_DEST_A1] * (1.0 - IIR_ALPHA);
+IIR_B0 = IIR_INPUT_B0 * IIR_ALPHA + buffer[IIR_DEST_B0] * (1.0 - IIR_ALPHA);
+IIR_B1 = IIR_INPUT_B1 * IIR_ALPHA + buffer[IIR_DEST_B1] * (1.0 - IIR_ALPHA);
+
+buffer[IIR_DEST_A0 + 1sample] = IIR_A0;
+buffer[IIR_DEST_A1 + 1sample] = IIR_A1;
+buffer[IIR_DEST_B0 + 1sample] = IIR_B0;
+buffer[IIR_DEST_B1 + 1sample] = IIR_B1;
+
+ACC0 = buffer[ACC_SRC_A0] * ACC_COEF_A +
+       buffer[ACC_SRC_B0] * ACC_COEF_B +
+       buffer[ACC_SRC_C0] * ACC_COEF_C +
+       buffer[ACC_SRC_D0] * ACC_COEF_D;
+ACC1 = buffer[ACC_SRC_A1] * ACC_COEF_A +
+       buffer[ACC_SRC_B1] * ACC_COEF_B +
+       buffer[ACC_SRC_C1] * ACC_COEF_C +
+       buffer[ACC_SRC_D1] * ACC_COEF_D;
+
+FB_A0 = buffer[MIX_DEST_A0 - FB_SRC_A];
+FB_A1 = buffer[MIX_DEST_A1 - FB_SRC_A];
+FB_B0 = buffer[MIX_DEST_B0 - FB_SRC_B];
+FB_B1 = buffer[MIX_DEST_B1 - FB_SRC_B];
+
+buffer[MIX_DEST_A0] = ACC0 - FB_A0 * FB_ALPHA;
+buffer[MIX_DEST_A1] = ACC1 - FB_A1 * FB_ALPHA;
+buffer[MIX_DEST_B0] = (FB_ALPHA * ACC0) - FB_A0 * (FB_ALPHA^0x8000) - FB_B0 * FB_X;
+buffer[MIX_DEST_B1] = (FB_ALPHA * ACC1) - FB_A1 * (FB_ALPHA^0x8000) - FB_B1 * FB_X;
+
+-----------------------------------------------------------------------------
+*/
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/peops2/reverb.h	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,33 @@
+/***************************************************************************
+                          reverb.h  -  description
+                             -------------------
+    begin                : Wed May 15 2002
+    copyright            : (C) 2002 by Pete Bernert
+    email                : BlackDove@addcom.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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; either version 2 of the License, or     *
+ *   (at your option) any later version. See also the license.txt file for *
+ *   additional informations.                                              *
+ *                                                                         *
+ ***************************************************************************/
+
+//*************************************************************************//
+// History of changes:
+//
+// 2004/04/04 - Pete
+// - changed plugin to emulate PS2 spu
+//
+// 2002/05/15 - Pete
+// - generic cleanup for the Peops release
+//
+//*************************************************************************//
+
+
+INLINE void StartREVERB(int ch);
+INLINE void StoreREVERB(int ch,int ns);
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/peops2/spu.c	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,1026 @@
+/***************************************************************************
+                            spu.c  -  description
+                             -------------------
+    begin                : Wed May 15 2002
+    copyright            : (C) 2002 by Pete Bernert
+    email                : BlackDove@addcom.de
+ ***************************************************************************/
+                       
+/***************************************************************************
+ *                                                                         *
+ *   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; either version 2 of the License, or     *
+ *   (at your option) any later version. See also the license.txt file for *
+ *   additional informations.                                              *
+ *                                                                         *
+ ***************************************************************************/
+                           
+//*************************************************************************//
+// History of changes:
+//
+// 2005/08/29 - Pete
+// - changed to 48Khz output
+//
+// 2004/12/25 - Pete
+// - inc'd version for pcsx2-0.7
+//
+// 2004/04/18 - Pete
+// - changed all kind of things in the plugin
+//
+// 2004/04/04 - Pete
+// - changed plugin to emulate PS2 spu
+//
+// 2003/04/07 - Eric
+// - adjusted cubic interpolation algorithm
+//
+// 2003/03/16 - Eric
+// - added cubic interpolation
+//
+// 2003/03/01 - linuzappz
+// - libraryName changes using ALSA
+//
+// 2003/02/28 - Pete
+// - added option for type of interpolation
+// - adjusted spu irqs again (Thousant Arms, Valkyrie Profile)
+// - added MONO support for MSWindows DirectSound
+//
+// 2003/02/20 - kode54
+// - amended interpolation code, goto GOON could skip initialization of gpos and cause segfault
+//
+// 2003/02/19 - kode54
+// - moved SPU IRQ handler and changed sample flag processing
+//
+// 2003/02/18 - kode54
+// - moved ADSR calculation outside of the sample decode loop, somehow I doubt that
+//   ADSR timing is relative to the frequency at which a sample is played... I guess
+//   this remains to be seen, and I don't know whether ADSR is applied to noise channels...
+//
+// 2003/02/09 - kode54
+// - one-shot samples now process the end block before stopping
+// - in light of removing fmod hack, now processing ADSR on frequency channel as well
+//
+// 2003/02/08 - kode54
+// - replaced easy interpolation with gaussian
+// - removed fmod averaging hack
+// - changed .sinc to be updated from .iRawPitch, no idea why it wasn't done this way already (<- Pete: because I sometimes fail to see the obvious, haharhar :)
+//
+// 2003/02/08 - linuzappz
+// - small bugfix for one usleep that was 1 instead of 1000
+// - added iDisStereo for no stereo (Linux)
+//
+// 2003/01/22 - Pete
+// - added easy interpolation & small noise adjustments
+//
+// 2003/01/19 - Pete
+// - added Neill's reverb
+//
+// 2003/01/12 - Pete
+// - added recording window handlers
+//
+// 2003/01/06 - Pete
+// - added Neill's ADSR timings
+//
+// 2002/12/28 - Pete
+// - adjusted spu irq handling, fmod handling and loop handling
+//
+// 2002/08/14 - Pete
+// - added extra reverb
+//
+// 2002/06/08 - linuzappz
+// - SPUupdate changed for SPUasync
+//
+// 2002/05/15 - Pete
+// - generic cleanup for the Peops release
+//
+//*************************************************************************//
+
+#include "stdafx.h"
+
+#define _IN_SPU
+
+#include "../peops2/externals.h"
+#include "../peops2/regs.h"
+#include "../peops2/dma.h"
+ 
+////////////////////////////////////////////////////////////////////////
+// globals
+////////////////////////////////////////////////////////////////////////
+
+// psx buffer / addresses
+
+unsigned short  regArea[32*1024];                        
+unsigned short  spuMem[1*1024*1024];
+unsigned char * spuMemC;
+unsigned char * pSpuIrq[2];
+unsigned char * pSpuBuffer;
+
+// user settings          
+
+int             iUseXA=0;
+int             iVolume=3;
+int             iXAPitch=1;
+int             iUseTimer=2;
+int             iSPUIRQWait=1;
+int             iDebugMode=0;
+int             iRecordMode=0;
+int             iUseReverb=1;
+int             iUseInterpolation=2;
+                             
+// MAIN infos struct for each channel
+
+SPUCHAN         s_chan[MAXCHAN+1];                     // channel + 1 infos (1 is security for fmod handling)
+REVERBInfo      rvb[2];
+
+unsigned long   dwNoiseVal=1;                          // global noise generator
+
+unsigned short  spuCtrl2[2];                           // some vars to store psx reg infos
+unsigned short  spuStat2[2];
+unsigned long   spuIrq2[2];             
+unsigned long   spuAddr2[2];                           // address into spu mem
+unsigned long   spuRvbAddr2[2];
+unsigned long   spuRvbAEnd2[2];
+int             bEndThread=0;                          // thread handlers
+int             bThreadEnded=0;
+int             bSpuInit=0;
+int             bSPUIsOpen=0;
+
+unsigned long dwNewChannel2[2];                        // flags for faster testing, if new channel starts
+unsigned long dwEndChannel2[2];
+
+// UNUSED IN PS2 YET
+void (CALLBACK *irqCallback)(void)=0;                  // func of main emu, called on spu irq
+void (CALLBACK *cddavCallback)(unsigned short,unsigned short)=0;
+
+// certain globals (were local before, but with the new timeproc I need em global)
+
+const int f[5][2] = {   {    0,  0  },
+                        {   60,  0  },
+                        {  115, -52 },
+                        {   98, -55 },
+                        {  122, -60 } };
+int SSumR[NSSIZE];
+int SSumL[NSSIZE];
+int iCycle=0;
+short * pS;
+
+static int lastch=-1;      // last channel processed on spu irq in timer mode
+static int lastns=0;       // last ns pos
+static int iSecureStart=0; // secure start counter
+
+extern void psf2_update(unsigned char *samples, long lBytes, void *data);
+
+////////////////////////////////////////////////////////////////////////
+// CODE AREA
+////////////////////////////////////////////////////////////////////////
+
+// dirty inline func includes
+
+#include "reverb.c"        
+#include "adsr.c"
+
+////////////////////////////////////////////////////////////////////////
+// helpers for simple interpolation
+
+//
+// easy interpolation on upsampling, no special filter, just "Pete's common sense" tm
+//
+// instead of having n equal sample values in a row like:
+//       ____
+//           |____
+//
+// we compare the current delta change with the next delta change.
+//
+// if curr_delta is positive,
+//
+//  - and next delta is smaller (or changing direction):
+//         \.
+//          -__
+//
+//  - and next delta significant (at least twice) bigger:
+//         --_
+//            \.
+//
+//  - and next delta is nearly same:
+//          \.
+//           \.
+//
+//
+// if curr_delta is negative,
+//
+//  - and next delta is smaller (or changing direction):
+//          _--
+//         /
+//
+//  - and next delta significant (at least twice) bigger:
+//            /
+//         __- 
+//         
+//  - and next delta is nearly same:
+//           /
+//          /
+//     
+
+
+INLINE void InterpolateUp(int ch)
+{
+ if(s_chan[ch].SB[32]==1)                              // flag == 1? calc step and set flag... and don't change the value in this pass
+  {
+   const int id1=s_chan[ch].SB[30]-s_chan[ch].SB[29];  // curr delta to next val
+   const int id2=s_chan[ch].SB[31]-s_chan[ch].SB[30];  // and next delta to next-next val :)
+
+   s_chan[ch].SB[32]=0;
+
+   if(id1>0)                                           // curr delta positive
+    {
+     if(id2<id1)
+      {s_chan[ch].SB[28]=id1;s_chan[ch].SB[32]=2;}
+     else
+     if(id2<(id1<<1))
+      s_chan[ch].SB[28]=(id1*s_chan[ch].sinc)/0x10000L;
+     else
+      s_chan[ch].SB[28]=(id1*s_chan[ch].sinc)/0x20000L; 
+    }
+   else                                                // curr delta negative
+    {
+     if(id2>id1)
+      {s_chan[ch].SB[28]=id1;s_chan[ch].SB[32]=2;}
+     else
+     if(id2>(id1<<1))
+      s_chan[ch].SB[28]=(id1*s_chan[ch].sinc)/0x10000L;
+     else
+      s_chan[ch].SB[28]=(id1*s_chan[ch].sinc)/0x20000L; 
+    }
+  }
+ else
+ if(s_chan[ch].SB[32]==2)                              // flag 1: calc step and set flag... and don't change the value in this pass
+  {
+   s_chan[ch].SB[32]=0;
+
+   s_chan[ch].SB[28]=(s_chan[ch].SB[28]*s_chan[ch].sinc)/0x20000L;
+   if(s_chan[ch].sinc<=0x8000)
+        s_chan[ch].SB[29]=s_chan[ch].SB[30]-(s_chan[ch].SB[28]*((0x10000/s_chan[ch].sinc)-1));
+   else s_chan[ch].SB[29]+=s_chan[ch].SB[28];
+  }
+ else                                                  // no flags? add bigger val (if possible), calc smaller step, set flag1
+  s_chan[ch].SB[29]+=s_chan[ch].SB[28];
+}
+
+//
+// even easier interpolation on downsampling, also no special filter, again just "Pete's common sense" tm
+//
+
+INLINE void InterpolateDown(int ch)
+{
+ if(s_chan[ch].sinc>=0x20000L)                                 // we would skip at least one val?
+  {
+   s_chan[ch].SB[29]+=(s_chan[ch].SB[30]-s_chan[ch].SB[29])/2; // add easy weight
+   if(s_chan[ch].sinc>=0x30000L)                               // we would skip even more vals?
+    s_chan[ch].SB[29]+=(s_chan[ch].SB[31]-s_chan[ch].SB[30])/2;// add additional next weight
+  }
+}
+
+////////////////////////////////////////////////////////////////////////
+// helpers for gauss interpolation
+
+#define gval0 (((short*)(&s_chan[ch].SB[29]))[gpos])
+#define gval(x) (((short*)(&s_chan[ch].SB[29]))[(gpos+x)&3])
+
+#include "gauss_i.h"
+
+////////////////////////////////////////////////////////////////////////
+
+//#include "xa.c"
+
+////////////////////////////////////////////////////////////////////////
+// START SOUND... called by main thread to setup a new sound on a channel
+////////////////////////////////////////////////////////////////////////
+
+INLINE void StartSound(int ch)
+{
+ dwNewChannel2[ch/24]&=~(1<<(ch%24));                  // clear new channel bit
+ dwEndChannel2[ch/24]&=~(1<<(ch%24));                  // clear end channel bit
+
+ StartADSR(ch);
+ StartREVERB(ch);      
+                          
+ s_chan[ch].pCurr=s_chan[ch].pStart;                   // set sample start
+                         
+ s_chan[ch].s_1=0;                                     // init mixing vars
+ s_chan[ch].s_2=0;
+ s_chan[ch].iSBPos=28;
+
+ s_chan[ch].bNew=0;                                    // init channel flags
+ s_chan[ch].bStop=0;                                   
+ s_chan[ch].bOn=1;
+
+ s_chan[ch].SB[29]=0;                                  // init our interpolation helpers
+ s_chan[ch].SB[30]=0;
+
+ if(iUseInterpolation>=2)                              // gauss interpolation?
+      {s_chan[ch].spos=0x30000L;s_chan[ch].SB[28]=0;}  // -> start with more decoding
+ else {s_chan[ch].spos=0x10000L;s_chan[ch].SB[31]=0;}  // -> no/simple interpolation starts with one 44100 decoding
+}
+
+////////////////////////////////////////////////////////////////////////
+// MAIN SPU FUNCTION
+// here is the main job handler... thread, timer or direct func call
+// basically the whole sound processing is done in this fat func!
+////////////////////////////////////////////////////////////////////////
+
+static u32 sampcount;
+static u32 decaybegin;
+static u32 decayend;
+
+static u32 seektime;
+int psf2_seek(u32 t)
+{
+ seektime=t*441/10;
+ if(seektime>sampcount) return(1);
+ return(0);
+}
+
+// Counting to 65536 results in full volume offage.
+void setlength2(s32 stop, s32 fade)
+{
+ seektime = 0;
+ if(stop==~0)
+ {
+  decaybegin=~0;
+ }
+ else
+ {
+  stop=(stop*441)/10;
+  fade=(fade*441)/10;
+
+  decaybegin=stop;
+  decayend=stop+fade;
+ }
+}
+// 5 ms waiting phase, if buffer is full and no new sound has to get started
+// .. can be made smaller (smallest val: 1 ms), but bigger waits give
+// better performance
+
+#define PAUSE_W 5
+#define PAUSE_L 5000
+
+////////////////////////////////////////////////////////////////////////
+
+int iSpuAsyncWait=0;
+
+static void *MAINThread(int samp2run, void *data)
+{
+ int s_1,s_2,fa,voldiv=iVolume;
+ unsigned char * start;unsigned int nSample;
+ int ch,predict_nr,shift_factor,flags,d,d2,s;
+ int gpos,bIRQReturn=0;
+
+// while(!bEndThread)                                    // until we are shutting down
+  {
+   //--------------------------------------------------//
+   // ok, at the beginning we are looking if there is
+   // enuff free place in the dsound/oss buffer to
+   // fill in new data, or if there is a new channel to start.
+   // if not, we wait (thread) or return (timer/spuasync)
+   // until enuff free place is available/a new channel gets
+   // started
+
+   if(dwNewChannel2[0] || dwNewChannel2[1])            // new channel should start immedately?
+    {                                                  // (at least one bit 0 ... MAXCHANNEL is set?)
+     iSecureStart++;                                   // -> set iSecure
+     if(iSecureStart>5) iSecureStart=0;                //    (if it is set 5 times - that means on 5 tries a new samples has been started - in a row, we will reset it, to give the sound update a chance)
+    }
+   else iSecureStart=0;                                // 0: no new channel should start
+
+/*	if (!iSecureStart)
+	{
+	     iSecureStart=0;                                   // reset secure
+	     return;
+	}*/
+
+#if 0
+   while(!iSecureStart && !bEndThread) // &&               // no new start? no thread end?
+//         (SoundGetBytesBuffered()>TESTSIZE))           // and still enuff data in sound buffer?
+    {
+     iSecureStart=0;                                   // reset secure
+
+     if(iUseTimer) return 0;                           // linux no-thread mode? bye
+
+     if(dwNewChannel2[0] || dwNewChannel2[1]) 
+      iSecureStart=1;                                  // if a new channel kicks in (or, of course, sound buffer runs low), we will leave the loop
+    }
+#endif
+
+   //--------------------------------------------------// continue from irq handling in timer mode? 
+
+   if(lastch>=0)                                       // will be -1 if no continue is pending
+    {
+     ch=lastch; lastch=-1;                  // -> setup all kind of vars to continue
+     goto GOON;                                        // -> directly jump to the continue point
+    }
+
+   //--------------------------------------------------//
+   //- main channel loop                              -// 
+   //--------------------------------------------------//
+    {
+     for(ch=0;ch<MAXCHAN;ch++)                         // loop em all... we will collect 1 ms of sound of each playing channel
+      {
+       if(s_chan[ch].bNew) StartSound(ch);             // start new sound
+       if(!s_chan[ch].bOn) continue;                   // channel not playing? next
+
+       if(s_chan[ch].iActFreq!=s_chan[ch].iUsedFreq)   // new psx frequency?
+        {
+         s_chan[ch].iUsedFreq=s_chan[ch].iActFreq;     // -> take it and calc steps
+         s_chan[ch].sinc=s_chan[ch].iRawPitch<<4;
+         if(!s_chan[ch].sinc) s_chan[ch].sinc=1;
+         if(iUseInterpolation==1) s_chan[ch].SB[32]=1; // -> freq change in simle imterpolation mode: set flag
+        }
+//       ns=0;
+//       while(ns<NSSIZE)                                // loop until 1 ms of data is reached
+        {
+         while(s_chan[ch].spos>=0x10000L)
+          {
+           if(s_chan[ch].iSBPos==28)                   // 28 reached?
+            {
+             start=s_chan[ch].pCurr;                   // set up the current pos
+
+             if (start == (unsigned char*)-1)          // special "stop" sign
+              {
+               s_chan[ch].bOn=0;                       // -> turn everything off
+               s_chan[ch].ADSRX.lVolume=0;
+               s_chan[ch].ADSRX.EnvelopeVol=0;
+               goto ENDX;                              // -> and done for this channel
+              }
+
+             s_chan[ch].iSBPos=0;
+
+             //////////////////////////////////////////// spu irq handler here? mmm... do it later
+
+             s_1=s_chan[ch].s_1;
+             s_2=s_chan[ch].s_2;
+
+             predict_nr=(int)*start;start++;
+             shift_factor=predict_nr&0xf;
+             predict_nr >>= 4;
+             flags=(int)*start;start++;
+
+             // -------------------------------------- // 
+
+             for (nSample=0;nSample<28;start++)      
+              {
+               d=(int)*start;
+               s=((d&0xf)<<12);
+               if(s&0x8000) s|=0xffff0000;
+
+               fa=(s >> shift_factor);
+               fa=fa + ((s_1 * f[predict_nr][0])>>6) + ((s_2 * f[predict_nr][1])>>6);
+               s_2=s_1;s_1=fa;
+               s=((d & 0xf0) << 8);
+
+               s_chan[ch].SB[nSample++]=fa;
+
+               if(s&0x8000) s|=0xffff0000;
+               fa=(s>>shift_factor);              
+               fa=fa + ((s_1 * f[predict_nr][0])>>6) + ((s_2 * f[predict_nr][1])>>6);
+               s_2=s_1;s_1=fa;
+
+               s_chan[ch].SB[nSample++]=fa;
+              }     
+
+             //////////////////////////////////////////// irq check
+
+             if(spuCtrl2[ch/24]&0x40)                  // some irq active?
+              {
+               if((pSpuIrq[ch/24] >  start-16 &&       // irq address reached?
+                   pSpuIrq[ch/24] <= start) ||
+                  ((flags&1) &&                        // special: irq on looping addr, when stop/loop flag is set 
+                   (pSpuIrq[ch/24] >  s_chan[ch].pLoop-16 &&
+                    pSpuIrq[ch/24] <= s_chan[ch].pLoop)))
+                {
+                 s_chan[ch].iIrqDone=1;                // -> debug flag
+
+                 if(irqCallback) irqCallback();        // -> call main emu (not supported in SPU2 right now)
+                 else
+                  {
+                   if(ch<24) InterruptDMA4();            // -> let's see what is happening if we call our irqs instead ;)
+                   else      InterruptDMA7();
+                  }
+                  
+                 if(iSPUIRQWait)                       // -> option: wait after irq for main emu
+                  {
+                   iSpuAsyncWait=1;
+                   bIRQReturn=1;
+                  }
+                }
+              }
+      
+             //////////////////////////////////////////// flag handler
+
+             if((flags&4) && (!s_chan[ch].bIgnoreLoop))
+              s_chan[ch].pLoop=start-16;               // loop adress
+
+             if(flags&1)                               // 1: stop/loop
+              {
+               dwEndChannel2[ch/24]|=(1<<(ch%24));
+              
+               // We play this block out first...
+               //if(!(flags&2)|| s_chan[ch].pLoop==NULL)   
+                                                       // 1+2: do loop... otherwise: stop
+               if(flags!=3 || s_chan[ch].pLoop==NULL)  // PETE: if we don't check exactly for 3, loop hang ups will happen (DQ4, for example)
+                {                                      // and checking if pLoop is set avoids crashes, yeah
+                 start = (unsigned char*)-1;
+                }
+               else
+                {
+                 start = s_chan[ch].pLoop;
+                }
+              }
+
+             s_chan[ch].pCurr=start;                   // store values for next cycle
+             s_chan[ch].s_1=s_1;
+             s_chan[ch].s_2=s_2;      
+
+             ////////////////////////////////////////////
+
+             if(bIRQReturn)                            // special return for "spu irq - wait for cpu action"
+              {
+               bIRQReturn=0;
+                {
+                 lastch=ch; 
+//                 lastns=ns;	// changemeback
+
+                 return;
+                }
+              }
+
+             ////////////////////////////////////////////
+
+GOON: ;
+
+            }
+
+           fa=s_chan[ch].SB[s_chan[ch].iSBPos++];      // get sample data
+
+//           if((spuCtrl2[ch/24]&0x4000)==0) fa=0;       // muted?
+//           else                                        // else adjust
+            {
+             if(fa>32767L)  fa=32767L;
+             if(fa<-32767L) fa=-32767L;              
+            }
+
+           if(iUseInterpolation>=2)                    // gauss/cubic interpolation
+            {
+             gpos = s_chan[ch].SB[28];
+             gval0 = fa;          
+             gpos = (gpos+1) & 3;
+             s_chan[ch].SB[28] = gpos;
+            }
+           else
+           if(iUseInterpolation==1)                    // simple interpolation
+            {
+             s_chan[ch].SB[28] = 0;                    
+             s_chan[ch].SB[29] = s_chan[ch].SB[30];    // -> helpers for simple linear interpolation: delay real val for two slots, and calc the two deltas, for a 'look at the future behaviour'
+             s_chan[ch].SB[30] = s_chan[ch].SB[31];
+             s_chan[ch].SB[31] = fa;
+             s_chan[ch].SB[32] = 1;                    // -> flag: calc new interolation
+            }
+           else s_chan[ch].SB[29]=fa;                  // no interpolation
+
+           s_chan[ch].spos -= 0x10000L;
+          }
+
+         ////////////////////////////////////////////////
+         // noise handler... just produces some noise data
+         // surely wrong... and no noise frequency (spuCtrl&0x3f00) will be used...
+         // and sometimes the noise will be used as fmod modulation... pfff
+
+         if(s_chan[ch].bNoise)
+          {
+           if((dwNoiseVal<<=1)&0x80000000L)
+            {
+             dwNoiseVal^=0x0040001L;
+             fa=((dwNoiseVal>>2)&0x7fff);
+             fa=-fa;
+            }
+           else fa=(dwNoiseVal>>2)&0x7fff;
+
+           // mmm... depending on the noise freq we allow bigger/smaller changes to the previous val
+           fa=s_chan[ch].iOldNoise+((fa-s_chan[ch].iOldNoise)/((0x001f-((spuCtrl2[ch/24]&0x3f00)>>9))+1));
+           if(fa>32767L)  fa=32767L;
+           if(fa<-32767L) fa=-32767L;              
+           s_chan[ch].iOldNoise=fa;
+
+           if(iUseInterpolation<2)                     // no gauss/cubic interpolation?
+            s_chan[ch].SB[29] = fa;                    // -> store noise val in "current sample" slot
+          }                                            //----------------------------------------
+         else                                          // NO NOISE (NORMAL SAMPLE DATA) HERE 
+          {//------------------------------------------//
+           if(iUseInterpolation==3)                    // cubic interpolation
+            {
+             long xd;  
+             xd = ((s_chan[ch].spos) >> 1)+1;
+             gpos = s_chan[ch].SB[28];
+
+             fa  = gval(3) - 3*gval(2) + 3*gval(1) - gval0;
+             fa *= (xd - (2<<15)) / 6;
+             fa >>= 15;
+             fa += gval(2) - gval(1) - gval(1) + gval0;
+             fa *= (xd - (1<<15)) >> 1;
+             fa >>= 15;
+             fa += gval(1) - gval0;
+             fa *= xd;
+             fa >>= 15;
+             fa = fa + gval0;
+            }
+           //------------------------------------------//
+           else
+           if(iUseInterpolation==2)                    // gauss interpolation
+            {
+             int vl, vr;
+             vl = (s_chan[ch].spos >> 6) & ~3;
+             gpos = s_chan[ch].SB[28];
+             vr=(gauss[vl]*gval0)&~2047;
+             vr+=(gauss[vl+1]*gval(1))&~2047;
+             vr+=(gauss[vl+2]*gval(2))&~2047;
+             vr+=(gauss[vl+3]*gval(3))&~2047;
+             fa = vr>>11;
+/*
+             vr=(gauss[vl]*gval0)>>9;
+             vr+=(gauss[vl+1]*gval(1))>>9;
+             vr+=(gauss[vl+2]*gval(2))>>9;
+             vr+=(gauss[vl+3]*gval(3))>>9;
+             fa = vr>>2;
+*/
+            }
+           //------------------------------------------//
+           else
+           if(iUseInterpolation==1)                    // simple interpolation
+            {
+             if(s_chan[ch].sinc<0x10000L)              // -> upsampling?
+                  InterpolateUp(ch);                   // --> interpolate up
+             else InterpolateDown(ch);                 // --> else down
+             fa=s_chan[ch].SB[29];
+            }
+           //------------------------------------------//
+           else fa=s_chan[ch].SB[29];                  // no interpolation
+          }
+
+         s_chan[ch].sval = (MixADSR(ch) * fa) / 1023;  // add adsr
+
+         if(s_chan[ch].bFMod==2)                       // fmod freq channel
+          {
+           int NP=s_chan[ch+1].iRawPitch;
+           double intr;
+
+           NP=((32768L+s_chan[ch].sval)*NP)/32768L;    // mmm... I still need to adjust that to 1/48 khz... we will wait for the first game/demo using it to decide how to do it :)
+
+           if(NP>0x3fff) NP=0x3fff;
+           if(NP<0x1)    NP=0x1;
+           
+	   intr = (double)48000.0f / (double)44100.0f * (double)NP;
+           NP = (UINT32)intr;
+
+           NP=(44100L*NP)/(4096L);                     // calc frequency
+
+           s_chan[ch+1].iActFreq=NP;
+           s_chan[ch+1].iUsedFreq=NP;
+           s_chan[ch+1].sinc=(((NP/10)<<16)/4410);
+           if(!s_chan[ch+1].sinc) s_chan[ch+1].sinc=1;
+           if(iUseInterpolation==1)                    // freq change in sipmle interpolation mode
+            s_chan[ch+1].SB[32]=1;
+
+// mmmm... set up freq decoding positions?
+//           s_chan[ch+1].iSBPos=28;
+//           s_chan[ch+1].spos=0x10000L;
+          }                    
+         else                   
+          {                                          
+           //////////////////////////////////////////////
+           // ok, left/right sound volume (psx volume goes from 0 ... 0x3fff)
+
+           if(s_chan[ch].iMute) 
+            s_chan[ch].sval=0;                         // debug mute
+           else
+            {
+             if(s_chan[ch].bVolumeL)
+              SSumL[0]+=(s_chan[ch].sval*s_chan[ch].iLeftVolume)/0x4000L;
+             if(s_chan[ch].bVolumeR)
+              SSumR[0]+=(s_chan[ch].sval*s_chan[ch].iRightVolume)/0x4000L;
+            }
+        
+           //////////////////////////////////////////////
+           // now let us store sound data for reverb    
+                                                          
+           if(s_chan[ch].bRVBActive) StoreREVERB(ch,0);
+          }
+
+         ////////////////////////////////////////////////
+         // ok, go on until 1 ms data of this channel is collected
+                                                       
+         s_chan[ch].spos += s_chan[ch].sinc;             
+                                                              
+        }        
+ENDX:   ;                                                      
+      }
+    }                                                         
+   
+  //---------------------------------------------------//
+  //- here we have another 1 ms of sound data
+  //---------------------------------------------------//
+
+  ///////////////////////////////////////////////////////
+  // mix all channels (including reverb) into one buffer
+
+    SSumL[0]+=MixREVERBLeft(0,0);
+    SSumL[0]+=MixREVERBLeft(0,1);
+    SSumR[0]+=MixREVERBRight(0);
+    SSumR[0]+=MixREVERBRight(1);
+                                              
+    d=SSumL[0]/voldiv;SSumL[0]=0;
+    d2=SSumR[0]/voldiv;SSumR[0]=0;
+
+    if(d<-32767) d=-32767;if(d>32767) d=32767;
+    if(d2<-32767) d2=-32767;if(d2>32767) d2=32767;
+
+    if(sampcount>=decaybegin)
+    {
+	s32 dmul;
+	if(decaybegin!=~0) // Is anyone REALLY going to be playing a song
+		      // for 13 hours?
+    	{
+		if(sampcount>=decayend)
+		{
+			psf2_update(NULL, 0, data);
+		        return(0);
+		}
+
+		dmul=256-(256*(sampcount-decaybegin)/(decayend-decaybegin));
+		d=(d*dmul)>>8;
+		d2=(d2*dmul)>>8;
+	}
+    }
+    sampcount++;
+
+    *pS++=d;
+    *pS++=d2;
+
+    InitREVERB();
+
+  //////////////////////////////////////////////////////                   
+  // feed the sound
+  // wanna have around 1/60 sec (16.666 ms) updates
+	if (seektime != 0 && sampcount < seektime)
+	{
+		pS=(short *)pSpuBuffer;
+	}
+	else if ((((unsigned char *)pS)-((unsigned char *)pSpuBuffer)) == (735*4))
+	{
+	    	psf2_update((u8*)pSpuBuffer,(u8*)pS-(u8*)pSpuBuffer, data);
+	        pS=(short *)pSpuBuffer;					  
+	}
+ }
+
+ // end of big main loop...
+
+ bThreadEnded=1;
+
+ return 0;
+}
+
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+
+////////////////////////////////////////////////////////////////////////
+// SPU ASYNC... even newer epsxe func
+//  1 time every 'cycle' cycles... harhar
+////////////////////////////////////////////////////////////////////////
+
+EXPORT_GCC void CALLBACK SPU2async(unsigned long cycle, void *data)
+{
+ if(iSpuAsyncWait)
+  {
+   iSpuAsyncWait++;
+   if(iSpuAsyncWait<=64) return;
+   iSpuAsyncWait=0;
+  }
+
+ MAINThread(0, data);                                      // -> linux high-compat mode
+}
+
+////////////////////////////////////////////////////////////////////////
+// INIT/EXIT STUFF
+////////////////////////////////////////////////////////////////////////
+
+////////////////////////////////////////////////////////////////////////
+// SPUINIT: this func will be called first by the main emu
+////////////////////////////////////////////////////////////////////////
+
+              
+EXPORT_GCC long CALLBACK SPU2init(void)
+{
+ spuMemC=(unsigned char *)spuMem;                      // just small setup
+ memset((void *)s_chan,0,MAXCHAN*sizeof(SPUCHAN));
+ memset(rvb,0,2*sizeof(REVERBInfo));
+
+ sampcount = 0;
+
+ InitADSR();
+
+ return 0;
+}
+
+////////////////////////////////////////////////////////////////////////
+// SETUPTIMER: init of certain buffers and threads/timers
+////////////////////////////////////////////////////////////////////////
+
+static void SetupTimer(void)
+{
+ memset(SSumR,0,NSSIZE*sizeof(int));                   // init some mixing buffers
+ memset(SSumL,0,NSSIZE*sizeof(int));
+ pS=(short *)pSpuBuffer;                               // setup soundbuffer pointer
+
+ bEndThread=0;                                         // init thread vars
+ bThreadEnded=0; 
+ bSpuInit=1;                                           // flag: we are inited
+}
+
+////////////////////////////////////////////////////////////////////////
+// REMOVETIMER: kill threads/timers
+////////////////////////////////////////////////////////////////////////
+
+static void RemoveTimer(void)
+{
+ bEndThread=1;                                         // raise flag to end thread
+ bThreadEnded=0;                                       // no more spu is running
+ bSpuInit=0;
+}
+
+////////////////////////////////////////////////////////////////////////
+// SETUPSTREAMS: init most of the spu buffers
+////////////////////////////////////////////////////////////////////////
+
+static void SetupStreams(void)
+{ 
+ int i;
+
+ pSpuBuffer=(unsigned char *)malloc(32768);            // alloc mixing buffer
+
+ i=NSSIZE*2;
+
+ sRVBStart[0] = (int *)malloc(i*4);                    // alloc reverb buffer
+ memset(sRVBStart[0],0,i*4);
+ sRVBEnd[0]  = sRVBStart[0] + i;
+ sRVBPlay[0] = sRVBStart[0];
+ sRVBStart[1] = (int *)malloc(i*4);                    // alloc reverb buffer
+ memset(sRVBStart[1],0,i*4);
+ sRVBEnd[1]  = sRVBStart[1] + i;
+ sRVBPlay[1] = sRVBStart[1];
+
+ for(i=0;i<MAXCHAN;i++)                                // loop sound channels
+  {
+// we don't use mutex sync... not needed, would only 
+// slow us down:
+//   s_chan[i].hMutex=CreateMutex(NULL,FALSE,NULL);
+   s_chan[i].ADSRX.SustainLevel = 1024;                // -> init sustain
+   s_chan[i].iMute=0;
+   s_chan[i].iIrqDone=0;
+   s_chan[i].pLoop=spuMemC;
+   s_chan[i].pStart=spuMemC;
+   s_chan[i].pCurr=spuMemC;
+  }
+}
+
+////////////////////////////////////////////////////////////////////////
+// REMOVESTREAMS: free most buffer
+////////////////////////////////////////////////////////////////////////
+
+static void RemoveStreams(void)
+{ 
+ free(pSpuBuffer);                                     // free mixing buffer
+ pSpuBuffer=NULL;
+ free(sRVBStart[0]);                                   // free reverb buffer
+ sRVBStart[0]=0;
+ free(sRVBStart[1]);                                   // free reverb buffer
+ sRVBStart[1]=0;
+
+/*
+ int i;
+ for(i=0;i<MAXCHAN;i++)
+  {
+   WaitForSingleObject(s_chan[i].hMutex,2000);
+   ReleaseMutex(s_chan[i].hMutex);
+   if(s_chan[i].hMutex)    
+    {CloseHandle(s_chan[i].hMutex);s_chan[i].hMutex=0;}
+  }
+*/
+}
+
+
+////////////////////////////////////////////////////////////////////////
+// SPUOPEN: called by main emu after init
+////////////////////////////////////////////////////////////////////////
+   
+EXPORT_GCC long CALLBACK SPU2open(void *pDsp)                          
+{
+ if(bSPUIsOpen) return 0;                              // security for some stupid main emus
+
+ iUseXA=0;                                             // just small setup
+ iVolume=3;
+ bEndThread=0;
+ bThreadEnded=0;
+ spuMemC=(unsigned char *)spuMem;      
+ memset((void *)s_chan,0,(MAXCHAN+1)*sizeof(SPUCHAN));
+ pSpuIrq[0]=0;
+ pSpuIrq[1]=0;
+ iSPUIRQWait=1;
+ dwNewChannel2[0]=0;
+ dwNewChannel2[1]=0;
+ dwEndChannel2[0]=0;
+ dwEndChannel2[1]=0;
+ spuCtrl2[0]=0;              
+ spuCtrl2[1]=0;              
+ spuStat2[0]=0;
+ spuStat2[1]=0;
+ spuIrq2[0]=0;             
+ spuIrq2[1]=0;             
+ spuAddr2[0]=0xffffffff;   
+ spuAddr2[1]=0xffffffff;   
+ spuRvbAddr2[0]=0;
+ spuRvbAddr2[1]=0;
+ spuRvbAEnd2[0]=0;
+ spuRvbAEnd2[1]=0;
+ 
+// ReadConfig();                                         // read user stuff
+ 
+// SetupSound();                                         // setup midas (before init!)
+
+ SetupStreams();                                       // prepare streaming
+
+ SetupTimer();                                         // timer for feeding data
+
+ bSPUIsOpen=1;
+
+ return 0;        
+}
+
+////////////////////////////////////////////////////////////////////////
+
+////////////////////////////////////////////////////////////////////////
+// SPUCLOSE: called before shutdown
+////////////////////////////////////////////////////////////////////////
+
+EXPORT_GCC void CALLBACK SPU2close(void)
+{
+ if(!bSPUIsOpen) return;                               // some security
+
+ bSPUIsOpen=0;                                         // no more open
+
+ RemoveTimer();                                        // no more feeding
+
+// RemoveSound();                                        // no more sound handling
+
+ RemoveStreams();                                      // no more streaming
+}
+
+////////////////////////////////////////////////////////////////////////
+// SPUSHUTDOWN: called by main emu on final exit
+////////////////////////////////////////////////////////////////////////
+
+EXPORT_GCC void CALLBACK SPU2shutdown(void)
+{
+ return;
+}
+
+////////////////////////////////////////////////////////////////////////
+// SPUTEST: we don't test, we are always fine ;)
+////////////////////////////////////////////////////////////////////////
+
+EXPORT_GCC long CALLBACK SPU2test(void)
+{
+ return 0;
+}
+
+////////////////////////////////////////////////////////////////////////
+// SETUP CALLBACKS
+// this functions will be called once, 
+// passes a callback that should be called on SPU-IRQ/cdda volume change
+////////////////////////////////////////////////////////////////////////
+
+// not used yet
+EXPORT_GCC void CALLBACK SPU2irqCallback(void (CALLBACK *callback)(void))
+{
+ irqCallback = callback;
+}
+
+// not used yet
+EXPORT_GCC void CALLBACK SPU2registerCallback(void (CALLBACK *callback)(void))
+{
+ irqCallback = callback;
+}
+
+// not used yet
+EXPORT_GCC void CALLBACK SPU2registerCDDAVolume(void (CALLBACK *CDDAVcallback)(unsigned short,unsigned short))
+{
+ cddavCallback = CDDAVcallback;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/peops2/spu.h	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,39 @@
+/***************************************************************************
+                            spu.h  -  description
+                             -------------------
+    begin                : Wed May 15 2002
+    copyright            : (C) 2002 by Pete Bernert
+    email                : BlackDove@addcom.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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; either version 2 of the License, or     *
+ *   (at your option) any later version. See also the license.txt file for *
+ *   additional informations.                                              *
+ *                                                                         *
+ ***************************************************************************/
+
+//*************************************************************************//
+// History of changes:
+//
+// 2004/04/04 - Pete
+// - changed plugin to emulate PS2 spu
+//
+// 2002/05/15 - Pete
+// - generic cleanup for the Peops release
+//
+//*************************************************************************//
+
+
+void SetupTimer(void);
+void RemoveTimer(void);
+EXPORT_GCC void CALLBACK SPU2playADPCMchannel(xa_decode_t *xap);
+
+EXPORT_GCC long CALLBACK SPU2init(void);
+EXPORT_GCC long CALLBACK SPU2open(void *pDsp);
+EXPORT_GCC void CALLBACK SPU2async(unsigned long cycle, void *);
+EXPORT_GCC void CALLBACK SPU2close(void);
+EXPORT_GCC int  CALLBACK psf2_seek(u32 t);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/peops2/stdafx.h	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,41 @@
+/***************************************************************************
+                           StdAfx.h  -  description
+                             -------------------
+    begin                : Wed May 15 2002
+    copyright            : (C) 2002 by Pete Bernert
+    email                : BlackDove@addcom.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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; either version 2 of the License, or     *
+ *   (at your option) any later version. See also the license.txt file for *
+ *   additional informations.                                              *
+ *                                                                         *
+ ***************************************************************************/
+
+//*************************************************************************//
+// History of changes:
+//
+// 2002/05/15 - Pete
+// - generic cleanup for the Peops release
+//
+//*************************************************************************//
+
+#define EXPORT_GCC
+
+#include <stdlib.h>
+#define RRand(range) (random()%range)
+#include <string.h>
+#include <math.h>
+
+#undef CALLBACK
+#define CALLBACK
+#define DWORD unsigned long
+#define LOWORD(l)           ((unsigned short)(l))
+#define HIWORD(l)           ((unsigned short)(((unsigned long)(l) >> 16) & 0xFFFF))
+
+#include "psemuxa.h"
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/peops2/xa.c	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,363 @@
+/***************************************************************************
+                            xa.c  -  description
+                             -------------------
+    begin                : Wed May 15 2002
+    copyright            : (C) 2002 by Pete Bernert
+    email                : BlackDove@addcom.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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; either version 2 of the License, or     *
+ *   (at your option) any later version. See also the license.txt file for *
+ *   additional informations.                                              *
+ *                                                                         *
+ ***************************************************************************/
+
+//*************************************************************************//
+// History of changes:
+//
+// 2003/02/18 - kode54
+// - added gaussian interpolation
+//
+// 2002/05/15 - Pete
+// - generic cleanup for the Peops release
+//
+//*************************************************************************//
+
+#include "stdafx.h"
+
+#define _IN_XA
+
+// will be included from spu.c
+#ifdef _IN_SPU
+
+////////////////////////////////////////////////////////////////////////
+// XA GLOBALS
+////////////////////////////////////////////////////////////////////////
+
+xa_decode_t   * xapGlobal=0;
+
+unsigned long * XAFeed  = NULL;
+unsigned long * XAPlay  = NULL;
+unsigned long * XAStart = NULL;
+unsigned long * XAEnd   = NULL;
+
+unsigned long   XARepeat  = 0;
+unsigned long   XALastVal = 0;
+
+int             iLeftXAVol  = 32767;
+int             iRightXAVol = 32767;
+
+static int gauss_ptr = 0;
+static int gauss_window[8] = {0, 0, 0, 0, 0, 0, 0, 0};
+
+#define gvall0 gauss_window[gauss_ptr]
+#define gvall(x) gauss_window[(gauss_ptr+x)&3]
+#define gvalr0 gauss_window[4+gauss_ptr]
+#define gvalr(x) gauss_window[4+((gauss_ptr+x)&3)]
+
+////////////////////////////////////////////////////////////////////////
+// MIX XA 
+////////////////////////////////////////////////////////////////////////
+
+INLINE void MixXA(void)
+{
+ int ns;
+
+ for(ns=0;ns<NSSIZE && XAPlay!=XAFeed;ns++)
+  {
+   XALastVal=*XAPlay++;
+   if(XAPlay==XAEnd) XAPlay=XAStart;
+   SSumL[ns]+=(((short)(XALastVal&0xffff))       * iLeftXAVol)/32767;
+   SSumR[ns]+=(((short)((XALastVal>>16)&0xffff)) * iRightXAVol)/32767;
+  }
+
+ if(XAPlay==XAFeed && XARepeat)
+  {
+   XARepeat--;
+   for(;ns<NSSIZE;ns++)
+    {
+     SSumL[ns]+=(((short)(XALastVal&0xffff))       * iLeftXAVol)/32767;
+     SSumR[ns]+=(((short)((XALastVal>>16)&0xffff)) * iRightXAVol)/32767;
+    }
+  }
+}
+
+////////////////////////////////////////////////////////////////////////
+// FEED XA 
+////////////////////////////////////////////////////////////////////////
+
+INLINE void FeedXA(xa_decode_t *xap)
+{
+ int sinc,spos,i,iSize,iPlace,vl,vr;
+
+ if(!bSPUIsOpen) return;
+
+ xapGlobal = xap;                                      // store info for save states
+ XARepeat  = 100;                                      // set up repeat
+
+ iSize=((44100*xap->nsamples)/xap->freq);              // get size
+ if(!iSize) return;                                    // none? bye
+
+ if(XAFeed<XAPlay) iPlace=XAPlay-XAFeed;               // how much space in my buf?
+ else              iPlace=(XAEnd-XAFeed) + (XAPlay-XAStart);
+
+ if(iPlace==0) return;                                 // no place at all
+
+ //----------------------------------------------------//
+ if(iXAPitch)                                          // pitch change option?
+  {
+   static DWORD dwLT=0;
+   static DWORD dwFPS=0;
+   static int   iFPSCnt=0;
+   static int   iLastSize=0;
+   static DWORD dwL1=0;
+   DWORD dw=timeGetTime(),dw1,dw2;
+
+   iPlace=iSize;
+
+   dwFPS+=dw-dwLT;iFPSCnt++;
+
+   dwLT=dw;
+                                       
+   if(iFPSCnt>=10)
+    {
+     if(!dwFPS) dwFPS=1;
+     dw1=1000000/dwFPS; 
+     if(dw1>=(dwL1-100) && dw1<=(dwL1+100)) dw1=dwL1;
+     else dwL1=dw1;
+     dw2=(xap->freq*100/xap->nsamples);
+     if((!dw1)||((dw2+100)>=dw1)) iLastSize=0;
+     else
+      {
+       iLastSize=iSize*dw2/dw1;
+       if(iLastSize>iPlace) iLastSize=iPlace;
+       iSize=iLastSize;
+      }
+     iFPSCnt=0;dwFPS=0;
+    }
+   else
+    {
+     if(iLastSize) iSize=iLastSize;
+    }
+  }
+ //----------------------------------------------------//
+
+ spos=0x10000L;
+ sinc = (xap->nsamples << 16) / iSize;                 // calc freq by num / size
+
+ if(xap->stereo)
+  {
+   unsigned long * pS=(unsigned long *)xap->pcm;
+   unsigned long l=0;
+
+   if(iXAPitch)
+    {
+     long l1,l2;short s;
+     for(i=0;i<iSize;i++)
+      {
+       if(iUseInterpolation==2) 
+        {
+         while(spos>=0x10000L)
+          {
+           l = *pS++;
+           gauss_window[gauss_ptr] = (short)LOWORD(l);
+           gauss_window[4+gauss_ptr] = (short)HIWORD(l);
+           gauss_ptr = (gauss_ptr+1) & 3;
+           spos -= 0x10000L;
+          }
+         vl = (spos >> 6) & ~3;
+         vr=(gauss[vl]*gvall0)&~2047;
+         vr+=(gauss[vl+1]*gvall(1))&~2047;
+         vr+=(gauss[vl+2]*gvall(2))&~2047;
+         vr+=(gauss[vl+3]*gvall(3))&~2047;
+         l= (vr >> 11) & 0xffff;
+         vr=(gauss[vl]*gvalr0)&~2047;
+         vr+=(gauss[vl+1]*gvalr(1))&~2047;
+         vr+=(gauss[vl+2]*gvalr(2))&~2047;
+         vr+=(gauss[vl+3]*gvalr(3))&~2047;
+         l |= vr << 5;
+        }
+       else
+        {
+         while(spos>=0x10000L)
+          {
+           l = *pS++;
+           spos -= 0x10000L;
+          }
+        }
+
+       s=(short)LOWORD(l);
+       l1=s;
+       l1=(l1*iPlace)/iSize;
+       if(l1<-32767) l1=-32767;
+       if(l1> 32767) l1=32767;
+       s=(short)HIWORD(l);
+       l2=s;
+       l2=(l2*iPlace)/iSize;
+       if(l2<-32767) l2=-32767;
+       if(l2> 32767) l2=32767;
+       l=(l1&0xffff)|(l2<<16);
+
+       *XAFeed++=l;
+
+       if(XAFeed==XAEnd) XAFeed=XAStart;
+       if(XAFeed==XAPlay) 
+        {
+         if(XAPlay!=XAStart) XAFeed=XAPlay-1;
+         break;
+        }
+
+       spos += sinc;
+      }
+    }
+   else
+    {
+     for(i=0;i<iSize;i++)
+      {
+       if(iUseInterpolation==2) 
+        {
+         while(spos>=0x10000L)
+          {
+           l = *pS++;
+           gauss_window[gauss_ptr] = (short)LOWORD(l);
+           gauss_window[4+gauss_ptr] = (short)HIWORD(l);
+           gauss_ptr = (gauss_ptr+1) & 3;
+           spos -= 0x10000L;
+          }
+         vl = (spos >> 6) & ~3;
+         vr=(gauss[vl]*gvall0)&~2047;
+         vr+=(gauss[vl+1]*gvall(1))&~2047;
+         vr+=(gauss[vl+2]*gvall(2))&~2047;
+         vr+=(gauss[vl+3]*gvall(3))&~2047;
+         l= (vr >> 11) & 0xffff;
+         vr=(gauss[vl]*gvalr0)&~2047;
+         vr+=(gauss[vl+1]*gvalr(1))&~2047;
+         vr+=(gauss[vl+2]*gvalr(2))&~2047;
+         vr+=(gauss[vl+3]*gvalr(3))&~2047;
+         l |= vr << 5;
+        }
+       else
+        {
+         while(spos>=0x10000L)
+          {
+           l = *pS++;
+           spos -= 0x10000L;
+          }
+        }
+
+       *XAFeed++=l;
+
+       if(XAFeed==XAEnd) XAFeed=XAStart;
+       if(XAFeed==XAPlay) 
+        {
+         if(XAPlay!=XAStart) XAFeed=XAPlay-1;
+         break;
+        }
+
+       spos += sinc;
+      }
+    }
+  }
+ else
+  {
+   unsigned short * pS=(unsigned short *)xap->pcm;
+   unsigned long l;short s=0;
+
+   if(iXAPitch)
+    {
+     long l1;
+     for(i=0;i<iSize;i++)
+      {
+       if(iUseInterpolation==2) 
+        {
+         while(spos>=0x10000L)
+          {
+           gauss_window[gauss_ptr] = (short)*pS++;
+           gauss_ptr = (gauss_ptr+1) & 3;
+           spos -= 0x10000L;
+          }
+         vl = (spos >> 6) & ~3;
+         vr=(gauss[vl]*gvall0)&~2047;
+         vr+=(gauss[vl+1]*gvall(1))&~2047;
+         vr+=(gauss[vl+2]*gvall(2))&~2047;
+         vr+=(gauss[vl+3]*gvall(3))&~2047;
+         l1=s= vr >> 11;
+         l1 &= 0xffff;
+        }
+       else
+        {
+         while(spos>=0x10000L)
+          {
+           s = *pS++;
+           spos -= 0x10000L;
+          }
+         l1=s;
+        }
+
+       l1=(l1*iPlace)/iSize;
+       if(l1<-32767) l1=-32767;
+       if(l1> 32767) l1=32767;
+       l=(l1&0xffff)|(l1<<16);
+       *XAFeed++=l;
+
+       if(XAFeed==XAEnd) XAFeed=XAStart;
+       if(XAFeed==XAPlay) 
+        {
+         if(XAPlay!=XAStart) XAFeed=XAPlay-1;
+         break;
+        }
+
+       spos += sinc;
+      }
+    }
+   else
+    {
+     for(i=0;i<iSize;i++)
+      {
+       if(iUseInterpolation==2) 
+        {
+         while(spos>=0x10000L)
+          {
+           gauss_window[gauss_ptr] = (short)*pS++;
+           gauss_ptr = (gauss_ptr+1) & 3;
+           spos -= 0x10000L;
+          }
+         vl = (spos >> 6) & ~3;
+         vr=(gauss[vl]*gvall0)&~2047;
+         vr+=(gauss[vl+1]*gvall(1))&~2047;
+         vr+=(gauss[vl+2]*gvall(2))&~2047;
+         vr+=(gauss[vl+3]*gvall(3))&~2047;
+         l=s= vr >> 11;
+         l &= 0xffff;
+        }
+       else
+        {
+         while(spos>=0x10000L)
+          {
+           s = *pS++;
+           spos -= 0x10000L;
+          }
+         l=s;
+        }
+
+       *XAFeed++=(l|(l<<16));
+
+       if(XAFeed==XAEnd) XAFeed=XAStart;
+       if(XAFeed==XAPlay) 
+        {
+         if(XAPlay!=XAStart) XAFeed=XAPlay-1;
+         break;
+        }
+
+       spos += sinc;
+      }
+    }
+  }
+}
+
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/plugin.c	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,297 @@
+/*
+	Audio Overload SDK - main driver.  for demonstration only, not user friendly!
+
+	Copyright (c) 2007-2008 R. Belmont and Richard Bannister.
+
+	All rights reserved.
+
+	Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+	* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+	* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+	* Neither the names of R. Belmont and Richard Bannister nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+	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.
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include <audacious/plugin.h>
+
+#include "ao.h"
+#include "corlett.h"
+#include "eng_protos.h"
+
+/* file types */
+static uint32 type;
+
+static struct 
+{ 
+	uint32 sig; 
+	char *name; 
+	int32 (*start)(uint8 *, uint32); 
+	int32 (*stop)(void); 
+	int32 (*command)(int32, int32); 
+	uint32 rate; 
+} types[] = {
+	{ 0x50534602, "Sony PlayStation 2 (.psf2)", psf2_start, psf2_stop, psf2_command, 60 },
+	{ 0xffffffff, "", NULL, NULL, NULL, 0 }
+};
+
+static char *path;
+
+/* ao_get_lib: called to load secondary files */
+int ao_get_lib(char *filename, uint8 **buffer, uint64 *length)
+{
+	guchar *filebuf;
+	gsize size;
+	char buf[PATH_MAX];
+
+	snprintf(buf, PATH_MAX, "%s/%s", dirname(path), filename);
+
+	aud_vfs_file_get_contents(buf, (gchar **) &filebuf, &size);
+
+	*buffer = filebuf;
+	*length = (uint64)size;
+
+	return AO_SUCCESS;
+}
+
+static gint seek = 0;
+
+Tuple *psf2_tuple(gchar *filename)
+{
+	Tuple *t;
+	corlett_t *c;
+	guchar *buf;
+	gsize sz;
+
+	aud_vfs_file_get_contents(filename, (gchar **) &buf, &sz);
+
+	if (!buf)
+		return NULL;
+
+	if (corlett_decode(buf, sz, NULL, NULL, &c) != AO_SUCCESS)
+		return NULL;	
+
+	t = aud_tuple_new_from_filename(filename);
+
+	aud_tuple_associate_int(t, FIELD_LENGTH, NULL, c->inf_length ? psfTimeToMS(c->inf_length) + psfTimeToMS(c->inf_fade) : -1);
+	aud_tuple_associate_string(t, FIELD_ARTIST, NULL, c->inf_artist);
+	aud_tuple_associate_string(t, FIELD_ALBUM, NULL, c->inf_game);
+	aud_tuple_associate_string(t, -1, "game", c->inf_game);
+	aud_tuple_associate_string(t, FIELD_TITLE, NULL, c->inf_title);
+	aud_tuple_associate_string(t, FIELD_COPYRIGHT, NULL, c->inf_copy);
+	aud_tuple_associate_string(t, FIELD_QUALITY, NULL, "sequenced");
+	aud_tuple_associate_string(t, FIELD_CODEC, NULL, "PlayStation2 Audio");
+	aud_tuple_associate_string(t, -1, "console", "PlayStation 2");
+
+	free(c);
+	g_free(buf);
+
+	return t;
+}
+
+gchar *psf2_title(gchar *filename, gint *length)
+{
+	gchar *title = NULL;
+	Tuple *tuple = psf2_tuple(filename);
+
+	if (tuple != NULL)
+	{
+		title = aud_tuple_formatter_make_title_string(tuple, aud_get_gentitle_format());
+		*length = aud_tuple_get_int(tuple, FIELD_LENGTH, NULL);
+		aud_tuple_free(tuple);
+	}
+	else
+	{
+		title = g_path_get_basename(filename);
+		*length = -1;
+	}
+
+	return title;
+}
+
+void psf2_play(InputPlayback *data)
+{
+	guchar *buffer;
+	gsize size;
+	uint32 filesig;
+	gint length;
+	gchar *title = psf2_title(data->filename, &length);
+
+	path = g_strdup(data->filename);
+	aud_vfs_file_get_contents(data->filename, (gchar **) &buffer, &size);
+
+	// now try to identify the file
+	type = 0;
+	filesig = buffer[0]<<24 | buffer[1]<<16 | buffer[2]<<8 | buffer[3];
+	while (types[type].sig != 0xffffffff)
+	{
+		if (filesig == types[type].sig)
+		{
+			break;
+		}
+		else
+		{
+			type++;
+		}
+	}
+
+	// now did we identify it above or just fall through?
+	if (types[type].sig == 0xffffffff)
+	{
+		printf("ERROR: File is unknown, signature bytes are %02x %02x %02x %02x\n", buffer[0], buffer[1], buffer[2], buffer[3]);
+		free(buffer);
+		return;
+	}
+
+	if (psf2_start(buffer, size) != AO_SUCCESS)
+	{
+		free(buffer);
+		printf("ERROR: Engine rejected file!\n");
+		return;
+	}
+	
+	data->output->open_audio(FMT_S16_NE, 44100, 2);
+
+        data->set_params(data, title, length, 44100*2*2*8, 44100, 2);
+
+	data->playing = TRUE;
+	data->set_pb_ready(data);
+
+	for (;;)
+	{
+		psf2_execute(data);
+
+		if (seek)
+		{
+			data->eof = FALSE;
+			data->output->flush(seek);
+
+			psf2_command(COMMAND_RESTART, 0);
+			psf2_seek(seek);
+
+			seek = 0;
+			continue;
+		}
+
+		psf2_stop();
+
+		data->output->buffer_free();
+		data->output->buffer_free();
+
+		while (data->eof && data->output->buffer_playing())
+			g_usleep(10000);
+
+		data->output->close_audio();
+
+		break;
+	}	
+
+	g_free(buffer);
+	g_free(path);
+        g_free(title);
+
+	data->playing = FALSE;
+}
+
+void psf2_update(unsigned char *buffer, long count, InputPlayback *playback)
+{
+	const int mask = ~((((16 / 8) * 2)) - 1);
+
+	if (buffer == NULL)
+	{
+		playback->playing = FALSE;
+		playback->eof = TRUE;
+
+		return;
+	}
+
+	while (count > 0)
+	{
+		int t = playback->output->buffer_free() & mask;
+		if (t > count)
+			playback->pass_audio(playback, FMT_S16_NE, 2, count, buffer, NULL);
+		else
+		{
+			if (t)
+				playback->pass_audio(playback, FMT_S16_NE, 2, t, buffer, NULL);
+
+			g_usleep((count-t)*1000*5/441/2);
+		}
+		count -= t;
+		buffer += t;
+	}
+
+	if (seek)
+	{
+		if (psf2_seek(seek))
+		{
+			playback->output->flush(seek);
+			seek = 0;
+		}
+		else
+		{
+			playback->eof = TRUE;
+			return;
+		}
+	}
+}
+
+void psf2_Stop(InputPlayback *playback)
+{
+	playback->playing = FALSE;
+}
+
+void psf2_pause(InputPlayback *playback, short p)
+{
+	playback->output->pause(p);
+}
+
+int psf2_is_our_fd(gchar *filename, VFSFile *file)
+{
+	gchar magic[4];
+	aud_vfs_fread(magic, 1, 4, file);
+
+	if (!memcmp(magic, "PSF\x02", 4))
+		return 1;
+
+	return 0;
+}
+
+void psf2_Seek(InputPlayback *playback, int time)
+{
+	seek = time * 1000;
+}
+
+gchar *psf2_fmts[] = { "psf2", "minipsf2", NULL };
+
+InputPlugin psf2_ip =
+{
+	.description = "PSF2 Audio Plugin",
+	.play_file = psf2_play,
+	.stop = psf2_Stop,
+	.pause = psf2_pause,
+	.seek = psf2_Seek,
+	.get_song_tuple = psf2_tuple,
+	.is_our_file_from_vfs = psf2_is_our_fd,
+	.vfs_extensions = psf2_fmts,
+};
+
+InputPlugin *psf2_iplist[] = { &psf2_ip, NULL };
+
+DECLARE_PLUGIN(psf2, NULL, NULL, psf2_iplist, NULL, NULL, NULL, NULL, NULL);
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/psx.c	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,3159 @@
+/*
+ * Sony CXD8530AQ/CXD8530BQ/CXD8530CQ/CXD8661R
+ *
+ * PSX CPU emulator for the MAME project written by smf
+ * Thanks to Farfetch'd for information on the delay slot bug
+ *
+ * The PSX CPU is a custom r3000a with a built in
+ * geometry transform engine, no mmu & no data cache.
+ *
+ * There is a stall circuit for load delays, but
+ * it doesn't work if the load occurs in a branch
+ * delay slot.
+ *
+ */
+
+#include <stdio.h>
+#include "ao.h"
+#include "cpuintrf.h"
+#include "psx.h"
+
+#define EXC_INT ( 0 )
+#define EXC_ADEL ( 4 )
+#define EXC_ADES ( 5 )
+#define EXC_SYS ( 8 )
+#define EXC_BP ( 9 )
+#define EXC_RI ( 10 )
+#define EXC_CPU ( 11 )
+#define EXC_OVF ( 12 )
+
+#define CP0_RANDOM ( 1 )
+#define CP0_BADVADDR ( 8 )
+#define CP0_SR ( 12 )
+#define CP0_CAUSE ( 13 )
+#define CP0_EPC ( 14 )
+#define CP0_PRID ( 15 )
+
+#define SR_IEC ( 1L << 0 )
+#define SR_KUC ( 1L << 1 )
+#define SR_ISC ( 1L << 16 )
+#define SR_SWC ( 1L << 17 )
+#define SR_TS  ( 1L << 21 )
+#define SR_BEV ( 1L << 22 )
+#define SR_RE ( 1L << 25 )
+#define SR_CU0 ( 1L << 28 )
+#define SR_CU1 ( 1L << 29 )
+#define SR_CU2 ( 1L << 30 )
+#define SR_CU3 ( 1L << 31 )
+
+#define CAUSE_EXC ( 31L << 2 )
+#define CAUSE_IP ( 255L << 8 )
+#define CAUSE_IP2 ( 1L << 10 )
+#define CAUSE_IP3 ( 1L << 11 )
+#define CAUSE_IP4 ( 1L << 12 )
+#define CAUSE_IP5 ( 1L << 13 )
+#define CAUSE_IP6 ( 1L << 14 )
+#define CAUSE_IP7 ( 1L << 15 )
+#define CAUSE_CE ( 3L << 28 )
+#define CAUSE_CE0 ( 0L << 28 )
+#define CAUSE_CE1 ( 1L << 28 )
+#define CAUSE_CE2 ( 2L << 28 )
+#define CAUSE_BD ( 1L << 31 )
+
+extern void psx_bios_hle(uint32 pc);
+extern void psx_iop_call(uint32 pc, uint32 callnum);
+extern uint8 program_read_byte_32le(offs_t address);
+extern uint16 program_read_word_32le(offs_t address);
+extern uint32 program_read_dword_32le(offs_t address);
+extern void program_write_byte_32le(offs_t address, uint8 data);
+extern void program_write_word_32le(offs_t address, uint16 data);
+extern void program_write_dword_32le(offs_t address, uint32 data);
+
+static UINT8 mips_reg_layout[] =
+{
+	MIPS_PC, -1,
+	MIPS_DELAYV, MIPS_DELAYR, -1,
+	MIPS_HI, MIPS_LO, -1,
+	-1,
+	MIPS_R0, MIPS_R1, -1,
+	MIPS_R2, MIPS_R3, -1,
+	MIPS_R4, MIPS_R5, -1,
+	MIPS_R6, MIPS_R7, -1,
+	MIPS_R8, MIPS_R9, -1,
+	MIPS_R10, MIPS_R11, -1,
+	MIPS_R12, MIPS_R13, -1,
+	MIPS_R14, MIPS_R15, -1,
+	MIPS_R16, MIPS_R17, -1,
+	MIPS_R18, MIPS_R19, -1,
+	MIPS_R20, MIPS_R21, -1,
+	MIPS_R22, MIPS_R23, -1,
+	MIPS_R24, MIPS_R25, -1,
+	MIPS_R26, MIPS_R27, -1,
+	MIPS_R28, MIPS_R29, -1,
+	MIPS_R30, MIPS_R31, -1,
+	-1,
+	MIPS_CP0R0, MIPS_CP0R1, -1,
+	MIPS_CP0R2, MIPS_CP0R3, -1,
+	MIPS_CP0R4, MIPS_CP0R5, -1,
+	MIPS_CP0R6, MIPS_CP0R7, -1,
+	MIPS_CP0R8, MIPS_CP0R9, -1,
+	MIPS_CP0R10, MIPS_CP0R11, -1,
+	MIPS_CP0R12, MIPS_CP0R13, -1,
+	MIPS_CP0R14, MIPS_CP0R15, -1,
+	MIPS_CP0R16, MIPS_CP0R17, -1,
+	MIPS_CP0R18, MIPS_CP0R19, -1,
+	MIPS_CP0R20, MIPS_CP0R21, -1,
+	MIPS_CP0R22, MIPS_CP0R23, -1,
+	MIPS_CP0R24, MIPS_CP0R25, -1,
+	MIPS_CP0R26, MIPS_CP0R27, -1,
+	MIPS_CP0R28, MIPS_CP0R29, -1,
+	MIPS_CP0R30, MIPS_CP0R31, -1,
+	-1,
+	MIPS_CP2DR0, MIPS_CP2DR1, -1,
+	MIPS_CP2DR2, MIPS_CP2DR3, -1,
+	MIPS_CP2DR4, MIPS_CP2DR5, -1,
+	MIPS_CP2DR6, MIPS_CP2DR7, -1,
+	MIPS_CP2DR8, MIPS_CP2DR9, -1,
+	MIPS_CP2DR10, MIPS_CP2DR11, -1,
+	MIPS_CP2DR12, MIPS_CP2DR13, -1,
+	MIPS_CP2DR14, MIPS_CP2DR15, -1,
+	MIPS_CP2DR16, MIPS_CP2DR17, -1,
+	MIPS_CP2DR18, MIPS_CP2DR19, -1,
+	MIPS_CP2DR20, MIPS_CP2DR21, -1,
+	MIPS_CP2DR22, MIPS_CP2DR23, -1,
+	MIPS_CP2DR24, MIPS_CP2DR25, -1,
+	MIPS_CP2DR26, MIPS_CP2DR27, -1,
+	MIPS_CP2DR28, MIPS_CP2DR29, -1,
+	MIPS_CP2DR30, MIPS_CP2DR31, -1,
+	-1,
+	MIPS_CP2CR0, MIPS_CP2CR1, -1,
+	MIPS_CP2CR2, MIPS_CP2CR3, -1,
+	MIPS_CP2CR4, MIPS_CP2CR5, -1,
+	MIPS_CP2CR6, MIPS_CP2CR7, -1,
+	MIPS_CP2CR8, MIPS_CP2CR9, -1,
+	MIPS_CP2CR10, MIPS_CP2CR11, -1,
+	MIPS_CP2CR12, MIPS_CP2CR13, -1,
+	MIPS_CP2CR14, MIPS_CP2CR15, -1,
+	MIPS_CP2CR16, MIPS_CP2CR17, -1,
+	MIPS_CP2CR18, MIPS_CP2CR19, -1,
+	MIPS_CP2CR20, MIPS_CP2CR21, -1,
+	MIPS_CP2CR22, MIPS_CP2CR23, -1,
+	MIPS_CP2CR24, MIPS_CP2CR25, -1,
+	MIPS_CP2CR26, MIPS_CP2CR27, -1,
+	MIPS_CP2CR28, MIPS_CP2CR29, -1,
+	MIPS_CP2CR30, MIPS_CP2CR31,
+	0
+};
+
+static UINT8 mips_win_layout[] = {
+	45, 0,35,13,	/* register window (top right) */
+	 0, 0,44,13,	/* disassembler window (left, upper) */
+	 0,14,44, 8,	/* memory #1 window (left, middle) */
+	45,14,35, 8,	/* memory #2 window (lower) */
+	 0,23,80, 1 	/* command line window (bottom rows) */
+};
+
+static const char *delayn[] =
+{
+	"pc", "at", "v0", "v1", "a0", "a1", "a2", "a3",
+	"t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7",
+	"s0", "s1", "s2", "s3", "s4", "s5", "s6", "s7",
+	"t8", "t9", "k0", "k1", "gp", "sp", "fp", "ra",
+	"pc"
+};
+
+#define REGPC ( 32 )
+
+typedef struct
+{
+	UINT32 op;
+	UINT32 pc;
+	UINT32 prevpc;
+	UINT32 delayv;
+	UINT32 delayr;
+	UINT32 hi;
+	UINT32 lo;
+	UINT32 r[ 32 ];
+	UINT32 cp0r[ 32 ];
+	PAIR cp2cr[ 32 ];
+	PAIR cp2dr[ 32 ];
+	int (*irq_callback)(int irqline);
+} mips_cpu_context;
+
+static mips_cpu_context mipscpu;
+
+static int mips_ICount = 0;
+
+static UINT32 mips_mtc0_writemask[]=
+{
+	0xffffffff, /* INDEX */
+	0x00000000, /* RANDOM */
+	0xffffff00, /* ENTRYLO */
+	0x00000000,
+	0xffe00000, /* CONTEXT */
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000, /* BADVADDR */
+	0x00000000,
+	0xffffffc0, /* ENTRYHI */
+	0x00000000,
+	0xf27fff3f, /* SR */
+	0x00000300, /* CAUSE */
+	0x00000000, /* EPC */
+	0x00000000, /* PRID */
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000,
+	0x00000000
+};
+
+#if 0
+void GTELOG(const char *a,...)
+{
+	va_list va;
+	char s_text[ 1024 ];
+	va_start( va, a );
+	vsprintf( s_text, a, va );
+	va_end( va );
+	logerror( "%08x: GTE: %08x %s\n", mipscpu.pc, INS_COFUN( mipscpu.op ), s_text );
+}
+#else
+INLINE void GTELOG(const char *a, ...) {}
+#endif
+
+static UINT32 getcp2dr( int n_reg );
+static void setcp2dr( int n_reg, UINT32 n_value );
+static UINT32 getcp2cr( int n_reg );
+static void setcp2cr( int n_reg, UINT32 n_value );
+static void docop2( int gteop );
+static void mips_exception( int exception );
+
+void mips_stop( void )
+{
+#ifdef MAME_DEBUG
+	extern int debug_key_pressed;
+	debug_key_pressed = 1;
+	CALL_MAME_DEBUG;
+#endif
+}
+
+INLINE void mips_set_cp0r( int reg, UINT32 value )
+{
+	mipscpu.cp0r[ reg ] = value;
+	if( reg == CP0_SR || reg == CP0_CAUSE )
+	{
+		if( ( mipscpu.cp0r[ CP0_SR ] & SR_IEC ) != 0 && ( mipscpu.cp0r[ CP0_SR ] & mipscpu.cp0r[ CP0_CAUSE ] & CAUSE_IP ) != 0 )
+		{
+			mips_exception( EXC_INT );
+		}
+		else if( mipscpu.delayr != REGPC && ( mipscpu.pc & ( ( ( mipscpu.cp0r[ CP0_SR ] & SR_KUC ) << 30 ) | 3 ) ) != 0 )
+		{
+			mips_exception( EXC_ADEL );
+			mips_set_cp0r( CP0_BADVADDR, mipscpu.pc );
+		}
+	}
+}
+
+INLINE void mips_commit_delayed_load( void )
+{
+	if( mipscpu.delayr != 0 )
+	{
+		mipscpu.r[ mipscpu.delayr ] = mipscpu.delayv;
+		mipscpu.delayr = 0;
+		mipscpu.delayv = 0;
+	}
+}
+
+INLINE void mips_delayed_branch( UINT32 n_adr )
+{
+	if( ( n_adr & ( ( ( mipscpu.cp0r[ CP0_SR ] & SR_KUC ) << 30 ) | 3 ) ) != 0 )
+	{
+		mips_exception( EXC_ADEL );
+		mips_set_cp0r( CP0_BADVADDR, n_adr );
+	}
+	else
+	{
+		mips_commit_delayed_load();
+		mipscpu.delayr = REGPC;
+		mipscpu.delayv = n_adr;
+		mipscpu.pc += 4;
+	}
+}
+
+INLINE void mips_set_pc( unsigned val )
+{
+	mipscpu.pc = val;
+	change_pc( val );
+	mipscpu.delayr = 0;
+	mipscpu.delayv = 0;
+}
+
+INLINE void mips_advance_pc( void )
+{
+	if( mipscpu.delayr == REGPC )
+	{
+		mips_set_pc( mipscpu.delayv );
+	}
+	else
+	{
+		mips_commit_delayed_load();
+		mipscpu.pc += 4;
+	}
+}
+
+INLINE void mips_load( UINT32 n_r, UINT32 n_v )
+{
+	mips_advance_pc();
+	if( n_r != 0 )
+	{
+		mipscpu.r[ n_r ] = n_v;
+	}
+}
+
+INLINE void mips_delayed_load( UINT32 n_r, UINT32 n_v )
+{
+	if( mipscpu.delayr == REGPC )
+	{
+		mips_set_pc( mipscpu.delayv );
+		mipscpu.delayr = n_r;
+		mipscpu.delayv = n_v;
+	}
+	else
+	{
+		mips_commit_delayed_load();
+		mipscpu.pc += 4;
+		if( n_r != 0 )
+		{
+			mipscpu.r[ n_r ] = n_v;
+		}
+	}
+}
+
+static void mips_exception( int exception )
+{
+	mips_set_cp0r( CP0_SR, ( mipscpu.cp0r[ CP0_SR ] & ~0x3f ) | ( ( mipscpu.cp0r[ CP0_SR ] << 2 ) & 0x3f ) );
+	if( mipscpu.delayr == REGPC )
+	{
+		mips_set_cp0r( CP0_EPC, mipscpu.pc - 4 );
+		mips_set_cp0r( CP0_CAUSE, ( mipscpu.cp0r[ CP0_CAUSE ] & ~CAUSE_EXC ) | CAUSE_BD | ( exception << 2 ) );
+	}
+	else
+	{
+		mips_commit_delayed_load();
+		mips_set_cp0r( CP0_EPC, mipscpu.pc );
+		mips_set_cp0r( CP0_CAUSE, ( mipscpu.cp0r[ CP0_CAUSE ] & ~( CAUSE_EXC | CAUSE_BD ) ) | ( exception << 2 ) );
+	}
+	if( mipscpu.cp0r[ CP0_SR ] & SR_BEV )
+	{
+		mips_set_pc( 0xbfc00180 );
+	}
+	else
+	{
+		mips_set_pc( 0x80000080 );
+	}
+}
+
+void mips_init( void )
+{
+#if 0
+	int cpu = cpu_getactivecpu();
+
+	state_save_register_UINT32( "psxcpu", cpu, "op", &mipscpu.op, 1 );
+	state_save_register_UINT32( "psxcpu", cpu, "pc", &mipscpu.pc, 1 );
+	state_save_register_UINT32( "psxcpu", cpu, "delayv", &mipscpu.delayv, 1 );
+	state_save_register_UINT32( "psxcpu", cpu, "delayr", &mipscpu.delayr, 1 );
+	state_save_register_UINT32( "psxcpu", cpu, "hi", &mipscpu.hi, 1 );
+	state_save_register_UINT32( "psxcpu", cpu, "lo", &mipscpu.lo, 1 );
+	state_save_register_UINT32( "psxcpu", cpu, "r", &mipscpu.r[ 0 ], 32 );
+	state_save_register_UINT32( "psxcpu", cpu, "cp0r", &mipscpu.cp0r[ 0 ], 32 );
+	state_save_register_UINT32( "psxcpu", cpu, "cp2cr", &mipscpu.cp2cr[ 0 ].d, 32 );
+	state_save_register_UINT32( "psxcpu", cpu, "cp2dr", &mipscpu.cp2dr[ 0 ].d, 32 );
+#endif
+}
+
+void mips_reset( void *param )
+{
+	mips_set_cp0r( CP0_SR, ( mipscpu.cp0r[ CP0_SR ] & ~( SR_TS | SR_SWC | SR_KUC | SR_IEC ) ) | SR_BEV );
+	mips_set_cp0r( CP0_RANDOM, 63 ); /* todo: */
+	mips_set_cp0r( CP0_PRID, 0x00000200 ); /* todo: */
+	mips_set_pc( 0xbfc00000 );
+	mipscpu.prevpc = 0xffffffff;
+}
+
+static void mips_exit( void )
+{
+}
+
+void mips_shorten_frame(void)
+{
+	mips_ICount = 0;
+}
+
+void psx_hw_runcounters(void);
+
+int psxcpu_verbose = 0;
+
+int mips_execute( int cycles )
+{
+	UINT32 n_res;
+
+	mips_ICount = cycles;
+	do
+	{
+//		CALL_MAME_DEBUG;
+
+//		psx_hw_runcounters();
+	
+		mipscpu.op = cpu_readop32( mipscpu.pc );
+
+#if 0
+		while (mipscpu.prevpc == mipscpu.pc)
+		{
+			psx_hw_runcounters();
+			mips_ICount--;
+
+			if (mips_ICount == 0) return cycles;
+		}
+
+		// if we're not in a delay slot, update
+		// if we're in a delay slot and the delay instruction is not NOP, update
+		if (( mipscpu.delayr == 0 ) || ((mipscpu.delayr != 0) && (mipscpu.op != 0)))
+		{
+			mipscpu.prevpc = mipscpu.pc;
+		}	
+#endif
+#if 0
+		if (1) //psxcpu_verbose)
+		{
+			printf("[%08x: %08x] [SP %08x RA %08x V0 %08x V1 %08x A0 %08x S0 %08x S1 %08x]\n", mipscpu.pc, mipscpu.op, mipscpu.r[29], mipscpu.r[31], mipscpu.r[2], mipscpu.r[3], mipscpu.r[4], mipscpu.r[ 16 ], mipscpu.r[ 17 ]);
+//			psxcpu_verbose--;
+		}
+#endif
+		switch( INS_OP( mipscpu.op ) )
+		{
+		case OP_SPECIAL:
+			switch( INS_FUNCT( mipscpu.op ) )
+			{
+			case FUNCT_HLECALL:
+//				printf("HLECALL, PC = %08x\n", mipscpu.pc);
+				psx_bios_hle(mipscpu.pc);
+				break;
+			case FUNCT_SLL:
+				mips_load( INS_RD( mipscpu.op ), mipscpu.r[ INS_RT( mipscpu.op ) ] << INS_SHAMT( mipscpu.op ) );
+				break;
+			case FUNCT_SRL:
+				mips_load( INS_RD( mipscpu.op ), mipscpu.r[ INS_RT( mipscpu.op ) ] >> INS_SHAMT( mipscpu.op ) );
+				break;
+			case FUNCT_SRA:
+				mips_load( INS_RD( mipscpu.op ), (INT32)mipscpu.r[ INS_RT( mipscpu.op ) ] >> INS_SHAMT( mipscpu.op ) );
+				break;
+			case FUNCT_SLLV:
+				mips_load( INS_RD( mipscpu.op ), mipscpu.r[ INS_RT( mipscpu.op ) ] << ( mipscpu.r[ INS_RS( mipscpu.op ) ] & 31 ) );
+				break;
+			case FUNCT_SRLV:
+				mips_load( INS_RD( mipscpu.op ), mipscpu.r[ INS_RT( mipscpu.op ) ] >> ( mipscpu.r[ INS_RS( mipscpu.op ) ] & 31 ) );
+				break;
+			case FUNCT_SRAV:
+				mips_load( INS_RD( mipscpu.op ), (INT32)mipscpu.r[ INS_RT( mipscpu.op ) ] >> ( mipscpu.r[ INS_RS( mipscpu.op ) ] & 31 ) );
+				break;
+			case FUNCT_JR:
+				if( INS_RD( mipscpu.op ) != 0 )
+				{
+					mips_exception( EXC_RI );
+				}
+				else
+				{
+					mips_delayed_branch( mipscpu.r[ INS_RS( mipscpu.op ) ] );
+				}
+				break;
+			case FUNCT_JALR:
+				n_res = mipscpu.pc + 8;
+				mips_delayed_branch( mipscpu.r[ INS_RS( mipscpu.op ) ] );
+				if( INS_RD( mipscpu.op ) != 0 )
+				{
+					mipscpu.r[ INS_RD( mipscpu.op ) ] = n_res;
+				}
+				break;
+			case FUNCT_SYSCALL:
+				mips_exception( EXC_SYS );
+				break;
+			case FUNCT_BREAK:
+				printf("BREAK!\n");
+				exit(-1);
+//				mips_exception( EXC_BP );
+				mips_advance_pc();
+				break;
+			case FUNCT_MFHI:
+				mips_load( INS_RD( mipscpu.op ), mipscpu.hi );
+				break;
+			case FUNCT_MTHI:
+				if( INS_RD( mipscpu.op ) != 0 )
+				{
+					mips_exception( EXC_RI );
+				}
+				else
+				{
+					mips_advance_pc();
+					mipscpu.hi = mipscpu.r[ INS_RS( mipscpu.op ) ];
+				}
+				break;
+			case FUNCT_MFLO:
+				mips_load( INS_RD( mipscpu.op ),  mipscpu.lo );
+				break;
+			case FUNCT_MTLO:
+				if( INS_RD( mipscpu.op ) != 0 )
+				{
+					mips_exception( EXC_RI );
+				}
+				else
+				{
+					mips_advance_pc();
+					mipscpu.lo = mipscpu.r[ INS_RS( mipscpu.op ) ];
+				}
+				break;
+			case FUNCT_MULT:
+				if( INS_RD( mipscpu.op ) != 0 )
+				{
+					mips_exception( EXC_RI );
+				}
+				else
+				{
+					INT64 n_res64;
+					n_res64 = MUL_64_32_32( (INT32)mipscpu.r[ INS_RS( mipscpu.op ) ], (INT32)mipscpu.r[ INS_RT( mipscpu.op ) ] );
+					mips_advance_pc();
+					mipscpu.lo = LO32_32_64( n_res64 );
+					mipscpu.hi = HI32_32_64( n_res64 );
+				}
+				break;
+			case FUNCT_MULTU:
+				if( INS_RD( mipscpu.op ) != 0 )
+				{
+					mips_exception( EXC_RI );
+				}
+				else
+				{
+					UINT64 n_res64;
+					n_res64 = MUL_U64_U32_U32( mipscpu.r[ INS_RS( mipscpu.op ) ], mipscpu.r[ INS_RT( mipscpu.op ) ] );
+					mips_advance_pc();
+					mipscpu.lo = LO32_U32_U64( n_res64 );
+					mipscpu.hi = HI32_U32_U64( n_res64 );
+				}
+				break;
+			case FUNCT_DIV:
+				if( INS_RD( mipscpu.op ) != 0 )
+				{
+					mips_exception( EXC_RI );
+				}
+				else
+				{
+					UINT32 n_div;
+					UINT32 n_mod;
+					if( mipscpu.r[ INS_RT( mipscpu.op ) ] != 0 )
+					{
+						n_div = (INT32)mipscpu.r[ INS_RS( mipscpu.op ) ] / (INT32)mipscpu.r[ INS_RT( mipscpu.op ) ];
+						n_mod = (INT32)mipscpu.r[ INS_RS( mipscpu.op ) ] % (INT32)mipscpu.r[ INS_RT( mipscpu.op ) ];
+						mips_advance_pc();
+						mipscpu.lo = n_div;
+						mipscpu.hi = n_mod;
+					}
+					else
+					{
+						mips_advance_pc();
+					}
+				}
+				break;
+			case FUNCT_DIVU:
+				if( INS_RD( mipscpu.op ) != 0 )
+				{
+					mips_exception( EXC_RI );
+				}
+				else
+				{
+					UINT32 n_div;
+					UINT32 n_mod;
+					if( mipscpu.r[ INS_RT( mipscpu.op ) ] != 0 )
+					{
+						n_div = mipscpu.r[ INS_RS( mipscpu.op ) ] / mipscpu.r[ INS_RT( mipscpu.op ) ];
+						n_mod = mipscpu.r[ INS_RS( mipscpu.op ) ] % mipscpu.r[ INS_RT( mipscpu.op ) ];
+						mips_advance_pc();
+						mipscpu.lo = n_div;
+						mipscpu.hi = n_mod;
+					}
+					else
+					{
+						mips_advance_pc();
+					}
+				}
+				break;
+			case FUNCT_ADD:
+				{
+					n_res = mipscpu.r[ INS_RS( mipscpu.op ) ] + mipscpu.r[ INS_RT( mipscpu.op ) ];
+					if( (INT32)( ~( mipscpu.r[ INS_RS( mipscpu.op ) ] ^ mipscpu.r[ INS_RT( mipscpu.op ) ] ) & ( mipscpu.r[ INS_RS( mipscpu.op ) ] ^ n_res ) ) < 0 )
+					{
+						mips_exception( EXC_OVF );
+					}
+					else
+					{
+						mips_load( INS_RD( mipscpu.op ), n_res );
+					}
+				}
+				break;
+			case FUNCT_ADDU:
+				mips_load( INS_RD( mipscpu.op ), mipscpu.r[ INS_RS( mipscpu.op ) ] + mipscpu.r[ INS_RT( mipscpu.op ) ] );
+				break;
+			case FUNCT_SUB:
+				n_res = mipscpu.r[ INS_RS( mipscpu.op ) ] - mipscpu.r[ INS_RT( mipscpu.op ) ];
+				if( (INT32)( ( mipscpu.r[ INS_RS( mipscpu.op ) ] ^ mipscpu.r[ INS_RT( mipscpu.op ) ] ) & ( mipscpu.r[ INS_RS( mipscpu.op ) ] ^ n_res ) ) < 0 )
+				{
+					mips_exception( EXC_OVF );
+				}
+				else
+				{
+					mips_load( INS_RD( mipscpu.op ), n_res );
+				}
+				break;
+			case FUNCT_SUBU:
+				mips_load( INS_RD( mipscpu.op ), mipscpu.r[ INS_RS( mipscpu.op ) ] - mipscpu.r[ INS_RT( mipscpu.op ) ] );
+				break;
+			case FUNCT_AND:
+				mips_load( INS_RD( mipscpu.op ), mipscpu.r[ INS_RS( mipscpu.op ) ] & mipscpu.r[ INS_RT( mipscpu.op ) ] );
+				break;
+			case FUNCT_OR:
+				mips_load( INS_RD( mipscpu.op ), mipscpu.r[ INS_RS( mipscpu.op ) ] | mipscpu.r[ INS_RT( mipscpu.op ) ] );
+				break;
+			case FUNCT_XOR:
+				mips_load( INS_RD( mipscpu.op ), mipscpu.r[ INS_RS( mipscpu.op ) ] ^ mipscpu.r[ INS_RT( mipscpu.op ) ] );
+				break;
+			case FUNCT_NOR:
+				mips_load( INS_RD( mipscpu.op ), ~( mipscpu.r[ INS_RS( mipscpu.op ) ] | mipscpu.r[ INS_RT( mipscpu.op ) ] ) );
+				break;
+			case FUNCT_SLT:
+				mips_load( INS_RD( mipscpu.op ), (INT32)mipscpu.r[ INS_RS( mipscpu.op ) ] < (INT32)mipscpu.r[ INS_RT( mipscpu.op ) ] );
+				break;
+			case FUNCT_SLTU:
+				mips_load( INS_RD( mipscpu.op ), mipscpu.r[ INS_RS( mipscpu.op ) ] < mipscpu.r[ INS_RT( mipscpu.op ) ] );
+				break;
+			default:
+				mips_exception( EXC_RI );
+				break;
+			}
+			break;
+		case OP_REGIMM:
+			switch( INS_RT( mipscpu.op ) )
+			{
+			case RT_BLTZ:
+				if( (INT32)mipscpu.r[ INS_RS( mipscpu.op ) ] < 0 )
+				{
+					mips_delayed_branch( mipscpu.pc + 4 + ( MIPS_WORD_EXTEND( INS_IMMEDIATE( mipscpu.op ) ) << 2 ) );
+				}
+				else
+				{
+					mips_advance_pc();
+				}
+				break;
+			case RT_BGEZ:
+				if( (INT32)mipscpu.r[ INS_RS( mipscpu.op ) ] >= 0 )
+				{
+					mips_delayed_branch( mipscpu.pc + 4 + ( MIPS_WORD_EXTEND( INS_IMMEDIATE( mipscpu.op ) ) << 2 ) );
+				}
+				else
+				{
+					mips_advance_pc();
+				}
+				break;
+			case RT_BLTZAL:
+				n_res = mipscpu.pc + 8;
+				if( (INT32)mipscpu.r[ INS_RS( mipscpu.op ) ] < 0 )
+				{
+					mips_delayed_branch( mipscpu.pc + 4 + ( MIPS_WORD_EXTEND( INS_IMMEDIATE( mipscpu.op ) ) << 2 ) );
+				}
+				else
+				{
+					mips_advance_pc();
+				}
+				mipscpu.r[ 31 ] = n_res;
+				break;
+			case RT_BGEZAL:
+				n_res = mipscpu.pc + 8;
+				if( (INT32)mipscpu.r[ INS_RS( mipscpu.op ) ] >= 0 )
+				{
+					mips_delayed_branch( mipscpu.pc + 4 + ( MIPS_WORD_EXTEND( INS_IMMEDIATE( mipscpu.op ) ) << 2 ) );
+				}
+				else
+				{
+					mips_advance_pc();
+				}
+				mipscpu.r[ 31 ] = n_res;
+				break;
+			}
+			break;
+		case OP_J:
+			mips_delayed_branch( ( ( mipscpu.pc + 4 ) & 0xf0000000 ) + ( INS_TARGET( mipscpu.op ) << 2 ) );
+			break;
+		case OP_JAL:
+			n_res = mipscpu.pc + 8;
+			mips_delayed_branch( ( ( mipscpu.pc + 4 ) & 0xf0000000 ) + ( INS_TARGET( mipscpu.op ) << 2 ) );
+			mipscpu.r[ 31 ] = n_res;
+			break;
+		case OP_BEQ:
+			if( mipscpu.r[ INS_RS( mipscpu.op ) ] == mipscpu.r[ INS_RT( mipscpu.op ) ] )
+			{
+				mips_delayed_branch( mipscpu.pc + 4 + ( MIPS_WORD_EXTEND( INS_IMMEDIATE( mipscpu.op ) ) << 2 ) );
+			}
+			else
+			{
+				mips_advance_pc();
+			}
+			break;
+		case OP_BNE:
+			if( mipscpu.r[ INS_RS( mipscpu.op ) ] != mipscpu.r[ INS_RT( mipscpu.op ) ] )
+			{
+				mips_delayed_branch( mipscpu.pc + 4 + ( MIPS_WORD_EXTEND( INS_IMMEDIATE( mipscpu.op ) ) << 2 ) );
+			}
+			else
+			{
+				mips_advance_pc();
+			}
+			break;
+		case OP_BLEZ:
+			if( INS_RT( mipscpu.op ) != 0 )
+			{
+				mips_exception( EXC_RI );
+			}
+			else if( (INT32)mipscpu.r[ INS_RS( mipscpu.op ) ] <= 0 )
+			{
+				mips_delayed_branch( mipscpu.pc + 4 + ( MIPS_WORD_EXTEND( INS_IMMEDIATE( mipscpu.op ) ) << 2 ) );
+			}
+			else
+			{
+				mips_advance_pc();
+			}
+			break;
+		case OP_BGTZ:
+			if( INS_RT( mipscpu.op ) != 0 )
+			{
+				mips_exception( EXC_RI );
+			}
+			else if( (INT32)mipscpu.r[ INS_RS( mipscpu.op ) ] > 0 )
+			{
+				mips_delayed_branch( mipscpu.pc + 4 + ( MIPS_WORD_EXTEND( INS_IMMEDIATE( mipscpu.op ) ) << 2 ) );
+			}
+			else
+			{
+				mips_advance_pc();
+			}
+			break;
+		case OP_ADDI:
+			{
+				UINT32 n_imm;
+				n_imm = MIPS_WORD_EXTEND( INS_IMMEDIATE( mipscpu.op ) );
+				n_res = mipscpu.r[ INS_RS( mipscpu.op ) ] + n_imm;
+				if( (INT32)( ~( mipscpu.r[ INS_RS( mipscpu.op ) ] ^ n_imm ) & ( mipscpu.r[ INS_RS( mipscpu.op ) ] ^ n_res ) ) < 0 )
+				{
+					mips_exception( EXC_OVF );
+				}
+				else
+				{
+					mips_load( INS_RT( mipscpu.op ), n_res );
+				}
+			}
+			break;
+		case OP_ADDIU:
+			if (INS_RT( mipscpu.op ) == 0)
+			{
+				psx_iop_call(mipscpu.pc, INS_IMMEDIATE(mipscpu.op));
+				mips_advance_pc();
+			}
+			else
+			{
+				mips_load( INS_RT( mipscpu.op ), mipscpu.r[ INS_RS( mipscpu.op ) ] + MIPS_WORD_EXTEND( INS_IMMEDIATE( mipscpu.op ) ) );
+			}
+			break;
+		case OP_SLTI:
+			mips_load( INS_RT( mipscpu.op ), (INT32)mipscpu.r[ INS_RS( mipscpu.op ) ] < MIPS_WORD_EXTEND( INS_IMMEDIATE( mipscpu.op ) ) );
+			break;
+		case OP_SLTIU:
+			mips_load( INS_RT( mipscpu.op ), mipscpu.r[ INS_RS( mipscpu.op ) ] < (UINT32)MIPS_WORD_EXTEND( INS_IMMEDIATE( mipscpu.op ) ) );
+			break;
+		case OP_ANDI:
+			mips_load( INS_RT( mipscpu.op ), mipscpu.r[ INS_RS( mipscpu.op ) ] & INS_IMMEDIATE( mipscpu.op ) );
+			break;
+		case OP_ORI:
+			mips_load( INS_RT( mipscpu.op ), mipscpu.r[ INS_RS( mipscpu.op ) ] | INS_IMMEDIATE( mipscpu.op ) );
+			break;
+		case OP_XORI:
+			mips_load( INS_RT( mipscpu.op ), mipscpu.r[ INS_RS( mipscpu.op ) ] ^ INS_IMMEDIATE( mipscpu.op ) );
+			break;
+		case OP_LUI:
+			mips_load( INS_RT( mipscpu.op ), INS_IMMEDIATE( mipscpu.op ) << 16 );
+			break;
+		case OP_COP0:
+			if( ( mipscpu.cp0r[ CP0_SR ] & SR_KUC ) != 0 && ( mipscpu.cp0r[ CP0_SR ] & SR_CU0 ) == 0 )
+			{
+				mips_exception( EXC_CPU );
+				mips_set_cp0r( CP0_CAUSE, ( mipscpu.cp0r[ CP0_CAUSE ] & ~CAUSE_CE ) | CAUSE_CE0 );
+			}
+			else
+			{
+				switch( INS_RS( mipscpu.op ) )
+				{
+				case RS_MFC:
+					mips_delayed_load( INS_RT( mipscpu.op ), mipscpu.cp0r[ INS_RD( mipscpu.op ) ] );
+					break;
+				case RS_CFC:
+					/* todo: */
+					logerror( "%08x: COP0 CFC not supported\n", mipscpu.pc );
+					mips_stop();
+					mips_advance_pc();
+					break;
+				case RS_MTC:
+					n_res = ( mipscpu.cp0r[ INS_RD( mipscpu.op ) ] & ~mips_mtc0_writemask[ INS_RD( mipscpu.op ) ] ) |
+						( mipscpu.r[ INS_RT( mipscpu.op ) ] & mips_mtc0_writemask[ INS_RD( mipscpu.op ) ] );
+					mips_advance_pc();
+					mips_set_cp0r( INS_RD( mipscpu.op ), n_res );
+					break;
+				case RS_CTC:
+					/* todo: */
+					logerror( "%08x: COP0 CTC not supported\n", mipscpu.pc );
+					mips_stop();
+					mips_advance_pc();
+					break;
+				case RS_BC:
+					switch( INS_RT( mipscpu.op ) )
+					{
+					case RT_BCF:
+						/* todo: */
+						logerror( "%08x: COP0 BCF not supported\n", mipscpu.pc );
+						mips_stop();
+						mips_advance_pc();
+						break;
+					case RT_BCT:
+						/* todo: */
+						logerror( "%08x: COP0 BCT not supported\n", mipscpu.pc );
+						mips_stop();
+						mips_advance_pc();
+						break;
+					default:
+						/* todo: */
+						logerror( "%08x: COP0 unknown command %08x\n", mipscpu.pc, mipscpu.op );
+						mips_stop();
+						mips_advance_pc();
+						break;
+					}
+					break;
+				default:
+					switch( INS_CO( mipscpu.op ) )
+					{
+					case 1:
+						switch( INS_CF( mipscpu.op ) )
+						{
+						case CF_RFE:
+							mips_advance_pc();
+							mips_set_cp0r( CP0_SR, ( mipscpu.cp0r[ CP0_SR ] & ~0xf ) | ( ( mipscpu.cp0r[ CP0_SR ] >> 2 ) & 0xf ) );
+							break;
+						default:
+							/* todo: */
+							logerror( "%08x: COP0 unknown command %08x\n", mipscpu.pc, mipscpu.op );
+							mips_stop();
+							mips_advance_pc();
+							break;
+						}
+						break;
+					default:
+						/* todo: */
+						logerror( "%08x: COP0 unknown command %08x\n", mipscpu.pc, mipscpu.op );
+						mips_stop();
+						mips_advance_pc();
+						break;
+					}
+					break;
+				}
+			}
+			break;
+		case OP_COP1:
+			if( ( mipscpu.cp0r[ CP0_SR ] & SR_CU1 ) == 0 )
+			{
+				mips_exception( EXC_CPU );
+				mips_set_cp0r( CP0_CAUSE, ( mipscpu.cp0r[ CP0_CAUSE ] & ~CAUSE_CE ) | CAUSE_CE1 );
+			}
+			else
+			{
+				switch( INS_RS( mipscpu.op ) )
+				{
+				case RS_MFC:
+					/* todo: */
+					logerror( "%08x: COP1 BCT not supported\n", mipscpu.pc );
+					mips_stop();
+					mips_advance_pc();
+					break;
+				case RS_CFC:
+					/* todo: */
+					logerror( "%08x: COP1 CFC not supported\n", mipscpu.pc );
+					mips_stop();
+					mips_advance_pc();
+					break;
+				case RS_MTC:
+					/* todo: */
+					logerror( "%08x: COP1 MTC not supported\n", mipscpu.pc );
+					mips_stop();
+					mips_advance_pc();
+					break;
+				case RS_CTC:
+					/* todo: */
+					logerror( "%08x: COP1 CTC not supported\n", mipscpu.pc );
+					mips_stop();
+					mips_advance_pc();
+					break;
+				case RS_BC:
+					switch( INS_RT( mipscpu.op ) )
+					{
+					case RT_BCF:
+						/* todo: */
+						logerror( "%08x: COP1 BCF not supported\n", mipscpu.pc );
+						mips_stop();
+						mips_advance_pc();
+						break;
+					case RT_BCT:
+						/* todo: */
+						logerror( "%08x: COP1 BCT not supported\n", mipscpu.pc );
+						mips_stop();
+						mips_advance_pc();
+						break;
+					default:
+						/* todo: */
+						logerror( "%08x: COP1 unknown command %08x\n", mipscpu.pc, mipscpu.op );
+						mips_stop();
+						mips_advance_pc();
+						break;
+					}
+					break;
+				default:
+					switch( INS_CO( mipscpu.op ) )
+					{
+					case 1:
+						/* todo: */
+						logerror( "%08x: COP1 unknown command %08x\n", mipscpu.pc, mipscpu.op );
+						mips_stop();
+						mips_advance_pc();
+						break;
+					default:
+						/* todo: */
+						logerror( "%08x: COP1 unknown command %08x\n", mipscpu.pc, mipscpu.op );
+						mips_stop();
+						mips_advance_pc();
+						break;
+					}
+					break;
+				}
+			}
+			break;
+		case OP_COP2:
+			if( ( mipscpu.cp0r[ CP0_SR ] & SR_CU2 ) == 0 )
+			{
+				mips_exception( EXC_CPU );
+				mips_set_cp0r( CP0_CAUSE, ( mipscpu.cp0r[ CP0_CAUSE ] & ~CAUSE_CE ) | CAUSE_CE2 );
+			}
+			else
+			{
+				switch( INS_RS( mipscpu.op ) )
+				{
+				case RS_MFC:
+					mips_delayed_load( INS_RT( mipscpu.op ), getcp2dr( INS_RD( mipscpu.op ) ) );
+					break;
+				case RS_CFC:
+					mips_delayed_load( INS_RT( mipscpu.op ), getcp2cr( INS_RD( mipscpu.op ) ) );
+					break;
+				case RS_MTC:
+					setcp2dr( INS_RD( mipscpu.op ), mipscpu.r[ INS_RT( mipscpu.op ) ] );
+					mips_advance_pc();
+					break;
+				case RS_CTC:
+					setcp2cr( INS_RD( mipscpu.op ), mipscpu.r[ INS_RT( mipscpu.op ) ] );
+					mips_advance_pc();
+					break;
+				case RS_BC:
+					switch( INS_RT( mipscpu.op ) )
+					{
+					case RT_BCF:
+						/* todo: */
+						logerror( "%08x: COP2 BCF not supported\n", mipscpu.pc );
+						mips_stop();
+						mips_advance_pc();
+						break;
+					case RT_BCT:
+						/* todo: */
+						logerror( "%08x: COP2 BCT not supported\n", mipscpu.pc );
+						mips_stop();
+						mips_advance_pc();
+						break;
+					default:
+						/* todo: */
+						logerror( "%08x: COP2 unknown command %08x\n", mipscpu.pc, mipscpu.op );
+						mips_stop();
+						mips_advance_pc();
+						break;
+					}
+					break;
+				default:
+					switch( INS_CO( mipscpu.op ) )
+					{
+					case 1:
+						docop2( INS_COFUN( mipscpu.op ) );
+						mips_advance_pc();
+						break;
+					default:
+						/* todo: */
+						logerror( "%08x: COP2 unknown command %08x\n", mipscpu.pc, mipscpu.op );
+						mips_stop();
+						mips_advance_pc();
+						break;
+					}
+					break;
+				}
+			}
+			break;
+		case OP_LB:
+			if( ( mipscpu.cp0r[ CP0_SR ] & SR_ISC ) != 0 )
+			{
+				/* todo: */
+				logerror( "%08x: LB SR_ISC not supported\n", mipscpu.pc );
+				mips_stop();
+				mips_advance_pc();
+			}
+			else if( ( mipscpu.cp0r[ CP0_SR ] & ( SR_RE | SR_KUC ) ) == ( SR_RE | SR_KUC ) )
+			{
+				UINT32 n_adr;
+				n_adr = mipscpu.r[ INS_RS( mipscpu.op ) ] + MIPS_WORD_EXTEND( INS_IMMEDIATE( mipscpu.op ) );
+				if( ( n_adr & ( ( mipscpu.cp0r[ CP0_SR ] & SR_KUC ) << 30 ) ) != 0 )
+				{
+					mips_exception( EXC_ADEL );
+					mips_set_cp0r( CP0_BADVADDR, n_adr );
+				}
+				else
+				{
+					mips_delayed_load( INS_RT( mipscpu.op ), MIPS_BYTE_EXTEND( program_read_byte_32le( n_adr ^ 3 ) ) );
+				}
+			}
+			else
+			{
+				UINT32 n_adr;
+				n_adr = mipscpu.r[ INS_RS( mipscpu.op ) ] + MIPS_WORD_EXTEND( INS_IMMEDIATE( mipscpu.op ) );
+				if( ( n_adr & ( ( mipscpu.cp0r[ CP0_SR ] & SR_KUC ) << 30 ) ) != 0 )
+				{
+					mips_exception( EXC_ADEL );
+					mips_set_cp0r( CP0_BADVADDR, n_adr );
+				}
+				else
+				{
+					mips_delayed_load( INS_RT( mipscpu.op ), MIPS_BYTE_EXTEND( program_read_byte_32le( n_adr ) ) );
+				}
+			}
+			break;
+		case OP_LH:
+			if( ( mipscpu.cp0r[ CP0_SR ] & SR_ISC ) != 0 )
+			{
+				/* todo: */
+				logerror( "%08x: LH SR_ISC not supported\n", mipscpu.pc );
+				mips_stop();
+				mips_advance_pc();
+			}
+			else if( ( mipscpu.cp0r[ CP0_SR ] & ( SR_RE | SR_KUC ) ) == ( SR_RE | SR_KUC ) )
+			{
+				UINT32 n_adr;
+				n_adr = mipscpu.r[ INS_RS( mipscpu.op ) ] + MIPS_WORD_EXTEND( INS_IMMEDIATE( mipscpu.op ) );
+				if( ( n_adr & ( ( ( mipscpu.cp0r[ CP0_SR ] & SR_KUC ) << 30 ) | 1 ) ) != 0 )
+				{
+					mips_exception( EXC_ADEL );
+					mips_set_cp0r( CP0_BADVADDR, n_adr );
+				}
+				else
+				{
+					mips_delayed_load( INS_RT( mipscpu.op ), MIPS_WORD_EXTEND( program_read_word_32le( n_adr ^ 2 ) ) );
+				}
+			}
+			else
+			{
+				UINT32 n_adr;
+				n_adr = mipscpu.r[ INS_RS( mipscpu.op ) ] + MIPS_WORD_EXTEND( INS_IMMEDIATE( mipscpu.op ) );
+				if( ( n_adr & ( ( ( mipscpu.cp0r[ CP0_SR ] & SR_KUC ) << 30 ) | 1 ) ) != 0 )
+				{
+					mips_exception( EXC_ADEL );
+					mips_set_cp0r( CP0_BADVADDR, n_adr );
+				}
+				else
+				{
+					mips_delayed_load( INS_RT( mipscpu.op ), MIPS_WORD_EXTEND( program_read_word_32le( n_adr ) ) );
+				}
+			}
+			break;
+		case OP_LWL:
+			if( ( mipscpu.cp0r[ CP0_SR ] & SR_ISC ) != 0 )
+			{
+				/* todo: */
+				logerror( "%08x: LWL SR_ISC not supported\n", mipscpu.pc );
+				mips_stop();
+				mips_advance_pc();
+			}
+			else if( ( mipscpu.cp0r[ CP0_SR ] & ( SR_RE | SR_KUC ) ) == ( SR_RE | SR_KUC ) )
+			{
+				UINT32 n_adr;
+				n_adr = mipscpu.r[ INS_RS( mipscpu.op ) ] + MIPS_WORD_EXTEND( INS_IMMEDIATE( mipscpu.op ) );
+				if( ( n_adr & ( ( mipscpu.cp0r[ CP0_SR ] & SR_KUC ) << 30 ) ) != 0 )
+				{
+					mips_exception( EXC_ADEL );
+					mips_set_cp0r( CP0_BADVADDR, n_adr );
+				}
+				else
+				{
+					switch( n_adr & 3 )
+					{
+					case 0:
+						n_res = ( mipscpu.r[ INS_RT( mipscpu.op ) ] & 0x00ffffff ) | ( (UINT32)program_read_byte_32le( n_adr + 3 ) << 24 );
+						break;
+					case 1:
+						n_res = ( mipscpu.r[ INS_RT( mipscpu.op ) ] & 0x0000ffff ) | ( (UINT32)program_read_word_32le( n_adr + 1 ) << 16 );
+						break;
+					case 2:
+						n_res = ( mipscpu.r[ INS_RT( mipscpu.op ) ] & 0x000000ff ) | ( (UINT32)program_read_byte_32le( n_adr - 1 ) << 8 ) | ( (UINT32)program_read_word_32le( n_adr ) << 16 );
+						break;
+					default:
+						n_res = program_read_dword_32le( n_adr - 3 );
+						break;
+					}
+					mips_delayed_load( INS_RT( mipscpu.op ), n_res );
+				}
+			}
+			else
+			{
+				UINT32 n_adr;
+				n_adr = mipscpu.r[ INS_RS( mipscpu.op ) ] + MIPS_WORD_EXTEND( INS_IMMEDIATE( mipscpu.op ) );
+				if( ( n_adr & ( ( mipscpu.cp0r[ CP0_SR ] & SR_KUC ) << 30 ) ) != 0 )
+				{
+					mips_exception( EXC_ADEL );
+					mips_set_cp0r( CP0_BADVADDR, n_adr );
+				}
+				else
+				{
+					switch( n_adr & 3 )
+					{
+					case 0:
+						n_res = ( mipscpu.r[ INS_RT( mipscpu.op ) ] & 0x00ffffff ) | ( (UINT32)program_read_byte_32le( n_adr ) << 24 );
+						break;
+					case 1:
+						n_res = ( mipscpu.r[ INS_RT( mipscpu.op ) ] & 0x0000ffff ) | ( (UINT32)program_read_word_32le( n_adr - 1 ) << 16 );
+						break;
+					case 2:
+						n_res = ( mipscpu.r[ INS_RT( mipscpu.op ) ] & 0x000000ff ) | ( (UINT32)program_read_word_32le( n_adr - 2 ) << 8 ) | ( (UINT32)program_read_byte_32le( n_adr ) << 24 );
+						break;
+					default:
+						n_res = program_read_dword_32le( n_adr - 3 );
+						break;
+					}
+					mips_delayed_load( INS_RT( mipscpu.op ), n_res );
+				}
+			}
+			break;
+		case OP_LW:
+			if( ( mipscpu.cp0r[ CP0_SR ] & SR_ISC ) != 0 )
+			{
+				/* todo: */
+				logerror( "%08x: LW SR_ISC not supported\n", mipscpu.pc );
+				mips_stop();
+				mips_advance_pc();
+			}
+			else
+			{
+				UINT32 n_adr;
+				n_adr = mipscpu.r[ INS_RS( mipscpu.op ) ] + MIPS_WORD_EXTEND( INS_IMMEDIATE( mipscpu.op ) );
+#if 0
+				if( ( n_adr & ( ( ( mipscpu.cp0r[ CP0_SR ] & SR_KUC ) << 30 ) | 3 ) ) != 0 )
+				{
+					printf("ADEL\n");
+					mips_exception( EXC_ADEL );
+					mips_set_cp0r( CP0_BADVADDR, n_adr );
+				}
+				else
+#endif
+				{
+					mips_delayed_load( INS_RT( mipscpu.op ), program_read_dword_32le( n_adr ) );
+				}
+			}
+			break;
+		case OP_LBU:
+			if( ( mipscpu.cp0r[ CP0_SR ] & SR_ISC ) != 0 )
+			{
+				/* todo: */
+				logerror( "%08x: LBU SR_ISC not supported\n", mipscpu.pc );
+				mips_stop();
+				mips_advance_pc();
+			}
+			else if( ( mipscpu.cp0r[ CP0_SR ] & ( SR_RE | SR_KUC ) ) == ( SR_RE | SR_KUC ) )
+			{
+				UINT32 n_adr;
+				n_adr = mipscpu.r[ INS_RS( mipscpu.op ) ] + MIPS_WORD_EXTEND( INS_IMMEDIATE( mipscpu.op ) );
+				if( ( n_adr & ( ( mipscpu.cp0r[ CP0_SR ] & SR_KUC ) << 30 ) ) != 0 )
+				{
+					mips_exception( EXC_ADEL );
+					mips_set_cp0r( CP0_BADVADDR, n_adr );
+				}
+				else
+				{
+					mips_delayed_load( INS_RT( mipscpu.op ), program_read_byte_32le( n_adr ^ 3 ) );
+				}
+			}
+			else
+			{
+				UINT32 n_adr;
+				n_adr = mipscpu.r[ INS_RS( mipscpu.op ) ] + MIPS_WORD_EXTEND( INS_IMMEDIATE( mipscpu.op ) );
+				if( ( n_adr & ( ( mipscpu.cp0r[ CP0_SR ] & SR_KUC ) << 30 ) ) != 0 )
+				{
+					mips_exception( EXC_ADEL );
+					mips_set_cp0r( CP0_BADVADDR, n_adr );
+				}
+				else
+				{
+					mips_delayed_load( INS_RT( mipscpu.op ), program_read_byte_32le( n_adr ) );
+				}
+			}
+			break;
+		case OP_LHU:
+			if( ( mipscpu.cp0r[ CP0_SR ] & SR_ISC ) != 0 )
+			{
+				/* todo: */
+				logerror( "%08x: LHU SR_ISC not supported\n", mipscpu.pc );
+				mips_stop();
+				mips_advance_pc();
+			}
+			else if( ( mipscpu.cp0r[ CP0_SR ] & ( SR_RE | SR_KUC ) ) == ( SR_RE | SR_KUC ) )
+			{
+				UINT32 n_adr;
+				n_adr = mipscpu.r[ INS_RS( mipscpu.op ) ] + MIPS_WORD_EXTEND( INS_IMMEDIATE( mipscpu.op ) );
+				if( ( n_adr & ( ( ( mipscpu.cp0r[ CP0_SR ] & SR_KUC ) << 30 ) | 1 ) ) != 0 )
+				{
+					mips_exception( EXC_ADEL );
+					mips_set_cp0r( CP0_BADVADDR, n_adr );
+				}
+				else
+				{
+					mips_delayed_load( INS_RT( mipscpu.op ), program_read_word_32le( n_adr ^ 2 ) );
+				}
+			}
+			else
+			{
+				UINT32 n_adr;
+				n_adr = mipscpu.r[ INS_RS( mipscpu.op ) ] + MIPS_WORD_EXTEND( INS_IMMEDIATE( mipscpu.op ) );
+				if( ( n_adr & ( ( ( mipscpu.cp0r[ CP0_SR ] & SR_KUC ) << 30 ) | 1 ) ) != 0 )
+				{
+					mips_exception( EXC_ADEL );
+					mips_set_cp0r( CP0_BADVADDR, n_adr );
+				}
+				else
+				{
+					mips_delayed_load( INS_RT( mipscpu.op ), program_read_word_32le( n_adr ) );
+				}
+			}
+			break;
+		case OP_LWR:
+			if( ( mipscpu.cp0r[ CP0_SR ] & SR_ISC ) != 0 )
+			{
+				/* todo: */
+				logerror( "%08x: LWR SR_ISC not supported\n", mipscpu.pc );
+				mips_stop();
+				mips_advance_pc();
+			}
+			else if( ( mipscpu.cp0r[ CP0_SR ] & ( SR_RE | SR_KUC ) ) == ( SR_RE | SR_KUC ) )
+			{
+				UINT32 n_adr;
+				n_adr = mipscpu.r[ INS_RS( mipscpu.op ) ] + MIPS_WORD_EXTEND( INS_IMMEDIATE( mipscpu.op ) );
+				if( ( n_adr & ( ( mipscpu.cp0r[ CP0_SR ] & SR_KUC ) << 30 ) ) != 0 )
+				{
+					mips_exception( EXC_ADEL );
+					mips_set_cp0r( CP0_BADVADDR, n_adr );
+				}
+				else
+				{
+					switch( n_adr & 3 )
+					{
+					case 3:
+						n_res = ( mipscpu.r[ INS_RT( mipscpu.op ) ] & 0xffffff00 ) | program_read_byte_32le( n_adr - 3 );
+						break;
+					case 2:
+						n_res = ( mipscpu.r[ INS_RT( mipscpu.op ) ] & 0xffff0000 ) | program_read_word_32le( n_adr - 2 );
+						break;
+					case 1:
+						n_res = ( mipscpu.r[ INS_RT( mipscpu.op ) ] & 0xff000000 ) | program_read_word_32le( n_adr - 1 ) | ( (UINT32)program_read_byte_32le( n_adr + 1 ) << 16 );
+						break;
+					default:
+						n_res = program_read_dword_32le( n_adr );
+						break;
+					}
+					mips_delayed_load( INS_RT( mipscpu.op ), n_res );
+				}
+			}
+			else
+			{
+				UINT32 n_adr;
+				n_adr = mipscpu.r[ INS_RS( mipscpu.op ) ] + MIPS_WORD_EXTEND( INS_IMMEDIATE( mipscpu.op ) );
+				if( ( n_adr & ( ( mipscpu.cp0r[ CP0_SR ] & SR_KUC ) << 30 ) ) != 0 )
+				{
+					mips_exception( EXC_ADEL );
+					mips_set_cp0r( CP0_BADVADDR, n_adr );
+				}
+				else
+				{
+					switch( n_adr & 3 )
+					{
+					case 3:
+						n_res = ( mipscpu.r[ INS_RT( mipscpu.op ) ] & 0xffffff00 ) | program_read_byte_32le( n_adr );
+						break;
+					case 2:
+						n_res = ( mipscpu.r[ INS_RT( mipscpu.op ) ] & 0xffff0000 ) | program_read_word_32le( n_adr );
+						break;
+					case 1:
+						n_res = ( mipscpu.r[ INS_RT( mipscpu.op ) ] & 0xff000000 ) | program_read_byte_32le( n_adr ) | ( (UINT32)program_read_word_32le( n_adr + 1 ) << 8 );
+						break;
+					default:
+						n_res = program_read_dword_32le( n_adr );
+						break;
+					}
+					mips_delayed_load( INS_RT( mipscpu.op ), n_res );
+				}
+			}
+			break;
+		case OP_SB:
+			if( ( mipscpu.cp0r[ CP0_SR ] & SR_ISC ) != 0 )
+			{
+				/* todo: */
+				logerror( "%08x: SB SR_ISC not supported\n", mipscpu.pc );
+				mips_stop();
+				mips_advance_pc();
+			}
+			else if( ( mipscpu.cp0r[ CP0_SR ] & ( SR_RE | SR_KUC ) ) == ( SR_RE | SR_KUC ) )
+			{
+				UINT32 n_adr;
+				n_adr = mipscpu.r[ INS_RS( mipscpu.op ) ] + MIPS_WORD_EXTEND( INS_IMMEDIATE( mipscpu.op ) );
+				if( ( n_adr & ( ( mipscpu.cp0r[ CP0_SR ] & SR_KUC ) << 30 ) ) != 0 )
+				{
+					mips_exception( EXC_ADES );
+					mips_set_cp0r( CP0_BADVADDR, n_adr );
+				}
+				else
+				{
+					program_write_byte_32le( n_adr ^ 3, mipscpu.r[ INS_RT( mipscpu.op ) ] );
+					mips_advance_pc();
+				}
+			}
+			else
+			{
+				UINT32 n_adr;
+				n_adr = mipscpu.r[ INS_RS( mipscpu.op ) ] + MIPS_WORD_EXTEND( INS_IMMEDIATE( mipscpu.op ) );
+				if( ( n_adr & ( ( mipscpu.cp0r[ CP0_SR ] & SR_KUC ) << 30 ) ) != 0 )
+				{
+					mips_exception( EXC_ADES );
+					mips_set_cp0r( CP0_BADVADDR, n_adr );
+				}
+				else
+				{
+					program_write_byte_32le( n_adr, mipscpu.r[ INS_RT( mipscpu.op ) ] );
+					mips_advance_pc();
+				}
+			}
+			break;
+		case OP_SH:
+			if( ( mipscpu.cp0r[ CP0_SR ] & SR_ISC ) != 0 )
+			{
+				/* todo: */
+				logerror( "%08x: SH SR_ISC not supported\n", mipscpu.pc );
+				mips_stop();
+				mips_advance_pc();
+			}
+			else if( ( mipscpu.cp0r[ CP0_SR ] & ( SR_RE | SR_KUC ) ) == ( SR_RE | SR_KUC ) )
+			{
+				UINT32 n_adr;
+				n_adr = mipscpu.r[ INS_RS( mipscpu.op ) ] + MIPS_WORD_EXTEND( INS_IMMEDIATE( mipscpu.op ) );
+				if( ( n_adr & ( ( ( mipscpu.cp0r[ CP0_SR ] & SR_KUC ) << 30 ) | 1 ) ) != 0 )
+				{
+					mips_exception( EXC_ADES );
+					mips_set_cp0r( CP0_BADVADDR, n_adr );
+				}
+				else
+				{
+					program_write_word_32le( n_adr ^ 2, mipscpu.r[ INS_RT( mipscpu.op ) ] );
+					mips_advance_pc();
+				}
+			}
+			else
+			{
+				UINT32 n_adr;
+				n_adr = mipscpu.r[ INS_RS( mipscpu.op ) ] + MIPS_WORD_EXTEND( INS_IMMEDIATE( mipscpu.op ) );
+				if( ( n_adr & ( ( ( mipscpu.cp0r[ CP0_SR ] & SR_KUC ) << 30 ) | 1 ) ) != 0 )
+				{
+					mips_exception( EXC_ADES );
+					mips_set_cp0r( CP0_BADVADDR, n_adr );
+				}
+				else
+				{
+					program_write_word_32le( n_adr, mipscpu.r[ INS_RT( mipscpu.op ) ] );
+					mips_advance_pc();
+				}
+			}
+			break;
+		case OP_SWL:
+			if( ( mipscpu.cp0r[ CP0_SR ] & SR_ISC ) != 0 )
+			{
+				/* todo: */
+				printf("SR_ISC not supported\n");
+				logerror( "%08x: SWL SR_ISC not supported\n", mipscpu.pc );
+				mips_stop();
+				mips_advance_pc();
+			}
+			else if( ( mipscpu.cp0r[ CP0_SR ] & ( SR_RE | SR_KUC ) ) == ( SR_RE | SR_KUC ) )
+			{
+				UINT32 n_adr;
+				n_adr = mipscpu.r[ INS_RS( mipscpu.op ) ] + MIPS_WORD_EXTEND( INS_IMMEDIATE( mipscpu.op ) );
+				if( ( n_adr & ( ( mipscpu.cp0r[ CP0_SR ] & SR_KUC ) << 30 ) ) != 0 )
+				{
+					printf("permission violation?\n");
+					mips_exception( EXC_ADES );
+					mips_set_cp0r( CP0_BADVADDR, n_adr );
+				}
+				else
+				{
+					switch( n_adr & 3 )
+					{
+					case 0:
+						program_write_byte_32le( n_adr + 3, mipscpu.r[ INS_RT( mipscpu.op ) ] >> 24 );
+						break;
+					case 1:
+						program_write_word_32le( n_adr + 1, mipscpu.r[ INS_RT( mipscpu.op ) ] >> 16 );
+						break;
+					case 2:
+						program_write_byte_32le( n_adr - 1, mipscpu.r[ INS_RT( mipscpu.op ) ] >> 8 );
+						program_write_word_32le( n_adr, mipscpu.r[ INS_RT( mipscpu.op ) ] >> 16 );
+						break;
+					case 3:
+						program_write_dword_32le( n_adr - 3, mipscpu.r[ INS_RT( mipscpu.op ) ] );
+						break;
+					}
+					mips_advance_pc();
+				}
+			}
+			else
+			{
+				UINT32 n_adr;
+				n_adr = mipscpu.r[ INS_RS( mipscpu.op ) ] + MIPS_WORD_EXTEND( INS_IMMEDIATE( mipscpu.op ) );
+				if( ( n_adr & ( ( mipscpu.cp0r[ CP0_SR ] & SR_KUC ) << 30 ) ) != 0 )
+				{
+					printf("permission violation 2\n");
+					mips_exception( EXC_ADES );
+					mips_set_cp0r( CP0_BADVADDR, n_adr );
+				}
+				else
+				{
+					switch( n_adr & 3 )
+					{
+					case 0:
+						program_write_byte_32le( n_adr, mipscpu.r[ INS_RT( mipscpu.op ) ] >> 24 );
+						break;
+					case 1:
+						program_write_word_32le( n_adr - 1, mipscpu.r[ INS_RT( mipscpu.op ) ] >> 16 );
+						break;
+					case 2:
+						program_write_word_32le( n_adr - 2, mipscpu.r[ INS_RT( mipscpu.op ) ] >> 8 );
+						program_write_byte_32le( n_adr, mipscpu.r[ INS_RT( mipscpu.op ) ] >> 24 );
+						break;
+					case 3:
+						program_write_dword_32le( n_adr - 3, mipscpu.r[ INS_RT( mipscpu.op ) ] );
+						break;
+					}
+					mips_advance_pc();
+				}
+			}
+			break;
+		case OP_SW:
+			if( ( mipscpu.cp0r[ CP0_SR ] & SR_ISC ) != 0 )
+			{
+				/* todo: */
+/* used by bootstrap
+				logerror( "%08x: SW SR_ISC not supported\n", mipscpu.pc );
+				mips_stop();
+*/
+				mips_advance_pc();
+			}
+			else
+			{
+				UINT32 n_adr;
+				n_adr = mipscpu.r[ INS_RS( mipscpu.op ) ] + MIPS_WORD_EXTEND( INS_IMMEDIATE( mipscpu.op ) );
+				if(0) // ( n_adr & ( ( ( mipscpu.cp0r[ CP0_SR ] & SR_KUC ) << 30 ) | 3 ) ) != 0 )
+				{
+					mips_exception( EXC_ADES );
+					mips_set_cp0r( CP0_BADVADDR, n_adr );
+				}
+				else
+				{
+					program_write_dword_32le( n_adr, mipscpu.r[ INS_RT( mipscpu.op ) ] );
+					mips_advance_pc();
+				}
+			}
+			break;
+		case OP_SWR:
+			if( ( mipscpu.cp0r[ CP0_SR ] & SR_ISC ) != 0 )
+			{
+				/* todo: */
+				logerror( "%08x: SWR SR_ISC not supported\n", mipscpu.pc );
+				mips_stop();
+				mips_advance_pc();
+			}
+			else if( ( mipscpu.cp0r[ CP0_SR ] & ( SR_RE | SR_KUC ) ) == ( SR_RE | SR_KUC ) )
+			{
+				UINT32 n_adr;
+				n_adr = mipscpu.r[ INS_RS( mipscpu.op ) ] + MIPS_WORD_EXTEND( INS_IMMEDIATE( mipscpu.op ) );
+				if( ( n_adr & ( ( mipscpu.cp0r[ CP0_SR ] & SR_KUC ) << 30 ) ) != 0 )
+				{
+					mips_exception( EXC_ADES );
+					mips_set_cp0r( CP0_BADVADDR, n_adr );
+				}
+				else
+				{
+					switch( n_adr & 3 )
+					{
+					case 0:
+						program_write_dword_32le( n_adr, mipscpu.r[ INS_RT( mipscpu.op ) ] );
+						break;
+					case 1:
+						program_write_word_32le( n_adr - 1, mipscpu.r[ INS_RT( mipscpu.op ) ] );
+						program_write_byte_32le( n_adr + 1, mipscpu.r[ INS_RT( mipscpu.op ) ] >> 16 );
+						break;
+					case 2:
+						program_write_word_32le( n_adr - 2, mipscpu.r[ INS_RT( mipscpu.op ) ] );
+						break;
+					case 3:
+						program_write_byte_32le( n_adr - 3, mipscpu.r[ INS_RT( mipscpu.op ) ] );
+						break;
+					}
+					mips_advance_pc();
+				}
+			}
+			else
+			{
+				UINT32 n_adr;
+				n_adr = mipscpu.r[ INS_RS( mipscpu.op ) ] + MIPS_WORD_EXTEND( INS_IMMEDIATE( mipscpu.op ) );
+				if( ( n_adr & ( ( mipscpu.cp0r[ CP0_SR ] & SR_KUC ) << 30 ) ) != 0 )
+				{
+					mips_exception( EXC_ADES );
+					mips_set_cp0r( CP0_BADVADDR, n_adr );
+				}
+				else
+				{
+					switch( n_adr & 3 )
+					{
+					case 0:
+						program_write_dword_32le( n_adr, mipscpu.r[ INS_RT( mipscpu.op ) ] );
+						break;
+					case 1:
+						program_write_byte_32le( n_adr, mipscpu.r[ INS_RT( mipscpu.op ) ] );
+						program_write_word_32le( n_adr + 1, mipscpu.r[ INS_RT( mipscpu.op ) ] >> 8 );
+						break;
+					case 2:
+						program_write_word_32le( n_adr, mipscpu.r[ INS_RT( mipscpu.op ) ] );
+						break;
+					case 3:
+						program_write_byte_32le( n_adr, mipscpu.r[ INS_RT( mipscpu.op ) ] );
+						break;
+					}
+					mips_advance_pc();
+				}
+			}
+			break;
+		case OP_LWC1:
+			/* todo: */
+			logerror( "%08x: COP1 LWC not supported\n", mipscpu.pc );
+			mips_stop();
+			mips_advance_pc();
+			break;
+		case OP_LWC2:
+			if( ( mipscpu.cp0r[ CP0_SR ] & SR_CU2 ) == 0 )
+			{
+				mips_exception( EXC_CPU );
+				mips_set_cp0r( CP0_CAUSE, ( mipscpu.cp0r[ CP0_CAUSE ] & ~CAUSE_CE ) | CAUSE_CE2 );
+			}
+			else if( ( mipscpu.cp0r[ CP0_SR ] & SR_ISC ) != 0 )
+			{
+				/* todo: */
+				logerror( "%08x: LWC2 SR_ISC not supported\n", mipscpu.pc );
+				mips_stop();
+				mips_advance_pc();
+			}
+			else
+			{
+				UINT32 n_adr;
+				n_adr = mipscpu.r[ INS_RS( mipscpu.op ) ] + MIPS_WORD_EXTEND( INS_IMMEDIATE( mipscpu.op ) );
+				if( ( n_adr & ( ( ( mipscpu.cp0r[ CP0_SR ] & SR_KUC ) << 30 ) | 3 ) ) != 0 )
+				{
+					mips_exception( EXC_ADEL );
+					mips_set_cp0r( CP0_BADVADDR, n_adr );
+				}
+				else
+				{
+					/* todo: delay? */
+					setcp2dr( INS_RT( mipscpu.op ), program_read_dword_32le( n_adr ) );
+					mips_advance_pc();
+				}
+			}
+			break;
+		case OP_SWC1:
+			/* todo: */
+			logerror( "%08x: COP1 SWC not supported\n", mipscpu.pc );
+			mips_stop();
+			mips_advance_pc();
+			break;
+		case OP_SWC2:
+			if( ( mipscpu.cp0r[ CP0_SR ] & SR_CU2 ) == 0 )
+			{
+				mips_exception( EXC_CPU );
+				mips_set_cp0r( CP0_CAUSE, ( mipscpu.cp0r[ CP0_CAUSE ] & ~CAUSE_CE ) | CAUSE_CE2 );
+			}
+			else if( ( mipscpu.cp0r[ CP0_SR ] & SR_ISC ) != 0 )
+			{
+				/* todo: */
+				logerror( "%08x: SWC2 SR_ISC not supported\n", mipscpu.pc );
+				mips_stop();
+				mips_advance_pc();
+			}
+			else
+			{
+				UINT32 n_adr;
+				n_adr = mipscpu.r[ INS_RS( mipscpu.op ) ] + MIPS_WORD_EXTEND( INS_IMMEDIATE( mipscpu.op ) );
+				if( ( n_adr & ( ( ( mipscpu.cp0r[ CP0_SR ] & SR_KUC ) << 30 ) | 3 ) ) != 0 )
+				{
+					mips_exception( EXC_ADES );
+					mips_set_cp0r( CP0_BADVADDR, n_adr );
+				}
+				else
+				{
+					program_write_dword_32le( n_adr, getcp2dr( INS_RT( mipscpu.op ) ) );
+					mips_advance_pc();
+				}
+			}
+			break;
+		default:
+//			printf( "%08x: unknown opcode %08x (prev %08x, RA %08x)\n", mipscpu.pc, mipscpu.op, mipscpu.prevpc,  mipscpu.r[31] );
+//			mips_stop();
+//			mips_exception( EXC_RI );
+  			break;
+		}
+skipinterp:
+		mips_ICount--;
+	} while( mips_ICount > 0 );
+
+	return cycles - mips_ICount;
+}
+
+static void mips_get_context( void *dst )
+{
+	if( dst )
+	{
+		*(mips_cpu_context *)dst = mipscpu;
+	}
+}
+
+static void mips_set_context( void *src )
+{
+	if( src )
+	{
+		mipscpu = *(mips_cpu_context *)src;
+		change_pc( mipscpu.pc );
+	}
+}
+
+static void set_irq_line( int irqline, int state )
+{
+	UINT32 ip;
+
+	switch( irqline )
+	{
+	case MIPS_IRQ0:
+		ip = CAUSE_IP2;
+		break;
+	case MIPS_IRQ1:
+		ip = CAUSE_IP3;
+		break;
+	case MIPS_IRQ2:
+		ip = CAUSE_IP4;
+		break;
+	case MIPS_IRQ3:
+		ip = CAUSE_IP5;
+		break;
+	case MIPS_IRQ4:
+		ip = CAUSE_IP6;
+		break;
+	case MIPS_IRQ5:
+		ip = CAUSE_IP7;
+		break;
+	default:
+		return;
+	}
+
+	switch( state )
+	{
+	case CLEAR_LINE:
+		mips_set_cp0r( CP0_CAUSE, mipscpu.cp0r[ CP0_CAUSE ] & ~ip );
+		break;
+	case ASSERT_LINE:
+		mips_set_cp0r( CP0_CAUSE, mipscpu.cp0r[ CP0_CAUSE ] |= ip );
+		if( mipscpu.irq_callback )
+		{
+			/* HOLD_LINE interrupts are not supported by the architecture.
+			By acknowledging the interupt here they are treated like PULSE_LINE
+			interrupts, so if the interrupt isn't enabled it will be ignored.
+			There is also a problem with PULSE_LINE interrupts as the interrupt
+			pending bits aren't latched the emulated code won't know what caused
+			the interrupt. */
+			(*mipscpu.irq_callback)( irqline );
+		}
+		break;
+	}
+}
+
+/****************************************************************************
+ * Return a formatted string for a register
+ ****************************************************************************/
+
+offs_t mips_dasm( char *buffer, offs_t pc )
+{
+	offs_t ret;
+	change_pc( pc );
+#ifdef MAME_DEBUG
+	ret = DasmMIPS( buffer, pc );
+#else
+	sprintf( buffer, "$%08x", cpu_readop32( pc ) );
+	ret = 4;
+#endif
+	change_pc( mipscpu.pc );
+	return ret;
+}
+
+/* preliminary gte code */
+
+#define VXY0 ( mipscpu.cp2dr[ 0 ].d )
+#define VX0  ( mipscpu.cp2dr[ 0 ].w.l )
+#define VY0  ( mipscpu.cp2dr[ 0 ].w.h )
+#define VZ0  ( mipscpu.cp2dr[ 1 ].w.l )
+#define VXY1 ( mipscpu.cp2dr[ 2 ].d )
+#define VX1  ( mipscpu.cp2dr[ 2 ].w.l )
+#define VY1  ( mipscpu.cp2dr[ 2 ].w.h )
+#define VZ1  ( mipscpu.cp2dr[ 3 ].w.l )
+#define VXY2 ( mipscpu.cp2dr[ 4 ].d )
+#define VX2  ( mipscpu.cp2dr[ 4 ].w.l )
+#define VY2  ( mipscpu.cp2dr[ 4 ].w.h )
+#define VZ2  ( mipscpu.cp2dr[ 5 ].w.l )
+#define RGB  ( mipscpu.cp2dr[ 6 ].d )
+#define R    ( mipscpu.cp2dr[ 6 ].b.l )
+#define G    ( mipscpu.cp2dr[ 6 ].b.h )
+#define B    ( mipscpu.cp2dr[ 6 ].b.h2 )
+#define CODE ( mipscpu.cp2dr[ 6 ].b.h3 )
+#define OTZ  ( mipscpu.cp2dr[ 7 ].w.l )
+#define IR0  ( mipscpu.cp2dr[ 8 ].d )
+#define IR1  ( mipscpu.cp2dr[ 9 ].d )
+#define IR2  ( mipscpu.cp2dr[ 10 ].d )
+#define IR3  ( mipscpu.cp2dr[ 11 ].d )
+#define SXY0 ( mipscpu.cp2dr[ 12 ].d )
+#define SX0  ( mipscpu.cp2dr[ 12 ].w.l )
+#define SY0  ( mipscpu.cp2dr[ 12 ].w.h )
+#define SXY1 ( mipscpu.cp2dr[ 13 ].d )
+#define SX1  ( mipscpu.cp2dr[ 13 ].w.l )
+#define SY1  ( mipscpu.cp2dr[ 13 ].w.h )
+#define SXY2 ( mipscpu.cp2dr[ 14 ].d )
+#define SX2  ( mipscpu.cp2dr[ 14 ].w.l )
+#define SY2  ( mipscpu.cp2dr[ 14 ].w.h )
+#define SXYP ( mipscpu.cp2dr[ 15 ].d )
+#define SXP  ( mipscpu.cp2dr[ 15 ].w.l )
+#define SYP  ( mipscpu.cp2dr[ 15 ].w.h )
+#define SZ0  ( mipscpu.cp2dr[ 16 ].w.l )
+#define SZ1  ( mipscpu.cp2dr[ 17 ].w.l )
+#define SZ2  ( mipscpu.cp2dr[ 18 ].w.l )
+#define SZ3  ( mipscpu.cp2dr[ 19 ].w.l )
+#define RGB0 ( mipscpu.cp2dr[ 20 ].d )
+#define R0   ( mipscpu.cp2dr[ 20 ].b.l )
+#define G0   ( mipscpu.cp2dr[ 20 ].b.h )
+#define B0   ( mipscpu.cp2dr[ 20 ].b.h2 )
+#define CD0  ( mipscpu.cp2dr[ 20 ].b.h3 )
+#define RGB1 ( mipscpu.cp2dr[ 21 ].d )
+#define R1   ( mipscpu.cp2dr[ 21 ].b.l )
+#define G1   ( mipscpu.cp2dr[ 21 ].b.h )
+#define B1   ( mipscpu.cp2dr[ 21 ].b.h2 )
+#define CD1  ( mipscpu.cp2dr[ 21 ].b.h3 )
+#define RGB2 ( mipscpu.cp2dr[ 22 ].d )
+#define R2   ( mipscpu.cp2dr[ 22 ].b.l )
+#define G2   ( mipscpu.cp2dr[ 22 ].b.h )
+#define B2   ( mipscpu.cp2dr[ 22 ].b.h2 )
+#define CD2  ( mipscpu.cp2dr[ 22 ].b.h3 )
+#define RES1 ( mipscpu.cp2dr[ 23 ].d )
+#define MAC0 ( mipscpu.cp2dr[ 24 ].d )
+#define MAC1 ( mipscpu.cp2dr[ 25 ].d )
+#define MAC2 ( mipscpu.cp2dr[ 26 ].d )
+#define MAC3 ( mipscpu.cp2dr[ 27 ].d )
+#define IRGB ( mipscpu.cp2dr[ 28 ].d )
+#define ORGB ( mipscpu.cp2dr[ 29 ].d )
+#define LZCS ( mipscpu.cp2dr[ 30 ].d )
+#define LZCR ( mipscpu.cp2dr[ 31 ].d )
+
+#define D1  ( mipscpu.cp2cr[ 0 ].d )
+#define R11 ( mipscpu.cp2cr[ 0 ].w.l )
+#define R12 ( mipscpu.cp2cr[ 0 ].w.h )
+#define R13 ( mipscpu.cp2cr[ 1 ].w.l )
+#define R21 ( mipscpu.cp2cr[ 1 ].w.h )
+#define D2  ( mipscpu.cp2cr[ 2 ].d )
+#define R22 ( mipscpu.cp2cr[ 2 ].w.l )
+#define R23 ( mipscpu.cp2cr[ 2 ].w.h )
+#define R31 ( mipscpu.cp2cr[ 3 ].w.l )
+#define R32 ( mipscpu.cp2cr[ 3 ].w.h )
+#define D3  ( mipscpu.cp2cr[ 4 ].d )
+#define R33 ( mipscpu.cp2cr[ 4 ].w.l )
+#define TRX ( mipscpu.cp2cr[ 5 ].d )
+#define TRY ( mipscpu.cp2cr[ 6 ].d )
+#define TRZ ( mipscpu.cp2cr[ 7 ].d )
+#define L11 ( mipscpu.cp2cr[ 8 ].w.l )
+#define L12 ( mipscpu.cp2cr[ 8 ].w.h )
+#define L13 ( mipscpu.cp2cr[ 9 ].w.l )
+#define L21 ( mipscpu.cp2cr[ 9 ].w.h )
+#define L22 ( mipscpu.cp2cr[ 10 ].w.l )
+#define L23 ( mipscpu.cp2cr[ 10 ].w.h )
+#define L31 ( mipscpu.cp2cr[ 11 ].w.l )
+#define L32 ( mipscpu.cp2cr[ 11 ].w.h )
+#define L33 ( mipscpu.cp2cr[ 12 ].w.l )
+#define RBK ( mipscpu.cp2cr[ 13 ].d )
+#define GBK ( mipscpu.cp2cr[ 14 ].d )
+#define BBK ( mipscpu.cp2cr[ 15 ].d )
+#define LR1 ( mipscpu.cp2cr[ 16 ].w.l )
+#define LR2 ( mipscpu.cp2cr[ 16 ].w.h )
+#define LR3 ( mipscpu.cp2cr[ 17 ].w.l )
+#define LG1 ( mipscpu.cp2cr[ 17 ].w.h )
+#define LG2 ( mipscpu.cp2cr[ 18 ].w.l )
+#define LG3 ( mipscpu.cp2cr[ 18 ].w.h )
+#define LB1 ( mipscpu.cp2cr[ 19 ].w.l )
+#define LB2 ( mipscpu.cp2cr[ 19 ].w.h )
+#define LB3 ( mipscpu.cp2cr[ 20 ].w.l )
+#define RFC ( mipscpu.cp2cr[ 21 ].d )
+#define GFC ( mipscpu.cp2cr[ 22 ].d )
+#define BFC ( mipscpu.cp2cr[ 23 ].d )
+#define OFX ( mipscpu.cp2cr[ 24 ].d )
+#define OFY ( mipscpu.cp2cr[ 25 ].d )
+#define H   ( mipscpu.cp2cr[ 26 ].w.l )
+#define DQA ( mipscpu.cp2cr[ 27 ].w.l )
+#define DQB ( mipscpu.cp2cr[ 28 ].d )
+#define ZSF3 ( mipscpu.cp2cr[ 29 ].w.l )
+#define ZSF4 ( mipscpu.cp2cr[ 30 ].w.l )
+#define FLAG ( mipscpu.cp2cr[ 31 ].d )
+
+static UINT32 getcp2dr( int n_reg )
+{
+	if( n_reg == 1 || n_reg == 3 || n_reg == 5 || n_reg == 8 || n_reg == 9 || n_reg == 10 || n_reg == 11 )
+	{
+		mipscpu.cp2dr[ n_reg ].d = (INT32)(INT16)mipscpu.cp2dr[ n_reg ].d;
+	}
+	else if( n_reg == 17 || n_reg == 18 || n_reg == 19 )
+	{
+		mipscpu.cp2dr[ n_reg ].d = (UINT32)(UINT16)mipscpu.cp2dr[ n_reg ].d;
+	}
+	else if( n_reg == 29 )
+	{
+		ORGB = ( ( IR1 >> 7 ) & 0x1f ) | ( ( IR2 >> 2 ) & 0x3e0 ) | ( ( IR3 << 3 ) & 0x7c00 );
+	}
+	GTELOG( "get CP2DR%u=%08x", n_reg, mipscpu.cp2dr[ n_reg ].d );
+	return mipscpu.cp2dr[ n_reg ].d;
+}
+
+static void setcp2dr( int n_reg, UINT32 n_value )
+{
+	GTELOG( "set CP2DR%u=%08x", n_reg, n_value );
+	mipscpu.cp2dr[ n_reg ].d = n_value;
+
+	if( n_reg == 15 )
+	{
+		SXY0 = SXY1;
+		SXY1 = SXY2;
+		SXY2 = SXYP;
+	}
+	else if( n_reg == 28 )
+	{
+		IR1 = ( IRGB & 0x1f ) << 4;
+		IR2 = ( IRGB & 0x3e0 ) >> 1;
+		IR3 = ( IRGB & 0x7c00 ) >> 6;
+	}
+	else if( n_reg == 30 )
+	{
+		UINT32 n_lzcs = LZCS;
+		UINT32 n_lzcr = 0;
+
+		if( ( n_lzcs & 0x80000000 ) == 0 )
+		{
+			n_lzcs = ~n_lzcs;
+		}
+		while( ( n_lzcs & 0x80000000 ) != 0 )
+		{
+			n_lzcr++;
+			n_lzcs <<= 1;
+		}
+		LZCR = n_lzcr;
+	}
+}
+
+static UINT32 getcp2cr( int n_reg )
+{
+	GTELOG( "get CP2CR%u=%08x", n_reg, mipscpu.cp2cr[ n_reg ].d );
+	return mipscpu.cp2cr[ n_reg ].d;
+}
+
+static void setcp2cr( int n_reg, UINT32 n_value )
+{
+	GTELOG( "set CP2CR%u=%08x", n_reg, n_value );
+	mipscpu.cp2cr[ n_reg ].d = n_value;
+}
+
+INLINE INT32 LIM( INT32 n_value, INT32 n_max, INT32 n_min, UINT32 n_flag )
+{
+	if( n_value > n_max )
+	{
+		FLAG |= n_flag;
+		return n_max;
+	}
+	else if( n_value < n_min )
+	{
+		FLAG |= n_flag;
+		return n_min;
+	}
+	return n_value;
+}
+
+INLINE INT64 BOUNDS( INT64 n_value, INT64 n_max, int n_maxflag, INT64 n_min, int n_minflag )
+{
+	if( n_value > n_max )
+	{
+		FLAG |= n_maxflag;
+	}
+	else if( n_value < n_min )
+	{
+		FLAG |= n_minflag;
+	}
+	return n_value;
+}
+
+#define A1( a ) BOUNDS( ( a ), 0x7fffffff, 30, -(INT64)0x80000000, ( 1 << 27 ) )
+#define A2( a ) BOUNDS( ( a ), 0x7fffffff, 29, -(INT64)0x80000000, ( 1 << 26 ) )
+#define A3( a ) BOUNDS( ( a ), 0x7fffffff, 28, -(INT64)0x80000000, ( 1 << 25 ) )
+#define Lm_B1( a, l ) LIM( ( a ), 0x7fff, -0x8000 * !l, ( 1 << 31 ) | ( 1 << 24 ) )
+#define Lm_B2( a, l ) LIM( ( a ), 0x7fff, -0x8000 * !l, ( 1 << 31 ) | ( 1 << 23 ) )
+#define Lm_B3( a, l ) LIM( ( a ), 0x7fff, -0x8000 * !l, ( 1 << 22 ) )
+#define Lm_C1( a ) LIM( ( a ), 0x00ff, 0x0000, ( 1 << 21 ) )
+#define Lm_C2( a ) LIM( ( a ), 0x00ff, 0x0000, ( 1 << 20 ) )
+#define Lm_C3( a ) LIM( ( a ), 0x00ff, 0x0000, ( 1 << 19 ) )
+#define Lm_D( a ) LIM( ( a ), 0xffff, 0x0000, ( 1 << 31 ) | ( 1 << 18 ) )
+
+INLINE UINT32 Lm_E( UINT32 n_z )
+{
+	if( n_z <= H / 2 )
+	{
+		n_z = H / 2;
+		FLAG |= ( 1 << 31 ) | ( 1 << 17 );
+	}
+	if( n_z == 0 )
+	{
+		n_z = 1;
+	}
+	return n_z;
+}
+
+#define F( a ) BOUNDS( ( a ), 0x7fffffff, ( 1 << 31 ) | ( 1 << 16 ), -(INT64)0x80000000, ( 1 << 31 ) | ( 1 << 15 ) )
+#define Lm_G1( a ) LIM( ( a ), 0x3ff, -0x400, ( 1 << 31 ) | ( 1 << 14 ) )
+#define Lm_G2( a ) LIM( ( a ), 0x3ff, -0x400, ( 1 << 31 ) | ( 1 << 13 ) )
+#define Lm_H( a ) LIM( ( a ), 0xfff, 0x000, ( 1 << 12 ) )
+
+static void docop2( int gteop )
+{
+	int n_sf;
+	int n_v;
+	int n_lm;
+	int n_pass;
+	UINT16 n_v1;
+	UINT16 n_v2;
+	UINT16 n_v3;
+	const UINT16 **p_n_mx;
+	const UINT32 **p_n_cv;
+	static const UINT16 n_zm = 0;
+	static const UINT32 n_zc = 0;
+	static const UINT16 *p_n_vx[] = { &VX0, &VX1, &VX2 };
+	static const UINT16 *p_n_vy[] = { &VY0, &VY1, &VY2 };
+	static const UINT16 *p_n_vz[] = { &VZ0, &VZ1, &VZ2 };
+	static const UINT16 *p_n_rm[] = { &R11, &R12, &R13, &R21, &R22, &R23, &R31, &R32, &R33 };
+	static const UINT16 *p_n_lm[] = { &L11, &L12, &L13, &L21, &L22, &L23, &L31, &L32, &L33 };
+	static const UINT16 *p_n_cm[] = { &LR1, &LR2, &LR3, &LG1, &LG2, &LG3, &LB1, &LB2, &LB3 };
+	static const UINT16 *p_n_zm[] = { &n_zm, &n_zm, &n_zm, &n_zm, &n_zm, &n_zm, &n_zm, &n_zm, &n_zm };
+	static const UINT16 **p_p_n_mx[] = { p_n_rm, p_n_lm, p_n_cm, p_n_zm };
+	static const UINT32 *p_n_tr[] = { &TRX, &TRY, &TRZ };
+	static const UINT32 *p_n_bk[] = { &RBK, &GBK, &BBK };
+	static const UINT32 *p_n_fc[] = { &RFC, &GFC, &BFC };
+	static const UINT32 *p_n_zc[] = { &n_zc, &n_zc, &n_zc };
+	static const UINT32 **p_p_n_cv[] = { p_n_tr, p_n_bk, p_n_fc, p_n_zc };
+
+	switch( GTE_FUNCT( gteop ) )
+	{
+	case 0x01:
+		if( gteop == 0x0180001 )
+		{
+			GTELOG( "RTPS" );
+			FLAG = 0;
+
+			MAC1 = A1( ( ( (INT64)(INT32)TRX << 12 ) + ( (INT16)R11 * (INT16)VX0 ) + ( (INT16)R12 * (INT16)VY0 ) + ( (INT16)R13 * (INT16)VZ0 ) ) >> 12 );
+			MAC2 = A2( ( ( (INT64)(INT32)TRY << 12 ) + ( (INT16)R21 * (INT16)VX0 ) + ( (INT16)R22 * (INT16)VY0 ) + ( (INT16)R23 * (INT16)VZ0 ) ) >> 12 );
+			MAC3 = A3( ( ( (INT64)(INT32)TRZ << 12 ) + ( (INT16)R31 * (INT16)VX0 ) + ( (INT16)R32 * (INT16)VY0 ) + ( (INT16)R33 * (INT16)VZ0 ) ) >> 12 );
+			IR1 = Lm_B1( (INT32)MAC1, 0 );
+			IR2 = Lm_B2( (INT32)MAC2, 0 );
+			IR3 = Lm_B3( (INT32)MAC3, 0 );
+			SZ0 = SZ1;
+			SZ1 = SZ2;
+			SZ2 = SZ3;
+			SZ3 = Lm_D( (INT32)MAC3 );
+			SXY0 = SXY1;
+			SXY1 = SXY2;
+			SX2 = Lm_G1( F( (INT64)(INT32)OFX + ( (INT64)(INT16)IR1 * ( ( (UINT32)H << 16 ) / Lm_E( SZ3 ) ) ) ) >> 16 );
+			SY2 = Lm_G2( F( (INT64)(INT32)OFY + ( (INT64)(INT16)IR2 * ( ( (UINT32)H << 16 ) / Lm_E( SZ3 ) ) ) ) >> 16 );
+			MAC0 = F( (INT64)(INT32)DQB + ( (INT64)(INT16)DQA * ( ( (UINT32)H << 16 ) / Lm_E( SZ3 ) ) ) );
+			IR0 = Lm_H( (INT32)MAC0 >> 12 );
+			return;
+		}
+		break;
+	case 0x06:
+		if( gteop == 0x0400006 ||
+			gteop == 0x1400006 ||
+			gteop == 0x0155cc6 )
+		{
+			GTELOG( "NCLIP" );
+			FLAG = 0;
+
+			MAC0 = F( ( (INT64)(INT16)SX0 * (INT16)SY1 ) + ( (INT16)SX1 * (INT16)SY2 ) + ( (INT16)SX2 * (INT16)SY0 ) - ( (INT16)SX0 * (INT16)SY2 ) - ( (INT16)SX1 * (INT16)SY0 ) - ( (INT16)SX2 * (INT16)SY1 ) );
+			return;
+		}
+		break;
+	case 0x0c:
+		if( GTE_OP( gteop ) == 0x17 )
+		{
+			GTELOG( "OP" );
+			n_sf = 12 * GTE_SF( gteop );
+			FLAG = 0;
+
+			MAC1 = A1( ( ( (INT64)(INT32)D2 * (INT16)IR3 ) - ( (INT64)(INT32)D3 * (INT16)IR2 ) ) >> n_sf );
+			MAC2 = A2( ( ( (INT64)(INT32)D3 * (INT16)IR1 ) - ( (INT64)(INT32)D1 * (INT16)IR3 ) ) >> n_sf );
+			MAC3 = A3( ( ( (INT64)(INT32)D1 * (INT16)IR2 ) - ( (INT64)(INT32)D2 * (INT16)IR1 ) ) >> n_sf );
+			IR1 = Lm_B1( (INT32)MAC1, 0 );
+			IR2 = Lm_B2( (INT32)MAC2, 0 );
+			IR3 = Lm_B3( (INT32)MAC3, 0 );
+			return;
+		}
+		break;
+	case 0x10:
+		if( gteop == 0x0780010 )
+		{
+			GTELOG( "DPCS" );
+			FLAG = 0;
+
+			MAC1 = A1( ( ( (INT64)R << 16 ) + ( (INT64)(INT16)IR0 * ( Lm_B1( (INT32)RFC - ( R << 4 ), 0 ) ) ) ) >> 12 );
+			MAC2 = A2( ( ( (INT64)G << 16 ) + ( (INT64)(INT16)IR0 * ( Lm_B1( (INT32)GFC - ( G << 4 ), 0 ) ) ) ) >> 12 );
+			MAC3 = A3( ( ( (INT64)B << 16 ) + ( (INT64)(INT16)IR0 * ( Lm_B1( (INT32)BFC - ( B << 4 ), 0 ) ) ) ) >> 12 );
+			IR1 = Lm_B1( (INT32)MAC1, 0 );
+			IR2 = Lm_B2( (INT32)MAC2, 0 );
+			IR3 = Lm_B3( (INT32)MAC3, 0 );
+			CD0 = CD1;
+			CD1 = CD2;
+			CD2 = CODE;
+			R0 = R1;
+			R1 = R2;
+			R2 = Lm_C1( (INT32)MAC1 >> 4 );
+			G0 = G1;
+			G1 = G2;
+			G2 = Lm_C2( (INT32)MAC2 >> 4 );
+			B0 = B1;
+			B1 = B2;
+			B2 = Lm_C3( (INT32)MAC3 >> 4 );
+			return;
+		}
+		break;
+	case 0x11:
+		if( gteop == 0x0980011 )
+		{
+			GTELOG( "INTPL" );
+			FLAG = 0;
+
+			MAC1 = A1( ( ( (INT64)(INT16)IR1 << 12 ) + ( (INT64)(INT16)IR0 * ( Lm_B1( (INT32)RFC - (INT16)IR1, 0 ) ) ) ) >> 12 );
+			MAC2 = A2( ( ( (INT64)(INT16)IR2 << 12 ) + ( (INT64)(INT16)IR0 * ( Lm_B1( (INT32)GFC - (INT16)IR2, 0 ) ) ) ) >> 12 );
+			MAC3 = A3( ( ( (INT64)(INT16)IR3 << 12 ) + ( (INT64)(INT16)IR0 * ( Lm_B1( (INT32)BFC - (INT16)IR3, 0 ) ) ) ) >> 12 );
+			IR1 = Lm_B1( (INT32)MAC1, 0 );
+			IR2 = Lm_B2( (INT32)MAC2, 0 );
+			IR3 = Lm_B3( (INT32)MAC3, 0 );
+			CD0 = CD1;
+			CD1 = CD2;
+			CD2 = CODE;
+			R0 = R1;
+			R1 = R2;
+			R2 = Lm_C1( (INT32)MAC1 );
+			G0 = G1;
+			G1 = G2;
+			G2 = Lm_C2( (INT32)MAC2 );
+			B0 = B1;
+			B1 = B2;
+			B2 = Lm_C3( (INT32)MAC3 );
+			return;
+		}
+		break;
+	case 0x12:
+		if( GTE_OP( gteop ) == 0x04 )
+		{
+			GTELOG( "MVMVA" );
+			n_sf = 12 * GTE_SF( gteop );
+			p_n_mx = p_p_n_mx[ GTE_MX( gteop ) ];
+			n_v = GTE_V( gteop );
+			if( n_v < 3 )
+			{
+				n_v1 = *p_n_vx[ n_v ];
+				n_v2 = *p_n_vy[ n_v ];
+				n_v3 = *p_n_vz[ n_v ];
+			}
+			else
+			{
+				n_v1 = IR1;
+				n_v2 = IR2;
+				n_v3 = IR3;
+			}
+			p_n_cv = p_p_n_cv[ GTE_CV( gteop ) ];
+			n_lm = GTE_LM( gteop );
+			FLAG = 0;
+
+			MAC1 = A1( ( ( (INT64)(INT32)*p_n_cv[ 0 ] << 12 ) + ( (INT16)*p_n_mx[ 0 ] * (INT16)n_v1 ) + ( (INT16)*p_n_mx[ 1 ] * (INT16)n_v2 ) + ( (INT16)*p_n_mx[ 2 ] * (INT16)n_v3 ) ) >> n_sf );
+			MAC2 = A2( ( ( (INT64)(INT32)*p_n_cv[ 1 ] << 12 ) + ( (INT16)*p_n_mx[ 3 ] * (INT16)n_v1 ) + ( (INT16)*p_n_mx[ 4 ] * (INT16)n_v2 ) + ( (INT16)*p_n_mx[ 5 ] * (INT16)n_v3 ) ) >> n_sf );
+			MAC3 = A3( ( ( (INT64)(INT32)*p_n_cv[ 2 ] << 12 ) + ( (INT16)*p_n_mx[ 6 ] * (INT16)n_v1 ) + ( (INT16)*p_n_mx[ 7 ] * (INT16)n_v2 ) + ( (INT16)*p_n_mx[ 8 ] * (INT16)n_v3 ) ) >> n_sf );
+
+			IR1 = Lm_B1( (INT32)MAC1, n_lm );
+			IR2 = Lm_B2( (INT32)MAC2, n_lm );
+			IR3 = Lm_B3( (INT32)MAC3, n_lm );
+			return;
+		}
+		break;
+	case 0x13:
+		if( gteop == 0x0e80413 )
+		{
+			GTELOG( "NCDS" );
+			FLAG = 0;
+
+			MAC1 = A1( ( ( (INT64)(INT16)L11 * (INT16)VX0 ) + ( (INT16)L12 * (INT16)VY0 ) + ( (INT16)L13 * (INT16)VZ0 ) ) >> 12 );
+			MAC2 = A2( ( ( (INT64)(INT16)L21 * (INT16)VX0 ) + ( (INT16)L22 * (INT16)VY0 ) + ( (INT16)L23 * (INT16)VZ0 ) ) >> 12 );
+			MAC3 = A3( ( ( (INT64)(INT16)L31 * (INT16)VX0 ) + ( (INT16)L32 * (INT16)VY0 ) + ( (INT16)L33 * (INT16)VZ0 ) ) >> 12 );
+			IR1 = Lm_B1( (INT32)MAC1, 1 );
+			IR2 = Lm_B2( (INT32)MAC2, 1 );
+			IR3 = Lm_B3( (INT32)MAC3, 1 );
+			MAC1 = A1( ( ( (INT64)RBK << 12 ) + ( (INT16)LR1 * (INT16)IR1 ) + ( (INT16)LR2 * (INT16)IR2 ) + ( (INT16)LR3 * (INT16)IR3 ) ) >> 12 );
+			MAC2 = A2( ( ( (INT64)GBK << 12 ) + ( (INT16)LG1 * (INT16)IR1 ) + ( (INT16)LG2 * (INT16)IR2 ) + ( (INT16)LG3 * (INT16)IR3 ) ) >> 12 );
+			MAC3 = A3( ( ( (INT64)BBK << 12 ) + ( (INT16)LB1 * (INT16)IR1 ) + ( (INT16)LB2 * (INT16)IR2 ) + ( (INT16)LB3 * (INT16)IR3 ) ) >> 12 );
+			IR1 = Lm_B1( (INT32)MAC1, 1 );
+			IR2 = Lm_B2( (INT32)MAC2, 1 );
+			IR3 = Lm_B3( (INT32)MAC3, 1 );
+			MAC1 = A1( ( ( ( (INT64)R << 4 ) * (INT16)IR1 ) + ( (INT16)IR0 * Lm_B1( (INT32)RFC - ( ( R * (INT16)IR1 ) >> 8 ), 0 ) ) ) >> 12 );
+			MAC2 = A2( ( ( ( (INT64)G << 4 ) * (INT16)IR2 ) + ( (INT16)IR0 * Lm_B2( (INT32)GFC - ( ( G * (INT16)IR2 ) >> 8 ), 0 ) ) ) >> 12 );
+			MAC3 = A3( ( ( ( (INT64)B << 4 ) * (INT16)IR3 ) + ( (INT16)IR0 * Lm_B3( (INT32)BFC - ( ( B * (INT16)IR3 ) >> 8 ), 0 ) ) ) >> 12 );
+			IR1 = Lm_B1( (INT32)MAC1, 1 );
+			IR2 = Lm_B2( (INT32)MAC2, 1 );
+			IR3 = Lm_B3( (INT32)MAC3, 1 );
+			CD0 = CD1;
+			CD1 = CD2;
+			CD2 = CODE;
+			R0 = R1;
+			R1 = R2;
+			R2 = Lm_C1( (INT32)MAC1 >> 4 );
+			G0 = G1;
+			G1 = G2;
+			G2 = Lm_C2( (INT32)MAC2 >> 4 );
+			B0 = B1;
+			B1 = B2;
+			B2 = Lm_C3( (INT32)MAC3 >> 4 );
+			return;
+		}
+		break;
+	case 0x14:
+		if( gteop == 0x1280414 )
+		{
+			GTELOG( "CDP" );
+			FLAG = 0;
+
+			MAC1 = A1( ( ( (INT64)RBK << 12 ) + ( (INT16)LR1 * (INT16)IR1 ) + ( (INT16)LR2 * (INT16)IR2 ) + ( (INT16)LR3 * (INT16)IR3 ) ) >> 12 );
+			MAC2 = A2( ( ( (INT64)GBK << 12 ) + ( (INT16)LG1 * (INT16)IR1 ) + ( (INT16)LG2 * (INT16)IR2 ) + ( (INT16)LG3 * (INT16)IR3 ) ) >> 12 );
+			MAC3 = A3( ( ( (INT64)BBK << 12 ) + ( (INT16)LB1 * (INT16)IR1 ) + ( (INT16)LB2 * (INT16)IR2 ) + ( (INT16)LB3 * (INT16)IR3 ) ) >> 12 );
+			IR1 = Lm_B1( MAC1, 1 );
+			IR2 = Lm_B2( MAC2, 1 );
+			IR3 = Lm_B3( MAC3, 1 );
+			MAC1 = A1( ( ( ( (INT64)R << 4 ) * (INT16)IR1 ) + ( (INT16)IR0 * Lm_B1( (INT32)RFC - ( ( R * (INT16)IR1 ) >> 8 ), 0 ) ) ) >> 12 );
+			MAC2 = A2( ( ( ( (INT64)G << 4 ) * (INT16)IR2 ) + ( (INT16)IR0 * Lm_B2( (INT32)GFC - ( ( G * (INT16)IR2 ) >> 8 ), 0 ) ) ) >> 12 );
+			MAC3 = A3( ( ( ( (INT64)B << 4 ) * (INT16)IR3 ) + ( (INT16)IR0 * Lm_B3( (INT32)BFC - ( ( B * (INT16)IR3 ) >> 8 ), 0 ) ) ) >> 12 );
+			IR1 = Lm_B1( MAC1, 1 );
+			IR2 = Lm_B2( MAC2, 1 );
+			IR3 = Lm_B3( MAC3, 1 );
+			CD0 = CD1;
+			CD1 = CD2;
+			CD2 = CODE;
+			R0 = R1;
+			R1 = R2;
+			R2 = Lm_C1( (INT32)MAC1 >> 4 );
+			G0 = G1;
+			G1 = G2;
+			G2 = Lm_C2( (INT32)MAC2 >> 4 );
+			B0 = B1;
+			B1 = B2;
+			B2 = Lm_C3( (INT32)MAC3 >> 4 );
+			return;
+		}
+		break;
+	case 0x16:
+		if( gteop == 0x0f80416 )
+		{
+			GTELOG( "NCDT" );
+			FLAG = 0;
+
+			for( n_v = 0; n_v < 3; n_v++ )
+			{
+				MAC1 = A1( ( ( (INT64)(INT16)L11 * (INT16)*p_n_vx[ n_v ] ) + ( (INT16)L12 * (INT16)*p_n_vy[ n_v ] ) + ( (INT16)L13 * (INT16)*p_n_vz[ n_v ] ) ) >> 12 );
+				MAC2 = A2( ( ( (INT64)(INT16)L21 * (INT16)*p_n_vx[ n_v ] ) + ( (INT16)L22 * (INT16)*p_n_vy[ n_v ] ) + ( (INT16)L23 * (INT16)*p_n_vz[ n_v ] ) ) >> 12 );
+				MAC3 = A3( ( ( (INT64)(INT16)L31 * (INT16)*p_n_vx[ n_v ] ) + ( (INT16)L32 * (INT16)*p_n_vy[ n_v ] ) + ( (INT16)L33 * (INT16)*p_n_vz[ n_v ] ) ) >> 12 );
+				IR1 = Lm_B1( (INT32)MAC1, 1 );
+				IR2 = Lm_B2( (INT32)MAC2, 1 );
+				IR3 = Lm_B3( (INT32)MAC3, 1 );
+				MAC1 = A1( ( ( (INT64)RBK << 12 ) + ( (INT16)LR1 * (INT16)IR1 ) + ( (INT16)LR2 * (INT16)IR2 ) + ( (INT16)LR3 * (INT16)IR3 ) ) >> 12 );
+				MAC2 = A2( ( ( (INT64)GBK << 12 ) + ( (INT16)LG1 * (INT16)IR1 ) + ( (INT16)LG2 * (INT16)IR2 ) + ( (INT16)LG3 * (INT16)IR3 ) ) >> 12 );
+				MAC3 = A3( ( ( (INT64)BBK << 12 ) + ( (INT16)LB1 * (INT16)IR1 ) + ( (INT16)LB2 * (INT16)IR2 ) + ( (INT16)LB3 * (INT16)IR3 ) ) >> 12 );
+				IR1 = Lm_B1( (INT32)MAC1, 1 );
+				IR2 = Lm_B2( (INT32)MAC2, 1 );
+				IR3 = Lm_B3( (INT32)MAC3, 1 );
+				MAC1 = A1( ( ( ( (INT64)R << 4 ) * (INT16)IR1 ) + ( (INT16)IR0 * Lm_B1( (INT32)RFC - ( ( R * (INT16)IR1 ) >> 8 ), 0 ) ) ) >> 12 );
+				MAC2 = A2( ( ( ( (INT64)G << 4 ) * (INT16)IR2 ) + ( (INT16)IR0 * Lm_B2( (INT32)GFC - ( ( G * (INT16)IR2 ) >> 8 ), 0 ) ) ) >> 12 );
+				MAC3 = A3( ( ( ( (INT64)B << 4 ) * (INT16)IR3 ) + ( (INT16)IR0 * Lm_B3( (INT32)BFC - ( ( B * (INT16)IR3 ) >> 8 ), 0 ) ) ) >> 12 );
+				IR1 = Lm_B1( (INT32)MAC1, 1 );
+				IR2 = Lm_B2( (INT32)MAC2, 1 );
+				IR3 = Lm_B3( (INT32)MAC3, 1 );
+				CD0 = CD1;
+				CD1 = CD2;
+				CD2 = CODE;
+				R0 = R1;
+				R1 = R2;
+				R2 = Lm_C1( (INT32)MAC1 >> 4 );
+				G0 = G1;
+				G1 = G2;
+				G2 = Lm_C2( (INT32)MAC2 >> 4 );
+				B0 = B1;
+				B1 = B2;
+				B2 = Lm_C3( (INT32)MAC3 >> 4 );
+			}
+			return;
+		}
+		break;
+	case 0x1b:
+		if( gteop == 0x108041b )
+		{
+			GTELOG( "NCCS" );
+			FLAG = 0;
+
+			MAC1 = A1( ( ( (INT64)(INT16)L11 * (INT16)VX0 ) + ( (INT16)L12 * (INT16)VY0 ) + ( (INT16)L13 * (INT16)VZ0 ) ) >> 12 );
+			MAC2 = A2( ( ( (INT64)(INT16)L21 * (INT16)VX0 ) + ( (INT16)L22 * (INT16)VY0 ) + ( (INT16)L23 * (INT16)VZ0 ) ) >> 12 );
+			MAC3 = A3( ( ( (INT64)(INT16)L31 * (INT16)VX0 ) + ( (INT16)L32 * (INT16)VY0 ) + ( (INT16)L33 * (INT16)VZ0 ) ) >> 12 );
+			IR1 = Lm_B1( (INT32)MAC1, 1 );
+			IR2 = Lm_B2( (INT32)MAC2, 1 );
+			IR3 = Lm_B3( (INT32)MAC3, 1 );
+			MAC1 = A1( ( ( (INT64)RBK << 12 ) + ( (INT16)LR1 * (INT16)IR1 ) + ( (INT16)LR2 * (INT16)IR2 ) + ( (INT16)LR3 * (INT16)IR3 ) ) >> 12 );
+			MAC2 = A2( ( ( (INT64)GBK << 12 ) + ( (INT16)LG1 * (INT16)IR1 ) + ( (INT16)LG2 * (INT16)IR2 ) + ( (INT16)LG3 * (INT16)IR3 ) ) >> 12 );
+			MAC3 = A3( ( ( (INT64)BBK << 12 ) + ( (INT16)LB1 * (INT16)IR1 ) + ( (INT16)LB2 * (INT16)IR2 ) + ( (INT16)LB3 * (INT16)IR3 ) ) >> 12 );
+			IR1 = Lm_B1( (INT32)MAC1, 1 );
+			IR2 = Lm_B2( (INT32)MAC2, 1 );
+			IR3 = Lm_B3( (INT32)MAC3, 1 );
+			MAC1 = A1( ( (INT64)R * (INT16)IR1 ) >> 8 );
+			MAC2 = A2( ( (INT64)G * (INT16)IR2 ) >> 8 );
+			MAC3 = A3( ( (INT64)B * (INT16)IR3 ) >> 8 );
+			IR1 = Lm_B1( (INT32)MAC1, 1 );
+			IR2 = Lm_B2( (INT32)MAC2, 1 );
+			IR3 = Lm_B3( (INT32)MAC3, 1 );
+			CD0 = CD1;
+			CD1 = CD2;
+			CD2 = CODE;
+			R0 = R1;
+			R1 = R2;
+			R2 = Lm_C1( (INT32)MAC1 >> 4 );
+			G0 = G1;
+			G1 = G2;
+			G2 = Lm_C2( (INT32)MAC2 >> 4 );
+			B0 = B1;
+			B1 = B2;
+			B2 = Lm_C3( (INT32)MAC3 >> 4 );
+			return;
+		}
+		break;
+	case 0x1c:
+		if( gteop == 0x138041c )
+		{
+			GTELOG( "CC" );
+			FLAG = 0;
+
+			MAC1 = A1( ( ( (INT64)RBK << 12 ) + ( (INT16)LR1 * (INT16)IR1 ) + ( (INT16)LR2 * (INT16)IR2 ) + ( (INT16)LR3 * (INT16)IR3 ) ) >> 12 );
+			MAC2 = A2( ( ( (INT64)GBK << 12 ) + ( (INT16)LG1 * (INT16)IR1 ) + ( (INT16)LG2 * (INT16)IR2 ) + ( (INT16)LG3 * (INT16)IR3 ) ) >> 12 );
+			MAC3 = A3( ( ( (INT64)BBK << 12 ) + ( (INT16)LB1 * (INT16)IR1 ) + ( (INT16)LB2 * (INT16)IR2 ) + ( (INT16)LB3 * (INT16)IR3 ) ) >> 12 );
+			IR1 = Lm_B1( MAC1, 1 );
+			IR2 = Lm_B2( MAC2, 1 );
+			IR3 = Lm_B3( MAC3, 1 );
+			MAC1 = A1( ( (INT64)R * (INT16)IR1 ) >> 8 );
+			MAC2 = A2( ( (INT64)G * (INT16)IR2 ) >> 8 );
+			MAC3 = A3( ( (INT64)B * (INT16)IR3 ) >> 8 );
+			IR1 = Lm_B1( MAC1, 1 );
+			IR2 = Lm_B2( MAC2, 1 );
+			IR3 = Lm_B3( MAC3, 1 );
+			CD0 = CD1;
+			CD1 = CD2;
+			CD2 = CODE;
+			R0 = R1;
+			R1 = R2;
+			R2 = Lm_C1( (INT32)MAC1 >> 4 );
+			G0 = G1;
+			G1 = G2;
+			G2 = Lm_C2( (INT32)MAC2 >> 4 );
+			B0 = B1;
+			B1 = B2;
+			B2 = Lm_C3( (INT32)MAC3 >> 4 );
+			return;
+		}
+		break;
+	case 0x1e:
+		if( gteop == 0x0c8041e )
+		{
+			GTELOG( "NCS" );
+			FLAG = 0;
+
+			MAC1 = A1( ( ( (INT64)(INT16)L11 * (INT16)VX0 ) + ( (INT16)L12 * (INT16)VY0 ) + ( (INT16)L13 * (INT16)VZ0 ) ) >> 12 );
+			MAC2 = A2( ( ( (INT64)(INT16)L21 * (INT16)VX0 ) + ( (INT16)L22 * (INT16)VY0 ) + ( (INT16)L23 * (INT16)VZ0 ) ) >> 12 );
+			MAC3 = A3( ( ( (INT64)(INT16)L31 * (INT16)VX0 ) + ( (INT16)L32 * (INT16)VY0 ) + ( (INT16)L33 * (INT16)VZ0 ) ) >> 12 );
+			IR1 = Lm_B1( (INT32)MAC1, 1 );
+			IR2 = Lm_B2( (INT32)MAC2, 1 );
+			IR3 = Lm_B3( (INT32)MAC3, 1 );
+			MAC1 = A1( ( ( (INT64)RBK << 12 ) + ( (INT16)LR1 * (INT16)IR1 ) + ( (INT16)LR2 * (INT16)IR2 ) + ( (INT16)LR3 * (INT16)IR3 ) ) >> 12 );
+			MAC2 = A2( ( ( (INT64)GBK << 12 ) + ( (INT16)LG1 * (INT16)IR1 ) + ( (INT16)LG2 * (INT16)IR2 ) + ( (INT16)LG3 * (INT16)IR3 ) ) >> 12 );
+			MAC3 = A3( ( ( (INT64)BBK << 12 ) + ( (INT16)LB1 * (INT16)IR1 ) + ( (INT16)LB2 * (INT16)IR2 ) + ( (INT16)LB3 * (INT16)IR3 ) ) >> 12 );
+			IR1 = Lm_B1( (INT32)MAC1, 1 );
+			IR2 = Lm_B2( (INT32)MAC2, 1 );
+			IR3 = Lm_B3( (INT32)MAC3, 1 );
+			CD0 = CD1;
+			CD1 = CD2;
+			CD2 = CODE;
+			R0 = R1;
+			R1 = R2;
+			R2 = Lm_C1( (INT32)MAC1 >> 4 );
+			G0 = G1;
+			G1 = G2;
+			G2 = Lm_C2( (INT32)MAC2 >> 4 );
+			B0 = B1;
+			B1 = B2;
+			B2 = Lm_C3( (INT32)MAC3 >> 4 );
+			return;
+		}
+		break;
+	case 0x20:
+		if( gteop == 0x0d80420 )
+		{
+			GTELOG( "NCT" );
+			FLAG = 0;
+
+			for( n_v = 0; n_v < 3; n_v++ )
+			{
+				MAC1 = A1( ( ( (INT64)(INT16)L11 * (INT16)*p_n_vx[ n_v ] ) + ( (INT16)L12 * (INT16)*p_n_vy[ n_v ] ) + ( (INT16)L13 * (INT16)*p_n_vz[ n_v ] ) ) >> 12 );
+				MAC2 = A2( ( ( (INT64)(INT16)L21 * (INT16)*p_n_vx[ n_v ] ) + ( (INT16)L22 * (INT16)*p_n_vy[ n_v ] ) + ( (INT16)L23 * (INT16)*p_n_vz[ n_v ] ) ) >> 12 );
+				MAC3 = A3( ( ( (INT64)(INT16)L31 * (INT16)*p_n_vx[ n_v ] ) + ( (INT16)L32 * (INT16)*p_n_vy[ n_v ] ) + ( (INT16)L33 * (INT16)*p_n_vz[ n_v ] ) ) >> 12 );
+				IR1 = Lm_B1( (INT32)MAC1, 1 );
+				IR2 = Lm_B2( (INT32)MAC2, 1 );
+				IR3 = Lm_B3( (INT32)MAC3, 1 );
+				MAC1 = A1( ( ( (INT64)RBK << 12 ) + ( (INT16)LR1 * (INT16)IR1 ) + ( (INT16)LR2 * (INT16)IR2 ) + ( (INT16)LR3 * (INT16)IR3 ) ) >> 12 );
+				MAC2 = A2( ( ( (INT64)GBK << 12 ) + ( (INT16)LG1 * (INT16)IR1 ) + ( (INT16)LG2 * (INT16)IR2 ) + ( (INT16)LG3 * (INT16)IR3 ) ) >> 12 );
+				MAC3 = A3( ( ( (INT64)BBK << 12 ) + ( (INT16)LB1 * (INT16)IR1 ) + ( (INT16)LB2 * (INT16)IR2 ) + ( (INT16)LB3 * (INT16)IR3 ) ) >> 12 );
+				IR1 = Lm_B1( (INT32)MAC1, 1 );
+				IR2 = Lm_B2( (INT32)MAC2, 1 );
+				IR3 = Lm_B3( (INT32)MAC3, 1 );
+				CD0 = CD1;
+				CD1 = CD2;
+				CD2 = CODE;
+				R0 = R1;
+				R1 = R2;
+				R2 = Lm_C1( (INT32)MAC1 >> 4 );
+				G0 = G1;
+				G1 = G2;
+				G2 = Lm_C2( (INT32)MAC2 >> 4 );
+				B0 = B1;
+				B1 = B2;
+				B2 = Lm_C3( (INT32)MAC3 >> 4 );
+			}
+			return;
+		}
+		break;
+	case 0x28:
+		if( GTE_OP( gteop ) == 0x0a && GTE_LM( gteop ) == 1 )
+		{
+			GTELOG( "SQR" );
+			n_sf = 12 * GTE_SF( gteop );
+			FLAG = 0;
+
+			MAC1 = A1( ( (INT64)(INT16)IR1 * (INT16)IR1 ) >> n_sf );
+			MAC2 = A2( ( (INT64)(INT16)IR2 * (INT16)IR2 ) >> n_sf );
+			MAC3 = A3( ( (INT64)(INT16)IR3 * (INT16)IR3 ) >> n_sf );
+			IR1 = Lm_B1( MAC1, 1 );
+			IR2 = Lm_B2( MAC2, 1 );
+			IR3 = Lm_B3( MAC3, 1 );
+			return;
+		}
+		break;
+	// DCPL 0x29
+	case 0x2a:
+		if( gteop == 0x0f8002a )
+		{
+			GTELOG( "DPCT" );
+			FLAG = 0;
+
+			for( n_pass = 0; n_pass < 3; n_pass++ )
+			{
+				MAC1 = A1( ( ( (INT64)R0 << 16 ) + ( (INT64)(INT16)IR0 * ( Lm_B1( (INT32)RFC - ( R0 << 4 ), 0 ) ) ) ) >> 12 );
+				MAC2 = A2( ( ( (INT64)G0 << 16 ) + ( (INT64)(INT16)IR0 * ( Lm_B1( (INT32)GFC - ( G0 << 4 ), 0 ) ) ) ) >> 12 );
+				MAC3 = A3( ( ( (INT64)B0 << 16 ) + ( (INT64)(INT16)IR0 * ( Lm_B1( (INT32)BFC - ( B0 << 4 ), 0 ) ) ) ) >> 12 );
+				IR1 = Lm_B1( (INT32)MAC1, 0 );
+				IR2 = Lm_B2( (INT32)MAC2, 0 );
+				IR3 = Lm_B3( (INT32)MAC3, 0 );
+				CD0 = CD1;
+				CD1 = CD2;
+				CD2 = CODE;
+				R0 = R1;
+				R1 = R2;
+				R2 = Lm_C1( (INT32)MAC1 >> 4 );
+				G0 = G1;
+				G1 = G2;
+				G2 = Lm_C2( (INT32)MAC2 >> 4 );
+				B0 = B1;
+				B1 = B2;
+				B2 = Lm_C3( (INT32)MAC3 >> 4 );
+			}
+			return;
+		}
+		break;
+	case 0x2d:
+		if( gteop == 0x158002d )
+		{
+			GTELOG( "AVSZ3" );
+			FLAG = 0;
+
+			MAC0 = F( ( (INT64)(INT16)ZSF3 * SZ1 ) + ( (INT16)ZSF3 * SZ2 ) + ( (INT16)ZSF3 * SZ3 ) );
+			OTZ = Lm_D( (INT32)MAC0 >> 12 );
+			return;
+		}
+		break;
+	case 0x2e:
+		if( gteop == 0x168002e )
+		{
+			GTELOG( "AVSZ4" );
+			FLAG = 0;
+
+			MAC0 = F( ( (INT64)(INT16)ZSF4 * SZ0 ) + ( (INT16)ZSF4 * SZ1 ) + ( (INT16)ZSF4 * SZ2 ) + ( (INT16)ZSF4 * SZ3 ) );
+			OTZ = Lm_D( (INT32)MAC0 >> 12 );
+			return;
+		}
+		break;
+	case 0x30:
+		if( gteop == 0x0280030 )
+		{
+			GTELOG( "RTPT" );
+			FLAG = 0;
+
+			for( n_v = 0; n_v < 3; n_v++ )
+			{
+				MAC1 = A1( ( ( (INT64)(INT32)TRX << 12 ) + ( (INT16)R11 * (INT16)*p_n_vx[ n_v ] ) + ( (INT16)R12 * (INT16)*p_n_vy[ n_v ] ) + ( (INT16)R13 * (INT16)*p_n_vz[ n_v ] ) ) >> 12 );
+				MAC2 = A2( ( ( (INT64)(INT32)TRY << 12 ) + ( (INT16)R21 * (INT16)*p_n_vx[ n_v ] ) + ( (INT16)R22 * (INT16)*p_n_vy[ n_v ] ) + ( (INT16)R23 * (INT16)*p_n_vz[ n_v ] ) ) >> 12 );
+				MAC3 = A3( ( ( (INT64)(INT32)TRZ << 12 ) + ( (INT16)R31 * (INT16)*p_n_vx[ n_v ] ) + ( (INT16)R32 * (INT16)*p_n_vy[ n_v ] ) + ( (INT16)R33 * (INT16)*p_n_vz[ n_v ] ) ) >> 12 );
+				IR1 = Lm_B1( (INT32)MAC1, 0 );
+				IR2 = Lm_B2( (INT32)MAC2, 0 );
+				IR3 = Lm_B3( (INT32)MAC3, 0 );
+				SZ0 = SZ1;
+				SZ1 = SZ2;
+				SZ2 = SZ3;
+				SZ3 = Lm_D( (INT32)MAC3 );
+				SXY0 = SXY1;
+				SXY1 = SXY2;
+				SX2 = Lm_G1( F( ( (INT64)(INT32)OFX + ( (INT64)(INT16)IR1 * ( ( (UINT32)H << 16 ) / Lm_E( SZ3 ) ) ) ) >> 16 ) );
+				SY2 = Lm_G2( F( ( (INT64)(INT32)OFY + ( (INT64)(INT16)IR2 * ( ( (UINT32)H << 16 ) / Lm_E( SZ3 ) ) ) ) >> 16 ) );
+				MAC0 = F( (INT64)(INT32)DQB + ( (INT64)(INT16)DQA * ( ( (UINT32)H << 16 ) / Lm_E( SZ3 ) ) ) );
+				IR0 = Lm_H( (INT32)MAC0 >> 12 );
+			}
+			return;
+		}
+		break;
+	case 0x3d:
+		if( GTE_OP( gteop ) == 0x09 ||
+			GTE_OP( gteop ) == 0x19 )
+		{
+			GTELOG( "GPF" );
+			n_sf = 12 * GTE_SF( gteop );
+			FLAG = 0;
+
+			MAC1 = A1( ( (INT64)(INT16)IR0 * (INT16)IR1 ) >> n_sf );
+			MAC2 = A2( ( (INT64)(INT16)IR0 * (INT16)IR2 ) >> n_sf );
+			MAC3 = A3( ( (INT64)(INT16)IR0 * (INT16)IR3 ) >> n_sf );
+			IR1 = Lm_B1( (INT32)MAC1, 0 );
+			IR2 = Lm_B2( (INT32)MAC2, 0 );
+			IR3 = Lm_B3( (INT32)MAC3, 0 );
+			CD0 = CD1;
+			CD1 = CD2;
+			CD2 = CODE;
+			R0 = R1;
+			R1 = R2;
+			R2 = Lm_C1( (INT32)MAC1 >> 4 );
+			G0 = G1;
+			G1 = G2;
+			G2 = Lm_C2( (INT32)MAC2 >> 4 );
+			B0 = B1;
+			B1 = B2;
+			B2 = Lm_C3( (INT32)MAC3 >> 4 );
+			return;
+		}
+		break;
+	case 0x3e:
+		if( GTE_OP( gteop ) == 0x1a )
+		{
+			GTELOG( "GPL" );
+			n_sf = 12 * GTE_SF( gteop );
+			FLAG = 0;
+
+			MAC1 = A1( ( ( (INT64)(INT32)MAC1 << n_sf ) + ( (INT16)IR0 * (INT16)IR1 ) ) >> n_sf );
+			MAC2 = A2( ( ( (INT64)(INT32)MAC2 << n_sf ) + ( (INT16)IR0 * (INT16)IR2 ) ) >> n_sf );
+			MAC3 = A3( ( ( (INT64)(INT32)MAC3 << n_sf ) + ( (INT16)IR0 * (INT16)IR3 ) ) >> n_sf );
+			IR1 = Lm_B1( (INT32)MAC1, 0 );
+			IR2 = Lm_B2( (INT32)MAC2, 0 );
+			IR3 = Lm_B3( (INT32)MAC3, 0 );
+			CD0 = CD1;
+			CD1 = CD2;
+			CD2 = CODE;
+			R0 = R1;
+			R1 = R2;
+			R2 = Lm_C1( (INT32)MAC1 >> 4 );
+			G0 = G1;
+			G1 = G2;
+			G2 = Lm_C2( (INT32)MAC2 >> 4 );
+			B0 = B1;
+			B1 = B2;
+			B2 = Lm_C3( (INT32)MAC3 >> 4 );
+			return;
+		}
+		break;
+	case 0x3f:
+		if( gteop == 0x108043f ||
+			gteop == 0x118043f )
+		{
+			GTELOG( "NCCT" );
+			FLAG = 0;
+
+			for( n_v = 0; n_v < 3; n_v++ )
+			{
+				MAC1 = A1( ( ( (INT64)(INT16)L11 * (INT16)*p_n_vx[ n_v ] ) + ( (INT16)L12 * (INT16)*p_n_vy[ n_v ] ) + ( (INT16)L13 * (INT16)*p_n_vz[ n_v ] ) ) >> 12 );
+				MAC2 = A2( ( ( (INT64)(INT16)L21 * (INT16)*p_n_vx[ n_v ] ) + ( (INT16)L22 * (INT16)*p_n_vy[ n_v ] ) + ( (INT16)L23 * (INT16)*p_n_vz[ n_v ] ) ) >> 12 );
+				MAC3 = A3( ( ( (INT64)(INT16)L31 * (INT16)*p_n_vx[ n_v ] ) + ( (INT16)L32 * (INT16)*p_n_vy[ n_v ] ) + ( (INT16)L33 * (INT16)*p_n_vz[ n_v ] ) ) >> 12 );
+				IR1 = Lm_B1( (INT32)MAC1, 1 );
+				IR2 = Lm_B2( (INT32)MAC2, 1 );
+				IR3 = Lm_B3( (INT32)MAC3, 1 );
+				MAC1 = A1( ( ( (INT64)RBK << 12 ) + ( (INT16)LR1 * (INT16)IR1 ) + ( (INT16)LR2 * (INT16)IR2 ) + ( (INT16)LR3 * (INT16)IR3 ) ) >> 12 );
+				MAC2 = A2( ( ( (INT64)GBK << 12 ) + ( (INT16)LG1 * (INT16)IR1 ) + ( (INT16)LG2 * (INT16)IR2 ) + ( (INT16)LG3 * (INT16)IR3 ) ) >> 12 );
+				MAC3 = A3( ( ( (INT64)BBK << 12 ) + ( (INT16)LB1 * (INT16)IR1 ) + ( (INT16)LB2 * (INT16)IR2 ) + ( (INT16)LB3 * (INT16)IR3 ) ) >> 12 );
+				IR1 = Lm_B1( (INT32)MAC1, 1 );
+				IR2 = Lm_B2( (INT32)MAC2, 1 );
+				IR3 = Lm_B3( (INT32)MAC3, 1 );
+				MAC1 = A1( ( (INT64)R * (INT16)IR1 ) >> 8 );
+				MAC2 = A2( ( (INT64)G * (INT16)IR2 ) >> 8 );
+				MAC3 = A3( ( (INT64)B * (INT16)IR3 ) >> 8 );
+				IR1 = Lm_B1( (INT32)MAC1, 1 );
+				IR2 = Lm_B2( (INT32)MAC2, 1 );
+				IR3 = Lm_B3( (INT32)MAC3, 1 );
+				CD0 = CD1;
+				CD1 = CD2;
+				CD2 = CODE;
+				R0 = R1;
+				R1 = R2;
+				R2 = Lm_C1( (INT32)MAC1 >> 4 );
+				G0 = G1;
+				G1 = G2;
+				G2 = Lm_C2( (INT32)MAC2 >> 4 );
+				B0 = B1;
+				B1 = B2;
+				B2 = Lm_C3( (INT32)MAC3 >> 4 );
+			}
+			return;
+		}
+		break;
+	}
+//	usrintf_showmessage_secs( 1, "unknown GTE op %08x", gteop );
+	logerror( "%08x: unknown GTE op %08x\n", mipscpu.pc, gteop );
+	mips_stop();
+}
+
+/**************************************************************************
+ * Generic set_info
+ **************************************************************************/
+
+void mips_set_info(UINT32 state, union cpuinfo *info)
+{
+	switch (state)
+	{
+		/* --- the following bits of info are set as 64-bit signed integers --- */
+		case CPUINFO_INT_INPUT_STATE + MIPS_IRQ0:		set_irq_line(MIPS_IRQ0, info->i);		break;
+		case CPUINFO_INT_INPUT_STATE + MIPS_IRQ1:		set_irq_line(MIPS_IRQ1, info->i);		break;
+		case CPUINFO_INT_INPUT_STATE + MIPS_IRQ2:		set_irq_line(MIPS_IRQ2, info->i);		break;
+		case CPUINFO_INT_INPUT_STATE + MIPS_IRQ3:		set_irq_line(MIPS_IRQ3, info->i);		break;
+		case CPUINFO_INT_INPUT_STATE + MIPS_IRQ4:		set_irq_line(MIPS_IRQ4, info->i);		break;
+		case CPUINFO_INT_INPUT_STATE + MIPS_IRQ5:		set_irq_line(MIPS_IRQ5, info->i);		break;
+
+		case CPUINFO_INT_PC:							mips_set_pc( info->i );					break;
+		case CPUINFO_INT_REGISTER + MIPS_PC:			mips_set_pc( info->i );					break;
+		case CPUINFO_INT_SP:							/* no stack */							break;
+		case CPUINFO_INT_REGISTER + MIPS_DELAYV:		mipscpu.delayv = info->i;				break;
+		case CPUINFO_INT_REGISTER + MIPS_DELAYR:		if( info->i <= REGPC ) mipscpu.delayr = info->i; break;
+		case CPUINFO_INT_REGISTER + MIPS_HI:			mipscpu.hi = info->i;					break;
+		case CPUINFO_INT_REGISTER + MIPS_LO:			mipscpu.lo = info->i;					break;
+		case CPUINFO_INT_REGISTER + MIPS_R0:			mipscpu.r[ 0 ] = info->i;				break;
+		case CPUINFO_INT_REGISTER + MIPS_R1:			mipscpu.r[ 1 ] = info->i;				break;
+		case CPUINFO_INT_REGISTER + MIPS_R2:			mipscpu.r[ 2 ] = info->i;				break;
+		case CPUINFO_INT_REGISTER + MIPS_R3:			mipscpu.r[ 3 ] = info->i;				break;
+		case CPUINFO_INT_REGISTER + MIPS_R4:			mipscpu.r[ 4 ] = info->i;				break;
+		case CPUINFO_INT_REGISTER + MIPS_R5:			mipscpu.r[ 5 ] = info->i;				break;
+		case CPUINFO_INT_REGISTER + MIPS_R6:			mipscpu.r[ 6 ] = info->i;				break;
+		case CPUINFO_INT_REGISTER + MIPS_R7:			mipscpu.r[ 7 ] = info->i;				break;
+		case CPUINFO_INT_REGISTER + MIPS_R8:			mipscpu.r[ 8 ] = info->i;				break;
+		case CPUINFO_INT_REGISTER + MIPS_R9:			mipscpu.r[ 9 ] = info->i;				break;
+		case CPUINFO_INT_REGISTER + MIPS_R10:			mipscpu.r[ 10 ] = info->i;				break;
+		case CPUINFO_INT_REGISTER + MIPS_R11:			mipscpu.r[ 11 ] = info->i;				break;
+		case CPUINFO_INT_REGISTER + MIPS_R12:			mipscpu.r[ 12 ] = info->i;				break;
+		case CPUINFO_INT_REGISTER + MIPS_R13:			mipscpu.r[ 13 ] = info->i;				break;
+		case CPUINFO_INT_REGISTER + MIPS_R14:			mipscpu.r[ 14 ] = info->i;				break;
+		case CPUINFO_INT_REGISTER + MIPS_R15:			mipscpu.r[ 15 ] = info->i;				break;
+		case CPUINFO_INT_REGISTER + MIPS_R16:			mipscpu.r[ 16 ] = info->i;				break;
+		case CPUINFO_INT_REGISTER + MIPS_R17:			mipscpu.r[ 17 ] = info->i;				break;
+		case CPUINFO_INT_REGISTER + MIPS_R18:			mipscpu.r[ 18 ] = info->i;				break;
+		case CPUINFO_INT_REGISTER + MIPS_R19:			mipscpu.r[ 19 ] = info->i;				break;
+		case CPUINFO_INT_REGISTER + MIPS_R20:			mipscpu.r[ 20 ] = info->i;				break;
+		case CPUINFO_INT_REGISTER + MIPS_R21:			mipscpu.r[ 21 ] = info->i;				break;
+		case CPUINFO_INT_REGISTER + MIPS_R22:			mipscpu.r[ 22 ] = info->i;				break;
+		case CPUINFO_INT_REGISTER + MIPS_R23:			mipscpu.r[ 23 ] = info->i;				break;
+		case CPUINFO_INT_REGISTER + MIPS_R24:			mipscpu.r[ 24 ] = info->i;				break;
+		case CPUINFO_INT_REGISTER + MIPS_R25:			mipscpu.r[ 25 ] = info->i;				break;
+		case CPUINFO_INT_REGISTER + MIPS_R26:			mipscpu.r[ 26 ] = info->i;				break;
+		case CPUINFO_INT_REGISTER + MIPS_R27:			mipscpu.r[ 27 ] = info->i;				break;
+		case CPUINFO_INT_REGISTER + MIPS_R28:			mipscpu.r[ 28 ] = info->i;				break;
+		case CPUINFO_INT_REGISTER + MIPS_R29:			mipscpu.r[ 29 ] = info->i;				break;
+		case CPUINFO_INT_REGISTER + MIPS_R30:			mipscpu.r[ 30 ] = info->i;				break;
+		case CPUINFO_INT_REGISTER + MIPS_R31:			mipscpu.r[ 31 ] = info->i;				break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R0:			mips_set_cp0r( 0, info->i );			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R1:			mips_set_cp0r( 1, info->i );			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R2:			mips_set_cp0r( 2, info->i );			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R3:			mips_set_cp0r( 3, info->i );			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R4:			mips_set_cp0r( 4, info->i );			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R5:			mips_set_cp0r( 5, info->i );			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R6:			mips_set_cp0r( 6, info->i );			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R7:			mips_set_cp0r( 7, info->i );			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R8:			mips_set_cp0r( 8, info->i );			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R9:			mips_set_cp0r( 9, info->i );			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R10:		mips_set_cp0r( 10, info->i );			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R11:		mips_set_cp0r( 11, info->i );			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R12:		mips_set_cp0r( 12, info->i );			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R13:		mips_set_cp0r( 13, info->i );			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R14:		mips_set_cp0r( 14, info->i );			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R15:		mips_set_cp0r( 15, info->i );			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R16:		mips_set_cp0r( 16, info->i );			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R17:		mips_set_cp0r( 17, info->i );			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R18:		mips_set_cp0r( 18, info->i );			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R19:		mips_set_cp0r( 19, info->i );			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R20:		mips_set_cp0r( 20, info->i );			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R21:		mips_set_cp0r( 21, info->i );			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R22:		mips_set_cp0r( 22, info->i );			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R23:		mips_set_cp0r( 23, info->i );			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R24:		mips_set_cp0r( 24, info->i );			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R25:		mips_set_cp0r( 25, info->i );			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R26:		mips_set_cp0r( 26, info->i );			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R27:		mips_set_cp0r( 27, info->i );			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R28:		mips_set_cp0r( 28, info->i );			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R29:		mips_set_cp0r( 29, info->i );			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R30:		mips_set_cp0r( 30, info->i );			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R31:		mips_set_cp0r( 31, info->i );			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR0:		mipscpu.cp2dr[ 0 ].d = info->i;			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR1:		mipscpu.cp2dr[ 1 ].d = info->i;			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR2:		mipscpu.cp2dr[ 2 ].d = info->i;			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR3:		mipscpu.cp2dr[ 3 ].d = info->i;			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR4:		mipscpu.cp2dr[ 4 ].d = info->i;			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR5:		mipscpu.cp2dr[ 5 ].d = info->i;			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR6:		mipscpu.cp2dr[ 6 ].d = info->i;			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR7:		mipscpu.cp2dr[ 7 ].d = info->i;			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR8:		mipscpu.cp2dr[ 8 ].d = info->i;			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR9:		mipscpu.cp2dr[ 9 ].d = info->i;			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR10:		mipscpu.cp2dr[ 10 ].d = info->i;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR11:		mipscpu.cp2dr[ 11 ].d = info->i;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR12:		mipscpu.cp2dr[ 12 ].d = info->i;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR13:		mipscpu.cp2dr[ 13 ].d = info->i;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR14:		mipscpu.cp2dr[ 14 ].d = info->i;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR15:		mipscpu.cp2dr[ 15 ].d = info->i;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR16:		mipscpu.cp2dr[ 16 ].d = info->i;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR17:		mipscpu.cp2dr[ 17 ].d = info->i;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR18:		mipscpu.cp2dr[ 18 ].d = info->i;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR19:		mipscpu.cp2dr[ 19 ].d = info->i;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR20:		mipscpu.cp2dr[ 20 ].d = info->i;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR21:		mipscpu.cp2dr[ 21 ].d = info->i;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR22:		mipscpu.cp2dr[ 22 ].d = info->i;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR23:		mipscpu.cp2dr[ 23 ].d = info->i;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR24:		mipscpu.cp2dr[ 24 ].d = info->i;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR25:		mipscpu.cp2dr[ 25 ].d = info->i;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR26:		mipscpu.cp2dr[ 26 ].d = info->i;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR27:		mipscpu.cp2dr[ 27 ].d = info->i;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR28:		mipscpu.cp2dr[ 28 ].d = info->i;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR29:		mipscpu.cp2dr[ 29 ].d = info->i;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR30:		mipscpu.cp2dr[ 30 ].d = info->i;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR31:		mipscpu.cp2dr[ 31 ].d = info->i;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR0:		mipscpu.cp2cr[ 0 ].d = info->i;			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR1:		mipscpu.cp2cr[ 1 ].d = info->i;			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR2:		mipscpu.cp2cr[ 2 ].d = info->i;			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR3:		mipscpu.cp2cr[ 3 ].d = info->i;			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR4:		mipscpu.cp2cr[ 4 ].d = info->i;			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR5:		mipscpu.cp2cr[ 5 ].d = info->i;			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR6:		mipscpu.cp2cr[ 6 ].d = info->i;			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR7:		mipscpu.cp2cr[ 7 ].d = info->i;			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR8:		mipscpu.cp2cr[ 8 ].d = info->i;			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR9:		mipscpu.cp2cr[ 9 ].d = info->i;			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR10:		mipscpu.cp2cr[ 10 ].d = info->i;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR11:		mipscpu.cp2cr[ 11 ].d = info->i;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR12:		mipscpu.cp2cr[ 12 ].d = info->i;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR13:		mipscpu.cp2cr[ 13 ].d = info->i;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR14:		mipscpu.cp2cr[ 14 ].d = info->i;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR15:		mipscpu.cp2cr[ 15 ].d = info->i;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR16:		mipscpu.cp2cr[ 16 ].d = info->i;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR17:		mipscpu.cp2cr[ 17 ].d = info->i;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR18:		mipscpu.cp2cr[ 18 ].d = info->i;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR19:		mipscpu.cp2cr[ 19 ].d = info->i;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR20:		mipscpu.cp2cr[ 20 ].d = info->i;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR21:		mipscpu.cp2cr[ 21 ].d = info->i;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR22:		mipscpu.cp2cr[ 22 ].d = info->i;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR23:		mipscpu.cp2cr[ 23 ].d = info->i;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR24:		mipscpu.cp2cr[ 24 ].d = info->i;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR25:		mipscpu.cp2cr[ 25 ].d = info->i;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR26:		mipscpu.cp2cr[ 26 ].d = info->i;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR27:		mipscpu.cp2cr[ 27 ].d = info->i;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR28:		mipscpu.cp2cr[ 28 ].d = info->i;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR29:		mipscpu.cp2cr[ 29 ].d = info->i;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR30:		mipscpu.cp2cr[ 30 ].d = info->i;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR31:		mipscpu.cp2cr[ 31 ].d = info->i;		break;
+		
+		/* --- the following bits of info are set as pointers to data or functions --- */
+		case CPUINFO_PTR_IRQ_CALLBACK:					mipscpu.irq_callback = info->irqcallback;			break;
+	}
+}
+
+
+
+/**************************************************************************
+ * Generic get_info
+ **************************************************************************/
+
+void mips_get_info(UINT32 state, union cpuinfo *info)
+{
+	switch (state)
+	{
+		/* --- the following bits of info are returned as 64-bit signed integers --- */
+		case CPUINFO_INT_CONTEXT_SIZE:					info->i = sizeof(mipscpu);				break;
+		case CPUINFO_INT_INPUT_LINES:					info->i = 6;							break;
+		case CPUINFO_INT_DEFAULT_IRQ_VECTOR:			info->i = 0;							break;
+		case CPUINFO_INT_ENDIANNESS:					info->i = CPU_IS_LE;					break;
+		case CPUINFO_INT_CLOCK_DIVIDER:					info->i = 1;							break;
+		case CPUINFO_INT_MIN_INSTRUCTION_BYTES:			info->i = 4;							break;
+		case CPUINFO_INT_MAX_INSTRUCTION_BYTES:			info->i = 4;							break;
+		case CPUINFO_INT_MIN_CYCLES:					info->i = 1;							break;
+		case CPUINFO_INT_MAX_CYCLES:					info->i = 40;							break;
+		
+		case CPUINFO_INT_DATABUS_WIDTH + ADDRESS_SPACE_PROGRAM:	info->i = 32;					break;
+		case CPUINFO_INT_ADDRBUS_WIDTH + ADDRESS_SPACE_PROGRAM: info->i = 32;					break;
+		case CPUINFO_INT_ADDRBUS_SHIFT + ADDRESS_SPACE_PROGRAM: info->i = 0;					break;
+		case CPUINFO_INT_DATABUS_WIDTH + ADDRESS_SPACE_DATA:	info->i = 0;					break;
+		case CPUINFO_INT_ADDRBUS_WIDTH + ADDRESS_SPACE_DATA: 	info->i = 0;					break;
+		case CPUINFO_INT_ADDRBUS_SHIFT + ADDRESS_SPACE_DATA: 	info->i = 0;					break;
+		case CPUINFO_INT_DATABUS_WIDTH + ADDRESS_SPACE_IO:		info->i = 0;					break;
+		case CPUINFO_INT_ADDRBUS_WIDTH + ADDRESS_SPACE_IO: 		info->i = 0;					break;
+		case CPUINFO_INT_ADDRBUS_SHIFT + ADDRESS_SPACE_IO: 		info->i = 0;					break;
+
+		case CPUINFO_INT_INPUT_STATE + MIPS_IRQ0:		info->i = (mipscpu.cp0r[ CP0_CAUSE ] & 0x400) ? ASSERT_LINE : CLEAR_LINE; break;
+		case CPUINFO_INT_INPUT_STATE + MIPS_IRQ1:		info->i = (mipscpu.cp0r[ CP0_CAUSE ] & 0x800) ? ASSERT_LINE : CLEAR_LINE; break;
+		case CPUINFO_INT_INPUT_STATE + MIPS_IRQ2:		info->i = (mipscpu.cp0r[ CP0_CAUSE ] & 0x1000) ? ASSERT_LINE : CLEAR_LINE; break;
+		case CPUINFO_INT_INPUT_STATE + MIPS_IRQ3:		info->i = (mipscpu.cp0r[ CP0_CAUSE ] & 0x2000) ? ASSERT_LINE : CLEAR_LINE; break;
+		case CPUINFO_INT_INPUT_STATE + MIPS_IRQ4:		info->i = (mipscpu.cp0r[ CP0_CAUSE ] & 0x4000) ? ASSERT_LINE : CLEAR_LINE; break;
+		case CPUINFO_INT_INPUT_STATE + MIPS_IRQ5:		info->i = (mipscpu.cp0r[ CP0_CAUSE ] & 0x8000) ? ASSERT_LINE : CLEAR_LINE; break;
+
+		case CPUINFO_INT_PREVIOUSPC:					/* not implemented */					break;
+
+		case CPUINFO_INT_PC:							info->i = mipscpu.pc;					break;
+		case CPUINFO_INT_REGISTER + MIPS_PC:			info->i = mipscpu.pc;					break;
+		case CPUINFO_INT_SP:
+			/* because there is no hardware stack and the pipeline causes the cpu to execute the
+			instruction after a subroutine call before the subroutine is executed there is little
+			chance of cmd_step_over() in mamedbg.c working. */
+								info->i = 0;													break;
+		case CPUINFO_INT_REGISTER + MIPS_DELAYV:		info->i = mipscpu.delayv;				break;
+		case CPUINFO_INT_REGISTER + MIPS_DELAYR:		info->i = mipscpu.delayr;				break;
+		case CPUINFO_INT_REGISTER + MIPS_HI:			info->i = mipscpu.hi;					break;
+		case CPUINFO_INT_REGISTER + MIPS_LO:			info->i = mipscpu.lo;					break;
+		case CPUINFO_INT_REGISTER + MIPS_R0:			info->i = mipscpu.r[ 0 ];				break;
+		case CPUINFO_INT_REGISTER + MIPS_R1:			info->i = mipscpu.r[ 1 ];				break;
+		case CPUINFO_INT_REGISTER + MIPS_R2:			info->i = mipscpu.r[ 2 ];				break;
+		case CPUINFO_INT_REGISTER + MIPS_R3:			info->i = mipscpu.r[ 3 ];				break;
+		case CPUINFO_INT_REGISTER + MIPS_R4:			info->i = mipscpu.r[ 4 ];				break;
+		case CPUINFO_INT_REGISTER + MIPS_R5:			info->i = mipscpu.r[ 5 ];				break;
+		case CPUINFO_INT_REGISTER + MIPS_R6:			info->i = mipscpu.r[ 6 ];				break;
+		case CPUINFO_INT_REGISTER + MIPS_R7:			info->i = mipscpu.r[ 7 ];				break;
+		case CPUINFO_INT_REGISTER + MIPS_R8:			info->i = mipscpu.r[ 8 ];				break;
+		case CPUINFO_INT_REGISTER + MIPS_R9:			info->i = mipscpu.r[ 9 ];				break;
+		case CPUINFO_INT_REGISTER + MIPS_R10:			info->i = mipscpu.r[ 10 ];				break;
+		case CPUINFO_INT_REGISTER + MIPS_R11:			info->i = mipscpu.r[ 11 ];				break;
+		case CPUINFO_INT_REGISTER + MIPS_R12:			info->i = mipscpu.r[ 12 ];				break;
+		case CPUINFO_INT_REGISTER + MIPS_R13:			info->i = mipscpu.r[ 13 ];				break;
+		case CPUINFO_INT_REGISTER + MIPS_R14:			info->i = mipscpu.r[ 14 ];				break;
+		case CPUINFO_INT_REGISTER + MIPS_R15:			info->i = mipscpu.r[ 15 ];				break;
+		case CPUINFO_INT_REGISTER + MIPS_R16:			info->i = mipscpu.r[ 16 ];				break;
+		case CPUINFO_INT_REGISTER + MIPS_R17:			info->i = mipscpu.r[ 17 ];				break;
+		case CPUINFO_INT_REGISTER + MIPS_R18:			info->i = mipscpu.r[ 18 ];				break;
+		case CPUINFO_INT_REGISTER + MIPS_R19:			info->i = mipscpu.r[ 19 ];				break;
+		case CPUINFO_INT_REGISTER + MIPS_R20:			info->i = mipscpu.r[ 20 ];				break;
+		case CPUINFO_INT_REGISTER + MIPS_R21:			info->i = mipscpu.r[ 21 ];				break;
+		case CPUINFO_INT_REGISTER + MIPS_R22:			info->i = mipscpu.r[ 22 ];				break;
+		case CPUINFO_INT_REGISTER + MIPS_R23:			info->i = mipscpu.r[ 23 ];				break;
+		case CPUINFO_INT_REGISTER + MIPS_R24:			info->i = mipscpu.r[ 24 ];				break;
+		case CPUINFO_INT_REGISTER + MIPS_R25:			info->i = mipscpu.r[ 25 ];				break;
+		case CPUINFO_INT_REGISTER + MIPS_R26:			info->i = mipscpu.r[ 26 ];				break;
+		case CPUINFO_INT_REGISTER + MIPS_R27:			info->i = mipscpu.r[ 27 ];				break;
+		case CPUINFO_INT_REGISTER + MIPS_R28:			info->i = mipscpu.r[ 28 ];				break;
+		case CPUINFO_INT_REGISTER + MIPS_R29:			info->i = mipscpu.r[ 29 ];				break;
+		case CPUINFO_INT_REGISTER + MIPS_R30:			info->i = mipscpu.r[ 30 ];				break;
+		case CPUINFO_INT_REGISTER + MIPS_R31:			info->i = mipscpu.r[ 31 ];				break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R0:			info->i = mipscpu.cp0r[ 0 ];			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R1:			info->i = mipscpu.cp0r[ 1 ];			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R2:			info->i = mipscpu.cp0r[ 2 ];			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R3:			info->i = mipscpu.cp0r[ 3 ];			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R4:			info->i = mipscpu.cp0r[ 4 ];			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R5:			info->i = mipscpu.cp0r[ 5 ];			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R6:			info->i = mipscpu.cp0r[ 6 ];			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R7:			info->i = mipscpu.cp0r[ 7 ];			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R8:			info->i = mipscpu.cp0r[ 8 ];			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R9:			info->i = mipscpu.cp0r[ 9 ];			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R10:		info->i = mipscpu.cp0r[ 10 ];			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R11:		info->i = mipscpu.cp0r[ 11 ];			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R12:		info->i = mipscpu.cp0r[ 12 ];			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R13:		info->i = mipscpu.cp0r[ 13 ];			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R14:		info->i = mipscpu.cp0r[ 14 ];			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R15:		info->i = mipscpu.cp0r[ 15 ];			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R16:		info->i = mipscpu.cp0r[ 16 ];			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R17:		info->i = mipscpu.cp0r[ 17 ];			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R18:		info->i = mipscpu.cp0r[ 18 ];			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R19:		info->i = mipscpu.cp0r[ 19 ];			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R20:		info->i = mipscpu.cp0r[ 20 ];			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R21:		info->i = mipscpu.cp0r[ 21 ];			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R22:		info->i = mipscpu.cp0r[ 22 ];			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R23:		info->i = mipscpu.cp0r[ 23 ];			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R24:		info->i = mipscpu.cp0r[ 24 ];			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R25:		info->i = mipscpu.cp0r[ 25 ];			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R26:		info->i = mipscpu.cp0r[ 26 ];			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R27:		info->i = mipscpu.cp0r[ 27 ];			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R28:		info->i = mipscpu.cp0r[ 28 ];			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R29:		info->i = mipscpu.cp0r[ 29 ];			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R30:		info->i = mipscpu.cp0r[ 30 ];			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP0R31:		info->i = mipscpu.cp0r[ 31 ];			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR0:		info->i = mipscpu.cp2dr[ 0 ].d;			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR1:		info->i = mipscpu.cp2dr[ 1 ].d;			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR2:		info->i = mipscpu.cp2dr[ 2 ].d;			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR3:		info->i = mipscpu.cp2dr[ 3 ].d;			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR4:		info->i = mipscpu.cp2dr[ 4 ].d;			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR5:		info->i = mipscpu.cp2dr[ 5 ].d;			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR6:		info->i = mipscpu.cp2dr[ 6 ].d;			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR7:		info->i = mipscpu.cp2dr[ 7 ].d;			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR8:		info->i = mipscpu.cp2dr[ 8 ].d;			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR9:		info->i = mipscpu.cp2dr[ 9 ].d;			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR10:		info->i = mipscpu.cp2dr[ 10 ].d;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR11:		info->i = mipscpu.cp2dr[ 11 ].d;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR12:		info->i = mipscpu.cp2dr[ 12 ].d;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR13:		info->i = mipscpu.cp2dr[ 13 ].d;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR14:		info->i = mipscpu.cp2dr[ 14 ].d;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR15:		info->i = mipscpu.cp2dr[ 15 ].d;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR16:		info->i = mipscpu.cp2dr[ 16 ].d;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR17:		info->i = mipscpu.cp2dr[ 17 ].d;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR18:		info->i = mipscpu.cp2dr[ 18 ].d;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR19:		info->i = mipscpu.cp2dr[ 19 ].d;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR20:		info->i = mipscpu.cp2dr[ 20 ].d;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR21:		info->i = mipscpu.cp2dr[ 21 ].d;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR22:		info->i = mipscpu.cp2dr[ 22 ].d;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR23:		info->i = mipscpu.cp2dr[ 23 ].d;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR24:		info->i = mipscpu.cp2dr[ 24 ].d;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR25:		info->i = mipscpu.cp2dr[ 25 ].d;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR26:		info->i = mipscpu.cp2dr[ 26 ].d;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR27:		info->i = mipscpu.cp2dr[ 27 ].d;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR28:		info->i = mipscpu.cp2dr[ 28 ].d;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR29:		info->i = mipscpu.cp2dr[ 29 ].d;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR30:		info->i = mipscpu.cp2dr[ 30 ].d;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2DR31:		info->i = mipscpu.cp2dr[ 31 ].d;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR0:		info->i = mipscpu.cp2cr[ 0 ].d;			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR1:		info->i = mipscpu.cp2cr[ 1 ].d;			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR2:		info->i = mipscpu.cp2cr[ 2 ].d;			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR3:		info->i = mipscpu.cp2cr[ 3 ].d;			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR4:		info->i = mipscpu.cp2cr[ 4 ].d;			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR5:		info->i = mipscpu.cp2cr[ 5 ].d;			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR6:		info->i = mipscpu.cp2cr[ 6 ].d;			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR7:		info->i = mipscpu.cp2cr[ 7 ].d;			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR8:		info->i = mipscpu.cp2cr[ 8 ].d;			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR9:		info->i = mipscpu.cp2cr[ 9 ].d;			break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR10:		info->i = mipscpu.cp2cr[ 10 ].d;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR11:		info->i = mipscpu.cp2cr[ 11 ].d;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR12:		info->i = mipscpu.cp2cr[ 12 ].d;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR13:		info->i = mipscpu.cp2cr[ 13 ].d;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR14:		info->i = mipscpu.cp2cr[ 14 ].d;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR15:		info->i = mipscpu.cp2cr[ 15 ].d;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR16:		info->i = mipscpu.cp2cr[ 16 ].d;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR17:		info->i = mipscpu.cp2cr[ 17 ].d;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR18:		info->i = mipscpu.cp2cr[ 18 ].d;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR19:		info->i = mipscpu.cp2cr[ 19 ].d;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR20:		info->i = mipscpu.cp2cr[ 20 ].d;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR21:		info->i = mipscpu.cp2cr[ 21 ].d;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR22:		info->i = mipscpu.cp2cr[ 22 ].d;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR23:		info->i = mipscpu.cp2cr[ 23 ].d;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR24:		info->i = mipscpu.cp2cr[ 24 ].d;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR25:		info->i = mipscpu.cp2cr[ 25 ].d;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR26:		info->i = mipscpu.cp2cr[ 26 ].d;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR27:		info->i = mipscpu.cp2cr[ 27 ].d;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR28:		info->i = mipscpu.cp2cr[ 28 ].d;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR29:		info->i = mipscpu.cp2cr[ 29 ].d;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR30:		info->i = mipscpu.cp2cr[ 30 ].d;		break;
+		case CPUINFO_INT_REGISTER + MIPS_CP2CR31:		info->i = mipscpu.cp2cr[ 31 ].d;		break;
+
+		/* --- the following bits of info are returned as pointers to data or functions --- */
+		case CPUINFO_PTR_SET_INFO:						info->setinfo = mips_set_info;			break;
+		case CPUINFO_PTR_GET_CONTEXT:					info->getcontext = mips_get_context;	break;
+		case CPUINFO_PTR_SET_CONTEXT:					info->setcontext = mips_set_context;	break;
+		case CPUINFO_PTR_INIT:							info->init = mips_init;					break;
+		case CPUINFO_PTR_RESET:							info->reset = mips_reset;				break;
+		case CPUINFO_PTR_EXIT:							info->exit = mips_exit;					break;
+		case CPUINFO_PTR_EXECUTE:						info->execute = mips_execute;			break;
+		case CPUINFO_PTR_BURN:							info->burn = NULL;						break;
+		case CPUINFO_PTR_DISASSEMBLE:					info->disassemble = mips_dasm;			break;
+		case CPUINFO_PTR_IRQ_CALLBACK:					info->irqcallback = mipscpu.irq_callback; break;
+		case CPUINFO_PTR_INSTRUCTION_COUNTER:			info->icount = &mips_ICount;			break;
+		case CPUINFO_PTR_REGISTER_LAYOUT:				info->p = mips_reg_layout;				break;
+		case CPUINFO_PTR_WINDOW_LAYOUT:					info->p = mips_win_layout;				break;
+
+		/* --- the following bits of info are returned as NULL-terminated strings --- */
+#if 0
+		case CPUINFO_STR_NAME:							strcpy(info->s = cpuintrf_temp_str(), "PSX CPU"); break;
+		case CPUINFO_STR_CORE_FAMILY:					strcpy(info->s = cpuintrf_temp_str(), "mipscpu"); break;
+		case CPUINFO_STR_CORE_VERSION:					strcpy(info->s = cpuintrf_temp_str(), "1.4"); break;
+		case CPUINFO_STR_CORE_FILE:						strcpy(info->s = cpuintrf_temp_str(), __FILE__); break;
+		case CPUINFO_STR_CORE_CREDITS:					strcpy(info->s = cpuintrf_temp_str(), "Copyright 2003 smf"); break;
+
+		case CPUINFO_STR_FLAGS:							strcpy(info->s = cpuintrf_temp_str(), " "); break;
+
+		case CPUINFO_STR_REGISTER + MIPS_PC:			sprintf( info->s = cpuintrf_temp_str(), "pc      :%08x", mipscpu.pc ); break;
+		case CPUINFO_STR_REGISTER + MIPS_DELAYV:		sprintf( info->s = cpuintrf_temp_str(), "delay   :%08x", mipscpu.delayv ); break;
+		case CPUINFO_STR_REGISTER + MIPS_DELAYR:		sprintf( info->s = cpuintrf_temp_str(), "delay %s:%02x", delayn[ mipscpu.delayr ], mipscpu.delayr ); break;
+		case CPUINFO_STR_REGISTER + MIPS_HI:			sprintf( info->s = cpuintrf_temp_str(), "hi      :%08x", mipscpu.hi ); break;
+		case CPUINFO_STR_REGISTER + MIPS_LO:			sprintf( info->s = cpuintrf_temp_str(), "lo      :%08x", mipscpu.lo ); break;
+		case CPUINFO_STR_REGISTER + MIPS_R0:			sprintf( info->s = cpuintrf_temp_str(), "zero    :%08x", mipscpu.r[ 0 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_R1:			sprintf( info->s = cpuintrf_temp_str(), "at      :%08x", mipscpu.r[ 1 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_R2:			sprintf( info->s = cpuintrf_temp_str(), "v0      :%08x", mipscpu.r[ 2 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_R3:			sprintf( info->s = cpuintrf_temp_str(), "v1      :%08x", mipscpu.r[ 3 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_R4:			sprintf( info->s = cpuintrf_temp_str(), "a0      :%08x", mipscpu.r[ 4 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_R5:			sprintf( info->s = cpuintrf_temp_str(), "a1      :%08x", mipscpu.r[ 5 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_R6:			sprintf( info->s = cpuintrf_temp_str(), "a2      :%08x", mipscpu.r[ 6 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_R7:			sprintf( info->s = cpuintrf_temp_str(), "a3      :%08x", mipscpu.r[ 7 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_R8:			sprintf( info->s = cpuintrf_temp_str(), "t0      :%08x", mipscpu.r[ 8 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_R9:			sprintf( info->s = cpuintrf_temp_str(), "t1      :%08x", mipscpu.r[ 9 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_R10:			sprintf( info->s = cpuintrf_temp_str(), "t2      :%08x", mipscpu.r[ 10 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_R11:			sprintf( info->s = cpuintrf_temp_str(), "t3      :%08x", mipscpu.r[ 11 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_R12:			sprintf( info->s = cpuintrf_temp_str(), "t4      :%08x", mipscpu.r[ 12 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_R13:			sprintf( info->s = cpuintrf_temp_str(), "t5      :%08x", mipscpu.r[ 13 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_R14:			sprintf( info->s = cpuintrf_temp_str(), "t6      :%08x", mipscpu.r[ 14 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_R15:			sprintf( info->s = cpuintrf_temp_str(), "t7      :%08x", mipscpu.r[ 15 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_R16:			sprintf( info->s = cpuintrf_temp_str(), "s0      :%08x", mipscpu.r[ 16 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_R17:			sprintf( info->s = cpuintrf_temp_str(), "s1      :%08x", mipscpu.r[ 17 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_R18:			sprintf( info->s = cpuintrf_temp_str(), "s2      :%08x", mipscpu.r[ 18 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_R19:			sprintf( info->s = cpuintrf_temp_str(), "s3      :%08x", mipscpu.r[ 19 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_R20:			sprintf( info->s = cpuintrf_temp_str(), "s4      :%08x", mipscpu.r[ 20 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_R21:			sprintf( info->s = cpuintrf_temp_str(), "s5      :%08x", mipscpu.r[ 21 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_R22:			sprintf( info->s = cpuintrf_temp_str(), "s6      :%08x", mipscpu.r[ 22 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_R23:			sprintf( info->s = cpuintrf_temp_str(), "s7      :%08x", mipscpu.r[ 23 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_R24:			sprintf( info->s = cpuintrf_temp_str(), "t8      :%08x", mipscpu.r[ 24 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_R25:			sprintf( info->s = cpuintrf_temp_str(), "t9      :%08x", mipscpu.r[ 25 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_R26:			sprintf( info->s = cpuintrf_temp_str(), "k0      :%08x", mipscpu.r[ 26 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_R27:			sprintf( info->s = cpuintrf_temp_str(), "k1      :%08x", mipscpu.r[ 27 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_R28:			sprintf( info->s = cpuintrf_temp_str(), "gp      :%08x", mipscpu.r[ 28 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_R29:			sprintf( info->s = cpuintrf_temp_str(), "sp      :%08x", mipscpu.r[ 29 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_R30:			sprintf( info->s = cpuintrf_temp_str(), "fp      :%08x", mipscpu.r[ 30 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_R31:			sprintf( info->s = cpuintrf_temp_str(), "ra      :%08x", mipscpu.r[ 31 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP0R0:			sprintf( info->s = cpuintrf_temp_str(), "Index   :%08x", mipscpu.cp0r[ 0 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP0R1:			sprintf( info->s = cpuintrf_temp_str(), "Random  :%08x", mipscpu.cp0r[ 1 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP0R2:			sprintf( info->s = cpuintrf_temp_str(), "EntryLo :%08x", mipscpu.cp0r[ 2 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP0R3:			sprintf( info->s = cpuintrf_temp_str(), "cp0r3   :%08x", mipscpu.cp0r[ 3 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP0R4:			sprintf( info->s = cpuintrf_temp_str(), "Context :%08x", mipscpu.cp0r[ 4 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP0R5:			sprintf( info->s = cpuintrf_temp_str(), "cp0r5   :%08x", mipscpu.cp0r[ 5 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP0R6:			sprintf( info->s = cpuintrf_temp_str(), "cp0r6   :%08x", mipscpu.cp0r[ 6 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP0R7:			sprintf( info->s = cpuintrf_temp_str(), "cp0r7   :%08x", mipscpu.cp0r[ 7 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP0R8:			sprintf( info->s = cpuintrf_temp_str(), "BadVAddr:%08x", mipscpu.cp0r[ 8 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP0R9:			sprintf( info->s = cpuintrf_temp_str(), "cp0r9   :%08x", mipscpu.cp0r[ 9 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP0R10:		sprintf( info->s = cpuintrf_temp_str(), "EntryHi :%08x", mipscpu.cp0r[ 10 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP0R11:		sprintf( info->s = cpuintrf_temp_str(), "cp0r11  :%08x", mipscpu.cp0r[ 11 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP0R12:		sprintf( info->s = cpuintrf_temp_str(), "SR      :%08x", mipscpu.cp0r[ 12 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP0R13:		sprintf( info->s = cpuintrf_temp_str(), "Cause   :%08x", mipscpu.cp0r[ 13 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP0R14:		sprintf( info->s = cpuintrf_temp_str(), "EPC     :%08x", mipscpu.cp0r[ 14 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP0R15:		sprintf( info->s = cpuintrf_temp_str(), "PRId    :%08x", mipscpu.cp0r[ 15 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP0R16:		sprintf( info->s = cpuintrf_temp_str(), "cp0r16  :%08x", mipscpu.cp0r[ 16 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP0R17:		sprintf( info->s = cpuintrf_temp_str(), "cp0r17  :%08x", mipscpu.cp0r[ 17 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP0R18:		sprintf( info->s = cpuintrf_temp_str(), "cp0r18  :%08x", mipscpu.cp0r[ 18 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP0R19:		sprintf( info->s = cpuintrf_temp_str(), "cp0r19  :%08x", mipscpu.cp0r[ 19 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP0R20:		sprintf( info->s = cpuintrf_temp_str(), "cp0r20  :%08x", mipscpu.cp0r[ 20 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP0R21:		sprintf( info->s = cpuintrf_temp_str(), "cp0r21  :%08x", mipscpu.cp0r[ 21 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP0R22:		sprintf( info->s = cpuintrf_temp_str(), "cp0r22  :%08x", mipscpu.cp0r[ 22 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP0R23:		sprintf( info->s = cpuintrf_temp_str(), "cp0r23  :%08x", mipscpu.cp0r[ 23 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP0R24:		sprintf( info->s = cpuintrf_temp_str(), "cp0r24  :%08x", mipscpu.cp0r[ 24 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP0R25:		sprintf( info->s = cpuintrf_temp_str(), "cp0r25  :%08x", mipscpu.cp0r[ 25 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP0R26:		sprintf( info->s = cpuintrf_temp_str(), "cp0r26  :%08x", mipscpu.cp0r[ 26 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP0R27:		sprintf( info->s = cpuintrf_temp_str(), "cp0r27  :%08x", mipscpu.cp0r[ 27 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP0R28:		sprintf( info->s = cpuintrf_temp_str(), "cp0r28  :%08x", mipscpu.cp0r[ 28 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP0R29:		sprintf( info->s = cpuintrf_temp_str(), "cp0r29  :%08x", mipscpu.cp0r[ 29 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP0R30:		sprintf( info->s = cpuintrf_temp_str(), "cp0r30  :%08x", mipscpu.cp0r[ 30 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP0R31:		sprintf( info->s = cpuintrf_temp_str(), "cp0r31  :%08x", mipscpu.cp0r[ 31 ] ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2DR0:		sprintf( info->s = cpuintrf_temp_str(), "vxy0    :%08x", mipscpu.cp2dr[ 0 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2DR1:		sprintf( info->s = cpuintrf_temp_str(), "vz0     :%08x", mipscpu.cp2dr[ 1 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2DR2:		sprintf( info->s = cpuintrf_temp_str(), "vxy1    :%08x", mipscpu.cp2dr[ 2 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2DR3:		sprintf( info->s = cpuintrf_temp_str(), "vz1     :%08x", mipscpu.cp2dr[ 3 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2DR4:		sprintf( info->s = cpuintrf_temp_str(), "vxy2    :%08x", mipscpu.cp2dr[ 4 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2DR5:		sprintf( info->s = cpuintrf_temp_str(), "vz2     :%08x", mipscpu.cp2dr[ 5 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2DR6:		sprintf( info->s = cpuintrf_temp_str(), "rgb     :%08x", mipscpu.cp2dr[ 6 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2DR7:		sprintf( info->s = cpuintrf_temp_str(), "otz     :%08x", mipscpu.cp2dr[ 7 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2DR8:		sprintf( info->s = cpuintrf_temp_str(), "ir0     :%08x", mipscpu.cp2dr[ 8 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2DR9:		sprintf( info->s = cpuintrf_temp_str(), "ir1     :%08x", mipscpu.cp2dr[ 9 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2DR10:		sprintf( info->s = cpuintrf_temp_str(), "ir2     :%08x", mipscpu.cp2dr[ 10 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2DR11:		sprintf( info->s = cpuintrf_temp_str(), "ir3     :%08x", mipscpu.cp2dr[ 11 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2DR12:		sprintf( info->s = cpuintrf_temp_str(), "sxy0    :%08x", mipscpu.cp2dr[ 12 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2DR13:		sprintf( info->s = cpuintrf_temp_str(), "sxy1    :%08x", mipscpu.cp2dr[ 13 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2DR14:		sprintf( info->s = cpuintrf_temp_str(), "sxy2    :%08x", mipscpu.cp2dr[ 14 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2DR15:		sprintf( info->s = cpuintrf_temp_str(), "sxyp    :%08x", mipscpu.cp2dr[ 15 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2DR16:		sprintf( info->s = cpuintrf_temp_str(), "sz0     :%08x", mipscpu.cp2dr[ 16 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2DR17:		sprintf( info->s = cpuintrf_temp_str(), "sz1     :%08x", mipscpu.cp2dr[ 17 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2DR18:		sprintf( info->s = cpuintrf_temp_str(), "sz2     :%08x", mipscpu.cp2dr[ 18 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2DR19:		sprintf( info->s = cpuintrf_temp_str(), "sz3     :%08x", mipscpu.cp2dr[ 19 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2DR20:		sprintf( info->s = cpuintrf_temp_str(), "rgb0    :%08x", mipscpu.cp2dr[ 20 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2DR21:		sprintf( info->s = cpuintrf_temp_str(), "rgb1    :%08x", mipscpu.cp2dr[ 21 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2DR22:		sprintf( info->s = cpuintrf_temp_str(), "rgb2    :%08x", mipscpu.cp2dr[ 22 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2DR23:		sprintf( info->s = cpuintrf_temp_str(), "res1    :%08x", mipscpu.cp2dr[ 23 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2DR24:		sprintf( info->s = cpuintrf_temp_str(), "mac0    :%08x", mipscpu.cp2dr[ 24 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2DR25:		sprintf( info->s = cpuintrf_temp_str(), "mac1    :%08x", mipscpu.cp2dr[ 25 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2DR26:		sprintf( info->s = cpuintrf_temp_str(), "mac2    :%08x", mipscpu.cp2dr[ 26 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2DR27:		sprintf( info->s = cpuintrf_temp_str(), "mac3    :%08x", mipscpu.cp2dr[ 27 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2DR28:		sprintf( info->s = cpuintrf_temp_str(), "irgb    :%08x", mipscpu.cp2dr[ 28 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2DR29:		sprintf( info->s = cpuintrf_temp_str(), "orgb    :%08x", mipscpu.cp2dr[ 29 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2DR30:		sprintf( info->s = cpuintrf_temp_str(), "lzcs    :%08x", mipscpu.cp2dr[ 30 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2DR31:		sprintf( info->s = cpuintrf_temp_str(), "lzcr    :%08x", mipscpu.cp2dr[ 31 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2CR0:		sprintf( info->s = cpuintrf_temp_str(), "r11r12  :%08x", mipscpu.cp2cr[ 0 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2CR1:		sprintf( info->s = cpuintrf_temp_str(), "r13r21  :%08x", mipscpu.cp2cr[ 1 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2CR2:		sprintf( info->s = cpuintrf_temp_str(), "r22r23  :%08x", mipscpu.cp2cr[ 2 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2CR3:		sprintf( info->s = cpuintrf_temp_str(), "r31r32  :%08x", mipscpu.cp2cr[ 3 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2CR4:		sprintf( info->s = cpuintrf_temp_str(), "r33     :%08x", mipscpu.cp2cr[ 4 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2CR5:		sprintf( info->s = cpuintrf_temp_str(), "trx     :%08x", mipscpu.cp2cr[ 5 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2CR6:		sprintf( info->s = cpuintrf_temp_str(), "try     :%08x", mipscpu.cp2cr[ 6 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2CR7:		sprintf( info->s = cpuintrf_temp_str(), "trz     :%08x", mipscpu.cp2cr[ 7 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2CR8:		sprintf( info->s = cpuintrf_temp_str(), "l11l12  :%08x", mipscpu.cp2cr[ 8 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2CR9:		sprintf( info->s = cpuintrf_temp_str(), "l13l21  :%08x", mipscpu.cp2cr[ 9 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2CR10:		sprintf( info->s = cpuintrf_temp_str(), "l22l23  :%08x", mipscpu.cp2cr[ 10 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2CR11:		sprintf( info->s = cpuintrf_temp_str(), "l31l32  :%08x", mipscpu.cp2cr[ 11 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2CR12:		sprintf( info->s = cpuintrf_temp_str(), "l33     :%08x", mipscpu.cp2cr[ 12 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2CR13:		sprintf( info->s = cpuintrf_temp_str(), "rbk     :%08x", mipscpu.cp2cr[ 13 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2CR14:		sprintf( info->s = cpuintrf_temp_str(), "gbk     :%08x", mipscpu.cp2cr[ 14 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2CR15:		sprintf( info->s = cpuintrf_temp_str(), "bbk     :%08x", mipscpu.cp2cr[ 15 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2CR16:		sprintf( info->s = cpuintrf_temp_str(), "lr1lr2  :%08x", mipscpu.cp2cr[ 16 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2CR17:		sprintf( info->s = cpuintrf_temp_str(), "lr31g1  :%08x", mipscpu.cp2cr[ 17 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2CR18:		sprintf( info->s = cpuintrf_temp_str(), "lg2lg3  :%08x", mipscpu.cp2cr[ 18 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2CR19:		sprintf( info->s = cpuintrf_temp_str(), "lb1lb2  :%08x", mipscpu.cp2cr[ 19 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2CR20:		sprintf( info->s = cpuintrf_temp_str(), "lb3     :%08x", mipscpu.cp2cr[ 20 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2CR21:		sprintf( info->s = cpuintrf_temp_str(), "rfc     :%08x", mipscpu.cp2cr[ 21 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2CR22:		sprintf( info->s = cpuintrf_temp_str(), "gfc     :%08x", mipscpu.cp2cr[ 22 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2CR23:		sprintf( info->s = cpuintrf_temp_str(), "bfc     :%08x", mipscpu.cp2cr[ 23 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2CR24:		sprintf( info->s = cpuintrf_temp_str(), "ofx     :%08x", mipscpu.cp2cr[ 24 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2CR25:		sprintf( info->s = cpuintrf_temp_str(), "ofy     :%08x", mipscpu.cp2cr[ 25 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2CR26:		sprintf( info->s = cpuintrf_temp_str(), "h       :%08x", mipscpu.cp2cr[ 26 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2CR27:		sprintf( info->s = cpuintrf_temp_str(), "dqa     :%08x", mipscpu.cp2cr[ 27 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2CR28:		sprintf( info->s = cpuintrf_temp_str(), "dqb     :%08x", mipscpu.cp2cr[ 28 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2CR29:		sprintf( info->s = cpuintrf_temp_str(), "zsf3    :%08x", mipscpu.cp2cr[ 29 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2CR30:		sprintf( info->s = cpuintrf_temp_str(), "zsf4    :%08x", mipscpu.cp2cr[ 30 ].d ); break;
+		case CPUINFO_STR_REGISTER + MIPS_CP2CR31:		sprintf( info->s = cpuintrf_temp_str(), "flag    :%08x", mipscpu.cp2cr[ 31 ].d ); break;
+#endif
+	}
+}
+
+uint32 mips_get_cause(void)
+{
+	return mipscpu.cp0r[ CP0_CAUSE ];
+}
+
+uint32 mips_get_status(void)
+{
+	return mipscpu.cp0r[ CP0_SR ];
+}
+
+void mips_set_status(uint32 status)
+{
+	mipscpu.cp0r[ CP0_SR ] = status;
+}
+
+uint32 mips_get_ePC(void)
+{
+	return mipscpu.cp0r[ CP0_EPC ];
+}
+
+int mips_get_icount(void)
+{
+	return mips_ICount;
+}
+
+void mips_set_icount(int count)
+{
+	mips_ICount = count;
+}
+
+
+#if (HAS_PSXCPU)
+/**************************************************************************
+ * CPU-specific set_info
+ **************************************************************************/
+
+void psxcpu_get_info(UINT32 state, union cpuinfo *info)
+{
+	switch (state)
+	{
+		/* --- the following bits of info are returned as NULL-terminated strings --- */
+//		case CPUINFO_STR_NAME:							strcpy(info->s = cpuintrf_temp_str(), "PSX CPU"); break;
+
+		default:
+			mips_get_info(state, info);
+			break;
+	}
+}
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/psx.h	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,288 @@
+#ifndef _MIPS_H
+#define _MIPS_H
+
+#include "ao.h"
+//#include "driver.h"
+
+typedef void genf(void);
+typedef int offs_t;
+
+#define cpu_readop32(pc) program_read_dword_32le(pc)
+#define change_pc(pc)																	\
+
+
+#ifdef __GNUC__
+#if (__GNUC__ < 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ <= 7))
+#define UNUSEDARG
+#else
+#define UNUSEDARG __attribute__((__unused__))
+#endif
+#else
+#define UNUSEDARG
+#endif
+
+typedef int8		(*read8_handler)  (UNUSEDARG offs_t offset);
+typedef void		(*write8_handler) (UNUSEDARG offs_t offset, UNUSEDARG int8 data);
+typedef int16		(*read16_handler) (UNUSEDARG offs_t offset, UNUSEDARG int16 mem_mask);
+typedef void		(*write16_handler)(UNUSEDARG offs_t offset, UNUSEDARG int16 data, UNUSEDARG int16 mem_mask);
+typedef int32		(*read32_handler) (UNUSEDARG offs_t offset, UNUSEDARG int32 mem_mask);
+typedef void		(*write32_handler)(UNUSEDARG offs_t offset, UNUSEDARG int32 data, UNUSEDARG int32 mem_mask);
+typedef int64		(*read64_handler) (UNUSEDARG offs_t offset, UNUSEDARG int64 mem_mask);
+typedef void		(*write64_handler)(UNUSEDARG offs_t offset, UNUSEDARG int64 data, UNUSEDARG int64 mem_mask);
+
+union read_handlers_t
+{
+	genf *				handler;
+	read8_handler		handler8;
+	read16_handler		handler16;
+	read32_handler		handler32;
+	read64_handler		handler64;
+};
+
+union write_handlers_t
+{
+	genf *				handler;
+	write8_handler		handler8;
+	write16_handler		handler16;
+	write32_handler		handler32;
+	write64_handler		handler64;
+};
+
+struct address_map_t
+{
+	uint32				flags;				/* flags and additional info about this entry */
+	offs_t				start, end;			/* start/end (or mask/match) values */
+	offs_t				mirror;				/* mirror bits */
+	offs_t				mask;				/* mask bits */
+	union read_handlers_t read;				/* read handler callback */
+	union write_handlers_t write;			/* write handler callback */
+	void *				memory;				/* pointer to memory backing this entry */
+	uint32				share;				/* index of a shared memory block */
+	void **				base;				/* receives pointer to memory (optional) */
+	size_t *			size;				/* receives size of area in bytes (optional) */
+};
+typedef struct address_map_t *(*construct_map_t)(struct address_map_t *map);
+
+union cpuinfo
+{
+	int64	i;											/* generic integers */
+	void *	p;											/* generic pointers */
+	genf *  f;											/* generic function pointers */
+	char *	s;											/* generic strings */
+
+	void	(*setinfo)(UINT32 state, union cpuinfo *info);/* CPUINFO_PTR_SET_INFO */
+	void	(*getcontext)(void *context);				/* CPUINFO_PTR_GET_CONTEXT */
+	void	(*setcontext)(void *context);				/* CPUINFO_PTR_SET_CONTEXT */
+	void	(*init)(void);								/* CPUINFO_PTR_INIT */
+	void	(*reset)(void *param);						/* CPUINFO_PTR_RESET */
+	void	(*exit)(void);								/* CPUINFO_PTR_EXIT */
+	int		(*execute)(int cycles);						/* CPUINFO_PTR_EXECUTE */
+	void	(*burn)(int cycles);						/* CPUINFO_PTR_BURN */
+	offs_t	(*disassemble)(char *buffer, offs_t pc);	/* CPUINFO_PTR_DISASSEMBLE */
+	int		(*irqcallback)(int state);					/* CPUINFO_PTR_IRQCALLBACK */
+	int *	icount;										/* CPUINFO_PTR_INSTRUCTION_COUNTER */
+	construct_map_t internal_map;						/* CPUINFO_PTR_INTERNAL_MEMORY_MAP */
+};
+
+enum
+{
+	MIPS_PC = 1,
+	MIPS_DELAYV, MIPS_DELAYR,
+	MIPS_HI, MIPS_LO,
+	MIPS_R0, MIPS_R1,
+	MIPS_R2, MIPS_R3,
+	MIPS_R4, MIPS_R5,
+	MIPS_R6, MIPS_R7,
+	MIPS_R8, MIPS_R9,
+	MIPS_R10, MIPS_R11,
+	MIPS_R12, MIPS_R13,
+	MIPS_R14, MIPS_R15,
+	MIPS_R16, MIPS_R17,
+	MIPS_R18, MIPS_R19,
+	MIPS_R20, MIPS_R21,
+	MIPS_R22, MIPS_R23,
+	MIPS_R24, MIPS_R25,
+	MIPS_R26, MIPS_R27,
+	MIPS_R28, MIPS_R29,
+	MIPS_R30, MIPS_R31,
+	MIPS_CP0R0, MIPS_CP0R1,
+	MIPS_CP0R2, MIPS_CP0R3,
+	MIPS_CP0R4, MIPS_CP0R5,
+	MIPS_CP0R6, MIPS_CP0R7,
+	MIPS_CP0R8, MIPS_CP0R9,
+	MIPS_CP0R10, MIPS_CP0R11,
+	MIPS_CP0R12, MIPS_CP0R13,
+	MIPS_CP0R14, MIPS_CP0R15,
+	MIPS_CP0R16, MIPS_CP0R17,
+	MIPS_CP0R18, MIPS_CP0R19,
+	MIPS_CP0R20, MIPS_CP0R21,
+	MIPS_CP0R22, MIPS_CP0R23,
+	MIPS_CP0R24, MIPS_CP0R25,
+	MIPS_CP0R26, MIPS_CP0R27,
+	MIPS_CP0R28, MIPS_CP0R29,
+	MIPS_CP0R30, MIPS_CP0R31,
+	MIPS_CP2DR0, MIPS_CP2DR1,
+	MIPS_CP2DR2, MIPS_CP2DR3,
+	MIPS_CP2DR4, MIPS_CP2DR5,
+	MIPS_CP2DR6, MIPS_CP2DR7,
+	MIPS_CP2DR8, MIPS_CP2DR9,
+	MIPS_CP2DR10, MIPS_CP2DR11,
+	MIPS_CP2DR12, MIPS_CP2DR13,
+	MIPS_CP2DR14, MIPS_CP2DR15,
+	MIPS_CP2DR16, MIPS_CP2DR17,
+	MIPS_CP2DR18, MIPS_CP2DR19,
+	MIPS_CP2DR20, MIPS_CP2DR21,
+	MIPS_CP2DR22, MIPS_CP2DR23,
+	MIPS_CP2DR24, MIPS_CP2DR25,
+	MIPS_CP2DR26, MIPS_CP2DR27,
+	MIPS_CP2DR28, MIPS_CP2DR29,
+	MIPS_CP2DR30, MIPS_CP2DR31,
+	MIPS_CP2CR0, MIPS_CP2CR1,
+	MIPS_CP2CR2, MIPS_CP2CR3,
+	MIPS_CP2CR4, MIPS_CP2CR5,
+	MIPS_CP2CR6, MIPS_CP2CR7,
+	MIPS_CP2CR8, MIPS_CP2CR9,
+	MIPS_CP2CR10, MIPS_CP2CR11,
+	MIPS_CP2CR12, MIPS_CP2CR13,
+	MIPS_CP2CR14, MIPS_CP2CR15,
+	MIPS_CP2CR16, MIPS_CP2CR17,
+	MIPS_CP2CR18, MIPS_CP2CR19,
+	MIPS_CP2CR20, MIPS_CP2CR21,
+	MIPS_CP2CR22, MIPS_CP2CR23,
+	MIPS_CP2CR24, MIPS_CP2CR25,
+	MIPS_CP2CR26, MIPS_CP2CR27,
+	MIPS_CP2CR28, MIPS_CP2CR29,
+	MIPS_CP2CR30, MIPS_CP2CR31
+};
+
+#define MIPS_INT_NONE	( -1 )
+
+#define MIPS_IRQ0	( 0 )
+#define MIPS_IRQ1	( 1 )
+#define MIPS_IRQ2	( 2 )
+#define MIPS_IRQ3	( 3 )
+#define MIPS_IRQ4	( 4 )
+#define MIPS_IRQ5	( 5 )
+
+#define MIPS_BYTE_EXTEND( a ) ( (INT32)(INT8)a )
+#define MIPS_WORD_EXTEND( a ) ( (INT32)(INT16)a )
+
+#define INS_OP( op ) ( ( op >> 26 ) & 63 )
+#define INS_RS( op ) ( ( op >> 21 ) & 31 )
+#define INS_RT( op ) ( ( op >> 16 ) & 31 )
+#define INS_IMMEDIATE( op ) ( op & 0xffff )
+#define INS_TARGET( op ) ( op & 0x3ffffff )
+#define INS_RD( op ) ( ( op >> 11 ) & 31 )
+#define INS_SHAMT( op ) ( ( op >> 6 ) & 31 )
+#define INS_FUNCT( op ) ( op & 63 )
+#define INS_CODE( op ) ( ( op >> 6 ) & 0xfffff )
+#define INS_CO( op ) ( ( op >> 25 ) & 1 )
+#define INS_COFUN( op ) ( op & 0x1ffffff )
+#define INS_CF( op ) ( op & 63 )
+
+#define GTE_OP( op ) ( ( op >> 20 ) & 31 )
+#define GTE_SF( op ) ( ( op >> 19 ) & 1 )
+#define GTE_MX( op ) ( ( op >> 17 ) & 3 )
+#define GTE_V( op ) ( ( op >> 15 ) & 3 )
+#define GTE_CV( op ) ( ( op >> 13 ) & 3 )
+#define GTE_CD( op ) ( ( op >> 11 ) & 3 ) /* not used */
+#define GTE_LM( op ) ( ( op >> 10 ) & 1 )
+#define GTE_CT( op ) ( ( op >> 6 ) & 15 ) /* not used */
+#define GTE_FUNCT( op ) ( op & 63 )
+
+#define OP_SPECIAL ( 0 )
+#define OP_REGIMM ( 1 )
+#define OP_J ( 2 )
+#define OP_JAL ( 3 )
+#define OP_BEQ ( 4 )
+#define OP_BNE ( 5 )
+#define OP_BLEZ ( 6 )
+#define OP_BGTZ ( 7 )
+#define OP_ADDI ( 8 )
+#define OP_ADDIU ( 9 )
+#define OP_SLTI ( 10 )
+#define OP_SLTIU ( 11 )
+#define OP_ANDI ( 12 )
+#define OP_ORI ( 13 )
+#define OP_XORI ( 14 )
+#define OP_LUI ( 15 )
+#define OP_COP0 ( 16 )
+#define OP_COP1 ( 17 )
+#define OP_COP2 ( 18 )
+#define OP_LB ( 32 )
+#define OP_LH ( 33 )
+#define OP_LWL ( 34 )
+#define OP_LW ( 35 )
+#define OP_LBU ( 36 )
+#define OP_LHU ( 37 )
+#define OP_LWR ( 38 )
+#define OP_SB ( 40 )
+#define OP_SH ( 41 )
+#define OP_SWL ( 42 )
+#define OP_SW ( 43 )
+#define OP_SWR ( 46 )
+#define OP_LWC1 ( 49 )
+#define OP_LWC2 ( 50 )
+#define OP_SWC1 ( 57 )
+#define OP_SWC2 ( 58 )
+
+/* OP_SPECIAL */
+#define FUNCT_SLL ( 0 )
+#define FUNCT_SRL ( 2 )
+#define FUNCT_SRA ( 3 )
+#define FUNCT_SLLV ( 4 )
+#define FUNCT_SRLV ( 6 )
+#define FUNCT_SRAV ( 7 )
+#define FUNCT_JR ( 8 )
+#define FUNCT_JALR ( 9 )	   
+#define FUNCT_HLECALL ( 11 )
+#define FUNCT_SYSCALL ( 12 )
+#define FUNCT_BREAK ( 13 )
+#define FUNCT_MFHI ( 16 )
+#define FUNCT_MTHI ( 17 )
+#define FUNCT_MFLO ( 18 )
+#define FUNCT_MTLO ( 19 )
+#define FUNCT_MULT ( 24 )
+#define FUNCT_MULTU ( 25 )
+#define FUNCT_DIV ( 26 )
+#define FUNCT_DIVU ( 27 )
+#define FUNCT_ADD ( 32 )
+#define FUNCT_ADDU ( 33 )
+#define FUNCT_SUB ( 34 )
+#define FUNCT_SUBU ( 35 )
+#define FUNCT_AND ( 36 )
+#define FUNCT_OR ( 37 )
+#define FUNCT_XOR ( 38 )
+#define FUNCT_NOR ( 39 )
+#define FUNCT_SLT ( 42 )
+#define FUNCT_SLTU ( 43 )
+
+/* OP_REGIMM */
+#define RT_BLTZ ( 0 )
+#define RT_BGEZ ( 1 )
+#define RT_BLTZAL ( 16 )
+#define RT_BGEZAL ( 17 )
+
+/* OP_COP0/OP_COP1/OP_COP2 */
+#define RS_MFC ( 0 )
+#define RS_CFC ( 2 )
+#define RS_MTC ( 4 )
+#define RS_CTC ( 6 )
+#define RS_BC ( 8 )
+
+/* RS_BC */
+#define RT_BCF ( 0 )
+#define RT_BCT ( 1 )
+
+/* OP_COP0 */
+#define CF_RFE ( 16 )
+
+#ifdef MAME_DEBUG
+extern unsigned DasmMIPS(char *buff, unsigned _pc);
+#endif
+
+#if (HAS_PSXCPU)
+extern void psxcpu_get_info(UINT32 state, union cpuinfo *info);
+#endif
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/psf2/psx_hw.c	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,3540 @@
+/*
+	Audio Overload SDK - PSX and IOP hardware emulation
+
+	Copyright (c) 2007 R. Belmont and Richard Bannister.
+
+	All rights reserved.
+
+	Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+	* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+	* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+	* Neither the names of R. Belmont and Richard Bannister nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+	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.
+*/
+
+/*
+    psx_hw.c - Minimal PSX/IOP hardware glue/emulation/whatever
+
+    supported: main RAM (2 MB, mirrored to fill an 8 MB space like on real HW)
+               DMA channel 4 (SPURAM) in both directions (including completion IRQ)
+	       VBL IRQ
+	       Root counters 2 and 3 including completion events and IRQs
+	       Some BIOS services including exception handling (via HLE)
+	       HLE emulation of IOP operating system, including multithreading
+	       SPU(2), SPU(2)RAM (via PEOpS)
+
+
+
+    Special notes:
+    PSF1
+    	- Chocobo's Dungeon 2 contains an illegal code sequence (patched)
+
+    PSF2
+	- Shadow Hearts assumes that the wave buffer alloc will go to 0x80060000 and the sequence buffer to 0x80170000.
+	  Our memory management doesn't work out that way, so we have to (wait for it) cheese it.
+*/
+
+#include <stdio.h>
+#include "ao.h"
+#include "cpuintrf.h"
+#include "psx.h"
+	
+#define DEBUG_HLE_BIOS	(0)		// debug PS1 HLE BIOS
+#define DEBUG_HLE_IOP	(0)		// debug PS2 IOP OS calls
+#define DEBUG_UNK_RW	(0)		// debug unknown reads/writes
+#define DEBUG_THREADING (0)		// debug PS2 IOP threading
+
+extern void mips_get_info(UINT32 state, union cpuinfo *info);
+extern void mips_set_info(UINT32 state, union cpuinfo *info);
+extern int psxcpu_verbose;
+extern uint16 SPUreadRegister(uint32 reg);
+extern void SPUwriteRegister(uint32 reg, uint16 val);
+extern void SPUwriteDMAMem(uint32 usPSXMem,int iSize);
+extern void SPUreadDMAMem(uint32 usPSXMem,int iSize);
+extern void mips_shorten_frame(void);
+extern int mips_execute( int cycles );
+extern uint32 psf2_load_file(char *file, uint8 *buf, uint32 buflen);
+extern uint32 psf2_load_elf(uint8 *start, uint32 len);
+void psx_hw_runcounters(void);
+int mips_get_icount(void);
+void mips_set_icount(int count);
+
+extern int psf_refresh;
+
+static int skipyet = 0;
+
+// SPU2
+extern void SPU2write(unsigned long reg, unsigned short val);
+extern unsigned short SPU2read(unsigned long reg);
+extern void SPU2readDMA4Mem(uint32 usPSXMem,int iSize);
+extern void SPU2writeDMA4Mem(uint32 usPSXMem,int iSize);
+extern void SPU2readDMA7Mem(uint32 usPSXMem,int iSize);
+extern void SPU2writeDMA7Mem(uint32 usPSXMem,int iSize);
+extern void SPU2interruptDMA4(void);
+extern void SPU2interruptDMA7(void);
+
+#define MAX_FILE_SLOTS	(32)
+
+static volatile int softcall_target = 0;
+static int filestat[MAX_FILE_SLOTS];
+static uint8 *filedata[MAX_FILE_SLOTS];
+static uint32 filesize[MAX_FILE_SLOTS], filepos[MAX_FILE_SLOTS];
+uint32 psf2_get_loadaddr(void);
+void psf2_set_loadaddr(uint32 new);
+static void call_irq_routine(uint32 routine, uint32 parameter);
+static int intr_susp = 0;
+
+static uint64 sys_time;
+static int timerexp = 0;
+
+typedef struct
+{
+	char name[10];
+	uint32 dispatch;
+} ExternLibEntries;
+
+static int32 iNumLibs;
+static ExternLibEntries	reglibs[32];
+
+typedef struct
+{
+	uint32 type;
+	uint32 value;
+	uint32 param;
+	int    inUse;
+} EventFlag;
+
+static int32 iNumFlags;
+static EventFlag evflags[32];
+
+typedef struct
+{
+	uint32 attr;
+	uint32 option;
+	int32 init;
+	int32 current;
+	int32 max;
+	int32 threadsWaiting;
+	int32 inuse;
+} Semaphore;
+
+#define SEMA_MAX	(64)
+
+static int32 iNumSema;
+static Semaphore semaphores[SEMA_MAX];
+
+// thread states
+enum
+{
+	TS_RUNNING = 0,		// now running
+	TS_READY,		// ready to run
+	TS_WAITEVFLAG,		// waiting on an event flag
+	TS_WAITSEMA,		// waiting on a semaphore
+	TS_WAITDELAY,		// waiting on a time delay
+	TS_SLEEPING,		// sleeping
+	TS_CREATED,		// newly created, hasn't run yet
+
+	TS_MAXSTATE
+};
+
+typedef struct
+{
+	int32  iState;		// state of thread
+
+	uint32 flags;		// flags
+	uint32 routine;		// start of code for the thread
+	uint32 stackloc;	// stack location in IOP RAM
+	uint32 stacksize;	// stack size
+	uint32 refCon;		// user value passed in at CreateThread time
+
+	uint32 waitparm;	// what we're waiting on if in one the TS_WAIT* states
+	
+	uint32 save_regs[37];	// CPU registers belonging to this thread
+} Thread;
+
+static int32 iNumThreads, iCurThread;
+static Thread threads[32];
+
+#if DEBUG_THREADING
+static char *_ThreadStateNames[TS_MAXSTATE] = { "RUNNING", "READY", "WAITEVFLAG", "WAITSEMA", "WAITDELAY", "SLEEPING", "CREATED" };
+#endif
+
+#if DEBUG_HLE_IOP
+static char *seek_types[3] = { "SEEK_SET", "SEEK_CUR", "SEEK_END" };
+#endif
+
+typedef struct
+{
+	int32  iActive;
+	uint32 count;
+	uint32 target;
+	uint32 source;
+	uint32 prescale;
+	uint32 handler;
+	uint32 hparam;
+	uint32 mode;
+} IOPTimer;
+
+static IOPTimer iop_timers[8];
+static int32 iNumTimers;
+
+typedef struct
+{
+	uint32 count;
+	uint32 mode;
+	uint32 target;
+	uint32 sysclock;
+} Counter;
+
+static Counter root_cnts[3];	// 3 of the bastards
+
+#define CLOCK_DIV	(8)	// 33 MHz / this = what we run the R3000 at to keep the CPU usage not insane
+
+// counter modes
+#define RC_EN		(0x0001)	// halt
+#define RC_RESET	(0x0008)	// automatically wrap
+#define RC_IQ1		(0x0010)	// IRQ when target reached
+#define RC_IQ2		(0x0040)	// IRQ when target reached (pSX treats same as IQ1?)
+#define RC_CLC		(0x0100)	// counter uses direct system clock
+#define RC_DIV8		(0x0200)	// (counter 2 only) system clock/8
+
+typedef struct
+{
+	uint32 desc;
+	int32 status;
+	int32 mode;
+	uint32 fhandler;
+} EvtCtrlBlk[32];
+
+static EvtCtrlBlk *Event;
+static EvtCtrlBlk *CounterEvent;
+
+// Sony event states
+#define EvStUNUSED	0x0000
+#define EvStWAIT	0x1000
+#define EvStACTIVE	0x2000
+#define EvStALREADY 	0x4000
+
+// Sony event modes
+#define EvMdINTR	0x1000
+#define EvMdNOINTR	0x2000
+
+// PSX main RAM
+uint32 psx_ram[(2*1024*1024)/4];
+uint32 psx_scratch[0x400];
+// backup image to restart songs
+uint32 initial_ram[(2*1024*1024)/4];
+uint32 initial_scratch[0x400];
+
+static uint32 spu_delay, dma_icr, irq_data, irq_mask, dma_timer, WAI;
+static uint32 dma4_madr, dma4_bcr, dma4_chcr, dma4_delay;
+static uint32 dma7_madr, dma7_bcr, dma7_chcr, dma7_delay;
+static uint32 dma4_cb, dma7_cb, dma4_fval, dma4_flag, dma7_fval, dma7_flag;
+static uint32 irq9_cb, irq9_fval, irq9_flag;
+
+// take a snapshot of the CPU state for a thread
+static void FreezeThread(int32 iThread, int flag)
+{
+	int i;
+	union cpuinfo mipsinfo;
+
+	#if DEBUG_THREADING
+//	printf("IOP: FreezeThread(%d)\n", iThread);
+	#endif
+
+	for (i = 0; i < 32; i++)
+	{
+		mips_get_info(CPUINFO_INT_REGISTER + MIPS_R0 + i, &mipsinfo);
+		threads[iThread].save_regs[i] = mipsinfo.i;
+	}
+	mips_get_info(CPUINFO_INT_REGISTER + MIPS_HI, &mipsinfo);
+	threads[iThread].save_regs[32] = mipsinfo.i;
+	mips_get_info(CPUINFO_INT_REGISTER + MIPS_LO, &mipsinfo);
+	threads[iThread].save_regs[33] = mipsinfo.i;
+	mips_get_info(CPUINFO_INT_REGISTER + MIPS_DELAYV, &mipsinfo);
+	threads[iThread].save_regs[35] = mipsinfo.i;
+	mips_get_info(CPUINFO_INT_REGISTER + MIPS_DELAYR, &mipsinfo);
+	threads[iThread].save_regs[36] = mipsinfo.i;
+
+
+	// if a thread is freezing itself due to a IOP syscall, we must save the RA as the PC
+	// to come back to or else the syscall will recurse	
+	if (flag)
+	{
+		mips_get_info(CPUINFO_INT_REGISTER + MIPS_R31, &mipsinfo);
+	}
+	else
+	{
+		mips_get_info(CPUINFO_INT_PC, &mipsinfo);
+	}
+	threads[iThread].save_regs[34] = mipsinfo.i;
+
+	#if DEBUG_THREADING
+	{
+		char buffer[256];
+
+		DasmMIPS(buffer, mipsinfo.i, &psx_ram[(mipsinfo.i & 0x7fffffff)/4]);
+
+		printf("IOP: FreezeThread(%d) => %08x  [%s]\n", iThread, threads[iThread].save_regs[34], buffer);
+	}
+	#endif
+
+	// if thread was running, now it's ready
+	if (threads[iThread].iState == TS_RUNNING)
+	{
+		threads[iThread].iState = TS_READY;
+	}
+}
+
+// restore the CPU state from a thread's snapshot
+static void ThawThread(int32 iThread)
+{
+	int i;
+	union cpuinfo mipsinfo;
+
+	// the first time a thread is put on the CPU,
+	// some special setup is required
+	if (threads[iThread].iState == TS_CREATED)
+	{
+		// PC = starting routine
+		threads[iThread].save_regs[34] = threads[iThread].routine-4;	// compensate for weird delay slot effects
+		// SP = thread's stack area
+		threads[iThread].save_regs[29] = (threads[iThread].stackloc + threads[iThread].stacksize) - 16;
+		threads[iThread].save_regs[29] |= 0x80000000;
+
+		threads[iThread].save_regs[35] = threads[iThread].save_regs[36] = 0;
+
+		#if DEBUG_THREADING
+//		printf("IOP: Initial setup for thread %d => PC %x SP %x\n", iThread, threads[iThread].save_regs[34]+4, threads[iThread].save_regs[29]);
+		#endif
+	}
+											     
+	#if DEBUG_THREADING
+	{
+		char buffer[256];
+
+		mips_get_info(CPUINFO_INT_PC, &mipsinfo);
+		DasmMIPS(buffer, mipsinfo.i, &psx_ram[(mipsinfo.i & 0x7fffffff)/4]);
+
+		printf("IOP: ThawThread(%d) => %08x  [%s] (wake %d)\n", iThread, threads[iThread].save_regs[34], buffer, wakecount);
+	}
+	#endif
+
+	for (i = 0; i < 32; i++)
+	{
+		mipsinfo.i = threads[iThread].save_regs[i];
+		mips_set_info(CPUINFO_INT_REGISTER + MIPS_R0 + i, &mipsinfo);
+	}
+
+	mipsinfo.i = threads[iThread].save_regs[32];
+	mips_set_info(CPUINFO_INT_REGISTER + MIPS_HI, &mipsinfo);
+	mipsinfo.i = threads[iThread].save_regs[33];
+	mips_set_info(CPUINFO_INT_REGISTER + MIPS_LO, &mipsinfo);
+	mipsinfo.i = threads[iThread].save_regs[34];
+	mips_set_info(CPUINFO_INT_PC, &mipsinfo);
+	mipsinfo.i = threads[iThread].save_regs[35];
+	mips_set_info(CPUINFO_INT_REGISTER + MIPS_DELAYV, &mipsinfo);
+	mipsinfo.i = threads[iThread].save_regs[36];
+	mips_set_info(CPUINFO_INT_REGISTER + MIPS_DELAYR, &mipsinfo);
+
+	threads[iThread].iState = TS_RUNNING;
+}
+
+// find a new thread to run
+static void ps2_reschedule(void)
+{
+	int i, starti, iNextThread;
+
+	iNextThread = -1;
+
+	// see if any thread other than the current one is ready to run
+	i = iCurThread+1;
+	if (i >= iNumThreads)
+	{
+		i = 0;
+	}
+
+	starti = i;
+
+	// starting with the next thread after this one,
+	// see who wants to run
+	while (i < iNumThreads)
+	{
+		if (i != iCurThread)
+		{
+			if (threads[i].iState == TS_READY)
+			{
+			  	iNextThread = i;
+				break;
+			}
+		}
+
+		i++;
+	}
+
+	// if we started above thread 0 and didn't pick one,
+	// go around and try from zero
+	if ((starti > 0) && (iNextThread == -1))
+	{
+		for (i = 0; i < iNumThreads; i++)
+		{
+			if (i != iCurThread)
+			{
+				if (threads[i].iState == TS_READY)
+				{
+				  	iNextThread = i;
+					break;
+				}
+			}
+		}
+	}
+
+	if (iNextThread != -1)
+	{
+		#if DEBUG_THREADING
+		for (i = 0; i < iNumThreads; i++)
+		{
+			printf("Thread %02d: %s\n", i, _ThreadStateNames[threads[i].iState]);
+		}
+		#endif
+
+		if (iCurThread != -1)
+		{
+			FreezeThread(iCurThread, 0);
+		}
+		ThawThread(iNextThread);
+		iCurThread = iNextThread;
+		threads[iCurThread].iState = TS_RUNNING;
+	}
+	else
+	{
+		// no thread to switch to, is the current one still running?
+		if (iCurThread != -1)
+		{
+			if (threads[iCurThread].iState != TS_RUNNING)
+			{
+				#if DEBUG_THREADING
+				printf("IOP: no threads to run\n");
+
+				for (i = 0; i < iNumThreads; i++)
+				{
+					printf("Thread %02d: %s\n", i, _ThreadStateNames[threads[i].iState]);
+				}
+				#endif
+
+				mips_shorten_frame();	// kill the CPU
+				iCurThread = -1;	// no threads are active
+			}
+		}
+		else
+		{
+			mips_shorten_frame();	// kill the CPU
+			iCurThread = -1;	// no threads are active
+		}
+	}
+}
+
+static void psx_irq_update(void)
+{
+	union cpuinfo mipsinfo;
+
+	if ((irq_data & irq_mask) != 0)
+	{	// assert the line
+		WAI = 0;
+		mipsinfo.i = ASSERT_LINE;
+		mips_set_info( CPUINFO_INT_INPUT_STATE + MIPS_IRQ0, &mipsinfo );
+	}
+	else
+	{
+		// clear the line
+		mipsinfo.i = CLEAR_LINE;
+		mips_set_info( CPUINFO_INT_INPUT_STATE + MIPS_IRQ0, &mipsinfo );
+	}
+}
+
+void psx_irq_set(uint32 irq)
+{
+	irq_data |= irq;
+
+	psx_irq_update();
+}
+
+static uint32 gpu_stat = 0;
+
+uint32 psx_hw_read(offs_t offset, uint32 mem_mask)
+{
+	if (offset >= 0x00000000 && offset <= 0x007fffff)
+	{
+		offset &= 0x1fffff;
+		return LE32(psx_ram[offset>>2]);
+	}
+
+	if (offset >= 0x80000000 && offset <= 0x807fffff)
+	{
+		offset &= 0x1fffff;
+		return LE32(psx_ram[offset>>2]);
+	}
+
+	if (offset == 0xbfc00180 || offset == 0xbfc00184)	// exception vector
+	{
+		return FUNCT_HLECALL;
+	}	
+
+	if (offset == 0x1f801014)
+	{
+		return spu_delay;
+	}
+
+	if (offset == 0xbf801014)
+	{
+		return spu_delay;
+	}
+
+	if (offset == 0x1f801814)
+	{
+		gpu_stat ^= 0xffffffff;
+		return gpu_stat;
+	}
+
+	if (offset >= 0x1f801c00 && offset <= 0x1f801dff)
+	{
+		if ((mem_mask == 0xffff0000) || (mem_mask == 0xffffff00))
+		{
+			return SPUreadRegister(offset) & ~mem_mask;
+		}
+		else if (mem_mask == 0x0000ffff)
+		{
+			return SPUreadRegister(offset)<<16;
+		}
+		else printf("SPU: read unknown mask %08x\n", mem_mask);
+	}
+
+	if (offset >= 0xbf900000 && offset <= 0xbf9007ff)
+	{
+		if ((mem_mask == 0xffff0000) || (mem_mask == 0xffffff00))
+		{
+			return SPU2read(offset) & ~mem_mask;
+		}
+		else if (mem_mask == 0x0000ffff)
+		{
+			return SPU2read(offset)<<16;
+		}
+		else if (mem_mask == 0)
+		{
+			return SPU2read(offset) | SPU2read(offset+2)<<16;
+		}
+		else printf("SPU2: read unknown mask %08x\n", mem_mask);
+	}
+
+	if (offset >= 0x1f801100 && offset <= 0x1f801128)
+	{
+		int cnt = (offset>>4) & 0xf;
+		
+		switch (offset & 0xf)
+		{
+			case 0:
+//				printf("RC: read counter %d count = %x\n", cnt, root_cnts[cnt].count);
+				return root_cnts[cnt].count;
+				break;
+			case 4:
+//				printf("RC: read counter %d mode\n", cnt);
+				return root_cnts[cnt].mode;
+				break;
+			case 8:
+//				printf("RC: read counter %d target\n", cnt);
+				return root_cnts[cnt].target;
+				break;
+		}
+
+		return 0;
+	}
+
+	if (offset == 0x1f8010f4)
+	{
+		return dma_icr;
+	}
+	else if (offset == 0x1f801070)
+	{
+//		printf("Read IRQ_data %x (mask %08x)\n", irq_data, mem_mask);
+		return irq_data;
+	}
+	else if (offset == 0x1f801074)
+	{
+		return irq_mask;
+	}
+
+/*	if (offset == 0xbf801508)
+	{
+		return dma7_bcr;
+	}*/
+
+	if (offset == 0xbf920344)
+	{
+		return 0x80808080;
+	}
+
+	#if DEBUG_UNK_RW
+	{
+		union cpuinfo mipsinfo;
+
+		mips_get_info(CPUINFO_INT_PC, &mipsinfo);
+		printf("Unknown read: %08x, mask %08x (PC=%x)\n", offset&~3, mem_mask, mipsinfo.i);
+	}
+	#endif
+	return 0;
+}
+
+static void psx_dma4(uint32 madr, uint32 bcr, uint32 chcr)
+{
+	if (chcr == 0x01000201)	// cpu to SPU
+	{
+//		printf("DMA4: RAM %08x to SPU\n", madr);
+		bcr = (bcr>>16) * (bcr & 0xffff) * 2;
+		SPUwriteDMAMem(madr&0x1fffff, bcr);
+	}
+	else
+	{
+//		printf("DMA4: SPU to RAM %08x\n", madr);
+		bcr = (bcr>>16) * (bcr & 0xffff) * 2;
+		SPUreadDMAMem(madr&0x1fffff, bcr);
+	}
+}
+
+static void ps2_dma4(uint32 madr, uint32 bcr, uint32 chcr)
+{
+	if (chcr == 0x01000201)	// cpu to SPU2
+	{
+		#if DEBUG_HLE_IOP
+		printf("DMA4: RAM %08x to SPU2\n", madr);
+		#endif
+		bcr = (bcr>>16) * (bcr & 0xffff) * 4;
+		SPU2writeDMA4Mem(madr&0x1fffff, bcr);
+	}
+	else
+	{
+		#if DEBUG_HLE_IOP
+		printf("DMA4: SPU2 to RAM %08x\n", madr);
+		#endif
+		bcr = (bcr>>16) * (bcr & 0xffff) * 4;
+		SPU2readDMA4Mem(madr&0x1fffff, bcr);
+	}
+
+	dma4_delay = 80;
+}
+
+static void ps2_dma7(uint32 madr, uint32 bcr, uint32 chcr)
+{
+	if ((chcr == 0x01000201) || (chcr == 0x00100010) || (chcr == 0x000f0010) || (chcr == 0x00010010))	// cpu to SPU2
+	{
+		#if DEBUG_HLE_IOP
+		printf("DMA7: RAM %08x to SPU2\n", madr);
+		#endif
+		bcr = (bcr>>16) * (bcr & 0xffff) * 4;
+		SPU2writeDMA7Mem(madr&0x1fffff, bcr);
+	}
+	else
+	{
+		#if DEBUG_HLE_IOP
+		printf("DMA7: SPU2 to RAM %08x\n", madr);
+		#endif
+		bcr = (bcr>>16) * (bcr & 0xffff) * 4;
+//		SPU2readDMA7Mem(madr&0x1fffff, bcr);
+	}
+
+	dma7_delay = 80;
+}
+
+void psx_hw_write(offs_t offset, uint32 data, uint32 mem_mask)
+{
+	union cpuinfo mipsinfo;
+
+	if (offset >= 0x00000000 && offset <= 0x007fffff)
+	{
+		offset &= 0x1fffff;
+//		if (offset < 0x10000) printf("Write %x to kernel @ %x\n", data, offset);
+
+		mips_get_info(CPUINFO_INT_PC, &mipsinfo);
+
+		psx_ram[offset>>2] &= LE32(mem_mask);
+		psx_ram[offset>>2] |= LE32(data);
+		return;
+	}
+
+	if (offset >= 0x80000000 && offset <= 0x807fffff)
+	{
+		offset &= 0x1fffff;
+//		if (offset < 0x10000) printf("Write %x to kernel @ %x\n", data, offset);
+		mips_get_info(CPUINFO_INT_PC, &mipsinfo);
+		psx_ram[offset>>2] &= LE32(mem_mask);
+		psx_ram[offset>>2] |= LE32(data);
+		return;
+	}
+
+	if (offset == 0x1f801014 || offset == 0xbf801014)
+	{
+		spu_delay &= mem_mask;
+		spu_delay |= data;
+		return;
+	}
+
+	if (offset >= 0x1f801c00 && offset <= 0x1f801dff)
+	{
+	  //		printf("SPU2 wrote %x to SPU1 address %x!\n", data, offset);
+		if (mem_mask == 0xffff0000)
+		{
+			SPUwriteRegister(offset, data);
+			return;
+		}
+		else if (mem_mask == 0x0000ffff)
+		{
+			SPUwriteRegister(offset, data>>16);
+			return;
+		}
+		else printf("SPU: write unknown mask %08x\n", mem_mask);
+	}
+
+	if (offset >= 0xbf900000 && offset <= 0xbf9007ff)
+	{
+		if (mem_mask == 0xffff0000)
+		{
+			SPU2write(offset, data);
+			return;
+		}
+		else if (mem_mask == 0x0000ffff)
+		{
+			SPU2write(offset, data>>16);
+			return;
+		}
+		else if (mem_mask == 0)
+		{
+			SPU2write(offset, data & 0xffff);
+			SPU2write(offset+2, data>>16);
+			return;
+		}
+		else printf("SPU2: write unknown mask %08x\n", mem_mask);
+	}
+
+	if (offset >= 0x1f801100 && offset <= 0x1f801128)
+	{
+		int cnt = (offset>>4) & 0xf;
+		
+		switch (offset & 0xf)
+		{
+			case 0:
+				root_cnts[cnt].count = data;
+//				printf("RC: counter %d count = %x\n", cnt, data);
+				break;
+			case 4:
+				root_cnts[cnt].mode = data;
+//				printf("RC: counter %d mode = %x\n", cnt, data);
+				break;
+			case 8:
+				root_cnts[cnt].target = data;
+//				printf("RC: counter %d target = %x\n", cnt, data);
+				break;
+		}
+
+		return;
+	}
+
+	// DMA4
+	if (offset == 0x1f8010c0)
+	{
+		dma4_madr = data;
+		return;
+	}
+	else if (offset == 0x1f8010c4)
+	{
+		dma4_bcr = data;
+		return;
+	}
+	else if (offset == 0x1f8010c8)
+	{
+		dma4_chcr = data;
+		psx_dma4(dma4_madr, dma4_bcr, dma4_chcr);
+
+		if (dma_icr & (1 << (16+4)))
+		{
+			dma_timer = 3;
+		}
+		return;
+	}
+	else if (offset == 0x1f8010f4)
+	{
+		dma_icr = ( dma_icr & mem_mask ) |
+			  ( ~mem_mask & 0x80000000 & dma_icr) |
+			  ( ~data & ~mem_mask & 0x7f000000 & dma_icr) |
+			  ( data & ~mem_mask & 0x00ffffff);
+
+		if ((dma_icr & 0x7f000000) != 0)
+		{
+			dma_icr &= ~0x80000000;
+		}
+
+		return;
+	}
+	else if (offset == 0x1f801070)
+	{
+		irq_data = (irq_data & mem_mask) | (irq_data & irq_mask & data);
+		psx_irq_update();
+		return;
+	}
+	else if (offset == 0x1f801074)
+	{
+		irq_mask &= mem_mask;
+		irq_mask |= data;
+		psx_irq_update();
+		return;
+	}
+
+	// PS2 DMA4
+	if (offset == 0xbf8010c0)
+	{
+		dma4_madr = data;
+		return;
+	}
+	else if (offset == 0xbf8010c8)
+	{
+		dma4_chcr = data;
+		ps2_dma4(dma4_madr, dma4_bcr, dma4_chcr);
+
+		if (dma_icr & (1 << (16+4)))
+		{
+			dma_timer = 3;
+		}
+		return;
+	}
+							 
+	if (offset == 0xbf8010c4 || offset == 0xbf8010c6)
+	{
+		dma4_bcr &= mem_mask;
+		dma4_bcr |= data;
+		return;
+	}
+
+	// PS2 DMA7
+	if (offset == 0xbf801500)
+	{
+		dma7_madr = data;
+		return;
+	}
+	else if (offset == 0xbf801504)
+	{
+		dma7_chcr = data;
+		ps2_dma7(dma7_madr, dma7_bcr, dma7_chcr);
+		return;
+	}
+							 
+	if (offset == 0xbf801508 || offset == 0xbf80150a)
+	{
+		dma7_bcr &= mem_mask;
+		dma7_bcr |= data;
+		return;
+	}
+
+	#if DEBUG_UNK_RW
+	{
+		union cpuinfo mipsinfo;
+
+		mips_get_info(CPUINFO_INT_PC, &mipsinfo);
+		printf("Unknown write: %08x to %08x, mask %08x (PC=%x)\n", data, offset&~3, mem_mask, mipsinfo.i);
+	}
+	#endif
+}
+
+// called per sample, 1/44100th of a second (768 clock cycles)
+void psx_hw_slice(void)
+{
+	psx_hw_runcounters();
+
+	if (!WAI)
+		mips_execute(768/CLOCK_DIV);
+
+	if (dma_timer)
+	{
+		dma_timer--;
+		if (dma_timer == 0)
+		{
+			dma_icr |= (1 << (24+4));
+			psx_irq_set(0x0008);
+		}
+	}
+}
+
+void ps2_hw_slice(void)
+{
+	int i = 0;
+
+	timerexp = 0;
+	psx_hw_runcounters();
+
+	if (iCurThread != -1)
+	{
+		mips_execute(836/CLOCK_DIV);
+	}
+	else	// no thread, don't run CPU, just update counters
+	{
+		if (timerexp)
+		{
+			ps2_reschedule();
+
+			if (iCurThread != -1)
+			{
+				mips_execute((836/CLOCK_DIV)-i);
+				i = (836/CLOCK_DIV);
+			}
+		}
+	}
+}
+
+static int fcnt = 0;
+
+void psx_hw_frame(void)
+{
+	if (psf_refresh == 50)
+	{
+		fcnt++;;
+
+		if (fcnt < 6)
+		{
+			psx_irq_set(1);
+		}
+		else
+		{
+			fcnt = 0;
+		}
+	}
+	else	// NTSC
+	{
+		psx_irq_set(1);
+	}
+}
+
+void ps2_hw_frame(void)
+{
+	ps2_reschedule();
+}
+
+// BIOS HLE
+
+// heap block struct offsets
+enum
+{
+	BLK_STAT = 0,
+	BLK_SIZE = 4,
+	BLK_FD = 8,
+	BLK_BK = 12
+};
+
+static uint32 heap_addr, entry_int = 0;
+
+extern uint32 mips_get_cause(void);
+extern uint32 mips_get_status(void);
+extern void mips_set_status(uint32 status);
+extern uint32 mips_get_ePC(void);
+
+static uint32 irq_regs[37];
+
+static int irq_mutex = 0;
+
+static void call_irq_routine(uint32 routine, uint32 parameter)
+{
+	int j, oldICount;
+	union cpuinfo mipsinfo;
+
+	if (!irq_mutex)
+	{
+		irq_mutex = 1;
+	}
+	else
+	{
+		printf("IOP: ERROR!  IRQ reentry!\n");
+		return;
+	}
+
+	// save regs for IRQ
+	for (j = 0; j < 32; j++)
+	{
+		mips_get_info(CPUINFO_INT_REGISTER + MIPS_R0 + j, &mipsinfo);
+		irq_regs[j] = mipsinfo.i;
+	}
+	mips_get_info(CPUINFO_INT_REGISTER + MIPS_HI, &mipsinfo);
+	irq_regs[32] = mipsinfo.i;
+	mips_get_info(CPUINFO_INT_REGISTER + MIPS_LO, &mipsinfo);
+	irq_regs[33] = mipsinfo.i;
+	mips_get_info(CPUINFO_INT_PC, &mipsinfo);
+	irq_regs[34] = mipsinfo.i;
+	mips_get_info(CPUINFO_INT_REGISTER + MIPS_DELAYV, &mipsinfo);
+	irq_regs[35] = mipsinfo.i;
+	mips_get_info(CPUINFO_INT_REGISTER + MIPS_DELAYR, &mipsinfo);
+	irq_regs[36] = mipsinfo.i;
+
+	// PC = timer handler routine
+	mipsinfo.i = routine; 
+	mips_set_info(CPUINFO_INT_PC, &mipsinfo);
+
+	// parameter in a0
+	mipsinfo.i = parameter;
+	mips_set_info(CPUINFO_INT_REGISTER + MIPS_R4, &mipsinfo);
+
+	// RA = a trap address we can set
+	mipsinfo.i = 0x80001000;
+	mips_set_info(CPUINFO_INT_REGISTER + MIPS_R31, &mipsinfo);
+
+	// make sure we're set
+	psx_ram[0x1000/4] = LE32(FUNCT_HLECALL);
+
+	softcall_target = 0;
+	oldICount = mips_get_icount();
+	while (!softcall_target)
+	{
+		mips_execute(10);
+	}
+	mips_set_icount(oldICount);
+
+	// restore IRQ regs
+	for (j = 0; j < 32; j++)
+	{
+		mipsinfo.i = irq_regs[j];
+		mips_set_info(CPUINFO_INT_REGISTER + MIPS_R0 + j, &mipsinfo);
+	}
+
+	mipsinfo.i = irq_regs[32];
+	mips_set_info(CPUINFO_INT_REGISTER + MIPS_HI, &mipsinfo);
+	mipsinfo.i = irq_regs[33];
+	mips_set_info(CPUINFO_INT_REGISTER + MIPS_LO, &mipsinfo);
+	mipsinfo.i = irq_regs[34];
+	mips_set_info(CPUINFO_INT_PC, &mipsinfo);
+	mipsinfo.i = irq_regs[35];
+	mips_set_info(CPUINFO_INT_REGISTER + MIPS_DELAYV, &mipsinfo);
+	mipsinfo.i = irq_regs[36];
+	mips_set_info(CPUINFO_INT_REGISTER + MIPS_DELAYR, &mipsinfo);
+
+	irq_mutex = 0;
+}
+
+void psx_bios_exception(uint32 pc)
+{
+	uint32 a0, status;
+	union cpuinfo mipsinfo;
+	int i, oldICount;
+
+//	printf("bios_exception: cause %x\n", mips_get_cause() & 0x3c);
+
+	// get a0
+	mips_get_info(CPUINFO_INT_REGISTER + MIPS_R4, &mipsinfo);
+	a0 = mipsinfo.i;
+
+	switch (mips_get_cause() & 0x3c)
+	{
+		case 0:	// IRQ
+//			printf("IRQ: %x, mask %x\n", irq_data, irq_mask);
+			// save all regs
+			for (i = 0; i < 32; i++)
+			{
+				mips_get_info(CPUINFO_INT_REGISTER + MIPS_R0 + i, &mipsinfo);
+				irq_regs[i] = mipsinfo.i;
+			}
+			mips_get_info(CPUINFO_INT_REGISTER + MIPS_HI, &mipsinfo);
+			irq_regs[32] = mipsinfo.i;
+			mips_get_info(CPUINFO_INT_REGISTER + MIPS_LO, &mipsinfo);
+			irq_regs[33] = mipsinfo.i;
+
+			// check BIOS-driven interrupts
+			if (irq_data & 1)	// VSync
+			{
+				if (CounterEvent[3][1].status == LE32(EvStACTIVE))
+				{
+					// run the handler
+					mipsinfo.i = LE32(CounterEvent[3][1].fhandler);
+//	       				printf("Cause = %x, ePC = %x\n", mips_get_cause(), mips_get_ePC());
+//	       				printf("VBL running handler @ %x\n", mipsinfo.i);
+					mips_set_info(CPUINFO_INT_PC, &mipsinfo);
+					mipsinfo.i = 0x80001000;
+					mips_set_info(CPUINFO_INT_REGISTER + MIPS_R31, &mipsinfo);
+				
+					// make sure we're set
+					psx_ram[0x1000/4] = LE32(FUNCT_HLECALL);
+		
+					softcall_target = 0;
+					oldICount = mips_get_icount();
+					while (!softcall_target)
+					{
+						mips_execute(10);
+					}
+					mips_set_icount(oldICount);
+
+//	       				printf("Exiting softcall handler\n");
+
+					irq_data &= ~1;		// clear the VBL IRQ if we handled it
+				}
+			}
+			else if (irq_data & 0x70)	// root counters
+			{
+				for (i = 0; i < 3; i++)
+				{
+					if (irq_data & (1 << (i+4)))
+					{
+						if (CounterEvent[i][1].status == LE32(EvStACTIVE))
+						{
+							// run the handler
+							mipsinfo.i = LE32(CounterEvent[i][1].fhandler);
+//							printf("Cause = %x, ePC = %x\n", mips_get_cause(), mips_get_ePC());
+//							printf("Counter %d running handler @ %x\n", i, mipsinfo.i);
+							mips_set_info(CPUINFO_INT_PC, &mipsinfo);
+							mipsinfo.i = 0x80001000;
+							mips_set_info(CPUINFO_INT_REGISTER + MIPS_R31, &mipsinfo);
+							
+							// make sure we're set
+							psx_ram[0x1000/4] = LE32(FUNCT_HLECALL);
+					
+							softcall_target = 0;
+							oldICount = mips_get_icount();
+							while (!softcall_target)
+							{
+								mips_execute(10);
+							}
+							mips_set_icount(oldICount);
+
+//							printf("Exiting softcall handler\n");
+							irq_data &= ~(1 << (i+4));
+						}
+						else
+						{
+//							printf("CEvt %d not active\n", i);
+						}
+					}
+				}
+			}
+		 	
+			if (entry_int)
+			{
+				psx_hw_write(0x1f801070, 0xffffffff, 0);
+
+				a0 = entry_int;
+
+//				printf("taking entry_int\n");
+
+				// RA (and PC)
+				mipsinfo.i = LE32(psx_ram[((a0&0x1fffff)+0)/4]);
+				mips_set_info(CPUINFO_INT_REGISTER + MIPS_R31, &mipsinfo);
+				mips_set_info(CPUINFO_INT_PC, &mipsinfo);
+				// SP
+				mipsinfo.i = LE32(psx_ram[((a0&0x1fffff)+4)/4]);
+				mips_set_info(CPUINFO_INT_REGISTER + MIPS_R29, &mipsinfo);
+				// FP
+				mipsinfo.i = LE32(psx_ram[((a0&0x1fffff)+8)/4]);
+				mips_set_info(CPUINFO_INT_REGISTER + MIPS_R30, &mipsinfo);
+
+				// S0-S7 are next
+				for (i = 0; i < 8; i++)
+				{
+					mipsinfo.i = LE32(psx_ram[((a0&0x1fffff)+12+(i*4))/4]);
+					mips_set_info(CPUINFO_INT_REGISTER + MIPS_R16 + i, &mipsinfo);
+				}
+
+				// GP
+				mipsinfo.i = LE32(psx_ram[((a0&0x1fffff)+44)/4]);
+				mips_set_info(CPUINFO_INT_REGISTER + MIPS_R28, &mipsinfo);
+
+				// v0 = 1
+				mipsinfo.i = 1;
+				mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+			}
+			else
+			{
+				psx_hw_write(0x1f801070, 0, 0xffff0000);
+
+				// note: the entry_int won't be bailing us out here, so do it ourselves
+				for (i = 0; i < 32; i++)
+				{
+					mipsinfo.i = irq_regs[i];
+					mips_set_info(CPUINFO_INT_REGISTER + MIPS_R0 + i, &mipsinfo);
+				}
+
+				mipsinfo.i = irq_regs[32];
+				mips_set_info(CPUINFO_INT_REGISTER + MIPS_HI, &mipsinfo);
+				mipsinfo.i = irq_regs[33];
+				mips_set_info(CPUINFO_INT_REGISTER + MIPS_LO, &mipsinfo);
+				mipsinfo.i = mips_get_ePC();
+				mips_set_info(CPUINFO_INT_PC, &mipsinfo);
+
+				status = mips_get_status();
+				status = (status & 0xfffffff0) | ((status & 0x3c)>>2);
+				mips_set_status(status);
+			}
+			break;
+
+		case 0x20:	// syscall
+			// syscall always farks with the status, so get it now
+			status = mips_get_status();
+
+			switch (a0)
+			{
+				case 1: // EnterCritical
+					#if DEBUG_HLE_BIOS
+					printf("HLEBIOS: EnterCritical\n");
+					#endif
+					status &= ~0x0404;
+					break;
+
+				case 2:	// ExitCritical
+					#if DEBUG_HLE_BIOS
+					printf("HLEBIOS: ExitCritical\n");
+					#endif
+					status |= 0x0404;
+					break;
+
+				default:
+					#if DEBUG_HLE_BIOS
+					printf("HLEBIOS: Unknown syscall %x\n", a0);
+					#endif
+					break;
+			}
+
+			// PC = ePC + 4
+			mipsinfo.i = mips_get_ePC() + 4;
+			mips_set_info(CPUINFO_INT_PC, &mipsinfo);
+
+			// and update the status accordingly
+			status = (status & 0xfffffff0) | ((status & 0x3c)>>2);
+			mips_set_status(status);
+			break;
+
+		default:
+			#if DEBUG_HLE_BIOS
+			printf("HLEBIOS: Unknown exception %x\n", mips_get_cause());
+			#endif
+			break;
+	}
+}
+
+static uint32 calc_ev(uint32 a0)
+{
+	uint32 ev;
+
+	ev = (a0 >> 24) & 0xf;
+	if (ev == 0xf) 
+	{
+		ev = 0x5;
+	}
+	ev *= 32;
+	ev += (a0 & 0x1f);
+
+	return ev;
+}
+
+static uint32 calc_spec(uint32 a1)
+{
+	uint32 spec = 0;
+	int i;
+
+	if (a1 == 0x301)
+	{
+		spec = 16;
+	}
+	else if (a1 == 0x302)
+	{
+		spec = 17;
+	}
+	else
+	{
+		for (i = 0; i < 16; i++)
+		{
+			if (a1 & (1<<i))
+			{
+				spec = i;
+				break;
+			}
+		}
+	}
+
+	return spec;
+}
+
+void psx_hw_init(void)
+{
+	timerexp = 0;
+
+	memset(filestat, 0, sizeof(filestat));
+	memset(filedata, 0, sizeof(filedata));
+
+	dma4_cb = dma7_cb = 0;
+
+	sys_time = 0;
+
+	// clear registered libraries table
+	memset(reglibs, 0, sizeof(reglibs));
+	iNumLibs = 0;
+
+	memset(evflags, 0, sizeof(evflags));
+	iNumFlags = 0;
+
+	memset(threads, 0, sizeof(threads));
+	iNumThreads = 1;	// we always have at least one thread
+
+	memset(semaphores, 0, sizeof(semaphores));
+	iNumSema = 0;
+
+	// set the initial thread to "RUNNING"
+	threads[0].iState = TS_RUNNING;
+	iCurThread = 0;
+
+	memset(iop_timers, 0, sizeof(iop_timers));
+	iNumTimers = 0;
+
+	// set PS1 BIOS HLE breakpoints
+	psx_ram[0xa0/4] = LE32(FUNCT_HLECALL);
+	psx_ram[0xb0/4] = LE32(FUNCT_HLECALL);
+	psx_ram[0xc0/4] = LE32(FUNCT_HLECALL);
+
+	Event = (EvtCtrlBlk *)&psx_ram[0x1000/4];
+	CounterEvent = (Event + (32*2));
+
+	dma_icr = 0;
+	spu_delay = 0;
+	irq_data = 0;
+	irq_mask = 0;
+	softcall_target = 0;
+	gpu_stat = 0;
+	dma4_madr = dma4_bcr = dma4_chcr = 0;
+	heap_addr = 0;
+	entry_int = 0;
+
+	WAI = 0;
+
+	root_cnts[0].mode = RC_EN;
+	root_cnts[1].mode = RC_EN;
+	root_cnts[2].mode = RC_EN;
+	root_cnts[0].sysclock = 0;
+	root_cnts[1].sysclock = 0;
+	root_cnts[2].sysclock = 0;
+}
+
+void psx_bios_hle(uint32 pc)
+{
+	uint32 subcall, status;
+	union cpuinfo mipsinfo;
+	uint32 a0, a1, a2, a3;
+	int i;
+
+	if ((pc == 0) || (pc == 0x80000000))  	 	// IOP "null" state
+	{
+		#if DEBUG_HLE_IOP
+		printf("IOP 'null' state\n");
+		#endif
+//		ao_song_done = 1;
+		return;
+	}
+
+	if (pc == 0xbfc00180 || pc == 0xbfc00184)	// exception, not BIOS call
+	{
+		psx_bios_exception(pc);
+		return;
+	}
+
+	if (pc == 0x80001000)
+	{
+//		printf("hit softcall target\n");
+		softcall_target = 1;
+		return;
+	}
+
+	mips_get_info(CPUINFO_INT_REGISTER + MIPS_R9, &mipsinfo);
+
+	subcall = mipsinfo.i & 0xff;
+
+	// most calls have a0/a1 as parameters, so prefetch them
+	mips_get_info(CPUINFO_INT_REGISTER + MIPS_R4, &mipsinfo);
+	a0 = mipsinfo.i;
+	mips_get_info(CPUINFO_INT_REGISTER + MIPS_R5, &mipsinfo);
+	a1 = mipsinfo.i;
+	mips_get_info(CPUINFO_INT_REGISTER + MIPS_R6, &mipsinfo);
+	a2 = mipsinfo.i;
+	mips_get_info(CPUINFO_INT_REGISTER + MIPS_R7, &mipsinfo);
+	a3 = mipsinfo.i;
+
+//	mips_get_info(CPUINFO_INT_REGISTER + MIPS_R31, &mipsinfo);
+//	printf("HLEBIOS: return is %08x\n", mipsinfo.i);
+	
+	switch (pc)
+	{
+		case 0xa0:	// a0 syscalls
+			switch (subcall)
+			{
+				case 0x13:	// setjmp
+					// RA
+					mips_get_info(CPUINFO_INT_REGISTER + MIPS_R31, &mipsinfo);
+					psx_ram[((a0&0x1fffff)+0)/4] = LE32(mipsinfo.i);
+					#if DEBUG_HLE_BIOS
+					printf("HLEBIOS: setjmp(%08x) => PC %08x\n", a0, mipsinfo.i);
+					#endif
+					// SP
+					mips_get_info(CPUINFO_INT_REGISTER + MIPS_R29, &mipsinfo);
+					psx_ram[((a0&0x1fffff)+4)/4] = LE32(mipsinfo.i);
+					// FP
+					mips_get_info(CPUINFO_INT_REGISTER + MIPS_R30, &mipsinfo);
+					psx_ram[((a0&0x1fffff)+8)/4] = LE32(mipsinfo.i);
+
+					// S0-S7 are next
+					for (i = 0; i < 8; i++)
+					{
+						mips_get_info(CPUINFO_INT_REGISTER + MIPS_R16 + i, &mipsinfo);
+						psx_ram[((a0&0x1fffff)+12+(i*4))/4] = LE32(mipsinfo.i);
+					}
+
+					// GP
+					mips_get_info(CPUINFO_INT_REGISTER + MIPS_R28, &mipsinfo);
+					psx_ram[((a0&0x1fffff)+44)/4] = LE32(mipsinfo.i);
+
+					// v0 = 0
+					mipsinfo.i = 0;
+					mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+					break;
+
+				case 0x18:	// strncmp
+					{
+						uint8 *dst, *src;
+
+						#if DEBUG_HLE_BIOS
+						printf("HLEBIOS: strncmp(%08x, %08x, %d)\n", a0, a1, a2);
+						#endif
+
+						dst = (uint8 *)psx_ram;
+						src = (uint8 *)psx_ram;
+						dst += (a0 & 0x1fffff);
+						src += (a1 & 0x1fffff);
+
+						// v0 = result
+						mipsinfo.i = strncmp((char *)dst, (char *)src, a2);
+						mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+					}
+					break;
+
+				case 0x19:	// strcpy
+					{
+						uint8 *dst, *src;
+
+						#if DEBUG_HLE_BIOS
+						printf("HLEBIOS: strcpy(%08x, %08x)\n", a0, a1);
+						#endif
+
+						dst = (uint8 *)psx_ram;
+						src = (uint8 *)psx_ram;
+						dst += (a0 & 0x1fffff);
+						src += (a1 & 0x1fffff);
+
+						while (*src)
+						{
+							*dst = *src;
+							dst++;
+							src++;
+						}
+
+						// v0 = a0
+						mipsinfo.i = a0;
+						mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+					}
+					break;
+
+				case 0x28:	// bzero
+					{
+						uint8 *dst;
+
+						#if DEBUG_HLE_BIOS
+						printf("HLEBIOS: bzero(%08x, %08x)\n", a0, a1);
+						#endif
+
+						dst = (uint8 *)psx_ram;
+						dst += (a0 & 0x1fffff);
+						memset(dst, 0, a1);
+					}
+					break;
+
+				case 0x2a:	// memcpy
+					{
+						uint8 *dst, *src;
+
+						#if DEBUG_HLE_BIOS
+						printf("HLEBIOS: memcpy(%08x, %08x, %08x)\n", a0, a1, a2);
+						#endif
+
+						dst = (uint8 *)psx_ram;
+						src = (uint8 *)psx_ram;
+						dst += (a0 & 0x1fffff);
+						src += (a1 & 0x1fffff);
+
+						while (a2)
+						{
+							*dst = *src;
+							dst++;
+							src++;
+							a2--;
+						}
+
+						// v0 = a0
+						mipsinfo.i = a0;
+						mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+					}
+					break;
+				
+				case 0x2b:	// memset
+					{
+						uint8 *dst;
+
+						#if DEBUG_HLE_BIOS
+						printf("HLEBIOS: memset(%08x, %08x, %08x)\n", a0, a1, a2);
+						#endif
+
+						dst = (uint8 *)psx_ram;
+						dst += (a0 & 0x1fffff);
+
+						while (a2)
+						{
+							*dst = a1;
+							dst++;
+							a2--;
+						}
+
+						// v0 = a0
+						mipsinfo.i = a0;
+						mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+					}
+					break;
+
+				case 0x2f:	// rand
+					#if DEBUG_HLE_BIOS
+					printf("HLEBIOS: rand\n");
+					#endif
+
+					// v0 = result
+					mipsinfo.i = 1 + (int)(32767.0*rand()/(RAND_MAX+1.0));
+					mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+					break;
+
+				case 0x30:	// srand
+					#if DEBUG_HLE_BIOS
+					printf("HLEBIOS: srand(%x)\n", a0);
+					#endif
+					srand(a0);
+					break;
+
+				case 0x33:	// malloc
+					{
+						uint32 chunk, fd;
+
+						#if DEBUG_HLE_BIOS
+						printf("HLEBIOS: malloc(%x)\n", a0);
+						#endif
+
+						chunk = heap_addr;
+
+						// find a free block that's big enough
+						while ((a0 > LE32(psx_ram[(chunk+BLK_SIZE)/4])) ||
+						       (LE32(psx_ram[(chunk+BLK_STAT)/4]) ==  1))
+						{
+							chunk = LE32(psx_ram[(chunk+BLK_FD)]);
+						}
+
+						// split free block
+						fd = chunk + 16 + a0;	// free block starts after block record and allocation size
+						psx_ram[(fd+BLK_STAT)/4] = psx_ram[(chunk+BLK_STAT)/4];
+						psx_ram[(fd+BLK_SIZE)/4] = LE32(LE32(psx_ram[(chunk+BLK_SIZE)/4]) - a0);
+						psx_ram[(fd+BLK_FD)/4] = psx_ram[(chunk+BLK_FD)/4]; 
+						psx_ram[(fd+BLK_BK)/4] = chunk;
+
+						psx_ram[(chunk+BLK_STAT)/4] = LE32(1);
+						psx_ram[(chunk+BLK_SIZE)/4] = LE32(a0);
+						psx_ram[(chunk+BLK_FD)/4] = LE32(fd);
+
+						mipsinfo.i = chunk + 16;
+						mipsinfo.i |= 0x80000000;
+						#if DEBUG_HLE_BIOS
+						printf("== %08x\n", mipsinfo.i);
+						#endif
+						mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+					}
+					break;
+				
+				case 0x39:	// InitHeap
+					// heap address in A0, length in A1
+					#if DEBUG_HLE_BIOS
+					printf("HLEBIOS: InitHeap(%08x, %08x)\n", a0, a1);
+					#endif
+
+					heap_addr = a0 & 0x3fffffff;
+
+					psx_ram[(heap_addr+BLK_STAT)/4] = LE32(0);
+					psx_ram[(heap_addr+BLK_FD)/4] = LE32(0);
+					psx_ram[(heap_addr+BLK_BK)/4] = LE32(0);
+
+					// if heap size out of range, clamp it
+					if (((a0 & 0x1fffff) + a1) >= 2*1024*1024)
+					{
+						psx_ram[(heap_addr+BLK_SIZE)/4] = LE32(0x1ffffc - (a0 & 0x1fffff));
+					}
+					else
+					{
+						psx_ram[(heap_addr+BLK_SIZE)/4] = LE32(a1);
+					}
+					break;
+
+				case 0x3f:	// printf
+					#if DEBUG_HLE_BIOS
+					printf("HLEBIOS: printf(%08x) = %s\n", a0, &psx_ram[(a0&0x1fffff)/4]);
+					#endif
+					break;
+
+				case 0x72:	//__96_remove
+					#if DEBUG_HLE_BIOS
+					printf("HLEBIOS: __96_remove\n");
+					#endif
+					break;
+
+				default:
+					#if DEBUG_HLE_BIOS
+					printf("Unknown BIOS A0 call = %x\n", subcall);
+					#endif
+					break;
+			}
+			break;
+
+		case 0xb0:	// b0 syscalls
+			switch (subcall)
+			{		 
+				case 0x07:	// DeliverEvent
+					{
+						int ev, spec;
+
+
+						ev = calc_ev(a0);
+						spec = calc_spec(a1);
+
+						#if DEBUG_HLE_BIOS
+						printf("HLEBIOS: DeliverEvent(ev %d, spec %d)\n", ev, spec);
+						#endif
+
+						if (Event[ev][spec].status != LE32(EvStACTIVE))
+						{
+							#if DEBUG_HLE_BIOS
+							printf("event not active\n");
+							#endif
+							return;
+						}
+
+						// if interrupt mode, do the call
+						if (Event[ev][spec].mode == LE32(EvMdINTR))
+						{
+							#if DEBUG_HLE_BIOS
+							printf("INTR type, need to call handler %x\n", LE32(Event[ev][spec].fhandler));
+							#endif
+						}
+						else
+						{
+							Event[ev][spec].status = LE32(EvStALREADY);
+						}
+					}
+					break;
+			     
+				case 0x08:	// OpenEvent
+					{
+						int ev, spec;
+						
+						ev = calc_ev(a0);
+						spec = calc_spec(a1);
+
+						#if DEBUG_HLE_BIOS
+						printf("HLEBIOS: OpenEvent(%08x, %08x, %08x, %08x) = ev %d spec %d\n", a0, a1, a2, a3, ev, spec);
+						if (ev >= 64 && ev <= 67)
+						{
+							printf("HLEBIOS: event %d maps to root counter %d\n", ev, ev-64);
+						}
+						#endif
+
+						Event[ev][spec].status = LE32(EvStWAIT);
+						Event[ev][spec].mode = LE32(a2);
+						Event[ev][spec].fhandler = LE32(a3);
+
+						// v0 = ev | spec<<8;
+						mipsinfo.i = ev | (spec<<8);
+						mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+					}
+					break;
+
+				case 0x0a:	// WaitEvent
+					{
+						int ev, spec;
+						
+						ev = a0 & 0xff;
+						spec = (a0 >> 8) & 0xff;
+
+						mips_get_info(CPUINFO_INT_REGISTER + MIPS_R31, &mipsinfo);
+						#if DEBUG_HLE_BIOS
+						printf("HLEBIOS: WaitEvent(ev %d spec %d) PC=%x\n", ev, spec, mipsinfo.i);
+						#endif
+
+						Event[ev][spec].status = LE32(EvStACTIVE);
+
+						// v0 = 1
+						mipsinfo.i = 1;
+						mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+
+						WAI = 1;
+						mips_shorten_frame();
+					}
+					break;
+
+				case 0x0b:	// TestEvent
+					{
+						int ev, spec;
+
+						ev   = a0 & 0xff;
+						spec = (a0 >> 8) & 0xff;
+
+						#if DEBUG_HLE_BIOS
+						printf("HLEBIOS: TestEvent(ev %d spec %d)\n", ev, spec);
+						#endif
+
+						// v0 = (is event ready?)
+						if (Event[ev][spec].status == LE32(EvStALREADY))
+						{
+							Event[ev][spec].status = LE32(EvStACTIVE);
+							mipsinfo.i = 1;
+						}
+						else
+						{
+							mipsinfo.i = 0;
+						}
+
+						WAI = 1;
+
+						mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+
+						// it looks like this sets v1 to something non-zero too
+						// (code in Crash 2 & 3 actually relies on that behavior)
+						mips_set_info(CPUINFO_INT_REGISTER + MIPS_R3, &mipsinfo);
+					}
+					break;
+
+				case 0x0c:	// EnableEvent
+					{
+						int ev, spec;
+						
+						ev = a0 & 0xff;
+						spec = (a0 >> 8) & 0xff;
+
+						#if DEBUG_HLE_BIOS
+						printf("HLEBIOS: EnableEvent(ev %d spec %d)\n", ev, spec);
+						#endif
+
+						Event[ev][spec].status = LE32(EvStACTIVE);
+
+						// v0 = 1
+						mipsinfo.i = 1;
+						mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+					}
+					break;
+
+				case 0x0d:	// DisableEvent
+					{
+						int ev, spec;
+						
+						ev = a0 & 0xff;
+						spec = (a0 >> 8) & 0xff;
+
+						#if DEBUG_HLE_BIOS
+						printf("HLEBIOS: DisableEvent(ev %d spec %d)\n", ev, spec);
+						#endif
+
+						Event[ev][spec].status = LE32(EvStWAIT);
+
+						// v0 = 1
+						mipsinfo.i = 1;
+						mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+					}
+					break;
+
+				case 0x17:	// ReturnFromException
+					for (i = 0; i < 32; i++)
+					{
+						mipsinfo.i = irq_regs[i];
+						mips_set_info(CPUINFO_INT_REGISTER + MIPS_R0 + i, &mipsinfo);
+					}
+
+					mipsinfo.i = irq_regs[32];
+					mips_set_info(CPUINFO_INT_REGISTER + MIPS_HI, &mipsinfo);
+					mipsinfo.i = irq_regs[33];
+					mips_set_info(CPUINFO_INT_REGISTER + MIPS_LO, &mipsinfo);
+					mipsinfo.i = mips_get_ePC();
+//					printf("ReturnFromException: IRQ state %x\n", irq_data & irq_mask);
+//					printf("HLEBIOS: ReturnFromException, cause = %08x, PC = %08x\n", mips_get_cause(), mipsinfo.i);
+					mips_set_info(CPUINFO_INT_PC, &mipsinfo);
+
+					status = mips_get_status();
+					status = (status & 0xfffffff0) | ((status & 0x3c)>>2);
+					mips_set_status(status);
+					return;	// force return to avoid PC=RA below
+					break;
+
+				case 0x19:	// HookEntryInt
+					#if DEBUG_HLE_BIOS
+					printf("HLEBIOS: HookEntryInt(%08x)\n", a0);
+					#endif
+					entry_int = a0;
+					break;
+
+				case 0x3f:	// puts
+//					printf("HLEBIOS: puts\n");
+					break;
+
+				case 0x5b:	// ChangeClearPAD
+					#if DEBUG_HLE_BIOS
+					printf("HLEBIOS: ChangeClearPAD\n");
+					#endif
+					break;
+
+				default:
+					#if DEBUG_HLE_BIOS
+					printf("Unknown BIOS B0 call = %x\n", subcall);
+					#endif
+					break;
+			}
+			break;
+
+		case 0xc0:	// c0 syscalls
+			switch (subcall)
+			{		
+				case 0xa:	// ChangeClearRCnt
+					#if DEBUG_HLE_BIOS
+					printf("HLEBIOS: ChangeClearRCnt(%08x, %08x)\n", a0, a1);
+					#endif
+
+					// v0 = (a0*4)+0x8600
+					mipsinfo.i = LE32(psx_ram[((a0<<2) + 0x8600)/4]);
+					mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+
+					// (a0*4)+0x8600 = a1;
+					psx_ram[((a0<<2) + 0x8600)/4] = LE32(a1);
+					break;
+			      
+				default:
+					#if DEBUG_HLE_BIOS
+					printf("Unknown BIOS C0 call = %x\n", subcall);
+					#endif
+					break;
+			}
+			break;
+	}
+
+	// PC = RA
+	mips_get_info(CPUINFO_INT_REGISTER + MIPS_R31, &mipsinfo);
+	mips_set_info(CPUINFO_INT_PC, &mipsinfo);
+}
+
+// root counters
+
+void psx_hw_runcounters(void)
+{
+	int i, j;
+	union cpuinfo mipsinfo;
+
+	// don't process any IRQ sources when interrupts are suspended
+	if (!intr_susp)
+	{
+		if (dma4_delay)
+		{
+			dma4_delay--;
+
+			if (dma4_delay == 0)
+			{
+				SPU2interruptDMA4();
+
+				if (dma4_cb)
+				{
+					call_irq_routine(dma4_cb, dma4_flag);
+				}
+			}
+		}
+
+		if (dma7_delay)
+		{
+			dma7_delay--;
+
+			if (dma7_delay == 0)
+			{
+				SPU2interruptDMA7();
+
+				if (dma7_cb)
+				{
+					call_irq_routine(dma7_cb, dma7_flag);
+				}
+			}
+		}
+
+		for (i = 0; i < iNumThreads; i++)
+		{
+			if (threads[i].iState == TS_WAITDELAY)
+			{
+				if (threads[i].waitparm > CLOCK_DIV)
+				{
+					threads[i].waitparm -= CLOCK_DIV;
+				}
+				else	// time's up
+				{
+					threads[i].waitparm = 0;
+					threads[i].iState = TS_READY;
+
+					timerexp = 1;
+
+					ps2_reschedule();
+				}
+			}
+		}
+
+		sys_time += 836;
+
+		if (iNumTimers > 0)
+		{
+			for (i = 0; i < iNumTimers; i++)
+			{
+				if (iop_timers[i].iActive > 0)
+				{
+					iop_timers[i].count += 836;
+					if (iop_timers[i].count >= iop_timers[i].target)
+					{
+						iop_timers[i].count -= iop_timers[i].target;
+
+	//					printf("Timer %d: handler = %08x, param = %08x\n", i, iop_timers[i].handler, iop_timers[i].hparam);
+						call_irq_routine(iop_timers[i].handler, iop_timers[i].hparam);
+
+						timerexp = 1;
+					} 
+				}
+			}
+		}
+	}
+
+// PS1 root counters
+	for (i = 0; i < 3; i++)
+	{
+		if ((!(root_cnts[i].mode & RC_EN)) && (root_cnts[i].mode != 0))
+		{
+			if (root_cnts[i].mode & RC_DIV8)
+			{
+				root_cnts[i].count += 768/8;
+			}
+			else
+			{
+				root_cnts[i].count += 768;
+			}
+
+			if (root_cnts[i].count >= root_cnts[i].target)
+			{
+				if (!(root_cnts[i].mode & RC_RESET))
+				{
+					root_cnts[i].mode |= RC_EN;
+				}
+				else
+				{
+					root_cnts[i].count %= root_cnts[i].target;
+				}
+				
+				psx_irq_set(1<<(4+i));
+			}
+		}
+	}
+}
+
+// PEOpS callbacks
+
+void SPUirq(void) 
+{
+//	psx_irq_set(0x200);
+}
+
+// PSXCPU callbacks
+
+uint8 program_read_byte_32le(offs_t address)
+{
+	switch (address & 0x3)
+	{
+		case 0:
+			return psx_hw_read(address, 0xffffff00);
+			break;
+		case 1:
+			return psx_hw_read(address, 0xffff00ff)>>8;
+			break;
+		case 2:
+			return psx_hw_read(address, 0xff00ffff)>>16;
+			break;
+		case 3:
+			return psx_hw_read(address, 0x00ffffff)>>24;
+			break;
+	}
+}
+
+uint16 program_read_word_32le(offs_t address)
+{
+	if (address & 2)
+		return psx_hw_read(address, 0x0000ffff)>>16;
+
+	return psx_hw_read(address, 0xffff0000);
+}
+
+uint32 program_read_dword_32le(offs_t address)
+{
+	return psx_hw_read(address, 0);
+}
+
+void program_write_byte_32le(offs_t address, uint8 data)
+{
+	switch (address & 0x3)
+	{
+		case 0:
+			psx_hw_write(address, data, 0xffffff00);
+			break;
+		case 1:
+			psx_hw_write(address, data<<8, 0xffff00ff);
+			break;
+		case 2:
+			psx_hw_write(address, data<<16, 0xff00ffff);
+			break;
+		case 3:
+			psx_hw_write(address, data<<24, 0x00ffffff);
+			break;
+	}
+}
+
+void program_write_word_32le(offs_t address, uint16 data)
+{
+	if (address & 2)
+	{
+		psx_hw_write(address, data<<16, 0x0000ffff);
+		return;
+	}
+
+	psx_hw_write(address, data, 0xffff0000);
+}
+
+void program_write_dword_32le(offs_t address, uint32 data)
+{
+	psx_hw_write(address, data, 0);
+}
+
+// sprintf replacement
+static iop_sprintf(char *out, char *fmt, uint32 pstart)
+{
+	char temp[64], tfmt[64];
+	char *cf, *pstr;
+	union cpuinfo mipsinfo;
+	int curparm, fp, isnum;
+
+	curparm = pstart;
+	cf = fmt;
+
+	while (*cf != '\0')
+	{
+		if (*cf != '%')
+		{
+			if (*cf == 27)
+			{
+				*out++ = '[';
+				*out++ = 'E';
+				*out++ = 'S';
+				*out++ = 'C';
+				*out = ']';
+			}
+			else
+			{
+				*out = *cf;
+			}
+			out++;
+			cf++;
+		}
+		else	// got format
+		{
+			cf++;
+
+			tfmt[0] = '%';
+			fp = 1;
+			while (((*cf >= '0') && (*cf <= '9')) || (*cf == '.'))
+			{
+				tfmt[fp] = *cf;
+				fp++;
+				cf++;
+			}
+
+			tfmt[fp] = *cf;
+			tfmt[fp+1] = '\0';
+
+			isnum = 0;			
+			switch (*cf)
+			{
+				case 'x':
+				case 'X':
+				case 'd':
+				case 'D':
+				case 'c':
+				case 'C':
+				case 'u':
+				case 'U':
+					isnum = 1;
+					break;
+			}
+
+//			printf("]]] temp format: [%s] [%d]\n", tfmt, isnum);
+
+			if (isnum)
+			{
+				mips_get_info(curparm, &mipsinfo);
+//				printf("parameter %d = %x\n", curparm-pstart, mipsinfo.i);
+				curparm++;
+				sprintf(temp, tfmt, (int32)mipsinfo.i);
+			}
+			else
+			{
+				mips_get_info(curparm, &mipsinfo);
+				curparm++;
+
+				pstr = (char *)psx_ram;
+				pstr += (mipsinfo.i & 0x1fffff);
+
+				sprintf(temp, tfmt, pstr);
+			}
+
+			pstr = &temp[0];
+			while (*pstr != '\0')
+			{
+				*out = *pstr;
+				out++;
+				pstr++;
+			}
+
+			cf++;
+		}
+	}
+
+	*out = '\0';
+}
+
+// PS2 IOP callbacks
+void psx_iop_call(uint32 pc, uint32 callnum)
+{
+	uint32 scan;
+	char *mname, *str1, *str2, *str3, name[9], out[512];
+	uint32 a0, a1, a2, a3;
+	union cpuinfo mipsinfo;
+	int i;
+
+//	printf("IOP call @ %08x\n", pc);
+
+	// prefetch parameters
+	mips_get_info(CPUINFO_INT_REGISTER + MIPS_R4, &mipsinfo);
+	a0 = mipsinfo.i;
+	mips_get_info(CPUINFO_INT_REGISTER + MIPS_R5, &mipsinfo);
+	a1 = mipsinfo.i;
+	mips_get_info(CPUINFO_INT_REGISTER + MIPS_R6, &mipsinfo);
+	a2 = mipsinfo.i;
+	mips_get_info(CPUINFO_INT_REGISTER + MIPS_R7, &mipsinfo);
+	a3 = mipsinfo.i;
+
+	scan = (pc&0x0fffffff)/4;
+	while ((psx_ram[scan] != LE32(0x41e00000)) && (scan >= (0x10000/4)))
+	{
+		scan--;
+	}
+
+	if (psx_ram[scan] != LE32(0x41e00000))
+	{
+		printf("FATAL ERROR: couldn't find IOP link signature\n");
+		return;
+	}
+
+	scan += 3;	// skip zero and version
+	memcpy(name, &psx_ram[scan], 8);
+	name[8] = '\0';
+
+//	printf("IOP: call module [%s] service %d (PC=%08x)\n", name, callnum, pc);
+
+	if (!strcmp(name, "stdio"))
+	{
+		switch (callnum)
+		{
+			case 4:	// printf
+				mname = (char *)psx_ram;
+				mname += a0 & 0x1fffff;
+				mname += (a0 & 3);
+
+				iop_sprintf(out, mname, CPUINFO_INT_REGISTER + MIPS_R5);	// a1 is first parm
+				
+			/*	if (out[strlen(out)-1] != '\n')
+				{
+					strcat(out, "\n");
+				}*/
+
+				#if DEBUG_HLE_IOP
+				printf("%s", out);
+				#endif
+				break;
+
+			default:
+				printf("IOP: Unhandled service %d for module %s\n", callnum, name);
+				break;
+		}
+	}
+	else if (!strcmp(name, "sifman"))
+	{
+		switch (callnum)
+		{
+			case 5:	// sceSifInit
+				#if DEBUG_HLE_IOP
+				printf("IOP: sceSifInit()\n");
+				#endif
+
+				mipsinfo.i = 0;
+				mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+				break;
+
+			case 7: // sceSifSetDma
+				#if DEBUG_HLE_IOP
+				printf("IOP: sceSifSetDma(%08x %08x)\n", a0, a1);
+				#endif
+
+				mipsinfo.i = 1;	// nonzero = success
+				mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+				break;
+
+			case 8:	// sceSifDmaStat
+				#if DEBUG_HLE_IOP
+				printf("IOP: sceSifDmaStat(%08x)\n", a0);
+				#endif
+
+				mipsinfo.i = -1;	// dma completed
+				mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+				break;
+
+			case 29: // sceSifCheckInit
+				#if DEBUG_HLE_IOP
+				printf("IOP: sceSifCheckInit()\n");
+				#endif
+
+				mipsinfo.i = 1;
+				mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+				break;
+
+			default:
+				printf("IOP: Unhandled service %d for module %s\n", callnum, name);
+				break;
+		}
+	}
+	else if (!strcmp(name, "thbase"))
+	{
+		uint32 newAlloc;
+
+		switch (callnum)
+		{
+			case 4:	// CreateThread
+				#if DEBUG_THREADING
+				printf("IOP: CreateThread(%08x)\n", a0);
+				#endif
+				a0 &= 0x1fffff;
+				a0 /= 4;
+				#if DEBUG_THREADING
+				printf("   : flags %x routine %08x pri %x stacksize %d refCon %08x\n",
+					psx_ram[a0], psx_ram[a0+1], psx_ram[a0+2], psx_ram[a0+3], psx_ram[a0+4]);
+				#endif
+
+				newAlloc = psf2_get_loadaddr();
+				// force 16-byte alignment
+				if (newAlloc & 0xf)
+				{
+					newAlloc &= ~0xf;
+					newAlloc += 16;
+				}
+				psf2_set_loadaddr(newAlloc + LE32(psx_ram[a0+3]));
+				
+				threads[iNumThreads].iState = TS_CREATED;
+				threads[iNumThreads].stackloc = newAlloc;
+				threads[iNumThreads].flags = LE32(psx_ram[a0]);
+				threads[iNumThreads].routine = LE32(psx_ram[a0+2]);
+				threads[iNumThreads].stacksize = LE32(psx_ram[a0+3]);
+				threads[iNumThreads].refCon = LE32(psx_ram[a0+4]);
+
+				mipsinfo.i = iNumThreads;
+				iNumThreads++;
+				mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+				break;
+
+			case 6:	// StartThread
+				#if DEBUG_THREADING
+				printf("IOP: StartThread(%d %d)\n", a0, a1);
+				#endif
+
+				FreezeThread(iCurThread, 1);
+				ThawThread(a0);
+				iCurThread = a0;
+				break;
+
+			case 20:// GetThreadID
+				#if DEBUG_THREADING
+				printf("IOP: GetThreadId()\n");
+				#endif
+
+				mipsinfo.i = iCurThread;
+				mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+				break;
+
+			case 24:// SleepThread
+				#if DEBUG_THREADING
+				mips_get_info(CPUINFO_INT_REGISTER + MIPS_R31, &mipsinfo);
+				printf("IOP: SleepThread() [curThread %d, PC=%x]\n", iCurThread, mipsinfo.i);
+				#endif
+
+				FreezeThread(iCurThread, 1);
+				threads[iCurThread].iState = TS_SLEEPING;
+				iCurThread = -1;
+
+				ps2_reschedule();
+				break;
+
+			case 25:// WakeupThread
+				#if DEBUG_THREADING
+				printf("IOP: WakeupThread(%d)\n", a0);
+				#endif
+
+				// set thread to "ready to go"
+				threads[a0].iState = TS_READY;	
+				break;
+
+			case 26:// iWakeupThread
+				#if DEBUG_THREADING
+				printf("IOP: iWakeupThread(%d)\n", a0);
+				#endif
+
+				// set thread to "ready to go" if it's not running
+				if (threads[a0].iState != TS_RUNNING)
+				{
+					threads[a0].iState = TS_READY;	
+				}
+				break;
+
+			case 33:// DelayThread
+				{
+					double dTicks;
+					int i;
+
+					#if DEBUG_THREADING
+					mips_get_info(CPUINFO_INT_REGISTER + MIPS_R31, &mipsinfo);
+					printf("IOP: DelayThread(%d) (PC=%x) [curthread = %d]\n", a0, mipsinfo.i, iCurThread);
+					#endif
+
+					if (a0 < 100)
+					{
+						a0 = 100;
+					}
+					dTicks = (double)a0;
+
+					FreezeThread(iCurThread, 1);
+					threads[iCurThread].iState = TS_WAITDELAY;
+					dTicks /= (double)1000000.0;
+					dTicks *= (double)36864000.0;	// 768*48000 = IOP native-mode clock rate
+					threads[iCurThread].waitparm = (uint32)dTicks;
+					iCurThread = -1;
+
+					ps2_reschedule();
+				}
+				break;
+
+			case 34://GetSystemTime
+				#if DEBUG_HLE_IOP
+				printf("IOP: GetSystemTime(%x)\n", a0);
+				#endif
+
+				a0 &= 0x1fffff;
+				a0 /= 4;
+
+				psx_ram[a0] = LE32(sys_time & 0xffffffff);  	// low
+				psx_ram[a0+1] = LE32(sys_time >> 32);	// high
+
+				mipsinfo.i = 0;
+				mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+				break;
+
+			case 39:// USec2SysClock
+				{
+					uint64 dTicks = (uint64)a0;
+					uint32 hi, lo;
+
+					#if DEBUG_HLE_IOP
+					printf("IOP: USec2SysClock(%d %08x)\n", a0, a1);
+					#endif
+
+					dTicks *= (uint64)36864000;
+					dTicks /= (uint64)1000000;
+			
+					hi = dTicks>>32;
+					lo = dTicks & 0xffffffff;
+
+					psx_ram[((a1 & 0x1fffff)/4)] = LE32(lo);
+					psx_ram[((a1 & 0x1fffff)/4)+1] = LE32(hi);
+
+					mipsinfo.i = 0;
+					mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+				}
+				break;
+
+			case 40://SysClock2USec
+				{
+					uint64 temp;
+					uint32 seconds, usec;
+
+					#if DEBUG_HLE_IOP
+					printf("IOP: SysClock2USec(%08x %08x %08x)\n", a0, a1, a2);
+					#endif
+
+					a0 &= 0x1fffff;
+					a1 &= 0x1fffff;
+					a2 &= 0x1fffff;
+					a0 /= 4;
+					a1 /= 4;
+					a2 /= 4;
+
+					temp = LE32(psx_ram[a0]);
+					temp |= (uint64)LE32(psx_ram[a0+1])<<32;
+
+					temp *= (uint64)1000000;
+					temp /= (uint64)36864000;
+
+					// temp now is USec
+					seconds = (temp / 1000000) & 0xffffffff;
+					usec = (temp % 1000000) & 0xffffffff;
+
+					psx_ram[a1] = LE32(seconds);
+					psx_ram[a2] = LE32(usec);
+				}
+				break;
+
+			default:
+				printf("IOP: Unhandled service %d for module %s\n", callnum, name);
+				break;
+		}
+	}
+	else if (!strcmp(name, "thevent"))
+	{
+		switch (callnum)
+		{
+			case 4:	// CreateEventFlag
+				mips_get_info(CPUINFO_INT_REGISTER + MIPS_R31, &mipsinfo);
+				#if DEBUG_HLE_IOP
+				printf("IOP: CreateEventFlag(%08x) (PC=%x)\n", a0, mipsinfo.i);
+				#endif
+
+				a0 &= 0x1fffff;
+				a0 /= 4;
+ 
+				evflags[iNumFlags].type = LE32(psx_ram[a0]);
+				evflags[iNumFlags].value = LE32(psx_ram[a0+1]);
+				evflags[iNumFlags].param = LE32(psx_ram[a0+2]);
+				evflags[iNumFlags].inUse = 1;
+
+				#if DEBUG_HLE_IOP
+				printf("     Flag %02d: type %d init %08x param %08x\n", iNumFlags, evflags[iNumFlags].type, evflags[iNumFlags].value, evflags[iNumFlags].param);
+				#endif
+
+				mipsinfo.i = iNumFlags+1;
+				iNumFlags++;
+				mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+				break;
+
+			case 6: // SetEventFlag
+				a0--;
+				#if DEBUG_HLE_IOP
+				printf("IOP: SetEventFlag(%d %08x)\n", a0, a1);
+				#endif
+
+				evflags[a0].value |= a1;
+
+				mipsinfo.i = 0;
+				mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+				break;
+
+			case 7: // iSetEventFlag
+				a0--;
+				#if DEBUG_HLE_IOP
+				printf("IOP: iSetEventFlag(%08x %08x)\n", a0, a1);
+				#endif
+
+				evflags[a0].value |= a1;
+
+				mipsinfo.i = 0;
+				mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+
+				for (i=0; i < iNumThreads; i++)
+				{
+					if ((threads[i].iState == TS_WAITEVFLAG) && (threads[i].waitparm == a0))
+					{
+						threads[i].iState = TS_READY;	
+					}
+				}
+				break;
+
+			case 8:	// ClearEventFlag
+				a0--;
+				mips_get_info(CPUINFO_INT_REGISTER + MIPS_R31, &mipsinfo);
+				#if DEBUG_HLE_IOP
+				printf("IOP: ClearEventFlag(%d %08x) (PC=%x)\n", a0, a1, mipsinfo.i);
+				#endif
+
+				evflags[a0].value &= a1;
+
+				mipsinfo.i = 0;
+				mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+				break;
+
+			case 9: // iClearEventFlag
+				a0--;
+				#if DEBUG_HLE_IOP
+				printf("IOP: iClearEventFlag(%d %08x)\n", a0, a1);
+				#endif
+
+				evflags[a0].value &= a1;
+
+				mipsinfo.i = 0;
+				mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+				break;
+
+			case 10:// WaitEventFlag
+				a0--;
+				#if DEBUG_HLE_IOP
+				mips_get_info(CPUINFO_INT_REGISTER + MIPS_R31, &mipsinfo);
+				printf("IOP: WaitEventFlag(%d %08x %d %08x PC=%x)\n", a0, a1, a2, a3, mipsinfo.i);
+				#endif
+
+				// if we're not set, freeze this thread
+				if (!(evflags[a0].value & a1))
+				{
+					FreezeThread(iCurThread, 1);
+					threads[iCurThread].iState = TS_WAITEVFLAG;
+					threads[iCurThread].waitparm = a0;
+					iCurThread = -1;
+
+					ps2_reschedule();
+				}
+				else
+				{
+					mipsinfo.i = 0;
+					mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+				}
+				break;
+
+			default:
+				printf("IOP: Unhandled service %d for module %s\n", callnum, name);
+				break;
+		}
+	}
+	else if (!strcmp(name, "thsemap"))
+	{
+		int foundthread;
+
+		switch (callnum)
+		{
+			case 4:	// CreateSema
+				#if DEBUG_HLE_IOP
+				printf("IOP: CreateSema(%08x)\n", a0);
+				#endif
+
+				mipsinfo.i = -1;
+				for (i = 0; i < SEMA_MAX; i++)
+				{
+					if (!semaphores[i].inuse)
+					{
+						mipsinfo.i = i;
+						break;
+					}
+				}
+
+				if (mipsinfo.i == -1)
+				{
+					printf("IOP: out of semaphores!\n");
+				}
+
+				a0 &= 0x7fffffff;
+				a0 /= 4;
+
+//				printf("Sema %d Parms: %08x %08x %08x %08x\n", mipsinfo.i, psx_ram[a0], psx_ram[a0+1], psx_ram[a0+2], psx_ram[a0+3]);
+	
+				if (mipsinfo.i != -1)
+				{
+					semaphores[mipsinfo.i].attr = LE32(psx_ram[a0]);
+					semaphores[mipsinfo.i].option = LE32(psx_ram[a0+1]);
+					semaphores[mipsinfo.i].init = LE32(psx_ram[a0+2]);
+					semaphores[mipsinfo.i].max = LE32(psx_ram[a0+3]);
+
+					semaphores[mipsinfo.i].current = semaphores[mipsinfo.i].init;
+
+					semaphores[mipsinfo.i].inuse = 1;
+				}
+
+				mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+				break;
+
+			case 6: // SignalSema
+				#if DEBUG_HLE_IOP
+				printf("IOP: SignalSema(%d) (current %d)\n", a0, semaphores[a0].current);
+				#endif
+
+				foundthread = 0;
+				for (i=0; i < iNumThreads; i++)
+				{
+					if ((threads[i].iState == TS_WAITSEMA) && (threads[i].waitparm == a0))
+					{
+						threads[i].iState = TS_READY;	
+						semaphores[a0].threadsWaiting--;
+						foundthread = 1;
+						break;
+					}
+				}
+
+				mipsinfo.i = 0;
+
+				if (!foundthread)
+				{
+					if (semaphores[a0].current < semaphores[a0].max)
+					{
+						semaphores[a0].current++;
+					}
+					else
+					{
+						mipsinfo.i = -420;	// semaphore overflow
+					}
+				}
+
+				mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+				break;
+
+			case 7: // iSignalSema
+				#if DEBUG_HLE_IOP
+				printf("IOP: iSignalSema(%d)\n", a0);
+				#endif
+
+				foundthread = 0;
+				for (i=0; i < iNumThreads; i++)
+				{
+					if ((threads[i].iState == TS_WAITSEMA) && (threads[i].waitparm == a0))
+					{
+						threads[i].iState = TS_READY;	
+						semaphores[a0].threadsWaiting--;
+						foundthread = 1;
+						break;
+					}
+				}
+
+				mipsinfo.i = 0;
+
+				if (!foundthread)
+				{
+					if (semaphores[a0].current < semaphores[a0].max)
+					{
+						semaphores[a0].current++;
+					}
+					else
+					{
+						mipsinfo.i = -420;	// semaphore overflow
+					}
+				}
+
+				mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+				break;
+
+			case 8: // WaitSema
+				#if DEBUG_HLE_IOP
+				mips_get_info(CPUINFO_INT_REGISTER + MIPS_R31, &mipsinfo);
+				printf("IOP: WaitSema(%d) (cnt %d) (th %d) (PC=%x)\n", a0, iCurThread, semaphores[a0].current, mipsinfo.i);
+				#endif
+		
+				if (semaphores[a0].current > 0)
+				{
+					semaphores[a0].current--;
+				}
+				else
+				{
+					FreezeThread(iCurThread, 1);
+					threads[iCurThread].iState = TS_WAITSEMA;
+					threads[iCurThread].waitparm = a0;
+					ps2_reschedule();
+				}
+
+				mipsinfo.i = 0;
+				mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+				break;
+
+			default:
+				printf("IOP: Unhandled service %d for module %s\n", callnum, name);
+				break;
+		}
+	}
+	else if (!strcmp(name, "timrman"))
+	{
+		switch (callnum)
+		{
+			case 4:	// AllocHardTimer
+				#if DEBUG_HLE_IOP
+				printf("IOP: AllocHardTimer(%d %d %d)\n", a0, a1, a2);
+				#endif
+				// source, size, prescale
+								     
+				if (a1 != 32)
+				{
+					printf("IOP: AllocHardTimer doesn't support 16-bit timers!\n");
+				}
+
+				iop_timers[iNumTimers].source = a0;
+				iop_timers[iNumTimers].prescale = a2;
+
+				mipsinfo.i = iNumTimers+1;
+				iNumTimers++;
+				mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+				break;
+
+			case 6: // FreeHardTimer
+				#if DEBUG_HLE_IOP
+				printf("IOP: FreeHardTimer(%d)\n", a0);
+				#endif
+				mipsinfo.i = 0;
+				mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+				break;
+
+			case 10:// GetTimerCounter
+				mipsinfo.i = iop_timers[a0-1].count;
+				mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+				break;
+
+			case 20: // SetTimerHandler
+				#if DEBUG_HLE_IOP
+				printf("IOP: SetTimerHandler(%d %d %08x %08x)\n", a0, a1, a2, a3);
+				#endif
+				// id, compare, handler, common (last is param for handler)
+
+				iop_timers[a0-1].target = a1;
+				iop_timers[a0-1].handler = a2;
+				iop_timers[a0-1].hparam = a3;
+
+				mipsinfo.i = 0;
+				mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+				break;
+
+			case 22: // SetupHardTimer
+				#if DEBUG_HLE_IOP
+				printf("IOP: SetupHardTimer(%d %d %d %d)\n", a0, a1, a2, a3);
+				#endif
+				// id, source, mode, prescale
+
+				iop_timers[a0-1].source = a1;
+				iop_timers[a0-1].mode = a2;
+				iop_timers[a0-1].prescale = a3;
+
+				mipsinfo.i = 0;
+				mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+				break;
+
+			case 23: // StartHardTimer
+				#if DEBUG_HLE_IOP
+				printf("IOP: StartHardTimer(%d)\n", a0);
+				#endif
+
+				iop_timers[a0-1].iActive = 1;
+				iop_timers[a0-1].count = 0;
+
+				mipsinfo.i = 0;
+				mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+				break;
+
+			case 24: // StopHardTimer
+				#if DEBUG_HLE_IOP
+				printf("IOP: StopHardTimer(%d)\n", a0);
+				#endif
+
+				iop_timers[a0-1].iActive = 0;
+
+				mipsinfo.i = 0;
+				mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+				break;
+
+			default:
+				printf("IOP: Unhandled service %d for module %s\n", callnum, name);
+				break;
+		}
+	}
+	else if (!strcmp(name, "sysclib"))
+	{
+		switch (callnum)
+		{
+			case 12:	// memcpy
+				{
+					uint8 *dst, *src;
+
+					#if DEBUG_HLE_IOP
+					printf("IOP: memcpy(%08x, %08x, %d)\n", a0, a1, a2);
+					#endif
+
+					dst = (uint8 *)&psx_ram[(a0&0x1fffff)/4];
+					src = (uint8 *)&psx_ram[(a1&0x1fffff)/4];
+					// get exact byte alignment
+					dst += a0 % 4;
+					src += a1 % 4;
+
+					while (a2)
+					{
+						*dst = *src;
+						dst++;
+						src++;
+						a2--;
+					}
+
+					// v0 = a0
+					mipsinfo.i = a0;
+					mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+				}
+				break;
+
+			case 13:	// memmove
+				{
+					uint8 *dst, *src;
+
+					#if DEBUG_HLE_IOP
+					printf("IOP: memmove(%08x, %08x, %d)\n", a0, a1, a2);
+					#endif
+
+					dst = (uint8 *)&psx_ram[(a0&0x1fffff)/4];
+					src = (uint8 *)&psx_ram[(a1&0x1fffff)/4];
+					// get exact byte alignment
+					dst += a0 % 4;
+					src += a1 % 4;
+
+					dst += a2 - 1;
+					src += a2 - 1;
+
+					while (a2)
+					{
+						*dst = *src;
+						dst--;
+						src--;
+						a2--;
+					}
+
+					// v0 = a0
+					mipsinfo.i = a0;
+					mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+				}
+				break;
+
+			case 14:	// memset
+				{
+					uint8 *dst;
+
+					#if DEBUG_HLE_IOP
+					mips_get_info(CPUINFO_INT_REGISTER + MIPS_R31, &mipsinfo);
+					printf("IOP: memset(%08x, %02x, %d) [PC=%x]\n", a0, a1, a2, mipsinfo.i);
+					#endif
+
+					dst = (uint8 *)&psx_ram[(a0&0x1fffff)/4];
+					dst += (a0 & 3);
+
+					memset(dst, a1, a2);
+				}
+				break;
+
+			case 17:	// bzero
+				{
+					uint8 *dst;
+
+					#if DEBUG_HLE_IOP
+					printf("IOP: bzero(%08x, %08x)\n", a0, a1);
+					#endif
+
+					dst = (uint8 *)&psx_ram[(a0&0x1fffff)/4];
+					dst += (a0 & 3);
+					memset(dst, 0, a1);
+				}
+				break;
+
+			case 19:	// sprintf
+				mname = (char *)psx_ram;
+				str1 = (char *)psx_ram;
+				mname += a0 & 0x1fffff;
+				str1 += a1 & 0x1fffff;
+
+				#if DEBUG_HLE_IOP
+				mips_get_info(CPUINFO_INT_REGISTER + MIPS_R31, &mipsinfo);
+				printf("IOP: sprintf(%08x, %s, ...) [PC=%08x]\n", a0, str1, (uint32)mipsinfo.i);
+				printf("%x %x %x %x\n", a0, a1, a2, a3);
+				#endif
+
+				iop_sprintf(mname, str1, CPUINFO_INT_REGISTER + MIPS_R6);	// a2 is first parameter
+
+				#if DEBUG_HLE_IOP
+				printf("     = [%s]\n", mname);
+				#endif
+				break;
+
+			case 23:	// strcpy
+				{
+					uint8 *dst, *src;
+
+					#if DEBUG_HLE_IOP
+					printf("IOP: strcpy(%08x, %08x)\n", a0, a1);
+					#endif
+
+					dst = (uint8 *)&psx_ram[(a0&0x1fffff)/4];
+					src = (uint8 *)&psx_ram[(a1&0x1fffff)/4];
+					// get exact byte alignment
+					dst += a0 % 4;
+					src += a1 % 4;
+
+					while (*src != '\0')
+					{
+						*dst = *src;
+						dst++;
+						src++;
+					}
+					*dst = '\0';
+
+					// v0 = a0
+					mipsinfo.i = a0;
+					mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+				}
+				break;
+
+			case 27:	// strlen
+				{
+					char *dst;
+
+					#if DEBUG_HLE_IOP
+					mips_get_info(CPUINFO_INT_REGISTER + MIPS_R31, &mipsinfo);
+					printf("IOP: strlen(%08x) [PC=%x]\n", a0, mipsinfo.i);
+					#endif
+
+					dst = (char *)&psx_ram[(a0&0x1fffff)/4];
+					dst += (a0 & 3);
+					mipsinfo.i = strlen(dst);
+					mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+				}
+				break;
+
+			case 30:	// strncpy
+				{
+					char *dst, *src;
+
+					#if DEBUG_HLE_IOP
+					printf("IOP: strncpy(%08x, %08x, %d)\n", a0, a1, a2);
+					#endif
+
+					dst = (char *)&psx_ram[(a0&0x1fffff)/4];
+					src = (char *)&psx_ram[(a1&0x1fffff)/4];
+					// get exact byte alignment
+					dst += a0 % 4;
+					src += a1 % 4;
+
+					while ((*src != '\0') && (a2 > 0))
+					{
+						*dst = *src;
+						dst++;
+						src++;
+						a2--;
+					}
+					*dst = '\0';
+
+					// v0 = a0
+					mipsinfo.i = a0;
+					mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+				}
+				break;
+
+
+			case 36:	// strtol
+				mname = (char *)&psx_ram[(a0 & 0x1fffff)/4];
+				mname += (a0 & 3);
+
+				if (a1)
+				{
+					printf("IOP: Unhandled strtol with non-NULL second parm\n");
+				}
+
+				mipsinfo.i = strtol(mname, NULL, a2);
+				mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+				break;
+
+			default:
+				printf("IOP: Unhandled service %d for module %s\n", callnum, name);
+				break;
+		}
+	}
+	else if (!strcmp(name, "intrman"))
+	{
+		switch (callnum)
+		{
+			case 4:	// RegisterIntrHandler
+				#if DEBUG_HLE_IOP
+				printf("IOP: RegisterIntrHandler(%d %08x %08x %08x)\n", a0, a1, a2, a3);
+				#endif
+
+				if (a0 == 9)
+				{
+					irq9_fval = a1;
+					irq9_cb = a2;
+					irq9_flag = a3;
+				}
+
+				// DMA4?
+				if (a0 == 36)
+				{
+					dma4_fval = a1;
+					dma4_cb = a2;
+					dma4_flag = a3;
+				}
+
+				// DMA7?
+				if (a0 == 40)
+				{
+					dma7_fval = a1;
+					dma7_cb = a2;
+					dma7_flag = a3;
+				}
+				break;
+
+			case 5:	// ReleaseIntrHandler
+				#if DEBUG_HLE_IOP
+				printf("IOP: ReleaseIntrHandler(%d)\n", a0);
+				#endif
+				break;
+
+			case 6:	// EnableIntr
+				#if DEBUG_HLE_IOP
+				printf("IOP: EnableIntr(%d)\n", a0);
+				#endif
+				break;
+
+			case 7:	// DisableIntr
+				#if DEBUG_HLE_IOP
+				printf("IOP: DisableIntr(%d)\n", a0);
+				#endif
+				break;
+
+			case 8: // CpuDisableIntr
+				#if DEBUG_HLE_IOP
+				printf("IOP: CpuDisableIntr(%d)\n", a0);
+				#endif
+				break;
+
+			case 9: // CpuEnableIntr
+				#if DEBUG_HLE_IOP
+				printf("IOP: CpuEnableIntr(%d)\n", a0);
+				#endif
+				break;
+
+			case 17:	// CpuSuspendIntr
+				#if DEBUG_HLE_IOP
+				printf("IOP: CpuSuspendIntr\n");
+				#endif
+
+				// if already suspended, return an error code
+				if (intr_susp)
+				{
+					mipsinfo.i = -102;
+				}
+				else
+				{
+					mipsinfo.i = 0;
+				}
+				intr_susp = 1;
+				mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+				break;
+
+			case 18:	// CpuResumeIntr
+				#if DEBUG_HLE_IOP
+				printf("IOP: CpuResumeIntr\n");
+				#endif
+				intr_susp = 0;
+				mipsinfo.i = 0;
+				mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+				break;
+
+			case 23:	// QueryIntrContext
+				#if DEBUG_HLE_IOP
+				mips_get_info(CPUINFO_INT_REGISTER + MIPS_R31, &mipsinfo);
+				printf("IOP: QueryIntrContext(PC=%x)\n", mipsinfo.i);
+				#endif
+				mipsinfo.i = 0;
+				mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+				break;
+
+			default:
+				printf("IOP: Unhandled service %d for module %s\n", callnum, name);
+				break;
+		}
+	}
+	else if (!strcmp(name, "loadcore"))
+	{
+		switch (callnum)
+		{
+			case 5: // FlushDcache
+				#if DEBUG_HLE_IOP
+				printf("IOP: FlushDcache()\n");
+				#endif
+				break;
+
+			case 6:	// RegisterLibraryEntries
+				a0 &= 0x1fffff;
+				#if DEBUG_HLE_IOP
+				mips_get_info(CPUINFO_INT_REGISTER + MIPS_R31, &mipsinfo);
+				printf("IOP: RegisterLibraryEntries(%08x) (PC=%x)\n", a0, mipsinfo.i);
+				#endif
+				
+				if (psx_ram[a0/4] == LE32(0x41c00000))
+				{
+					a0 += 3*4;
+					memcpy(&reglibs[iNumLibs].name, &psx_ram[a0/4], 8);
+					reglibs[iNumLibs].name[8] = '\0';
+					#if DEBUG_HLE_IOP
+					printf("Lib name [%s]\n", &reglibs[iNumLibs].name);
+					#endif
+					a0 += 2*4;
+					reglibs[iNumLibs].dispatch = a0;
+					iNumLibs++;
+				}
+				else
+				{
+					printf("ERROR: Entry table signature missing\n");
+
+				}
+
+				mipsinfo.i = 0;
+				mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+				break;
+
+			default:
+				printf("IOP: Unhandled service %d for module %s\n", callnum, name);
+				break;
+		}
+	}
+	else if (!strcmp(name, "sysmem"))
+	{
+		uint32 newAlloc;
+
+		switch (callnum)
+		{
+			case 4:	// AllocMemory
+				newAlloc = psf2_get_loadaddr();
+				// make sure we're 16-byte aligned
+				if (newAlloc & 15)
+				{
+					newAlloc &= ~15;
+					newAlloc += 16;
+				}
+
+				if (a1 & 15)
+				{
+					a1 &= ~15;
+					a1 += 16;
+				}
+
+				if (a1 == 1114112)	// HACK for crappy code in Shadow Hearts rip that assumes the buffer address
+				{
+					printf("SH Hack: was %x now %x\n", newAlloc, 0x60000);
+					newAlloc = 0x60000;
+				}
+
+				psf2_set_loadaddr(newAlloc + a1);
+
+				#if DEBUG_HLE_IOP
+				printf("IOP: AllocMemory(%d, %d, %x) = %08x\n", a0, a1, a2, newAlloc|0x80000000);
+				#endif
+
+				mipsinfo.i = newAlloc; // | 0x80000000;
+				mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+				break;
+
+			case 5:	// FreeMemory
+				#if DEBUG_HLE_IOP
+				printf("IOP: FreeMemory(%x)\n", a0);
+				#endif
+				break;
+
+			case 7:	// QueryMaxFreeMemSize
+				#if DEBUG_HLE_IOP
+				printf("IOP: QueryMaxFreeMemSize\n");
+				#endif
+
+				mipsinfo.i = (2*1024*1024) - psf2_get_loadaddr();
+				mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+				break;
+
+			case 8:	// QueryTotalFreeMemSize
+				#if DEBUG_HLE_IOP
+				printf("IOP: QueryTotalFreeMemSize\n");
+				#endif
+
+				mipsinfo.i = (2*1024*1024) - psf2_get_loadaddr();
+				mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+				break;
+
+			case 14: // Kprintf
+				mname = (char *)psx_ram;
+				mname += a0 & 0x1fffff;
+				mname += (a0 & 3);
+
+				iop_sprintf(out, mname, CPUINFO_INT_REGISTER + MIPS_R5);	// a1 is first parm
+				
+				if (out[strlen(out)-1] != '\n')
+				{
+					strcat(out, "\n");
+				}
+
+				// filter out ESC characters
+				{
+					int ch;
+
+					for (ch = 0; ch < strlen(out); ch++)
+					{
+						if (out[ch] == 27)
+						{
+							out[ch] = ']';
+						}
+					}
+				}
+
+				#if DEBUG_HLE_IOP
+				mips_get_info(CPUINFO_INT_REGISTER + MIPS_R31, &mipsinfo);
+				printf("KTTY: %s [PC=%x]\n", out, mipsinfo.i);
+				#endif
+
+				#if 0
+				{
+					FILE *f;
+					f = fopen("psxram.bin", "wb");
+					fwrite(psx_ram, 2*1024*1024, 1, f);
+					fclose(f);
+				}
+				#endif
+				break;
+
+			default:
+				printf("IOP: Unhandled service %d for module %s\n", callnum, name);
+				break;
+		}
+	}
+	else if (!strcmp(name, "modload"))
+	{
+		uint8 *tempmem;
+		uint32 newAlloc;
+
+		switch (callnum)
+		{
+			case 7:	// LoadStartModule
+				mname = (char *)&psx_ram[(a0 & 0x1fffff)/4];
+				mname += 8;
+				str1 = (char *)&psx_ram[(a2 & 0x1fffff)/4];
+				#if DEBUG_HLE_IOP
+				printf("LoadStartModule: %s\n", mname);
+				#endif
+
+				// get 2k for our parameters
+				newAlloc = psf2_get_loadaddr();
+				// force 16-byte alignment
+				if (newAlloc & 0xf)
+				{
+					newAlloc &= ~0xf;
+					newAlloc += 16;
+				}
+				psf2_set_loadaddr(newAlloc + 2048);
+
+				tempmem = (uint8 *)malloc(2*1024*1024);
+				if (psf2_load_file(mname, tempmem, 2*1024*1024) != 0xffffffff)
+				{
+					uint32 start;
+					int i;
+
+					start = psf2_load_elf(tempmem, 2*1024*1024);
+
+					if (start != 0xffffffff)
+					{
+						uint32 args[20], numargs = 1, argofs;
+						uint8 *argwalk = (uint8 *)psx_ram, *argbase;
+						
+						argwalk += (a2 & 0x1fffff);
+						argbase = argwalk;
+
+						args[0] = a0;	// program name is argc[0]
+
+						argofs = 0;
+
+						if (a1 > 0)
+						{
+							args[numargs] = a2;
+							numargs++;
+
+							while (a1)
+							{
+								if ((*argwalk == 0) && (a1 > 1))
+								{
+									args[numargs] = a2 + argofs + 1;
+									numargs++;
+								}
+								argwalk++;
+								argofs++;
+								a1--;
+							}
+						}
+
+						for (i = 0; i < numargs; i++) 
+						{
+							#if DEBUG_HLE_IOP
+//							printf("Arg %d: %08x [%s]\n", i, args[i], &argbase[args[i]-a2]); 
+							#endif
+							psx_ram[(newAlloc/4)+i] = LE32(args[i]);
+						}
+
+						// set argv and argc
+						mipsinfo.i = numargs;
+						mips_set_info(CPUINFO_INT_REGISTER + MIPS_R4, &mipsinfo);
+						mipsinfo.i = 0x80000000 | newAlloc;
+						mips_set_info(CPUINFO_INT_REGISTER + MIPS_R5, &mipsinfo);
+
+						// leave RA alone, PC = module start
+						// (NOTE: we get called in the delay slot!)
+						mipsinfo.i = start - 4;
+						mips_set_info(CPUINFO_INT_PC, &mipsinfo);
+					}
+				}
+				free(tempmem);
+				break;
+
+			default:
+				printf("IOP: Unhandled service %d for module %s\n", callnum, name);
+				break;
+		}
+
+	}
+	else if (!strcmp(name, "ioman"))
+	{
+		switch (callnum)
+		{
+			case 4:	// open
+				{
+					int i, slot2use;
+
+					slot2use = -1;
+					for (i = 0; i < MAX_FILE_SLOTS; i++)
+					{
+						if (filestat[i] == 0)
+						{
+							slot2use = i;
+							break;
+						}
+					}
+
+					if (slot2use == -1)
+					{
+						printf("IOP: out of file slots!\n");
+						mipsinfo.i = 0xffffffff;
+						mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+						return;
+					}
+
+					mname = (char *)psx_ram;
+					mname += (a0 & 0x1fffff);
+
+					if (!strncmp(mname, "aofile:", 7))
+					{
+						mname += 8;
+					}
+					else if (!strncmp(mname, "hefile:", 7))
+					{
+						mname += 8;
+					}
+					else if (!strncmp(mname, "host0:", 6)) 
+					{
+						mname += 7;
+					}
+
+					mips_get_info(CPUINFO_INT_REGISTER + MIPS_R31, &mipsinfo);
+					#if DEBUG_HLE_IOP
+					printf("IOP: open(\"%s\") (PC=%08x)\n", mname, mipsinfo.i);
+					#endif
+
+					filedata[slot2use] = malloc(6*1024*1024);
+					filesize[slot2use] = psf2_load_file(mname, filedata[slot2use], 6*1024*1024);
+					filepos[slot2use] = 0;
+					filestat[slot2use] = 1;
+
+					if (filesize[slot2use] == 0xffffffff)
+					{
+						mipsinfo.i = filesize[slot2use];
+					}
+					else
+					{
+						mipsinfo.i = slot2use;
+					}
+				}
+				mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+				break;
+
+			case 5:	// close
+				#if DEBUG_HLE_IOP
+				mips_get_info(CPUINFO_INT_REGISTER + MIPS_R31, &mipsinfo);
+				printf("IOP: close(%d) (PC=%08x)\n", a0, mipsinfo.i);
+				#endif
+				free(filedata[a0]);
+				filedata[a0] = (uint8 *)NULL;
+				filepos[a0] = 0;
+				filesize[a0] = 0;
+				filestat[a0] = 0;
+				break;
+
+			case 6:	// read
+				#if DEBUG_HLE_IOP
+				printf("IOP: read(%x %x %d) [pos %d size %d]\n", a0, a1, a2, filepos[a0], filesize[a0]);
+				#endif
+
+				if (filepos[a0] >= filesize[a0])
+				{
+					mipsinfo.i = 0;
+				}
+				else
+				{
+					uint8 *rp;
+
+					if ((filepos[a0] + a2) > filesize[a0])
+					{
+						a2 = filesize[a0] - filepos[a0];
+					}
+
+					rp = (uint8 *)psx_ram;
+					rp += (a1 & 0x1fffff);
+					memcpy(rp, &filedata[a0][filepos[a0]], a2);
+
+					filepos[a0] += a2;
+					mipsinfo.i = a2;
+				}
+				mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+				break;
+
+			case 8:	// lseek
+				#if DEBUG_HLE_IOP
+				mips_get_info(CPUINFO_INT_REGISTER + MIPS_R31, &mipsinfo);
+				printf("IOP: lseek(%d, %d, %s) (PC=%08x)\n", a0, a1, seek_types[a2], mipsinfo.i);
+				#endif
+
+				switch (a2)
+				{
+					case 0:	// SEEK_SET
+						if (a1 <= filesize[a0])
+						{
+							filepos[a0] = a1;
+						}
+						break;
+					case 1:	// SEEK_CUR
+						if ((a1 + filepos[a0]) < filesize[a0])
+						{
+							filepos[a0] += a1;
+						}
+						break;
+					case 2:	// SEEK_END
+						filepos[a0] = filesize[a0] - a1;
+						break;
+				}
+
+				mipsinfo.i = filepos[a0];
+				mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+				break;
+
+			case 20:	// AddDrv
+				#if DEBUG_HLE_IOP
+				printf("IOP: AddDrv(%x)\n", a0);
+				#endif
+
+				mipsinfo.i = 0;
+				mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+				break;
+
+			case 21:	// DelDrv
+				#if DEBUG_HLE_IOP
+				printf("IOP: DelDrv(%x)\n", a0);
+				#endif
+
+				mipsinfo.i = 0;
+				mips_set_info(CPUINFO_INT_REGISTER + MIPS_R2, &mipsinfo);
+				break;
+
+			default:
+				printf("IOP: Unhandled service %d for module %s\n", callnum, name);
+		}		      
+	}		
+	else
+	{
+		int lib;
+
+		if (iNumLibs > 0)
+		{
+			for (lib = 0; lib < iNumLibs; lib++)
+			{
+				if (!strcmp(name, reglibs[lib].name))
+				{
+					#if DEBUG_HLE_IOP
+					uint32 PC;
+
+					mips_get_info(CPUINFO_INT_REGISTER + MIPS_R31, &mipsinfo);
+					PC = mipsinfo.i;
+					#endif
+
+					// zap the delay slot handling
+					mipsinfo.i = 0;
+					mips_set_info(CPUINFO_INT_REGISTER + MIPS_DELAYV, &mipsinfo);
+					mips_set_info(CPUINFO_INT_REGISTER + MIPS_DELAYR, &mipsinfo);
+
+					mipsinfo.i = LE32(psx_ram[(reglibs[lib].dispatch/4) + callnum]);
+
+					// (NOTE: we get called in the delay slot!)
+					#if DEBUG_HLE_IOP
+					printf("IOP: Calling %s (%d) service %d => %08x (parms %08x %08x %08x %08x) (PC=%x)\n",
+							 reglibs[lib].name, 
+							 lib,
+							 callnum, 
+							 (uint32)mipsinfo.i, 
+							 a0, a1, a2, a3, PC);
+					#endif
+
+					#if 0
+					if (!strcmp(reglibs[lib].name, "ssd"))
+					{
+						if (callnum == 37)
+						{
+							psxcpu_verbose = 4096;
+						}
+					}
+					#endif
+
+					mipsinfo.i -= 4;
+					mips_set_info(CPUINFO_INT_PC, &mipsinfo);
+
+					return;
+				}
+			}
+		}
+
+		printf("IOP: Unhandled service %d for module %s\n", callnum, name);
+	}
+}
+
--- a/src/sid/xmms-sid.glade	Thu Jul 03 17:23:34 2008 +0300
+++ b/src/sid/xmms-sid.glade	Thu Jul 03 17:37:11 2008 +0300
@@ -3252,6 +3252,20 @@
 	  <property name="spacing">8</property>
 
 	  <child>
+	    <widget class="GtkButton" id="cfg_cancel">
+	      <property name="visible">True</property>
+	      <property name="tooltip" translatable="yes">Cancel any changes</property>
+	      <property name="can_default">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="xs_cfg_cancel"/>
+	    </widget>
+	  </child>
+
+	  <child>
 	    <widget class="GtkButton" id="cfg_ok">
 	      <property name="visible">True</property>
 	      <property name="tooltip" translatable="yes">Accept and update changes</property>
@@ -3264,20 +3278,6 @@
 	      <signal name="clicked" handler="xs_cfg_ok"/>
 	    </widget>
 	  </child>
-
-	  <child>
-	    <widget class="GtkButton" id="cfg_cancel">
-	      <property name="visible">True</property>
-	      <property name="tooltip" translatable="yes">Cancel any changes</property>
-	      <property name="can_default">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="xs_cfg_cancel"/>
-	    </widget>
-	  </child>
 	</widget>
 	<packing>
 	  <property name="padding">0</property>
--- a/src/sid/xs_interface.c	Thu Jul 03 17:23:34 2008 +0300
+++ b/src/sid/xs_interface.c	Thu Jul 03 17:37:11 2008 +0300
@@ -222,8 +222,8 @@
   GtkWidget *label18;
   GtkWidget *w_label3;
   GtkWidget *hbuttonbox1;
+  GtkWidget *cfg_cancel;
   GtkWidget *cfg_ok;
-  GtkWidget *cfg_cancel;
   GtkTooltips *tooltips;
 
   tooltips = gtk_tooltips_new ();
@@ -1312,6 +1312,13 @@
   gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox1), GTK_BUTTONBOX_END);
   gtk_box_set_spacing (GTK_BOX (hbuttonbox1), 8);
 
+  cfg_cancel = gtk_button_new_from_stock ("gtk-cancel");
+  gtk_widget_set_name (cfg_cancel, "cfg_cancel");
+  gtk_widget_show (cfg_cancel);
+  gtk_container_add (GTK_CONTAINER (hbuttonbox1), cfg_cancel);
+  GTK_WIDGET_SET_FLAGS (cfg_cancel, GTK_CAN_DEFAULT);
+  gtk_tooltips_set_tip (tooltips, cfg_cancel, _("Cancel any changes"), NULL);
+
   cfg_ok = gtk_button_new_from_stock ("gtk-ok");
   gtk_widget_set_name (cfg_ok, "cfg_ok");
   gtk_widget_show (cfg_ok);
@@ -1319,13 +1326,6 @@
   GTK_WIDGET_SET_FLAGS (cfg_ok, GTK_CAN_DEFAULT);
   gtk_tooltips_set_tip (tooltips, cfg_ok, _("Accept and update changes"), NULL);
 
-  cfg_cancel = gtk_button_new_from_stock ("gtk-cancel");
-  gtk_widget_set_name (cfg_cancel, "cfg_cancel");
-  gtk_widget_show (cfg_cancel);
-  gtk_container_add (GTK_CONTAINER (hbuttonbox1), cfg_cancel);
-  GTK_WIDGET_SET_FLAGS (cfg_cancel, GTK_CAN_DEFAULT);
-  gtk_tooltips_set_tip (tooltips, cfg_cancel, _("Cancel any changes"), NULL);
-
   g_signal_connect ((gpointer) xs_configwin, "delete_event",
                     G_CALLBACK (xs_configwin_delete),
                     NULL);
@@ -1395,12 +1395,12 @@
   g_signal_connect ((gpointer) cfg_hvsc_browse, "clicked",
                     G_CALLBACK (xs_cfg_hvsc_browse),
                     NULL);
+  g_signal_connect ((gpointer) cfg_cancel, "clicked",
+                    G_CALLBACK (xs_cfg_cancel),
+                    NULL);
   g_signal_connect ((gpointer) cfg_ok, "clicked",
                     G_CALLBACK (xs_cfg_ok),
                     NULL);
-  g_signal_connect ((gpointer) cfg_cancel, "clicked",
-                    G_CALLBACK (xs_cfg_cancel),
-                    NULL);
 
   /* Store pointers to all widgets, for use by lookup_widget(). */
   GLADE_HOOKUP_OBJECT_NO_REF (xs_configwin, xs_configwin, "xs_configwin");
@@ -1582,8 +1582,8 @@
   GLADE_HOOKUP_OBJECT (xs_configwin, label18, "label18");
   GLADE_HOOKUP_OBJECT (xs_configwin, w_label3, "w_label3");
   GLADE_HOOKUP_OBJECT (xs_configwin, hbuttonbox1, "hbuttonbox1");
+  GLADE_HOOKUP_OBJECT (xs_configwin, cfg_cancel, "cfg_cancel");
   GLADE_HOOKUP_OBJECT (xs_configwin, cfg_ok, "cfg_ok");
-  GLADE_HOOKUP_OBJECT (xs_configwin, cfg_cancel, "cfg_cancel");
   GLADE_HOOKUP_OBJECT_NO_REF (xs_configwin, tooltips, "tooltips");
 
   return xs_configwin;
--- a/src/skins/plugin.c	Thu Jul 03 17:23:34 2008 +0300
+++ b/src/skins/plugin.c	Thu Jul 03 17:37:11 2008 +0300
@@ -31,17 +31,15 @@
 
 gchar *skins_paths[SKINS_PATH_COUNT] = {};
 
-GeneralPlugin skins_gp =
+static Interface skins_gp =
 {
-    .description= "Audacious Skinned GUI",
+    .id = "skinned",
+    .desc = "Audacious Skinned GUI",
     .init = skins_init,
-    .about = skins_about,
-    .configure = skins_configure,
-    .cleanup = skins_cleanup
+    .fini = skins_cleanup
 };
 
-GeneralPlugin *skins_gplist[] = { &skins_gp, NULL };
-SIMPLE_GENERAL_PLUGIN(skins, skins_gplist);
+SIMPLE_INTERFACE_PLUGIN("skinned", &skins_gp);
 gboolean plugin_is_active = FALSE;
 
 static void skins_free_paths(void) {
@@ -73,7 +71,7 @@
     g_free(xdg_cache_home);
 }
 
-void skins_init(void) {
+gboolean skins_init(void) {
     plugin_is_active = TRUE;
     g_log_set_handler(NULL, G_LOG_LEVEL_WARNING, g_log_default_handler, NULL);
 
@@ -83,18 +81,21 @@
     register_aud_stock_icons();
     ui_manager_init();
     ui_manager_create_menus();
-    mainwin_setup_menus();
 
     init_skins(config.skin);
+    mainwin_setup_menus();
 
     if (config.player_visible) mainwin_real_show();
     if (config.equalizer_visible) equalizerwin_show(TRUE);
     if (config.playlist_visible) playlistwin_show();
 
-    return;
+    g_message("Entering Gtk+ main loop!");
+    gtk_main();
+
+    return TRUE;
 }
 
-void skins_cleanup(void) {
+gboolean skins_cleanup(void) {
     if (plugin_is_active == TRUE) {
         skins_cfg_save();
         skins_free_paths();
@@ -114,7 +115,9 @@
         plugin_is_active = FALSE;
     }
 
-    return;
+    gtk_main_quit();
+
+    return TRUE;
 }
 
 void skins_about(void) {
--- a/src/skins/plugin.h	Thu Jul 03 17:23:34 2008 +0300
+++ b/src/skins/plugin.h	Thu Jul 03 17:37:11 2008 +0300
@@ -40,8 +40,8 @@
 
 extern gchar *skins_paths[];
 
-void skins_init(void);
-void skins_cleanup(void);
+gboolean skins_init(void);
+gboolean skins_cleanup(void);
 void skins_about(void);
 
 #endif
--- a/src/skins/ui_equalizer.c	Thu Jul 03 17:23:34 2008 +0300
+++ b/src/skins/ui_equalizer.c	Thu Jul 03 17:37:11 2008 +0300
@@ -84,7 +84,9 @@
 
 static GtkWidget *equalizerwin_on, *equalizerwin_auto;
 
-static GtkWidget *equalizerwin_close, *equalizerwin_presets, *equalizerwin_shade;
+static GtkWidget *equalizerwin_close, *equalizerwin_shade;
+static GtkWidget *equalizerwin_shaded_close, *equalizerwin_shaded_shade;
+static GtkWidget *equalizerwin_presets;
 static GtkWidget *equalizerwin_preamp,*equalizerwin_bands[10];
 static GtkWidget *equalizerwin_volume, *equalizerwin_balance;
 
@@ -126,7 +128,7 @@
     }
 
     GList *iter;
-    for (iter = GTK_FIXED (SKINNED_WINDOW(equalizerwin)->fixed)->children; iter; iter = g_list_next (iter)) {
+    for (iter = GTK_FIXED (SKINNED_WINDOW(equalizerwin)->normal)->children; iter; iter = g_list_next (iter)) {
         GtkFixedChild *child_data = (GtkFixedChild *) iter->data;
         GtkWidget *child = child_data->widget;
         g_signal_emit_by_name(child, "toggle-scaled");
@@ -138,26 +140,14 @@
 equalizerwin_set_shade_menu_cb(gboolean shaded)
 {
     config.equalizer_shaded = shaded;
+    ui_skinned_window_set_shade(equalizerwin, shaded);
 
     if (shaded) {
         dock_shade(get_dock_window_list(), GTK_WINDOW(equalizerwin),
                    14 * EQUALIZER_SCALE_FACTOR);
-        ui_skinned_set_push_button_data(equalizerwin_shade, -1, 3, -1, 47);
-        ui_skinned_button_set_skin_index1(equalizerwin_shade, SKIN_EQ_EX);
-        ui_skinned_set_push_button_data(equalizerwin_close, 11, 38, 11, 47);
-        ui_skinned_button_set_skin_index(equalizerwin_close, SKIN_EQ_EX);
-        gtk_widget_show(equalizerwin_volume);
-        gtk_widget_show(equalizerwin_balance);
-    }
-    else {
+    } else {
         dock_shade(get_dock_window_list(), GTK_WINDOW(equalizerwin),
                    116 * EQUALIZER_SCALE_FACTOR);
-        ui_skinned_set_push_button_data(equalizerwin_shade, -1, 137, -1, 38);
-        ui_skinned_button_set_skin_index1(equalizerwin_shade, SKIN_EQMAIN);
-        ui_skinned_set_push_button_data(equalizerwin_close, 0, 116, 0, 125);
-        ui_skinned_button_set_skin_index(equalizerwin_close, SKIN_EQMAIN);
-        gtk_widget_hide(equalizerwin_volume);
-        gtk_widget_hide(equalizerwin_balance);
     }
 
     gtk_widget_shape_combine_mask(equalizerwin, skin_get_mask(aud_active_skin, SKIN_MASK_EQ + config.equalizer_shaded), 0, 0);
@@ -426,46 +416,56 @@
     gint i;
 
     equalizerwin_on = ui_skinned_button_new();
-    ui_skinned_toggle_button_setup(equalizerwin_on, SKINNED_WINDOW(equalizerwin)->fixed,
+    ui_skinned_toggle_button_setup(equalizerwin_on, SKINNED_WINDOW(equalizerwin)->normal,
                                    14, 18, 25, 12, 10, 119, 128, 119, 69, 119, 187, 119, SKIN_EQMAIN);
     g_signal_connect(equalizerwin_on, "clicked", equalizerwin_on_pushed, NULL);
     ui_skinned_button_set_inside(equalizerwin_on, aud_cfg->equalizer_active);
 
     equalizerwin_auto = ui_skinned_button_new();
-    ui_skinned_toggle_button_setup(equalizerwin_auto, SKINNED_WINDOW(equalizerwin)->fixed,
+    ui_skinned_toggle_button_setup(equalizerwin_auto, SKINNED_WINDOW(equalizerwin)->normal,
                                    39, 18, 33, 12, 35, 119, 153, 119, 94, 119, 212, 119, SKIN_EQMAIN);
     g_signal_connect(equalizerwin_auto, "clicked", equalizerwin_auto_pushed, NULL);
     ui_skinned_button_set_inside(equalizerwin_auto, aud_cfg->equalizer_autoload);
 
     equalizerwin_presets = ui_skinned_button_new();
-    ui_skinned_push_button_setup(equalizerwin_presets, SKINNED_WINDOW(equalizerwin)->fixed,
+    ui_skinned_push_button_setup(equalizerwin_presets, SKINNED_WINDOW(equalizerwin)->normal,
                                  217, 18, 44, 12, 224, 164, 224, 176, SKIN_EQMAIN);
     g_signal_connect(equalizerwin_presets, "clicked", equalizerwin_presets_pushed, NULL );
 
     equalizerwin_close = ui_skinned_button_new();
-    ui_skinned_push_button_setup(equalizerwin_close, SKINNED_WINDOW(equalizerwin)->fixed,
+    ui_skinned_push_button_setup(equalizerwin_close, SKINNED_WINDOW(equalizerwin)->normal,
                                  264, 3, 9, 9, 0, 116, 0, 125, SKIN_EQMAIN);
     g_signal_connect(equalizerwin_close, "clicked", equalizerwin_close_cb, NULL );
 
     equalizerwin_shade = ui_skinned_button_new();
-    ui_skinned_push_button_setup(equalizerwin_shade, SKINNED_WINDOW(equalizerwin)->fixed,
+    ui_skinned_push_button_setup(equalizerwin_shade, SKINNED_WINDOW(equalizerwin)->normal,
                                  254, 3, 9, 9, 254, 137, 1, 38, SKIN_EQMAIN);
     ui_skinned_button_set_skin_index2(equalizerwin_shade, SKIN_EQ_EX);
     g_signal_connect(equalizerwin_shade, "clicked", equalizerwin_shade_toggle, NULL );
 
-    equalizerwin_graph = ui_skinned_equalizer_graph_new(SKINNED_WINDOW(equalizerwin)->fixed, 86, 17);
+    equalizerwin_shaded_close = ui_skinned_button_new();
+    ui_skinned_push_button_setup(equalizerwin_shaded_close, SKINNED_WINDOW(equalizerwin)->shaded,
+                                 264, 3, 9, 9, 11, 38, 11, 47, SKIN_EQ_EX);
+    g_signal_connect(equalizerwin_shaded_close, "clicked", equalizerwin_close_cb, NULL );
 
-    equalizerwin_preamp = ui_skinned_equalizer_slider_new(SKINNED_WINDOW(equalizerwin)->fixed, 21, 38);
+    equalizerwin_shaded_shade = ui_skinned_button_new();
+    ui_skinned_push_button_setup(equalizerwin_shaded_shade, SKINNED_WINDOW(equalizerwin)->shaded,
+                                 254, 3, 9, 9, 254, 3, 1, 47, SKIN_EQ_EX);
+    g_signal_connect(equalizerwin_shaded_shade, "clicked", equalizerwin_shade_toggle, NULL );
+
+    equalizerwin_graph = ui_skinned_equalizer_graph_new(SKINNED_WINDOW(equalizerwin)->normal, 86, 17);
+
+    equalizerwin_preamp = ui_skinned_equalizer_slider_new(SKINNED_WINDOW(equalizerwin)->normal, 21, 38);
     ui_skinned_equalizer_slider_set_position(equalizerwin_preamp, aud_cfg->equalizer_preamp);
 
     for (i = 0; i < 10; i++) {
         equalizerwin_bands[i] =
-            ui_skinned_equalizer_slider_new(SKINNED_WINDOW(equalizerwin)->fixed, 78 + (i * 18), 38);
+            ui_skinned_equalizer_slider_new(SKINNED_WINDOW(equalizerwin)->normal, 78 + (i * 18), 38);
         ui_skinned_equalizer_slider_set_position(equalizerwin_bands[i], aud_cfg->equalizer_bands[i]);
     }
 
     equalizerwin_volume =
-        ui_skinned_horizontal_slider_new(SKINNED_WINDOW(equalizerwin)->fixed,
+        ui_skinned_horizontal_slider_new(SKINNED_WINDOW(equalizerwin)->shaded,
                                          61, 4, 97, 8, 1, 30, 1, 30, 3, 7, 4, 61, 0, 94,
                                          equalizerwin_volume_frame_cb, SKIN_EQ_EX);
     g_signal_connect(equalizerwin_volume, "motion", G_CALLBACK(equalizerwin_volume_motion_cb), NULL);
@@ -473,7 +473,7 @@
 
 
     equalizerwin_balance =
-        ui_skinned_horizontal_slider_new(SKINNED_WINDOW(equalizerwin)->fixed,
+        ui_skinned_horizontal_slider_new(SKINNED_WINDOW(equalizerwin)->shaded,
                        164, 4, 42, 8, 11, 30, 11, 30, 3, 7, 4, 164, 0, 39,
                        equalizerwin_balance_frame_cb, SKIN_EQ_EX);
     g_signal_connect(equalizerwin_balance, "motion", G_CALLBACK(equalizerwin_balance_motion_cb), NULL);
@@ -566,17 +566,6 @@
     ui_skinned_button_set_inside(mainwin_eq, TRUE);
     gtk_widget_show_all(equalizerwin);
 
-    if (!config.equalizer_shaded) {
-        gtk_widget_hide(equalizerwin_volume);
-        gtk_widget_hide(equalizerwin_balance);
-    }
-    else {
-        ui_skinned_set_push_button_data(equalizerwin_shade, -1, 3, -1, 47);
-        ui_skinned_button_set_skin_index1(equalizerwin_shade, SKIN_EQ_EX);
-        ui_skinned_set_push_button_data(equalizerwin_close, 11, 38, 11, 47);
-        ui_skinned_button_set_skin_index(equalizerwin_close, SKIN_EQ_EX);
-    }
-
     gtk_window_present(GTK_WINDOW(equalizerwin));
 }
 
--- a/src/skins/ui_main.c	Thu Jul 03 17:23:34 2008 +0300
+++ b/src/skins/ui_main.c	Thu Jul 03 17:37:11 2008 +0300
@@ -102,8 +102,8 @@
 static gint seek_state = MAINWIN_SEEK_NIL;
 static gint seek_initial_pos = 0;
 
-static GtkWidget *mainwin_menubtn;
-static GtkWidget *mainwin_minimize, *mainwin_shade, *mainwin_close;
+static GtkWidget *mainwin_menubtn, *mainwin_minimize, *mainwin_shade, *mainwin_close;
+static GtkWidget *mainwin_shaded_menubtn, *mainwin_shaded_minimize, *mainwin_shaded_shade, *mainwin_shaded_close;
 
 static GtkWidget *mainwin_rew, *mainwin_fwd;
 static GtkWidget *mainwin_eject;
@@ -185,6 +185,7 @@
 mainwin_set_shade_menu_cb(gboolean shaded)
 {
     config.player_shaded = shaded;
+    ui_skinned_window_set_shade(mainwin, shaded);
 
     if (shaded) {
         dock_shade(get_dock_window_list(), GTK_WINDOW(mainwin),
@@ -197,7 +198,6 @@
     }
 
     mainwin_refresh_hints();
-    ui_skinned_set_push_button_data(mainwin_shade, 0, config.player_shaded ? 27 : 18, 9, config.player_shaded ? 27 : 18);
     gtk_widget_shape_combine_mask(mainwin, skin_get_mask(aud_active_skin, SKIN_MASK_MAIN + config.player_shaded), 0, 0);
 }
 
@@ -461,16 +461,6 @@
             gtk_widget_hide(mainwin_stime_sec);
         }
     } else {
-        gtk_widget_hide(mainwin_srew);
-        gtk_widget_hide(mainwin_splay);
-        gtk_widget_hide(mainwin_spause);
-        gtk_widget_hide(mainwin_sstop);
-        gtk_widget_hide(mainwin_sfwd);
-        gtk_widget_hide(mainwin_seject);
-        gtk_widget_hide(mainwin_stime_min);
-        gtk_widget_hide(mainwin_stime_sec);
-        gtk_widget_hide(mainwin_svis);
-        gtk_widget_hide(mainwin_sposition);
         ui_vis_clear_data(mainwin_vis);
         if (config.vis_type != VIS_OFF)
             ui_vis_set_visible(mainwin_vis, TRUE);
@@ -486,7 +476,7 @@
 {
     /* positioning and size attributes */
     if (aud_active_skin->properties.mainwin_vis_x && aud_active_skin->properties.mainwin_vis_y)
-        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->fixed), GTK_WIDGET(mainwin_vis), aud_active_skin->properties.mainwin_vis_x,
+        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->normal), GTK_WIDGET(mainwin_vis), aud_active_skin->properties.mainwin_vis_x,
                        aud_active_skin->properties.mainwin_vis_y);
 
     if (aud_active_skin->properties.mainwin_vis_width)
@@ -494,7 +484,7 @@
                                     UI_VIS(mainwin_vis)->height* MAINWIN_SCALE_FACTOR);
 
     if (aud_active_skin->properties.mainwin_text_x && aud_active_skin->properties.mainwin_text_y)
-        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->fixed), GTK_WIDGET(mainwin_info), aud_active_skin->properties.mainwin_text_x,
+        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->normal), GTK_WIDGET(mainwin_info), aud_active_skin->properties.mainwin_text_x,
                        aud_active_skin->properties.mainwin_text_y);
 
     if (aud_active_skin->properties.mainwin_text_width) {
@@ -504,100 +494,100 @@
     }
 
     if (aud_active_skin->properties.mainwin_infobar_x && aud_active_skin->properties.mainwin_infobar_y)
-        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->fixed), GTK_WIDGET(mainwin_othertext), aud_active_skin->properties.mainwin_infobar_x,
+        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->normal), GTK_WIDGET(mainwin_othertext), aud_active_skin->properties.mainwin_infobar_x,
                        aud_active_skin->properties.mainwin_infobar_y);
 
     if (aud_active_skin->properties.mainwin_number_0_x && aud_active_skin->properties.mainwin_number_0_y)
-        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->fixed), GTK_WIDGET(mainwin_minus_num), aud_active_skin->properties.mainwin_number_0_x,
+        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->normal), GTK_WIDGET(mainwin_minus_num), aud_active_skin->properties.mainwin_number_0_x,
                        aud_active_skin->properties.mainwin_number_0_y);
 
     if (aud_active_skin->properties.mainwin_number_1_x && aud_active_skin->properties.mainwin_number_1_y)
-        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->fixed), GTK_WIDGET(mainwin_10min_num), aud_active_skin->properties.mainwin_number_1_x,
+        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->normal), GTK_WIDGET(mainwin_10min_num), aud_active_skin->properties.mainwin_number_1_x,
                        aud_active_skin->properties.mainwin_number_1_y);
 
     if (aud_active_skin->properties.mainwin_number_2_x && aud_active_skin->properties.mainwin_number_2_y)
-        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->fixed), GTK_WIDGET(mainwin_min_num), aud_active_skin->properties.mainwin_number_2_x,
+        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->normal), GTK_WIDGET(mainwin_min_num), aud_active_skin->properties.mainwin_number_2_x,
                        aud_active_skin->properties.mainwin_number_2_y);
 
     if (aud_active_skin->properties.mainwin_number_3_x && aud_active_skin->properties.mainwin_number_3_y)
-        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->fixed), GTK_WIDGET(mainwin_10sec_num), aud_active_skin->properties.mainwin_number_3_x,
+        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->normal), GTK_WIDGET(mainwin_10sec_num), aud_active_skin->properties.mainwin_number_3_x,
                        aud_active_skin->properties.mainwin_number_3_y);
 
     if (aud_active_skin->properties.mainwin_number_4_x && aud_active_skin->properties.mainwin_number_4_y)
-        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->fixed), GTK_WIDGET(mainwin_sec_num), aud_active_skin->properties.mainwin_number_4_x,
+        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->normal), GTK_WIDGET(mainwin_sec_num), aud_active_skin->properties.mainwin_number_4_x,
                        aud_active_skin->properties.mainwin_number_4_y);
 
     if (aud_active_skin->properties.mainwin_playstatus_x && aud_active_skin->properties.mainwin_playstatus_y)
-        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->fixed), mainwin_playstatus, aud_active_skin->properties.mainwin_playstatus_x,
+        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->normal), mainwin_playstatus, aud_active_skin->properties.mainwin_playstatus_x,
                        aud_active_skin->properties.mainwin_playstatus_y);
 
     if (aud_active_skin->properties.mainwin_volume_x && aud_active_skin->properties.mainwin_volume_y)
-        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->fixed), GTK_WIDGET(mainwin_volume), aud_active_skin->properties.mainwin_volume_x,
+        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->normal), GTK_WIDGET(mainwin_volume), aud_active_skin->properties.mainwin_volume_x,
                        aud_active_skin->properties.mainwin_volume_y);
 
     if (aud_active_skin->properties.mainwin_balance_x && aud_active_skin->properties.mainwin_balance_y)
-        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->fixed), GTK_WIDGET(mainwin_balance), aud_active_skin->properties.mainwin_balance_x,
+        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->normal), GTK_WIDGET(mainwin_balance), aud_active_skin->properties.mainwin_balance_x,
                        aud_active_skin->properties.mainwin_balance_y);
 
     if (aud_active_skin->properties.mainwin_position_x && aud_active_skin->properties.mainwin_position_y)
-        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->fixed), GTK_WIDGET(mainwin_position), aud_active_skin->properties.mainwin_position_x,
+        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->normal), GTK_WIDGET(mainwin_position), aud_active_skin->properties.mainwin_position_x,
                        aud_active_skin->properties.mainwin_position_y);
 
     if (aud_active_skin->properties.mainwin_previous_x && aud_active_skin->properties.mainwin_previous_y)
-        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->fixed), mainwin_rew, aud_active_skin->properties.mainwin_previous_x,
+        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->normal), mainwin_rew, aud_active_skin->properties.mainwin_previous_x,
                        aud_active_skin->properties.mainwin_previous_y);
 
     if (aud_active_skin->properties.mainwin_play_x && aud_active_skin->properties.mainwin_play_y)
-        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->fixed), GTK_WIDGET(mainwin_play), aud_active_skin->properties.mainwin_play_x,
+        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->normal), GTK_WIDGET(mainwin_play), aud_active_skin->properties.mainwin_play_x,
                        aud_active_skin->properties.mainwin_play_y);
 
     if (aud_active_skin->properties.mainwin_pause_x && aud_active_skin->properties.mainwin_pause_y)
-        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->fixed), GTK_WIDGET(mainwin_pause), aud_active_skin->properties.mainwin_pause_x,
+        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->normal), GTK_WIDGET(mainwin_pause), aud_active_skin->properties.mainwin_pause_x,
                        aud_active_skin->properties.mainwin_pause_y);
 
     if (aud_active_skin->properties.mainwin_stop_x && aud_active_skin->properties.mainwin_stop_y)
-        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->fixed), GTK_WIDGET(mainwin_stop), aud_active_skin->properties.mainwin_stop_x,
+        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->normal), GTK_WIDGET(mainwin_stop), aud_active_skin->properties.mainwin_stop_x,
                        aud_active_skin->properties.mainwin_stop_y);
 
     if (aud_active_skin->properties.mainwin_next_x && aud_active_skin->properties.mainwin_next_y)
-        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->fixed), GTK_WIDGET(mainwin_fwd), aud_active_skin->properties.mainwin_next_x,
+        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->normal), GTK_WIDGET(mainwin_fwd), aud_active_skin->properties.mainwin_next_x,
                        aud_active_skin->properties.mainwin_next_y);
 
     if (aud_active_skin->properties.mainwin_eject_x && aud_active_skin->properties.mainwin_eject_y)
-        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->fixed), GTK_WIDGET(mainwin_eject), aud_active_skin->properties.mainwin_eject_x,
+        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->normal), GTK_WIDGET(mainwin_eject), aud_active_skin->properties.mainwin_eject_x,
                        aud_active_skin->properties.mainwin_eject_y);
 
     if (aud_active_skin->properties.mainwin_eqbutton_x && aud_active_skin->properties.mainwin_eqbutton_y)
-        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->fixed), GTK_WIDGET(mainwin_eq), aud_active_skin->properties.mainwin_eqbutton_x,
+        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->normal), GTK_WIDGET(mainwin_eq), aud_active_skin->properties.mainwin_eqbutton_x,
                        aud_active_skin->properties.mainwin_eqbutton_y);
 
     if (aud_active_skin->properties.mainwin_plbutton_x && aud_active_skin->properties.mainwin_plbutton_y)
-        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->fixed), GTK_WIDGET(mainwin_pl), aud_active_skin->properties.mainwin_plbutton_x,
+        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->normal), GTK_WIDGET(mainwin_pl), aud_active_skin->properties.mainwin_plbutton_x,
                        aud_active_skin->properties.mainwin_plbutton_y);
 
     if (aud_active_skin->properties.mainwin_shuffle_x && aud_active_skin->properties.mainwin_shuffle_y)
-        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->fixed), GTK_WIDGET(mainwin_shuffle), aud_active_skin->properties.mainwin_shuffle_x,
+        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->normal), GTK_WIDGET(mainwin_shuffle), aud_active_skin->properties.mainwin_shuffle_x,
                        aud_active_skin->properties.mainwin_shuffle_y);
 
     if (aud_active_skin->properties.mainwin_repeat_x && aud_active_skin->properties.mainwin_repeat_y)
-        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->fixed), GTK_WIDGET(mainwin_repeat), aud_active_skin->properties.mainwin_repeat_x,
+        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->normal), GTK_WIDGET(mainwin_repeat), aud_active_skin->properties.mainwin_repeat_x,
                        aud_active_skin->properties.mainwin_repeat_y);
 
     if (aud_active_skin->properties.mainwin_about_x && aud_active_skin->properties.mainwin_about_y)
-        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->fixed), GTK_WIDGET(mainwin_about), aud_active_skin->properties.mainwin_about_x,
+        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->normal), GTK_WIDGET(mainwin_about), aud_active_skin->properties.mainwin_about_x,
                        aud_active_skin->properties.mainwin_about_y);
 
     if (aud_active_skin->properties.mainwin_minimize_x && aud_active_skin->properties.mainwin_minimize_y)
-        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->fixed), GTK_WIDGET(mainwin_minimize), config.player_shaded ? 244 : aud_active_skin->properties.mainwin_minimize_x,
+        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->normal), GTK_WIDGET(mainwin_minimize), config.player_shaded ? 244 : aud_active_skin->properties.mainwin_minimize_x,
                        config.player_shaded ? 3 : aud_active_skin->properties.mainwin_minimize_y);
 
     if (aud_active_skin->properties.mainwin_shade_x && aud_active_skin->properties.mainwin_shade_y)
-        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->fixed), GTK_WIDGET(mainwin_shade), config.player_shaded ? 254 : aud_active_skin->properties.mainwin_shade_x,
-                       config.player_shaded ? 3 : aud_active_skin->properties.mainwin_shade_y);
+        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->normal), GTK_WIDGET(mainwin_shade), aud_active_skin->properties.mainwin_shade_x,
+                       aud_active_skin->properties.mainwin_shade_y);
 
     if (aud_active_skin->properties.mainwin_close_x && aud_active_skin->properties.mainwin_close_y)
-        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->fixed), GTK_WIDGET(mainwin_close), config.player_shaded ? 264 : aud_active_skin->properties.mainwin_close_x,
-                       config.player_shaded ? 3 : aud_active_skin->properties.mainwin_close_y);
+        gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->normal), GTK_WIDGET(mainwin_close), aud_active_skin->properties.mainwin_close_x,
+                       aud_active_skin->properties.mainwin_close_y);
 
     mainwin_refresh_visible();
 
@@ -714,18 +704,6 @@
     gtk_widget_hide(mainwin_sposition);
 }
 
-static gboolean
-mainwin_mouse_button_release(GtkWidget * widget,
-                             GdkEventButton * event,
-                             gpointer callback_data)
-{
-    if (dock_is_moving(GTK_WINDOW(mainwin))) {
-        dock_move_release(GTK_WINDOW(mainwin));
-    }
-
-    return FALSE;
-}
-
 void
 mainwin_scrolled(GtkWidget *widget, GdkEventScroll *event,
                  gpointer callback_data)
@@ -1482,7 +1460,7 @@
 void
 mainwin_spos_release_cb(GtkWidget *widget, gint pos)
 {
-    audacious_drct_seek(((aud_playlist_get_current_length(aud_playlist_get_active()) / 1000) *
+    audacious_drct_seek(((aud_playlist_get_current_length(aud_playlist_get_active())) *
                    (pos - 1)) / 12);
 }
 
@@ -1728,7 +1706,7 @@
                        aud_active_skin->properties.mainwin_width * config.scale_factor , aud_active_skin->properties.mainwin_height * config.scale_factor);
 
     GList *iter;
-    for (iter = GTK_FIXED (SKINNED_WINDOW(mainwin)->fixed)->children; iter; iter = g_list_next (iter)) {
+    for (iter = GTK_FIXED (SKINNED_WINDOW(mainwin)->normal)->children; iter; iter = g_list_next (iter)) {
         GtkFixedChild *child_data = (GtkFixedChild *) iter->data;
         GtkWidget *child = child_data->widget;
         g_signal_emit_by_name(child, "toggle-scaled");
@@ -2215,176 +2193,198 @@
 mainwin_create_widgets(void)
 {
     mainwin_menubtn = ui_skinned_button_new();
-    ui_skinned_push_button_setup(mainwin_menubtn, SKINNED_WINDOW(mainwin)->fixed,
+    ui_skinned_push_button_setup(mainwin_menubtn, SKINNED_WINDOW(mainwin)->normal,
                                  6, 3, 9, 9, 0, 0, 0, 9, SKIN_TITLEBAR);
     g_signal_connect(mainwin_menubtn, "clicked", mainwin_menubtn_cb, NULL );
 
     mainwin_minimize = ui_skinned_button_new();
-    ui_skinned_push_button_setup(mainwin_minimize, SKINNED_WINDOW(mainwin)->fixed,
+    ui_skinned_push_button_setup(mainwin_minimize, SKINNED_WINDOW(mainwin)->normal,
                                  244, 3, 9, 9, 9, 0, 9, 9, SKIN_TITLEBAR);
     g_signal_connect(mainwin_minimize, "clicked", mainwin_minimize_cb, NULL );
 
     mainwin_shade = ui_skinned_button_new();
-    ui_skinned_push_button_setup(mainwin_shade, SKINNED_WINDOW(mainwin)->fixed,
-                                 254, 3, 9, 9, 0,
-                                 config.player_shaded ? 27 : 18, 9, config.player_shaded ? 27 : 18, SKIN_TITLEBAR);
+    ui_skinned_push_button_setup(mainwin_shade, SKINNED_WINDOW(mainwin)->normal,
+                                 254, 3, 9, 9, 0, 18, 9, 18, SKIN_TITLEBAR);
     g_signal_connect(mainwin_shade, "clicked", mainwin_shade_toggle, NULL );
 
     mainwin_close = ui_skinned_button_new();
-    ui_skinned_push_button_setup(mainwin_close, SKINNED_WINDOW(mainwin)->fixed,
+    ui_skinned_push_button_setup(mainwin_close, SKINNED_WINDOW(mainwin)->normal,
                                  264, 3, 9, 9, 18, 0, 18, 9, SKIN_TITLEBAR);
     g_signal_connect(mainwin_close, "clicked", mainwin_quit_cb, NULL );
 
     mainwin_rew = ui_skinned_button_new();
-    ui_skinned_push_button_setup(mainwin_rew, SKINNED_WINDOW(mainwin)->fixed,
+    ui_skinned_push_button_setup(mainwin_rew, SKINNED_WINDOW(mainwin)->normal,
                                  16, 88, 23, 18, 0, 0, 0, 18, SKIN_CBUTTONS);
     g_signal_connect(mainwin_rew, "pressed", mainwin_rev_pushed, NULL);
     g_signal_connect(mainwin_rew, "released", mainwin_rev_release, NULL);
 
     mainwin_fwd = ui_skinned_button_new();
-    ui_skinned_push_button_setup(mainwin_fwd, SKINNED_WINDOW(mainwin)->fixed,
+    ui_skinned_push_button_setup(mainwin_fwd, SKINNED_WINDOW(mainwin)->normal,
                                  108, 88, 22, 18, 92, 0, 92, 18, SKIN_CBUTTONS);
     g_signal_connect(mainwin_fwd, "pressed", mainwin_fwd_pushed, NULL);
     g_signal_connect(mainwin_fwd, "released", mainwin_fwd_release, NULL);
 
     mainwin_play = ui_skinned_button_new();
-    ui_skinned_push_button_setup(mainwin_play, SKINNED_WINDOW(mainwin)->fixed,
+    ui_skinned_push_button_setup(mainwin_play, SKINNED_WINDOW(mainwin)->normal,
                                  39, 88, 23, 18, 23, 0, 23, 18, SKIN_CBUTTONS);
     g_signal_connect(mainwin_play, "clicked", mainwin_play_pushed, NULL );
 
     mainwin_pause = ui_skinned_button_new();
-    ui_skinned_push_button_setup(mainwin_pause, SKINNED_WINDOW(mainwin)->fixed,
+    ui_skinned_push_button_setup(mainwin_pause, SKINNED_WINDOW(mainwin)->normal,
                                  62, 88, 23, 18, 46, 0, 46, 18, SKIN_CBUTTONS);
     g_signal_connect(mainwin_pause, "clicked", audacious_drct_pause, NULL );
 
     mainwin_stop = ui_skinned_button_new();
-    ui_skinned_push_button_setup(mainwin_stop, SKINNED_WINDOW(mainwin)->fixed,
+    ui_skinned_push_button_setup(mainwin_stop, SKINNED_WINDOW(mainwin)->normal,
                                  85, 88, 23, 18, 69, 0, 69, 18, SKIN_CBUTTONS);
     g_signal_connect(mainwin_stop, "clicked", mainwin_stop_pushed, NULL );
 
     mainwin_eject = ui_skinned_button_new();
-    ui_skinned_push_button_setup(mainwin_eject, SKINNED_WINDOW(mainwin)->fixed,
+    ui_skinned_push_button_setup(mainwin_eject, SKINNED_WINDOW(mainwin)->normal,
                                  136, 89, 22, 16, 114, 0, 114, 16, SKIN_CBUTTONS);
     g_signal_connect(mainwin_eject, "clicked", mainwin_eject_pushed, NULL);
 
-    mainwin_srew = ui_skinned_button_new();
-    ui_skinned_small_button_setup(mainwin_srew, SKINNED_WINDOW(mainwin)->fixed, 169, 4, 8, 7);
-    g_signal_connect(mainwin_srew, "clicked", mainwin_aud_playlist_prev, NULL);
-
-    mainwin_splay = ui_skinned_button_new();
-    ui_skinned_small_button_setup(mainwin_splay, SKINNED_WINDOW(mainwin)->fixed, 177, 4, 10, 7);
-    g_signal_connect(mainwin_splay, "clicked", mainwin_play_pushed, NULL);
-
-    mainwin_spause = ui_skinned_button_new();
-    ui_skinned_small_button_setup(mainwin_spause, SKINNED_WINDOW(mainwin)->fixed, 187, 4, 10, 7);
-    g_signal_connect(mainwin_spause, "clicked", audacious_drct_pause, NULL);
-
-    mainwin_sstop = ui_skinned_button_new();
-    ui_skinned_small_button_setup(mainwin_sstop, SKINNED_WINDOW(mainwin)->fixed, 197, 4, 9, 7);
-    g_signal_connect(mainwin_sstop, "clicked", mainwin_stop_pushed, NULL);
-
-    mainwin_sfwd = ui_skinned_button_new();
-    ui_skinned_small_button_setup(mainwin_sfwd, SKINNED_WINDOW(mainwin)->fixed, 206, 4, 8, 7);
-    g_signal_connect(mainwin_sfwd, "clicked", mainwin_aud_playlist_next, NULL);
-
-    mainwin_seject = ui_skinned_button_new();
-    ui_skinned_small_button_setup(mainwin_seject, SKINNED_WINDOW(mainwin)->fixed, 216, 4, 9, 7);
-    g_signal_connect(mainwin_seject, "clicked", mainwin_eject_pushed, NULL);
-
     mainwin_shuffle = ui_skinned_button_new();
-    ui_skinned_toggle_button_setup(mainwin_shuffle, SKINNED_WINDOW(mainwin)->fixed,
+    ui_skinned_toggle_button_setup(mainwin_shuffle, SKINNED_WINDOW(mainwin)->normal,
                                    164, 89, 46, 15, 28, 0, 28, 15, 28, 30, 28, 45, SKIN_SHUFREP);
     g_signal_connect(mainwin_shuffle, "clicked", mainwin_shuffle_pushed_cb, NULL);
 
     mainwin_repeat = ui_skinned_button_new();
-    ui_skinned_toggle_button_setup(mainwin_repeat, SKINNED_WINDOW(mainwin)->fixed,
+    ui_skinned_toggle_button_setup(mainwin_repeat, SKINNED_WINDOW(mainwin)->normal,
                                    210, 89, 28, 15, 0, 0, 0, 15, 0, 30, 0, 45, SKIN_SHUFREP);
     g_signal_connect(mainwin_repeat, "clicked", mainwin_repeat_pushed_cb, NULL);
 
     mainwin_eq = ui_skinned_button_new();
-    ui_skinned_toggle_button_setup(mainwin_eq, SKINNED_WINDOW(mainwin)->fixed,
+    ui_skinned_toggle_button_setup(mainwin_eq, SKINNED_WINDOW(mainwin)->normal,
                                    219, 58, 23, 12, 0, 61, 46, 61, 0, 73, 46, 73, SKIN_SHUFREP);
     g_signal_connect(mainwin_eq, "clicked", mainwin_equalizer_pushed_cb, NULL);
     ui_skinned_button_set_inside(mainwin_eq, config.equalizer_visible);
 
     mainwin_pl = ui_skinned_button_new();
-    ui_skinned_toggle_button_setup(mainwin_pl, SKINNED_WINDOW(mainwin)->fixed,
+    ui_skinned_toggle_button_setup(mainwin_pl, SKINNED_WINDOW(mainwin)->normal,
                                    242, 58, 23, 12, 23, 61, 69, 61, 23, 73, 69, 73, SKIN_SHUFREP);
     g_signal_connect(mainwin_pl, "clicked", mainwin_playlist_pushed_cb, NULL);
     ui_skinned_button_set_inside(mainwin_pl, config.playlist_visible);
 
-    mainwin_info = ui_skinned_textbox_new(SKINNED_WINDOW(mainwin)->fixed, 112, 27, 153, 1, SKIN_TEXT);
+    mainwin_info = ui_skinned_textbox_new(SKINNED_WINDOW(mainwin)->normal, 112, 27, 153, 1, SKIN_TEXT);
     ui_skinned_textbox_set_scroll(mainwin_info, config.autoscroll);
     ui_skinned_textbox_set_xfont(mainwin_info, !config.mainwin_use_bitmapfont, config.mainwin_font);
     g_signal_connect(mainwin_info, "double-clicked", mainwin_info_double_clicked_cb, NULL);
     g_signal_connect(mainwin_info, "right-clicked", G_CALLBACK(mainwin_info_right_clicked_cb), NULL);
 
-    mainwin_othertext = ui_skinned_textbox_new(SKINNED_WINDOW(mainwin)->fixed, 112, 43, 153, 1, SKIN_TEXT);
-
-    mainwin_rate_text = ui_skinned_textbox_new(SKINNED_WINDOW(mainwin)->fixed, 111, 43, 15, 0, SKIN_TEXT);
-
-    mainwin_freq_text = ui_skinned_textbox_new(SKINNED_WINDOW(mainwin)->fixed, 156, 43, 10, 0, SKIN_TEXT);
-
-    mainwin_menurow = ui_skinned_menurow_new(SKINNED_WINDOW(mainwin)->fixed, 10, 22, 304, 0, 304, 44,  SKIN_TITLEBAR);
+    mainwin_othertext = ui_skinned_textbox_new(SKINNED_WINDOW(mainwin)->normal, 112, 43, 153, 1, SKIN_TEXT);
+
+    mainwin_rate_text = ui_skinned_textbox_new(SKINNED_WINDOW(mainwin)->normal, 111, 43, 15, 0, SKIN_TEXT);
+
+    mainwin_freq_text = ui_skinned_textbox_new(SKINNED_WINDOW(mainwin)->normal, 156, 43, 10, 0, SKIN_TEXT);
+
+    mainwin_menurow = ui_skinned_menurow_new(SKINNED_WINDOW(mainwin)->normal, 10, 22, 304, 0, 304, 44,  SKIN_TITLEBAR);
     g_signal_connect(mainwin_menurow, "change", G_CALLBACK(mainwin_mr_change), NULL);
     g_signal_connect(mainwin_menurow, "release", G_CALLBACK(mainwin_mr_release), NULL);
 
-    mainwin_volume = ui_skinned_horizontal_slider_new(SKINNED_WINDOW(mainwin)->fixed, 107, 57, 68,
+    mainwin_volume = ui_skinned_horizontal_slider_new(SKINNED_WINDOW(mainwin)->normal, 107, 57, 68,
                                                       13, 15, 422, 0, 422, 14, 11, 15, 0, 0, 51,
                                                       mainwin_volume_frame_cb, SKIN_VOLUME);
     g_signal_connect(mainwin_volume, "motion", G_CALLBACK(mainwin_volume_motion_cb), NULL);
     g_signal_connect(mainwin_volume, "release", G_CALLBACK(mainwin_volume_release_cb), NULL);
 
-    mainwin_balance = ui_skinned_horizontal_slider_new(SKINNED_WINDOW(mainwin)->fixed, 177, 57, 38,
+    mainwin_balance = ui_skinned_horizontal_slider_new(SKINNED_WINDOW(mainwin)->normal, 177, 57, 38,
                                                        13, 15, 422, 0, 422, 14, 11, 15, 9, 0, 24,
                                                        mainwin_balance_frame_cb, SKIN_BALANCE);
     g_signal_connect(mainwin_balance, "motion", G_CALLBACK(mainwin_balance_motion_cb), NULL);
     g_signal_connect(mainwin_balance, "release", G_CALLBACK(mainwin_balance_release_cb), NULL);
 
-    mainwin_monostereo = ui_skinned_monostereo_new(SKINNED_WINDOW(mainwin)->fixed, 212, 41, SKIN_MONOSTEREO);
-
-    mainwin_playstatus = ui_skinned_playstatus_new(SKINNED_WINDOW(mainwin)->fixed, 24, 28);
-
-    mainwin_minus_num = ui_skinned_number_new(SKINNED_WINDOW(mainwin)->fixed, 36, 26, SKIN_NUMBERS);
+    mainwin_monostereo = ui_skinned_monostereo_new(SKINNED_WINDOW(mainwin)->normal, 212, 41, SKIN_MONOSTEREO);
+
+    mainwin_playstatus = ui_skinned_playstatus_new(SKINNED_WINDOW(mainwin)->normal, 24, 28);
+
+    mainwin_minus_num = ui_skinned_number_new(SKINNED_WINDOW(mainwin)->normal, 36, 26, SKIN_NUMBERS);
     g_signal_connect(mainwin_minus_num, "button-press-event", G_CALLBACK(change_timer_mode_cb), NULL);
 
-    mainwin_10min_num = ui_skinned_number_new(SKINNED_WINDOW(mainwin)->fixed, 48, 26, SKIN_NUMBERS);
+    mainwin_10min_num = ui_skinned_number_new(SKINNED_WINDOW(mainwin)->normal, 48, 26, SKIN_NUMBERS);
     g_signal_connect(mainwin_10min_num, "button-press-event", G_CALLBACK(change_timer_mode_cb), NULL);
 
-    mainwin_min_num = ui_skinned_number_new(SKINNED_WINDOW(mainwin)->fixed, 60, 26, SKIN_NUMBERS);
+    mainwin_min_num = ui_skinned_number_new(SKINNED_WINDOW(mainwin)->normal, 60, 26, SKIN_NUMBERS);
     g_signal_connect(mainwin_min_num, "button-press-event", G_CALLBACK(change_timer_mode_cb), NULL);
 
-    mainwin_10sec_num = ui_skinned_number_new(SKINNED_WINDOW(mainwin)->fixed, 78, 26, SKIN_NUMBERS);
+    mainwin_10sec_num = ui_skinned_number_new(SKINNED_WINDOW(mainwin)->normal, 78, 26, SKIN_NUMBERS);
     g_signal_connect(mainwin_10sec_num, "button-press-event", G_CALLBACK(change_timer_mode_cb), NULL);
 
-    mainwin_sec_num = ui_skinned_number_new(SKINNED_WINDOW(mainwin)->fixed, 90, 26, SKIN_NUMBERS);
+    mainwin_sec_num = ui_skinned_number_new(SKINNED_WINDOW(mainwin)->normal, 90, 26, SKIN_NUMBERS);
     g_signal_connect(mainwin_sec_num, "button-press-event", G_CALLBACK(change_timer_mode_cb), NULL);
 
     mainwin_about = ui_skinned_button_new();
-    ui_skinned_small_button_setup(mainwin_about, SKINNED_WINDOW(mainwin)->fixed, 247, 83, 20, 25);
+    ui_skinned_small_button_setup(mainwin_about, SKINNED_WINDOW(mainwin)->normal, 247, 83, 20, 25);
     g_signal_connect(mainwin_about, "clicked", G_CALLBACK(action_about_audacious), NULL);
 
-    mainwin_vis = ui_vis_new(SKINNED_WINDOW(mainwin)->fixed, 24, 43, 76);
+    mainwin_vis = ui_vis_new(SKINNED_WINDOW(mainwin)->normal, 24, 43, 76);
     g_signal_connect(mainwin_vis, "button-press-event", G_CALLBACK(mainwin_vis_cb), NULL);
-    mainwin_svis = ui_svis_new(SKINNED_WINDOW(mainwin)->fixed, 79, 5);
-    g_signal_connect(mainwin_svis, "button-press-event", G_CALLBACK(mainwin_vis_cb), NULL);
-
-    mainwin_position = ui_skinned_horizontal_slider_new(SKINNED_WINDOW(mainwin)->fixed, 16, 72, 248,
+
+    mainwin_position = ui_skinned_horizontal_slider_new(SKINNED_WINDOW(mainwin)->normal, 16, 72, 248,
                                                         10, 248, 0, 278, 0, 29, 10, 10, 0, 0, 219,
                                                         NULL, SKIN_POSBAR);
     g_signal_connect(mainwin_position, "motion", G_CALLBACK(mainwin_position_motion_cb), NULL);
     g_signal_connect(mainwin_position, "release", G_CALLBACK(mainwin_position_release_cb), NULL);
 
-    mainwin_sposition = ui_skinned_horizontal_slider_new(SKINNED_WINDOW(mainwin)->fixed, 226, 4, 17,
+    /* shaded */
+
+    mainwin_shaded_menubtn = ui_skinned_button_new();
+    ui_skinned_push_button_setup(mainwin_shaded_menubtn, SKINNED_WINDOW(mainwin)->shaded,
+                                 6, 3, 9, 9, 0, 0, 0, 9, SKIN_TITLEBAR);
+    g_signal_connect(mainwin_shaded_menubtn, "clicked", mainwin_menubtn_cb, NULL );
+
+    mainwin_shaded_minimize = ui_skinned_button_new();
+    ui_skinned_push_button_setup(mainwin_shaded_minimize, SKINNED_WINDOW(mainwin)->shaded,
+                                 244, 3, 9, 9, 9, 0, 9, 9, SKIN_TITLEBAR);
+    g_signal_connect(mainwin_shaded_minimize, "clicked", mainwin_minimize_cb, NULL );
+
+    mainwin_shaded_shade = ui_skinned_button_new();
+    ui_skinned_push_button_setup(mainwin_shaded_shade, SKINNED_WINDOW(mainwin)->shaded,
+                                 254, 3, 9, 9, 0, 27, 9, 27, SKIN_TITLEBAR);
+    g_signal_connect(mainwin_shaded_shade, "clicked", mainwin_shade_toggle, NULL );
+
+    mainwin_shaded_close = ui_skinned_button_new();
+    ui_skinned_push_button_setup(mainwin_shaded_close, SKINNED_WINDOW(mainwin)->shaded,
+                                 264, 3, 9, 9, 18, 0, 18, 9, SKIN_TITLEBAR);
+    g_signal_connect(mainwin_shaded_close, "clicked", mainwin_quit_cb, NULL );
+
+    mainwin_srew = ui_skinned_button_new();
+    ui_skinned_small_button_setup(mainwin_srew, SKINNED_WINDOW(mainwin)->shaded, 169, 4, 8, 7);
+    g_signal_connect(mainwin_srew, "clicked", mainwin_aud_playlist_prev, NULL);
+
+    mainwin_splay = ui_skinned_button_new();
+    ui_skinned_small_button_setup(mainwin_splay, SKINNED_WINDOW(mainwin)->shaded, 177, 4, 10, 7);
+    g_signal_connect(mainwin_splay, "clicked", mainwin_play_pushed, NULL);
+
+    mainwin_spause = ui_skinned_button_new();
+    ui_skinned_small_button_setup(mainwin_spause, SKINNED_WINDOW(mainwin)->shaded, 187, 4, 10, 7);
+    g_signal_connect(mainwin_spause, "clicked", audacious_drct_pause, NULL);
+
+    mainwin_sstop = ui_skinned_button_new();
+    ui_skinned_small_button_setup(mainwin_sstop, SKINNED_WINDOW(mainwin)->shaded, 197, 4, 9, 7);
+    g_signal_connect(mainwin_sstop, "clicked", mainwin_stop_pushed, NULL);
+
+    mainwin_sfwd = ui_skinned_button_new();
+    ui_skinned_small_button_setup(mainwin_sfwd, SKINNED_WINDOW(mainwin)->shaded, 206, 4, 8, 7);
+    g_signal_connect(mainwin_sfwd, "clicked", mainwin_aud_playlist_next, NULL);
+
+    mainwin_seject = ui_skinned_button_new();
+    ui_skinned_small_button_setup(mainwin_seject, SKINNED_WINDOW(mainwin)->shaded, 216, 4, 9, 7);
+    g_signal_connect(mainwin_seject, "clicked", mainwin_eject_pushed, NULL);
+
+    mainwin_svis = ui_svis_new(SKINNED_WINDOW(mainwin)->shaded, 79, 5);
+    g_signal_connect(mainwin_svis, "button-press-event", G_CALLBACK(mainwin_vis_cb), NULL);
+
+    mainwin_sposition = ui_skinned_horizontal_slider_new(SKINNED_WINDOW(mainwin)->shaded, 226, 4, 17,
                                                          7, 17, 36, 17, 36, 3, 7, 36, 0, 1, 13,
                                                          mainwin_spos_frame_cb, SKIN_TITLEBAR);
     g_signal_connect(mainwin_sposition, "motion", G_CALLBACK(mainwin_spos_motion_cb), NULL);
     g_signal_connect(mainwin_sposition, "release", G_CALLBACK(mainwin_spos_release_cb), NULL);
 
-    mainwin_stime_min = ui_skinned_textbox_new(SKINNED_WINDOW(mainwin)->fixed, 130, 4, 15, FALSE, SKIN_TEXT);
+    mainwin_stime_min = ui_skinned_textbox_new(SKINNED_WINDOW(mainwin)->shaded, 130, 4, 15, FALSE, SKIN_TEXT);
     g_signal_connect(mainwin_stime_min, "button-press-event", G_CALLBACK(change_timer_mode_cb), NULL);
 
-    mainwin_stime_sec = ui_skinned_textbox_new(SKINNED_WINDOW(mainwin)->fixed, 147, 4, 10, FALSE, SKIN_TEXT);
+    mainwin_stime_sec = ui_skinned_textbox_new(SKINNED_WINDOW(mainwin)->shaded, 147, 4, 10, FALSE, SKIN_TEXT);
     g_signal_connect(mainwin_stime_sec, "button-press-event", G_CALLBACK(change_timer_mode_cb), NULL);
 }
 
@@ -2416,8 +2416,6 @@
                      G_CALLBACK(mainwin_mouse_button_press), NULL);
     g_signal_connect(mainwin, "scroll_event",
                      G_CALLBACK(mainwin_scrolled), NULL);
-    g_signal_connect(mainwin, "button_release_event",
-                     G_CALLBACK(mainwin_mouse_button_release), NULL);
 
     aud_drag_dest_set(mainwin);
 
--- a/src/skins/ui_playlist.c	Thu Jul 03 17:23:34 2008 +0300
+++ b/src/skins/ui_playlist.c	Thu Jul 03 17:37:11 2008 +0300
@@ -74,6 +74,7 @@
 
 static GtkWidget *playlistwin_list = NULL;
 static GtkWidget *playlistwin_shade, *playlistwin_close;
+static GtkWidget *playlistwin_shaded_shade, *playlistwin_shaded_close;
 
 static gboolean playlistwin_hint_flag = FALSE;
 
@@ -338,19 +339,14 @@
 playlistwin_set_shade(gboolean shaded)
 {
     config.playlist_shaded = shaded;
+    ui_skinned_window_set_shade(playlistwin, shaded);
 
     if (shaded) {
         playlistwin_set_sinfo_font(config.playlist_font);
         playlistwin_set_sinfo_scroll(config.autoscroll);
-        gtk_widget_show(playlistwin_sinfo);
-        ui_skinned_set_push_button_data(playlistwin_shade, 128, 45, 150, 42);
-        ui_skinned_set_push_button_data(playlistwin_close, 138, 45, -1, -1);
     }
     else {
-        gtk_widget_hide(playlistwin_sinfo);
         playlistwin_set_sinfo_scroll(FALSE);
-        ui_skinned_set_push_button_data(playlistwin_shade, 157, 3, 62, 42);
-        ui_skinned_set_push_button_data(playlistwin_close, 167, 3, -1, -1);
     }
 
     dock_shade(get_dock_window_list(), GTK_WINDOW(playlistwin),
@@ -644,6 +640,8 @@
 
     ui_skinned_button_move_relative(playlistwin_shade, dx, 0);
     ui_skinned_button_move_relative(playlistwin_close, dx, 0);
+    ui_skinned_button_move_relative(playlistwin_shaded_shade, dx, 0);
+    ui_skinned_button_move_relative(playlistwin_shaded_close, dx, 0);
     ui_skinned_textbox_move_relative(playlistwin_time_min, dx, dy);
     ui_skinned_textbox_move_relative(playlistwin_time_sec, dx, dy);
     ui_skinned_textbox_move_relative(playlistwin_info, dx, dy);
@@ -1366,57 +1364,58 @@
     /* This function creates the custom widgets used by the playlist editor */
 
     /* text box for displaying song title in shaded mode */
-    playlistwin_sinfo = ui_skinned_textbox_new(SKINNED_WINDOW(playlistwin)->fixed,
+    playlistwin_sinfo = ui_skinned_textbox_new(SKINNED_WINDOW(playlistwin)->shaded,
                                                4, 4, playlistwin_get_width() - 35, TRUE, SKIN_TEXT);
 
     playlistwin_set_sinfo_font(config.playlist_font);
 
+
+    playlistwin_shaded_shade = ui_skinned_button_new();
+    ui_skinned_push_button_setup(playlistwin_shaded_shade, SKINNED_WINDOW(playlistwin)->shaded,
+                                 playlistwin_get_width() - 21, 3,
+                                 9, 9, 128, 45, 150, 42, SKIN_PLEDIT);
+    g_signal_connect(playlistwin_shaded_shade, "clicked", playlistwin_shade_toggle, NULL );
+
+    playlistwin_shaded_close = ui_skinned_button_new();
+    ui_skinned_push_button_setup(playlistwin_shaded_close, SKINNED_WINDOW(playlistwin)->shaded,
+                                 playlistwin_get_width() - 11, 3, 9, 9, 138, 45, 52, 42, SKIN_PLEDIT);
+    g_signal_connect(playlistwin_shaded_close, "clicked", playlistwin_hide, NULL );
+
     playlistwin_shade = ui_skinned_button_new();
-    /* shade/unshade window push button */
-    if (config.playlist_shaded)
-        ui_skinned_push_button_setup(playlistwin_shade, SKINNED_WINDOW(playlistwin)->fixed,
-                                     playlistwin_get_width() - 21, 3,
-                                     9, 9, 128, 45, 150, 42, SKIN_PLEDIT);
-    else
-        ui_skinned_push_button_setup(playlistwin_shade, SKINNED_WINDOW(playlistwin)->fixed,
-                                     playlistwin_get_width() - 21, 3,
-                                     9, 9, 157, 3, 62, 42, SKIN_PLEDIT);
-
+    ui_skinned_push_button_setup(playlistwin_shade, SKINNED_WINDOW(playlistwin)->normal,
+                                 playlistwin_get_width() - 21, 3,
+                                 9, 9, 157, 3, 62, 42, SKIN_PLEDIT);
     g_signal_connect(playlistwin_shade, "clicked", playlistwin_shade_toggle, NULL );
 
-    /* close window push button */
     playlistwin_close = ui_skinned_button_new();
-    ui_skinned_push_button_setup(playlistwin_close, SKINNED_WINDOW(playlistwin)->fixed,
-                                 playlistwin_get_width() - 11, 3, 9, 9,
-                                 config.playlist_shaded ? 138 : 167,
-                                 config.playlist_shaded ? 45 : 3, 52, 42, SKIN_PLEDIT);
-
+    ui_skinned_push_button_setup(playlistwin_close, SKINNED_WINDOW(playlistwin)->normal,
+                                 playlistwin_get_width() - 11, 3, 9, 9, 167, 3, 52, 42, SKIN_PLEDIT);
     g_signal_connect(playlistwin_close, "clicked", playlistwin_hide, NULL );
 
     /* playlist list box */
-    playlistwin_list = ui_skinned_playlist_new(SKINNED_WINDOW(playlistwin)->fixed, 12, 20,
+    playlistwin_list = ui_skinned_playlist_new(SKINNED_WINDOW(playlistwin)->normal, 12, 20,
                              playlistwin_get_width() - 31,
                              config.playlist_height - 58);
     ui_skinned_playlist_set_font(config.playlist_font);
 
     /* playlist list box slider */
-    playlistwin_slider = ui_skinned_playlist_slider_new(SKINNED_WINDOW(playlistwin)->fixed, playlistwin_get_width() - 15,
+    playlistwin_slider = ui_skinned_playlist_slider_new(SKINNED_WINDOW(playlistwin)->normal, playlistwin_get_width() - 15,
                               20, config.playlist_height - 58);
 
     /* track time (minute) */
-    playlistwin_time_min = ui_skinned_textbox_new(SKINNED_WINDOW(playlistwin)->fixed,
+    playlistwin_time_min = ui_skinned_textbox_new(SKINNED_WINDOW(playlistwin)->normal,
                        playlistwin_get_width() - 82,
                        config.playlist_height - 15, 15, FALSE, SKIN_TEXT);
     g_signal_connect(playlistwin_time_min, "button-press-event", G_CALLBACK(change_timer_mode_cb), NULL);
 
     /* track time (second) */
-    playlistwin_time_sec = ui_skinned_textbox_new(SKINNED_WINDOW(playlistwin)->fixed,
+    playlistwin_time_sec = ui_skinned_textbox_new(SKINNED_WINDOW(playlistwin)->normal,
                        playlistwin_get_width() - 64,
                        config.playlist_height - 15, 10, FALSE, SKIN_TEXT);
     g_signal_connect(playlistwin_time_sec, "button-press-event", G_CALLBACK(change_timer_mode_cb), NULL);
 
     /* playlist information (current track length / total track length) */
-    playlistwin_info = ui_skinned_textbox_new(SKINNED_WINDOW(playlistwin)->fixed,
+    playlistwin_info = ui_skinned_textbox_new(SKINNED_WINDOW(playlistwin)->normal,
                        playlistwin_get_width() - 143,
                        config.playlist_height - 28, 90, FALSE, SKIN_TEXT);
 
@@ -1424,54 +1423,54 @@
 
     /* rewind button */
     playlistwin_srew = ui_skinned_button_new();
-    ui_skinned_small_button_setup(playlistwin_srew, SKINNED_WINDOW(playlistwin)->fixed,
+    ui_skinned_small_button_setup(playlistwin_srew, SKINNED_WINDOW(playlistwin)->normal,
                                   playlistwin_get_width() - 144,
                                   config.playlist_height - 16, 8, 7);
     g_signal_connect(playlistwin_srew, "clicked", local_playlist_prev, NULL);
 
     /* play button */
     playlistwin_splay = ui_skinned_button_new();
-    ui_skinned_small_button_setup(playlistwin_splay, SKINNED_WINDOW(playlistwin)->fixed,
+    ui_skinned_small_button_setup(playlistwin_splay, SKINNED_WINDOW(playlistwin)->normal,
                                   playlistwin_get_width() - 138,
                                   config.playlist_height - 16, 10, 7);
     g_signal_connect(playlistwin_splay, "clicked", mainwin_play_pushed, NULL);
 
     /* pause button */
     playlistwin_spause = ui_skinned_button_new();
-    ui_skinned_small_button_setup(playlistwin_spause, SKINNED_WINDOW(playlistwin)->fixed,
+    ui_skinned_small_button_setup(playlistwin_spause, SKINNED_WINDOW(playlistwin)->normal,
                                   playlistwin_get_width() - 128,
                                   config.playlist_height - 16, 10, 7);
     g_signal_connect(playlistwin_spause, "clicked", audacious_drct_pause, NULL);
 
     /* stop button */
     playlistwin_sstop = ui_skinned_button_new();
-    ui_skinned_small_button_setup(playlistwin_sstop, SKINNED_WINDOW(playlistwin)->fixed,
+    ui_skinned_small_button_setup(playlistwin_sstop, SKINNED_WINDOW(playlistwin)->normal,
                                   playlistwin_get_width() - 118,
                                   config.playlist_height - 16, 9, 7);
     g_signal_connect(playlistwin_sstop, "clicked", mainwin_stop_pushed, NULL);
 
     /* forward button */
     playlistwin_sfwd = ui_skinned_button_new();
-    ui_skinned_small_button_setup(playlistwin_sfwd, SKINNED_WINDOW(playlistwin)->fixed,
+    ui_skinned_small_button_setup(playlistwin_sfwd, SKINNED_WINDOW(playlistwin)->normal,
                                   playlistwin_get_width() - 109,
                                   config.playlist_height - 16, 8, 7);
     g_signal_connect(playlistwin_sfwd, "clicked", local_playlist_next, NULL);
 
     /* eject button */
     playlistwin_seject = ui_skinned_button_new();
-    ui_skinned_small_button_setup(playlistwin_seject, SKINNED_WINDOW(playlistwin)->fixed,
+    ui_skinned_small_button_setup(playlistwin_seject, SKINNED_WINDOW(playlistwin)->normal,
                                   playlistwin_get_width() - 100,
                                   config.playlist_height - 16, 9, 7);
     g_signal_connect(playlistwin_seject, "clicked", mainwin_eject_pushed, NULL);
 
     playlistwin_sscroll_up = ui_skinned_button_new();
-    ui_skinned_small_button_setup(playlistwin_sscroll_up, SKINNED_WINDOW(playlistwin)->fixed,
+    ui_skinned_small_button_setup(playlistwin_sscroll_up, SKINNED_WINDOW(playlistwin)->normal,
                                   playlistwin_get_width() - 14,
                                   config.playlist_height - 35, 8, 5);
     g_signal_connect(playlistwin_sscroll_up, "clicked", playlistwin_scroll_up_pushed, NULL);
 
     playlistwin_sscroll_down = ui_skinned_button_new();
-    ui_skinned_small_button_setup(playlistwin_sscroll_down, SKINNED_WINDOW(playlistwin)->fixed,
+    ui_skinned_small_button_setup(playlistwin_sscroll_down, SKINNED_WINDOW(playlistwin)->normal,
                                   playlistwin_get_width() - 14,
                                   config.playlist_height - 30, 8, 5);
     g_signal_connect(playlistwin_sscroll_down, "clicked", playlistwin_scroll_down_pushed, NULL);
--- a/src/skins/ui_skin.c	Thu Jul 03 17:23:34 2008 +0300
+++ b/src/skins/ui_skin.c	Thu Jul 03 17:37:11 2008 +0300
@@ -1753,9 +1753,9 @@
             x = -1;
             y = -1;
 
-            if (gtk_widget_get_parent(widget) == SKINNED_WINDOW(mainwin)->fixed) {
+            if (gtk_widget_get_parent(widget) == SKINNED_WINDOW(mainwin)->normal) {
                 GList *iter;
-                for (iter = GTK_FIXED (SKINNED_WINDOW(mainwin)->fixed)->children; iter; iter = g_list_next (iter)) {
+                for (iter = GTK_FIXED (SKINNED_WINDOW(mainwin)->normal)->children; iter; iter = g_list_next (iter)) {
                      GtkFixedChild *child_data = (GtkFixedChild *) iter->data;
                      if (child_data->widget == widget) {
                          x = child_data->x;
@@ -1779,10 +1779,10 @@
                     if (pixmap_id == SKIN_MONOSTEREO)
                         height = pixmap->height/2;
                 }
-            } else if (gtk_widget_get_parent(widget) == SKINNED_WINDOW(equalizerwin)->fixed) {
+            } else if (gtk_widget_get_parent(widget) == SKINNED_WINDOW(equalizerwin)->normal) {
                    if (!(pixmap_id == SKIN_EQMAIN && ysrc == 314)) /* equalizer preamp on equalizer graph */
                          gtk_widget_hide(widget);
-            } else if (gtk_widget_get_parent(widget) == SKINNED_WINDOW(playlistwin)->fixed) {
+            } else if (gtk_widget_get_parent(widget) == SKINNED_WINDOW(playlistwin)->normal) {
                    /* I haven't seen any skin with substandard playlist */
                    gtk_widget_hide(widget);
             }
--- a/src/skins/ui_skinned_button.c	Thu Jul 03 17:23:34 2008 +0300
+++ b/src/skins/ui_skinned_button.c	Thu Jul 03 17:37:11 2008 +0300
@@ -398,8 +398,8 @@
 }
 
 static void button_released(UiSkinnedButton *button) {
+    if(button->hover && button->button_down) ui_skinned_button_clicked(button);
     button->button_down = FALSE;
-    if(button->hover) ui_skinned_button_clicked(button);
     ui_skinned_button_update_state(button);
 }
 
@@ -487,25 +487,6 @@
     gtk_widget_queue_draw(widget);
 }
 
-void ui_skinned_set_push_button_data(GtkWidget *button, gint nx, gint ny, gint px, gint py) {
-    UiSkinnedButtonPrivate *priv = UI_SKINNED_BUTTON_GET_PRIVATE(button);
-    if (nx > -1) priv->nx = nx;
-    if (ny > -1) priv->ny = ny;
-    if (px > -1) priv->px = px;
-    if (py > -1) priv->py = py;
-    gtk_widget_queue_draw(button);
-}
-
-void ui_skinned_button_set_skin_index(GtkWidget *button, SkinPixmapId si) {
-    UiSkinnedButtonPrivate *priv = UI_SKINNED_BUTTON_GET_PRIVATE (button);
-    priv->skin_index1 = priv->skin_index2 = si;
-}
-
-void ui_skinned_button_set_skin_index1(GtkWidget *button, SkinPixmapId si) {
-    UiSkinnedButtonPrivate *priv = UI_SKINNED_BUTTON_GET_PRIVATE (button);
-    priv->skin_index1 = si;
-}
-
 void ui_skinned_button_set_skin_index2(GtkWidget *button, SkinPixmapId si) {
     UiSkinnedButtonPrivate *priv = UI_SKINNED_BUTTON_GET_PRIVATE (button);
     priv->skin_index2 = si;
--- a/src/skins/ui_skinned_button.h	Thu Jul 03 17:23:34 2008 +0300
+++ b/src/skins/ui_skinned_button.h	Thu Jul 03 17:37:11 2008 +0300
@@ -62,11 +62,8 @@
 GType ui_skinned_button_get_type(void) G_GNUC_CONST;
 GtkWidget* ui_skinned_button_new();
 void ui_skinned_push_button_setup(GtkWidget *button, GtkWidget *fixed, gint x, gint y, gint w, gint h, gint nx, gint ny, gint px, gint py, SkinPixmapId si);
-void ui_skinned_set_push_button_data(GtkWidget *button, gint nx, gint ny, gint px, gint py);
 void ui_skinned_toggle_button_setup(GtkWidget *button, GtkWidget *fixed, gint x, gint y, gint w, gint h, gint nx, gint ny, gint px, gint py, gint pnx, gint pny, gint ppx, gint ppy, SkinPixmapId si);
 void ui_skinned_small_button_setup(GtkWidget *button, GtkWidget *fixed, gint x, gint y, gint w, gint h);
-void ui_skinned_button_set_skin_index(GtkWidget *button, SkinPixmapId si);
-void ui_skinned_button_set_skin_index1(GtkWidget *button, SkinPixmapId si);
 void ui_skinned_button_set_skin_index2(GtkWidget *button, SkinPixmapId si);
 void ui_skinned_button_move_relative(GtkWidget *button, gint x, gint y);
 void ui_skinned_button_set_inside(GtkWidget *widget, gboolean inside);
--- a/src/skins/ui_skinned_window.c	Thu Jul 03 17:23:34 2008 +0300
+++ b/src/skins/ui_skinned_window.c	Thu Jul 03 17:37:11 2008 +0300
@@ -119,7 +119,7 @@
 }
 
 static gboolean ui_skinned_window_expose(GtkWidget *widget, GdkEventExpose *event) {
-    SkinnedWindow *window = SKINNED_WINDOW(widget);
+    SkinnedWindow *window = SKINNED_WINDOW(gtk_widget_get_parent(widget));
 
     GdkPixbuf *obj = NULL;
 
@@ -142,7 +142,7 @@
     }
     obj = gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, 8, width, height);
 
-    gboolean focus = gtk_window_has_toplevel_focus(GTK_WINDOW(widget));
+    gboolean focus = gtk_window_has_toplevel_focus(GTK_WINDOW(window));
 
     switch (window->type) {
         case WINDOW_MAIN:
@@ -173,7 +173,7 @@
             break;
     }
 
-    ui_skinned_widget_draw(GTK_WIDGET(window), obj, width, height,
+    ui_skinned_widget_draw(widget, obj, width, height,
                            window->type != WINDOW_PLAYLIST && config.scaled);
 
     g_object_unref(obj);
@@ -191,7 +191,6 @@
     parent = gtk_type_class(gtk_window_get_type());
 
     widget_class->motion_notify_event = ui_skinned_window_motion_notify_event;
-    widget_class->expose_event = ui_skinned_window_expose;
     widget_class->focus_in_event = ui_skinned_window_focus_in;
     widget_class->focus_out_event = ui_skinned_window_focus_out;
     widget_class->button_press_event = ui_skinned_window_button_press;
@@ -258,17 +257,26 @@
     if (!strcmp(wmclass_name, "playlist"))
         SKINNED_WINDOW(widget)->type = WINDOW_PLAYLIST;
 
-    /* GtkFixed hasn't got its GdkWindow, this means that it can be used to
-       display widgets while the logo below will be displayed anyway;
-       however fixed positions are not that great, cause the button sizes may (will)
-       vary depending on the gtk style used, so it's not possible to center
-       them unless a fixed width and heigth is forced (and this may bring to cutted
-       text if someone, i.e., uses a big font for gtk widgets);
-       other types of container most likely have their GdkWindow, this simply
-       means that the logo must be drawn on the container widget, instead of the
-       window; otherwise, it won't be displayed correctly */
-    SKINNED_WINDOW(widget)->fixed = gtk_fixed_new();
-    gtk_container_add(GTK_CONTAINER(widget), GTK_WIDGET(SKINNED_WINDOW(widget)->fixed));
+    SKINNED_WINDOW(widget)->normal = gtk_fixed_new();
+    gtk_fixed_set_has_window(GTK_FIXED(SKINNED_WINDOW(widget)->normal), TRUE);
+    gtk_widget_add_events(SKINNED_WINDOW(widget)->normal, GDK_ALL_EVENTS_MASK);
+
+    SKINNED_WINDOW(widget)->shaded = gtk_fixed_new();
+    gtk_fixed_set_has_window(GTK_FIXED(SKINNED_WINDOW(widget)->shaded), TRUE);
+    gtk_widget_add_events(SKINNED_WINDOW(widget)->shaded, GDK_ALL_EVENTS_MASK);
+
+    g_object_ref(SKINNED_WINDOW(widget)->normal);
+    g_object_ref(SKINNED_WINDOW(widget)->shaded);
+
+    gtk_container_add(GTK_CONTAINER(widget), GTK_WIDGET(SKINNED_WINDOW(widget)->normal));
+
+    gtk_widget_realize(widget);
+    gtk_widget_realize(SKINNED_WINDOW(widget)->normal);
+    gtk_widget_realize(SKINNED_WINDOW(widget)->shaded);
+
+    g_signal_connect(SKINNED_WINDOW(widget)->normal, "expose-event", G_CALLBACK(ui_skinned_window_expose), NULL);
+    g_signal_connect(SKINNED_WINDOW(widget)->shaded, "expose-event", G_CALLBACK(ui_skinned_window_expose), NULL);
+
     return widget;
 }
 
@@ -277,10 +285,16 @@
         mainwin_refresh_hints();
 
     gtk_widget_queue_draw(widget);
-    GList *iter;
-    for (iter = GTK_FIXED (SKINNED_WINDOW(widget)->fixed)->children; iter; iter = g_list_next (iter)) {
-         GtkFixedChild *child_data = (GtkFixedChild *) iter->data;
-         GtkWidget *child = child_data->widget;
-         gtk_widget_queue_draw(child);
+}
+
+void ui_skinned_window_set_shade(GtkWidget *widget, gboolean shaded) {
+    if (shaded) {
+        gtk_container_remove(GTK_CONTAINER(widget), SKINNED_WINDOW(widget)->normal);
+        gtk_container_add(GTK_CONTAINER(widget), SKINNED_WINDOW(widget)->shaded);
+        gtk_widget_show_all(SKINNED_WINDOW(widget)->shaded);
+    } else {
+        gtk_container_remove(GTK_CONTAINER(widget), SKINNED_WINDOW(widget)->shaded);
+        gtk_container_add(GTK_CONTAINER(widget), SKINNED_WINDOW(widget)->normal);
+        gtk_widget_show_all(SKINNED_WINDOW(widget)->normal);
     }
 }
--- a/src/skins/ui_skinned_window.h	Thu Jul 03 17:23:34 2008 +0300
+++ b/src/skins/ui_skinned_window.h	Thu Jul 03 17:37:11 2008 +0300
@@ -45,11 +45,10 @@
 {
   GtkWindow window;
 
-  GtkWidget *canvas;
   gint x,y;
-
   gint type;
-  GtkWidget *fixed;
+  GtkWidget *normal;
+  GtkWidget *shaded;
 };
 
 struct _SkinnedWindowClass
@@ -59,6 +58,7 @@
 
 extern GType ui_skinned_window_get_type(void);
 extern GtkWidget *ui_skinned_window_new(const gchar *wmclass_name);
-extern void ui_skinned_window_draw_all(GtkWidget *widget);
+void ui_skinned_window_draw_all(GtkWidget *widget);
+void ui_skinned_window_set_shade(GtkWidget *widget, gboolean shaded);
 
 #endif
--- a/src/streambrowser/Makefile	Thu Jul 03 17:23:34 2008 +0300
+++ b/src/streambrowser/Makefile	Thu Jul 03 17:37:11 2008 +0300
@@ -2,13 +2,20 @@
 
 SRCS = streambrowser.c	\
        streamdir.c \
-       shoutcast.c
+       shoutcast.c \
+       gui/about_win.c \
+       gui/streambrowser_win.c
+
+DATA = images/shoutcast.png
 
 include ../../buildsys.mk
 include ../../extra.mk
 
-plugindir := ${plugindir}/${INPUT_PLUGIN_DIR}
+PACKAGE = audacious
 
-CFLAGS += ${PLUGIN_CFLAGS}
+plugindir := ${plugindir}/${GENERAL_PLUGIN_DIR}
+
+CFLAGS += ${PLUGIN_CFLAGS} ${BEEP_DEFINES}
 CPPFLAGS += ${PLUGIN_CPPFLAGS} ${MOWGLI_CFLAGS} ${GTK_CFLAGS} ${GLIB_CFLAGS} ${XML_CPPFLAGS} ${ARCH_DEFINES} -I../..
 LIBS += ${GTK_LIBS} ${GLIB_LIBS} ${MOWGLI_LIBS} ${XML_LIBS}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/streambrowser/gui/about_win.c	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,1 @@
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/streambrowser/gui/about_win.h	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,6 @@
+
+#ifndef ABOUT_WIN_H
+#define ABOUT_WIN_H
+
+#endif	// ABOUT_WIN_H
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/streambrowser/gui/streambrowser_win.c	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,368 @@
+
+#include <string.h>
+#include <glib.h>
+#include <gtk/gtk.h>
+
+#include "../streambrowser.h"
+#include "streambrowser_win.h"
+
+
+typedef struct {
+
+	streamdir_t*		streamdir;
+	GtkWidget*		table;
+	GtkWidget*		tree_view;
+
+} streamdir_gui_t;
+
+
+void				(* update_function) (streamdir_t *streamdir, category_t *category, streaminfo_t *streaminfo);
+
+static GtkWidget*		gtk_label_new_with_icon(gchar *icon_filename, gchar *label_text);
+static GtkWidget*		gtk_streamdir_tree_view_new();
+static GtkWidget*		gtk_streamdir_table_new(GtkWidget *tree_view);
+
+static gboolean			on_notebook_switch_page(GtkNotebook *notebook, GtkNotebookPage *page, guint page_num, gpointer data);
+static gboolean			on_tree_view_cursor_changed(GtkTreeView *tree_view, gpointer data);
+static gboolean			on_add_button_clicked(GtkButton *button, gpointer data);
+
+static streamdir_gui_t*		find_streamdir_gui_by_name(gchar *name);
+static streamdir_gui_t*		find_streamdir_gui_by_tree_view(GtkTreeView *tree_view);
+static streamdir_gui_t*		find_streamdir_gui_by_table(GtkTable *table);
+
+
+static GtkWidget*		notebook;
+static GtkWidget*		search_entry;
+static GtkWidget*		add_button;
+static GtkWidget*		streambrowser_window;
+static GList*			streamdir_gui_list;
+static GtkCellRenderer*		cell_renderer_pixbuf;
+static GtkCellRenderer*		cell_renderer_text;
+
+
+void streambrowser_win_init()
+{
+	/* notebook */
+	notebook = gtk_notebook_new();
+	g_signal_connect(G_OBJECT(notebook), "switch-page", G_CALLBACK(on_notebook_switch_page), NULL);
+	gtk_widget_show(notebook);
+
+	GtkWidget *search_label = gtk_label_new(_("Search:"));
+	gtk_widget_show(search_label);
+
+	/* search entry */
+	search_entry = gtk_entry_new();
+	gtk_widget_show(search_entry);
+	
+	GtkWidget *hbox1 = gtk_hbox_new(FALSE, 0);
+	gtk_box_pack_start(GTK_BOX(hbox1), search_label, FALSE, TRUE, 3);
+	gtk_box_pack_start(GTK_BOX(hbox1), search_entry, TRUE, TRUE, 3);
+	gtk_widget_show(hbox1);
+
+	/* add button */
+	add_button = gtk_button_new_from_stock(GTK_STOCK_ADD);
+	g_signal_connect(G_OBJECT(add_button), "clicked", G_CALLBACK(on_add_button_clicked), NULL);
+	gtk_widget_show(add_button);
+
+	GtkWidget *vbox1 = gtk_vbox_new(FALSE, 3);
+	gtk_box_pack_start(GTK_BOX(vbox1), notebook, TRUE, TRUE, 0);
+	gtk_box_pack_start(GTK_BOX(vbox1), hbox1, FALSE, TRUE, 0);
+	gtk_box_pack_start(GTK_BOX(vbox1), add_button, FALSE, TRUE, 0);
+	gtk_widget_show(vbox1);
+
+	/* streambrowser window */
+	streambrowser_window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+	gtk_window_set_title(GTK_WINDOW(streambrowser_window), _("Stream browser"));
+	gtk_window_set_position(GTK_WINDOW(streambrowser_window), GTK_WIN_POS_CENTER);
+	gtk_window_set_default_size(GTK_WINDOW(streambrowser_window), 700, 400);
+	g_signal_connect(G_OBJECT(streambrowser_window), "delete-event", G_CALLBACK(gtk_widget_hide_on_delete), streambrowser_window);
+	gtk_container_add(GTK_CONTAINER(streambrowser_window), vbox1);
+
+	/* others */
+	cell_renderer_pixbuf = gtk_cell_renderer_pixbuf_new();
+	g_object_set(G_OBJECT(cell_renderer_pixbuf), "stock-id", "gtk-directory", NULL);
+	cell_renderer_text = gtk_cell_renderer_text_new();
+}
+
+void streambrowser_win_done()
+{
+}
+
+void streambrowser_win_show()
+{
+	gtk_widget_show(streambrowser_window);
+}
+
+void streambrowser_win_hide()
+{
+	gtk_widget_hide(streambrowser_window);
+}
+
+void streambrowser_win_set_streamdir(streamdir_t *streamdir, gchar *icon_filename)
+{
+	GtkWidget *tree_view = NULL;
+	
+	/* search for an old instance of this streamdir and replace it */
+	streamdir_gui_t *streamdir_gui = find_streamdir_gui_by_name(streamdir->name);
+	if (streamdir_gui != NULL) {
+		streamdir_delete(streamdir_gui->streamdir);
+		streamdir_gui->streamdir = streamdir;
+		tree_view = streamdir_gui->tree_view;
+	}
+	/* if no older instance of this streamdir has been found, we add a brand new one */
+	else {
+		streamdir_gui = g_malloc(sizeof(streamdir_gui_t));
+
+		tree_view = gtk_streamdir_tree_view_new();
+
+		GtkWidget *table = gtk_streamdir_table_new(tree_view);
+		gtk_widget_show_all(table);
+
+		GtkWidget *label = gtk_label_new_with_icon(icon_filename, streamdir->name);
+		gtk_widget_show_all(label);
+
+		streamdir_gui->streamdir = streamdir;
+		streamdir_gui->tree_view = tree_view;
+		streamdir_gui->table = table;
+
+		streamdir_gui_list = g_list_append(streamdir_gui_list, streamdir_gui);
+		
+		gtk_notebook_append_page(GTK_NOTEBOOK(notebook), table, label);
+	}
+
+	/* fill the tree with categories */
+	GtkTreeIter iter;
+	GtkTreeStore *store = GTK_TREE_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(tree_view)));
+	
+	gtk_tree_store_clear(store);
+
+	int i, count = category_get_count(streamdir);
+	category_t *category;
+	for (i = 0; i < count; i++) {
+		category = category_get_by_index(streamdir, i);
+
+		gtk_tree_store_append(store, &iter, NULL);
+		gtk_tree_store_set(store, &iter, 0, NULL, 1, category->name, 2, "", -1);
+	}
+}
+
+void streambrowser_win_set_category(streamdir_t *streamdir, category_t *category)
+{
+	streamdir_gui_t *streamdir_gui = find_streamdir_gui_by_name(streamdir->name);
+	if (streamdir_gui == NULL) {
+		failure("gui: streambrowser_win_set_category() called with non-existent streamdir\n");
+		return;
+	}
+	
+	GtkTreeView *tree_view = GTK_TREE_VIEW(streamdir_gui->tree_view);
+	GtkTreeStore *store = GTK_TREE_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(tree_view)));
+	GtkTreePath *path;
+	GtkTreeIter iter, new_iter;
+	
+	/* clear all the previously added streaminfo in this category */
+	path = gtk_tree_path_new_from_indices(category_get_index(streamdir, category), 0, -1);
+	if (gtk_tree_model_get_iter(GTK_TREE_MODEL(store), &iter, path)) {
+		while (gtk_tree_store_remove(store, &iter))
+			;
+	}
+	
+	/* find the corresponding category tree iter */
+	path = gtk_tree_path_new_from_indices(category_get_index(streamdir, category), -1);
+	if (!gtk_tree_model_get_iter(GTK_TREE_MODEL(store), &iter, path))
+		return;
+	
+	/* append the new streaminfos to the current category / iter */
+	int i, count = streaminfo_get_count(category);
+	streaminfo_t *streaminfo;
+	for (i = 0; i < count; i++) {
+		streaminfo = streaminfo_get_by_index(category, i);
+
+		gtk_tree_store_append(store, &new_iter, &iter);
+		gtk_tree_store_set(store, &new_iter, 0, NULL, 1, streaminfo->name, 2, streaminfo->current_track, -1);
+	}
+}
+
+void streambrowser_win_set_update_function(void (*function) (streamdir_t *streamdir, category_t *category, streaminfo_t *streaminfo))
+{
+	update_function = function;
+}
+
+static GtkWidget* gtk_label_new_with_icon(gchar *icon_filename, gchar *label_text)
+{
+	GtkWidget *hbox = gtk_hbox_new(FALSE, 1);
+	GtkWidget *label = gtk_label_new(label_text);
+	GtkWidget *icon = gtk_image_new_from_file(icon_filename);
+
+	gtk_box_pack_start(GTK_BOX(hbox), icon, FALSE, TRUE, 0);
+	gtk_box_pack_start(GTK_BOX(hbox), label, TRUE, TRUE, 0);
+	
+	return hbox;
+}
+
+static GtkWidget *gtk_streamdir_tree_view_new()
+{
+	GtkWidget *tree_view = gtk_tree_view_new();
+
+	GtkTreeStore *store = gtk_tree_store_new(3, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING);
+	gtk_tree_view_set_model(GTK_TREE_VIEW(tree_view), GTK_TREE_MODEL(store));
+
+	// todo: why doesn't the tree view allow to be resized?
+	gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(tree_view), TRUE);
+	gtk_tree_view_set_headers_clickable(GTK_TREE_VIEW(tree_view), TRUE);
+	gtk_tree_view_set_reorderable(GTK_TREE_VIEW(tree_view), TRUE);
+	gtk_tree_view_set_fixed_height_mode(GTK_TREE_VIEW(tree_view), FALSE);
+
+	gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(tree_view), -1, "", cell_renderer_pixbuf, "pixbuf", 0, NULL);
+	gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(tree_view), -1, _("Stream name"), cell_renderer_text, "text", 1, NULL);
+	gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(tree_view), -1, _("Now playing"), cell_renderer_text, "text", 2, NULL);
+
+	g_signal_connect(G_OBJECT(tree_view), "cursor-changed", G_CALLBACK(on_tree_view_cursor_changed), NULL);
+
+	return tree_view;
+}
+
+static GtkWidget* gtk_streamdir_table_new(GtkWidget *tree_view)
+{
+	GtkWidget *scrolled_window = gtk_scrolled_window_new(NULL, NULL);
+	gtk_container_add(GTK_CONTAINER(scrolled_window), tree_view);
+	
+	GtkWidget *table = gtk_table_new(1, 1, FALSE);
+	gtk_table_attach(GTK_TABLE(table), scrolled_window, 0, 1, 0, 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
+
+	return table;
+}
+
+static gboolean on_notebook_switch_page(GtkNotebook *notebook, GtkNotebookPage *page, guint page_num, gpointer data)
+{
+	if (page_num < 0)
+		return FALSE;
+
+	/* update the current selected stream */
+
+	/*
+	streamdir_gui_t *streamdir_gui = g_list_nth_data(streamdir_gui_list, page_num);
+	update_function(streamdir_gui->streamdir, NULL, NULL);
+	*/
+
+	/* clear the search box */
+	gtk_entry_set_text(GTK_ENTRY(search_entry), "");
+
+	return TRUE;
+}
+
+static gboolean on_tree_view_cursor_changed(GtkTreeView *tree_view, gpointer data)
+{
+	GtkTreePath *path;
+	GtkTreeViewColumn *focus_column;
+
+	/* obtain the current category */
+	gtk_tree_view_get_cursor(tree_view, &path, &focus_column);
+	
+	if (path == NULL)
+		return TRUE;
+	
+	gint *indices = gtk_tree_path_get_indices(path);
+	if (gtk_tree_path_get_depth(path) != 1) {
+		gtk_tree_path_free(path);
+		return TRUE;
+	}
+	
+	int category_index = indices[0];
+	
+	gtk_tree_path_free(path);
+	
+	streamdir_gui_t *streamdir_gui = find_streamdir_gui_by_tree_view(tree_view);
+	if (streamdir_gui == NULL)
+		return TRUE;
+	
+	/* issue an update on the current category */	
+	update_function(streamdir_gui->streamdir, category_get_by_index(streamdir_gui->streamdir, category_index), NULL);
+	
+	/* clear the search box */
+	gtk_entry_set_text(GTK_ENTRY(search_entry), "");
+
+	return TRUE;
+}
+
+static gboolean on_add_button_clicked(GtkButton *button, gpointer data)
+{
+	GtkTreePath *path;
+	GtkTreeViewColumn *focus_column;
+
+	GtkWidget *table = gtk_notebook_get_nth_page(GTK_NOTEBOOK(notebook), gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook)));
+	streamdir_gui_t *streamdir_gui = find_streamdir_gui_by_table(GTK_TABLE(table));
+	if (streamdir_gui == NULL)
+		return TRUE;
+
+	GtkWidget *tree_view = streamdir_gui->tree_view;
+	
+	gtk_tree_view_get_cursor(GTK_TREE_VIEW(tree_view), &path, &focus_column);
+	
+	if (path == NULL)
+		return TRUE;
+
+	gint *indices = gtk_tree_path_get_indices(path);
+	if (gtk_tree_path_get_depth(path) != 2) {
+		gtk_tree_path_free(path);
+		return TRUE;
+	}
+	
+	int category_index = indices[0];
+	int streaminfo_index = indices[1];
+	
+	gtk_tree_path_free(path);
+	
+	streamdir_t *streamdir = streamdir_gui->streamdir;
+	category_t *category = category_get_by_index(streamdir_gui->streamdir, category_index);
+	streaminfo_t *streaminfo = streaminfo_get_by_index(category, streaminfo_index);
+	
+	update_function(streamdir, category, streaminfo);
+
+	return TRUE;
+}
+
+static streamdir_gui_t *find_streamdir_gui_by_name(gchar *name)
+{
+	GList *iterator;
+	streamdir_gui_t *streamdir_gui;
+
+	for (iterator = g_list_first(streamdir_gui_list); iterator != NULL; iterator = g_list_next(iterator)) {
+		streamdir_gui = iterator->data;
+
+		if (strcmp(streamdir_gui->streamdir->name, name) == 0)
+			return streamdir_gui;
+	}
+	
+	return NULL;
+}
+
+static streamdir_gui_t *find_streamdir_gui_by_tree_view(GtkTreeView *tree_view)
+{
+	GList *iterator;
+	streamdir_gui_t *streamdir_gui;
+
+	for (iterator = g_list_first(streamdir_gui_list); iterator != NULL; iterator = g_list_next(iterator)) {
+		streamdir_gui = iterator->data;
+
+		if ((void *) streamdir_gui->tree_view == (void *) tree_view)
+			return streamdir_gui;
+	}
+	
+	return NULL;
+}
+
+static streamdir_gui_t *find_streamdir_gui_by_table(GtkTable *table)
+{
+	GList *iterator;
+	streamdir_gui_t *streamdir_gui;
+
+	for (iterator = g_list_first(streamdir_gui_list); iterator != NULL; iterator = g_list_next(iterator)) {
+		streamdir_gui = iterator->data;
+
+		if ((void *) streamdir_gui->table == (void *) table)
+			return streamdir_gui;
+	}
+	
+	return NULL;
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/streambrowser/gui/streambrowser_win.h	Thu Jul 03 17:37:11 2008 +0300
@@ -0,0 +1,19 @@
+
+#ifndef STREAMBROWSER_WIN_H
+#define STREAMBROWSER_WIN_H
+
+#include "../streamdir.h"
+
+
+void			streambrowser_win_init();
+void			streambrowser_win_done();
+void			streambrowser_win_show();
+void			streambrowser_win_hide();
+
+void			streambrowser_win_set_streamdir(streamdir_t *streamdir, gchar *icon_filename);
+void			streambrowser_win_set_category(streamdir_t *streamdir, category_t *category);
+void			streambrowser_win_set_update_function(void (* update_function) (streamdir_t *streamdir, category_t *category, streaminfo_t *streaminfo));
+
+
+#endif	// STREAMBROWSER_WIN_H
+
Binary file src/streambrowser/images/shoutcast.png has changed
--- a/src/streambrowser/shoutcast.c	Thu Jul 03 17:23:34 2008 +0300
+++ b/src/streambrowser/shoutcast.c	Thu Jul 03 17:37:11 2008 +0300
@@ -3,42 +3,41 @@
 #include <glib.h>
 #include <libxml/parser.h>
 #include <libxml/tree.h>
+#include <audacious/plugin.h>
 
 #include "streambrowser.h"
 #include "shoutcast.h"
 
 
-static streaminfo_t*		shoutcast_streaminfo_fetch(gchar *station_name, gchar *station_id);
-static category_t*		shoutcast_category_fetch(gchar *category_name);
-
-
-static streaminfo_t *shoutcast_streaminfo_fetch(gchar *station_name, gchar *station_id)
+gboolean shoutcast_category_fetch(category_t *category)
 {
 	gchar url[DEF_STRING_LEN];
-	g_snprintf(url, DEF_STRING_LEN, SHOUTCAST_STREAMINFO_URL, station_id);
-
-	streaminfo_t *streaminfo = streaminfo_new(station_name, url);
+	g_snprintf(url, DEF_STRING_LEN, SHOUTCAST_CATEGORY_URL, category->name);
 
-	// todo: read the .pls file fetched from the above url
-	
-	return streaminfo;
-}
+	/* generate a valid, temporary filename */
+	char *temp_filename = tempnam(NULL, "aud_sb");
+	if (temp_filename == NULL) {
+		failure("shoutcast: failed to create a temporary file\n");
+		return FALSE;
+	}
 
-static category_t *shoutcast_category_fetch(gchar *category_name)
-{
-	category_t *category = category_new(category_name);
+	char temp_pathname[DEF_STRING_LEN];
+	sprintf(temp_pathname, "file://%s", temp_filename);
+	free(temp_filename);
 
-	gchar url[DEF_STRING_LEN];
-	g_snprintf(url, DEF_STRING_LEN, SHOUTCAST_CATEGORY_URL, category_name);
+	debug("shoutcast: fetching category file '%s'\n", url);
+	if (!fetch_remote_to_local_file(url, temp_pathname))  {
+		failure("shoutcast: category file '%s' could not be downloaded to '%s'\n", url, temp_pathname);
+		return FALSE;
+	}
+	debug("shoutcast: category file '%s' successfuly downloaded to '%s'\n", url, temp_pathname);
 
-	xmlDoc *doc = xmlReadFile(url, NULL, 0);
+	xmlDoc *doc = xmlReadFile(temp_pathname, NULL, 0);
 	if (doc == NULL) {
-		error("    shoutcast: failed to read \"%s\" category file\n", category_name);
-		return NULL;
+		failure("shoutcast: failed to read '%s' category file\n", category->name);
+		return FALSE;
 	}
 	
-	debug("    shoutcast: category file fetched\n");
-
 	xmlNode *root_node = xmlDocGetRootElement(doc);
 	xmlNode *node;
 	
@@ -46,38 +45,61 @@
 
 	for (node = root_node; node != NULL; node = node->next) {
 		if (node->type == XML_ELEMENT_NODE && !strcmp((char *) node->name, "station")) {
-			gchar *station_name = (gchar*) xmlGetProp(node, (xmlChar *) "name");
-			gchar *station_id = (gchar*) xmlGetProp(node, (xmlChar *) "id");
+			gchar *streaminfo_name = (gchar*) xmlGetProp(node, (xmlChar *) "name");
+			gchar *streaminfo_id = (gchar*) xmlGetProp(node, (xmlChar *) "id");
+			gchar streaminfo_playlist_url[DEF_STRING_LEN];
+			gchar *streaminfo_current_track = (gchar*) xmlGetProp(node, (xmlChar *) "ct");
+			
+			g_snprintf(streaminfo_playlist_url, DEF_STRING_LEN, SHOUTCAST_STREAMINFO_URL, streaminfo_id);
 
-			debug("        shoutcast: fetching stream info for name = \"%s\" and id = %s\n", station_name, station_id);
+			debug("shoutcast: fetching stream info for '%s/%d' from '%s'\n", streaminfo_name, streaminfo_id, url);
 
-			streaminfo_t *streaminfo = shoutcast_streaminfo_fetch(station_name, station_id);
+			streaminfo_t *streaminfo = streaminfo_new(streaminfo_name, streaminfo_playlist_url, streaminfo_current_track);
 			streaminfo_add(category, streaminfo);
-	
-			// todo: debug - print info about streaminfon urls		
-			debug("        shoutcast: stream info added for name = \"%s\" and id = %s\n", station_name, station_id);
+			
+			xmlFree(streaminfo_name);
+			xmlFree(streaminfo_id);
+			xmlFree(streaminfo_current_track);
+
+			debug("shoutcast: stream info added\n");
 		}
 	}
 	
-	return category;
+	remove(temp_filename);
+	// todo: free the mallocs()
+	
+	return TRUE;
 }
 
 
 streamdir_t* shoutcast_streamdir_fetch()
 {
-	streamdir_t *streamdir = streamdir_new("Shoutcast");
+	streamdir_t *streamdir = streamdir_new(SHOUTCAST_NAME);
 	
-	debug("shoutcast: fetching streaming directory file\n");
-
-	// todo: replace dummy filename with SHOUTCAST_DIRECTORY_URL
-	xmlDoc *doc = xmlReadFile("shoutcast.xml", NULL, 0);
-	if (doc == NULL) {
-		error("shoutcast: failed to read stream directory file\n");
+	/* generate a valid, temporary filename */
+	char *temp_filename = tempnam(NULL, "aud_sb");
+	if (temp_filename == NULL) {
+		failure("shoutcast: failed to create a temporary file\n");
 		return NULL;
 	}
 	
-	debug("shoutcast: streaming directory file fetched\n");
+	char temp_pathname[DEF_STRING_LEN];
+	sprintf(temp_pathname, "file://%s", temp_filename);
+	free(temp_filename);
+	
+	debug("shoutcast: fetching streaming directory file '%s'\n", SHOUTCAST_STREAMDIR_URL);
+	if (!fetch_remote_to_local_file(SHOUTCAST_STREAMDIR_URL, temp_pathname)) {
+		failure("shoutcast: stream directory file '%s' could not be downloaded to '%s'\n", SHOUTCAST_STREAMDIR_URL, temp_pathname);
+		return NULL;
+	}
+	debug("shoutcast: stream directory file '%s' successfuly downloaded to '%s'\n", SHOUTCAST_STREAMDIR_URL, temp_pathname);
 
+	xmlDoc *doc = xmlReadFile(temp_pathname, NULL, 0);
+	if (doc == NULL) {
+		failure("shoutcast: failed to read stream directory file\n");
+		return NULL;
+	}
+	
 	xmlNode *root_node = xmlDocGetRootElement(doc);
 	xmlNode *node;
 	
@@ -87,15 +109,22 @@
 		if (node->type == XML_ELEMENT_NODE) {
 			gchar *category_name = (gchar*) xmlGetProp(node, (xmlChar *) "name");
 			
-			debug("    shoutcast: fetching category \"%s\"\n", category_name);
+			debug("shoutcast: fetching category '%s'\n", category_name);
 
-			category_t *category = shoutcast_category_fetch(category_name);
+			category_t *category = category_new(category_name);
 			category_add(streamdir, category);
 			
-			debug("    shoutcast: added category \"%s\"\n", category_name);
+			xmlFree(category_name);
+			
+			debug("shoutcast: category added\n", category_name);
 		}
 	}
+
+	// todo: free the mallocs()
 	
-	exit(0);
+	remove(temp_filename);
+	debug("shoutcast: streaming directory successfuly loaded\n");
+
+	return streamdir;
 }
 
--- a/src/streambrowser/shoutcast.h	Thu Jul 03 17:23:34 2008 +0300
+++ b/src/streambrowser/shoutcast.h	Thu Jul 03 17:37:11 2008 +0300
@@ -5,11 +5,15 @@
 #include "streambrowser.h"
 #include "streamdir.h"
 
+#define SHOUTCAST_NAME			"Shoutcast"
+#define SHOUTCAST_ICON			DATA_DIR G_DIR_SEPARATOR_S "images" G_DIR_SEPARATOR_S "shoutcast.png"
 #define SHOUTCAST_STREAMDIR_URL		"http://www.shoutcast.com/sbin/newxml.phtml"
 #define SHOUTCAST_CATEGORY_URL		"http://www.shoutcast.com/sbin/newxml.phtml?genre=%s"
 #define SHOUTCAST_STREAMINFO_URL	"http://www.shoutcast.com/sbin/shoutcast-playlist.pls?rn=%s&file=filename.pls"
+#define SHOUTCAST_BUFFER_SIZE		256
 
 
+gboolean			shoutcast_category_fetch(category_t *category);
 streamdir_t*			shoutcast_streamdir_fetch();
 
 
--- a/src/streambrowser/streambrowser.c	Thu Jul 03 17:23:34 2008 +0300
+++ b/src/streambrowser/streambrowser.c	Thu Jul 03 17:37:11 2008 +0300
@@ -7,6 +7,17 @@
 #include "streambrowser.h"
 #include "streamdir.h"
 #include "shoutcast.h"
+#include "gui/streambrowser_win.h"
+#include "gui/about_win.h"
+
+
+typedef struct {
+
+	streamdir_t*		streamdir;
+	category_t*		category;
+	streaminfo_t*		streaminfo;	
+	
+} update_thread_data_t;
 
 
 static void			sb_init();
@@ -14,9 +25,24 @@
 static void 			sb_configure();
 static void 			sb_cleanup();
 
-static void 			menu_click();
-static void 			add_plugin_services_menu_item();
+static void 			gui_init();
+static void			gui_done();
+static void			config_load();
+static void			config_save();
 
+static void			streamdir_update(streamdir_t *streamdir, category_t *category, streaminfo_t *streaminfo);
+static gpointer			update_thread_core(update_thread_data_t *data);
+static void			streaminfo_add_to_playlist(streaminfo_t *streaminfo);
+static void 			on_plugin_services_menu_item_click();
+
+static GtkWidget*		playlist_menu_item;
+static GtkWidget*		main_menu_item;
+static GQueue*			update_thread_data_queue;
+static gint			update_thread_count = 0;
+static GMutex*			update_thread_mutex;
+
+
+streambrowser_cfg_t		streambrowser_cfg;
 
 static GeneralPlugin sb_plugin = 
 {
@@ -38,8 +64,7 @@
 
 void debug(const char *fmt, ...)
 {
-	// todo: replace with config->debug
-	if (TRUE) {
+	if (streambrowser_cfg.debug) {
 		va_list ap;
 		fprintf(stderr, "* streambrowser: ");
 		va_start(ap, fmt);
@@ -48,7 +73,7 @@
 	}
 }
 
-void error(const char *fmt, ...)
+void failure(const char *fmt, ...)
 {
 	va_list ap;
 	fprintf(stderr, "! streambrowser: ");
@@ -57,12 +82,58 @@
 	va_end(ap);
 }
 
+gboolean fetch_remote_to_local_file(gchar *remote_url, gchar *local_url)
+{
+	VFSFile *remote_file = aud_vfs_fopen(remote_url, "r");
+	if (remote_file == NULL) {
+		failure("failed to fetch file '%s'\n", remote_url);
+		return FALSE;
+	}
+		
+	VFSFile *local_file = aud_vfs_fopen(local_url, "w");
+	if (local_file == NULL) {
+		aud_vfs_fclose(remote_file);
+	
+		failure("failed to create local file '%s'\n", local_file);
+		return FALSE;
+	}
+	
+	unsigned char buff[DEF_BUFFER_SIZE];
+	int size;
+	while (!aud_vfs_feof(remote_file)) {
+		size = aud_vfs_fread(buff, 1, DEF_BUFFER_SIZE, remote_file);
+
+		// i don't know why aud_vfs_feof() doesn't ever return TRUE
+		// so this is a workaround to properly end the loop
+		if (size == 0)
+			break;
+		
+		size = aud_vfs_fwrite(buff, 1, size, local_file);
+		if (size == 0) {
+			aud_vfs_fclose(local_file);
+			aud_vfs_fclose(remote_file);
+
+			failure("failed to write to local file '%s'\n", local_file);
+			return FALSE;
+		}
+	}
+
+	aud_vfs_fclose(local_file);
+	aud_vfs_fclose(remote_file);
+	
+	return TRUE;
+}
+
 
 static void sb_init()
 {
+	/* workaround to print sb_init() */
+	streambrowser_cfg.debug = TRUE;
 	debug("sb_init()\n");
+	streambrowser_cfg.debug = FALSE;
 
-	//shoutcast_streamdir_fetch();	
+	config_load();
+	gui_init();
 }
 
 static void sb_about()
@@ -78,23 +149,207 @@
 static void sb_cleanup()
 {
 	debug("sb_cleanup()\n");
+	
+	gui_done();
+	config_save();
+}
+
+static void gui_init()
+{
+	/* the plugin services menu */
+	playlist_menu_item = gtk_image_menu_item_new_with_label("Streambrowser");
+	gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(playlist_menu_item), gtk_image_new_from_stock(GTK_STOCK_CDROM, GTK_ICON_SIZE_MENU));
+	gtk_widget_show(playlist_menu_item);
+	g_signal_connect(G_OBJECT(playlist_menu_item), "activate", G_CALLBACK(on_plugin_services_menu_item_click), NULL);
+	audacious_menu_plugin_item_add(AUDACIOUS_MENU_PLAYLIST_RCLICK, playlist_menu_item);
+
+	main_menu_item = gtk_image_menu_item_new_with_label("Streambrowser");
+	gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(main_menu_item), gtk_image_new_from_stock(GTK_STOCK_CDROM, GTK_ICON_SIZE_MENU));
+	gtk_widget_show(main_menu_item);
+	g_signal_connect(G_OBJECT(main_menu_item), "activate", G_CALLBACK(on_plugin_services_menu_item_click), NULL);
+	audacious_menu_plugin_item_add(AUDACIOUS_MENU_MAIN, main_menu_item);
+
+	/* main streambrowser window */
+	streambrowser_win_init();
+	streambrowser_win_set_update_function(streamdir_update);
+	
+	/* others */
+	update_thread_mutex = g_mutex_new();
+	update_thread_data_queue = g_queue_new();
+
+	debug("gui initialized\n");
 }
 
-static void menu_click()
+static void gui_done()
+{
+	/* the plugin services menu */
+	audacious_menu_plugin_item_remove(AUDACIOUS_MENU_PLAYLIST_RCLICK, playlist_menu_item);
+	audacious_menu_plugin_item_remove(AUDACIOUS_MENU_MAIN, main_menu_item);
+
+	/* main streambrowser window */
+	streambrowser_win_hide();
+	streambrowser_win_done();
+	
+	/* others */
+	g_mutex_free(update_thread_mutex);
+	g_queue_free(update_thread_data_queue);
+
+	debug("gui destroied\n");
+}
+
+static void config_load()
 {
-	debug("menu_click()\n");
+	streambrowser_cfg.debug = FALSE;
+	
+	mcs_handle_t *db;	
+	if ((db = aud_cfg_db_open()) == NULL) {
+		failure("failed to load configuration\n");
+		return;
+	}
+	
+	aud_cfg_db_get_bool(db, "streambrowser", "debug", &streambrowser_cfg.debug);
+
+	aud_cfg_db_close(db);
+
+	debug("configuration loaded\n");
+	debug("debug = %d\n", streambrowser_cfg.debug);
+}
+
+static void config_save()
+{
+	mcs_handle_t *db;	
+	if ((db = aud_cfg_db_open()) == NULL) {
+		failure("failed to save configuration\n");
+		return;
+	}
+
+	aud_cfg_db_set_bool(db, "streambrowser", "debug", streambrowser_cfg.debug);
+	
+	aud_cfg_db_close(db);
+
+	debug("configuration saved\n");
 }
 
-static void add_plugin_services_menu_item()
+static void streamdir_update(streamdir_t *streamdir, category_t *category, streaminfo_t *streaminfo)
 {
-	/*
-	GtkWidget *menu_item;
+	debug("requested streamdir update (streamdir = '%s', category = '%s', streaminfo = '%s')\n", 
+		streamdir == NULL ? "" : streamdir->name, 
+		category == NULL ? "" : category->name,
+		streaminfo == NULL ? "" : streaminfo->name);
 
-	menu_item = gtk_image_menu_item_new_with_label("SB Test");
-	gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_item), gtk_image_new_from_stock(GTK_STOCK_CDROM, GTK_ICON_SIZE_MENU));
-	gtk_widget_show(menu_item);
-	audacious_menu_plugin_item_add(AUDACIOUS_MENU_PLAYLIST_RCLICK, menu_item);
-	g_signal_connect(G_OBJECT(menu_item), "activate", G_CALLBACK(menu_click), NULL);
-	*/
+	if (update_thread_count >= MAX_UPDATE_THREADS) {
+		debug("another %d streamdir updates are pending, this request will be dropped\n", update_thread_count);
+	}
+	else
+		if (update_thread_count > 0) {
+			debug("another %d streamdir updates are pending, this request will be queued\n", update_thread_count);
+			
+			g_mutex_lock(update_thread_mutex);
+			
+			update_thread_data_t *update_thread_data = g_malloc(sizeof(update_thread_data_t));
+			
+			update_thread_data->streamdir = streamdir;
+			update_thread_data->category = category;
+			update_thread_data->streaminfo = streaminfo;
+			g_queue_push_tail(update_thread_data_queue, update_thread_data);
+			
+			update_thread_count++;
+
+			g_mutex_unlock(update_thread_mutex);
+		}
+		else {
+			update_thread_data_t *data = g_malloc(sizeof(update_thread_data_t));
+			
+			data->streamdir = streamdir;
+			data->category = category;
+			data->streaminfo = streaminfo;
+
+			g_thread_create((GThreadFunc) update_thread_core, data, TRUE, NULL);
+		}
 }
 
+static gpointer update_thread_core(update_thread_data_t *data)
+{
+	g_mutex_lock(update_thread_mutex);
+	update_thread_count++;
+	g_mutex_unlock(update_thread_mutex);
+
+	/* update a streaminfo - that is - add this streaminfo to playlist */
+	if (data->streaminfo != NULL) {
+		 streaminfo_add_to_playlist(data->streaminfo);
+	}
+	/* update a category */
+	else if (data->category != NULL) {
+		/* shoutcast */
+		if (strncmp(data->streamdir->name, SHOUTCAST_NAME, strlen(SHOUTCAST_NAME)) == 0) {
+			shoutcast_category_fetch(data->category);
+			
+			gdk_threads_enter();
+			streambrowser_win_set_category(data->streamdir, data->category);
+			gdk_threads_leave();
+		}
+	}
+	/* update a streamdir */
+	else if (data->streamdir != NULL) {
+		/* shoutcast */
+		if (strncmp(data->streamdir->name, SHOUTCAST_NAME, strlen(SHOUTCAST_NAME)) == 0) {
+			streamdir_t *streamdir = shoutcast_streamdir_fetch();
+			if (streamdir != NULL) {
+				gdk_threads_enter();
+				streambrowser_win_set_streamdir(streamdir, SHOUTCAST_ICON);
+				gdk_threads_leave();
+			}
+		}
+	}
+	/* update all streamdirs */
+	else {
+		/* shoutcast */
+		streamdir_t *shoutcast_streamdir = shoutcast_streamdir_fetch();
+		if (shoutcast_streamdir != NULL) {
+			gdk_threads_enter();
+			streambrowser_win_set_streamdir(shoutcast_streamdir, SHOUTCAST_ICON);
+			gdk_threads_leave();
+		}
+	}
+	
+	g_free(data);
+
+	/* check to see if there are pending update requests */
+	
+	data = NULL;
+	g_mutex_lock(update_thread_mutex);
+	update_thread_count--;
+
+	if (update_thread_count > 0) {
+		data = g_queue_pop_head(update_thread_data_queue);
+		
+		update_thread_count--;
+	}
+	g_mutex_unlock(update_thread_mutex);
+
+	if (data != NULL)
+		update_thread_core(data);
+
+	return NULL;
+}
+
+static void streaminfo_add_to_playlist(streaminfo_t *streaminfo)
+{
+	debug("fetching stream playlist for station '%s' from '%s'\n", streaminfo->name, streaminfo->playlist_url);
+	if (!fetch_remote_to_local_file(streaminfo->playlist_url, PLAYLIST_TEMP_FILE)) {
+		failure("shoutcast: stream playlist '%s' could not be downloaded to '%s'\n", streaminfo->playlist_url, PLAYLIST_TEMP_FILE);
+		return;
+	}
+	debug("stream playlist '%s' successfuly downloaded to '%s'\n", streaminfo->playlist_url, PLAYLIST_TEMP_FILE);
+	
+	aud_playlist_add(aud_playlist_get_active(), PLAYLIST_TEMP_FILE);
+}
+
+static void on_plugin_services_menu_item_click()
+{
+	debug("on_plugin_services_menu_item_click()\n");
+	
+	streambrowser_win_show();
+	streamdir_update(NULL, NULL, NULL);
+}
+
--- a/src/streambrowser/streambrowser.h	Thu Jul 03 17:23:34 2008 +0300
+++ b/src/streambrowser/streambrowser.h	Thu Jul 03 17:37:11 2008 +0300
@@ -2,11 +2,29 @@
 #ifndef STREAMBROWSER_H
 #define STREAMBROWSER_H
 
-#define DEF_STRING_LEN			256
+#include <glib.h>
+
+#include <config.h>
+#include <audacious/i18n.h>
+
+#define DEF_STRING_LEN		1024
+#define DEF_BUFFER_SIZE		512
+#define MAX_UPDATE_THREADS	4
+#define PLAYLIST_TEMP_FILE	"file:///tmp/playlist.pls"
+
+
+typedef struct {
+	
+	gboolean		debug;
+
+} streambrowser_cfg_t;
+
+extern streambrowser_cfg_t	streambrowser_cfg;
 
 
 void				debug(const char *fmt, ...);
-void				error(const char *fmt, ...);
+void				failure(const char *fmt, ...);
+gboolean			fetch_remote_to_local_file(gchar *remote_url, gchar *local_url);
 
 
 #endif	// STREAMBROWSER_H
--- a/src/streambrowser/streamdir.c	Thu Jul 03 17:23:34 2008 +0300
+++ b/src/streambrowser/streamdir.c	Thu Jul 03 17:37:11 2008 +0300
@@ -20,7 +20,7 @@
 	GList *iterator;
 	category_t *category;
 
-	for (iterator = g_list_first(streamdir->category_list); iterator != NULL; iterator = g_list_next(streamdir->category_list)) {
+	for (iterator = g_list_first(streamdir->category_list); iterator != NULL; iterator = g_list_next(iterator)) {
 		category = iterator->data;		
 		category_delete(category);
 	}
@@ -44,7 +44,7 @@
 	GList *iterator;
 	streaminfo_t *streaminfo;
 	
-	for (iterator = g_list_first(category->streaminfo_list); iterator != NULL; iterator = g_list_next(category->streaminfo_list)) {
+	for (iterator = g_list_first(category->streaminfo_list); iterator != NULL; iterator = g_list_next(iterator)) {
 		streaminfo = iterator->data;
 		streaminfo_delete(streaminfo);
 	}
@@ -73,9 +73,9 @@
 	GList *iterator;
 	category_t *category;
 	
-	for (iterator = g_list_first(streamdir->category_list); iterator != NULL; iterator = g_list_next(streamdir->category_list)) {
+	for (iterator = g_list_first(streamdir->category_list); iterator != NULL; iterator = g_list_next(iterator)) {
 		category = iterator->data;
-		if (!strncasecmp(category->name, name, DEF_STRING_LEN))
+		if (strncasecmp(category->name, name, DEF_STRING_LEN) == 0)
 			return category;
 	}
 	
@@ -87,13 +87,19 @@
 	return g_list_length(streamdir->category_list);
 }
 
+gint category_get_index(streamdir_t *streamdir, category_t *category)
+{
+	return g_list_index(streamdir->category_list, category);
+}
 
-streaminfo_t* streaminfo_new(gchar *name, gchar *url)
+
+streaminfo_t* streaminfo_new(gchar *name, gchar *playlist_url, gchar *current_track)
 {
 	streaminfo_t *streaminfo = (streaminfo_t*) g_malloc(sizeof(streaminfo_t));
 	strncpy(streaminfo->name, name, DEF_STRING_LEN);
-	strncpy(streaminfo->url, url, DEF_STRING_LEN);
-	
+	strncpy(streaminfo->playlist_url, playlist_url, DEF_STRING_LEN);
+	strncpy(streaminfo->current_track, current_track, DEF_STRING_LEN);
+
 	return streaminfo;
 }
 
@@ -122,9 +128,9 @@
 	GList *iterator;
 	streaminfo_t *streaminfo;
 	
-	for (iterator = g_list_first(category->streaminfo_list); iterator != NULL; iterator = g_list_next(category->streaminfo_list)) {
+	for (iterator = g_list_first(category->streaminfo_list); iterator != NULL; iterator = g_list_next(iterator)) {
 		streaminfo = iterator->data;
-		if (!strncasecmp(streaminfo->name, name, DEF_STRING_LEN))
+		if (strncasecmp(streaminfo->name, name, DEF_STRING_LEN) == 0)
 			return streaminfo;
 	}
 	
@@ -136,3 +142,9 @@
 	return g_list_length(category->streaminfo_list);
 }
 
+gint streaminfo_get_index(category_t *category, streaminfo_t *streaminfo)
+{
+	return g_list_index(category->streaminfo_list, streaminfo);
+}
+
+
--- a/src/streambrowser/streamdir.h	Thu Jul 03 17:23:34 2008 +0300
+++ b/src/streambrowser/streamdir.h	Thu Jul 03 17:37:11 2008 +0300
@@ -11,7 +11,8 @@
 typedef struct {
 
 	gchar			name[DEF_STRING_LEN];
-	gchar			url[DEF_STRING_LEN];
+	gchar			playlist_url[DEF_STRING_LEN];
+	gchar			current_track[DEF_STRING_LEN];
 
 } streaminfo_t;
 
@@ -40,8 +41,9 @@
 category_t*			category_get_by_index(streamdir_t *streamdir, gint index);
 category_t*			category_get_by_name(streamdir_t *streamdir, gchar *name);
 gint				category_get_count(streamdir_t *streamdir);
+gint				category_get_index(streamdir_t *streamdir, category_t *category);
 
-streaminfo_t*			streaminfo_new(gchar *name, gchar *url);
+streaminfo_t*			streaminfo_new(gchar *name, gchar *playlist_url, gchar *current_track);
 void				streaminfo_delete(streaminfo_t *streaminfo);
 void				streaminfo_free(streaminfo_t *streaminfo);
 void				streaminfo_add(category_t *category, streaminfo_t *streaminfo);
@@ -49,6 +51,7 @@
 streaminfo_t*			streaminfo_get_by_index(category_t *category, gint index);
 streaminfo_t*			streaminfo_get_by_name(category_t *category, gchar *name);
 gint				streaminfo_get_count(category_t *category);
+gint				streaminfo_get_index(category_t *category, streaminfo_t *streaminfo);
 
 
 #endif	// STREAMDIR_H
--- a/src/wavpack/libwavpack.cxx	Thu Jul 03 17:23:34 2008 +0300
+++ b/src/wavpack/libwavpack.cxx	Thu Jul 03 17:37:11 2008 +0300
@@ -70,7 +70,6 @@
     wv_stop,
     wv_pause,
     wv_seek,
-    NULL,                       //set eq
     wv_get_time,
     NULL,                       //get volume
     NULL,                       //set volume
@@ -80,7 +79,6 @@
     NULL,
     wv_get_song_info,
     wv_file_info_box,           //info box
-    NULL,                       //output
     wv_get_song_tuple,
     wv_is_our_fd,
     (gchar **)wv_fmts,
@@ -247,9 +245,9 @@
         return true;
     }
 
-    gboolean open_audio()
+    gboolean open_audio(InputPlayback *playback)
     {
-        return wvpack->output->open_audio(SAMPLE_FMT(bits_per_sample), sample_rate, num_channels);
+        return playback->output->open_audio(SAMPLE_FMT(bits_per_sample), sample_rate, num_channels);
     }
 
     void process_buffer(InputPlayback *playback, guint32 num_samples)
@@ -334,7 +332,7 @@
 
     AUDDBG("reading WavPack file, %dHz, %d channels and %dbits\n", d.sample_rate, d.num_channels, d.bits_per_sample);
 
-    if (!d.open_audio()) {
+    if (!d.open_audio(playback)) {
         AUDDBG("error opening audio channel\n");
         killDecodeThread = true;
         AudioError = true;
@@ -362,7 +360,7 @@
                 printf("wavpack: Error decoding file.\n");
                 break;
             }
-            else if (samples_left == 0 && wvpack.output->buffer_playing() == 0) {
+            else if (samples_left == 0 && playback->output->buffer_playing() == 0) {
                 killDecodeThread = true;
                 break;
             }
@@ -532,8 +530,8 @@
     if (thread_handle != 0) {
         g_thread_join(thread_handle);
         if (openedAudio) {
-            wvpack.output->buffer_free();
-            wvpack.output->close_audio();
+            data->output->buffer_free();
+            data->output->close_audio();
         }
         openedAudio = false;
         if (AudioError)