diff src/xmms-sid.c @ 872:b02f934d8224

Move some code to xs_backend.
author Matti Hamalainen <ccr@tnsp.org>
date Fri, 09 Nov 2012 04:37:25 +0200
parents 9052d9096c59
children 0fdb001e456c
line wrap: on
line diff
--- a/src/xmms-sid.c	Fri Nov 09 04:24:48 2012 +0200
+++ b/src/xmms-sid.c	Fri Nov 09 04:37:25 2012 +0200
@@ -37,62 +37,10 @@
 #include "xs_fileinfo.h"
 #include "xs_interface.h"
 #include "xs_glade.h"
-#include "xs_player.h"
+#include "xs_backend.h"
 #include "xs_slsup.h"
 
 
-/* List of emulator engines
- */
-#ifdef HAVE_SIDPLAY1
-#  include "xs_sidplay1.h"
-#endif
-#ifdef HAVE_SIDPLAY2
-#  include "xs_sidplay2.h"
-#endif
-#ifdef HAVE_SIDPLAYFP
-#  include "xs_sidplayfp.h"
-#endif
-
-static XSEngine xs_enginelist[] =
-{
-#ifdef HAVE_SIDPLAY1
-    {
-        XS_ENG_SIDPLAY1,
-        xs_sidplay1_probe,
-        xs_sidplay1_init, xs_sidplay1_close,
-        xs_sidplay1_initsong, xs_sidplay1_fillbuffer,
-        xs_sidplay1_load, xs_sidplay1_delete,
-        xs_sidplay1_getinfo, xs_sidplay1_updateinfo,
-        NULL
-    },
-#endif
-#ifdef HAVE_SIDPLAY2
-    {
-        XS_ENG_SIDPLAY2,
-        xs_sidplay2_probe,
-        xs_sidplay2_init, xs_sidplay2_close,
-        xs_sidplay2_initsong, xs_sidplay2_fillbuffer,
-        xs_sidplay2_load, xs_sidplay2_delete,
-        xs_sidplay2_getinfo, xs_sidplay2_updateinfo,
-        xs_sidplay2_flush
-    },
-#endif
-#ifdef HAVE_SIDPLAYFP
-    {
-        XS_ENG_SIDPLAYFP,
-        xs_sidplayfp_probe,
-        xs_sidplayfp_init, xs_sidplayfp_close,
-        xs_sidplayfp_initsong, xs_sidplayfp_fillbuffer,
-        xs_sidplayfp_load, xs_sidplayfp_delete,
-        xs_sidplayfp_getinfo, xs_sidplayfp_updateinfo,
-        xs_sidplayfp_flush
-    },
-#endif
-};
-
-static const gint xs_nenginelist = sizeof(xs_enginelist) / sizeof(xs_enginelist[0]);
-
-
 /* Global variables
  */
 XSEngineState xs_status;
@@ -137,9 +85,6 @@
  */
 void xs_reinit(void)
 {
-    gint engine;
-    gboolean initialized = FALSE;
-
     /* Stop playing, if we are */
     XS_MUTEX_LOCK(xs_status);
     if (xs_status.playing)
@@ -176,19 +121,7 @@
     xs_status.audioFormat = -1;
 
     /* Try to initialize emulator engine */
-    XSDEBUG("initializing emulator engine #%i...\n", xs_cfg.playerEngine);
-
-    for (engine = 0; engine < xs_nenginelist && !initialized; engine++)
-    {
-        if (xs_enginelist[engine].plrIdent == xs_cfg.playerEngine &&
-            xs_enginelist[engine].plrInit(&xs_status))
-        {
-            initialized = TRUE;
-            xs_status.engine = &xs_enginelist[engine];
-        }
-    }
-
-    XSDEBUG("init#1: %s, %i\n", initialized ? "OK" : "FAILED", xs_cfg.playerEngine);
+    xs_init_emu_backend(&xs_cfg.playerEngine);
 
     /* Get settings back, in case the chosen emulator backend changed them */
     xs_cfg.audioFrequency = xs_status.audioFrequency;