Torch
Loading...
Searching...
No Matches
EnvelopeFactory.h
1
#pragma once
2
3
#include <factories/BaseFactory.h>
4
#include <vector>
5
#include "AudioContext.h"
6
7
struct
EnvelopePoint
{
8
int16_t delay;
9
int16_t arg;
10
};
11
12
class
EnvelopeData :
public
IParsedData
{
13
public
:
14
std::vector<EnvelopePoint> points;
15
16
EnvelopeData(std::vector<EnvelopePoint> points) : points(points) {};
17
};
18
19
class
EnvelopeHeaderExporter
:
public
BaseExporter
{
20
ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement)
override
;
21
};
22
23
class
EnvelopeBinaryExporter
:
public
BaseExporter
{
24
ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement)
override
;
25
};
26
27
class
EnvelopeCodeExporter
:
public
BaseExporter
{
28
ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement)
override
;
29
};
30
31
class
EnvelopeFactory
:
public
BaseFactory
{
32
public
:
33
std::optional<std::shared_ptr<IParsedData>> parse(std::vector<uint8_t>& buffer, YAML::Node& data)
override
;
34
inline
std::unordered_map<ExportType, std::shared_ptr<BaseExporter>> GetExporters()
override
{
35
return
{
36
REGISTER(Header,
EnvelopeHeaderExporter
)
37
REGISTER(Binary,
EnvelopeBinaryExporter
)
38
REGISTER(Code,
EnvelopeCodeExporter
)
39
};
40
}
41
42
bool
HasModdedDependencies()
override
{
return
true
; }
43
};
BaseExporter
Definition
BaseFactory.h:88
BaseFactory
Definition
BaseFactory.h:94
EnvelopeBinaryExporter
Definition
EnvelopeFactory.h:23
EnvelopeCodeExporter
Definition
EnvelopeFactory.h:27
EnvelopeFactory
Definition
EnvelopeFactory.h:31
EnvelopeHeaderExporter
Definition
EnvelopeFactory.h:19
IParsedData
Definition
BaseFactory.h:80
EnvelopePoint
Definition
EnvelopeFactory.h:7
src
factories
naudio
v1
EnvelopeFactory.h
Generated by
1.14.0