3#include "factories/BaseFactory.h"
4#include "types/RawBuffer.h"
11constexpr uint32_t kDefaultMusicVolume = 32767;
13enum class MusicEventKind : uint8_t {
33 std::vector<MusicEvent> events;
36class MusicData :
public RawBuffer {
38 uint32_t mDivision = 0;
39 uint32_t mVolume = kDefaultMusicVolume;
40 std::vector<MusicTrack> mTracks;
42 explicit MusicData(std::vector<uint8_t> bytes) : RawBuffer(bytes) {
47 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName,
48 YAML::Node& node, std::string* replacement)
override;
52 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName,
53 YAML::Node& node, std::string* replacement)
override;
58 std::optional<std::shared_ptr<IParsedData>> parse(std::vector<uint8_t>& buffer, YAML::Node& data)
override;
59 std::optional<std::shared_ptr<IParsedData>> parse_modding(std::vector<uint8_t>& buffer, YAML::Node& data)
override;
60 inline std::unordered_map<ExportType, std::shared_ptr<BaseExporter>> GetExporters()
override {
63 bool SupportModdedAssets()
override {
Definition MusicFactory.h:46
Definition MusicFactory.h:56
Definition MusicFactory.h:51
Definition BaseFactory.h:96
Definition BaseFactory.h:102
Definition MusicFactory.h:21
Definition MusicFactory.h:30