Torch
Loading...
Searching...
No Matches
SampleFactory.h
1#pragma once
2
3#include <factories/BaseFactory.h>
4#include "AudioContext.h"
5
6class NSampleData : public IParsedData {
7public:
8 uint32_t codec : 4;
9 uint32_t medium : 2;
10 uint32_t unk : 1;
11 uint32_t isRelocated : 1;
12 uint32_t size : 24;
13 uint32_t sampleAddr;
14 uint32_t loop;
15 uint32_t book;
16
17 // Custom fields
18 uint32_t sampleBankId;
19 uint32_t sampleRate;
20 float tuning;
21};
22
24 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement) override;
25};
26
28 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement) override;
29};
30
32 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement) override;
33};
34
36 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement) override;
37};
38
40 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement) override;
41};
42
44public:
45 std::optional<std::shared_ptr<IParsedData>> parse(std::vector<uint8_t>& buffer, YAML::Node& data) override;
46 inline std::unordered_map<ExportType, std::shared_ptr<BaseExporter>> GetExporters() override {
47 return {
48 REGISTER(Header, NSampleHeaderExporter)
49 REGISTER(Binary, NSampleBinaryExporter)
50 REGISTER(Code, NSampleCodeExporter)
51 REGISTER(Modding, NSampleModdingExporter)
52 REGISTER(XML, NSampleXMLExporter)
53 };
54 }
55 bool SupportModdedAssets() override { return true; }
56};
Definition BaseFactory.h:88
Definition BaseFactory.h:94
Definition BaseFactory.h:80
Definition SampleFactory.h:27
Definition SampleFactory.h:31
Definition SampleFactory.h:6
Definition SampleFactory.h:43
Definition SampleFactory.h:23
Definition SampleFactory.h:35
Definition SampleFactory.h:39