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 /sound/softsynth | |
| 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 'sound/softsynth')
| -rw-r--r-- | sound/softsynth/adlib.cpp | 5 | ||||
| -rw-r--r-- | sound/softsynth/emumidi.h | 1 | ||||
| -rw-r--r-- | sound/softsynth/ym2612.cpp | 5 |
3 files changed, 5 insertions, 6 deletions
diff --git a/sound/softsynth/adlib.cpp b/sound/softsynth/adlib.cpp index 96b1add13f..15a99069be 100644 --- a/sound/softsynth/adlib.cpp +++ b/sound/softsynth/adlib.cpp @@ -847,7 +847,7 @@ int MidiDriver_ADLIB::open() { adlib_write(0xBD, 0x00); create_lookup_table(); - _mixer->setupPremix(this); + _mixer->playInputStream(Audio::Mixer::kPlainSoundType, &_mixerSoundHandle, this, -1, Audio::Mixer::kMaxChannelVolume, 0, false, true); return 0; } @@ -857,8 +857,7 @@ void MidiDriver_ADLIB::close() { return; _isOpen = false; - // Detach the premix callback handler - _mixer->setupPremix(0); + _mixer->stopHandle(_mixerSoundHandle); uint i; for (i = 0; i < ARRAYSIZE(_voices); ++i) { diff --git a/sound/softsynth/emumidi.h b/sound/softsynth/emumidi.h index 557e9b04cc..43161e51e4 100644 --- a/sound/softsynth/emumidi.h +++ b/sound/softsynth/emumidi.h @@ -30,6 +30,7 @@ class MidiDriver_Emulated : public Audio::AudioStream, public MidiDriver { protected: bool _isOpen; Audio::Mixer *_mixer; + Audio::SoundHandle _mixerSoundHandle; private: Common::TimerManager::TimerProc _timerProc; diff --git a/sound/softsynth/ym2612.cpp b/sound/softsynth/ym2612.cpp index 40962c04c5..823e371a88 100644 --- a/sound/softsynth/ym2612.cpp +++ b/sound/softsynth/ym2612.cpp @@ -741,7 +741,7 @@ int MidiDriver_YM2612::open() { MidiDriver_Emulated::open(); - _mixer->setupPremix(this); + _mixer->playInputStream(Audio::Mixer::kPlainSoundType, &_mixerSoundHandle, this, -1, Audio::Mixer::kMaxChannelVolume, 0, false, true); return 0; } @@ -750,8 +750,7 @@ void MidiDriver_YM2612::close() { return; _isOpen = false; - // Detach the premix callback handler - _mixer->setupPremix(0); + _mixer->stopHandle(_mixerSoundHandle); } void MidiDriver_YM2612::send(uint32 b) { |
