[Scummvm-cvs-logs] SF.net SVN: scummvm:[47436] scummvm/trunk/engines/scumm/imuse_digi

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Fri Jan 22 15:11:34 CET 2010


Revision: 47436
          http://scummvm.svn.sourceforge.net/scummvm/?rev=47436&view=rev
Author:   fingolfin
Date:     2010-01-22 14:11:33 +0000 (Fri, 22 Jan 2010)

Log Message:
-----------
SCUMM: Get rid of some redundant enum vals in iMuse digitial

Modified Paths:
--------------
    scummvm/trunk/engines/scumm/imuse_digi/dimuse.cpp
    scummvm/trunk/engines/scumm/imuse_digi/dimuse.h
    scummvm/trunk/engines/scumm/imuse_digi/dimuse_track.cpp
    scummvm/trunk/engines/scumm/imuse_digi/dimuse_track.h

Modified: scummvm/trunk/engines/scumm/imuse_digi/dimuse.cpp
===================================================================
--- scummvm/trunk/engines/scumm/imuse_digi/dimuse.cpp	2010-01-22 12:37:06 UTC (rev 47435)
+++ scummvm/trunk/engines/scumm/imuse_digi/dimuse.cpp	2010-01-22 14:11:33 UTC (rev 47436)
@@ -76,14 +76,18 @@
 	free(_audioNames);
 }
 
-int32 IMuseDigital::makeMixerFlags(int32 flags) {
+static int32 makeMixerFlags(Track *track) {
+	const int32 flags = track->mixerFlags;
 	int32 mixerFlags = 0;
 	if (flags & kFlagUnsigned)
 		mixerFlags |= Audio::FLAG_UNSIGNED;
 	if (flags & kFlag16Bits)
 		mixerFlags |= Audio::FLAG_16BITS;
-	if (flags & kFlagLittleEndian)
+
+#ifdef SCUMM_LITTLE_ENDIAN
+	if (track->sndDataExtComp)
 		mixerFlags |= Audio::FLAG_LITTLE_ENDIAN;
+#endif
 	if (flags & kFlagStereo)
 		mixerFlags |= Audio::FLAG_STEREO;
 	return mixerFlags;
@@ -186,7 +190,7 @@
 			track->feedSize = freq * channels;
 			track->mixerFlags = 0;
 			if (channels == 2)
-				track->mixerFlags = kFlagStereo | kFlagReverseStereo;
+				track->mixerFlags = kFlagStereo;
 
 			if ((bits == 12) || (bits == 16)) {
 				track->mixerFlags |= kFlag16Bits;
@@ -196,15 +200,10 @@
 			} else
 				error("IMuseDigital::saveOrLoad(): Can't handle %d bit samples", bits);
 
-#ifdef SCUMM_LITTLE_ENDIAN
-			if (track->sndDataExtComp)
-				track->mixerFlags |= kFlagLittleEndian;
-#endif
-
 			track->stream = Audio::makeQueuingAudioStream(freq, (track->mixerFlags & kFlagStereo) != 0);
 
 			_mixer->playInputStream(track->getType(), &track->mixChanHandle, track->stream, -1, track->getVol(), track->getPan(),
-							DisposeAfterUse::YES, false, (track->mixerFlags & kFlagReverseStereo) != 0);
+							DisposeAfterUse::YES, false, (track->mixerFlags & kFlagStereo) != 0);
 			_mixer->pauseHandle(track->mixChanHandle, true);
 		}
 	}
@@ -344,7 +343,7 @@
 						curFeedSize = feedSize;
 
 					if (_mixer->isReady()) {
-						track->stream->queueBuffer(tmpSndBufferPtr, curFeedSize, DisposeAfterUse::YES, makeMixerFlags(track->mixerFlags));
+						track->stream->queueBuffer(tmpSndBufferPtr, curFeedSize, DisposeAfterUse::YES, makeMixerFlags(track));
 						track->regionOffset += curFeedSize;
 					} else
 						free(tmpSndBufferPtr);

Modified: scummvm/trunk/engines/scumm/imuse_digi/dimuse.h
===================================================================
--- scummvm/trunk/engines/scumm/imuse_digi/dimuse.h	2010-01-22 12:37:06 UTC (rev 47435)
+++ scummvm/trunk/engines/scumm/imuse_digi/dimuse.h	2010-01-22 14:11:33 UTC (rev 47436)
@@ -87,7 +87,6 @@
 	int _stopingSequence;
 	bool _radioChatterSFX;
 
-	int32 makeMixerFlags(int32 flags);
 	static void timer_handler(void *refConf);
 	void callback();
 	void switchToNextRegion(Track *track);

