aboutsummaryrefslogtreecommitdiff
path: root/engines/lab
diff options
context:
space:
mode:
authorFilippos Karapetis2015-12-27 21:42:05 +0200
committerFilippos Karapetis2015-12-27 21:42:05 +0200
commit70822b32b0669221940c8f5b2f099de9d8511a0d (patch)
treee22d1a1c7b347476480c66e566f07a334cec9ae5 /engines/lab
parentf0ee57b6dbc8ba4784ad1c339c62d7df4e581031 (diff)
downloadscummvm-rg350-70822b32b0669221940c8f5b2f099de9d8511a0d.tar.gz
scummvm-rg350-70822b32b0669221940c8f5b2f099de9d8511a0d.tar.bz2
scummvm-rg350-70822b32b0669221940c8f5b2f099de9d8511a0d.zip
LAB: Some more cleanup to the music code
Diffstat (limited to 'engines/lab')
-rw-r--r--engines/lab/music.cpp12
1 files changed, 3 insertions, 9 deletions
diff --git a/engines/lab/music.cpp b/engines/lab/music.cpp
index 2b16fddd93..42262bf8f1 100644
--- a/engines/lab/music.cpp
+++ b/engines/lab/music.cpp
@@ -72,26 +72,20 @@ void Music::changeMusic(const Common::String filename, bool storeCurPos, bool se
_musicFile->seek(_storedPos);
Audio::SeekableAudioStream *audioStream = Audio::makeRawStream(_musicFile, SAMPLESPEED, getSoundFlags());
- Audio::LoopingAudioStream *loopingAudioStream = new Audio::LoopingAudioStream(audioStream, 0);
- _vm->_mixer->playStream(Audio::Mixer::kMusicSoundType, &_musicHandle, loopingAudioStream);
+ _vm->_mixer->playStream(Audio::Mixer::kMusicSoundType, &_musicHandle, new Audio::LoopingAudioStream(audioStream, 0));
}
void Music::playSoundEffect(uint16 sampleSpeed, uint32 length, bool loop, Common::File *dataFile) {
pauseBackMusic();
stopSoundEffect();
- if (sampleSpeed < 4000)
- sampleSpeed = 4000;
-
// NOTE: We need to use malloc(), cause this will be freed with free()
// by the music code
byte *soundData = (byte *)malloc(length);
dataFile->read(soundData, length);
- Audio::SeekableAudioStream *audioStream = Audio::makeRawStream((const byte *)soundData, length, sampleSpeed, getSoundFlags());
- uint loops = (loop) ? 0 : 1;
- Audio::LoopingAudioStream *loopingAudioStream = new Audio::LoopingAudioStream(audioStream, loops);
- _vm->_mixer->playStream(Audio::Mixer::kSFXSoundType, &_sfxHandle, loopingAudioStream);
+ Audio::SeekableAudioStream *audioStream = Audio::makeRawStream((const byte *)soundData, length, MAX<uint16>(sampleSpeed, 4000), getSoundFlags());
+ _vm->_mixer->playStream(Audio::Mixer::kSFXSoundType, &_sfxHandle, new Audio::LoopingAudioStream(audioStream, (loop) ? 0 : 1));
}
void Music::stopSoundEffect() {