#pragma once #include "OoTAudioTypes.h" namespace OoT { class AudioSampleWriter { public: bool Extract(std::vector& buffer, YAML::Node& node, SafeAudioBankReader& audioBank, const std::vector& fontTable, const std::vector& sampleBankTable, std::map& sampleMap); private: void DiscoverSamples(const std::vector& fontTable, AudioParseContext& ctx); void WriteCompanionFiles(const std::map& sampleMap, const std::vector& audioTable); std::map> 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