#pragma once #include #include #include #include #include #include namespace loopstation_presets { struct Filter { std::optional> tags; }; struct Category { std::optional title; std::optional filter; }; struct LessonPad { std::optional tap; }; struct Lesson { std::optional version; std::optional name; std::optional id; std::optional orderBy; std::optional>> pads; }; struct Preset { std::optional id; std::optional audioPreviewUrl; std::optional author; std::optional bpm; std::optional> lessons; std::optional coverUrl; std::optional loopLength; std::optional orderBy; std::optional> pads; std::optional premium; std::optional> tags; std::optional title; // TODO beatschool std::optional DELETED; }; struct PresetsConfig { std::optional> categories; std::optional> presets; }; } // namespace loopstation_presets