[Scummvm-cvs-logs] SF.net SVN: scummvm:[43066] scummvm/trunk/engines/tinsel/music.cpp
dreammaster at users.sourceforge.net
dreammaster at users.sourceforge.net
Wed Aug 5 12:44:37 CEST 2009
Revision: 43066
http://scummvm.svn.sourceforge.net/scummvm/?rev=43066&view=rev
Author: dreammaster
Date: 2009-08-05 10:44:37 +0000 (Wed, 05 Aug 2009)
Log Message:
-----------
Bugfix for music not being stopped when music volume is set to zero
Modified Paths:
--------------
scummvm/trunk/engines/tinsel/music.cpp
Modified: scummvm/trunk/engines/tinsel/music.cpp
===================================================================
--- scummvm/trunk/engines/tinsel/music.cpp 2009-08-05 02:42:23 UTC (rev 43065)
+++ scummvm/trunk/engines/tinsel/music.cpp 2009-08-05 10:44:37 UTC (rev 43066)
@@ -303,6 +303,8 @@
return volMusic;
}
+static int priorVolMusic = 0;
+
/**
* Sets the volume of the MIDI music.
* @param vol New volume - 0..MAXMIDIVOL
@@ -310,23 +312,24 @@
void SetMidiVolume(int vol) {
assert(vol >= 0 && vol <= Audio::Mixer::kMaxChannelVolume);
- if (vol == 0 && volMusic == 0) {
+ if (vol == 0 && priorVolMusic == 0) {
// Nothing to do
- } else if (vol == 0 && volMusic != 0) {
+ } else if (vol == 0 && priorVolMusic != 0) {
// Stop current midi sequence
StopMidi();
- } else if (vol != 0 && volMusic == 0) {
+ _vm->_midiMusic->setVolume(vol);
+ } else if (vol != 0 && priorVolMusic == 0) {
// Perhaps restart last midi sequence
if (currentLoop) {
PlayMidiSequence(currentMidi, true);
_vm->_midiMusic->setVolume(vol);
}
- } else if (vol != 0 && volMusic != 0) {
+ } else if (vol != 0 && priorVolMusic != 0) {
// Alter current volume
_vm->_midiMusic->setVolume(vol);
}
- volMusic = vol;
+ priorVolMusic = vol;
}
/**
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list