changeset 200:ec8b735f5418

Support for libNanoSID dropped.
author Matti Hamalainen <ccr@tnsp.org>
date Thu, 19 Aug 2004 19:06:02 +0000
parents 6117c326cc3e
children 6a82506329ae
files INSTALL Makefile.am README TODO acinclude.m4 configure.in src/xmms-sid.c src/xs_config.c src/xs_config.h src/xs_nanosid.c src/xs_nanosid.h xmms-sid.glade
diffstat 12 files changed, 204 insertions(+), 510 deletions(-) [+]
line wrap: on
line diff
--- a/INSTALL	Wed Aug 18 15:23:05 2004 +0000
+++ b/INSTALL	Thu Aug 19 19:06:02 2004 +0000
@@ -16,7 +16,6 @@
 
    * libSIDPlay1
    * libSIDPlay2
-   * NanoSID
 
 Only one is required, but all are supported. You may also need
 some supplementary libraries, that  are required by the emulator
@@ -60,17 +59,6 @@
 WORK! Later versions MAY work, but I can't really guarantee that.
 
 
-Where to get NanoSID?
-=====================
-libNanoSID is available from LolOLOlo's pages:
-
-http://www.sid6581.org/NanoSID/
-
-The configure looks the "libNanoSID.a" and "libNanoSID.h"
-from the standard locations, but you can also specify them
-yourself if you don't wish to "install" them.
-
-
 Building a CVS-version
 ======================
 To build a CVS-version of XMMS-SID, you need to have latest
--- a/Makefile.am	Wed Aug 18 15:23:05 2004 +0000
+++ b/Makefile.am	Thu Aug 19 19:06:02 2004 +0000
@@ -57,11 +57,11 @@
 lib_LTLIBRARIES = libxmmssid.la
 
 # Generals
-AM_CFLAGS   = -W -Wall -D_REENTRANT @XMMS_CFLAGS@ @SIDPLAY1_INCLUDES@ @SIDPLAY2_INCLUDES@ @BUILDERS_INCLUDES@ @NANOSID_INCLUDES@
+AM_CFLAGS   = -W -Wall -D_REENTRANT @XMMS_CFLAGS@ @SIDPLAY1_INCLUDES@ @SIDPLAY2_INCLUDES@ @BUILDERS_INCLUDES@
 AM_CXXFLAGS = $(AM_CFLAGS)
 
 libxmmssid_la_LDFLAGS = -module -avoid-version @BUILDERS_LDFLAGS@
-libxmmssid_la_LIBADD  = @XMMS_LIBS@ @SIDPLAY1_LDADD@ @SIDPLAY2_LDADD@ @RESID_LDADD@ @HARDSID_LDADD@ @NANOSID_LDADD@ 
+libxmmssid_la_LIBADD  = @XMMS_LIBS@ @SIDPLAY1_LDADD@ @SIDPLAY2_LDADD@ @RESID_LDADD@ @HARDSID_LDADD@
 
 # Plugin sources
 libxmmssid_la_SOURCES =	\
@@ -78,5 +78,4 @@
 	src/xs_sidplay.h				\
 	src/xs_sidplay1.cc	src/xs_sidplay1.h	\
 	src/xs_sidplay2.cc	src/xs_sidplay2.h	\
-	src/xs_nanosid.c	src/xs_nanosid.h	\
 	src/xmms-sid.c		src/xmms-sid.h
--- a/README	Wed Aug 18 15:23:05 2004 +0000
+++ b/README	Thu Aug 19 19:06:02 2004 +0000
@@ -54,20 +54,16 @@
   eventually.
 
   
-- libNanoSID: An obscure binary-only emulation library that only plays
-  special ZSID-format files, which are not compatible with PSID-formats.
-  Pros: Fast emulation, supposedly good filter-emulation.
-  Cons: Does not support normal PSID-files directly, binary-only library
-  which only works on x86-Linux architechture.
-
-
 Conclusion thus is as follows: If you are using an old system with not
 much spare CPU-power, choose libSIDPlay v1. On a relatively recent
 system (more powerful than Pentium III 500MHz) you may wish to choose
 libSIDPlay v2, although your mileage may vary.
 
-libNanoSID is for those who need support for ZSID-format, most people
-don't have any reason to concern themselves with it.
+
+
+Configuration
+=============
+
 
 
 Usage
--- a/TODO	Wed Aug 18 15:23:05 2004 +0000
+++ b/TODO	Thu Aug 19 19:06:02 2004 +0000
@@ -8,7 +8,6 @@
 - Commit the oversampling filter code in
 - Subtune INFO selector does not have text when the
   fileinfo window is first opened, why?
-- Commit libNanoSID support in
 
 RC1:
 - Update songpos-patch to latest XMMS release
--- a/acinclude.m4	Wed Aug 18 15:23:05 2004 +0000
+++ b/acinclude.m4	Thu Aug 19 19:06:02 2004 +0000
@@ -478,109 +478,3 @@
 ])
 
 
