mirror of
https://github.com/libretro/scummvm.git
synced 2025-01-18 07:53:12 +00:00
AUDIO: Rename Vag to XA
Vag is really an XA container, and one that we do not have a decoder for (nor need)
This commit is contained in:
parent
7d5f6fedda
commit
adb69a5a39
@ -20,16 +20,16 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "audio/decoders/vag.h"
|
||||
#include "audio/decoders/xa.h"
|
||||
#include "audio/audiostream.h"
|
||||
#include "common/stream.h"
|
||||
|
||||
namespace Audio {
|
||||
|
||||
class VagStream : public Audio::RewindableAudioStream {
|
||||
class XAStream : public Audio::RewindableAudioStream {
|
||||
public:
|
||||
VagStream(Common::SeekableReadStream *stream, int rate);
|
||||
~VagStream();
|
||||
XAStream(Common::SeekableReadStream *stream, int rate);
|
||||
~XAStream();
|
||||
|
||||
bool isStereo() const { return false; }
|
||||
bool endOfData() const { return _stream->pos() == _stream->size(); }
|
||||
@ -47,7 +47,7 @@ private:
|
||||
double _s1, _s2;
|
||||
};
|
||||
|
||||
VagStream::VagStream(Common::SeekableReadStream *stream, int rate) : _stream(stream) {
|
||||
XAStream::XAStream(Common::SeekableReadStream *stream, int rate) : _stream(stream) {
|
||||
_samplesRemaining = 0;
|
||||
_predictor = 0;
|
||||
_s1 = _s2 = 0.0;
|
||||
@ -55,11 +55,11 @@ VagStream::VagStream(Common::SeekableReadStream *stream, int rate) : _stream(str
|
||||
}
|
||||
|
||||
|
||||
VagStream::~VagStream() {
|
||||
XAStream::~XAStream() {
|
||||
delete _stream;
|
||||
}
|
||||
|
||||
static const double s_vagDataTable[5][2] =
|
||||
static const double s_xaDataTable[5][2] =
|
||||
{
|
||||
{ 0.0, 0.0 },
|
||||
{ 60.0 / 64.0, 0.0 },
|
||||
@ -68,14 +68,14 @@ static const double s_vagDataTable[5][2] =
|
||||
{ 122.0 / 64.0, -60.0 / 64.0 }
|
||||
};
|
||||
|
||||
int VagStream::readBuffer(int16 *buffer, const int numSamples) {
|
||||
int XAStream::readBuffer(int16 *buffer, const int numSamples) {
|
||||
int32 samplesDecoded = 0;
|
||||
|
||||
if (_samplesRemaining) {
|
||||
byte i = 0;
|
||||
|
||||
for (i = 28 - _samplesRemaining; i < 28 && samplesDecoded < numSamples; i++) {
|
||||
_samples[i] = _samples[i] + _s1 * s_vagDataTable[_predictor][0] + _s2 * s_vagDataTable[_predictor][1];
|
||||
_samples[i] = _samples[i] + _s1 * s_xaDataTable[_predictor][0] + _s2 * s_xaDataTable[_predictor][1];
|
||||
_s2 = _s1;
|
||||
_s1 = _samples[i];
|
||||
int16 d = (int) (_samples[i] + 0.5);
|
||||
@ -116,7 +116,7 @@ int VagStream::readBuffer(int16 *buffer, const int numSamples) {
|
||||
}
|
||||
|
||||
for (i = 0; i < 28 && samplesDecoded < numSamples; i++) {
|
||||
_samples[i] = _samples[i] + _s1 * s_vagDataTable[_predictor][0] + _s2 * s_vagDataTable[_predictor][1];
|
||||
_samples[i] = _samples[i] + _s1 * s_xaDataTable[_predictor][0] + _s2 * s_xaDataTable[_predictor][1];
|
||||
_s2 = _s1;
|
||||
_s1 = _samples[i];
|
||||
int16 d = (int) (_samples[i] + 0.5);
|
||||
@ -131,7 +131,7 @@ int VagStream::readBuffer(int16 *buffer, const int numSamples) {
|
||||
return samplesDecoded;
|
||||
}
|
||||
|
||||
bool VagStream::rewind() {
|
||||
bool XAStream::rewind() {
|
||||
_stream->seek(0);
|
||||
_samplesRemaining = 0;
|
||||
_predictor = 0;
|
||||
@ -140,8 +140,8 @@ bool VagStream::rewind() {
|
||||
return true;
|
||||
}
|
||||
|
||||
RewindableAudioStream *makeVagStream(Common::SeekableReadStream *stream, int rate) {
|
||||
return new VagStream(stream, rate);
|
||||
RewindableAudioStream *makeXAStream(Common::SeekableReadStream *stream, int rate) {
|
||||
return new XAStream(stream, rate);
|
||||
}
|
||||
|
||||
}
|
||||
} // End of namespace Audio
|
@ -28,8 +28,8 @@
|
||||
* - tinsel (PSX port of the game)
|
||||
*/
|
||||
|
||||
#ifndef SOUND_VAG_H
|
||||
#define SOUND_VAG_H
|
||||
#ifndef AUDIO_DECODERS_XA_H
|
||||
#define AUDIO_DECODERS_XA_H
|
||||
|
||||
namespace Common {
|
||||
class SeekableReadStream;
|
||||
@ -40,17 +40,17 @@ namespace Audio {
|
||||
class RewindableAudioStream;
|
||||
|
||||
/**
|
||||
* Takes an input stream containing Vag sound data and creates
|
||||
* Takes an input stream containing XA ADPCM sound data and creates
|
||||
* an RewindableAudioStream from that.
|
||||
*
|
||||
* @param stream the SeekableReadStream from which to read the ADPCM data
|
||||
* @param stream the SeekableReadStream from which to read the XA ADPCM data
|
||||
* @param rate the sampling rate
|
||||
* @return a new RewindableAudioStream, or NULL, if an error occurred
|
||||
*/
|
||||
RewindableAudioStream *makeVagStream(
|
||||
RewindableAudioStream *makeXAStream(
|
||||
Common::SeekableReadStream *stream,
|
||||
int rate = 11025);
|
||||
|
||||
} // End of namespace Sword1
|
||||
} // End of namespace Audio
|
||||
|
||||
#endif
|
@ -23,10 +23,10 @@ MODULE_OBJS := \
|
||||
decoders/qdm2.o \
|
||||
decoders/quicktime.o \
|
||||
decoders/raw.o \
|
||||
decoders/vag.o \
|
||||
decoders/voc.o \
|
||||
decoders/vorbis.o \
|
||||
decoders/wave.o \
|
||||
decoders/xa.o \
|
||||
mods/infogrames.o \
|
||||
mods/maxtrax.o \
|
||||
mods/module.o \
|
||||
|
@ -35,7 +35,7 @@
|
||||
#include "audio/decoders/mp3.h"
|
||||
#include "audio/decoders/vorbis.h"
|
||||
#include "audio/decoders/wave.h"
|
||||
#include "audio/decoders/vag.h"
|
||||
#include "audio/decoders/xa.h"
|
||||
|
||||
#define SMP_BUFSIZE 8192
|
||||
|
||||
@ -131,7 +131,7 @@ bool MusicHandle::playPSX(uint16 id, bool loop) {
|
||||
// not over file size
|
||||
if ((size != 0) && (size != 0xffffffff) && ((int32)(offset + size) <= _file.size())) {
|
||||
_file.seek(offset, SEEK_SET);
|
||||
_audioSource = Audio::makeLoopingAudioStream(Audio::makeVagStream(_file.readStream(size)), loop ? 0 : 1);
|
||||
_audioSource = Audio::makeLoopingAudioStream(Audio::makeXAStream(_file.readStream(size)), loop ? 0 : 1);
|
||||
fadeUp();
|
||||
} else {
|
||||
_audioSource = NULL;
|
||||
|
@ -38,7 +38,7 @@
|
||||
#include "audio/decoders/raw.h"
|
||||
#include "audio/decoders/vorbis.h"
|
||||
#include "audio/decoders/wave.h"
|
||||
#include "audio/decoders/vag.h"
|
||||
#include "audio/decoders/xa.h"
|
||||
|
||||
namespace Sword1 {
|
||||
|
||||
@ -256,7 +256,7 @@ void Sound::playSample(QueueElement *elem) {
|
||||
|
||||
if (SwordEngine::isPsx()) {
|
||||
uint32 size = READ_LE_UINT32(sampleData);
|
||||
Audio::AudioStream *audStream = Audio::makeLoopingAudioStream(Audio::makeVagStream(new Common::MemoryReadStream(sampleData + 4, size-4)), (_fxList[elem->id].type == FX_LOOP) ? 0 : 1);
|
||||
Audio::AudioStream *audStream = Audio::makeLoopingAudioStream(Audio::makeXAStream(new Common::MemoryReadStream(sampleData + 4, size-4)), (_fxList[elem->id].type == FX_LOOP) ? 0 : 1);
|
||||
_mixer->playStream(Audio::Mixer::kSFXSoundType, &elem->handle, audStream, elem->id, volume, pan);
|
||||
} else {
|
||||
uint32 size = READ_LE_UINT32(sampleData + 0x28);
|
||||
@ -364,7 +364,7 @@ bool Sound::startSpeech(uint16 roomNo, uint16 localNo) {
|
||||
_cowFile.seek(index * 2048);
|
||||
Common::SeekableReadStream *tmp = _cowFile.readStream(sampleSize);
|
||||
assert(tmp);
|
||||
stream = Audio::makeVagStream(tmp);
|
||||
stream = Audio::makeXAStream(tmp);
|
||||
_mixer->playStream(Audio::Mixer::kSpeechSoundType, &_speechHandle, stream, SOUND_SPEECH_ID, speechVol, speechPan);
|
||||
// with compressed audio, we can't calculate the wave volume.
|
||||
// so default to talking.
|
||||
|
@ -39,7 +39,7 @@
|
||||
#include "audio/decoders/vorbis.h"
|
||||
#include "audio/decoders/flac.h"
|
||||
#include "audio/decoders/wave.h"
|
||||
#include "audio/decoders/vag.h"
|
||||
#include "audio/decoders/xa.h"
|
||||
#include "audio/rate.h"
|
||||
|
||||
#include "sword2/sword2.h"
|
||||
@ -267,7 +267,7 @@ Audio::AudioStream *makePSXCLUStream(Common::File *file, int size) {
|
||||
|
||||
byte *buffer = (byte *)malloc(size);
|
||||
file->read(buffer, size);
|
||||
return Audio::makeVagStream(new Common::MemoryReadStream(buffer, size, DisposeAfterUse::YES));
|
||||
return Audio::makeXAStream(new Common::MemoryReadStream(buffer, size, DisposeAfterUse::YES));
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
@ -47,7 +47,7 @@
|
||||
#include "sword2/sound.h"
|
||||
|
||||
#include "audio/decoders/wave.h"
|
||||
#include "audio/decoders/vag.h"
|
||||
#include "audio/decoders/xa.h"
|
||||
|
||||
#define Debug_Printf _vm->_debugger->DebugPrintf
|
||||
|
||||
@ -234,7 +234,7 @@ void Sound::playMovieSound(int32 res, int type) {
|
||||
Audio::RewindableAudioStream *input = 0;
|
||||
|
||||
if (Sword2Engine::isPsx()) {
|
||||
input = Audio::makeVagStream(stream);
|
||||
input = Audio::makeXAStream(stream);
|
||||
} else {
|
||||
input = Audio::makeWAVStream(stream, DisposeAfterUse::YES);
|
||||
}
|
||||
@ -361,7 +361,7 @@ int32 Sound::playFx(Audio::SoundHandle *handle, byte *data, uint32 len, uint8 vo
|
||||
Audio::RewindableAudioStream *input = 0;
|
||||
|
||||
if (Sword2Engine::isPsx())
|
||||
input = Audio::makeVagStream(stream);
|
||||
input = Audio::makeXAStream(stream);
|
||||
else
|
||||
input = Audio::makeWAVStream(stream, DisposeAfterUse::YES);
|
||||
|
||||
|
@ -41,8 +41,9 @@
|
||||
#include "audio/decoders/flac.h"
|
||||
#include "audio/decoders/mp3.h"
|
||||
#include "audio/decoders/raw.h"
|
||||
#include "audio/decoders/vag.h"
|
||||
#include "audio/decoders/vorbis.h"
|
||||
#include "audio/decoders/xa.h"
|
||||
|
||||
|
||||
#include "gui/message.h"
|
||||
|
||||
@ -106,8 +107,8 @@ bool SoundManager::playSample(int id, Audio::Mixer::SoundType type, Audio::Sound
|
||||
error(FILE_IS_CORRUPT, _vm->getSampleFile(sampleLanguage));
|
||||
|
||||
if (TinselV1PSX) {
|
||||
// Read the stream and create a VAG Audio stream
|
||||
Audio::AudioStream *vagStream = Audio::makeVagStream(_sampleStream.readStream(sampleLen), 44100);
|
||||
// Read the stream and create a XA ADPCM audio stream
|
||||
Audio::AudioStream *xaStream = Audio::makeXAStream(_sampleStream.readStream(sampleLen), 44100);
|
||||
|
||||
// FIXME: Should set this in a different place ;)
|
||||
_vm->_mixer->setVolumeForSoundType(Audio::Mixer::kSFXSoundType, _vm->_config->_soundVolume);
|
||||
@ -115,7 +116,7 @@ bool SoundManager::playSample(int id, Audio::Mixer::SoundType type, Audio::Sound
|
||||
_vm->_mixer->setVolumeForSoundType(Audio::Mixer::kSpeechSoundType, _vm->_config->_voiceVolume);
|
||||
|
||||
// Play the audio stream
|
||||
_vm->_mixer->playStream(type, &curChan.handle, vagStream);
|
||||
_vm->_mixer->playStream(type, &curChan.handle, xaStream);
|
||||
} else {
|
||||
// allocate a buffer
|
||||
byte *sampleBuf = (byte *)malloc(sampleLen);
|
||||
|
Loading…
x
Reference in New Issue
Block a user