[Scummvm-cvs-logs] CVS: scummvm/scumm imuse.cpp,1.74,1.75
Jamieson Christian
jamieson630 at users.sourceforge.net
Sun Nov 10 05:45:16 CET 2002
Update of /cvsroot/scummvm/scummvm/scumm
In directory usw-pr-cvs1:/tmp/cvs-serv27972/scummvm/scumm
Modified Files:
imuse.cpp
Log Message:
Fixed IMuseGM device state trackers to prevent inappropriate dropped messages.
Index: imuse.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/imuse.cpp,v
retrieving revision 1.74
retrieving revision 1.75
diff -u -d -r1.74 -r1.75
--- imuse.cpp 9 Nov 2002 16:55:16 -0000 1.74
+++ imuse.cpp 10 Nov 2002 13:44:53 -0000 1.75
@@ -690,7 +690,7 @@
void midiInit();
public:
- IMuseGM(MidiDriver *midi) { _md = midi; }
+ IMuseGM(MidiDriver *midi);
void uninit();
void init(IMuseInternal *eng, OSystem *os);
void update_pris();
@@ -4643,6 +4643,28 @@
//********************************************
//** GENERAL MIDI PART OF IMUSE STARTS HERE **
//********************************************
+
+IMuseGM::IMuseGM (MidiDriver *midi)
+{
+ int i;
+
+ // Initialize our "last" trackers with impossible
+ // values, so that they don't accidentally match
+ // any changes that are sent (which would cause
+ // the changes to be ignored).
+ for (i = 0; i < 16; ++i) {
+ _midi_program_last [i] =
+ _midi_pitchbend_factor_last [i] =
+ _midi_volume_last [i] =
+ _midi_modwheel_last [i] =
+ _midi_effectlevel_last [i] =
+ _midi_chorus_last [i] = 255;
+ _midi_pan_last [i] = 127;
+ _midi_pitchbend_last [i] = (int16) -1;
+ _midi_pedal_last [i] = false;
+ }
+ _md = midi;
+}
void IMuseGM::midiPitchBend(byte chan, int16 pitchbend)
{
More information about the Scummvm-git-logs
mailing list