-dnl -------------------------------------------------------------------------
-dnl Try to find NanoSID library and header files.
-dnl $xs_have_nanosid will be "yes" or "no"
-dnl @NANOSID_LDADD@ will be substituted with linker parameters
-dnl @NANOSID_INCLUDES@ will be substituted with compiler parameters
-dnl -------------------------------------------------------------------------
-
-AC_DEFUN(XS_PATH_LIBNANOSID,
-[
-    AC_MSG_CHECKING([for working NanoSID library and headers])
-
-    AC_LANG_PUSH(C)
-
-    # Use include path given by user (if any).
-    if test -n "$xs_nanosid_includes"; then
-        xs_nanosid_cflags="-I$xs_nanosid_includes"
-    else
-        xs_nanosid_cflags=""
-    fi
-
-    # Use library path given by user (if any).
-    if test -n "$xs_nanosid_library"; then
-        xs_nanosid_ldflags="-L$xs_nanosid_library"
-    else
-        xs_nanosid_ldflags=""
-    fi
-
-    AC_CACHE_VAL(xs_cv_have_nanosid,
-    [
-        # Run test compilation with either standard search path
-        # or user-defined paths.
-        MY_TRY_LIBNANOSID
-        if test "$xs_nanosid_works" = yes; then
-          xs_cv_have_nanosid="xs_have_nanosid=yes  \
-            xs_nanosid_cflags=\"$xs_nanosid_cflags\"  \
-            xs_nanosid_ldflags=\"$xs_nanosid_ldflags\"  "
-        else
-            MY_FIND_LIBNANOSID        
-        fi
-    ])
-
-    eval "$xs_cv_have_nanosid"
-
-    if test "$xs_have_nanosid" = yes; then
-        if test -n "$xs_nanosid_cflags" || test -n "$xs_nanosid_ldflags"; then
-            AC_MSG_RESULT([$xs_nanosid_cflags $xs_nanosid_ldflags])
-        else
-            AC_MSG_RESULT([yes])
-        fi
-
-    NANOSID_LDADD="$xs_nanosid_ldflags -lNanoSID -lm -lz"
-    NANOSID_INCLUDES="$xs_nanosid_cflags"
-    AC_SUBST(NANOSID_LDADD)
-    AC_SUBST(NANOSID_INCLUDES)
-    else
-        AC_MSG_RESULT([no])
-    fi
-
-    AC_LANG_POP(C)
-])
-
-dnl Functions used by XS_PATH_LIBNANOSID.
-
-AC_DEFUN(MY_FIND_LIBNANOSID,
-[
-    # Search common locations where header files might be stored.
-    xs_nanosid_incdirs="$xs_nanosid_includes /usr/include /usr/local/include"
-    MY_FIND_FILE(libNanoSID.h, $xs_nanosid_incdirs, xs_nanosid_includes)
-
-    # Search common locations where library might be stored.
-    xs_nanosid_libdirs="$xs_nanosid_library /usr/lib /usr/local/lib"
-    MY_FIND_FILE(libNanoSID.a, $xs_nanosid_libdirs, xs_nanosid_library)
-
-    if test -z "$xs_nanosid_includes" || test -z "$xs_nanosid_library"; then
-        xs_cv_have_nanosid="xs_have_nanosid=no  \
-          xs_nanosid_ldflags=\"\" xs_nanosid_cflags=\"\"  "
-    else
-        # Test compilation with found paths.
-        xs_nanosid_ldflags="-L$xs_nanosid_library"
-        xs_nanosid_cflags="-I$xs_nanosid_includes"
-        MY_TRY_LIBNANOSID
-        xs_cv_have_nanosid="xs_have_nanosid=$xs_nanosid_works  \
-          xs_nanosid_ldflags=\"$xs_nanosid_ldflags\"  \
-          xs_nanosid_cflags=\"$xs_nanosid_cflags\"  "
-    fi
-])
-
-AC_DEFUN(MY_TRY_LIBNANOSID,
-[
-    MY_TRY_LINK_SAVE
-
-    CFLAGS="$CFLAGS $xs_nanosid_cflags"
-    LDFLAGS="$LDFLAGS $xs_nanosid_ldflags"
-    LIBS="$LIBS -lNanoSID -lm -lz"
-
-    AC_LINK_IFELSE([AC_LANG_PROGRAM(
-        [[#include <libNanoSID.h>]],
-        [[libNanoSID_Init();libNanoSID_GetSamplingRate();libNanoSID_GetANewSIDChip();]])],
-        [xs_nanosid_works=yes],
-        [xs_nanosid_works=no]
-    )
-
-    MY_TRY_LINK_RESTORE
-])
-
-
--- a/configure.in	Wed Aug 18 15:23:05 2004 +0000
+++ b/configure.in	Thu Aug 19 19:06:02 2004 +0000
@@ -20,7 +20,6 @@
 AH_TEMPLATE([HAVE_XMMSEXTRA],[Define if you have XMMS version 1.2.5 or later and you want XMMS-SID to support some extra features.])
 AH_TEMPLATE([HAVE_SIDPLAY1],[Define if you have and want to use libSIDPlay 1])
 AH_TEMPLATE([HAVE_SIDPLAY2],[Define if you have and want to use libSIDPlay 2])
-AH_TEMPLATE([HAVE_NANOSID],[Define if you have and want to use libNanoSID])
 AH_TEMPLATE([HAVE_RESID_BUILDER],[Define if you have reSID with libSIDPlay 2])
 AH_TEMPLATE([HAVE_HARDSID_BUILDER],[Define if you have HardSID with libSIDPlay 2])
 
@@ -144,43 +143,6 @@
 
 
 dnl ***
-dnl *** libNanoSID options
-dnl ***
-AC_ARG_WITH(nanosid,
-[
-  --with-nanosid=PREFIX   Enable NanoSID with PREFIX],
-[
-if test "$withval" = yes; then
-xs_nanosid=yes
-xs_nanosid_library=""
-xs_nanosid_includes=""
-else
-if test "$withval" = no; then
-	xs_nanosid=no
-	else
-	xs_nanosid=yes
-	xs_nanosid_includes="$withval/include"
-	xs_nanosid_library="$withval/lib"
-	fi
-fi
-],[
-xs_nanosid=xtry
-xs_nanosid_library=""
-xs_nanosid_includes=""
-])
-
-
-AC_ARG_WITH(nanosid-inc,
-[  --with-nanosid-inc=DIR    Where the NanoSID headers are located],
-[xs_nanosid_includes="$withval"],)
-
-
-AC_ARG_WITH(sidplay1-lib,
-[  --with-nanosid-lib=DIR    Where the NanoSID library is installed],
-[xs_nanosid_library="$withval"],)
-
-
-dnl ***
 dnl *** Determine if libraries are wanted and available
 dnl ***
 OPT_SIDPLAY1="no"
@@ -225,31 +187,12 @@
 fi
 
 
-OPT_NANOSID="no"
-if test "$xs_nanosid" = xtry; then
-	XS_PATH_LIBNANOSID
-	else
-	if test "$xs_nanosid" = yes; then
-		XS_PATH_LIBNANOSID
-		if test "$xs_have_nanosid" = no; then
-		AC_MSG_ERROR([libNanoSID library and/or headers were not found!])
-		fi
-	fi
-fi
-if test "$xs_have_nanosid" = yes; then
-	AC_DEFINE(HAVE_NANOSID)
-	OPT_NANOSID="yes"
-fi
-
-
 dnl ***
 dnl *** Check if we have some emulator library available?
 dnl ***
 if test "$OPT_SIDPLAY1" = no; then
 if test "$OPT_SIDPLAY2" = no; then
-if test "$OPT_NANOSID" = no; then
-AC_MSG_ERROR([Either libSIDPlay1, libSIDPlay2 or libNanoSID is required! Please read INSTALL for more information!])
-fi
+AC_MSG_ERROR([Either libSIDPlay1 or libSIDPlay2 is required! Please read INSTALL for more information!])
 fi
 fi
 
@@ -314,6 +257,5 @@
 	libSIDPlay 1 support          : $OPT_SIDPLAY1
 	libSIDPlay 2 support          : $OPT_SIDPLAY2
 		Included builders     : $xs_builders
-	libNanoSID support            : $OPT_NANOSID
 
 ])
