Torch
Loading...
Searching...
No Matches
SampleFactory.h
1#pragma once
2
3#include <utility>
4
5#include <factories/BaseFactory.h>
6#include "AudioManager.h"
7
9public:
10 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement);
11};
12
13class SampleData : public IParsedData {
14public:
15 AudioBankSample mSample;
16
17 explicit SampleData(AudioBankSample sample) : mSample(std::move(sample)) {}
18};
19
21 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement) override;
22};
23
24class SampleFactory : public BaseFactory {
25public:
26 std::optional<std::shared_ptr<IParsedData>> parse(std::vector<uint8_t>& buffer, YAML::Node& data) override;
27 std::unordered_map<ExportType, std::shared_ptr<BaseExporter>> GetExporters() override {
28 return {
29 REGISTER(Modding, SampleModdingExporter)
30 REGISTER(Binary, SampleBinaryExporter)
31 };
32 }
33
34 bool SupportModdedAssets() override { return true; }
35};
Definition BaseFactory.h:88
Definition BaseFactory.h:94
Definition BaseFactory.h:80
Definition SampleFactory.h:20
Definition SampleFactory.h:24
Definition SampleFactory.h:8
Definition AudioManager.h:73