Shipwright/libultraship/libultraship/Factories/AudioFactory.cpp

88 lines
2.1 KiB
C++

#include "AudioFactory.h"
namespace Ship
{
Audio* AudioFactory::ReadAudio(BinaryReader* reader)
{
Audio* audio = new Audio();
Version version = (Version)reader->ReadUInt32();
switch (version)
{
case Version::Rachael:
{
AudioV2 audioFac = AudioV2();
audioFac.ParseFileBinary(reader, audio);
}
break;
default:
// VERSION NOT SUPPORTED
break;
}
return audio;
}
AudioSample* AudioSampleFactory::ReadAudioSample(BinaryReader* reader)
{
AudioSample* audioSample = new AudioSample();
Version version = (Version)reader->ReadUInt32();
switch (version)
{
case Version::Rachael:
{
AudioSampleV2 audioSampleFac = AudioSampleV2();
audioSampleFac.ParseFileBinary(reader, audioSample);
}
break;
default:
// VERSION NOT SUPPORTED
break;
}
return audioSample;
}
AudioSoundFont* AudioSoundFontFactory::ReadAudioSoundFont(BinaryReader* reader)
{
AudioSoundFont* audioSF = new AudioSoundFont();
Version version = (Version)reader->ReadUInt32();
switch (version)
{
case Version::Rachael:
{
AudioSoundFontV2 audioSFFac = AudioSoundFontV2();
audioSFFac.ParseFileBinary(reader, audioSF);
}
break;
default:
// VERSION NOT SUPPORTED
break;
}
return audioSF;
}
AudioSequence* AudioSequenceFactory::ReadAudioSequence(BinaryReader* reader)
{
AudioSequence* audioSeq = new AudioSequence();
Version version = (Version)reader->ReadUInt32();
switch (version)
{
case Version::Rachael:
{
AudioSequenceV2 audioSeqFac = AudioSequenceV2();
audioSeqFac.ParseFileBinary(reader, audioSeq);
}
break;
default:
// VERSION NOT SUPPORTED
break;
}
return audioSeq;
}
};