aboutsummaryrefslogtreecommitdiff
path: root/engines/gob/sound.cpp
diff options
context:
space:
mode:
authorSven Hesse2007-01-25 14:18:12 +0000
committerSven Hesse2007-01-25 14:18:12 +0000
commit604077827f44d027e7c3afd3200afe1a901e1c2a (patch)
tree36049c29fb3533a4725d1e4c1189f16b8c63503e /engines/gob/sound.cpp
parent30b7ac3db529c80d71d89ee41a09bce3d9076309 (diff)
downloadscummvm-rg350-604077827f44d027e7c3afd3200afe1a901e1c2a.tar.gz
scummvm-rg350-604077827f44d027e7c3afd3200afe1a901e1c2a.tar.bz2
scummvm-rg350-604077827f44d027e7c3afd3200afe1a901e1c2a.zip
- Some clean-up
- Fixed sound playing and looping - Changed Paula to use non-absolute panning, defaulting to 0.25/0.75 and 0.75/0.25, as per madmoose's suggestion - Prepared/Cleaned-up Paula and Infogrames for the move to sound/mods/ svn-id: r25189
Diffstat (limited to 'engines/gob/sound.cpp')
-rw-r--r--engines/gob/sound.cpp14
1 files changed, 5 insertions, 9 deletions
diff --git a/engines/gob/sound.cpp b/engines/gob/sound.cpp
index 0c1e612b9f..aa7724a294 100644
--- a/engines/gob/sound.cpp
+++ b/engines/gob/sound.cpp
@@ -95,18 +95,14 @@ void Snd::speakerOff(void) {
}
void Snd::playSample(Snd::SoundDesc *sndDesc, int16 repCount, int16 frequency) {
- if (frequency == 0)
+ if (frequency <= 0)
frequency = sndDesc->frequency;
- if (frequency <= 0) {
- warning("Attempted to play a sample with a frequency of %d (sndDesc->freq = %d)", frequency, sndDesc->frequency);
- return;
- }
-// assert(frequency > 0);
+ for (int i = 0; i < ARRAYSIZE(_loopingSounds); i++)
+ _loopingSounds[i] = 0;
+ _vm->_mixer->stopHandle(sndDesc->handle);
- if (!_vm->_mixer->isSoundHandleActive(sndDesc->handle)) {
- _vm->_mixer->playRaw(&sndDesc->handle, sndDesc->data, sndDesc->size, frequency, 0);
- }
+ _vm->_mixer->playRaw(&sndDesc->handle, sndDesc->data, sndDesc->size, frequency, 0);
sndDesc->repCount = repCount - 1;
sndDesc->frequency = frequency;