--- a/src/xmms-sid.c	Wed Aug 18 15:23:05 2004 +0000
+++ b/src/xmms-sid.c	Thu Aug 19 19:06:02 2004 +0000
@@ -49,9 +49,6 @@
 #ifdef HAVE_SIDPLAY2
 #include "xs_sidplay2.h"
 #endif
-#ifdef HAVE_NANOSID
-#include "xs_nanosid.h"
-#endif
 
 
 /*
@@ -92,15 +89,6 @@
 		xs_sidplay2_getsidinfo
 	},
 #endif
-#ifdef HAVE_NANOSID
-	{ XS_ENG_NANOSID,
-		xs_nanosid_isourfile,
-		xs_nanosid_init, xs_nanosid_close,
-		xs_nanosid_initsong, xs_nanosid_fillbuffer,
-		xs_nanosid_loadsid, xs_nanosid_deletesid,
-		xs_nanosid_getsidinfo
-	},
-#endif
 };
 
 const gint xs_nplayerlist = (sizeof(xs_playerlist) / sizeof(t_xs_player));
@@ -264,10 +252,6 @@
 		if (!strcasecmp(pcExt, "inf"))	return TRUE;
 		if (!strcasecmp(pcExt, "info"))	return TRUE;
 		break;
-
-	case XS_ENG_NANOSID:
-		if (!strcasecmp(pcExt, "zsid"))	return TRUE;
-		break;
 	}
 	}
 
--- a/src/xs_config.c	Wed Aug 18 15:23:05 2004 +0000
+++ b/src/xs_config.c	Thu Aug 19 19:06:02 2004 +0000
@@ -96,7 +96,6 @@
 
 { WTYPE_BGROUP,	CTYPE_INT,	"cfg_emu_sidplay1",	&xs_cfg.playerEngine,		XS_ENG_SIDPLAY1 },
 { WTYPE_BGROUP,	CTYPE_INT,	"cfg_emu_sidplay2",	&xs_cfg.playerEngine,		XS_ENG_SIDPLAY2 },
-{ WTYPE_BGROUP,	CTYPE_INT,	"cfg_emu_nanosid",	&xs_cfg.playerEngine,		XS_ENG_NANOSID },
 { WTYPE_BGROUP,	CTYPE_INT,	"cfg_emu_mem_real",	&xs_cfg.memoryMode,		XS_MPU_REAL },
 { WTYPE_BGROUP,	CTYPE_INT,	"cfg_emu_mem_banksw",	&xs_cfg.memoryMode,		XS_MPU_BANK_SWITCHING },
 { WTYPE_BGROUP,	CTYPE_INT,	"cfg_emu_mem_transrom",	&xs_cfg.memoryMode,		XS_MPU_TRANSPARENT_ROM },
@@ -128,10 +127,10 @@
 { WTYPE_TEXT,	CTYPE_STR,	"cfg_stil_dbpath",	&xs_cfg.stilDBPath,		0 },
 { WTYPE_TEXT,	CTYPE_STR,	"cfg_hvsc_path",	&xs_cfg.hvscPath,		0 },
 
-{ WTYPE_BGROUP,	CTYPE_INT,	"cfg_subsong_none",	&xs_cfg.subsongControl,		XS_SSC_NONE },
-{ WTYPE_BGROUP,	CTYPE_INT,	"cfg_subsong_seek",	&xs_cfg.subsongControl,		XS_SSC_SEEK },
-{ WTYPE_BGROUP,	CTYPE_INT,	"cfg_subsong_popup",	&xs_cfg.subsongControl,		XS_SSC_POPUP },
-{ WTYPE_BGROUP,	CTYPE_INT,	"cfg_subsong_patch",	&xs_cfg.subsongControl,		XS_SSC_PATCH },
+{ WTYPE_BGROUP,	CTYPE_INT,	"cfg_subctrl_none",	&xs_cfg.subsongControl,		XS_SSC_NONE },
+{ WTYPE_BGROUP,	CTYPE_INT,	"cfg_subctrl_seek",	&xs_cfg.subsongControl,		XS_SSC_SEEK },
+{ WTYPE_BGROUP,	CTYPE_INT,	"cfg_subctrl_popup",	&xs_cfg.subsongControl,		XS_SSC_POPUP },
+{ WTYPE_BGROUP,	CTYPE_INT,	"cfg_subctrl_patch",	&xs_cfg.subsongControl,		XS_SSC_PATCH },
 
 { WTYPE_BUTTON,	CTYPE_BOOL,	"cfg_detectmagic",	&xs_cfg.detectMagic,		0 },
 
@@ -183,13 +182,9 @@
  xs_cfg.playerEngine		= XS_ENG_SIDPLAY1;
  xs_cfg.memoryMode		= XS_MPU_BANK_SWITCHING;
 #else
-#ifdef HAVE_NANOSID
- xs_cfg.playerEngine		= XS_ENG_NANOSID;
-#else
 #error This should not happen! No emulator engines configured in!
 #endif
 #endif
-#endif
 
  xs_cfg.clockSpeed		= XS_CLOCK_PAL;
  xs_cfg.forceSpeed		= FALSE;
@@ -637,11 +632,6 @@
 }
 
 
-void xs_cfg_emu_nanosid_toggled(GtkToggleButton *togglebutton, gpointer user_data)
-{
-}
-
-
 void xs_cfg_oversample_toggled(GtkToggleButton *togglebutton, gpointer user_data)
 {
  gboolean isActive = GTK_TOGGLE_BUTTON(LUW("cfg_oversample"))->active;
@@ -758,17 +748,13 @@
  gtk_widget_set_sensitive(LUW("cfg_emu_sidplay2"), FALSE);
 #endif
 
-#ifndef HAVE_NANOSID
- gtk_widget_set_sensitive(LUW("cfg_emu_nanosid"), FALSE);
-#endif
-
 #ifndef HAVE_XMMSEXTRA
  gtk_widget_set_sensitive(LUW("cfg_ftitle_override"), FALSE);
  xs_cfg.titleOverride = TRUE;
 #endif
 
 #ifndef HAVE_SONG_POSITION
- gtk_widget_set_sensitive(LUW("cfg_subsong_patch"), FALSE);
+ gtk_widget_set_sensitive(LUW("cfg_subctrl_patch"), FALSE);
 #endif
 
  /* Update the widget sensitivities */
