1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#pragma once
#include "OoTAudioTypes.h"
namespace OoT {
class AudioSampleWriter {
public:
bool Extract(std::vector<uint8_t>& buffer, YAML::Node& node,
SafeAudioBankReader& audioBank,
const std::vector<AudioTableEntry>& fontTable,
const std::vector<AudioTableEntry>& sampleBankTable,
std::map<uint32_t, SampleInfo>& sampleMap);
private:
void DiscoverSamples(const std::vector<AudioTableEntry>& fontTable, AudioParseContext& ctx);
void WriteCompanionFiles(const std::map<uint32_t, SampleInfo>& sampleMap,
const std::vector<uint8_t>& audioTable);
std::map<int, std::map<int, std::string>> ParseSampleNames(YAML::Node& node);
void ParseSample(int bankIndex, uint32_t sampleAddr, uint32_t baseOffset, AudioParseContext& ctx);
void ParseSFESample(int bankIndex, uint32_t sfeAddr, uint32_t baseOffset, AudioParseContext& ctx);
};
} // namespace OoT
|