changeset 368:3e55874170eb

Cleanups, additional engine NULL check.
author Matti Hamalainen <ccr@tnsp.org>
date Wed, 09 Nov 2005 01:28:04 +0000
parents 8338cc14bbdb
children 4611f1194941
files src/xs_sidplay1.cc
diffstat 1 files changed, 28 insertions(+), 25 deletions(-) [+]
line wrap: on
line diff
--- a/src/xs_sidplay1.cc	Tue Nov 08 11:21:05 2005 +0000
+++ b/src/xs_sidplay1.cc	Wed Nov 09 01:28:04 2005 +0000
@@ -142,28 +142,6 @@
 	}
 
 
-	/* Clockspeed settings */
-	switch (xs_cfg.clockSpeed) {
-	case XS_CLOCK_NTSC:
-		myEngine->currConfig.clockSpeed = SIDTUNE_CLOCK_NTSC;
-		break;
-
-	case XS_CLOCK_PAL:
-	default:
-		myEngine->currConfig.clockSpeed = SIDTUNE_CLOCK_PAL;
-		xs_cfg.clockSpeed = XS_CLOCK_PAL;
-		break;
-	}
-
-
-	/* Configure rest of the emulation */
-	myEngine->currConfig.mos8580 = xs_cfg.mos8580;
-	myEngine->currConfig.emulateFilter = xs_cfg.emulateFilters;
-	myEngine->currConfig.filterFs = xs_cfg.filterFs;
-	myEngine->currConfig.filterFm = xs_cfg.filterFm;
-	myEngine->currConfig.filterFt = xs_cfg.filterFt;
-
-
 	/* Audio parameters sanity checking and setup */
 	myEngine->currConfig.bitsPerSample = myStatus->audioBitsPerSample;
 	tmpFreq = myStatus->audioFrequency;
@@ -218,6 +196,31 @@
 		break;
 	}
 
+	/* Clockspeed settings */
+	switch (xs_cfg.clockSpeed) {
+	case XS_CLOCK_NTSC:
+		myEngine->currConfig.clockSpeed = SIDTUNE_CLOCK_NTSC;
+		break;
+
+	case XS_CLOCK_PAL:
+	default:
+		myEngine->currConfig.clockSpeed = SIDTUNE_CLOCK_PAL;
+		xs_cfg.clockSpeed = XS_CLOCK_PAL;
+		break;
+	}
+
+	myEngine->currConfig.forceSongSpeed = xs_cfg.forceSpeed;
+	
+	
+	/* Configure rest of the emulation */
+	/* if (xs_cfg.forceModel) */
+	myEngine->currConfig.mos8580 = xs_cfg.mos8580;
+	myEngine->currConfig.emulateFilter = xs_cfg.emulateFilters;
+	myEngine->currConfig.filterFs = xs_cfg.filterFs;
+	myEngine->currConfig.filterFm = xs_cfg.filterFm;
+	myEngine->currConfig.filterFt = xs_cfg.filterFt;
+
+
 	/* Now set the emulator configuration */
 	if (!myEngine->currEng->setConfig(myEngine->currConfig)) {
 		XSERR("Emulator engine configuration failed!\n");
@@ -297,8 +300,9 @@
 	assert(myStatus);
 
 	myEngine = (t_xs_sidplay1 *) myStatus->sidEngine;
+	if (!myEngine) return FALSE;
 
-	/* Try to get the tune */
+	/* Try to load the file/tune */
 	if (!pcFilename) return FALSE;
 
 	newTune = new sidTune(pcFilename);
@@ -318,8 +322,7 @@
 	assert(myStatus);
 
 	myEngine = (t_xs_sidplay1 *) myStatus->sidEngine;
-	if (!myEngine)
-		return;
+	if (!myEngine) return;
 
 	if (myEngine->currTune) {
 		delete myEngine->currTune;