@@ -776,7 +762,6 @@
  xs_cfg_ftitle_override_toggled(NULL, NULL);
  xs_cfg_emu_sidplay1_toggled(NULL, NULL);
  xs_cfg_emu_sidplay2_toggled(NULL, NULL);
- xs_cfg_emu_nanosid_toggled(NULL, NULL);
  xs_cfg_oversample_toggled(NULL, NULL);
  xs_cfg_mintime_enable_toggled(NULL, NULL);
  xs_cfg_maxtime_enable_toggled(NULL, NULL);
--- a/src/xs_config.h	Wed Aug 18 15:23:05 2004 +0000
+++ b/src/xs_config.h	Thu Aug 19 19:06:02 2004 +0000
@@ -13,7 +13,6 @@
 enum XS_EMUENGINE {
 	XS_ENG_SIDPLAY1 = 1,
 	XS_ENG_SIDPLAY2,
-	XS_ENG_NANOSID	
 };
 
 
--- a/src/xs_nanosid.c	Wed Aug 18 15:23:05 2004 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,139 +0,0 @@
-/*
-   XMMS-SID - SIDPlay input plugin for X MultiMedia System (XMMS)
-
-   NanoSID support
-
-   Written by Matti "ccr" Hamalainen <ccr@tnsp.org>
-
-   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.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*/
-#include "xmms-sid.h"
-
-#ifdef HAVE_NANOSID
-
-#include "xs_nanosid.h"
-#include <stdio.h>
-#include <xmms/titlestring.h>
-#include "xs_config.h"
-#include "xs_support.h"
-#include <libNanoSID.h>
-
-
-typedef struct {
-} t_xs_nanosid;
-
-
-/*
- * Check if we can play the given file
- */
-gboolean xs_nanosid_isourfile(gchar *pcFilename)
-{
- if (strstr(pcFilename, ".zsid"))
-	return TRUE;
-	else
-	return FALSE;
-}
-
-
-/*
- * Initialize NanoSID
- */
-gboolean xs_nanosid_init(t_xs_status *myStatus)
-{
- t_xs_nanosid *myPlayer;
- assert(myStatus);
-
- /* Allocate internal structures */
- myPlayer = (t_xs_nanosid *) g_malloc0(sizeof(t_xs_nanosid));
- if (!myPlayer) return FALSE;
-
- /* Initialize engine */
-
-
-
- myStatus->player = myPlayer;
- return TRUE;
-}
-
-
-/*
- * Close NanoSID
- */
-void xs_nanosid_close(t_xs_status *myStatus)
-{
- t_xs_nanosid *myPlayer;
- assert(myStatus);
-
- /* Free internals */
- myPlayer = (t_xs_nanosid *) myStatus->player;
-
-
-
-
- g_free(myPlayer);
- myStatus->player = NULL;
-}
-
-
-gboolean xs_nanosid_initsong(t_xs_status *myStatus)
-{
- t_xs_nanosid *myPlayer = (t_xs_nanosid *) myStatus->player;
-
- if (!myPlayer) return FALSE;
-
-}
-
-
-guint xs_nanosid_fillbuffer(t_xs_status *myStatus, gchar *audioBuffer, guint audioBufSize)
-{
- t_xs_nanosid *myPlayer = (t_xs_nanosid *) myStatus->player;
-
- if (!myPlayer) return -1;
-
- return audioBufSize;
-}
-
-
-gboolean xs_nanosid_loadsid(t_xs_status *myStatus, gchar *pcFilename)
-{
- t_xs_nanosid *myPlayer = (t_xs_nanosid *) myStatus->player;
- assert(myStatus);
-
- /* Try to get the tune */
- if (!pcFilename) return FALSE;
-
- return FALSE;
-}
-
-
-/*
- * Delete INTERNAL information
- */
-void xs_nanosid_deletesid(t_xs_status *myStatus)
-{
- t_xs_nanosid *myPlayer;
- assert(myStatus);
-
- myPlayer = (t_xs_nanosid *) myStatus->player;
- if (!myPlayer) return;
-}
-
-
-/*
- * Return song information
- */
-
-
-#endif	/* HAVE_NANOSID */
--- a/src/xs_nanosid.h	Wed Aug 18 15:23:05 2004 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-#ifndef _XS_NANOSID_H
-#define _XS_NANOSID_H
-
-#include "xmms-sid.h"
-
-gboolean	xs_nanosid_isourfile(gchar *);
-void		xs_nanosid_close(t_xs_status *);
-gboolean	xs_nanosid_init(t_xs_status *);
-gboolean	xs_nanosid_initsong(t_xs_status *);
-guint		xs_nanosid_fillbuffer(t_xs_status *, gchar *, guint);
-gboolean	xs_nanosid_loadsid(t_xs_status *, gchar *);
-void		xs_nanosid_deletesid(t_xs_status *);
-t_xs_tune*	xs_nanosid_getsidinfo(gchar *);
-
-#endif /* _XS_NANOSID_H */
--- a/xmms-sid.glade	Wed Aug 18 15:23:05 2004 +0000
+++ b/xmms-sid.glade	Thu Aug 19 19:06:02 2004 +0000
@@ -91,12 +91,11 @@
 	      <name>vbox9</name>
 	      <border_width>2</border_width>
 	      <homogeneous>False</homogeneous>
