Torch
Loading...
Searching...
No Matches
AudioConverter.h
1#pragma once
2
3#include <factories/BaseFactory.h>
4#include <factories/naudio/v1/SampleFactory.h>
5#include <factories/naudio/v0/AudioManager.h>
6#include <factories/naudio/v1/LoopFactory.h>
7#include <factories/naudio/v1/BookFactory.h>
8
9enum AIFCMagicValues {
10 FORM = (uint32_t) 0x464f524d,
11 AIFC = (uint32_t) 0x41494643,
12 VAPC = (uint32_t) 0x56415043,
13 AAPL = (uint32_t) 0x4150504c
14};
15
16#define NONE 0xFFFF
17#define ALIGN(val, al) (size_t) ((val + (al - 1)) & -al)
18
20public:
21 static void SampleV0ToAIFC(AudioBankSample* entry, LUS::BinaryWriter &out);
22 static void SampleV1ToAIFC(NSampleData* tSample, LUS::BinaryWriter &out);
23 static void SampleV1ToAIFC(NSampleData* tSample, const ADPCMLoopData* loop, const ADPCMBookData* book, LUS::BinaryWriter &out);
24};
25
26struct AIFCChunk {
27 std::string id;
28 std::vector<char> data;
29};
30
32public:
33 std::vector<AIFCChunk> Chunks;
34 size_t totalSize = 0;
35
36 LUS::BinaryWriter Start(){
37 auto writer = LUS::BinaryWriter();
38 writer.SetEndianness(Torch::Endianness::Big);
39 return writer;
40 }
41 void End(std::string chunk, LUS::BinaryWriter& writer);
42 void Close(LUS::BinaryWriter& out);
43};
Definition BookFactory.h:6
Definition LoopFactory.h:6
Definition AudioConverter.h:31
Definition AudioConverter.h:19
Definition SampleFactory.h:6
Definition AudioConverter.h:26
Definition AudioManager.h:73