# ============================================================ # 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 # # ============================================================