diff options
Diffstat (limited to 'sound')
-rw-r--r-- | sound/aiff.cpp | 4 | ||||
-rw-r--r-- | sound/iff_sound.cpp | 2 | ||||
-rw-r--r-- | sound/mixer.h | 26 | ||||
-rw-r--r-- | sound/raw.cpp | 28 | ||||
-rw-r--r-- | sound/raw.h | 27 | ||||
-rw-r--r-- | sound/shorten.cpp | 20 | ||||
-rw-r--r-- | sound/wave.cpp | 12 |
7 files changed, 60 insertions, 59 deletions
diff --git a/sound/aiff.cpp b/sound/aiff.cpp index c0832b7cea..ec47eaa1f8 100644 --- a/sound/aiff.cpp +++ b/sound/aiff.cpp @@ -150,9 +150,9 @@ bool loadAIFFFromStream(Common::SeekableReadStream &stream, int &size, int &rate flags = 0; if (bitsPerSample == 16) - flags |= Audio::Mixer::FLAG_16BITS; + flags |= Audio::FLAG_16BITS; if (numChannels == 2) - flags |= Audio::Mixer::FLAG_STEREO; + flags |= Audio::FLAG_STEREO; stream.seek(soundOffset); diff --git a/sound/iff_sound.cpp b/sound/iff_sound.cpp index c476ff9676..267a332500 100644 --- a/sound/iff_sound.cpp +++ b/sound/iff_sound.cpp @@ -96,7 +96,7 @@ AudioStream *make8SVXStream(Common::ReadStream &input, bool loop) { // repeatHiSamples fields loopStart = 0; loopEnd = loader._header.oneShotHiSamples + loader._header.repeatHiSamples; - flags |= Audio::Mixer::FLAG_LOOP; + flags |= Audio::FLAG_LOOP; } return Audio::makeRawMemoryStream((byte *)loader._data, loader._dataSize, DisposeAfterUse::YES, loader._header.samplesPerSec, flags, loopStart, loopEnd); diff --git a/sound/mixer.h b/sound/mixer.h index 9b75928f64..0e12e83107 100644 --- a/sound/mixer.h +++ b/sound/mixer.h @@ -63,32 +63,6 @@ public: */ class Mixer { public: - /** - * Various flags which can be bit-ORed and then passed to - * makeRawMemoryStream and some other AudioStream factories - * to control their behavior. - * - * Engine authors are advised not to rely on a certain value or - * order of these flags (in particular, do not store them verbatim - * in savestates). - */ - enum RawFlags { - /** unsigned samples (default: signed) */ - FLAG_UNSIGNED = 1 << 0, - - /** sound is 16 bits wide (default: 8bit) */ - FLAG_16BITS = 1 << 1, - - /** samples are little endian (default: big endian) */ - FLAG_LITTLE_ENDIAN = 1 << 2, - - /** sound is in stereo (default: mono) */ - FLAG_STEREO = 1 << 3, - - /** loop the audio */ - FLAG_LOOP = 1 << 6 - }; - enum SoundType { kPlainSoundType = 0, diff --git a/sound/raw.cpp b/sound/raw.cpp index 20307acfbf..8d8ae915c4 100644 --- a/sound/raw.cpp +++ b/sound/raw.cpp @@ -331,10 +331,10 @@ bool RawDiskStream<stereo, is16Bit, isUnsigned, isLE>::seek(const Timestamp &whe SeekableAudioStream *makeRawMemoryStream(const byte *ptr, uint32 len, DisposeAfterUse::Flag autoFree, int rate, byte flags) { - const bool isStereo = (flags & Mixer::FLAG_STEREO) != 0; - const bool is16Bit = (flags & Mixer::FLAG_16BITS) != 0; - const bool isUnsigned = (flags & Mixer::FLAG_UNSIGNED) != 0; - const bool isLE = (flags & Mixer::FLAG_LITTLE_ENDIAN) != 0; + const bool isStereo = (flags & Audio::FLAG_STEREO) != 0; + const bool is16Bit = (flags & Audio::FLAG_16BITS) != 0; + const bool isUnsigned = (flags & Audio::FLAG_UNSIGNED) != 0; + const bool isLE = (flags & Audio::FLAG_LITTLE_ENDIAN) != 0; // Verify the buffer sizes are sane if (is16Bit && isStereo) { @@ -365,9 +365,9 @@ AudioStream *makeRawMemoryStream(const byte *ptr, uint32 len, uint loopStart, uint loopEnd) { SeekableAudioStream *stream = makeRawMemoryStream(ptr, len, autoFree, rate, flags); - const bool isStereo = (flags & Mixer::FLAG_STEREO) != 0; - const bool is16Bit = (flags & Mixer::FLAG_16BITS) != 0; - const bool isLooping = (flags & Mixer::FLAG_LOOP) != 0; + const bool isStereo = (flags & Audio::FLAG_STEREO) != 0; + const bool is16Bit = (flags & Audio::FLAG_16BITS) != 0; + const bool isLooping = (flags & Audio::FLAG_LOOP) != 0; if (isLooping) { uint loopOffset = 0, loopLen = 0; @@ -407,10 +407,10 @@ AudioStream *makeRawMemoryStream(const byte *ptr, uint32 len, SeekableAudioStream *makeRawDiskStream(Common::SeekableReadStream *stream, RawDiskStreamAudioBlock *block, int numBlocks, int rate, byte flags, DisposeAfterUse::Flag disposeStream) { - const bool isStereo = (flags & Mixer::FLAG_STEREO) != 0; - const bool is16Bit = (flags & Mixer::FLAG_16BITS) != 0; - const bool isUnsigned = (flags & Mixer::FLAG_UNSIGNED) != 0; - const bool isLE = (flags & Mixer::FLAG_LITTLE_ENDIAN) != 0; + const bool isStereo = (flags & Audio::FLAG_STEREO) != 0; + const bool is16Bit = (flags & Audio::FLAG_16BITS) != 0; + const bool isUnsigned = (flags & Audio::FLAG_UNSIGNED) != 0; + const bool isLE = (flags & Audio::FLAG_LITTLE_ENDIAN) != 0; if (isStereo) { if (isUnsigned) { @@ -431,9 +431,9 @@ AudioStream *makeRawDiskStream(Common::SeekableReadStream *stream, RawDiskStream int numBlocks, int rate, byte flags, DisposeAfterUse::Flag disposeStream, uint loopStart, uint loopEnd) { SeekableAudioStream *s = makeRawDiskStream(stream, block, numBlocks, rate, flags, disposeStream); - const bool isStereo = (flags & Mixer::FLAG_STEREO) != 0; - const bool is16Bit = (flags & Mixer::FLAG_16BITS) != 0; - const bool isLooping = (flags & Mixer::FLAG_LOOP) != 0; + const bool isStereo = (flags & Audio::FLAG_STEREO) != 0; + const bool is16Bit = (flags & Audio::FLAG_16BITS) != 0; + const bool isLooping = (flags & Audio::FLAG_LOOP) != 0; if (isLooping) { uint loopOffset = 0, loopLen = 0; diff --git a/sound/raw.h b/sound/raw.h index e0b1a6c239..debf0ee14d 100644 --- a/sound/raw.h +++ b/sound/raw.h @@ -39,6 +39,33 @@ class AudioStream; class SeekableAudioStream; /** + * Various flags which can be bit-ORed and then passed to + * makeRawMemoryStream and some other AudioStream factories + * to control their behavior. + * + * Engine authors are advised not to rely on a certain value or + * order of these flags (in particular, do not store them verbatim + * in savestates). + */ +enum RawFlags { + /** unsigned samples (default: signed) */ + FLAG_UNSIGNED = 1 << 0, + + /** sound is 16 bits wide (default: 8bit) */ + FLAG_16BITS = 1 << 1, + + /** samples are little endian (default: big endian) */ + FLAG_LITTLE_ENDIAN = 1 << 2, + + /** sound is in stereo (default: mono) */ + FLAG_STEREO = 1 << 3, + + /** loop the audio */ + FLAG_LOOP = 1 << 6 +}; + + +/** * Creates a audio stream, which plays the given raw data. * * @param ptr Data diff --git a/sound/shorten.cpp b/sound/shorten.cpp index 44f4e66ed8..48d82dadf7 100644 --- a/sound/shorten.cpp +++ b/sound/shorten.cpp @@ -196,18 +196,18 @@ byte *loadShortenFromStream(Common::ReadStream &stream, int &size, int &rate, by case kTypeS8: break; case kTypeU8: - flags |= Audio::Mixer::FLAG_UNSIGNED; + flags |= Audio::FLAG_UNSIGNED; break; case kTypeS16LH: - flags |= Audio::Mixer::FLAG_LITTLE_ENDIAN; + flags |= Audio::FLAG_LITTLE_ENDIAN; case kTypeS16HL: - flags |= Audio::Mixer::FLAG_16BITS; + flags |= Audio::FLAG_16BITS; break; case kTypeU16LH: - flags |= Audio::Mixer::FLAG_LITTLE_ENDIAN; + flags |= Audio::FLAG_LITTLE_ENDIAN; case kTypeU16HL: - flags |= Audio::Mixer::FLAG_16BITS; - flags |= Audio::Mixer::FLAG_UNSIGNED; + flags |= Audio::FLAG_16BITS; + flags |= Audio::FLAG_UNSIGNED; break; case kTypeWAV: // TODO: Perhaps implement this if we find WAV Shorten encoded files @@ -426,16 +426,16 @@ byte *loadShortenFromStream(Common::ReadStream &stream, int &size, int &rate, by } if (curChannel == channels - 1) { - int dataSize = (flags & Audio::Mixer::FLAG_16BITS) ? 2 : 1; - int limit = (flags & Audio::Mixer::FLAG_16BITS) ? 32767 : 127; - limit = (flags & Audio::Mixer::FLAG_UNSIGNED) ? limit * 2 + 1 : limit; + int dataSize = (flags & Audio::FLAG_16BITS) ? 2 : 1; + int limit = (flags & Audio::FLAG_16BITS) ? 32767 : 127; + limit = (flags & Audio::FLAG_UNSIGNED) ? limit * 2 + 1 : limit; prevSize = size; size += (blockSize * dataSize); unpackedBuffer = (byte *) realloc(unpackedBuffer, size); pBuf = unpackedBuffer + prevSize; - if (flags & Audio::Mixer::FLAG_16BITS) { + if (flags & Audio::FLAG_16BITS) { for (i = 0; i < blockSize; i++) { for (j = 0; j < channels; j++) { int16 val = (int16)(MIN<int32>(buffer[j][i], limit) & 0xFFFF); diff --git a/sound/wave.cpp b/sound/wave.cpp index 977b6953e6..018cbd2133 100644 --- a/sound/wave.cpp +++ b/sound/wave.cpp @@ -119,18 +119,18 @@ bool loadWAVFromStream(Common::SeekableReadStream &stream, int &size, int &rate, flags = 0; if (bitsPerSample == 8) // 8 bit data is unsigned - flags |= Audio::Mixer::FLAG_UNSIGNED; + flags |= Audio::FLAG_UNSIGNED; else if (bitsPerSample == 16) // 16 bit data is signed little endian - flags |= (Audio::Mixer::FLAG_16BITS | Audio::Mixer::FLAG_LITTLE_ENDIAN); + flags |= (Audio::FLAG_16BITS | Audio::FLAG_LITTLE_ENDIAN); else if (bitsPerSample == 4 && (type == 2 || type == 17)) - flags |= Audio::Mixer::FLAG_16BITS; + flags |= Audio::FLAG_16BITS; else { warning("getWavInfo: unsupported bitsPerSample %d", bitsPerSample); return false; } if (numChannels == 2) - flags |= Audio::Mixer::FLAG_STEREO; + flags |= Audio::FLAG_STEREO; else if (numChannels != 1) { warning("getWavInfo: unsupported number of channels %d", numChannels); return false; @@ -175,9 +175,9 @@ RewindableAudioStream *makeWAVStream(Common::SeekableReadStream *stream, Dispose } if (type == 17) // MS IMA ADPCM - return makeADPCMStream(stream, disposeAfterUse, size, Audio::kADPCMMSIma, rate, (flags & Audio::Mixer::FLAG_STEREO) ? 2 : 1, blockAlign); + return makeADPCMStream(stream, disposeAfterUse, size, Audio::kADPCMMSIma, rate, (flags & Audio::FLAG_STEREO) ? 2 : 1, blockAlign); else if (type == 2) // MS ADPCM - return makeADPCMStream(stream, disposeAfterUse, size, Audio::kADPCMMS, rate, (flags & Audio::Mixer::FLAG_STEREO) ? 2 : 1, blockAlign); + return makeADPCMStream(stream, disposeAfterUse, size, Audio::kADPCMMS, rate, (flags & Audio::FLAG_STEREO) ? 2 : 1, blockAlign); // Raw PCM. Just read everything at once. // TODO: More elegant would be to wrap the stream. |