Pilot web i panele Sprawdzone w studiu
Otwórz http://<maszyna>:8090/remote z dowolnego telefonu, tabletu czy laptopa w studyjnej
sieci LAN (wpisz http:// jawnie; pod samym korzeniem nie ma strony). Strona jest serwowana z
Resources/WebRemote.html wtyczki przy każdym żądaniu - edytowalna na gorąco, bez
rekompilacji.
Panele i moduły
Panel (board) to zakładka; moduł to karta na jego 4-kolumnowej siatce (szerokość 1-4; telefony układają w pion). Domyślny panel Studio jest syntetyzowany - pierwsza edycja go materializuje, a usunięcie przywraca fabryczny. Biblioteka modułów: Health · Mikser audio · Sceny · Presety 1-16 · Kamery + Go Live · Transport · Nagrywanie · Wyjście SDI · Tempo i prędkość · Triggery show (Blueprint) · TV / router ekranów · Półka Quick Media · Kontrolki własne · Etykieta sekcji.
Edycja odbywa się na samej stronie: ✎ Edit → dodaj zakładki, dodaj moduły, przeciągaj za uchwyt ≡, zmieniaj nazwy/rozmiary, 🗑 usuwaj → SAVE BOARDS. Panele zapisują się po stronie projektu i podróżują w plikach show. Długie przytrzymanie przycisku-triggera kopiuje jego URL dla Stream Decka.
Opóźnienia
Komendy docierają w ≈25 ms (jeden POST po LAN + klatka); wskaźniki odpytują 4 Hz, mierniki audio 10 Hz. Baner CONNECTION LOST pojawia się, gdy edytor zniknie.
API HTTP
Wszystko, co robi strona, to zwykły HTTP na tym samym porcie - do użycia z Bitfocus Companion, skryptów, czegokolwiek, co umie POST:
| Trasa | Metoda | Działanie |
|---|---|---|
/remote | GET | Strona paneli sterowania |
/api/state | GET | Pełny stan UI w JSON (tally, presety, sceny, TV, lista NDI…) |
/api/trigger?name=Cam.2 | POST | Wystrzel dowolny trigger szyny |
/api/logical?name=X&v=1 · /api/scalar?name=X&v=0.5 | POST | Ustaw wartości szyny |
/api/tv?name=Wall&source=SDI:2 | POST | Routuj ekran (opcjonalnie &fade=) |
/api/boards | GET / POST | Odczyt / zapis układów paneli |
/api/audio/levels | GET | Poziomy mierników na żywo |
/api/audio?src=SDI:1&volume=… · /api/audio/add?device=… · /api/audio/remove?src=… | POST | Sterowanie mikserem |
/api/upload?name=x.png | POST | Wgraj media na półkę Quick Media |
Content-Length (curl -X POST -d "x" "http://host:8090/api/trigger?name=Play").