[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