diff options
author | Filippos Karapetis | 2015-12-27 21:42:05 +0200 |
---|---|---|
committer | Filippos Karapetis | 2015-12-27 21:42:05 +0200 |
commit | 70822b32b0669221940c8f5b2f099de9d8511a0d (patch) | |
tree | e22d1a1c7b347476480c66e566f07a334cec9ae5 /engines/lab | |
parent | f0ee57b6dbc8ba4784ad1c339c62d7df4e581031 (diff) | |
download | scummvm-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.cpp | 12 |
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() { |