#pragma once #include #include #include #include #include #include #include namespace vamp_zero { auto parse_score_document(std::string_view json, std::string source_path = {}) -> std::expected; auto read_score_document(std::filesystem::path const &path) -> std::expected; auto score_paths(std::string const &assets_path, vamp_zero::score_category category) -> std::expected, modulus::error>; auto performance_metadata(vamp_zero::score_document const &document) -> vamp_zero::library_part; auto practice_metadata(vamp_zero::score_document const &document, std::string const &assets_path) -> std::expected; auto load_performance_library(std::string const &assets_path) -> std::expected; auto load_practice_library(std::string const &assets_path) -> std::expected; auto group_library_parts(std::vector parts) -> vamp_zero::library_state; auto group_practice_exercises(std::vector exercises) -> std::expected; }