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/sky | |
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/sky')
-rw-r--r-- | engines/sky/music/adlibmusic.cpp | 4 | ||||
-rw-r--r-- | engines/sky/music/adlibmusic.h | 6 |
2 files changed, 4 insertions, 6 deletions
diff --git a/engines/sky/music/adlibmusic.cpp b/engines/sky/music/adlibmusic.cpp index 7df70e4a0f..36c962af5a 100644 --- a/engines/sky/music/adlibmusic.cpp +++ b/engines/sky/music/adlibmusic.cpp @@ -39,12 +39,12 @@ AdlibMusic::AdlibMusic(Audio::Mixer *pMixer, Disk *pDisk) _opl = makeAdlibOPL(_sampleRate); - _mixer->setupPremix(this); + _mixer->playInputStream(Audio::Mixer::kPlainSoundType, &_soundHandle, this, -1, Audio::Mixer::kMaxChannelVolume, 0, false, true); } AdlibMusic::~AdlibMusic(void) { - _mixer->setupPremix(0); + _mixer->stopHandle(_soundHandle); } void AdlibMusic::premixerCall(int16 *data, uint len) { diff --git a/engines/sky/music/adlibmusic.h b/engines/sky/music/adlibmusic.h index 016d43287e..b50157c3b5 100644 --- a/engines/sky/music/adlibmusic.h +++ b/engines/sky/music/adlibmusic.h @@ -26,10 +26,7 @@ #include "sky/music/musicbase.h" #include "sound/audiostream.h" #include "sound/fmopl.h" - -namespace Audio { - class Mixer; -} +#include "sound/mixer.h" namespace Sky { @@ -50,6 +47,7 @@ public: private: FM_OPL *_opl; Audio::Mixer *_mixer; + Audio::SoundHandle _soundHandle; uint8 *_initSequence; uint32 _sampleRate, _nextMusicPoll; virtual void setupPointers(void); |