[Scummvm-cvs-logs] CVS: scummvm/sound mixer.cpp,1.71,1.72
Max Horn
fingolfin at users.sourceforge.net
Thu Jul 17 13:45:12 CEST 2003
- Previous message: [Scummvm-cvs-logs] CVS: scummvm/scumm resource.cpp,1.106,1.107
- Next message: [Scummvm-cvs-logs] CVS: scummvm/scumm charset.cpp,2.55,2.56 help.cpp,1.7,1.8 resource.cpp,1.107,1.108 resource_v3.cpp,1.18,1.19 script.cpp,1.120,1.121 script_v5.cpp,1.133,1.134 scumm.h,1.269,1.270 scummvm.cpp,2.287,2.288 sound.cpp,1.172,1.173
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/scummvm/scummvm/sound
In directory sc8-pr-cvs1:/tmp/cvs-serv23468
Modified Files:
mixer.cpp
Log Message:
simplified code
Index: mixer.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sound/mixer.cpp,v
retrieving revision 1.71
retrieving revision 1.72
diff -u -d -r1.71 -r1.72
--- mixer.cpp 14 Jul 2003 20:45:33 -0000 1.71
+++ mixer.cpp 17 Jul 2003 20:44:36 -0000 1.72
@@ -469,15 +469,15 @@
}
};
-static inline int clamped_add_16(int a, int b) {
+static inline void clamped_add_16(int16& a, int16 b) {
int val = a + b;
- if (val > 32767) {
- return 32767;
- } else if (val < -32768) {
- return -32768;
- } else
- return val;
+ if (val > 32767)
+ a = 32767;
+ else if (val < -32768)
+ a = -32768;
+ else
+ a = val;
}
static void mix_signed_mono_8(int16 *data, uint &len, byte *&s, uint32 &fp_pos,
@@ -489,10 +489,8 @@
do {
result = interp.interpolate(fp_pos);
- *data = clamped_add_16(*data, result);
- data++;
- *data = clamped_add_16(*data, result);
- data++;
+ clamped_add_16(*data++, result);
+ clamped_add_16(*data++, result);
fp_pos += fp_speed;
inc = fp_pos >> 16;
@@ -518,10 +516,8 @@
do {
result = interp.interpolate(fp_pos);
- *data = clamped_add_16(*data, result);
- data++;
- *data = clamped_add_16(*data, result);
- data++;
+ clamped_add_16(*data++, result);
+ clamped_add_16(*data++, result);
fp_pos += fp_speed;
inc = fp_pos >> 16;
@@ -551,15 +547,11 @@
do {
do {
if (!reverse_stereo) {
- *data = clamped_add_16(*data, left.interpolate(fp_pos));
- data++;
- *data = clamped_add_16(*data, right.interpolate(fp_pos));
- data++;
+ clamped_add_16(*data++, left.interpolate(fp_pos));
+ clamped_add_16(*data++, right.interpolate(fp_pos));
} else {
- *data = clamped_add_16(*data, right.interpolate(fp_pos));
- data++;
- *data = clamped_add_16(*data, left.interpolate(fp_pos));
- data++;
+ clamped_add_16(*data++, right.interpolate(fp_pos));
+ clamped_add_16(*data++, left.interpolate(fp_pos));
}
fp_pos += fp_speed;
@@ -586,10 +578,8 @@
int16 sample = ((int16)READ_BE_UINT16(s) * volume) / 256;
fp_pos += fp_speed;
- *data = clamped_add_16(*data, sample);
- data++;
- *data = clamped_add_16(*data, sample);
- data++;
+ clamped_add_16(*data++, sample);
+ clamped_add_16(*data++, sample);
s += (fp_pos >> 16) << 1;
fp_pos &= 0x0000FFFF;
@@ -609,15 +599,11 @@
fp_pos += fp_speed;
if (!reverse_stereo) {
- *data = clamped_add_16(*data, leftS);
- data++;
- *data = clamped_add_16(*data, rightS);
- data++;
+ clamped_add_16(*data++, leftS);
+ clamped_add_16(*data++, rightS);
} else {
- *data = clamped_add_16(*data, rightS);
- data++;
- *data = clamped_add_16(*data, leftS);
- data++;
+ clamped_add_16(*data++, rightS);
+ clamped_add_16(*data++, leftS);
}
s += (fp_pos >> 16) << 2;
fp_pos &= 0x0000FFFF;
@@ -700,7 +686,7 @@
_pos = s - _ptr;
- if (_size < 1) {
+ if (_size <= 0) {
if (_flags & SoundMixer::FLAG_LOOP) {
_ptr = _loop_ptr;
_size = _loop_size;
@@ -895,10 +881,8 @@
while ((_posInFrame < _synth.pcm.length) && (len > 0)) {
int16 sample = (int16)((scale_sample(*ch++) * volume) / 32);
- *data = clamped_add_16(*data, sample);
- data++;
- *data = clamped_add_16(*data, sample);
- data++;
+ clamped_add_16(*data++, sample);
+ clamped_add_16(*data++, sample);
len--;
_posInFrame++;
}
@@ -991,10 +975,8 @@
ch = _synth.pcm.samples[0] + _posInFrame;
while ((_posInFrame < _synth.pcm.length) && (len > 0)) {
int16 sample = (int16)((scale_sample(*ch++) * volume) / 32);
- *data = clamped_add_16(*data, sample);
- data++;
- *data = clamped_add_16(*data, sample);
- data++;
+ clamped_add_16(*data++, sample);
+ clamped_add_16(*data++, sample);
len--;
_posInFrame++;
}
@@ -1106,12 +1088,10 @@
// Mix the samples in
for (uint i = 0; i < len; i++) {
int16 sample = (int16) ((int32) samples[i * channels] * volume / 256);
- *data = clamped_add_16(*data, sample);
- data++;
+ clamped_add_16(*data++, sample);
if (channels > 1)
sample = (int16) ((int32) samples[i * channels + 1] * volume / 256);
- *data = clamped_add_16(*data, sample);
- data++;
+ clamped_add_16(*data++, sample);
}
delete [] samples;
- Previous message: [Scummvm-cvs-logs] CVS: scummvm/scumm resource.cpp,1.106,1.107
- Next message: [Scummvm-cvs-logs] CVS: scummvm/scumm charset.cpp,2.55,2.56 help.cpp,1.7,1.8 resource.cpp,1.107,1.108 resource_v3.cpp,1.18,1.19 script.cpp,1.120,1.121 script_v5.cpp,1.133,1.134 scumm.h,1.269,1.270 scummvm.cpp,2.287,2.288 sound.cpp,1.172,1.173
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Scummvm-git-logs
mailing list