8#include "factories/BaseFactory.h"
11#include "ui/audio/SequenceDriver.h"
22 std::vector<uint8_t> wav;
23 std::vector<int16_t> book;
24 int32_t loopStart = 0;
26 int32_t loopCount = 0;
27 uint16_t keyBase = 4800;
28 int32_t sampleRate = 32000;
30 std::vector<std::pair<std::vector<uint8_t>, std::vector<uint8_t>>> envelopes;
35 std::shared_ptr<Instrument> instruments[16];
40std::map<uint32_t, std::shared_ptr<Bank>>& BankRegistry();
41std::shared_ptr<Bank> ParseBank(
const std::vector<uint8_t>& rom, uint32_t off);
46 uint16_t bankPatch = 0;
47 uint16_t keyBase = 4800;
51 uint8_t randTune = 0, randVolume = 0, randPan = 0, randReverb = 0;
55 uint16_t bankPatch = 0;
59 int8_t coarseTune = 0, fineTune = 0;
63 std::vector<DrumInfo> perDrums;
64 std::vector<ProgramInfo> prgPrograms;
69void SetPreviewAssets(
bool enabled);
74void RegisterPreviewAssets(
const std::vector<uint8_t>& rom, uint32_t sbnBase);
80 std::shared_ptr<PM64Audio::Bank> bank;
87 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName,
88 YAML::Node& node, std::string* replacement)
override;
93 std::optional<std::shared_ptr<IParsedData>> parse(std::vector<uint8_t>& buffer, YAML::Node& data)
override;
94 inline std::unordered_map<ExportType, std::shared_ptr<BaseExporter>> GetExporters()
override {
103 std::vector<uint8_t> file;
107 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName,
108 YAML::Node& node, std::string* replacement)
override;
113 std::optional<std::shared_ptr<IParsedData>> parse(std::vector<uint8_t>& buffer, YAML::Node& data)
override;
114 inline std::unordered_map<ExportType, std::shared_ptr<BaseExporter>> GetExporters()
override {
122class PM64BkSampleFactoryUI :
public BaseFactoryUI {
129class SequencePlayerPM64 :
public UI::SequenceDriver {
131 bool Render(
const ParseResultData& item,
int option, UI::RenderedAudio& out)
override;
132 std::vector<std::string> Options(
const ParseResultData& item)
override;
Definition BaseFactory.h:96
Definition BaseFactory.h:102
Definition BaseFactory.h:88
Definition AudioPreview.h:106
Definition AudioPreview.h:101
Definition AudioPreview.h:111
Definition AudioPreview.h:86
Definition AudioPreview.h:78
Definition AudioPreview.h:91
Definition AudioPreview.h:33
Definition AudioPreview.h:45
Definition AudioPreview.h:62
Definition AudioPreview.h:21
Definition AudioPreview.h:54
Definition Companion.h:123