Backend MUTE / PMUTE pour l'UI Brick (16 tracks, toggle, intégration LED). Plus de détails...
#include <stdbool.h>
#include <stdint.h>
Aller au code source de ce fichier.
Fonctions | |
void | ui_mute_backend_init (void) |
Initialise l'état MUTE/PMUTE (toutes tracks démute, PMUTE vide). | |
void | ui_mute_backend_apply (uint8_t track, bool mute) |
Applique un état explicite sur une track. | |
void | ui_mute_backend_toggle (uint8_t track) |
Bascule l'état MUTE d'une track (toggle). | |
void | ui_mute_backend_toggle_prepare (uint8_t track) |
Bascule l'état préparé PMUTE d'une track (toggle prepare). | |
void | ui_mute_backend_commit (void) |
Valide toutes les préparations PMUTE (commit) et nettoie. | |
void | ui_mute_backend_cancel (void) |
Annule toutes les préparations PMUTE en cours (cancel). | |
void | ui_mute_backend_publish_state (void) |
Republie l'état courant MUTE/PMUTE vers le backend LED. | |
void | ui_mute_backend_clear (void) |
Purge toutes les préparations PMUTE sans toucher aux états MUTE réels. | |
bool | ui_mute_backend_is_muted (uint8_t track) |
bool | ui_mute_backend_is_prepared (uint8_t track) |
Backend MUTE / PMUTE pour l'UI Brick (16 tracks, toggle, intégration LED).
Ce backend maintient l'état de MUTE pour 16 tracks (4 cartouches × 4 tracks) et expose des opérations simples :
Le rendu LED est assuré par ui_led_backend (observateur passif). Ici on publie uniquement les évènements nécessaires (MUTE_STATE / PMUTE_STATE).
void ui_mute_backend_apply | ( | uint8_t | track, |
bool | mute | ||
) |
Applique un état explicite sur une track.
track | Index de la track (0..15) |
mute | true = muté, false = actif |
Publie l'évènement UI_LED_EVENT_MUTE_STATE vers le backend LED.
void ui_mute_backend_cancel | ( | void | ) |
Annule toutes les préparations PMUTE en cours (cancel).
Publie UI_LED_EVENT_PMUTE_STATE(false) pour chaque track préparée.
void ui_mute_backend_clear | ( | void | ) |
Purge toutes les préparations PMUTE sans toucher aux états MUTE réels.
void ui_mute_backend_commit | ( | void | ) |
Valide toutes les préparations PMUTE (commit) et nettoie.
Pour chaque track préparée, on inverse l'état MUTE réel et on publie UI_LED_EVENT_MUTE_STATE. Les flags préparés sont ensuite nettoyés avec un UI_LED_EVENT_PMUTE_STATE(false).
void ui_mute_backend_init | ( | void | ) |
Initialise l'état MUTE/PMUTE (toutes tracks démute, PMUTE vide).
bool ui_mute_backend_is_muted | ( | uint8_t | track | ) |
bool ui_mute_backend_is_prepared | ( | uint8_t | track | ) |
void ui_mute_backend_publish_state | ( | void | ) |
Republie l'état courant MUTE/PMUTE vers le backend LED.
void ui_mute_backend_toggle | ( | uint8_t | track | ) |
Bascule l'état MUTE d'une track (toggle).
track | Index de la track (0..15) |
Publie l'évènement UI_LED_EVENT_MUTE_STATE vers le backend LED.
void ui_mute_backend_toggle_prepare | ( | uint8_t | track | ) |
Bascule l'état préparé PMUTE d'une track (toggle prepare).
track | Index de la track (0..15) |
Publie UI_LED_EVENT_PMUTE_STATE (même rendu visuel que MUTE).