115 std::vector<Instrument> insts;
116 std::vector<Drum> drums;
117 std::vector<std::variant<Instrument, std::vector<Drum>>> allInsts;
118 std::vector<uint32_t> instOffsets;
119 std::map<uint32_t, Envelope> envelopes;
120 std::map<uint32_t, AudioBankSample*> samples;
127 void initialize(std::vector<uint8_t>& buffer, YAML::Node& data);
131 const std::string& GetDialect()
const {
return dialect; }
132 uint32_t GetSessionFrequency()
const {
return sessionFrequency; }
134 uint32_t sessionFrequency = 0;
135 void bind_sample(YAML::Node& node,
const std::string& path);
136 std::string& get_sample(uint32_t
id);
138 std::map<uint32_t, Bank> get_banks();
139 std::vector<SampleBank*> get_loaded_banks();
140 std::vector<AudioBankSample*> get_samples();
143 std::map<uint32_t, Bank> banks;
144 std::map<AudioBankSample*, uint32_t> sampleMap;
147 static std::vector<Entry> parse_seq_file(std::vector<uint8_t>& buffer, uint32_t offset,
bool isCTL);
148 static CTLHeader parse_ctl_header(std::vector<uint8_t>& data);
149 static std::optional<AudioBankSound> parse_sound(std::vector<uint8_t> data);
150 static Drum parse_drum(std::vector<uint8_t>& data, uint32_t addr);
151 static Instrument parse_inst(std::vector<uint8_t>& data, uint32_t addr);
152 static AdpcmLoop parse_loop(uint32_t addr, std::vector<uint8_t>& bankData);
153 static AdpcmBook parse_book(uint32_t addr, std::vector<uint8_t>& bankData);
154 static AudioBankSample* parse_sample(std::vector<uint8_t>& data, std::vector<uint8_t>& bankData,
SampleBank* sampleBank);
155 static std::vector<AdsrEnvelope> parse_envelope(uint32_t addr, std::vector<uint8_t>& dataBank);
157 static TBLFile parse_tbl(std::vector<uint8_t>& data, std::vector<Entry>& entries);
Definition AudioManager.h:15