Brick Groove Machine 0.9.3
Firmware embarqué pour contrôleur/synthé Brick
 
Chargement...
Recherche...
Aucune correspondance
ui_spec.h
Aller à la documentation de ce fichier.
1
23#ifndef BRICK_UI_UI_SPEC_H
24#define BRICK_UI_UI_SPEC_H
25
26#include <stdint.h>
27#include <stdbool.h>
28#include "ui_types.h"
30/* -------------------------------------------------------------------------- */
31/* Capacités par défaut (modifiable au besoin) */
32/* -------------------------------------------------------------------------- */
33
38#ifndef UI_PARAMS_PER_PAGE
39#define UI_PARAMS_PER_PAGE 4
40#endif
41
46#ifndef UI_PAGES_PER_MENU
47#define UI_PAGES_PER_MENU 5
48#endif
49
54#ifndef UI_MENUS_PER_CART
55#define UI_MENUS_PER_CART 16
56#endif
57
62#ifndef UI_CYCLE_MAX_OPTS
63#define UI_CYCLE_MAX_OPTS 4
64#endif
65
66/* -------------------------------------------------------------------------- */
67/* Méta-données de paramètres */
68/* -------------------------------------------------------------------------- */
69
77typedef struct ui_param_range_t {
78 int16_t min;
79 int16_t max;
80 uint8_t step;
82
90typedef struct ui_param_enum_t {
91 const char* const *labels;
92 int count;
94
102
103/* -------------------------------------------------------------------------- */
104/* Paramètre UI */
105/* -------------------------------------------------------------------------- */
106
127
128/* -------------------------------------------------------------------------- */
129/* Page UI */
130/* -------------------------------------------------------------------------- */
131
143
144/* -------------------------------------------------------------------------- */
145/* Menu UI */
146/* -------------------------------------------------------------------------- */
147
161
162/* -------------------------------------------------------------------------- */
163/* Définition déclarative des cycles BM */
164/* -------------------------------------------------------------------------- */
165
184
185/* -------------------------------------------------------------------------- */
186/* Spécification UI de cartouche */
187/* -------------------------------------------------------------------------- */
188
206
207#endif /* BRICK_UI_UI_SPEC_H */
ui_param_kind_t
Genre logique d’un paramètre UI.
Definition ui_types.h:21
Spécification UI complète d’une cartouche.
Definition ui_spec.h:200
ui_cycle_idx_spec_t cycles[8]
Definition ui_spec.h:204
const char * cart_name
Definition ui_spec.h:201
ui_menu_spec_t menus[UI_MENUS_PER_CART]
Definition ui_spec.h:203
const char * overlay_tag
Definition ui_spec.h:202
Décrit un cycle pour un bouton menu (BMx) via des indices de menus.
Definition ui_spec.h:179
uint8_t count
Definition ui_spec.h:180
bool resume
Definition ui_spec.h:182
uint8_t idxs[UI_CYCLE_MAX_OPTS]
Definition ui_spec.h:181
Spécification d’un menu UI (ensemble de pages).
Definition ui_spec.h:156
const char * page_titles[UI_PAGES_PER_MENU]
Definition ui_spec.h:158
ui_page_spec_t pages[UI_PAGES_PER_MENU]
Definition ui_spec.h:159
const char * name
Definition ui_spec.h:157
Spécification d’une page UI (groupe de paramètres).
Definition ui_spec.h:139
const char * header_label
Definition ui_spec.h:141
ui_param_spec_t params[UI_PARAMS_PER_PAGE]
Definition ui_spec.h:140
Métadonnées d’un paramètre énuméré (ENUM).
Definition ui_spec.h:90
int count
Definition ui_spec.h:92
const char *const * labels
Definition ui_spec.h:91
Plage d’un paramètre continu (CONT).
Definition ui_spec.h:77
int16_t min
Definition ui_spec.h:78
uint8_t step
Definition ui_spec.h:80
int16_t max
Definition ui_spec.h:79
Spécification d’un paramètre UI.
Definition ui_spec.h:118
const char * label
Definition ui_spec.h:119
ui_param_meta_t meta
Definition ui_spec.h:123
ui_param_kind_t kind
Definition ui_spec.h:120
uint16_t dest_id
Definition ui_spec.h:121
uint8_t bit_mask
Definition ui_spec.h:125
bool is_bitwise
Definition ui_spec.h:124
uint8_t default_value
Definition ui_spec.h:122
#define UI_CYCLE_MAX_OPTS
Nombre maximal d’options cyclables par bouton BM (par défaut 4).
Definition ui_spec.h:63
#define UI_PARAMS_PER_PAGE
Nombre de paramètres par page UI (par défaut 4).
Definition ui_spec.h:39
#define UI_PAGES_PER_MENU
Nombre de pages par menu UI (par défaut 5).
Definition ui_spec.h:47
#define UI_MENUS_PER_CART
Nombre maximal de menus exposés par une cartouche (par défaut 16).
Definition ui_spec.h:55
Types communs de la couche UI Brick (kinds, widgets).
Union des métadonnées de paramètre (continu ou énuméré).
Definition ui_spec.h:98
ui_param_range_t range
Definition ui_spec.h:99
ui_param_enum_t en
Definition ui_spec.h:100