@@ -44,6 +44,7 @@ enum class sprite : std::size_t {
|
||||
SETTINGS,
|
||||
BACKING,
|
||||
METRONOME,
|
||||
SOLOS,
|
||||
TEMPO,
|
||||
BACK,
|
||||
ON,
|
||||
|
||||
@@ -25,13 +25,14 @@ struct remote_display_state {
|
||||
std::bool_t error{};
|
||||
std::array<std::char_t, 16> phase{};
|
||||
std::bool_t metronome{};
|
||||
std::bool_t solos{true};
|
||||
std::bool_t editing{};
|
||||
std::uint32_t bpm{120U};
|
||||
std::array<std::char_t, vamp_protocol::title_id_size + 1U> title_image{};
|
||||
std::uint32_t page{};
|
||||
std::uint32_t pages{};
|
||||
auto operator==(remote_display_state const &other) const -> std::bool_t {
|
||||
return backing_available == other.backing_available && error == other.error && phase == other.phase && active == other.active && std::string_view{title} == other.title && std::string_view{part} == other.part && std::string_view{mode} == other.mode && std::string_view{focus} == other.focus && backing == other.backing && metronome == other.metronome && editing == other.editing && bpm == other.bpm && title_image == other.title_image && page == other.page && pages == other.pages;
|
||||
return backing_available == other.backing_available && error == other.error && phase == other.phase && active == other.active && std::string_view{title} == other.title && std::string_view{part} == other.part && std::string_view{mode} == other.mode && std::string_view{focus} == other.focus && backing == other.backing && metronome == other.metronome && solos == other.solos && editing == other.editing && bpm == other.bpm && title_image == other.title_image && page == other.page && pages == other.pages;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -7,6 +7,14 @@
|
||||
|
||||
namespace vamp_zero {
|
||||
|
||||
namespace settings_row {
|
||||
inline constexpr std::size_t backing = 1U;
|
||||
inline constexpr std::size_t metronome = 2U;
|
||||
inline constexpr std::size_t solos = 3U;
|
||||
inline constexpr std::size_t tempo = 4U;
|
||||
inline constexpr std::size_t count = 5U;
|
||||
}
|
||||
|
||||
enum class menu_action_kind { ACTIVATE,
|
||||
PREVIOUS,
|
||||
NEXT,
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
namespace vamp_zero {
|
||||
|
||||
auto selected_group(vamp_zero::app_state const &state) -> vamp_zero::song_group const *;
|
||||
auto visible_parts(vamp_zero::app_state const &state) -> std::vector<std::size_t>;
|
||||
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 active_pages(vamp_zero::app_state const &state) -> std::size_t;
|
||||
|
||||
@@ -71,6 +71,7 @@ struct library_part {
|
||||
std::string title_image{};
|
||||
std::string song_id{};
|
||||
std::size_t playback_pages{};
|
||||
std::bool_t solos_enabled{true};
|
||||
};
|
||||
|
||||
struct song_group {
|
||||
@@ -123,6 +124,7 @@ struct app_state {
|
||||
std::shared_ptr<vamp_zero::catalog const> catalog{vamp_zero::empty_catalog()};
|
||||
vamp_zero::app_mode mode{vamp_zero::app_mode::MAIN_MENU};
|
||||
vamp_zero::audio_state audio{};
|
||||
std::bool_t solos_enabled{true};
|
||||
std::size_t selected_main_menu_index{};
|
||||
std::size_t selected_settings_index{1U};
|
||||
std::size_t remembered_settings_index{1U};
|
||||
|
||||
Reference in New Issue
Block a user