-	      <spacing>0</spacing>
+	      <spacing>2</spacing>
 
 	      <widget>
 		<class>GtkRadioButton</class>
 		<name>cfg_res_8bit</name>
-		<border_width>2</border_width>
 		<can_focus>True</can_focus>
 		<label>8-bit</label>
 		<active>False</active>
@@ -112,7 +111,6 @@
 	      <widget>
 		<class>GtkRadioButton</class>
 		<name>cfg_res_16bit</name>
-		<border_width>2</border_width>
 		<can_focus>True</can_focus>
 		<label>16-bit</label>
 		<active>False</active>
@@ -145,12 +143,11 @@
 	      <name>vbox10</name>
 	      <border_width>2</border_width>
 	      <homogeneous>False</homogeneous>
-	      <spacing>0</spacing>
+	      <spacing>2</spacing>
 
 	      <widget>
 		<class>GtkRadioButton</class>
 		<name>cfg_chn_mono</name>
-		<border_width>2</border_width>
 		<can_focus>True</can_focus>
 		<label>Mono</label>
 		<active>False</active>
@@ -166,7 +163,6 @@
 	      <widget>
 		<class>GtkRadioButton</class>
 		<name>cfg_chn_stereo</name>
-		<border_width>2</border_width>
 		<can_focus>True</can_focus>
 		<label>Stereo</label>
 		<active>False</active>
@@ -182,7 +178,6 @@
 	      <widget>
 		<class>GtkRadioButton</class>
 		<name>cfg_chn_autopan</name>
-		<border_width>2</border_width>
 		<can_focus>True</can_focus>
 		<label>Autopanning</label>
 		<active>False</active>
@@ -288,12 +283,11 @@
 	    <name>vbox27</name>
 	    <border_width>2</border_width>
 	    <homogeneous>False</homogeneous>
-	    <spacing>0</spacing>
+	    <spacing>2</spacing>
 
 	    <widget>
 	      <class>GtkCheckButton</class>
 	      <name>cfg_oversample</name>
-	      <border_width>2</border_width>
 	      <can_focus>True</can_focus>
 	      <signal>
 		<name>toggled</name>
@@ -420,12 +414,11 @@
 	    <name>vbox26</name>
 	    <border_width>2</border_width>
 	    <homogeneous>False</homogeneous>
-	    <spacing>0</spacing>
+	    <spacing>2</spacing>
 
 	    <widget>
 	      <class>GtkRadioButton</class>
 	      <name>cfg_emu_sidplay1</name>
-	      <border_width>2</border_width>
 	      <tooltip>Use libSIDPlay 1.x emulation, faster but not so accurate. Good in most cases, though.</tooltip>
 	      <can_focus>True</can_focus>
 	      <signal>
@@ -447,7 +440,6 @@
 	    <widget>
 	      <class>GtkRadioButton</class>
 	      <name>cfg_emu_sidplay2</name>
-	      <border_width>2</border_width>
 	      <tooltip>Use libSIDPlay 2.x emulation, which requires powerful CPU due to more exact emulation.</tooltip>
 	      <can_focus>True</can_focus>
 	      <signal>
@@ -465,28 +457,6 @@
 		<fill>False</fill>
 	      </child>
 	    </widget>
-
-	    <widget>
-	      <class>GtkRadioButton</class>
-	      <name>cfg_emu_nanosid</name>
-	      <border_width>2</border_width>
-	      <tooltip>Use libSIDPlay 2.x emulation, which requires powerful CPU due to more exact emulation.</tooltip>
-	      <can_focus>True</can_focus>
-	      <signal>
-		<name>toggled</name>
-		<handler>xs_cfg_emu_nanosid_toggled</handler>
-		<last_modification_time>Mon, 15 Sep 2003 12:13:09 GMT</last_modification_time>
-	      </signal>
-	      <label>NanoSID</label>
-	      <active>False</active>
-	      <draw_indicator>True</draw_indicator>
-	      <group>emulator</group>
-	      <child>
-		<padding>0</padding>
-		<expand>False</expand>
-		<fill>False</fill>
-	      </child>
-	    </widget>
 	  </widget>
 	</widget>
 
@@ -508,7 +478,7 @@
 	    <name>vbox5</name>
 	    <border_width>2</border_width>
 	    <homogeneous>False</homogeneous>
-	    <spacing>0</spacing>
+	    <spacing>2</spacing>
 
 	    <widget>
 	      <class>GtkRadioButton</class>
@@ -621,12 +591,11 @@
 	      <name>vbox4</name>
 	      <border_width>2</border_width>
 	      <homogeneous>False</homogeneous>
