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

Gestion centralisée des overlays UI (SEQ, ARP, …). Plus de détails...

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

Aller au code source de ce fichier.

Énumérations

enum  ui_overlay_id_t { UI_OVERLAY_NONE = 0 , UI_OVERLAY_SEQ , UI_OVERLAY_ARP }
 
enum  ui_custom_mode_t { UI_CUSTOM_NONE = 0 , UI_CUSTOM_SEQ , UI_CUSTOM_ARP }
 

Fonctions

void ui_overlay_enter (ui_overlay_id_t id, const ui_cart_spec_t *spec)
 
void ui_overlay_exit (void)
 
bool ui_overlay_is_active (void)
 
void ui_overlay_switch_subspec (const ui_cart_spec_t *spec)
 
const ui_cart_spec_tui_overlay_get_spec (void)
 
void ui_overlay_set_custom_mode (ui_custom_mode_t mode)
 
ui_custom_mode_t ui_overlay_get_custom_mode (void)
 
void ui_overlay_prepare_banner (const ui_cart_spec_t *src_mode, const ui_cart_spec_t *src_setup, const ui_cart_spec_t **dst_mode, const ui_cart_spec_t **dst_setup, const ui_cart_spec_t *prev_cart, const char *mode_tag)
 
void ui_overlay_set_banner_override (const char *cart_name, const char *tag)
 
void ui_overlay_update_banner_tag (const char *tag)
 
const char * ui_overlay_get_banner_cart_override (void)
 
const char * ui_overlay_get_banner_tag_override (void)
 
const ui_cart_spec_tui_overlay_get_host_cart (void)
 

Description détaillée

Gestion centralisée des overlays UI (SEQ, ARP, …).

Encapsule :

  • entrée/sortie d’un overlay,
  • bascule de sous-spec (MODE↔SETUP),
  • accès à la spec overlay courante,
  • flag de « mode custom actif » persistant (pour rendu/règles).

Module UI pur (pas de drivers).

Documentation du type de l'énumération

◆ ui_custom_mode_t

Valeurs énumérées
UI_CUSTOM_NONE 
UI_CUSTOM_SEQ 
UI_CUSTOM_ARP 

◆ ui_overlay_id_t

Valeurs énumérées
UI_OVERLAY_NONE 
UI_OVERLAY_SEQ 
UI_OVERLAY_ARP 

Documentation des fonctions

◆ ui_overlay_enter()

void ui_overlay_enter ( ui_overlay_id_t  id,
const ui_cart_spec_t spec 
)

Entrer dans un overlay (ferme l’éventuel overlay précédent proprement).

◆ ui_overlay_exit()

void ui_overlay_exit ( void  )

Quitter l’overlay courant et restaurer cart/état réels.

◆ ui_overlay_get_banner_cart_override()

const char * ui_overlay_get_banner_cart_override ( void  )

Retourne l’override courant du nom de cartouche pour l’overlay actif (ou NULL).

◆ ui_overlay_get_banner_tag_override()

const char * ui_overlay_get_banner_tag_override ( void  )

Retourne l’override courant du tag overlay pour l’overlay actif (ou NULL).

◆ ui_overlay_get_custom_mode()

ui_custom_mode_t ui_overlay_get_custom_mode ( void  )

◆ ui_overlay_get_host_cart()

const ui_cart_spec_t * ui_overlay_get_host_cart ( void  )

Cartouche hôte (celle restaurée lors de la sortie) si un overlay est actif, sinon NULL.

◆ ui_overlay_get_spec()

const ui_cart_spec_t * ui_overlay_get_spec ( void  )

Spec overlay courante (MODE/SETUP) si actif, sinon NULL.

◆ ui_overlay_is_active()

bool ui_overlay_is_active ( void  )

Vrai si un overlay est actif.

◆ ui_overlay_prepare_banner()

void ui_overlay_prepare_banner ( const ui_cart_spec_t src_mode,
const ui_cart_spec_t src_setup,
const ui_cart_spec_t **  dst_mode,
const ui_cart_spec_t **  dst_setup,
const ui_cart_spec_t prev_cart,
const char *  mode_tag 
)

Prépare les références de bannière (MODE/SETUP) et configure les overrides visuels. prev_cart doit pointer vers la cartouche "hôte" de l'overlay. Si NULL, le module tentera de réutiliser la dernière cartouche hôte connue (utile lors des cycles).

◆ ui_overlay_set_banner_override()

void ui_overlay_set_banner_override ( const char *  cart_name,
const char *  tag 
)

Définit l’override de bannière (nom cartouche + tag) pour l’overlay actif.

◆ ui_overlay_set_custom_mode()

void ui_overlay_set_custom_mode ( ui_custom_mode_t  mode)

Flag persistant (dernier mode custom actif).

◆ ui_overlay_switch_subspec()

void ui_overlay_switch_subspec ( const ui_cart_spec_t spec)

Bascule de sous-spec (ex. MODE ↔ SETUP) dans l’overlay actif.

◆ ui_overlay_update_banner_tag()

void ui_overlay_update_banner_tag ( const char *  tag)

Met à jour uniquement le tag override de la bannière active.