Brick Groove Machine 0.9.3
Firmware embarqué pour contrôleur/synthé Brick
 
Chargement...
Recherche...
Aucune correspondance
Référence du fichier ui_model.h

État mutable de l’interface utilisateur Brick (RAM UI). Plus de détails...

#include <stdint.h>
#include <stdbool.h>
#include "ui_spec.h"

Aller au code source de ce fichier.

Structures de données

struct  ui_param_state_t
 État courant d’un paramètre UI. Plus de détails...
 
struct  ui_page_state_t
 État d’une page (ensemble de paramètres). Plus de détails...
 
struct  ui_menu_state_t
 État d’un menu UI (ensemble de pages). Plus de détails...
 
struct  ui_cart_state_t
 État complet d’une cartouche UI (ensemble de menus). Plus de détails...
 
struct  ui_state_t
 État global de l’UI. Plus de détails...
 

Macros

#define UI_MODEL_MAX_MENUS   (UI_MENUS_PER_CART)
 
#define UI_MODEL_MAX_PAGES   (UI_PAGES_PER_MENU)
 
#define UI_MODEL_PARAMS_PER_PAGE   (UI_PARAMS_PER_PAGE)
 

Fonctions

void ui_state_init (ui_state_t *st, const ui_cart_spec_t *spec)
 Initialise un état UI à partir d’une spec.
 
void ui_model_switch_cart (const ui_cart_spec_t *spec)
 Bascule sur une nouvelle cartouche UI (réinitialise l’état).
 
void ui_model_restore_last_cart (void)
 Restaure la dernière cartouche UI active (pile 1 niveau).
 
void ui_model_init (const ui_cart_spec_t *initial_spec)
 Initialise le modèle global (état + cartouche initiale).
 
const char * ui_model_get_active_overlay_tag (void)
 Récupère le tag du mode custom actif (SEQ, ARP…).
 
void ui_model_set_active_overlay_tag (const char *tag)
 Définit le tag texte du mode custom actif.
 
const ui_cart_spec_tui_model_get_active_spec (void)
 Retourne la spec UI actuellement active.
 
ui_state_tui_model_get_state (void)
 Retourne un pointeur vers l’état UI global (mutable).
 

Description détaillée

État mutable de l’interface utilisateur Brick (RAM UI).

Ce module maintient l’état logique courant de l’UI (valeurs de paramètres, menu/page actifs, tag persistant d’overlay, etc.). Les structures sont alignées sur la spécification ui_spec.h, qui reste la source de vérité.

Les valeurs des paramètres sont stockées dans ui_param_state_t.value :

  • pour les paramètres unipolaires, la valeur est positive (0..max).
  • pour les paramètres bipolaires, la valeur peut être signée (ex. -12..+12, -128..+127, etc.).

La couche ui_controller traduit ensuite ces valeurs en représentation "wire" (uint8_t) avant routage vers la cartouche via ui_backend.

Documentation des macros

◆ UI_MODEL_MAX_MENUS

#define UI_MODEL_MAX_MENUS   (UI_MENUS_PER_CART)

◆ UI_MODEL_MAX_PAGES

#define UI_MODEL_MAX_PAGES   (UI_PAGES_PER_MENU)

◆ UI_MODEL_PARAMS_PER_PAGE

#define UI_MODEL_PARAMS_PER_PAGE   (UI_PARAMS_PER_PAGE)

Documentation des fonctions

◆ ui_model_get_active_overlay_tag()

const char * ui_model_get_active_overlay_tag ( void  )

Récupère le tag du mode custom actif (SEQ, ARP…).

Renvoie
Chaîne persistante, "SEQ" par défaut si non défini.

◆ ui_model_get_active_spec()

const ui_cart_spec_t * ui_model_get_active_spec ( void  )

Retourne la spec UI actuellement active.

◆ ui_model_get_state()

ui_state_t * ui_model_get_state ( void  )

Retourne un pointeur vers l’état UI global (mutable).

◆ ui_model_init()

void ui_model_init ( const ui_cart_spec_t initial_spec)

Initialise le modèle global (état + cartouche initiale).

Paramètres
initial_specSpécification UI de départ.

◆ ui_model_restore_last_cart()

void ui_model_restore_last_cart ( void  )

Restaure la dernière cartouche UI active (pile 1 niveau).

◆ ui_model_set_active_overlay_tag()

void ui_model_set_active_overlay_tag ( const char *  tag)

Définit le tag texte du mode custom actif.

Paramètres
tagChaîne C (ex: "SEQ", "ARP"). NULL ou "" pour effacer.

◆ ui_model_switch_cart()

void ui_model_switch_cart ( const ui_cart_spec_t spec)

Bascule sur une nouvelle cartouche UI (réinitialise l’état).

Paramètres
specNouvelle spécification UI active.

◆ ui_state_init()

void ui_state_init ( ui_state_t st,
const ui_cart_spec_t spec 
)

Initialise un état UI à partir d’une spec.

Paramètres
stPointeur vers la structure d’état.
specSpécification UI de la cartouche active.