Modified: scummvm/trunk/engines/scumm/imuse_digi/dimuse_track.cpp
===================================================================
--- scummvm/trunk/engines/scumm/imuse_digi/dimuse_track.cpp	2010-01-22 12:37:06 UTC (rev 47435)
+++ scummvm/trunk/engines/scumm/imuse_digi/dimuse_track.cpp	2010-01-22 14:11:33 UTC (rev 47436)
@@ -113,7 +113,7 @@
 
 	if (track->souStreamUsed) {
 		_mixer->playInputStream(track->getType(), &track->mixChanHandle, input, -1, track->getVol(), track->getPan(),
-							DisposeAfterUse::YES, false, (track->mixerFlags & kFlagReverseStereo) != 0);
+							DisposeAfterUse::YES, false, (track->mixerFlags & kFlagStereo) != 0);
 	} else {
 		strcpy(track->soundName, soundName);
 		track->soundDesc = _sound->openSound(soundId, soundName, soundType, volGroupId, -1);
@@ -151,7 +151,7 @@
 
 		track->feedSize = freq * channels;
 		if (channels == 2)
-			track->mixerFlags = kFlagStereo | kFlagReverseStereo;
+			track->mixerFlags = kFlagStereo;
 
 		if ((bits == 12) || (bits == 16)) {
 			track->mixerFlags |= kFlag16Bits;
@@ -161,11 +161,6 @@
 		} else
 			error("IMuseDigital::startSound(): Can't handle %d bit samples", bits);
 
-#ifdef SCUMM_LITTLE_ENDIAN
-		if (track->sndDataExtComp)
-			track->mixerFlags |= kFlagLittleEndian;
-#endif
-
 		if (otherTrack && otherTrack->used && !otherTrack->toBeRemoved) {
 			track->curRegion = otherTrack->curRegion;
 			track->dataOffset = otherTrack->dataOffset;
@@ -175,7 +170,7 @@
 
 		track->stream = Audio::makeQueuingAudioStream(freq, track->mixerFlags & kFlagStereo);
 		_mixer->playInputStream(track->getType(), &track->mixChanHandle, track->stream, -1, track->getVol(), track->getPan(),
-							DisposeAfterUse::YES, false, (track->mixerFlags & kFlagReverseStereo) != 0);
+							DisposeAfterUse::YES, false, (track->mixerFlags & kFlagStereo) != 0);
 	}
 
 	track->used = true;
@@ -376,7 +371,7 @@
 	// Create an appendable output buffer
 	fadeTrack->stream = Audio::makeQueuingAudioStream(_sound->getFreq(fadeTrack->soundDesc), track->mixerFlags & kFlagStereo);
 	_mixer->playInputStream(track->getType(), &fadeTrack->mixChanHandle, fadeTrack->stream, -1, fadeTrack->getVol(), fadeTrack->getPan(),
-							DisposeAfterUse::YES, false, (track->mixerFlags & kFlagReverseStereo) != 0);
+							DisposeAfterUse::YES, false, (track->mixerFlags & kFlagStereo) != 0);
 	fadeTrack->used = true;
 
 	debug(5, "cloneToFadeOutTrack() - end of func, soundId %d, fade soundId %d", track->soundId, fadeTrack->soundId);

Modified: scummvm/trunk/engines/scumm/imuse_digi/dimuse_track.h
===================================================================
--- scummvm/trunk/engines/scumm/imuse_digi/dimuse_track.h	2010-01-22 12:37:06 UTC (rev 47435)
+++ scummvm/trunk/engines/scumm/imuse_digi/dimuse_track.h	2010-01-22 14:11:33 UTC (rev 47436)
@@ -38,13 +38,7 @@
 enum {
 	kFlagUnsigned = 1 << 0,
 	kFlag16Bits = 1 << 1,
-	kFlagLittleEndian = 1 << 2,
-	kFlagStereo = 1 << 3,
-	kFlagReverseStereo = 1 << 4
-
-	// Not used by Digital iMUSE
-	// kFlagAutoFree = 1 << 5,
-	// kFlagLoop = 1 << 6
+	kFlagStereo = 1 << 3
 };
 
 struct Track {
@@ -72,7 +66,7 @@
 	int32 soundType;	// type of sound data (kSpeechSoundType, kSFXSoundType, kMusicSoundType)
 	int32 feedSize;		// size of sound data needed to be filled at each callback iteration
 	int32 dataMod12Bit;	// value used between all callback to align 12 bit source of data
-	int32 mixerFlags;	// flags for sound mixer's channel (kFlagStereo, kFlag16Bits, kFlagReverseStereo, kFlagUnsigned, kFlagLittleEndian)
+	int32 mixerFlags;	// flags for sound mixer's channel (kFlagStereo, kFlag16Bits, kFlagUnsigned)
 
 	ImuseDigiSndMgr::SoundDesc *soundDesc;	// sound handle used by iMuse sound manager
 	Audio::SoundHandle mixChanHandle;					// sound mixer's channel handle


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list