# HG changeset patch # User Matti Hamalainen # Date 1168258085 0 # Node ID f277dad3180faa37225eff1208c347bcc2d723fb # Parent a682db6511da78e48aa11b9c77248474f0e804b2 Working on the localization and fixing up the breakage in song information handling. diff -r a682db6511da -r f277dad3180f src/xmms-sid.h --- a/src/xmms-sid.h Mon Jan 08 12:07:05 2007 +0000 +++ b/src/xmms-sid.h Mon Jan 08 12:08:05 2007 +0000 @@ -154,7 +154,6 @@ typedef struct { gint tuneSpeed; gint tuneLength; - gchar *tuneTitle; gboolean tunePlayed; } t_xs_subtuneinfo; @@ -202,9 +201,10 @@ */ void *sidEngine; /* SID-emulation internal engine data */ t_xs_player *sidPlayer; /* Selected player engine */ - gboolean isError, isPlaying; + gboolean isError, isPlaying, isInit; gint currSong, /* Current sub-tune */ lastTime; + t_xs_tuneinfo *tuneInfo; } t_xs_status; @@ -232,6 +232,7 @@ void xs_get_song_info(gchar *, gchar **, gint *); void xs_about(void); + t_xs_tuneinfo *xs_tuneinfo_new(const gchar *, gint, gint, const gchar *, const gchar *, const gchar *, gint, gint, gint, gint, const gchar *); diff -r a682db6511da -r f277dad3180f src/xs_sidplay.h --- a/src/xs_sidplay.h Mon Jan 08 12:07:05 2007 +0000 +++ b/src/xs_sidplay.h Mon Jan 08 12:08:05 2007 +0000 @@ -6,7 +6,6 @@ t_xs_tuneinfo *pResult; TTUNEINFO tuneInfo; TTUNE *testTune; - gboolean haveInfo = TRUE; /* Check if the tune exists and is readable */ if ((testTune = new TTUNE(pcFilename)) == NULL) @@ -19,11 +18,10 @@ /* Get general tune information */ #ifdef _XS_SIDPLAY1_H - haveInfo = testTune->getInfo(tuneInfo); + testTune->getInfo(tuneInfo); #endif #ifdef _XS_SIDPLAY2_H tuneInfo = testTune->getInfo(); - haveInfo = TRUE; #endif /* Allocate tuneinfo structure */ @@ -31,13 +29,43 @@ tuneInfo.songs, tuneInfo.startSong, tuneInfo.infoString[0], tuneInfo.infoString[1], tuneInfo.infoString[2], tuneInfo.loadAddr, tuneInfo.initAddr, tuneInfo.playAddr, - tuneInfo.dataFileLen, tuneInfo.formatString); + tuneInfo.dataFileLen, tuneInfo.formatString, -1, -1, -1); delete testTune; return pResult; } + +t_xs_tuneinfo *TFUNCTION2(t_xs_status * myStatus) +{ + t_xs_tuneinfo *pResult; + TTUNEINFO tuneInfo; + TTUNE *testTune; + + /* Get general tune information */ +#ifdef _XS_SIDPLAY1_H + testTune->getInfo(tuneInfo); +#endif +#ifdef _XS_SIDPLAY2_H + tuneInfo = testTune->getInfo(); +#endif + + /* Allocate tuneinfo structure */ + pResult = xs_tuneinfo_new(pcFilename, + tuneInfo.songs, tuneInfo.startSong, + tuneInfo.infoString[0], tuneInfo.infoString[1], tuneInfo.infoString[2], + tuneInfo.loadAddr, tuneInfo.initAddr, tuneInfo.playAddr, + tuneInfo.dataFileLen, tuneInfo.formatString, + tuneInfo.sidModel, tuneInfo.songSpeed, tuneInfo.clockSpeed); + + delete testTune; + + return pResult; +} + + + /* Undefine these */ #undef TFUNCTION #undef TTUNEINFO diff -r a682db6511da -r f277dad3180f src/xs_sidplay1.cc --- a/src/xs_sidplay1.cc Mon Jan 08 12:07:05 2007 +0000 +++ b/src/xs_sidplay1.cc Mon Jan 08 12:08:05 2007 +0000 @@ -77,14 +77,14 @@ /* Initialize engine */ myEngine->currEng = new emuEngine(); if (!myEngine->currEng) { - xs_error("Could not initialize libSIDPlay1 emulation engine\n"); + xs_error(_("Could not initialize libSIDPlay1 emulation engine.\n")); g_free(myEngine); return FALSE; } /* Verify endianess */ if (!myEngine->currEng->verifyEndianess()) { - xs_error("Endianess verification failed\n"); + xs_error(_("Endianess verification failed.\n")); delete myEngine->currEng; g_free(myEngine); return FALSE; @@ -219,7 +219,7 @@ /* Now set the emulator configuration */ if (!myEngine->currEng->setConfig(myEngine->currConfig)) { - xs_error("Emulator engine configuration failed!\n"); + xs_error(_("Emulator engine configuration failed!\n")); return FALSE; } @@ -258,12 +258,12 @@ if (!myEngine) return FALSE; if (!myEngine->currTune) { - xs_error("Tune was NULL\n"); + xs_error(_("SID-tune struct pointer was NULL. This should not happen, report to XMMS-SID author.\n")); return FALSE; } if (!myEngine->currTune->getStatus()) { - xs_error("Tune status check failed\n"); + xs_error(_("SID-tune status check failed. This should not happen, report to XMMS-SID author.\n")); return FALSE; } diff -r a682db6511da -r f277dad3180f src/xs_sidplay2.cc --- a/src/xs_sidplay2.cc Mon Jan 08 12:07:05 2007 +0000 +++ b/src/xs_sidplay2.cc Mon Jan 08 12:08:05 2007 +0000 @@ -86,7 +86,7 @@ /* Initialize the engine */ myEngine->currEng = new sidplay2; if (!myEngine->currEng) { - xs_error("Could not initialize libSIDPlay2 emulation engine\n"); + xs_error(_("Could not initialize libSIDPlay2 emulation engine (object allocation/constructor failed)\n")); return FALSE; } @@ -199,13 +199,13 @@ /* Builder object created, initialize it */ rs->create((myEngine->currEng->info()).maxsids); if (!*rs) { - xs_error("rs->create() failed.\n"); + xs_error(_("reSID->create() failed.\n")); return FALSE; } rs->filter(xs_cfg.emulateFilters); if (!*rs) { - xs_error("rs->filter(%d) failed.\n", xs_cfg.emulateFilters); + xs_error(_("reSID->filter(%d) failed.\n"), xs_cfg.emulateFilters); return FALSE; } @@ -213,14 +213,14 @@ // ... WHEN/IF resid-builder+libsidplay2 gets fixed rs->sampling(tmpFreq); if (!*rs) { - xs_error("rs->sampling(%d) failed.\n", tmpFreq); + xs_error(_("reSID->sampling(%d) failed.\n"), tmpFreq); return FALSE; } // FIXME FIX ME: load filter spec rs->filter((sid_filter_t *) NULL); if (!*rs) { - xs_error("rs->filter(NULL) failed.\n"); + xs_error(_("reSID->filter(NULL) failed.\n")); return FALSE; } } @@ -234,13 +234,13 @@ /* Builder object created, initialize it */ hs->create((myEngine->currEng->info()).maxsids); if (!*hs) { - xs_error("hs->create() failed.\n"); + xs_error(_("hardSID->create() failed.\n")); return FALSE; } hs->filter(xs_cfg.emulateFilters); if (!*hs) { - xs_error("hs->filter(%d) failed.\n", xs_cfg.emulateFilters); + xs_error(_("hardSID->filter(%d) failed.\n"), xs_cfg.emulateFilters); return FALSE; } } @@ -248,7 +248,7 @@ #endif if (!myEngine->currBuilder) { - xs_error("Could not initialize SIDBuilder object.\n"); + xs_error(_("Could not initialize SIDBuilder object.\n")); return FALSE; } @@ -262,7 +262,8 @@ break; default: - xs_error("Invalid clockSpeed=%d, falling back to PAL.\n", xs_cfg.clockSpeed); + xs_error(_("Invalid clockSpeed=%d, falling back to PAL.\n"), + xs_cfg.clockSpeed); case XS_CLOCK_PAL: myEngine->currConfig.clockDefault = SID2_CLOCK_PAL; @@ -285,7 +286,7 @@ if ((xs_cfg.sid2OptLevel >= 0) && (xs_cfg.sid2OptLevel <= SID2_MAX_OPTIMISATION)) myEngine->currConfig.optimisation = xs_cfg.sid2OptLevel; else { - xs_error("Invalid sid2OptLevel=%d, falling back to %d.\n", + xs_error(_("Invalid sid2OptLevel=%d, falling back to %d.\n"), xs_cfg.sid2OptLevel, SID2_DEFAULT_OPTIMISATION); xs_cfg.sid2OptLevel = @@ -308,14 +309,14 @@ /* Now set the emulator configuration */ if (myEngine->currEng->config(myEngine->currConfig) < 0) { - xs_error("Emulator engine configuration failed!\n"); + xs_error(_("[SIDPlay2] Emulator engine configuration failed!\n")); return FALSE; } /* Create the sidtune */ myEngine->currTune = new SidTune(0); if (!myEngine->currTune) { - xs_error("Could not initialize SIDTune object.\n"); + xs_error(_("[SIDPlay2] Could not initialize SIDTune object.\n")); return FALSE; } @@ -366,14 +367,16 @@ if (!myEngine) return FALSE; if (!myEngine->currTune->selectSong(myStatus->currSong)) { - xs_error("currTune->selectSong() failed\n"); + xs_error(_("[SIDPlay2] currTune->selectSong() failed\n")); return FALSE; } if (myEngine->currEng->load(myEngine->currTune) < 0) { - xs_error("currEng->load() failed\n"); + xs_error(_("[SIDPlay2] currEng->load() failed\n")); return FALSE; } + + myEngine->isInitialized = TRUE; return TRUE; } @@ -402,6 +405,8 @@ myEngine = (t_xs_sidplay2 *) myStatus->sidEngine; if (!myEngine) return FALSE; + + myEngine->isInitialized = FALSE; /* Try to get the tune */ if (!pcFilename) return FALSE;