Torch
Loading...
Searching...
No Matches
AudioContext.h
1#pragma once
2
3#include "AudioTableFactory.h"
4#include "factories/naudio/v0/AudioHeaderFactory.h"
5#include "factories/BaseFactory.h"
6
7struct TunedSample {
8 uint32_t sample;
9 uint32_t sampleBankId;
10 float tuning;
11};
12
13struct TableEntry {
14 std::shared_ptr<AudioTableData> info;
15 std::unordered_map<uint32_t, AudioTableEntry> entries;
16 std::vector<uint8_t> buffer;
17 uint32_t offset;
18};
19
20enum class NAudioDrivers {
21 SF64, FZEROX, UNKNOWN
22};
23
25public:
26 static std::unordered_map<AudioTableType, TableEntry> tables;
27 static NAudioDrivers driver;
28
29 static LUS::BinaryReader MakeReader(AudioTableType type, uint32_t offset);
30 static TunedSample LoadTunedSample(LUS::BinaryReader& reader, uint32_t parent, uint32_t sampleBankId);
31 static uint64_t GetPathByAddr(uint32_t addr);
32
33 static const char* GetMediumStr(uint8_t medium);
34 static const char* GetCachePolicyStr(uint8_t policy);
35 static const char* GetCodecStr(uint8_t codec);
36};
37
39public:
40 std::optional<std::shared_ptr<IParsedData>> parse(std::vector<uint8_t>& buffer, YAML::Node& data) override;
41
42 inline std::unordered_map<ExportType, std::shared_ptr<BaseExporter>> GetExporters() override {
43 return {
44 REGISTER(Header, AudioDummyExporter)
45 REGISTER(Binary, AudioDummyExporter)
46 REGISTER(Code, AudioDummyExporter)
47 };
48 }
49
50 bool HasModdedDependencies() override { return true; }
51};
Definition AudioContext.h:38
Definition AudioContext.h:24
Definition AudioHeaderFactory.h:12
Definition BaseFactory.h:94
Definition AudioContext.h:13
Definition AudioContext.h:7