# ============================================================
# SCHEMA DEI TASK - Yamaha TF5 Mixer Controller
# ============================================================
# Ogni file di task descrive UN evento (concerto, conferenza, ecc.)
# composto da N cues, ognuna con N steps eseguiti in sequenza.
#
# STRUTTURA GENERALE:
#
# event:             → metadati dell'evento (opzionale)
# cues:              → lista delle cue eseguibili
#   - id:            → identificatore univoco (es. "CUE_01")
#     name:          → nome leggibile
#     description:   → note operative (opzionale)
#     on_error:      → "stop" | "continue"  (default: "stop")
#     steps:         → lista di azioni in sequenza
#       - action:    → tipo di azione (vedi sotto)
#         ...params  → parametri specifici dell'azione
#         delay_ms:  → attesa PRIMA di eseguire questo step (ms)
#         wait_ms:   → attesa DOPO l'esecuzione (ms)
#
# ============================================================
# TIPI DI AZIONE DISPONIBILI:
# ============================================================
#
# 1. set_channel_level
#    channel: int (1-40)
#    level_db: float (es. 0.0, -10.5, -inf → usa -999)
#
# 2. set_channel_on_off
#    channel: int
#    state: bool (true = ON, false = OFF / mute)
#
# 3. set_channel_pan
#    channel: int
#    pan: int (-63 = sinistra, 0 = centro, +63 = destra)
#
# 4. mute_channels
#    channels: [int, int, ...]
#
# 5. unmute_channels
#    channels: [int, int, ...]
#
# 6. set_mix_level
#    mix: int (1-20)
#    level_db: float
#
# 7. set_mix_on_off
#    mix: int
#    state: bool
#
# 8. set_channel_to_mix_level
#    channel: int
#    mix: int
#    level_db: float
#
# 9. set_channel_to_mix_on_off
#    channel: int
#    mix: int
#    state: bool
#
# 10. recall_scene
#     bank: "a" | "b"
#     scene: int (0-99)
#
# 11. wait
#     ms: int   → pausa pura senza azioni sul mixer
#
# 12. refresh_cache
#     (nessun parametro) → forza un aggiornamento completo della cache
#
# ============================================================
