diff options
author | Max Horn | 2007-02-20 18:50:17 +0000 |
---|---|---|
committer | Max Horn | 2007-02-20 18:50:17 +0000 |
commit | 227a080e5b25762dc7a5a942dcfbfdbfcd76c372 (patch) | |
tree | c524092b2e9bb023bbaced29e8a245cf2cf6dff5 /engines/cine | |
parent | 547858993725af19d2167857c4e7a4a8ba8da185 (diff) | |
download | scummvm-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/cine')
-rw-r--r-- | engines/cine/sound_driver.cpp | 4 | ||||
-rw-r--r-- | engines/cine/sound_driver.h | 6 |
2 files changed, 4 insertions, 6 deletions
diff --git a/engines/cine/sound_driver.cpp b/engines/cine/sound_driver.cpp index 84b0a1416e..0bc7c8c33f 100644 --- a/engines/cine/sound_driver.cpp +++ b/engines/cine/sound_driver.cpp @@ -60,11 +60,11 @@ AdlibSoundDriver::AdlibSoundDriver(Audio::Mixer *mixer) memset(_channelsVolumeTable, 0, sizeof(_channelsVolumeTable)); memset(_instrumentsTable, 0, sizeof(_instrumentsTable)); initCard(); - _mixer->setupPremix(this); + _mixer->playInputStream(Audio::Mixer::kPlainSoundType, &_soundHandle, this, -1, Audio::Mixer::kMaxChannelVolume, 0, false, true); } AdlibSoundDriver::~AdlibSoundDriver() { - _mixer->setupPremix(NULL); + _mixer->stopHandle(_soundHandle); } void AdlibSoundDriver::setupChannel(int channel, const byte *data, int instrument, int volume) { diff --git a/engines/cine/sound_driver.h b/engines/cine/sound_driver.h index 2cb2b5c97f..c6fc571f89 100644 --- a/engines/cine/sound_driver.h +++ b/engines/cine/sound_driver.h @@ -27,10 +27,7 @@ #include "sound/audiostream.h" #include "sound/fmopl.h" - -namespace Audio { - class Mixer; -} +#include "sound/mixer.h" namespace Cine { @@ -105,6 +102,7 @@ protected: FM_OPL *_opl; int _sampleRate; Audio::Mixer *_mixer; + Audio::SoundHandle _soundHandle; byte _vibrato; int _channelsVolumeTable[4]; |