mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2024-08-13 17:03:47 -04:00
69 lines
1.7 KiB
C++
69 lines
1.7 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::Roy:
|
||
|
{
|
||
|
AudioV1 audioFac = AudioV1();
|
||
|
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::Deckard: // OTRTODO: Remove this line after we merge in that refactor
|
||
|
case Version::Roy:
|
||
|
{
|
||
|
AudioSampleV1 audioSampleFac = AudioSampleV1();
|
||
|
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::Deckard: // OTRTODO: Remove this line after we merge in that refactor
|
||
|
case Version::Roy:
|
||
|
{
|
||
|
AudioSoundFontV1 audioSFFac = AudioSoundFontV1();
|
||
|
audioSFFac.ParseFileBinary(reader, audioSF);
|
||
|
}
|
||
|
break;
|
||
|
default:
|
||
|
// VERSION NOT SUPPORTED
|
||
|
break;
|
||
|
}
|
||
|
|
||
|
return audioSF;
|
||
|
}
|
||
|
};
|