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

État interne mutable de l’UI Brick (copie RAM + cart active). Plus de détails...

#include "ui_model.h"
#include <string.h>

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 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).
 
void ui_model_set_active_overlay_tag (const char *tag)
 Définit le tag texte du mode custom actif.
 
const char * ui_model_get_active_overlay_tag (void)
 Récupère le tag du mode custom actif (SEQ, ARP…).
 

Description détaillée

État interne mutable de l’UI Brick (copie RAM + cart active).

Implémente la logique de stockage locale de l’état UI :

  • Valeurs courantes (modèle UI).
  • Cartouche active / précédente.
  • Tag persistant d’overlay (ex. "SEQ").

Les valeurs sont désormais stockées en int16_t pour permettre les plages bipolaires (ex. -12..+12, -128..+127). Cela évite tout wrap ou overflow lors du passage par zéro.

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.