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

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Sat Jan 5 23:44:39 CET 2008


Revision: 30266
          http://scummvm.svn.sourceforge.net/scummvm/?rev=30266&view=rev
Author:   fingolfin
Date:     2008-01-05 14:44:39 -0800 (Sat, 05 Jan 2008)

Log Message:
-----------
Moved some code which was being duplicated to methods of class Track

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

Modified: scummvm/trunk/engines/scumm/imuse_digi/dimuse.cpp
===================================================================
--- scummvm/trunk/engines/scumm/imuse_digi/dimuse.cpp	2008-01-05 22:35:30 UTC (rev 30265)
+++ scummvm/trunk/engines/scumm/imuse_digi/dimuse.cpp	2008-01-05 22:44:39 UTC (rev 30266)
@@ -206,18 +206,7 @@
 
 			track->stream = Audio::makeAppendableAudioStream(freq, makeMixerFlags(track->mixerFlags));
 
-			const int pan = (track->pan != 64) ? 2 * track->pan - 127 : 0;
-			const int vol = track->vol / 1000;
-			Audio::Mixer::SoundType type = Audio::Mixer::kPlainSoundType;
-
-			if (track->volGroupId == 1)
-				type = Audio::Mixer::kSpeechSoundType;
-			if (track->volGroupId == 2)
-				type = Audio::Mixer::kSFXSoundType;
-			if (track->volGroupId == 3)
-				type = Audio::Mixer::kMusicSoundType;
-
-			_mixer->playInputStream(type, &track->mixChanHandle, track->stream, -1, vol, pan, false);
+			_mixer->playInputStream(track->getType(), &track->mixChanHandle, track->stream, -1, track->getVol(), track->getPan(), false);
 			_mixer->pauseHandle(track->mixChanHandle, true);
 		}
 	}
@@ -264,17 +253,6 @@
 				debug(5, "Fade: sound(%d), Vol(%d)", track->soundId, track->vol / 1000);
 			}
 
-			const int pan = (track->pan != 64) ? 2 * track->pan - 127 : 0;
-			const int vol = track->vol / 1000;
-			Audio::Mixer::SoundType type = Audio::Mixer::kPlainSoundType;
-
-			if (track->volGroupId == 1)
-				type = Audio::Mixer::kSpeechSoundType;
-			if (track->volGroupId == 2)
-				type = Audio::Mixer::kSFXSoundType;
-			if (track->volGroupId == 3)
-				type = Audio::Mixer::kMusicSoundType;
-
 			if (!track->souStreamUsed) {
 				assert(track->stream);
 				byte *tmpSndBufferPtr = NULL;
@@ -341,8 +319,8 @@
 						curFeedSize = feedSize;
 
 					if (_mixer->isReady()) {
-						_mixer->setChannelVolume(track->mixChanHandle, vol);
-						_mixer->setChannelBalance(track->mixChanHandle, pan);
+						_mixer->setChannelVolume(track->mixChanHandle, track->getVol());
+						_mixer->setChannelBalance(track->mixChanHandle, track->getPan());
 						track->stream->queueBuffer(tmpSndBufferPtr, curFeedSize);
 						track->regionOffset += curFeedSize;
 					} else
@@ -363,10 +341,10 @@
 					if (!track->mixerStreamRunning) {
 						track->mixerStreamRunning = true;
 						assert(track->streamSou);
-						_mixer->playInputStream(type, &track->mixChanHandle, track->streamSou, -1, vol, pan);
+						_mixer->playInputStream(track->getType(), &track->mixChanHandle, track->streamSou, -1, track->getVol(), track->getPan());
 					} else {
-						_mixer->setChannelVolume(track->mixChanHandle, vol);
-						_mixer->setChannelBalance(track->mixChanHandle, pan);
+						_mixer->setChannelVolume(track->mixChanHandle, track->getVol());
+						_mixer->setChannelBalance(track->mixChanHandle, track->getPan());
 					}
 				}
 			}

