[Scummvm-cvs-logs] CVS: scummvm/scumm player_v2.cpp,2.30,2.31
Max Horn
fingolfin at users.sourceforge.net
Thu Sep 18 09:03:01 CEST 2003
Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1:/tmp/cvs-serv24117/scumm
Modified Files:
player_v2.cpp
Log Message:
changed & documented the premixer semantics
Index: player_v2.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/player_v2.cpp,v
retrieving revision 2.30
retrieving revision 2.31
diff -u -d -r2.30 -r2.31
--- player_v2.cpp 18 Sep 2003 02:07:17 -0000 2.30
+++ player_v2.cpp 18 Sep 2003 16:01:31 -0000 2.31
@@ -381,7 +381,7 @@
set_pcjr(scumm->_midiDriver != MD_PCSPK);
setMasterVolume(255);
- _mixer->setupPremix(this, premix_proc);
+ _mixer->setupPremix(premix_proc, this);
}
Player_V2::~Player_V2() {
@@ -820,10 +820,12 @@
}
}
-void Player_V2::do_mix (int16 *data, uint len) {
+void Player_V2::do_mix(int16 *data, uint len) {
mutex_up();
uint step;
+ int16 *origData = data;
+ uint origLen = len;
do {
step = len;
if (step > (_next_tick >> FIXP_SHIFT))
@@ -848,6 +850,12 @@
}
}
} while (len -= step);
+
+ // Convert mono data to stereo
+ for (int i = (origLen - 1); i >= 0; i--) {
+ origData[2 * i] = origData[2 * i + 1] = origData[i];
+ }
+
mutex_down();
}
@@ -911,7 +919,7 @@
}
}
- memset (data, 0, sizeof(int16) * len);
+ memset(data, 0, sizeof(int16) * len);
if (winning_channel != -1) {
squareGenerator(0, _channels[winning_channel].d.freq, 0,
0, data, len);
More information about the Scummvm-git-logs
mailing list