Příručka uživatele
1. Co je CueX a jak přemýšlí
CueX je editor a simulátor show pro instalace řízené show-controllerem (světla DMX, video player BrightSign, projektory, větráky). Pracuješ v něm bez hardwaru — všechno vidíš v simulaci — a do reálu pak nasazuješ přes Deploy sheet (checklist) a sACN record (nahrání světel do S-Play).
Hierarchie dat:
PROJEKT (soubor .json — všechno v jednom)
├─ ZAŘÍZENÍ světla, video player, projektor, větráky + DMX patch
├─ PLOCHY projekční okna na stage (kam se kreslí video)
├─ TRIGGERY VSTUPY — co show spouští zvenku (OSC / UDP / GPI)
└─ PLAYLISTY každý = jedna timeline
├─ STOPY řádky timeline, každá patří jednomu zařízení (nebo skupině)
│ ├─ obálková stopa (envelope) → plynulé hodnoty: barva, jas, rychlost
│ │ ├─ KEYFRAMY body, mezi nimiž se hodnota plynule přelévá
│ │ └─ FX efekty navrch (vlnění, blikání, pulz) — kap. 7
│ └─ eventová stopa (event) → jednorázové povely: diamanty
│ (např. PLAY_LEGENDA pro BrightSign v čase 0:00.2)
└─ MARKERY pojmenované značky (C01, C02…) pro orientaci a rychlý skok
2. Hlavní obrazovka
┌──────────────────────────────────────────────────────────────────┐ │ HEADER logo · ▶Play ■ ⟲ ⟳ · timecode · ●LIVE ⬤GPI │ │ Výstupy · Media ▾ · Zobrazení ▾ · Projekt ▾ │ ├────────────┬─────────────────────────────────────────────────────┤ │ ZAŘÍZENÍ │ STAGE — náhled sálu: projekce, světla, větráky │ │ (levý rail)│ │ ├────────────┴─────────────────────────────────────────────────────┤ │ TIMELINE — taby playlistů · pravítko s markery · stopy │ ├──────────────────────────────────────────────────────────────────┤ │ FOOTER — stav, universe, autosave čas, nápověda zkratek │ └──────────────────────────────────────────────────────────────────┘
3. Přehrávání: Play × LIVE
Přehrávací tlačítka:
| Tlačítko | K čemu je | Kdy ho použiješ |
|---|---|---|
| ▶ Play | Editorský přehrávač. Přehraje playlist, který máš zrovna otevřený, od pozice playheadu. | Při tvorbě a ladění show. |
| ● LIVE | Ostrý režim. Projekt běží jako v reálné instalaci: playlisty s autostartem se spustí samy, více playlistů běží souběžně (řeší priority) a poslouchají se triggery. | Zkouška „jak to poběží doopravdy" a provoz. |
■ Stop zastaví přehrávání a vrátí playhead na začátek. ⟲ / ⟳ = Zpět / Znovu (Ctrl+Z / Ctrl+Shift+Z), až 50 kroků.
Pro připojení k CueX Boxu klikni na indikátor ⬤ runtime v patičce (vždy viditelný, šedé = offline, žluté = připojeno, zelené = Převzetí).
Jazyk stavů tlačítek
Tlačítka v CueX mají vizuálně konzistentní stavy:
| Stav | Vzhled | Příklad |
|---|---|---|
| Vypnuto / k dispozici | Průhledný obrys, barevný text | ▶ Play (stop) |
| Armed / připraveno | Pulzující gradient (~2 s) | Arm nahrávání |
| Aktivní / běží | Plná výplň barvou | ⏸ Pause (hraje) |
| Pauza | Ztlumený obrys (60 %) | ▶ Play (pauza) |
| Kritická akce | Šrafovaný vzor + bílý text | Restart zařízení |
LIVE stavový panel
Jakmile vstoupíš do LIVE, objeví se stavový panel vedle timecode:
LIVE · MM:SS— čas od vstupu do LIVE- Seznam běžících playlistů s elapsed časem — např.
Ambient (0:42), Show (1:05)
Tlačítko ▶ Play v LIVE zůstane viditelné, ale disabled (ztlumené) — v LIVE řídí přehrávání triggery a scheduler, ne ruční Play (kap. 22).
Triggery = VSTUPY, ne výstupy
Častý omyl: sekce Triggery neurčuje, co CueX posílá ven. Určuje, na co show reaguje zvenku:
| Zdroj | Příklad | V Pekle |
|---|---|---|
| OSC | /show/start po síti | řídicí tablet |
| UDP | textový string START | jiný systém v LAN |
| GPI | sepnutí kontaktu | tlačítko u vchodu |
Každý trigger říká: když přijde tento signál → spusť/zastav tento playlist. Výstupy ven (povely pro BrightSign, projektor) jsou naopak eventy — diamanty na eventové stopě zařízení (kap. 9).
4. Zařízení a patch
Tlačítko Zařízení v headeru otevře správce zařízení. Zde přidáváš:
- DMX světlo — vybereš typ (PAR, strobo, kombinované wash+strobo, větrák, dimmer…) a DMX adresu. CueX hlídá kolize adres (universe 1, 512 kanálů; obsazení vidíš v patičce).
- Media player (UDP) — BrightSign: IP, port, sloty (soubory) a commandy (jaký UDP string spustí jaký slot na jakém výstupu).
- Projektor (PJLink) — IP, přiřazená plocha, doba náběhu (warmup). CueX varuje, když video startuje dřív, než projektor stihne naběhnout.
Levý rail ukazuje všechna zařízení s adresami. Pozici na stage přesuneš v režimu Layout (kap. 5).
Tab Profily — editor fixture profilů
Rail má dva taby: Zařízení (výchozí) a Profily.
V tabu Profily vidíš:
- Zabudované profily (badge
built-in, jen čtení) — standardní typy jako rgbpar, strobe, fan, venom-strobe-bar-v2-14ch, auri-12ch a další. - Vlastní profily (badge
vlastní, plně editovatelné) — profily, které jsi vytvořil nebo přizpůsobil.
Overlay: pokud máš vlastní profil se stejným klíčem jako zabudovaný (např. venom-strobe-bar-v2-14ch s upraveným mapováním kanálů), zobrazí se badge překrývá built-in. Zabudovaný pak zálohu tvoří jen tehdy, pokud vlastní smažeš.
| Tlačítko | Dostupné pro | Co udělá |
|---|---|---|
| Duplikovat | built-in i vlastní | Zkopíruje profil pod novým klíčem a otevře editor |
| Upravit | jen vlastní | Otevře editor stávajícího profilu |
| Smazat | jen vlastní | Smaže profil; blokováno, pokud ho stále používají zařízení bez náhradního built-in |
Editor profilu: ID profilu (unikátní klíč), Název, Footprint (počet kanálů), tabulka kanálů (offset, size 1/3, název parametru). Pokud footprint nového profilu způsobí DMX kolizi, editor ji ihned zobrazí.
Live náhled: při otevřeném editoru se zařízení s daným typem na stage okamžitě renderuje podle rozeditovaného profilu — vidíš vliv změny bez uložení. Uložit = commit; Zrušit = beze změn.
LIVE režim: v LIVE je tab Profily pouze pro čtení.
5. Stage a Layout
Stage = náhled sálu. Světla svítí, větráky se točí, na plochách běží video.
Tlačítko Layout přepne do editace rozmístění:
- táhni zařízení = přesun po sále,
- táhni plochu = přesun projekce; roh plochy = změna velikosti,
- výběr plochy otevře inspector — tlačítko „Přizpůsobit poměru videa" nastaví plochu přesně na poměr stran načteného videa.
Video se vždy kreslí letterboxem (nikdy se nedeformuje). Když show neběží, plocha ukazuje ztlumený první frame s „▶ PLAY pro projekci". Layout ukonči dalším klikem na Layout. Změny se ukládají automaticky.
6. Timeline: pohyb, výběr, editace
Pohyb
| Akce | Jak |
|---|---|
| Zoom | kolečko myši / pinch na trackpadu |
| Posun doleva/doprava | Shift + kolečko, vodorovné gesto na trackpadu, tažení prostředním tlačítkem myši, nebo posuvník dole |
| Posun nahoru/dolů | svislý posuvník vpravo |
| Skok na čas | klik do pravítka nebo tažení playhead linie v prostoru stop (kurzor col-resize, funguje i před prvním play) |
| Skok na cue | klik na marker (praporek) v pravítku |
| Loop region | Alt + tažení v pravítku = přehrávat úsek dokola (Alt+klik zruší). Jen editor, LIVE ho ignoruje |
| Follow playhead | toggle ⇥ u headeru: při přehrávání view skáče s playheadem (ruční posun ho dočasně vypne) |
Vlnovka a akcenty
Media pruh v timeline ukazuje vlnovku zvuku (i zvukové stopy videa) — akcenty hudby vidíš přímo pod keyframy. Z vlnovky se automaticky detekují akcenty (údery/nástupy) a zobrazují se jako drobné bílé čárky ve spodku pravítka.
Keyframy (obálkové stopy)
- klik do stopy = přidat/vybrat keyframe; hodnotu a čas doladíš v inspectoru
- tažení keyframu = posun v čase/hodnotě
- ⇧klik = multi-select; Ctrl+C / Ctrl+V = kopírovat/vložit
- Delete = smazat výběr
- šipky ←→ = posun o 0,1 s (se Shift o 1 s); ↑↓ = hodnota ±5
- U barevných stop keyframe nese barvu (RGB picker v inspectoru)
Stopy
- M/S u labelu = mute/solo stopy (jen pro náhled, neukládá se do show)
- tažení za label = změna pořadí řádků (organizace: PARy k sobě atd.)
- + Skupina = skupinová stopa (kap. 8)
Markery
- M v timeline = přidat marker na pozici playheadu; přejmenování/mazání v inspectoru
- M jinde (mimo textové pole) = toggle DMX monitor (kap. 15)
- Markery vidíš v pravítku a v Deploy sheetu (tabulka cues s timecody)
Ripple posun
Kdykoli přidáš cue uprostřed hotové show, vše za ním musíš posunout. Ripple to udělá za tebe.
| Způsob | Jak |
|---|---|
| Toggle ripple | tlačítko ⇄ v headeru; zapnutý = posuv keyframu/eventu posune i vše pozdější na téže stopě |
| Alt + tažení | jednorázový ripple bez zapnutého toggleu |
Ripple platí jen pro elementy na téže stopě — stopy jiných zařízení se neposouvají.
Filmstrip náhledy videa
Media pruh (záhlaví eventové stopy s přiřazeným videem) zobrazuje sled miniatur z načteného videa — vidíš, co hraje v každém okamžiku bez nutnosti přehrávat.
- Náhledy se generují automaticky po načtení videa (BrightSign hraje vždy od začátku — bez trim-pointu).
- Hustota miniatur se přizpůsobí zoomu timeline.
- Pruh s audiostopou (bez videa) ukazuje jen vlnovku.
7. FX efekty — sine, flicker, pulse
Ruční klikání „blikání ohně" po keyframech by bylo šílené. Od toho jsou FX segmenty: efekt položený NAVRCH základní obálky, na vybraný úsek času.
U vybrané obálkové stopy (jen číselné parametry — jas, rychlost; ne barva) najdeš v inspectoru sekci FX → „přidat":
| Typ | Co dělá | Typické použití |
|---|---|---|
| sine | plynulé vlnění kolem základní hodnoty (nahoru i dolů) | dýchání světla, vlnění hladiny, neklid |
| pulse | pravidelné pulzy NAD základní hodnotu (jen nahoru) | tep, tlukot srdce, ceremoniální gradace |
| flicker | náhodné chvění kolem základu (deterministické — při každém přehrání stejné) | oheň, uhlíky, chaos bouře |
Parametry:
- t0 / t1 — od kdy do kdy efekt běží (sekundy)
- rateHz — rychlost: 0,2 = pomalé dýchání (5 s perioda), 4 = rychlé chvění
- depth — síla v DMX jednotkách 0–255 (30 = jemné, 127 = extrém)
- seed (jen flicker) — jiné číslo = jiný náhodný průběh; stejné = vždy stejný
Efekt je v timeline vidět jako podbarvený pruh a křivka ukazuje výslednou (zmodulovanou) hodnotu. Překrývající se efekty se sčítají.
8. Skupinové stopy
K čemu: stejná obálka pro víc zařízení najednou. Místo čtyř identických stop „jas" pro všechny PARy máš jednu skupinovou.
Vytvoření: tlačítko + Skupina (u timeline) → vybereš zařízení a parametr → vznikne stopa označená „Skupina (N×)".
Úprava členů: klikni na skupinovou stopu → inspector → sekce Členi skupiny — přidání/odebrání zařízení, nebo rozdělit skupinu (rozpadne se na samostatné kopie pro každé zařízení — hodí se, když se zařízení mají začít chovat různě).
Ukládání: skupina je normální součást playlistu — uloží se s projektem, nic zvláštního dělat nemusíš.
9. Video a media (BrightSign)
- Sloty playeru (Zařízení → BrightSign) odkazují na soubory videí/audia.
- Event stopa playeru nese diamanty s commandy — např.
PLAY_LEGENDAv čase 0:00.2 spustí video na HDMI-1. To je ta cesta „CueX → ven". - Posun v čase: media pruh jde v timeline táhnout myší — mění se čas play eventu (v reálu = čas eventu v S-Play playlistu, 1:1 přenositelné). Zvuk ve videu se posouvá s obrazem. Trim začátku neexistuje záměrně — BrightSign neumí „pusť soubor od poloviny", takže by to v reálu nešlo.
- Automatické načtení: soubor pojmenovaný podle slotu
vlož do složky
media/vedle projektu — načte se sám při otevření. Jinak klik na slot → vybrat soubor ručně. - Zvuk: ikona 🔊 v headeru = mute/unmute zvuku videa v simulaci. (V reálu jde zvuk z analogového výstupu BrightSignu, ne z CueX.)
- On media end pravidla (co se stane, když video doběhne) se nastavují u playeru v Zařízeních — simulují chování BrightAuthor:connected.
10. Playlisty
Taby nad timeline. Každý playlist = samostatná timeline s vlastními stopami.
Vlastnosti (klik na tab → inspector): délka, počet přehrání (1×/∞), priorita, autostart (v LIVE se spustí sám).
Délka timeline: konec playlistu je v pravítku vyznačená hrana — jde táhnout myší. Tlačítko „Přizpůsobit médiím" v inspectoru nastaví délku na konec nejdelšího média + dojezd. Cokoliv (keyframe, event, FX) za koncem playlistu se nemaže, jen na to upozorní validace.
Po skončení (follow rules): v inspectoru playlistu sekce „Po skončení" — vyber playlist, který se má spustit po přirozeném doběhnutí (ne po ručním stopu nebo stop triggeru). Volitelné zpoždění v ms (0 = okamžitě). Typický vzor: ambient loop (∞, priorita 10) → show (1×, priorita 80, follow → ambient). Show přebije ambient při přehrávání, po doběhnutí se ambient sám rozeběhne.
Souběh v LIVE: běží-li víc playlistů a sahají na stejné DMX kanály, vyhrává vyšší priorita (řeší se po kanálech). Editor tě varuje, když mají dva playlisty stejnou prioritu a sdílejí zařízení.
Duplikovat playlist: v kontextovém menu taby (⋯) →
Duplikovat — vytvoří kopii se všemi stopami a klíčovými snímky,
název „<původní> 1" (nebo „2", „3", …), bez triggerů, autostart=false.
MCP: playlist_duplicate({sourceId}).
11. Ukládání a verze
| Mechanismus | Co dělá | Kdy tě zachrání |
|---|---|---|
| Autosave | průběžně ukládá poslední stav do prohlížeče (čas v patičce) | zavřel jsi omylem okno |
| Zpět/Znovu | 50 kroků, Ctrl+Z — pozor: nepřežije obnovení stránky | překlik před chvílí |
| Historie verzí | Projekt ▾ → snapshoty (à ~2 min, posledních 10) — přežijí i reload; před obnovou se aktuální stav sám zazálohuje | „vrať mě 10 minut zpátky" |
| Uložit / Uložit jako… | soubor .json na disk, + seznam Nedávné | pojmenované verze: show_v1_funkcni.json |
| Zahodit a načíst demo | vrátí vestavěnou demo show | úplný reset |
12. Nasazení do reálu
- Deploy sheet (tlačítko v headeru) — vygeneruje checklist: S-Play playlisty, BrightSign pravidla, DMX patch tabulku, triggery, markery, síť.
- sACN OUT — CueX vysílá světla po síti (universe 1);
S-Play Mini je nahraje jako Dynamic Cues (record). Vyžaduje spuštěný
sidecar (
npm run sacn) a LAN spojení. - Video/projektory se konfigurují ručně dle deploy sheetu (S-Play nemá API).
Ověření fixtury na place (doporučený postup)
U odhadovaných DMX profilů (LWS 384, Auri Strobe) nebo neznámých svítidel:
- Locate → rozsvítí svítidlo naplno (kap. 15) — ověříš, že patch adresa souhlasí s reálným světlem.
- DMX monitor (M nebo klik na čítač universe v patičce) → živá mřížka kanálů — vidíš, které kanály Locate posílá a jaké hodnoty.
- Porovnej s manuálem svítidla: pokud nesouhlasí, přejdi v railu do tabu Profily → duplikuj zabudovaný profil → uprav kanály → ulož → znovu Locate.
- Opakuj, dokud DMX monitor nepotvrdí správné hodnoty na správných kanálech.
- Teprve pak nasazuj show (sACN record do S-Play).
15. DMX monitor a Locate
DMX monitor
Otevření: klávesa M (kdekoliv mimo textové pole) nebo klik na čítač „univ. N ch" v patičce. Drawer se vynoří nad patičkou.
Co vidíš: mřížka 512 kanálů s aktuálními hodnotami (0–255) v reálném čase. Kanály s nenulovými hodnotami jsou zvýrazněny; hover ukáže jméno zařízení, které kanál vlastní (pokud je v patch).
Použití na place:
- Spusť show (nebo Locate) → monitor ukazuje, co skutečně jde ze sACN.
- Klikni na kanál → inspector zobrazí přiřazené zařízení a parametr.
- Porovnej s očekáváním z deploy sheetu.
Highlight / Locate
Na place potřebuješ vědět, které světlo je které. Locate rozsvítí jedno svítidlo naplno, zbytek nechá tak.
- Klikni na ◎ (ikonka kruhu) u zařízení v levém railu → dané svítidlo skočí na plné hodnoty (RGB = bílá, dimmer = 255, jiné kanály = 0).
- Auto-off: po 60 sekundách se Locate automaticky vypne.
- Exkluzivita: vždy svítí max. jedno zařízení. Klik na jiné ◎ → předchozí se vypne.
- Klikni znovu na aktivní ◎ (nebo počkej 60 s) → Locate se vypne.
Locate vs. přehrávání: Locate je překryv výstupu, nezasahuje do show. Playback pokračuje normálně; Locate hodnoty jsou NAVRCH výstupu (viditelné v DMX monitoru).
LIVE: Locate funguje i v LIVE — hodí se pro rychlé ověření svítidla za provozu.
13. Klávesové zkratky — přehled
| Zkratka | Akce |
|---|---|
| mezerník | Play/Pause |
| klik / ⇧klik | keyframe / multi-select |
| Ctrl+C / Ctrl+V | kopírovat / vložit výběr |
| Delete / Backspace | smazat výběr |
| ← → (⇧ = ×10) | posun výběru v čase o 0,1 s (1 s) |
| ↑ ↓ | hodnota ±5 |
| M | marker na playheadu (v timeline) / toggle DMX monitor (jinde) |
| Ctrl+Z / Ctrl+⇧+Z | zpět / znovu |
| kolečko / ⇧+kolečko | zoom / posun timeline |
| Alt+tažení keyframu/eventu | ripple posun (posune i vše pozdější na téže stopě) |
| Alt+tažení v pravítku | loop region (Alt+klik zruší) |
| ⊕ magnet (header) | snap na akcenty/markery/sekundy |
| ⇥ follow (header) | auto-scroll za playheadem při přehrávání |
14. Ovládání agentem (MCP)
CueX obsahuje MCP server — rozhraní, přes které může AI asistent (Claude Code, Claude Desktop) číst i editovat projekt textovými příkazy. Agent zná strukturu projektů, DMX patch, limity S-Play i celou terminologii — nemusíš mu nic vysvětlovat.
Typický use case: pošleš mu světelný scénář ve formátu .xlsx nebo
čistého textu; on přidá zařízení, vytvoří playlisty, vyplní keyframy, přidá FX efekty
a nastaví markery — celá show za minuty.
Jak zapojit
Claude Code — vytvoř soubor .mcp.json v kořenu projektu:
{
"mcpServers": {
"cuex": {
"command": "node",
"args": ["mcp/server.mjs"]
}
}
}
Claude Desktop — přidej do
~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"cuex": {
"command": "node",
"args": ["/absolutní/cesta/k/peklo-sim/mcp/server.mjs"]
}
}
}
Poprvé spusť (jen jednou): cd mcp && npm install
Pak otevři CueX (webová app nebo desktop). Patička ukáže ⬤ agent zeleně, jakmile se MCP server připojí.
Příklad promptu: stavba show ze scénáře
Agent zavolá get_project (přečte, co je), přidá zařízení, playlist, stopy,
keyframy, FX a markery — výsledek uvidíš v timeline.
Souběh Desktop + Claude Code
Pokud máš CueX otevřený v Claude Desktop i v Claude Code zároveň, obě instance MCP serveru fungují bez konfliktu — první se stane hostem (hub), každá další se připojí jako relay a přeposílá příkazy témuž hubu. Příkazy z obou asistentů se vyřizují jeden po druhém.
Pokud Desktop zavřeš, relay instance automaticky převezme port do ~5 s a CueX app se přepojí (retry každých 5 s — bez změny konfigurace).
Pravidlo LIVE — read-only
Když je CueX v LIVE režimu, agent může jen číst
(get_project, get_state), ale nemůže nic měnit.
Editační příkazy vrátí chybu. Zapni LIVE až po dokončení show.
Ctrl+Z vrací zásahy agenta
Každá dávka příkazů agenta vytvoří jeden krok undo. Pokud se výsledek
nelíbí, stiskni Ctrl+Z — celý zásah se vrátí. Agent může i sám zavolat
undo, pokud pozná, že udělal chybu.
Variantní projekty (save / open)
Potřebuješ dvě podobné show (jen jiné video)?
show_a.json. Pak uprav slot BrightSignu
na video B a ulož jako show_b.json."Agent použije nástroje save_project_as a open_project_file —
soubory žijí v ~/Documents/CueX, appka vždy zobrazuje jeden.
Přepínání: „Otevři show_a.json."
Nové MCP nástroje (bundle authoring2_dmx_install)
DMX monitor (čtení stavu výstupu):
read_dmx_output— vrátí aktuální hodnoty všech 512 kanálů DMX universe 1. Dostupný i v LIVE. Vhodné pro ladění: agent přečte kanály a porovná s tím, co by dle profilu mělo svítit.
Locate (fyzické ztotožnění svítidel):
locate_device { device_id }— zapne Locate pro dané DMX zařízení (full override výstupu, auto-off 60 s). Jen v editačním režimu.locate_off— vypne Locate.
# Příklad: ověření kanálů LWS 384 agentem locate_device(device_id="lws1") → zapne svítidlo naplno read_dmx_output() → zjistí, které kanály jsou na 255 locate_off() → vypne
Fixture profily (CRUD):
list_fixture_profiles— seznam všech profilů (built-in + custom merged)get_fixture_profile { key }— detail profilu (footprint, params)upsert_fixture_profile { key, def }— vytvoří nebo přepíše vlastní profil. Jen v editačním režimu.delete_fixture_profile { key }— smaže vlastní profil. Zamítne, pokud by zařízení zůstala bez profilu. Jen v editačním režimu.
LIVE read-only pravidlo: locate_device, locate_off,
upsert_fixture_profile, delete_fixture_profile — v LIVE vrátí chybu.
Ostatní (read_dmx_output, get_project, list_fixture_profiles atd.) fungují i v LIVE.
DMX capture (nahrání z pultu):
capture_start— spustí nahrávání sACN vstupu. Jen v editačním režimu.capture_status— vrátí{state, frameCount, durationSeconds, truncated}. Bezpečné volat v smyčce.capture_stop_import { playlistId, tolerance? }— zastaví + importuje do playlistu. Jeden krok undo. Jen v editačním režimu.capture_discard— zahodí nahrávku bez importu.
Viz kapitolu 17 pro celý workflow.
16. Agent bez instalace vývojářských nástrojů
Pokud nemáš repo nakopírované lokálně, použij průvodce v menu: Nápověda → Připojit agenta (Claude Desktop)…
Dialog nabídne dvě akce:
- Zkopírovat konfiguraci — vloží do schránky hotový JSON snippet s přesnou
cestou ke konektoru odvozené z tvé instalace. Snippet pak vlož ručně do
~/Library/Application Support/Claude/claude_desktop_config.json. - Zapsat do Claude Desktop — CueX najde config Claude Desktop, zobrazí co
přidá a po tvém potvrzení zapíše (ostatní servery zůstanou zachovány,
stávající config bude zazálohován do
.bak-cuex). Po zápisu restartuj Claude Desktop.
Pokud Claude Desktop není nainstalovaný nebo config nebyl nalezen, dialog nabídne jen kopírování snippetu a postup pro ruční vložení.
Pokud konektor cuex v configu již existuje, dialog nabídne aktualizaci
cesty — žádné duplikáty nevzniknou.
mcp/server.mjs.
Pokud paralelně běží Claude Code, obě instance se sloučí bez konfliktu.Vývojářský setup z kapitoly 14 (.mcp.json + node mcp/server.mjs)
zůstává aktuální pro práci s lokálním klonem repozitáře a pro Claude Code.
17. Nahrání show z pultu (DMX capture)
CueX umí nahrát DMX provoz z fyzického osvětlovacího pultu přes sACN (E1.31, universe 1) a převést jej na editovatelné stopy v timeline.
Předpoklady
- Pult nebo zdroj sACN připojen na stejnou LAN, universe 1 (multicast
239.255.0.1:5568). Zdrojový název nesmí býtpeklo-sim(echo filtr). - sACN bridge:
npm run sacn. Ve verzi desktop app se spouští automaticky. - CueX v editačním režimu — LIVE capture zamká.
Postup v DMX monitoru (UI)
- Otevři DMX monitor klávesou M a přepni zdroj na Vstup. Ověř příchod dat.
- Klikni ● REC — nahrávání startuje.
- Přehraj show na pultu nebo emulátoru.
- Zastav kliknutím ■ Stop — otevře se importní dialog.
- Nastav toleranci, zkontroluj náhled a klikni Importovat.
Postup přes agenta (MCP)
capture_start()
capture_status() → {state:"recording", frameCount:87, durationSeconds:6.5}
capture_stop_import({playlistId:"pl1", tolerance:3})
→ {ok:true, report:{tracksCreated:6, unmappedChannels:[], genericsCreated:0}}
| Nástroj | Popis |
|---|---|
capture_start | Spustí nahrávání. Chyba pokud už běží nebo v LIVE. |
capture_status | Stav bez vedlejších účinků (state, frameCount, durationSeconds, truncated). |
capture_stop_import | Zastaví + importuje. playlistId povinný, tolerance výchozí 2. Vrátí report. |
capture_discard | Zahodí nahrávku bez importu. |
Limity
- Universe 1 (Art-Net pro vstup zatím není).
- Max 10 minut — po překročení auto-stop (
truncated: true). - Kanál = stopa jen pokud se hodnota změnila o více než
toleranceDMX jednotek. - Import vytvoří jeden krok undo — Ctrl+Z vše vrátí.
18. Výstupy — sACN, Art-Net, USB-DMX
CueX přeposílá DMX z timeline na fyzické světla třemi protokoly. Každý výstup lze zapnout/vypnout nezávisle kliknutím na tlačítko Výstupy v headertu (ikona sítě vedle dot-indikátoru). Konfigurace se uloží do projektu a obnoví při dalším otevření.
Kdy jaký výstup
| Scénář | Doporučený výstup |
|---|---|
| Nahrání show do S-Play Mini (S-Play record) | sACN (výchozí) |
| Přímé řízení světel z počítače (bez S-Play) | USB-DMX nebo Art-Net |
| CueX jako zdroj pro Art-Net konzoli / splitter | Art-Net (unicast nebo broadcast) |
| Ladění bez hardwaru | Všechny výstupy vypnout — simulace v DMX monitoru stačí |
sACN (E1.31)
- Výchozí stav: zapnuto.
- Universe 1, multicast
239.255.0.1:5568. - Potřebuje sACN bridge:
npm run sacn. Ve verzi desktop app se spouští automaticky.
Art-Net (ArtDMX)
- Výchozí stav: vypnuto.
- Universe 0 (= fyzická universe 1; Art-Net čísluje od nuly), port UDP 6454.
- Cíl — nastavíš v popovertm:
255.255.255.255— broadcast (všechna zařízení na LAN)
konkrétní IP — unicast (jeden Art-Net přijímač nebo splitter)
USB-DMX (ENTTEC USB Pro)
- Výchozí stav: povoleno — aktivuje se automaticky při připojení adaptéru.
- Plug-and-play: CueX detekuje adaptér každé 3 sekundy. Při připojení se zobrazí název portu v dot-indikátoru; při odpojení zmizí — žádné ruční konfigurování.
- Výstup lze zakázat checkboxem v popovertm (adaptér zůstane detekován, data se neposílají).
Popover Výstupy
Klikni na tlačítko Výstupy v headertu (vpravo od indikátoru). Zobrazí se tři řádky: sACN toggle, Art-Net toggle + IP pole, USB-DMX toggle (disabled = adaptér nepřipojen).
Dot-indikátor v headertu: zelený = alespoň jeden výstup aktivní, šedý = vše vypnuto, červený = chyba výstupu.
Postup přes agenta (MCP)
outputs_get / outputs_set jsou dostupné i v LIVE režimu
(výjimka z LIVE read-only pravidla — výstupy jsou operativní nastavení, ne data show).
outputs_get()
→ { config: { sacn:{enabled:true}, artnet:{enabled:false, target:"255.255.255.255"} },
status: { sacn:{enabled:true, frames:1234, error:null}, ... } }
outputs_set({ artnet: { enabled: true, target: "192.168.1.100" } })
→ { ok: true, config: {...} }
// Zakázat sACN + zapnout Art-Net broadcast:
outputs_set({ sacn: { enabled: false }, artnet: { enabled: true } })
19. Ovládání z mobilu (Claude na telefonu)
CueX umí být ovládán vzdáleně přes claude.ai (nebo mobilní Claude) pomocí MCP konektoru přes cloudflared tunel. Funguje i bez vývojářských nástrojů na telefonu.
Co Claude může z mobilu dělat
| Operace | Dostupnost |
|---|---|
Zjistit stav projektu (get_state) | vždy |
Přečíst DMX výstup (read_dmx_output) | vždy |
| Prohlédnout zařízení, stopy, projekty | vždy |
Přidat poznámku (add_note) | vždy (i bez sítě k hubu) |
Přečíst existující poznámky (list_notes) | vždy |
| Editovat projekt, přidávat zařízení | jen s CUEX_REMOTE_WRITE=1 |
| Ovládat přehrávání | jen s CUEX_REMOTE_WRITE=1 |
| Mutace v LIVE režimu | nikdy (LIVE je vždy read-only) |
Výchozí nastavení je read-only — Claude může sledovat a komentovat, ale nemůže změnit show bez explicitního odemčení.
Bezpečnostní model
Claude (mobil/web)
│ HTTPS + Bearer token
▼
cuex-mcp.xlabbot.win (cloudflared tunel)
│ HTTP (po validaci tokenu)
▼
auth_gateway.py :9442
│
▼
server-http.mjs :9441 (read-only nebo full profile)
│ WebSocket
▼
CueX hub :9440
- Bearer token — sdílené tajemství, uložené v
~/.config/cuex/remote.token. Bez tokenu gateway vrátí401 Unauthorized. - Read-only default — HTTP transport vždy spouští s profilem
remote(11 nástrojů, žádné mutace).CUEX_REMOTE_WRITE=1odemkne všechny nástroje. - LIVE ochrana — i s
CUEX_REMOTE_WRITE=1jsou mutace projektu v LIVE režimu odmítnuty (hub to vynucuje).
Registrace konektoru v claude.ai
- Přejdi na claude.ai → Settings → Integrations → Add MCP Server
- Vyplň:
- URL:
https://cuex-mcp.xlabbot.win/mcp - Auth type: Bearer Token
- Token: obsah souboru
~/.config/cuex/remote.token(přečti:cat ~/.config/cuex/remote.token)
- URL:
- Ulož a otestuj — Claude by měl ihned vidět nástroje CueX.
Pozor: Konektor funguje, jen když na Macu běží CueX nebo alespoň
server-http.mjs a auth_gateway.py. Viz kap. 16 pro spuštění
bez vývojářských nástrojů.
Příklad konverzace z telefonu
Ty: Jak vypadá aktuální show?
Claude: [volá get_state] Show "Peklo 2026" — 2 playlisty, 8 zařízení,
aktuálně zastaven na 00:00.000.
Ty: Poznamenej si: mikrofon třeba zkontrolovat.
Claude: [volá add_note] Uloženo jako poznámka #3.
Ty: Přidej stroboskop na DMX adresu 50.
Claude: [remote profil — add_device chybí] Nemám oprávnění přidávat
zařízení v aktuálním profilu. Pro editaci spusť server s
CUEX_REMOTE_WRITE=1.
20. Zobrazení — zoom, kontrast
Menu Zobrazení ▾ v headeru (mezi Media a Projekt) sdružuje nastavení, která se ukládají na úrovni prohlížeče/systému — nezávisle na projektu.
Jak otevřít
Klikni na tlačítko Zobrazení ▾ v horní liště. Nebo v Electron appce: menu Zobrazení v menubar (macOS).
Zoom celého UI
Zoom mění měřítko celého rozhraní — vhodné na menší notebooky nebo velké monitory. Dostupné kroky: 90 % / 100 % / 110 % / 125 % / 150 %.
| Akce | Jak |
|---|---|
| Krok nahoru | Tlačítko Zvětšit nebo Cmd+= |
| Krok dolů | Tlačítko Zmenšit nebo Cmd+- |
| Výchozí (100 %) | Tlačítko Výchozí zoom nebo Cmd+0 |
| Přímý výběr | Klik na procento v menu |
Nastavení se pamatuje přes restarty v localStorage (tedy jen v konkrétním
prohlížeči / instalaci appky, ne v souboru show).
Vysoký kontrast
Přepínač Vysoký kontrast zesiluje čitelnost nejmenších textů a tlumených prvků — tmavý motiv zůstane, jen se zvýší kontrast popředí.
- Zapnuto: text a pomocné linky jsou výraznější
- Vypnuto (výchozí): standardní CueX tmavý motiv
DMX monitor přes menu
Položka DMX monitor v sekci Panely otevírá / zavírá DMX monitor (stejně jako klávesa M). Užitečné, pokud preferuješ ovládání myší.
21. Zkouškový playback — video a zvuk přímo z CueX
CueX umí otevřít výstupní okna s videem — každý přehrávač může mít svůj výstup na samostatné okno (nebo displej). Hodí se pro zkoušení synchronizace světel a videa bez reálného BrightSignu.
Kdy to použít
- Příprava show bez hardwaru: chceš vidět, jak video ladí s DMX obálkami
- Zkouška na laptopech: 2 HDMI adaptéry → 2 výstupní okna = 2 virtuální displeje
- Ověření přiřazení médií a načasování před instalací
⚠ Limit: není to produkční přehrávač
CueX výstupní okna jsou zkouškový nástroj, ne náhrada BrightSignu v produkci:
| Vlastnost | CueX výstupní okno | BrightSign HW |
|---|---|---|
| Frame-přesná sync | ✗ (browser scheduler) | ✓ (dedikovaný HW) |
| Gapless přepnutí médií | ✗ | ✓ |
| Media-end rules (NEXT_PLAYLIST) | ✗ | ✓ |
| Hardware triggery | ✗ | ✓ |
| Max. počet výstupů | 2 okna | dle modelu |
Pro finální produkci vždy použij reálný BrightSign.
Typy přehrávačů
| Klíč | Model | HDMI | Audio out | Poznámka |
|---|---|---|---|---|
xd1035 | BrightSign XD1035 | 1 | ✓ (3,5 mm) | Nejčastější jednoobrazovkový player |
xt1144 | BrightSign XT1144 | 2 | ✓ (3,5 mm + HDMI) | Dvouobrazovkový |
ls445 | BrightSign LS445 | 1 | ✗ (jen HDMI audio) | Bez dedikovaného jacku |
hd1025 | BrightSign HD1025 | 1 | ✓ | Starší model |
generic | Generický přehrávač | 1 | ✓ | Fallback |
Vlastní typ přidáš v Device manageru (tab Profily → Přehrávače): zvolíš klíč, název, počet HDMI výstupů (1–4), přítomnost audio jacku a doporučený počet mediálních slotů.
Jak routovat video do oken
- Přidej přehrávač: levý rail → + → vybrat typ z katalogu (např. XD1035)
- Přiřaď médium: inspektor → záložka média → slot videoA → vyber soubor
- Inspektor → sekce Video výstup → změň routing z „Náhled (stage)" na Okno 1 nebo Okno 2
- Okno se otevře automaticky — v Electron appce jako nové BrowserWindow (černé pozadí, frameless),
ve web verzi jako
window.open - Přetáhni okno na druhý displej; dvojklik = fullscreen, Esc = exit fullscreen
- Po zavření okna se routing automaticky vrátí na „Náhled"
Jak routovat audio do zvukovky
- Přehrávač musí mít profil s
audioOut = true(XD1035, XT1144 — ano; LS445 — ne) - Inspektor → sekce Audio výstup → vyber zařízení ze seznamu
- Routing se přepne okamžitě (funguje i za přehrávání)
- Hot-plug: seznam zařízení se aktualizuje, když klikneš na dropdown
Při odpojení zvukové karty CueX automaticky přepne na systémový default a upozorní toastem. Při dalším zapojení zvukovky ji znovu vyber v inspektoru.
Poznámka: LS445 nemá dedikovaný audio jack — zvuk jde přes HDMI kabel. Pro tento model sekce „Audio výstup" v inspektoru nezobrazí.
Hlasitost (simulátor) — mute a gain per výstup
V inspektoru přehrávače je sekce Hlasitost (sim). Platí pro přehrávače
s driverem udp (BrightSign) i osc (Honza/Svipr HD). Pro každý výstup:
- Mute toggle (🔊 / 🔇) — ztlumí zvuk daného výstupu v simulátoru. Kliknutím přepne stav; ikona se změní na 🔇 a gain slider se deaktivuje.
- Gain slider (0–1) — hlasitost výstupu od 0 (ticho) do 1 (plná). Slider je zakázán, je-li výstup zmutovaný.
Kapitola pro agenta: player_def a routing nástroje
Profily přehrávačů:
| Nástroj | Profil | Popis |
|---|---|---|
list_player_profiles | read / remote | Seznam všech profilů: {builtin, custom, all} (klíč → PlayerDef) |
get_player_profile { key } | read / remote | Detail profilu: {key, def, isCustom} |
upsert_player_profile { key, def } | write | Vytvoří / aktualizuje vlastní profil. def: name, hdmiOutputs, audioOut, recommendedSlots, note? |
delete_player_profile { key } | write | Smaže vlastní profil. Zamítne, pokud je používán bez built-in zálohy. |
Video routing:
| Nástroj | Profil | Popis |
|---|---|---|
get_video_routing | read / remote | {outputs: [{playerId, outputId, routing}]}. routing: preview|window1|window2 |
set_video_routing { playerId, outputId, routing } | write | Přepne výstup do okna nebo zpět. Povoleno i v LIVE. |
Audio routing:
| Nástroj | Profil | Popis |
|---|---|---|
get_audio_routing | read / remote | {outputs: [{playerId, outputId, sinkId}]}. sinkId: "" = systémový default |
set_audio_routing { playerId, outputId, sinkId } | write | Přepne zvukový výstup. sinkId z navigator.mediaDevices.enumerateDevices(). Povoleno i v LIVE. |
Audio mute/gain (sim):
| Nástroj | Profil | Popis |
|---|---|---|
player_audio_get | read / remote | {outputs: [{playerId, outputId, muted, gain}]} — stav všech výstupů přehrávačů |
player_audio_set { playerId, outputId, muted?, gain? } | write | Nastaví mute/gain pro konkrétní výstup. Povoleno i v LIVE (operační výjimka). |
player_audio_get()
→ {outputs: [{playerId:"bs_a", outputId:"HDMI-1", muted:false, gain:1}]}
player_audio_set(bs_a, HDMI-1, muted=true, gain=0.5)
player_audio_get()
→ {outputs: [{playerId:"bs_a", outputId:"HDMI-1", muted:true, gain:0.5}]}
E2E skripty: node mcp/e2e-media.mjs — automatický MCP průchod (routing
assertions + time-advance poll); node mcp/e2e-audio-mute.mjs — round-trip mute/gain
(get → set → ověření → restore). Vizuální gate (obě okna na obrazovce s různým obsahem) je ruční krok
pro Architekta.
22. Triggery — spouštěče show
Triggery spouštějí nebo zastavují playlisty na základě příchozích signálů — OSC zpráv, UDP stringů, náběžné hrany DMX kanálu nebo GPI/web vstupu.
22.1 Zdroje triggerů
| Zdroj | Popis | Typické použití |
|---|---|---|
| osc | OSC zpráva na definovanou adresu (volitelně s argMatch) | Osvětlovací pult, tablet, OSC kontroler |
| udp | UDP text string (exact match) | BrightSign, S-Play web → CueX web trigger |
| dmx | Náběžná hrana DMX kanálu (sACN vstup ze sidecar) | Fyzický senzor nebo pult přes DMX |
| gpi | GPI vstup S-Play Mini (pin IN1–IN4) | Fyzické tlačítko nebo kontakt |
| web | HTTP trigger (S-Play web endpoint) | Automatizace, IP kontroler |
22.2 Editor triggerů (záložka Triggery)
V postranním panelu otevři záložku Triggery. Pro každý trigger:
- Vyber zdroj (osc / udp / dmx / gpi / web) — zobrazí se příslušná pole.
- Vyber akci a playlist:
Akce Chování start Spustí playlist od začátku (nebo od holdAt). stop Zastaví playlist — fade out (DMX plynule na 0). Nikdy náhlý výpadek. pause Zmrazí přehrávání na aktuální pozici. resume Uvolní pauzu — pokračuje od místa zastavení. toggle Běžící → stop (fade); zastavený → start. Jedno tlačítko = zapnout/vypnout. - Vyplň zdrojová pole:
- OSC: adresa (např.
/play/1), volitelně argMatch: index + hodnota - UDP: text pattern (přesná shoda)
- DMX: kanál (1–512), threshold (0–255), hysteresis (def 16), debounce (ms)
- GPI / web: pattern (pin nebo cesta)
- OSC: adresa (např.
- Klikni ▷ Test pro ruční spuštění akce — jen v LIVE (v editačním módu je tlačítko šedé).
Změny se ukládají přes operaci set_triggers — každá úprava vytvoří krok pro Undo (Cmd+Z).
22.3 Sémantika DMX triggeru (náběžná hrana)
- Spuštění: kanál překročí threshold (výchozí 127)
- Hysteresis: engine se znovu nastaví (armed) teprve, když hodnota klesne pod
threshold − hysteresis - Debounce: po spuštění ignoruje další hrany po dobu
debounceMsmilisekund - Přetrvávající hodnota: spustí se JEDNOU — nepůsobí opakovaně
⚠️ Kolize kanálů: Použij pro trigger kanál mimo DMX patch (CueX zobrazí varování ve validaci).
22.4 OSC argMatch
Jeden OSC trigger může filtrovat podle hodnoty konkrétního argumentu:
source: osc, pattern: /play, argMatch: {index: 0, equals: 1} → start
source: osc, pattern: /play, argMatch: {index: 0, equals: 0} → stop
Pro float porovnání platí tolerance ±0.001.
22.5 Debug pohled — poslední přijaté události
Záložka Triggery zobrazuje posledních ~20 přijatých událostí (osc/udp/dmx) s časem a payloadem. Řádky označené ✓ skutečně vyvolaly akci triggeru.
22.6 DMX monitor — zvýraznění trigger kanálů
DMX monitor (klávesa M) v režimu Vstup zvýrazňuje kanály s DMX triggery:
- Modrý rámeček: kanál má trigger a čeká na signál (armed)
- Zelený rámeček: trigger byl právě spuštěn
22.7 MCP nástroje
| Nástroj | Profil | Popis |
|---|---|---|
triggers_get | read / remote | {triggers: [...]} — celý seznam triggerů projektu |
set_triggers { triggers } | write | Nahradí všechny triggery novým seznamem (1 undo krok). V LIVE pouze čtení. |
read_dmx_input | read / remote | Snapshot vstupního DMX rámce (sACN ze sidecar) — stejný formát jako read_dmx_output |
triggers_get()
→ {triggers: []}
set_triggers([{
source: "dmx", pattern: "", action: "start", playlistId: "show",
dmxChannel: 5, dmxThreshold: 200, dmxHysteresis: 20, dmxDebounceMs: 100
}])
triggers_get()
→ {triggers: [{source:"dmx", dmxChannel:5, dmxThreshold:200, ...}]}
24. CueX vs S-Play — přehled parity
CueX pokrývá všechny klíčové funkce ENTTEC S-Play a S-Play Mini a v řadě oblastí jde dál.
Kompletní srovnávačka je v docs/splay-parity.md. Tato kapitola je přehledový souhrn.
24.1 Co CueX umí (parity s S-Play)
| Oblast | CueX feature |
|---|---|
| Cues | Dynamic (nahrávka sACN), Static (snapshot), Perfect Loop (auto-stop na periodě) |
| Triggery | UDP, OSC, DMX edge+hystereze+debounce, virtuální GPI; inline wait-for-trigger na timeline |
| Eventy | UDP a OSC eventy v přesném čase na event tracku |
| Playlist logika | Souběžné playlisty s prioritou a HTP mergem; Groups (jedna aktivní v zóně, crossfade); Master + per-playlist intensity; Follow rules (nativní chaining); Wait markers |
| Scheduler | Čas + dny + sunrise/sunset ±offset; datový rozsah from/to; astro kalkulace NOAA |
| API | OSC namespace /cuex/; MCP server (58 nástrojů, AI agenti) |
| I/O | sACN + Art-Net + USB-DMX výstup; sACN + Art-Net vstup; DMX monitor |
24.2 Co CueX přináší navíc (nad rámec S-Play)
- MCP server — AI agent (Claude) ovládá show; žádný jiný show controller to nemá
- Nativní follow/chaining — bez UDP loopback triku
- PJLink projektory a BrightSign media playery přímo v timeline
- Simulátor — 2D stage, DMX vizualizace, filmstrip, audio vlnovka
- Vzdálené MCP — ovládání z mobilu přes HTTPS gateway
- Scheduler i pro „Mini" profil — S-Play Mini scheduler nemá
24.3 S-Play Mini limity — validátor
CueX upozorňuje při překročení hardwarových limitů cílového zařízení. Limity závisí na poli
project.settings.splayModel (výchozí: mini):
| Limit | S-Play Mini (výchozí) | S-Play |
|---|---|---|
| Playlisty | 8 | 200 |
| Cues | 16 | 200 |
| Eventy per playlist | 8 | 200 |
| Triggery per playlist | 8 | 200 |
Varování se zobrazí v hlavičce vygenerovaného deploy sheetu. Export neblokují.
Změna přes agenta:
schedules_set({ schedules: [], settings: { splayModel: 'full' } })
24.4 Vědomá vynechání
Fyzické GPI vstupy, relé výstupy a RS-232 už CueX Box má (§28) — zbývá jen IOE/MQTT a lunární fáze scheduleru, které CueX záměrně neimplementuje.
25. CueX Runtime — provoz bez prohlížeče
CueX Runtime je headless Node.js process, který spouští show bez otevřeného editoru — vhodný pro produkční instalace.
25.1 Spuštění
# Přímý start
node runtime/cli.mjs show.json --data-dir /var/cuex --ops-port 9080
# Doporučeno: supervisor s exponenciálním backoffem (1s→30s)
runtime/run-supervised.sh show.json --data-dir /var/cuex --ops-port 9080
Playlisty s autostart: true se spustí automaticky.
25.2 Stavový watchdog
Pokud tick smyčka nestihne doběhnout do 2 sekund, process se ukončí (exit 1) a supervisor ho obnoví — SHOW pokračuje.
25.3 Zachytávání DMX (runtime capture)
Runtime nahrává DMX vstup ze sACN/Art-Net a importuje nahrávku do playlistu přes Ops API nebo OSC:
| OSC adresa | Popis |
|---|---|
/cuex/record/arm | Arm — čeká na první DMX aktivitu |
/cuex/record/start | Vynucené okamžité spuštění nahrávání |
/cuex/record/stop | Zastavení a import do playlistu |
# Arm přes Ops API
curl -X POST http://localhost:9080/api/capture/arm \
-H 'Content-Type: application/json' \
-d '{"playlistId":"pl1","stopDmxQuiet":{"seconds":3}}'
# Stav
curl http://localhost:9080/api/capture/status
25.4 Soak test
Skript runtime/soak.mjs ověří stabilitu 24 h (nebo 5 min v CI):
node runtime/soak.mjs --duration 300 --data-dir /tmp/soak
cat /tmp/soak/soak-report.json
Prahové hodnoty PASS: RSS drift < 20 %, OSC p99 < 50 ms, 0 restartů.
25.5 Servisní povely (SERVIS mode)
Systémové DMX přepisy pro oživení/servis instalace — obcházejí playlisty, nezávisle na scheduleru. Ovládatelné z Manageru (§32.9b), MCP, nebo přímo webem Runtime (karta SERVIS).
| Povel | Ops API | Popis |
|---|---|---|
| Rozsvítit vše | POST /api/service/all-on {intensity:0–1, force?} | Všechny DMX fixtures na danou intenzitu. Auto-off 60 s. |
| Blackout | POST /api/service/blackout {force?} | Všechny DMX kanály na 0. Bez auto-off — bezpečný stav. |
| Locate | POST /api/service/locate {deviceId, force?} | Jedno svítidlo na plný výkon. Auto-off 60 s. |
| Projektor zapnout | POST /api/service/projector {deviceId, force?} | PJLink POWR 1 + stav. |
| Zrušit | POST /api/service/clear | Zruší jakýkoliv aktivní servisní přepis. |
| Stav | GET /api/service/status | {active: none|all-on|blackout|locate, deviceId?, intensity?, expiresAt?} |
curl -X POST http://cuex-box:9080/api/service/all-on \
-H 'Content-Type: application/json' -d '{"intensity":0.5}'
force:true vrátí 409 {"error":"show_running"}.26. PlayX — XLAB show player (drop-in Svipr)
PlayX je software daemon (budoucí XLAB HW produkt) — drop-in náhrada Honza playeru / Svipr HD na Raspberry Pi 5 s HiFiBerry DAC2 Pro XLR.
SW stav: HOTOVO (bundle playx_core, 2026-07-20). Čeká na fyzický HW Pi 5 + DAC.
26.1 Sémantika slotů
| Slot | Role | Chování |
|---|---|---|
video0.mp4 | Standby loop | Hraje dokola, čeká na trigger |
video1.mp4…videoN.mp4 | One-shot | Přehraje jednou, pak auto-návrat do standby |
26.2 OSC (port 7000, Svipr-kompatibilní)
| Adresa | Akce |
|---|---|
/svipr/video/01 … /svipr/video/NN | Přehraj slot N (one-shot) |
/svipr/video/interrupt | Přeruš → standby |
/svipr/off | HDMI vypni + zastav |
/svipr/on | HDMI zapni + standby loop |
/svipr/poweroff | Shutdown s RTC alarme |
/svipr/reboot | Restart systému |
/playx/mute 0/1 | Mute / unmute (bez němého souboru) |
/playx/volume f | Hlasitost 0–100 |
26.3 UDP text (port 10000, Svipr fallback)
hrej01\n … hrejNN\n — přehraj slot N
preruseno\n — přeruš
26.4 Ops API (HTTP+WS, port 9100)
curl http://PI_IP:9100/api/status
curl -X POST http://PI_IP:9100/api/play -d '{"slot":1}' -H 'Content-Type: application/json'
curl -X PUT http://PI_IP:9100/api/media/1 --data-binary @video1.mp4
Web UI: http://PI_IP:9100 (vestavěný operátorský panel).
26.5 MCP server
node playx/mcp/server-playx.mjs --ops-url http://PI_IP:9100
Nástroje: playx_status, playx_play, playx_stop, playx_volume, playx_mute, playx_media_list, playx_media_upload_path, playx_slot_gain_get, playx_slot_gain_set, playx_slot_rule_get, playx_slot_rule_set.
26.6 Testování parity (SW)
npx vitest run tests/playx-svipr-parity.test.ts
node scripts/build-playx.mjs
node playx/scripts/e2e-chain.mjs
node playx/scripts/soak.mjs --duration 300 --data-dir /tmp/playx-soak
Parity dokument: docs/playx-svipr-parity.md.
26.7 Drop-in swap Svipr → PlayX
- Přiřaď PlayX stejnou IP jako nahrazovaný Svipr
- Nakopíruj média do
slotsDirjakovideo0.mp4,video1.mp4, … - Spusť daemon:
node playx/daemon/cli.mjs --config playx.json - CueX / S-Play OSC příkazy fungují beze změny
26.8 Nahrání médií z Editoru
Editor CueX (macOS) umí nahrát videosoubory přímo do PlayX daemonů bez SSH — přes sekci Média playerů v connect dialogu.
- Klikni na tlačítko Propojit (toolbar → connect ikona)
- V connect dialogu se zobrazí sekce Média playerů pro každý OscPlayer
- Klikni Zkontrolovat stav — Editor porovná SHA-256 hash lokálního souboru s manifestem PlayX
- Klikni Nahrát média (vše) nebo Nahrát u konkrétního playeru
MCP: media_sync_status (čtení) + media_sync_push (zápis, full profil).
26.9 Per-slot hlasitost (slot gain)
Každý slot může mít vlastní korekci hlasitosti (0.0–1.0), která se násobí s master volume. Výsledná hlasitost = master × slotGain(n). Výchozí = 1.0 (žádná korekce).
Nastavení přes web UI PlayX (sekce Korekce hlasitosti slotů), Ops API (GET/POST /api/slots/:n/gain), OSC (/playx/slot/gain i <slot> f <0.0–1.0>) nebo MCP (playx_slot_gain_get/set). Gain přežívá restart daemonu (persistováno do playx.json).
26.10 Per-slot loop a řetězení (chain rules)
Výchozí chování po skončení slotu (EOF) = návrat do standby. Lze přepsat per slot:
| Pravidlo | Konfigurace | Chování |
|---|---|---|
| Standby (výchozí) | {} | Po EOF → standby loop (video0.mp4) |
| Loop | { "loop": true } | Po EOF → přehraj stejný slot znovu |
| Řetěz | { "onEnd": { "play": N } } | Po EOF → přehraj slot N |
Priorita: Příkazy play/stop vždy mají přednost — přijde-li OSC /playx/play během přehrávání, EOF pravidlo se neuplatní.
Nastavení přes web UI PlayX (sekce Pravidla slotů), Ops API (GET/POST /api/slots/:n/rule) nebo MCP (playx_slot_rule_get/set). Persistuje do playx.json.
26.11 GPI — fyzická tlačítka pro PlayX
PlayX podporuje fyzická tlačítka zapojená přes GPIO piny na Raspberry Pi 5. Tlačítko → play/stop slotu.
Mapování přes web UI (doporučeno): otevři http://PI_IP:9100, karta GPI mapování — tabulka pin/akce/slot s tlačítkem „+ Přidat vstup". Každá změna se uloží a aplikuje za běhu bez restartu daemonu (patička karty ukazuje aplikováno / potřebuje restart / chyba). Mapování na slot bez nahraného videa se uloží s nezávazným upozorněním.
Konfigurace ručně v playx.json (např. pro skriptované nasazení):
{
"gpi": [
{ "pin": 17, "action": { "play": 1 } },
{ "pin": 27, "action": { "play": 2 } },
{ "pin": 22, "action": "stop" }
],
"gpiDebounceMs": 50
}
Bezpečné piny s HiFiBerry DAC2 Pro XLR: 4, 17, 27, 22, 23, 24, 25, 5, 6, 12, 13, 16, 26. Nepouž. BCM 2, 3, 18, 19, 21 (DAC).
Bez gpi klíče v configu daemon vůbec GPI neuplatní. Ops API: GET/PUT /api/gpi/config, POST /api/gpi/sim/:n (sim backend). Detaily: playx/README.md sekce „GPI physical inputs".
26.12 OSC & síť — přehled v UI
Karta OSC & síť (http://PI_IP:9100) zobrazuje porty (OSC/UDP), poslední přijatý příkaz a úplnou tabulku rozpoznávaných OSC adres a UDP textových příkazů — stejný zdroj dat, ze kterého daemon příkazy skutečně vyhodnocuje (nemůže se odchýlit od reality). Read-only, žádná editace. Ops API: GET /api/osc/commands.
26.13 Módy — přehled v UI
Karta Módy zobrazuje aktivní show mód (jméno + pořadové číslo) a tabulku mód→slot/vypnuto pro tuto krabičku (read-only) — viz §32.9 „Show módy" pro model a distribuci. Ops API: GET /api/modes.
26.14 Servisní testovací karta (SERVIS mode)
Servisní obrazovka pro oživení/servis instalace — obchází stavový stroj slotů (standby/playing se po skončení obnoví přesně tam, kde bylo). Ovládatelná z Manageru (§32.9b), MCP, nebo přímo webem PlayX (karta Servis).
| Povel | Ops API | Popis |
|---|---|---|
| Test karta | POST /api/service/test-card {label?, zone?, tone?, slot?, force?} | Barevná zkušební obrazovka s popiskem. tone:true přidá tón 440 Hz. |
| Zastavit | POST /api/service/test-card/stop | Návrat do stavu před test kartou (standby, nebo přehrávaný slot). |
| Stav | GET /api/service/status | {active: boolean, label?, zone?, tone?, slot?, expiresAt?} |
curl -X POST http://PI_IP:9100/api/service/test-card \
-H 'Content-Type: application/json' -d '{"label":"PLAYER · Sál","tone":true}'
PLAYING), povel bez force:true vrátí 409 {"error":"show_running"}.26.15 Připojení k Manageru
Karta Připojení k manageru na http://PI_IP:9100
přihlásí (enrollne) krabičku k Manageru přímo z webu — bez SSH, bez
ruční editace fleet/config.json na místě.
- Nepřipojeno — formulář: Manager URL + párovací kód (§32.2). PŘIPOJIT naváže spojení hned, bez restartu daemonu.
- Připojeno — stav spojení + tlačítko ODPOJIT (s potvrzením), zruší uložený token.
- Chyba — poslední chyba spojení (špatná URL, kód propadlý/spotřebovaný, síť nedostupná), formulář zůstává otevřený pro opravu.
- Pokud zrovna běží show, odpojení vyžaduje stejné potvrzení/
forcejako jiné servisní zásahy (§32.9b).
Stejná karta existuje i na Runtime webu (§27.5b, panel 13) — postup je identický pro obě role.
27. CueX Box — fyzická instalace (plug-and-play)
CueX Box je Raspberry Pi s předinstalovaným obrazem xlabshow. Jeden box = jedna role (cuex-box nebo playx). Role se nastaví v /boot/xlabshow.toml — krabička pak startuje automaticky.
27.1 Příprava image
# Build rootfs (jednou, pak reuse --no-rebuild)
./image/build-rootfs.sh
# Assemble SD image pro každou roli
./image/assemble-img.sh --role cuex-box # → image/dist/xlabshow-cuex-box-YYYYMMDD.img.xz
./image/assemble-img.sh --role playx # → image/dist/xlabshow-playx-YYYYMMDD.img.xz
27.2 Flash SD karty
- Otevři Raspberry Pi Imager
- Choose OS → Use custom → vyber
xlabshow-<role>-YYYYMMDD.img.xz - Choose SD card
- Klikni na ⚙️ — NEPOUŽÍVEJ OS customisation (konfigurace je v xlabshow.toml)
- Write (~5 min/karta)
Po zápisu uprav /boot/xlabshow.toml přímo na kartě (před vložením do Pi):
role = "cuex-box" # nebo "playx"
name = "cuex-box-peklo" # unikátní hostname
27.3 První zapnutí — LED sekvence
| Fáze | LED ACT (zelená) | Co se děje |
|---|---|---|
| Linux boot | Rychlé blikání | Kernel + systemd |
| Self-test | 500/500 ms | Diagnostika (síť, audio, mpv, disk…) |
| Připraveno ✓ | Trvale svítí | Krabička běží, show načtena |
| Varování | Pomalé blikání | Degradace (bez fatálního dopadu) |
| Chyba ✗ | 100/100 ms | Kritický problém — viz diagnostika |
27.4 Nalezení IP adresy
# mDNS — krabičky se hlásí na <name>.local (~30 s po startu)
ping cuex-box-peklo.local
ping playx-honza-a.local
27.5 Ověření v prohlížeči
| URL | Obsah |
|---|---|
http://cuex-box-peklo.local:9080/ | Runtime operator UI |
http://playx-honza-a.local:9100/ | PlayX web UI + diagnostika |
27.5b Operátorské rozhraní Runtime — panely
http://cuex-box-peklo.local:9080/ má číslované panely; nové jsou:
- 07 Vstupy & triggery (read-only) — živé listenery (OSC/UDP/sACN/Art-Net), tabulka triggerů z projektu (editace v CueX Editu, viz §22), mapa GPI (pin ↔ trigger) a podsekce Módy (aktivní mód + rozdistribuovaná tabulka).
- 08 Power sekvence — seznam s běhovým stavem každé sekvence (idle/probíhá+krok/hotovo/chyba/přerušeno), tlačítka Spustit (s potvrzením) / Přerušit, inline editor (název + kroky relé/stav/zpoždění) →
PUT /api/power-sequences(manager/README.md§"Power sekvence"). - 13 Připojení k manageru — formulář Manager URL + párovací kód (§26.15 — postup je pro Runtime i PlayX stejný), nebo stav PŘIPOJENO/CHYBA s tlačítkem ODPOJIT. Živé přepnutí connect/disconnect bez restartu procesu.
27.6 Diagnostika (selftest)
# Výsledek posledního self-testu
curl http://cuex-box-peklo.local:9080/api/selftest
curl http://playx-honza-a.local:9100/api/selftest
# Spustit znovu a čekat
curl -X POST http://cuex-box-peklo.local:9080/api/selftest/run
Výsledek ok/warn = v pořádku. fail = zkontroluj pole action v JSON response.
27.7 Načtení show a médií
# Push-update z Macu (rsync + restart)
./image/push-update.sh cuex-box-peklo.local
./image/push-update.sh all # všechny na LAN
./image/push-update.sh playx-honza-a.local --dry-run
27.8 Spuštění show
# Ručně
curl -X POST http://cuex-box-peklo.local:9080/api/playlist/main/start
27.9 Virtuální E2E test
./image/e2e-virtual-install.sh # cuex-box + playx Docker, boot→OSC→selftest
./image/e2e-virtual-install.sh --ci # zkrácená CI varianta
27.10 Řešení problémů
| Příznak | Příčina | Řešení |
|---|---|---|
Nereaguje na .local | avahi-daemon nespustil | Čekej 60 s; zkontroluj DHCP |
| Ops API neodpovídá | firstboot selhal | journalctl -u firstboot -n 50 |
Selftest fail → network | IP nepřidělena | Zkontroluj [network] v xlabshow.toml |
| PlayX state=OFF | mpv selhalo při startu | journalctl -u playx -n 50 |
| Show nespustí | Špatná cesta k show.json | Zkontroluj [cuex] show_path |
| Média nehrají | Soubory chybí v slotsDir | push-update.sh nebo SSH upload |
28. Zapojení CueX Box — GPI / relé / RS-232 / DMX
Kompletní schémata, tabulky pinů a svorkovnic viz docs/box-wiring.md v repozitáři CueX.
28.1 GPI vstupy (libgpiod backend)
8 galvanicky oddělených vstupů přes PC817 optočlen (aktivní LOW, pull-up).
Výchozí BCM piny: 17, 18, 27, 22, 23, 24, 25, 4.
Konfigurace: xlabshow.toml sekce [io.gpiod] gpi_pins.
Trigger pattern: source="gpi", pattern = "gpi0" … "gpi7".
28.2 Relé výstupy (GPO)
4–8 relé přes Waveshare 8-relay HAT B. Výchozí BCM piny: 26, 20, 21, 16, 13, 12, 6, 5.
EventTrack příkazy: on, off, pulse (s parametrem ms).
28.3 RS-232 sériový port
USB-RS232 adaptér (CP2102 / FTDI). Konfigurace: [io.rs232] v xlabshow.toml.
- Trigger INPUT: přijatý řádek →
source="rs232", pattern = text řádku. - Event OUTPUT:
Rs232Devicev projektu → show posílá příkazy na port.
28.4 Backend výběr
[io]
backend = "gpiod" # gpiod | tinkerforge | sim
gpi_count = 8
relay_count = 4
Self-test hlásí: gpiod ok (gpiomon v PATH), rs232 ok (zařízení nalezeno),
warn = backend nakonfigurován, ale HW chybí (show běží bez I/O).
29. Deploy instalace — přímý deploy z Editoru
Editor CueX umí nasadit celou instalaci jednou akcí — bez ručního sheetu, bez SSH přístupu. Funkce se jmenuje Deploy instalace a je dostupná v connect dialogu, jakmile je Editor připojen k CueX Runtime.
Tip: Deploy sheet (§12) slouží jako dokumentace instalace a záloha. Pokud je CueX Runtime dostupný, použij Deploy instalace — je rychlejší a automaticky ověří stav.
Co Deploy instalace udělá
Čtyři kroky proběhnou automaticky v tomto pořadí:
- Pre-check — ověří, že Runtime je dosažitelný; identifikuje online a offline PlayX playery v projektu
- Push show — nahraje
show.jsondo Runtime (projekt, playlisty, triggery, zařízení) - Sync médií — porovná SHA-256 hashe videosoubory lokálně vs. manifest PlayX playerů; nahraje pouze změněné soubory
- Ověření — ověří Runtime (
/api/status— projekt souhlasí) a manifest každého PlayX (/api/media)
Předpoklady
- CueX Runtime (CueX Box nebo
npm run runtime) běží a vysílá heartbeat na UDP :9091 - PlayX daemony běží na všech video playerech a vysílají heartbeat na UDP :9091
- Videosoubory jsou uloženy ve složce
~/Documents/CueX/media/na Macu (Electron app) - Editor je připojen k Runtime (connect ikona v toolbaru → „Připojit")
Postup
- Klikni na connect ikonu v toolbaru (nebo na runtime indikátor v patičce)
- V dialogu v sekci Připojeno uvidíš modré tlačítko Deploy instalace
- Klikni — deploy proběhne synchronně (tlačítko je po dobu nasazení neaktivní)
- Po dokončení se zobrazí report se zelenými/žlutými/červenými řádky:
- ✓ zelená — krok proběhl úspěšně
- ⚠ žlutá — varování (např. offline player — deploy pokračoval pro ostatní)
- ✗ červená — chyba (deploy přerušen)
- Pokud jsou žluté nebo červené řádky, zobrazí se tlačítko Zopakovat jen červené — nahraje média jen pro problematické playery (show se nenahrává znovu)
Částečný deploy (offline player)
Pokud je jeden z PlayX playerů offline, deploy nepřeruší — show se nahraje do Runtime a ostatní playery se synchronizují. Offline player dostane varující řádek. Jakmile se player připojí, klikni Zopakovat jen červené — dožene synchronizaci bez opětovného nahrávání show.
MCP alternativa
# Nasadit celou instalaci (runtimeIp povinné v MCP kontextu)
deploy_install { "runtimeIp": "192.168.1.100" }
# Zopakovat jen pro offline player
deploy_install { "runtimeIp": "192.168.1.100", "retryPlayerIps": ["192.168.88.31"] }
Nástroj deploy_install je dostupný v full profilu (ne v remote profilu — ten je určen jen pro čtení).
30. Vlastní instalace (Runtime + PlayX) — Den zapojení
Tato kapitola shrnuje celý postup spuštění CueX Box instalace od SD karty po zelené akceptační výsledky. Podrobný krok za krokem: docs/runbook-den-zapojeni.md v repozitáři CueX.
Přehled rolí
| Role | HW | Port | Co dělá |
|---|---|---|---|
cuex-box (CueX Runtime) | Raspberry Pi | 9080 (HTTP/WS), 8000 (OSC UDP) | Show control, DMX výstup, playlist engine |
playx (PlayX daemon) | Raspberry Pi | 9100 (HTTP/WS), 7000 (OSC UDP) | Video přehrávač (Svipr-kompatibilní), HDMI, audio |
Heartbeat discovery: obě role vysílají UDP na port 9091 každé 3 s.
Rychlý start (tři příkazy)
# 1. Build SD image (jednou nebo po aktualizaci kódu)
npm run build && ./image/build-rootfs.sh
./image/assemble-img.sh --role cuex-box # → image/dist/xlabshow-cuex-box-*.img.xz
./image/assemble-img.sh --role playx # → image/dist/xlabshow-playx-*.img.xz
# 2. Flash SD karty (Raspberry Pi Imager), uprav /boot/xlabshow.toml per krabička
# → viz §27 + runbook §2
# 3. Akceptační test po zapojení
cp plug-day.config.json.example plug-day.config.json
# uprav runtimeIp a players v plug-day.config.json
node scripts/plug-day-acceptance.mjs --config plug-day.config.json
Co akceptační skript testuje
| Fáze | Kontroluje |
|---|---|
| Aliveness | HTTP /api/status na Runtime + každý PlayX |
| Selftests | /api/selftest/run agregace (audio, HDMI, síť, mpv) |
| Deploy | show.json + media sync do Runtime + PlayX |
| Funkční | Playlist Ops + OSC; PlayX video + mute; RECORD dry-run; PREVIEW + force-return; schedule; verze |
Výstup: česká PASS/FAIL tabulka, exit 0 (OK) / 1 (chyba).
MCP varianta (z Claude Desktop):
plug_day_acceptance {}
# nebo s explicitním configem:
plug_day_acceptance { "configPath": "/abs/cesta/plug-day.config.json" }
Paralelní provoz se S-Play
CueX Box a S-Play nesmí zároveň posílat DMX na stejný universe. Přepínej fyzicky XLR/Art-Net kabel. S-Play zůstává jako fallback do pokynu k přepnutí.
Vzdálená správa
ssh xlab@cuex-box-peklo.local # SSH přístup
./image/push-update.sh all # aktualizace SW bez SD karty
curl http://cuex-box-peklo.local:9080/api/selftest # stav krabičky
Restart / reboot / vypnutí krabičky
Web UI Runtime (http://cuex-box-peklo.local:9080/) obsahuje sekci Správa provozu s tlačítky Restart Runtime, Restart krabičky a Vypnout krabičku. Každá akce vyžaduje dvoukrokové potvrzení (potvrď do 30 s).
# Krok 1 — vydání tokenu (platný 30 s)
TOKEN=$(curl -s -X POST http://cuex-box-peklo.local:9080/api/system/restart \
| python3 -c "import sys,json; print(json.load(sys.stdin)['confirmToken'])")
# Krok 2 — potvrzení
curl -s -X POST http://cuex-box-peklo.local:9080/api/system/restart \
-H 'Content-Type: application/json' \
-d "{\"confirmToken\":\"$TOKEN\"}"
MCP nástroje: runtime_system_restart, runtime_system_reboot, runtime_system_poweroff (full profil, jen Linux pro reboot/poweroff).
MCP konektor na krabičce: viz §27.7 nebo image/README.md sekce „MCP".
Viz také
- §27 — CueX Box fyzická instalace (image pipeline, LED, selftest)
- §28 — Zapojení GPI / relé / RS-232 / DMX (wiring)
- §29 — Deploy instalace z Editoru (GUI workflow)
- §31 — Offline deploy balíček (alternativní deploy bez přímého síťového spojení)
docs/runbook-den-zapojeni.md— kompletní runbook pro Den zapojeníimage/README.md— technická dokumentace image pipeline
31. Offline deploy balíček (export/import)
Offline balíček umožňuje nasadit show a média bez přímého síťového spojení s Runtime krabičkou — záloha na USB flash disk nebo sdílení souborem.
Formát
Soubor .cuexpkg — ZIP obsahující:
manifest.json(verze, SHA-256 hashe médií, metadata)show.json(projekt CueX)- mediální soubory (kopie ze
~/Documents/CueX/media/)
Export z Editoru
Nejjednodušeji: Projekt ▾ → Exportovat balíček Boxu (.cuexpkg)… — funguje bez připojení k Runtime, přímo v Electron i dev browseru.
Nebo přes MCP (AI agent):
export_deploy_package {}
# → uloží .cuexpkg do ~/Documents/CueX/
Import do Runtime (web upload)
- Otevři
http://cuex-box-peklo.local:9080/v prohlížeči - Sekce Deploy balíček: klikni Vybrat soubor → vyber
.cuexpkg - Klikni Nahrát — Runtime zobrazí diff (co se změní)
- Klikni Aktivovat pro nasazení nebo Zamítnout pro storno
Import z USB disku
- Vlož USB disk s
.cuexpkgsouborem v rootu do Runtime krabičky - Web UI zobrazí zprávu „Nalezen balíček na USB — klikněte Aktivovat"
- Potvrzení přes web UI nebo
curl -X POST http://cuex-box-peklo.local:9080/api/deploy/confirm - Zamítnutí:
curl -X POST http://cuex-box-peklo.local:9080/api/deploy/reject
32. CueX Manager (dohled instalací)
CueX Manager je cloudová služba, která sleduje všechny instalace (cuex-box + playx-box) a poskytuje centrální správu přes webové rozhraní i MCP agentský protokol.
32.1 Co Manager hlídá
- Heartbeat — každé zařízení posílá status každých 10 s. Bez heartbeatu déle než 60 s → online = false.
- Self-test — výsledek posledního self-testu (ok / warn / fail).
- Verze — neshoda verzí SW v rámci instalace = P2 alert.
32.2 Přihlášení zařízení (enrollment)
- Správce vytvoří pairing kód (platnost 15 minut):
curl -X POST http://manager:4080/api/enroll/start \ -H "Authorization: Bearer <token>" \ -d '{"installationId": "peklo", "name": "Peklo Čertovina"}' - Kód se zadá do konfigurace krabičky (
fleet/config.json, poletoken). - Při prvním připojení Manager vrátí permanentní
deviceToken, který si krabička uloží.
32.3 Webové rozhraní
Manager Dashboard (http://manager:4080/) zobrazuje stat karty (instalace, online/offline zařízení, alerty) a dva přepínatelné pohledy: Tabulka (výchozí, tiskový inventární přehled, viz §32.11) a Mapa (2D půdorys se zónami, viz §32.8).
32.4 Vzdálené akce
| Akce | Popis |
|---|---|
playlist_start | Spustí playlist (parametr id) |
playlist_stop | Zastaví playlist |
intensity_set | Master intenzita (0–255) |
selftest_run | Self-test a výsledek |
system_restart | Restart Runtime procesu (confirm: true) |
system_reboot | Restart OS krabičky (confirm: true) |
system_* bez confirm: true vrátí 202 needsConfirm — dvoukrokový guard.32.5 Alerty
P0 (okamžitě): všechna zařízení offline > 60 s, self-test FAIL.
P2 (digest): WARN déle než 24 h, neshoda verzí v instalaci. Dedup: max 1× za 6 h.
32.6 MCP agentský přístup
Manager MCP server (manager/mcp/server.mjs) — 10 nástrojů:
| Nástroj | Popis |
|---|---|
fleet_list | Všechny instalace, jejich zařízení a zóny (strom) |
device_status | Detail jednoho zařízení |
device_selftest | Self-test a výsledek |
device_action | RPC akce (whitelist 7 akcí) |
alerts_recent | Posledních N alertů z digest souboru |
zone_create | Vytvoří zónu v instalaci (volitelně podřízenou jiné zóně) |
zone_assign_device | Přiřadí zařízení do zóny |
layout_get | Načte layout dokument instalace |
layout_set | Uloží celý layout dokument instalace |
device_place | Umístí zónu nebo zařízení na mapě bez přepisu celého dokumentu |
zone_create → zone_assign_device → device_place → layout_get (ověření).Nastavení v Claude Desktop — do "mcpServers":
"cuex-manager": {
"command": "node",
"args": ["/cesta/k/peklo-sim/manager/mcp/server.mjs"],
"env": {
"MANAGER_URL": "http://localhost:4080",
"MANAGER_ADMIN_TOKEN": "tvůj-token",
"MANAGER_DATA_DIR": "/cesta/k/peklo-sim/data"
}
}
32.7 Spuštění
# Přímé spuštění
MANAGER_ADMIN_TOKEN=tajny-token node manager/dist/server.mjs
# Docker
docker build -f manager/Dockerfile -t cuex-manager .
docker run -p 4080:4080 -e MANAGER_ADMIN_TOKEN=tajny-token \
-v cuex-manager-data:/data cuex-manager
32.8 Mapa instalace (zóny + layout) — varianta A „Velín"
Vedle Tabulky (§32.11) má dashboard i Mapu — 3-panelový „velín" (locked 2026-07-26): vlevo strom zón, uprostřed 2D půdorys instalace, vpravo detail panel.
- Strom zón (vlevo) — zařízení lze zařadit do zón (i vnořených, např. Sál → Kout), každá zóna má zobrazený kód (kořenové zóny
01..NN, potomek = kód rodiče + pořadí, např.05·3). Přepínač „UPRAVIT" zapne přetažení pro změnu pořadí zón v rámci stejného rodiče — mění se jen zobrazený kód, ne interní ID zóny (odkazy z módů/layoutu zůstávají platné). - Stav zóny je kaskáda nejhoršího stavu zařízení v ní (a jejích podzónách):
fault(červená) >offline(tečkovaná šedá) >warn(žlutá) >paused(modrá) >ok(zelená). Offline zařízení tak ztmaví celou zónu i všechny nadřazené zóny. - Grafika na mapě = jen zařízení/položky s telemetrií — fleet Box/PlayX, plus (od 989) koncová zařízení, u kterých krabička zná reálný stav (projektor PJLink on/warming/off, media player playing/idle): glyf podle katalogového typu + stavová LED (zelená = OK, žlutá = warn), zakotvený u ikony vlastní krabičky. Pasivní položky bez telemetrie (PARy, stroba, …) se na mapě nekreslí — jsou vidět jen v panelu zóny (viz níže).
- Zařízení jako rámeček — fleet zařízení na mapě kreslí rámeček (ne barevná tečka): ikona role (▣ box / ▸ playx), stavová LED vpravo nahoře, popisek ID pod ním. V přeplněné zóně se zmenší na ikonu bez popisku, ale zůstává orámovaný — nikdy nezmizí do anonymní tečky.
- Layout — pozice zón a zařízení na mapě (0–1 souřadnice vůči volitelnému podkladovému obrázku) se nastavují ručně přes REST, nebo typicky agentem přes MCP nástroje výše.
- Ovládání mapy — tažení = posun, kolečko = zoom (kolem kurzoru), dvojklik na zónu = přiblížení. Klik na zařízení otevře stejný postranní panel akcí jako Tabulka. Zaškrtávátko „Jen problémy" ztlumí vše v pořádku. Nezařazená zařízení se zobrazí v liště pod mapou.
- Panel zóny (vpravo, klik na zónu ve stromu nebo na mapě) — hlavička (kód, název, kaskádový stav) a všechna zařízení zóny ve třech skupinách (přejmenováno úkolem 1003): ZAŘÍZENÍ (dřív „S TELEMETRIÍ" — fleet zařízení s živým stavem, odznak druhu BOX/PLAYER + přátelské jméno „druh · název show projektu" přesně jednou (oprava duplicity), syrové ID jen jako labelovaný řádek „ID: …" v detailu, který navíc má nahoře drobečkovou navigaci „‹zóna› / ‹zařízení›" s klikatelným návratem do zóny; klik → plný inspektor), KONCOVÁ S TELEMETRIÍ (dřív „KONCOVÁ ZAŘÍZENÍ" — položky s vlastní telemetrií — stejné jako glyfy na mapě, stav zobrazen textově mono, zeleně/žlutě, skupinové názvy česky: PROJEKTOR/FIXTURE/JINÉ) a BEZ TELEMETRIE (z inventáře — PARy, stroba…, jen výčet; klik → read-only technické údaje: driver, typ fixture, DMX adresa, universe). Prázdná sekce se sbalí na titulek + pomlčku místo tří různých vět „Žádná…". Koncové zařízení s
telemetry.ok = falsenastavíwarnna krabičce i zóně (nikdyfault— ten je jen pro offline/selftest). Odznak „MÓD NESEDÍ" se zobrazí až po 2 po sobě jdoucích heartbeatech neshody (~20 s) — krátké přechodné nesrovnalosti hned po aktivaci módu nevytvářejí planý poplach; aktivní mód je navíc vidět jako malý odznak přímo v hlavičce vedle tlačítka MÓDY. - Výběr na mapě — vybraná zóna nebo zařízení dostane bílý zvýrazňovací rámeček, synchronní s otevřeným panelem. Popisek zařízení pod ikonou je zkrácený (bez prefixu instalace, např. „PLAYX" místo „certovina-staging-playx") — celé ID je jen v detailu.
- Inventory — každá krabička hlásí Manageru svůj aktuální seznam kanálů/slotů; zdroj dat pro panel zóny i §32.10 přehled Plán vs. realita.
- Legenda vlevo dole na mapě: ▣ BOX · ▸ PLAYER · ● PAR · ▲ STROBO · ▭ PROJEKTOR.
32.8b Editace mapy — Builder (UPRAVIT)
Přepínač UPRAVIT u stromu zón vlevo odemkne stavbu instalace přímo na mapě — od nuly, klidně bez jediného připojeného zařízení:
- + NOVÁ INSTALACE / + ZÓNA — založí prázdnou instalaci, nebo novou zónu (i vnořenou). Zóna bez jakéhokoliv zařízení v celém podstromu se kreslí jako přízrak (tečkovaný rámeček, ztlumená výplň).
- KRESLIT ZÓNU (tlačítko nebo klávesa Z) — tažením na volné ploše vznikne nová zóna přesně v nakresleném obdélníku; tažení přes existující zónu založí podzónu (nejmenší zóna, která tažený obdélník celý obsahuje, se za tahu zvýrazní tečkovaně jako budoucí rodič).
- Mřížka (výchozí zapnuto, klávesa Alt dočasně invertuje) a zarovnávací vodítka (magnet na hrany ostatních zón) drží rozestavění úhledné.
- ✎ / ✕ u řádku zóny ve stromu — přejmenování / smazání (u neprázdné zóny s druhým potvrzením).
- PODKLAD / ODEBRAT PODKLAD — nahrání nebo odebrání podkladového obrázku mapy.
- Tažení zařízení mezi zónami teď přeřadí i jeho skutečné zařazení, ne jen pozici na mapě.
- Undo/redo (⌘Z / ⇧⌘Z) pokrývá každou editační akci vč. smazání zóny s obsahem a jeho vrácení zpět. Výběr více zón (klávesa V nebo Shift+klik) odemkne zarovnávací panel (vlevo/nahoře/na střed, stejná šířka/výška, rozestoupit, smazat). Klávesa „?" zobrazí přehled zkratek.
- Ikony zařízení jsou výrazně větší — 2,5× v UPRAVIT módu, 2× v běžném živém pohledu oproti dřívější výchozí velikosti, včetně úměrně zvětšeného klikacího/tažného okolí.
- Tažení jednotlivého zařízení — chyť a přetáhni ikonu na mapě, funguje i napříč zónami.
- Skupinové tažení — vyber víc zařízení (VÝBĚR nebo Shift+klik) a přetáhni kteroukoliv z nich — celý výběr se posune spolu, jedna dávka + jeden krok Undo, přeřazení zóny dávkově.
- Tažení plánované (šrafované/přízrak) položky — i položka bez skutečného zařízení jde chytit a přesunout na konkrétní místo v zóně; položky bez ruční pozice se dál automaticky rozmístí do zbývajících míst.
Plný technický popis: manager/README.md §„Editace mapy — Builder".
32.8c PROPOJENÍ — párovací wizard
Tlačítko PROPOJENÍ v hlavičce (s odznakem počtu nových zařízení) spáruje zařízení, které se právě přihlásilo, s položkou v plánu — automaticky (párovací kód vygenerovaný z konkrétní plánované položky) nebo ručně (obecný kód → sloupec „NOVÁ ZAŘÍZENÍ" → návrh nebo ruční výběr → PROPOJIT). ODPOJIT vrátí zpět zařazení do zóny i propojení s plánem. Díky tomuto párování funguje i mód navržený předem podle plánované položky (offline) — po spárování se mapování automaticky přepíše na skutečné ID zařízení. Kompletní scénář „doma → na place": Od nuly na plac.
32.9 Show módy
Mód = pojmenovaná varianta provozu instalace (např. „Muzikál", „Program pro školy"), přepínaná odkudkoliv — dashboard, MCP, ControlX/dotykáč po LAN. Exekuce je vždy lokální (funguje i bez internetu); Manager jen distribuuje a dohlíží. Plovoucí pult „MÓDY" v hlavičce dashboardu má velká dotyková tlačítka s potvrzením a výsledkem za každé zařízení; aktivní mód je vidět i v patičce a panelu zóny (badge „MÓD NESEDÍ" — zobrazí se až po 2 po sobě jdoucích heartbeatech neshody (~20 s), aby krátké přechodné nesrovnalosti hned po aktivaci módu nevytvářely planý poplach). Podrobný koncept a návod pro ControlX: samostatná stránka Show módy.
32.9b SERVIS — oživení instalace
Přepínač SERVIS v hlavičce (vedle UPRAVIT) proměňuje mapu v ovládací panel pro techniky na place — první zapojení nebo diagnostika bez otevírání CueX Editu. Aktivní SERVIS je vidět na první pohled: šrafovaný okraj mapy.
Postup na place — mapa → klik → co se stane:
- Klik na koncové zařízení s telemetrií (světlo, výstup) → LOCATE — fixture na plný výkon, 60 s auto-off. Klik na jiné zařízení přepne locate na něj (vždy jen jedno aktivní najednou).
- Klik na projektor → okamžité zapnutí přes PJLink + zobrazení stavu.
- Klik na PlayX box → TEST KARTA — zkušební obrazovka s popiskem (Manager doplní automaticky: přátelské jméno + zóna, např. „PLAYER · Sál"), 60 s auto-off. Alt+klik přidá zkušební tón (440 Hz).
- Odznak s odpočtem nad zařízením ukazuje zbývající čas do auto-off (nebo „AKTIVNÍ" u blackoutu, který auto-off nemá).
Hromadné povely (panel zóny v SERVIS módu, nebo REST na celou zónu/instalaci): VŠE ROZSVÍTIT (nastavitelná intenzita), BLACKOUT, VŠECHNY OBRAZOVKY (test karta na všechny PlayX boxy najednou). Offline zařízení se v odpovědi vrátí zvlášť, nezastaví zbytek dávky.
409 show_running — dashboard i lokální web UI na to
zareagují potvrzovacím dialogem a při souhlasu povel zopakují
s force:true. Bez potvrzení se show nikdy tiše
nepřepíše servisním povelem.
curl -X POST http://manager:4080/api/devices/<deviceId>/action \
-H "Authorization: Bearer <token>" -H "Content-Type: application/json" \
-d '{"action":"service_locate","params":{"deviceId":"<fixtureId>"}}'
Přímo na krabičce (bez Manageru): příručka §25.5 (Runtime) a §26.14 (PlayX).
32.9c AKCE módů — rychlé operátorské akce
Akce je pojmenovaný povel „stiskni tlačítko → něco se stane v zóně" — na rozdíl od módu (§32.9), který přepíná celou instalaci do jiné varianty provozu, akce cílí na jednu zónu a je určená k rychlému zásahu za provozu (bleskový efekt, ambientní zvuk zapnout/vypnout), ne k plánovanému přechodu.
Slotový model. Každý mód má 12 pevných slotů (stejný počet jako PlayX má fyzických tlačítek, §26 — sjednoceno záměrně). Slot buď ukazuje na jednu akci z katalogu instalace, nebo je prázdný. Tlačítka na pultu jsou vždy na stejném místě — obsah pod nimi se mění podle toho, jaký mód je zrovna aktivní.
- Momentární (symbol ⟳) — spustí playlist v zóně; playlist má vlastní krátké trvání a follow rule ho na konci sám vrátí zpátky na základní.
- Přepínací (symbol →) — spustí playlist a ten zůstává běžet, dokud ho neukončí jiná akce nebo změna módu.
Symboly ⟳/→ nahradily textové štítky MOMENTÁRNÍ/PŘEPÍNACÍ všude, kde se typ akce zobrazuje — katalog akcí, editor slotů, operátorský panel AKCE Manageru i oba pulty (box i PlayX).
Konfigurační proces — čtyři kroky:
- CueX Edit — playlisty. Nejdřív musí v show existovat playlisty, které chcete jako akci spouštět (efekt s follow rulí zpátky na základní, nebo přepínací ambientní stopa) — stejný editor jako pro běžnou show, §7–§14.
- Manager — katalog akcí. Dashboard instalace → panel MÓDY → přepínač UPRAVIT → sekce Katalog akcí: název, typ (momentární/přepínací), a mapování zóna → playlistId.
- Manager — sloty per mód. V témže UPRAVIT režimu, editor slotů pro vybraný mód: mřížka 12 polí, každé s výběrem „— prázdný —" nebo jedna z akcí katalogu.
- Provoz. Akci spustí kdokoliv, kdo má přístup k pultu (viz níže), dashboard (
POST .../actions/trigger), OSC gateway, nebo MCP (action_trigger). Mód bez slotů zobrazí na pultu jen hlášku „Tento mód nemá akce".
Pulty — kde akce zmáčknout. Runtime box i PlayX box mají vlastní webovou obrazovku pro dotykáč/tablet, na dvou adresách:
| Adresa | Co ukáže |
|---|---|
http://<ip-zařízení>:<port>/pult | Řízený panel — 12 slotů AKCE aktivního módu (popisky+barvy dle typu, prázdné šedé). Bez fleet konfigurace ukáže playlisty solo boxu místo akcí. |
http://<ip-zařízení>:<port>/pult/lokalni | Vždy syrové playlisty té konkrétní krabičky, se stálým výstražným pruhem — obchází AKCE úplně. Z /pult sem nikdy nevede odkaz. |
Každé zařízení má jinou adresu — /pult na
jednom boxu ovládá jen zóny/zařízení, které TOTO zařízení fyzicky
obsluhuje, ne celou instalaci. Adresy a QR kód obou pultů najdete na
operátorském webu, panel „Pulty" — QR se generuje přímo na zařízení,
stačí ho vyfotit tabletem a otevře se /pult.
Vstupy do akcí — čtyři cesty ke stejnému výsledku:
- Tablet/dotykáč na
/pult(doporučeno) — HTTP, běžný prohlížeč. - ControlX (mobilní OSC ovladač) — stejná OSC adresa jako gateway níže.
- GPI vstup (fyzické tlačítko/spínač na boxu) — §28.1.
- OSC přímo na gateway box —
/cuex/action <n>(n = 1–12, slot aktivního módu). Gateway slot vyhodnotí lokálně (funguje i bez Manageru) a sám rozešle výsledek ostatním zařízením. Protokol:docs/osc-namespace.md§„AKCE".
32.10 Plán zóny — editace a export do CueX Editu
Zóna v Manageru může mít plán — seznam zamýšlených
zařízení z katalogu typů (panel zóny na Mapě, sekce PLÁN). Tento plán
je jednosměrně předatelný do CueX Editu jako soubor
.cuexplan, který v Editu založí odpovídající park
zařízení — bez nutnosti je zakládat ručně a hledat DMX adresy.
Plánovaná položka bez zařízení se na mapě kreslí šrafovaně (viz „přízrak" v §32.8b) — v každé zóně, i takové, která už má reálná zařízení; přidání, úprava nebo smazání položky v panelu se na mapě promítne okamžitě, bez čekání na příští obnovení.
Editace plánu přímo v panelu (bez REST/agenta):
- + PŘIDAT (v hlavičce sekce PLÁN) — formulář: typ z katalogu (ikona + název), název (předvyplněný podle typu a pořadí, např. „PAR", pak „PAR 2"), počet 1–20 (vloží víc kusů najednou, očíslované), volitelná poznámka.
- ✎ u řádku plánu — inline úprava jména/poznámky.
- ✕ u řádku plánu — smaže položku (s potvrzením).
- Duplikovat zónu — tlačítko v panelu zóny, viditelné jen v režimu úprav stromu zón (přepínač UPRAVIT); zkopíruje celý plán do nově pojmenované zóny.
- Zóna bez plánu zobrazí místo prázdné sekce NAVÍC nápovědu s vlastním tlačítkem + PŘIDAT.
Export z Manageru:
- Otevři panel zóny na Mapě → tlačítko EXPORT PLÁNU v hlavičce sekce PLÁN
- Stáhne se soubor
plan-<zóna>.cuexplan(JSON: verze, název zóny, seznam položek splanId/typeId/name, u DMX typů idmx.channels+fixtureType)
Nebo přes MCP (AI agent): plan_export {installationId, zoneId}.
Import do CueX Editu:
- Projekt ▾ → Import plánu zóny…
- Vyber stažený
.cuexplansoubor - Zobrazí se náhled: počet zařízení, rozpoznané typy, položky k přeskočení (neznámý typ nebo typ bez odpovídajícího zařízení v Editu, např. „S-Play Mini" nebo samotný „CueX Box") a shody jména s existujícími zařízeními (jen informativní, neblokuje import)
- Importovat — založí zařízení: DMX adresy se přidělí sekvenčně od první volné (doladíš v Device manageru), přehrávače dostanou výchozí šablonu podle typu (Svipr HD → OSC šablona, ostatní přehrávače → generická UDP šablona). Každé založené zařízení nese
planIdplánované položky, ze které vzniklo.
planId na zařízení ale nezmizí: pokud zařízení
hlásí Manageru inventory (fleet phone-home), planId se
propíše zpět a Manager podle něj v přehledu „Plán vs. realita" spáruje
položku jednoznačně, i když se název zařízení mezitím v projektu změnil.
Kompletní koncept plánování (katalog → plán → duplikace podobných zón → import do Editu → přehled Plán vs. realita) i s návodem krok za krokem: samostatná stránka Plánování instalace.
32.11 Tabulka — inventární přehled a tisk
Záložka Tabulka (výchozí pohled dashboardu, nahradila starý Seznam) zobrazuje jednu instalaci jako jednu tiskovou tabulku, seskupenou podle zóny: fleet zařízení, koncová zařízení s telemetrií, pasivní inventory položky i plánované položky v jednom místě.
- Sloupce: Název (přátelské jméno), Kategorie (katalog + typ), Driver/adresa (
dmx@N/uY/OSC/ … — 🔒 needituje se tady, upravuje se v CueX Editu), Stav, Mód (aktivní mód + drift badge), Plán (OK / ČEKÁ NA INSTALACI / OK · ručně / CHYBÍ / NAVÍC — stejné pravidlo jako v panelu zóny: žádná NAVÍC položka, pokud zóna nemá plán; CHYBÍ teď znamená „bylo spárováno, pak přestalo hlásit", dosud nikdy spárovaná položka je ČEKÁ NA INSTALACI), Poznámka. - Filtry (kombinovatelné): instalace, zóna, kategorie, „jen problémy".
- Inline editace: přeřazení zóny zařízení (výběr), jméno/poznámka plánované položky, checkbox „nainstalováno". Driver/adresa zůstává needitovatelné (🔒).
- Tisk: tlačítko „Tisk" (Cmd/Ctrl+P) — tisková šablona skryje ovládací prvky a přidá patičku s názvem instalace a datem.
- Plánované, ale nenainstalované položky se zobrazují jako „přízrak" (zešedlé, ▢ ikona).
33. Tvorba, simulace a deploy show — celý tok
Tato kapitola provede celým průchodem od prázdného projektu po spuštěnou instalaci.
33.1 Tvorba show
- Zařízení (kap. 4) — přidej světla, video playery, projektory. Zkontroluj DMX patch (kolize = červeně v patičce).
- Playlisty (kap. 10) — každý playlist = jedna scéna nebo smyčka. Nastav
autostartpro to, co se spustí ihned v LIVE. Nastavprioritupro správné řešení souběhu. - Timeline (kap. 6) — kresli keyframy na obálkové stopy (světlo), eventy na eventové stopy (video/projektor/relé). Přiřaď markery (M) pro orientaci a deploy sheet.
- Triggery (kap. 22) — přidej vstupy, na které show reaguje zvenku (OSC, UDP, DMX kanál, scheduler). Každý trigger má zdroj + akci + playlist.
- Media (kap. 9, 26) — přiřaď videosoubory ke slotům BrightSign nebo PlayX přehrávačů.
33.2 Triggery — přehled akcí
Každý trigger říká: když přijde signál → proveď akci s tímto playlistem.
| Akce | Co udělá | Kdy použít |
|---|---|---|
| start | Spustí playlist od začátku (nebo od holdAt po resume) | Zahájení scény |
| stop | Zastaví playlist s fade out — DMX plynule na 0, nikdy výpadek | Konec scény, bezpečné zastavení |
| pause | Zmrazí přehrávání na aktuální pozici | Pauza nebo čekání na vstup |
| resume | Uvolní pauzu — pokračuje od místa zastavení | Obnovení po pauze |
| toggle | Běžící → stop (fade); zastavený → start | Jedno tlačítko = zapnout/vypnout |
stop přes trigger i přes Ops API vždy spustí plynulé doznění DMX — nikdy okamžitý výpadek světla.Trigger otestuj tlačítkem ▷ Test v záložce Triggery — pouze v LIVE (v editačním módu je tlačítko šedé).
33.3 Simulace = LIVE
LIVE v Editoru je věrná simulace Boxu. Oba používají týž scheduler a playlist engine — pokud show funguje v LIVE Editoru, poběží i na fyzické krabičce.
Co vidíš v LIVE panelu:
LIVE · MM:SS— čas od vstupu do LIVE- Jména běžících playlistů s elapsed časem — např.
Ambient (0:42), Show (1:05) - Tlačítko ▶ Play zmizí — v LIVE se playlisty ovládají triggery
Grand mastery v LIVE panelu
| Master | Co ovládá | Rozsah |
|---|---|---|
| Světla | DMX výstup všech playlistů (grand master dimmer) | 0–100 % |
| Zvuk | Hlasitost přehrávačů v simulátoru | 0–100 % |
[SCREENSHOT: LIVE stavový panel s běžícími playlisty a oběma mastery]
33.4 Připojení k Boxu
Tlačítko ⬤ Box (toolbar, vedle LIVE) nebo Projekt ▾ → Připojit k Boxu otevře Connect dialog.
V dialogu:
- Automatické discovery — Editor skenuje UDP :9091; krabičky se samy hlásí každé 3 s. Zobrazí se seznam nalezených krabičků s hostname.
- Ruční IP — pokud je krabička na jiném segmentu, zadej IP ručně.
- Po připojení vidíš stav Runtime (verze, aktuální show, zda running playlisty).
- Dostupné akce: Deploy instalace, Stáhnout show (pull projektu z Runtime do Editoru), Převzetí.
Barevný feedback tlačítka ⬤ Box: šedé = offline · žluté = připojeno · zelené = Převzetí aktivní.
[SCREENSHOT: Connect dialog s discovery a stavem Runtime]
33.5 Deploy show — dvě cesty
Cesta A — Přímý deploy (doporučená, vyžaduje síť)
- Connect dialog → tlačítko Deploy instalace
- Proběhne automaticky: pre-check → push
show.json→ sync médií (SHA-256 diff, nahrají se jen změněné soubory) → ověření - Report ukáže ✓/⚠/✗ pro každý krok
- Pokud je PlayX player offline, deploy nepřeruší — klikni Zopakovat jen červené jakmile player nastartuje
Viz kap. 29 pro detailní postup.
Cesta B — Offline balíček (bez přímého síťového spojení)
- Projekt ▾ → Exportovat balíček Boxu (.cuexpkg)… (nebo MCP:
export_deploy_package) - Vznikne soubor
.cuexpkg— ZIP obsahující show.json, média a manifest - Přenést na USB flash disk nebo sdílet souborem
- Na Runtime webu (
http://cuex-box-peklo.local:9080/): sekce Deploy balíček → Vybrat soubor → Nahrát → Aktivovat - Nebo: vlož USB do krabičky → LED bliká → potvrdit přes web
Viz kap. 31 pro detailní postup.
Co se simuluje v Editoru = co poběží na Boxu
| Chování | Editor LIVE | CueX Box |
|---|---|---|
| Autostart playlistů | ✓ | ✓ |
| Priority + HTP merge | ✓ | ✓ |
| Triggery (OSC/UDP/DMX/scheduler) | ✓ | ✓ |
| Follow rules (chaining) | ✓ | ✓ |
| Groups (crossfade) | ✓ | ✓ |
| Scheduler (čas, sunrise/sunset) | ✓ | ✓ |
| DMX výstup (sACN/Art-Net) | ✓ (sidecar) | ✓ (nativní) |
| Video přehrávač | ✓ (simulátor) | ✓ (reálné HW — PlayX/BrightSign) |
[SCREENSHOT: Deploy instalace report — zelené checkboxy]
