menu redesign: hierarchical entries

This commit is contained in:
Dejvino
2026-02-19 11:10:09 +01:00
parent 8ae1f5f501
commit d70e30d76f
6 changed files with 185 additions and 143 deletions
+36 -7
View File
@@ -14,13 +14,42 @@ extern volatile bool needsPanic;
extern UIState currentState;
// Menus
extern const char* mainMenu[];
extern const int mainMenuCount;
extern const char* randomizeMenuPoly[];
extern const int randomizeMenuPolyCount;
extern const int THEME_1_INDEX_POLY;
extern const char* setupMenu[];
extern const int setupMenuCount;
enum MenuItemID {
MENU_ID_GROUP_MAIN,
MENU_ID_MELODY,
MENU_ID_SCALE,
MENU_ID_TEMPO,
MENU_ID_SONG_MODE,
MENU_ID_GROUP_TRACK,
MENU_ID_TRACK_SELECT,
MENU_ID_MUTE,
MENU_ID_FLAVOUR,
MENU_ID_MUTATION,
MENU_ID_THEME_1,
MENU_ID_THEME_2,
MENU_ID_THEME_3,
MENU_ID_THEME_4,
MENU_ID_THEME_5,
MENU_ID_THEME_6,
MENU_ID_THEME_7,
MENU_ID_GROUP_SETUP,
MENU_ID_CHANNEL,
MENU_ID_RESET
};
struct MenuItem {
const char* label;
MenuItemID id;
bool isGroup;
bool expanded;
int indentLevel;
};
extern MenuItem menuItems[];
extern const int menuItemsCount;
bool isItemVisible(int index);
extern int menuSelection;
extern volatile bool trackMute[NUM_TRACKS];