-	      <spacing>0</spacing>
+	      <spacing>2</spacing>
 
 	      <widget>
 		<class>GtkRadioButton</class>
 		<name>cfg_emu_clock_pal</name>
-		<border_width>2</border_width>
 		<can_focus>True</can_focus>
 		<label>PAL (50 Hz)</label>
 		<active>False</active>
@@ -642,7 +611,6 @@
 	      <widget>
 		<class>GtkRadioButton</class>
 		<name>cfg_emu_clock_ntsc</name>
-		<border_width>2</border_width>
 		<can_focus>True</can_focus>
 		<label>NTSC (60 Hz)</label>
 		<active>False</active>
@@ -689,7 +657,7 @@
 	      <name>vbox3</name>
 	      <border_width>2</border_width>
 	      <homogeneous>False</homogeneous>
-	      <spacing>0</spacing>
+	      <spacing>2</spacing>
 
 	      <widget>
 		<class>GtkRadioButton</class>
@@ -740,13 +708,13 @@
 	  <widget>
 	    <class>GtkVBox</class>
 	    <name>vbox30</name>
+	    <border_width>2</border_width>
 	    <homogeneous>False</homogeneous>
-	    <spacing>0</spacing>
+	    <spacing>2</spacing>
 
 	    <widget>
 	      <class>GtkCheckButton</class>
 	      <name>cfg_emu_sidplay2_opt</name>
-	      <border_width>2</border_width>
 	      <can_focus>True</can_focus>
 	      <label>Optimization mode (faster, inaccurate)</label>
 	      <active>False</active>
@@ -761,7 +729,6 @@
 	    <widget>
 	      <class>GtkRadioButton</class>
 	      <name>cfg_emu_sidplay2_resid</name>
-	      <border_width>2</border_width>
 	      <can_focus>True</can_focus>
 	      <label>reSID-emulation</label>
 	      <active>False</active>
@@ -777,7 +744,6 @@
 	    <widget>
 	      <class>GtkRadioButton</class>
 	      <name>cfg_emu_sidplay2_hardsid</name>
-	      <border_width>2</border_width>
 	      <can_focus>True</can_focus>
 	      <label>HardSID</label>
 	      <active>False</active>
@@ -1040,12 +1006,11 @@
 	    <name>vbox32</name>
 	    <border_width>2</border_width>
 	    <homogeneous>False</homogeneous>
-	    <spacing>0</spacing>
+	    <spacing>2</spacing>
 
 	    <widget>
 	      <class>GtkCheckButton</class>
 	      <name>cfg_mintime_enable</name>
-	      <border_width>2</border_width>
 	      <can_focus>True</can_focus>
 	      <signal>
 		<name>toggled</name>
@@ -1065,9 +1030,8 @@
 	    <widget>
 	      <class>GtkHBox</class>
 	      <name>hbox18</name>
-	      <border_width>2</border_width>
 	      <homogeneous>False</homogeneous>
-	      <spacing>0</spacing>
+	      <spacing>2</spacing>
 	      <child>
 		<padding>2</padding>
 		<expand>False</expand>
@@ -1157,12 +1121,11 @@
 	    <name>vbox21</name>
 	    <border_width>2</border_width>
 	    <homogeneous>False</homogeneous>
-	    <spacing>0</spacing>
+	    <spacing>2</spacing>
 
 	    <widget>
 	      <class>GtkCheckButton</class>
 	      <name>cfg_maxtime_enable</name>
-	      <border_width>2</border_width>
 	      <can_focus>True</can_focus>
 	      <signal>
 		<name>toggled</name>
@@ -1182,7 +1145,6 @@
 	    <widget>
 	      <class>GtkCheckButton</class>
 	      <name>cfg_maxtime_unknown</name>
-	      <border_width>2</border_width>
 	      <can_focus>True</can_focus>
 	      <label>Only when song-length is unknown</label>
 	      <active>False</active>
@@ -1197,9 +1159,8 @@
 	    <widget>
 	      <class>GtkHBox</class>
 	      <name>hbox14</name>
-	      <border_width>2</border_width>
 	      <homogeneous>False</homogeneous>
-	      <spacing>0</spacing>
+	      <spacing>2</spacing>
 	      <child>
 		<padding>2</padding>
 		<expand>False</expand>
@@ -1289,12 +1250,11 @@
 	    <name>vbox18</name>
 	    <border_width>2</border_width>
 	    <homogeneous>False</homogeneous>
-	    <spacing>0</spacing>
+	    <spacing>2</spacing>
 
 	    <widget>
 	      <class>GtkCheckButton</class>
 	      <name>cfg_sld_enable</name>
-	      <border_width>2</border_width>
 	      <tooltip>This option enables using of XSIDPLAY compatible HVSC Song-length database. (See documentation for more information)</tooltip>
 	      <can_focus>True</can_focus>
 	      <signal>
@@ -1315,7 +1275,6 @@
 	    <widget>
 	      <class>GtkHBox</class>
 	      <name>hbox13</name>
-	      <border_width>2</border_width>
 	      <homogeneous>False</homogeneous>
 	      <spacing>4</spacing>
 	      <child>
@@ -1417,12 +1376,11 @@
 	    <name>vbox8</name>
 	    <border_width>2</border_width>
 	    <homogeneous>True</homogeneous>
-	    <spacing>0</spacing>
+	    <spacing>2</spacing>
 
 	    <widget>
 	      <class>GtkCheckButton</class>
 	      <name>cfg_stil_enable</name>
-	      <border_width>2</border_width>
 	      <can_focus>True</can_focus>
 	      <signal>
 		<name>toggled</name>
@@ -1625,7 +1583,7 @@
 	    <name>vbox16</name>
 	    <border_width>2</border_width>
 	    <homogeneous>False</homogeneous>
-	    <spacing>0</spacing>
+	    <spacing>2</spacing>
 
 	    <widget>
 	      <class>GtkCheckButton</class>
