[Scummvm-cvs-logs] CVS: scummvm/scumm imuse_digi.cpp,1.103,1.104

Max Horn fingolfin at users.sourceforge.net
Sat Dec 27 08:51:00 CET 2003


Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1:/tmp/cvs-serv17664

Modified Files:
	imuse_digi.cpp 
Log Message:
update bundle music every 1/10th of a sec (there was a very noticable delay before music started playing at e.g. the chapter 1 screen in COMI

Index: imuse_digi.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/imuse_digi.cpp,v
retrieving revision 1.103
retrieving revision 1.104
diff -u -d -r1.103 -r1.104
--- imuse_digi.cpp	27 Dec 2003 16:40:01 -0000	1.103
+++ imuse_digi.cpp	27 Dec 2003 16:49:58 -0000	1.104
@@ -1206,6 +1206,8 @@
 	((IMuseDigital *)refCon)->bundleMusicHandler();
 }
 
+#define BUNDLE_MUSIC_ITER_PER_SEC	10
+
 void IMuseDigital::playBundleMusic(const char *song) {
 	if (!_scumm->_mixer->isReady()) {
 		return;
@@ -1253,7 +1255,8 @@
 		_musicBundleToBeChanged = false;
 		_numberSamplesBundleMusic = _bundle->getNumberOfMusicSamplesByName(song);
 		_nameBundleMusic = song;
-		_scumm->_timer->installTimerProc(&music_handler, 1000000, this);
+		_outputMixerSize /= BUNDLE_MUSIC_ITER_PER_SEC;
+		_scumm->_timer->installTimerProc(&music_handler, 1000000 / BUNDLE_MUSIC_ITER_PER_SEC, this);
 	} else if (strcmp(_nameBundleMusic, song) != 0) {
 		_newNameBundleMusic = song;
 		_musicBundleToBeChanged = true;
@@ -1381,7 +1384,7 @@
 	// gives the number of bytes used for one second, so if we compute the value of
 	// (_bundleMusicPosition / _outputMixerSize), that is an offset in seconds;
 	// multiplying that by 1000 gives milliseconds).
-	_bundleSongPosInMs = 1000 * _bundleMusicPosition / _outputMixerSize;
+	_bundleSongPosInMs = 1000 * _bundleMusicPosition / (_outputMixerSize * BUNDLE_MUSIC_ITER_PER_SEC);
 	_bundleMusicPosition += final_size;
 	if (!_bundleMusicTrack.isActive())
 		_scumm->_mixer->newStream(&_bundleMusicTrack, rate, SoundMixer::FLAG_16BITS | SoundMixer::FLAG_STEREO, 300000);





More information about the Scummvm-git-logs mailing list