aboutsummaryrefslogtreecommitdiff
path: root/engines/agi
diff options
context:
space:
mode:
authorMax Horn2007-02-20 18:50:17 +0000
committerMax Horn2007-02-20 18:50:17 +0000
commit227a080e5b25762dc7a5a942dcfbfdbfcd76c372 (patch)
treec524092b2e9bb023bbaced29e8a245cf2cf6dff5 /engines/agi
parent547858993725af19d2167857c4e7a4a8ba8da185 (diff)
downloadscummvm-rg350-227a080e5b25762dc7a5a942dcfbfdbfcd76c372.tar.gz
scummvm-rg350-227a080e5b25762dc7a5a942dcfbfdbfcd76c372.tar.bz2
scummvm-rg350-227a080e5b25762dc7a5a942dcfbfdbfcd76c372.zip
Patch #1663933 (Kill premix channel) with a few tiny additional tweaks by me
svn-id: r25752
Diffstat (limited to 'engines/agi')
-rw-r--r--engines/agi/sound.cpp4
-rw-r--r--engines/agi/sound.h6
2 files changed, 4 insertions, 6 deletions
diff --git a/engines/agi/sound.cpp b/engines/agi/sound.cpp
index f4a2ee790e..2863f7b16b 100644
--- a/engines/agi/sound.cpp
+++ b/engines/agi/sound.cpp
@@ -324,14 +324,14 @@ int SoundMgr::initSound() {
/*loadInstruments("demo.sys"); */
#endif
- _mixer->setupPremix(this);
+ _mixer->playInputStream(Audio::Mixer::kPlainSoundType, &_soundHandle, this, -1, Audio::Mixer::kMaxChannelVolume, 0, false, true);
return r;
}
void SoundMgr::deinitSound() {
debugC(3, kDebugLevelSound, "()");
- _mixer->setupPremix(NULL);
+ _mixer->stopHandle(_soundHandle);
free(sndBuffer);
}
diff --git a/engines/agi/sound.h b/engines/agi/sound.h
index 415b891762..8a4f6a5deb 100644
--- a/engines/agi/sound.h
+++ b/engines/agi/sound.h
@@ -26,10 +26,7 @@
#define AGI_SOUND_H
#include "sound/audiostream.h"
-
-namespace Audio {
-class Mixer;
-} // End of namespace Audio
+#include "sound/mixer.h"
namespace Agi {
@@ -128,6 +125,7 @@ public:
private:
Audio::Mixer *_mixer;
+ Audio::SoundHandle _soundHandle;
uint32 _sampleRate;
void premixerCall(int16 *buf, uint len);