
Otwarte Sterowanie Dźwiękiem (OSC)
Wysyłaj polecenia do DMXDesktop i odbieraj transmisje stanu za pomocą OSC
Czym jest OSC?
Open Sound Control (OSC) to protokół do sieciowania syntezatorów dźwięku, komputerów i innych urządzeń multimedialnych w celach takich jak występy muzyczne czy kontrola pokazów. DMXDesktop implementuje OSC do komunikacji dwukierunkowej — odbieraj polecenia z zewnętrznych kontrolerów i transmituj zmiany stanu do innych aplikacji.
Jak to działa
DMXDesktop obsługuje zarówno wejście, jak i wyjście OSC. Serwer OSC Input nasłuchuje przychodzących wiadomości, aby kontrolować różne aspekty oprogramowania. OSC Output transmituje zmiany stanu i zdarzenia do zewnętrznych aplikacji, umożliwiając synchronizację w czasie rzeczywistym z oprogramowaniem wideo, wizualizatorami i niestandardowymi integracjami. Oba wspierają protokół UDP dla komunikacji o niskim opóźnieniu.
Rozpoczęcie
- Otwórz DMXDesktop i przejdź do Ustawienia → Ogólne
- W sekcji OSC znajdziesz:
- Przełącznik Włącz/wyłącz OSC Input
- Wybór interfejsu sieciowego
- Numer portu wejściowego (domyślnie: 8000)
- Wybór protokołu (UDP/TCP)
- Przełącznik Włącz/wyłącz OSC Output
- Host i port wyjścia (domyślnie: 127.0.0.1:9000)
- Usługa odkrywania działa na porcie 9000 i pozwala kompatybilnym aplikacjom automatycznie znaleźć DMXDesktop w sieci
Łączenie z TouchOSC
TouchOSC to popularne narzędzie do kontrolowania wielu różnych typów aplikacji i może być używane do kontrolowania DMXDesktop za pomocą protokołu OSC.
Proszę pamiętać: TouchOSC to płatne oprogramowanie, proszę zapoznać się z oficjalną stroną w celu uzyskania szczegółów.
- Pobierz i zainstaluj TouchOSC na swoim urządzeniu:
- iOS: App Store
- Android: Google Play
- Desktop: Desktop
- Otwórz TouchOSC i utwórz nowe połączenie:
- Protokół: OSC
- Host: Adres IP twojego komputera (pokazany w ustawieniach DMXDesktop)
- Port wysyłania: 8000 (domyślnie)
- Port odbierania: 9000 (dla usługi odkrywania)
- Użyj funkcji odkrywania w TouchOSC, aby automatycznie znaleźć DMXDesktop w swojej sieci
- Utwórz swój układ używając ścieżek OSC wymienionych w tabeli poniżej
Porady dotyczące sieci
- Upewnij się, że twoje urządzenie i komputer są w tej samej sieci
- Jeśli używasz zapory, zezwól na przychodzące połączenia na portach 8000 i 9000
- Dla optymalnej wydajności używaj dedykowanej sieci lub połączenia WiFi 5GHz
- Dla OSC Output skonfiguruj adres IP i port docelowego hosta w Ustawieniach
Dodatkowe zasoby
- Oficjalna strona OSC - Dowiedz się więcej o protokole OSC
- Dokumentacja TouchOSC - Szczegółowy przewodnik po TouchOSC
- Specyfikacja protokołu OSC - Szczegóły techniczne protokołu OSC
Polecenia OSC Input
Wyślij te polecenia do DMXDesktop, aby kontrolować swoje oświetlenie. Wszystkie ścieżki są wrażliwe na wielkość liter.
| Ścieżka OSC | Parametry | Opis |
|---|---|---|
| KONTROLA MASTER | ||
| /master/dimmer | float (0-1) | Kontroluje intensywność ściemniacza master |
| EFEKTY NA ŻYWO | ||
| /live/strobe/{on|off|pulse} | brak | Kontroluje stan stroboskopu |
| /live/blackout/{on|off|pulse} | brak | Kontroluje stan blackout |
| /live/blinder/{on|off|pulse} | brak | Kontroluje stan blinder |
| /live/freeze/{on|off|pulse} | brak | Kontroluje stan freeze |
| /live/fog/{on|off|pulse} | brak | Kontroluje stan maszyny do dymu |
| EFEKTY SPECJALNE | ||
| /effects/{effect}/start | brak | Uruchamia określony efekt (fala, paparazzi, kolorowy przesuw, grzmot, puls, iskra, losowy) |
| /effects/{effect}/stop | brak | Zatrzymuje określony efekt specjalny |
| /effects/stop | brak | Zatrzymuje wszystkie aktualnie działające efekty specjalne |
| /effects/bpm | float (0-1) | Ustawia BPM dla synchronizacji efektów specjalnych (mapuje 0-1 na 60-200 BPM) |
| EDYTY NA ŻYWO | ||
| /live/edit/{action}/{name} | action: enable|disable|toggle | Kontroluje stan edycji na żywo według nazwy |
| /live/edit/group/{action}/{name} | action: enable|disable|toggle | Kontroluje stan grupy edycji na żywo według nazwy |
| /live/edit/disable-all | brak | Wyłącza wszystkie edycje na żywo |
| KONTROLA CUE | ||
| /cue/effect/play/{name} | string | Odtwarza konkretny cue efektu według nazwy |
| /cue/effect/{action} | play|stop|next|prev | Kontroluje nawigację odtwarzania cue efektu |
| KONTROLA DJ | ||
| /dj/app/{app} | musicplayer|virtualdj|traktor | Przełącza konkretną aplikację DJ |
| /dj/deck{1|2}/{action} | play|stop|eject | Kontrole transportu decku |
| /dj/deck{1|2}/volume | float (0-1) | Kontroluje głośność decku |
| /dj/crossfader | float (0-1) | Kontroluje pozycję crossfadera |
| BEZPOŚREDNIA KONTROLA DMX | ||
| /dmx/{universe}/{channel} | float (0-1) | Ustawia wartość kanału DMX (mapuje 0-1 na 0-255) |
| /dmx/{universe}/{channel}/clear | brak | Czyści nadpisanie kanału DMX |
| /dmx/clear | brak | Czyści WSZYSTKIE nadpisania kanałów DMX |
| KONTROLA STOSU | ||
| /stack/{id}/go | brak | Uruchamia następny cue w określonym stosie |
| /stack/{id}/back | brak | Krok wstecz do poprzedniego cue |
| /stack/{id}/halt | brak | Zatrzymuje aktualne przejście w trakcie |
| /stack/{id}/stop | brak | Zatrzymuje odtwarzanie w określonym stosie |
| /stack/{id}/level | float (0-1) | Ustawia poziom master stosu |
| WYKONAJ SIATKĘ | ||
| /execute/{row}/{col} | brak | Aktywuje przycisk siatki wykonania w określonej pozycji |
Wiadomości OSC Output
DMXDesktop transmituje stan i zdarzenia do zewnętrznych aplikacji za pomocą OSC. Skonfiguruj docelowego hosta i port w Ustawieniach. Dostępne od v1.0.46
Kontrole na żywo
/dmxdesktop/v1/master float 0-1 (0-100%)/dmxdesktop/v1/blackout int 0|1/dmxdesktop/v1/strobe int 0|1/dmxdesktop/v1/blinder int 0|1/dmxdesktop/v1/freeze int 0|1/dmxdesktop/v1/fog int 0|1/dmxdesktop/v1/effect int 0|1/dmxdesktop/v1/specialeffect/{name} int 0|1 (fala, grzmot, itd.)Audio i BPM
/dmxdesktop/v1/bpm float (wartość BPM)/dmxdesktop/v1/beat float, int, int, float (bpm, ts_high, ts_low, pewność)/dmxdesktop/v1/audio/level float 0-1 (poziom RMS)/dmxdesktop/v1/audio/energy float 0-1 (poziom energii)Cues efektów
/dmxdesktop/v1/cue/active string (nazwa cue lub "")/dmxdesktop/v1/cue/name string (aktualny cue)/dmxdesktop/v1/cue/action string (play|stop)/dmxdesktop/v1/cue/lifecycle string (fadeIn/OutStarted/Finished)/dmxdesktop/v1/cue/lifecycle/duration int (ms)/dmxdesktop/v1/cue/lifecycle/newCue string (nazwa następnego cue)Stosy Cue
/dmxdesktop/v1/stack/{id}/step int (indeks kroku)/dmxdesktop/v1/stack/{id}/fading int 0|1/dmxdesktop/v1/stack/{id}/paused int 0|1Edycje na żywo i nadpisania
/dmxdesktop/v1/liveedit/{id} int 0|1/dmxdesktop/v1/liveedit/group/{id} int 0|1/dmxdesktop/v1/override/color string (ID palety lub "")/dmxdesktop/v1/override/position string (preset lub "")DJ Mode
/dmxdesktop/v1/dj/enabled int 0|1/dmxdesktop/v1/dj/app string (nazwa aplikacji lub "")/dmxdesktop/v1/dj/master int 1-4 (deck główny)/dmxdesktop/v1/dj/crossfader float 0-1/dmxdesktop/v1/dj/deck{1-4}/playing int 0|1/dmxdesktop/v1/dj/deck{1-4}/paused int 0|1/dmxdesktop/v1/dj/deck{1-4}/track string (Artysta - Tytuł)/dmxdesktop/v1/dj/deck{1-4}/loaded int 0|1 (utwór załadowany)/dmxdesktop/v1/dj/deck{1-4}/loading int 0|1 (analizowanie)/dmxdesktop/v1/dj/deck{1-4}/showready int 0|1 (DMX show gotowe)/dmxdesktop/v1/dj/deck{1-4}/vu float (poziom miernika VU)QuickShow - Efekty wiązki
/dmxdesktop/v1/quickshow/beam string (nazwa efektu lub "")/dmxdesktop/v1/quickshow/beam/speed int (surowa wartość suwaka)/dmxdesktop/v1/quickshow/beam/phase int (surowa wartość suwaka)/dmxdesktop/v1/quickshow/beam/background int (surowa wartość suwaka)/dmxdesktop/v1/quickshow/beam/spread int (surowa wartość suwaka)/dmxdesktop/v1/quickshow/beam/intensity int (surowa wartość suwaka)QuickShow - Efekty ruchu
/dmxdesktop/v1/quickshow/move string (nazwa efektu lub "")/dmxdesktop/v1/quickshow/move/speed int (surowa wartość suwaka)/dmxdesktop/v1/quickshow/move/size int (surowa wartość suwaka)/dmxdesktop/v1/quickshow/move/phase int (surowa wartość suwaka)/dmxdesktop/v1/quickshow/move/fanning int (surowa wartość suwaka)/dmxdesktop/v1/quickshow/move/direction int -1|0|1QuickShow - Ogólne
/dmxdesktop/v1/quickshow/theme int (ID motywu)/dmxdesktop/v1/quickshow/themecount int (8|16|24|32)/dmxdesktop/v1/quickshow/preset string (ID preset lub "")/dmxdesktop/v1/quickshow/groups string (tablica JSON)/dmxdesktop/v1/quickshow/groups/move string (tablica JSON)/dmxdesktop/v1/quickshow/stopall int 1 (zdarzenie pulsacyjne)QuickShow - Enkodery
/dmxdesktop/v1/quickshow/encoder/beam/{id} int 0-255 (wartość DMX)/dmxdesktop/v1/quickshow/encoder/move/{id} int 0-255 (wartość DMX)Identyfikatory enkoderów mają format: beam_aux_{groupId}_{channelKey} lub move_aux_{groupId}_{channelKey}
Uwaga: OSC Output wymaga płatnej subskrypcji i musi być włączony w Ustawieniach. Domyślny port to 9000.
Znaczniki czasu bitów są dzielone na dwa 32-bitowe całkowite liczby (ts_high, ts_low), ponieważ OSC nie obsługuje wartości 64-bitowych.