Modified: scummvm/trunk/engines/scumm/imuse_digi/dimuse.h
===================================================================
--- scummvm/trunk/engines/scumm/imuse_digi/dimuse.h	2008-01-05 22:35:30 UTC (rev 30265)
+++ scummvm/trunk/engines/scumm/imuse_digi/dimuse.h	2008-01-05 22:44:39 UTC (rev 30266)
@@ -103,6 +103,19 @@
 		Audio::AudioStream *streamSou;				// sound mixer's audio stream handle for *.sou
 
 		Track();
+		
+		int getPan() const { return (pan != 64) ? 2 * pan - 127 : 0; }
+		int getVol() const { return vol / 1000; }
+		Audio::Mixer::SoundType getType() const {
+			Audio::Mixer::SoundType type = Audio::Mixer::kPlainSoundType;
+			if (volGroupId == 1)
+				type = Audio::Mixer::kSpeechSoundType;
+			else if (volGroupId == 2)
+				type = Audio::Mixer::kSFXSoundType;
+			else if (volGroupId == 3)
+				type = Audio::Mixer::kMusicSoundType;
+			return type;
+		}
 	};
 
 	Track *_track[MAX_DIGITAL_TRACKS + MAX_DIGITAL_FADETRACKS];

Modified: scummvm/trunk/engines/scumm/imuse_digi/dimuse_track.cpp
===================================================================
--- scummvm/trunk/engines/scumm/imuse_digi/dimuse_track.cpp	2008-01-05 22:35:30 UTC (rev 30265)
+++ scummvm/trunk/engines/scumm/imuse_digi/dimuse_track.cpp	2008-01-05 22:44:39 UTC (rev 30266)
@@ -155,19 +155,8 @@
 			track->mixerFlags |= kFlagLittleEndian;
 #endif
 
-		const int pan = (track->pan != 64) ? 2 * track->pan - 127 : 0;
-		const int vol = track->vol / 1000;
-		Audio::Mixer::SoundType type = Audio::Mixer::kPlainSoundType;
-
-		if (track->volGroupId == 1)
-			type = Audio::Mixer::kSpeechSoundType;
-		if (track->volGroupId == 2)
-			type = Audio::Mixer::kSFXSoundType;
-		if (track->volGroupId == 3)
-			type = Audio::Mixer::kMusicSoundType;
-
 		track->stream = Audio::makeAppendableAudioStream(freq, makeMixerFlags(track->mixerFlags));
-		_mixer->playInputStream(type, &track->mixChanHandle, track->stream, -1, vol, pan, false);
+		_mixer->playInputStream(track->getType(), &track->mixChanHandle, track->stream, -1, track->getVol(), track->getPan(), false);
 		track->mixerStreamRunning = true;
 	}
 
@@ -328,23 +317,8 @@
 	fadeTrack->volFadeUsed = true;
 
 	// Create an appendable output buffer
-	Audio::Mixer::SoundType type;
-	switch (fadeTrack->volGroupId) {
-	case 1:
-		type = Audio::Mixer::kSpeechSoundType;
-		break;
-	case 2:
-		type = Audio::Mixer::kSFXSoundType;
-		break;
-	case 3:
-		type = Audio::Mixer::kMusicSoundType;
-		break;
-	default:
-		type = Audio::Mixer::kPlainSoundType;
-		break;
-	}
 	fadeTrack->stream = Audio::makeAppendableAudioStream(_sound->getFreq(fadeTrack->soundDesc), makeMixerFlags(fadeTrack->mixerFlags));
-	_mixer->playInputStream(type, &fadeTrack->mixChanHandle, fadeTrack->stream, -1, fadeTrack->vol / 1000, fadeTrack->pan, false);
+	_mixer->playInputStream(track->getType(), &fadeTrack->mixChanHandle, fadeTrack->stream, -1, fadeTrack->getVol(), fadeTrack->pan, false);
 	fadeTrack->mixerStreamRunning = true;
 	fadeTrack->used = true;
 


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