@@ -15,16 +15,12 @@ namespace vamp_zero {
|
||||
auto selected_group(vamp_zero::app_state const &state) -> vamp_zero::song_group const *;
|
||||
auto selected_part(vamp_zero::app_state const &state) -> vamp_zero::library_part const *;
|
||||
auto active_part(vamp_zero::app_state const &state) -> vamp_zero::library_part const *;
|
||||
auto selected_practice_type(vamp_zero::app_state const &state) -> vamp_zero::practice_type_group const *;
|
||||
auto selected_practice_lesson(vamp_zero::app_state const &state) -> vamp_zero::practice_lesson_group const *;
|
||||
auto selected_practice_exercise(vamp_zero::app_state const &state) -> vamp_zero::practice_exercise const *;
|
||||
auto active_practice(vamp_zero::app_state const &state) -> vamp_zero::practice_exercise const *;
|
||||
auto supports_key_selection(vamp_zero::practice_exercise const &exercise) -> std::bool_t;
|
||||
auto selected_practice_variant(vamp_zero::app_state const &state, vamp_zero::practice_exercise const &exercise) -> vamp_zero::practice_exercise::score_variant const *;
|
||||
auto selected_practice_key(vamp_zero::app_state const &state, vamp_zero::practice_exercise const &exercise) -> std::optional<std::string_view>;
|
||||
auto practice_key_row_count(vamp_zero::app_state const &state) -> std::size_t;
|
||||
auto effective_practice_key(vamp_zero::app_state const &state, vamp_zero::practice_exercise const &exercise) -> std::string;
|
||||
auto active_pages(vamp_zero::app_state const &state) -> std::size_t;
|
||||
auto practice_fallback_menu(vamp_zero::app_state const &state) -> vamp_zero::app_mode;
|
||||
|
||||
}
|
||||
|
||||
@@ -2,9 +2,7 @@
|
||||
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
#include <array>
|
||||
#include <memory>
|
||||
#include <optional>
|
||||
#include <string>
|
||||
#include <string_view>
|
||||
#include <vector>
|
||||
@@ -70,31 +68,14 @@ struct practice_exercise {
|
||||
std::size_t total_pages{};
|
||||
};
|
||||
std::string id{};
|
||||
std::string practice_type_id{};
|
||||
std::string practice_type_title{};
|
||||
std::string lesson_group_id{};
|
||||
std::string lesson_group_title{};
|
||||
std::string title{};
|
||||
std::string composer{};
|
||||
std::string authored_key_signature{};
|
||||
std::vector<vamp_zero::practice_exercise::score_variant> variants{};
|
||||
};
|
||||
|
||||
struct practice_lesson_group {
|
||||
std::string id{};
|
||||
std::string title{};
|
||||
std::vector<std::size_t> exercises{};
|
||||
};
|
||||
|
||||
struct practice_type_group {
|
||||
std::string id{};
|
||||
std::string title{};
|
||||
std::vector<vamp_zero::practice_lesson_group> lesson_groups{};
|
||||
};
|
||||
|
||||
struct practice_library {
|
||||
std::vector<vamp_zero::practice_exercise> exercises{};
|
||||
std::vector<vamp_zero::practice_type_group> types{};
|
||||
};
|
||||
|
||||
struct catalogue {
|
||||
@@ -120,8 +101,6 @@ enum class app_mode {
|
||||
PERFORMANCE_SONG_MENU,
|
||||
PERFORMANCE_PART_MENU,
|
||||
PERFORMANCE_SCORE,
|
||||
PRACTICE_TYPE_MENU,
|
||||
PRACTICE_LESSON_MENU,
|
||||
PRACTICE_EXERCISE_MENU,
|
||||
PRACTICE_KEY_MENU,
|
||||
PRACTICE_SCORE,
|
||||
@@ -145,8 +124,6 @@ struct app_state {
|
||||
std::size_t selected_main_menu_index{};
|
||||
std::size_t selected_song_index{};
|
||||
std::size_t selected_part_index{};
|
||||
std::size_t selected_practice_type_index{};
|
||||
std::size_t selected_practice_lesson_index{};
|
||||
std::size_t selected_practice_exercise_index{};
|
||||
std::size_t selected_practice_key_index{};
|
||||
std::string active_part_id{};
|
||||
@@ -164,6 +141,5 @@ struct app_state {
|
||||
auto to_string(vamp_zero::hardware_mode value) -> std::string;
|
||||
auto to_string(vamp_zero::app_mode value) -> std::string;
|
||||
auto practice_key_names() -> std::vector<std::string_view> const &;
|
||||
auto practice_type_supports_key_selection(std::string_view practice_type_id) -> std::bool_t;
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user