@@ -1753,11 +1711,11 @@
 	    <name>vbox31</name>
 	    <border_width>2</border_width>
 	    <homogeneous>False</homogeneous>
-	    <spacing>0</spacing>
+	    <spacing>2</spacing>
 
 	    <widget>
 	      <class>GtkRadioButton</class>
-	      <name>cfg_subsong_none</name>
+	      <name>cfg_subctrl_none</name>
 	      <tooltip>No sub-song control.</tooltip>
 	      <can_focus>True</can_focus>
 	      <label>Disabled</label>
@@ -1773,7 +1731,7 @@
 
 	    <widget>
 	      <class>GtkRadioButton</class>
-	      <name>cfg_subsong_seek</name>
+	      <name>cfg_subctrl_seek</name>
 	      <tooltip>Seeking backwards/forwards selects previous/next sub-song, similar to selector used in XMMS-SidPlay.</tooltip>
 	      <can_focus>True</can_focus>
 	      <label>Seek back/forward changes sub-song</label>
@@ -1789,7 +1747,7 @@
 
 	    <widget>
 	      <class>GtkRadioButton</class>
-	      <name>cfg_subsong_popup</name>
+	      <name>cfg_subctrl_popup</name>
 	      <tooltip>By pressing the seekbar a sub-song control window pops up, in style of UADE (Unix Amiga Delitracker Emulator)</tooltip>
 	      <can_focus>True</can_focus>
 	      <label>Pop-up via seekbar (UADE-style)</label>
@@ -1805,7 +1763,7 @@
 
 	    <widget>
 	      <class>GtkRadioButton</class>
-	      <name>cfg_subsong_patch</name>
+	      <name>cfg_subctrl_patch</name>
 	      <tooltip>Seekbar works as a subtune selector (Best option if you have patched your XMMS with the song-position patch.)</tooltip>
 	      <can_focus>True</can_focus>
 	      <label>Song-position patch</label>
@@ -1823,6 +1781,50 @@
 
 	<widget>
 	  <class>GtkFrame</class>
+	  <name>frame31</name>
+	  <border_width>4</border_width>
+	  <label>Automatic sub-tune changes: </label>
+	  <label_xalign>0</label_xalign>
+	  <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
+	  <child>
+	    <padding>0</padding>
+	    <expand>True</expand>
+	    <fill>True</fill>
+	  </child>
+
+	  <widget>
+	    <class>GtkVBox</class>
+	    <name>vbox35</name>
+	    <border_width>2</border_width>
+	    <homogeneous>False</homogeneous>
+	    <spacing>2</spacing>
+
+	    <widget>
+	      <class>GtkCheckButton</class>
+	      <name>cfg_subauto_enable</name>
+	      <can_focus>True</can_focus>
+	      <label>Go through all sub-tunes in file</label>
+	      <active>False</active>
+	      <draw_indicator>True</draw_indicator>
+	      <child>
+		<padding>0</padding>
+		<expand>False</expand>
+		<fill>False</fill>
+	      </child>
+	    </widget>
+
+	    <widget>
+	      <class>Placeholder</class>
+	    </widget>
+
+	    <widget>
+	      <class>Placeholder</class>
+	    </widget>
+	  </widget>
+	</widget>
+
+	<widget>
+	  <class>GtkFrame</class>
 	  <name>frame22</name>
 	  <border_width>4</border_width>
 	  <label>Miscellaneous options: </label>
@@ -1844,7 +1846,6 @@
 	    <widget>
 	      <class>GtkCheckButton</class>
 	      <name>cfg_detectmagic</name>
-	      <border_width>2</border_width>
 	      <tooltip>Determine if file is a SID-tune by checking the file contents. If NOT selected, filetype is determined by checking filename extension (.sid, .dat, ...)</tooltip>
 	      <can_focus>True</can_focus>
 	      <label>Detect file by contents (slower)</label>
@@ -1943,12 +1944,10 @@
     <spacing>0</spacing>
 
     <widget>
-      <class>GtkAlignment</class>
-      <name>alignment8</name>
-      <xalign>0.5</xalign>
-      <yalign>0.5</yalign>
-      <xscale>0.1</xscale>
-      <yscale>1</yscale>
+      <class>GtkHBox</class>
+      <name>hbox19</name>
+      <homogeneous>False</homogeneous>
+      <spacing>0</spacing>
       <child>
 	<padding>0</padding>
 	<expand>False</expand>
@@ -1956,11 +1955,20 @@
       </child>
 
       <widget>
+	<class>Placeholder</class>
+      </widget>
+
+      <widget>
 	<class>GtkFrame</class>
 	<name>frame30</name>
 	<border_width>2</border_width>
 	<label_xalign>0</label_xalign>
 	<shadow_type>GTK_SHADOW_OUT</shadow_type>
+	<child>
+	  <padding>0</padding>
+	  <expand>False</expand>
+	  <fill>True</fill>
+	</child>
 
 	<widget>
 	  <class>GtkHBox</class>
@@ -2027,6 +2035,48 @@
 	  </widget>
 	</widget>
       </widget>
+
+      <widget>
+	<class>GtkVBox</class>
+	<name>vbox34</name>
+	<border_width>2</border_width>
+	<homogeneous>False</homogeneous>
+	<spacing>0</spacing>
+	<child>
+	  <padding>2</padding>
+	  <expand>False</expand>
+	  <fill>True</fill>
+	</child>
+
+	<widget>
+	  <class>GtkCheckButton</class>
+	  <name>fileinfo_subctrl_loop</name>
+	  <tooltip>Disable playtime checks for currently playing song.</tooltip>
+	  <can_focus>True</can_focus>
+	  <label>Loop forever</label>
+	  <active>False</active>
+	  <draw_indicator>True</draw_indicator>
+	  <child>
+	    <padding>0</padding>
+	    <expand>False</expand>
+	    <fill>False</fill>
+	  </child>
+	</widget>
+
+	<widget>
+	  <class>GtkCheckButton</class>
+	  <name>fileinfo_subctrl_tmp1</name>
+	  <can_focus>True</can_focus>
+	  <label>?</label>
+	  <active>False</active>
+	  <draw_indicator>True</draw_indicator>
+	  <child>
+	    <padding>0</padding>
+	    <expand>False</expand>
+	    <fill>False</fill>
+	  </child>
+	</widget>
+      </widget>
     </widget>
 
     <widget>
