From 1c4167f0809eb8f49da0b4e428ee01b1aa3387fe Mon Sep 17 00:00:00 2001 From: Max Horn Date: Mon, 22 Jul 2002 12:44:57 +0000 Subject: pulled out arisme's recent changes to pauseMode, they are not correct as they break pause mode for all systems that use real MIDI drivers (see bug #584684). If you need a mute music mode, then add an according function to iMUSE/mixer but don't abuse pause mode, please svn-id: r4615 --- sound/mixer.cpp | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) (limited to 'sound/mixer.cpp') diff --git a/sound/mixer.cpp b/sound/mixer.cpp index e44b459ca4..9aaae1176c 100644 --- a/sound/mixer.cpp +++ b/sound/mixer.cpp @@ -109,7 +109,11 @@ int SoundMixer::play_mp3_cdtrack(PlayingSoundHandle *handle, FILE * file, mad_ti void SoundMixer::mix(int16 *buf, uint len) { - + if (_paused) { + memset(buf, 0, 2 * len * sizeof(int16)); + return; + } + if (_premix_proc) { int i; _premix_proc(_premix_param, buf, len); @@ -117,16 +121,10 @@ void SoundMixer::mix(int16 *buf, uint len) buf[2 * i] = buf[2 * i + 1] = buf[i]; } } else { - /* no premixer available, zero the buf out */ + // no premixer available, zero the buf out memset(buf, 0, 2 * len * sizeof(int16)); } - /* Arisme : moved to let iMUSE generate the events */ - if (_paused) { - memset(buf, 0, 2 * len * sizeof(int16)); - return; - } - _syst->lock_mutex(_mutex); /* now mix all channels */ for (int i = 0; i != NUM_CHANNELS; i++) -- cgit v1.2.3