From 70822b32b0669221940c8f5b2f099de9d8511a0d Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Sun, 27 Dec 2015 21:42:05 +0200 Subject: LAB: Some more cleanup to the music code --- engines/lab/music.cpp | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) (limited to 'engines') 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(sampleSpeed, 4000), getSoundFlags()); + _vm->_mixer->playStream(Audio::Mixer::kSFXSoundType, &_sfxHandle, new Audio::LoopingAudioStream(audioStream, (loop) ? 0 : 1)); } void Music::stopSoundEffect() { -- cgit v1.2.3