comparison src/xs_player.c @ 784:45b8649f0ef9

Cleanup.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 06 Nov 2012 13:44:46 +0200
parents 36c6a6e629bb
children
comparison
equal deleted inserted replaced
783:37ab2fba30c8 784:45b8649f0ef9
8 #endif 8 #endif
9 9
10 10
11 /* List of emulator engines 11 /* List of emulator engines
12 */ 12 */
13 static const XSEngine xs_enginelist[] = { 13 static const XSEngine xs_enginelist[] =
14 {
14 #ifdef HAVE_SIDPLAY1 15 #ifdef HAVE_SIDPLAY1
15 {XS_ENG_SIDPLAY1, 16 {
16 xs_sidplay1_probe, 17 XS_ENG_SIDPLAY1,
17 xs_sidplay1_init, xs_sidplay1_close, 18 xs_sidplay1_probe,
18 xs_sidplay1_initsong, xs_sidplay1_fillbuffer, 19 xs_sidplay1_init, xs_sidplay1_close,
19 xs_sidplay1_load, xs_sidplay1_delete, 20 xs_sidplay1_initsong, xs_sidplay1_fillbuffer,
20 xs_sidplay1_getinfo, xs_sidplay1_updateinfo, 21 xs_sidplay1_load, xs_sidplay1_delete,
21 NULL 22 xs_sidplay1_getinfo, xs_sidplay1_updateinfo,
23 NULL
22 }, 24 },
23 #endif 25 #endif
24 #ifdef HAVE_SIDPLAY2 26 #ifdef HAVE_SIDPLAY2
25 {XS_ENG_SIDPLAY2, 27 {
26 xs_sidplay2_probe, 28 XS_ENG_SIDPLAY2,
27 xs_sidplay2_init, xs_sidplay2_close, 29 xs_sidplay2_probe,
28 xs_sidplay2_initsong, xs_sidplay2_fillbuffer, 30 xs_sidplay2_init, xs_sidplay2_close,
29 xs_sidplay2_load, xs_sidplay2_delete, 31 xs_sidplay2_initsong, xs_sidplay2_fillbuffer,
30 xs_sidplay2_getinfo, xs_sidplay2_updateinfo, 32 xs_sidplay2_load, xs_sidplay2_delete,
31 xs_sidplay2_flush 33 xs_sidplay2_getinfo, xs_sidplay2_updateinfo,
34 xs_sidplay2_flush
32 }, 35 },
33 #endif 36 #endif
34 }; 37 };
35 38
36 static const gint xs_nenginelist = (sizeof(xs_enginelist) / sizeof(xs_enginelist[0])); 39 static const gint xs_nenginelist = sizeof(xs_enginelist) / sizeof(xs_enginelist[0]);
37 40
38 41
39 gboolean xs_init_emu_engine(int *configured, XSEngineState *status) 42 gboolean xs_init_emu_engine(int *configured, XSEngineState *status)
40 { 43 {
41 gint engine; 44 gint engine;
42 gboolean initialized; 45 gboolean initialized = FALSE;
43 46
44 XSDEBUG("initializing emulator engine #%i...\n", *configured); 47 XSDEBUG("initializing emulator engine #%i...\n", *configured);
45 48
46 engine = 0; 49 for (engine = 0; engine < xs_nenginelist && !initialized; engine++)
47 initialized = FALSE; 50 {
48 while (engine < xs_nenginelist && !initialized) { 51 if (xs_enginelist[engine].plrIdent == *configured &&
49 if (xs_enginelist[engine].plrIdent == *configured) { 52 xs_enginelist[engine].plrInit(status))
50 if (xs_enginelist[engine].plrInit(status)) { 53 {
51 initialized = TRUE; 54 initialized = TRUE;
52 status->engine = (XSEngine *) & xs_enginelist[engine]; 55 status->engine = &xs_enginelist[engine];
53 }
54 } 56 }
55 engine++;
56 } 57 }
57 58
58 XSDEBUG("init#1: %s, %i\n", initialized ? "OK" : "FAILED", engine); 59 XSDEBUG("init#1: %s, %i\n", initialized ? "OK" : "FAILED", *configured);
59 60
60 engine = 0; 61 #if 0
61 while (engine < xs_nenginelist && !initialized) { 62 for (engine = 0; engine < xs_nenginelist && !initialized; engine++)
62 if (xs_enginelist[engine].plrInit(status)) { 63 {
64 if (xs_enginelist[engine].plrInit(status))
65 {
63 initialized = TRUE; 66 initialized = TRUE;
64 status->engine = (XSEngine *) &xs_enginelist[engine]; 67 status->engine = &xs_enginelist[engine];
65 *configured = xs_enginelist[engine].plrIdent; 68 *configured = xs_enginelist[engine].plrIdent;
66 } else 69 }
67 engine++;
68 } 70 }
69 71
70 XSDEBUG("init#2: %s, %i\n", initialized ? "OK" : "FAILED", engine); 72 XSDEBUG("init#2: %s, %i\n", initialized ? "OK" : "FAILED", *configured);
73 #endif
74
71 return initialized; 75 return initialized;
72 } 76 }
73 77