[Scummvm-cvs-logs] CVS: scummvm/sword2/driver d_sound.cpp,1.96,1.97 d_sound.h,1.40,1.41
Max Horn
fingolfin at users.sourceforge.net
Sat Jan 3 11:13:04 CET 2004
Update of /cvsroot/scummvm/scummvm/sword2/driver
In directory sc8-pr-cvs1:/tmp/cvs-serv29759
Modified Files:
d_sound.cpp d_sound.h
Log Message:
cleanup
Index: d_sound.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sword2/driver/d_sound.cpp,v
retrieving revision 1.96
retrieving revision 1.97
diff -u -d -r1.96 -r1.97
--- d_sound.cpp 3 Jan 2004 19:02:18 -0000 1.96
+++ d_sound.cpp 3 Jan 2004 19:12:23 -0000 1.97
@@ -175,64 +175,58 @@
}
int MusicHandle::readBuffer(int16 *buffer, const int numSamples) {
+ assert(numSamples > 0);
int samples;
- for (samples = 0; samples < numSamples && !endOfData(); samples++)
- *buffer++ = read();
- return samples;
-}
-
-int16 MusicHandle::read(void) {
- uint8 in;
- uint16 delta;
- int16 out;
-
- if (!_streaming)
- return 0;
-
- if (_firstTime) {
- _lastSample = fpMus.readUint16LE();
- _filePos += 2;
- _firstTime = false;
- return _lastSample;
- }
// Assume the file handle has been correctly positioned already.
- in = fpMus.readByte();
- delta = GetCompressedAmplitude(in) << GetCompressedShift(in);
-
- if (GetCompressedSign(in))
- out = _lastSample - delta;
- else
- out = _lastSample + delta;
-
- _filePos++;
- _lastSample = out;
-
- if (_looping) {
- if (_filePos >= _fileEnd) {
- _firstTime = true;
- _filePos = _fileStart;
- fpMus.seek(_filePos, SEEK_SET);
+ for (samples = 0; samples < numSamples && !endOfData(); samples++) {
+ int16 out;
+ if (_firstTime) {
+ _lastSample = fpMus.readUint16LE();
+ _filePos += 2;
+ _firstTime = false;
+ out = _lastSample;
+ } else {
+ uint8 in = fpMus.readByte();
+ uint16 delta = GetCompressedAmplitude(in) << GetCompressedShift(in);
+
+ if (GetCompressedSign(in))
+ out = _lastSample - delta;
+ else
+ out = _lastSample + delta;
+
+ _filePos++;
+ _lastSample = out;
+
+ if (_looping) {
+ if (_filePos >= _fileEnd) {
+ _firstTime = true;
+ _filePos = _fileStart;
+ fpMus.seek(_filePos, SEEK_SET);
+ }
+ } else {
+ // Fade out at the end of the music, unless it already is.
+ if (_fileEnd - _filePos <= FADE_SAMPLES && _fading <= 0)
+ fadeDown();
+ }
+
+ if (_fading > 0) {
+ if (--_fading == 0) {
+ _streaming = false;
+ _looping = false;
+ }
+ out = (out * _fading) / FADE_SAMPLES;
+ } else if (_fading < 0) {
+ _fading++;
+ out = (out * (FADE_SAMPLES + _fading)) / FADE_SAMPLES;
+ }
}
- } else {
- // Fade out at the end of the music, unless it already is.
- if (_fileEnd - _filePos <= FADE_SAMPLES && _fading <= 0)
- fadeDown();
- }
- if (_fading > 0) {
- if (--_fading == 0) {
- _streaming = false;
- _looping = false;
- }
- out = (out * _fading) / FADE_SAMPLES;
- } else if (_fading < 0) {
- _fading++;
- out = (out * (FADE_SAMPLES + _fading)) / FADE_SAMPLES;
+ *buffer++ = out;
}
- return out;
+ return samples;
}
bool MusicHandle::endOfData(void) const {
Index: d_sound.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sword2/driver/d_sound.h,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -d -r1.40 -r1.41
--- d_sound.h 3 Jan 2004 14:10:13 -0000 1.40
+++ d_sound.h 3 Jan 2004 19:12:23 -0000 1.41
@@ -63,8 +63,7 @@
void fadeUp(void);
int32 play(const char *filename, uint32 musicId, bool looping);
void stop(void);
- virtual int readBuffer(int16 *buffer, const int numSamples);
- int16 read(void);
+ int readBuffer(int16 *buffer, const int numSamples);
bool endOfData(void) const;
// This stream never 'ends'
bool endOfStream(void) const { return false; }
More information about the Scummvm-git-logs
mailing list