@@ -2274,53 +2324,24 @@
 	<spacing>0</spacing>
 
 	<widget>
-	  <class>GtkHBox</class>
-	  <name>hbox7</name>
-	  <border_width>2</border_width>
-	  <homogeneous>False</homogeneous>
-	  <spacing>0</spacing>
+	  <class>GtkOptionMenu</class>
+	  <name>fileinfo_sub_tune</name>
+	  <border_width>4</border_width>
+	  <can_focus>True</can_focus>
+	  <items></items>
+	  <initial_choice>0</initial_choice>
 	  <child>
 	    <padding>0</padding>
 	    <expand>False</expand>
-	    <fill>True</fill>
+	    <fill>False</fill>
 	  </child>
-
-	  <widget>
-	    <class>GtkLabel</class>
-	    <name>label20</name>
-	    <label>Sub-tune:</label>
-	    <justify>GTK_JUSTIFY_CENTER</justify>
-	    <wrap>False</wrap>
-	    <xalign>0.5</xalign>
-	    <yalign>0.5</yalign>
-	    <xpad>0</xpad>
-	    <ypad>0</ypad>
-	    <child>
-	      <padding>0</padding>
-	      <expand>False</expand>
-	      <fill>False</fill>
-	    </child>
-	  </widget>
-
-	  <widget>
-	    <class>GtkOptionMenu</class>
-	    <name>fileinfo_sub_tune</name>
-	    <can_focus>True</can_focus>
-	    <items></items>
-	    <initial_choice>0</initial_choice>
-	    <child>
-	      <padding>2</padding>
-	      <expand>True</expand>
-	      <fill>True</fill>
-	    </child>
-	  </widget>
 	</widget>
 
 	<widget>
 	  <class>GtkTable</class>
 	  <name>table2</name>
 	  <border_width>4</border_width>
-	  <rows>2</rows>
+	  <rows>3</rows>
 	  <columns>2</columns>
 	  <homogeneous>False</homogeneous>
 	  <row_spacing>2</row_spacing>
@@ -2430,6 +2451,56 @@
 	      <yfill>False</yfill>
 	    </child>
 	  </widget>
+
+	  <widget>
+	    <class>GtkLabel</class>
+	    <name>label51</name>
+	    <label>Duration:</label>
+	    <justify>GTK_JUSTIFY_CENTER</justify>
+	    <wrap>False</wrap>
+	    <xalign>0</xalign>
+	    <yalign>0.5</yalign>
+	    <xpad>0</xpad>
+	    <ypad>0</ypad>
+	    <child>
+	      <left_attach>0</left_attach>
+	      <right_attach>1</right_attach>
+	      <top_attach>2</top_attach>
+	      <bottom_attach>3</bottom_attach>
+	      <xpad>0</xpad>
+	      <ypad>0</ypad>
+	      <xexpand>False</xexpand>
+	      <yexpand>False</yexpand>
+	      <xshrink>False</xshrink>
+	      <yshrink>False</yshrink>
+	      <xfill>True</xfill>
+	      <yfill>False</yfill>
+	    </child>
+	  </widget>
+
+	  <widget>
+	    <class>GtkEntry</class>
+	    <name>entry1</name>
+	    <can_focus>True</can_focus>
+	    <editable>False</editable>
+	    <text_visible>True</text_visible>
+	    <text_max_length>0</text_max_length>
+	    <text></text>
+	    <child>
+	      <left_attach>1</left_attach>
+	      <right_attach>2</right_attach>
+	      <top_attach>2</top_attach>
+	      <bottom_attach>3</bottom_attach>
+	      <xpad>0</xpad>
+	      <ypad>0</ypad>
+	      <xexpand>True</xexpand>
+	      <yexpand>False</yexpand>
+	      <xshrink>False</xshrink>
+	      <yshrink>False</yshrink>
+	      <xfill>True</xfill>
+	      <yfill>False</yfill>
+	    </child>
+	  </widget>
 	</widget>
 
 	<widget>
@@ -2458,33 +2529,24 @@
     </widget>
 
     <widget>
-      <class>GtkAlignment</class>
-      <name>alignment5</name>
-      <xalign>0.5</xalign>
-      <yalign>0.5</yalign>
-      <xscale>0.1</xscale>
-      <yscale>1</yscale>
+      <class>GtkButton</class>
+      <name>button2</name>
+      <can_default>True</can_default>
+      <has_default>True</has_default>
+      <can_focus>True</can_focus>
+      <has_focus>True</has_focus>
+      <signal>
+	<name>clicked</name>
+	<handler>xs_fileinfo_ok</handler>
+	<last_modification_time>Sun, 11 Jan 2004 17:04:28 GMT</last_modification_time>
+      </signal>
+      <label>Close</label>
+      <relief>GTK_RELIEF_NORMAL</relief>
       <child>
 	<padding>0</padding>
 	<expand>False</expand>
 	<fill>False</fill>
       </child>
-
-      <widget>
-	<class>GtkButton</class>
-	<name>fileinfo_ok</name>
-	<can_default>True</can_default>
-	<has_default>True</has_default>
-	<can_focus>True</can_focus>
-	<has_focus>True</has_focus>
-	<signal>
-	  <name>clicked</name>
-	  <handler>xs_fileinfo_ok</handler>
-	  <last_modification_time>Sun, 11 Jan 2004 17:04:28 GMT</last_modification_time>
-	</signal>
-	<label>Close</label>
-	<relief>GTK_RELIEF_NORMAL</relief>
-      </widget>
     </widget>
   </widget>
 </widget>