Zum Hauptinhalt springen

OSC-Steuerung

Die FrenschPress akzeptiert eingehende OSC-Befehle über den in den Einstellungen gesetzten OSC-Port.

ParameterWert
Namespace/fpress
ProtokollOSC über UDP
Port53001 (Standard)
ZielIP-Adresse des Geräts
Hinweis

Der Port kann in den Einstellungen oder direkt am Stream Deck geändert werden. Er wird gemeinsam mit dem internen QLab-Feedback-Listener genutzt.

Befehlsübersicht

BefehlArgumenteGespeichert
/fpress/mode1, 2, 3Ja
/fpress/setA, B, C + optionale MaskeJa
/fpress/presetPreset-ID (String)Ja
/fpress/buttonTaste + optionale AktionNein
/fpress/macroMacro-Name oder -ID + optionale AktionNein
/fpress/timeline/armTimeline-SelektorJa
/fpress/timeline/disarmTimeline-SelektorJa
/fpress/timeline/arm_allJa
/fpress/timeline/disarm_allJa
/fpress/ledr g b oder target r g bNein
/fpress/led/release– oder targetNein
/fpress/streamdeck/buttonrow col [action]Nein
/fpress/streamdeck/feedbackbutton stateNein
/fpress/streamdeck/feedback/allstateNein
/fpress/streamdeck/feedback/clearNein
/fpress/query– oder GruppeNein

/fpress/mode

Schaltet den Gerätebetriebsmodus um.

WertModus
1 / "qlab"QLab-Modus
2 / "macro" / "custom"Macro-Modus
3 / "companion"Companion-Modus
/fpress/mode 1
/fpress/mode 2
/fpress/mode 3

/fpress/set

Schaltet das aktive Macro-Button-Set um. Funktioniert nur im Macro-Modus.

Erstes Argument – Ziel-Set:

WertSet
"A" / 1Set A
"B" / 2Set B
"C" / 3Set C

Zweites Argument (optional) – Maske: begrenzt, welche Buttons umgeschaltet werden. Ohne Maske werden alle Buttons gesetzt.

/fpress/set "A"
/fpress/set "B"
/fpress/set "C" "stop,go,pause"
/fpress/set "A" 7

Maskenverzeichnis

Das zweite Argument kann ein Integer-Bitmask, ein Selector-String oder "all" sein. Als Trennzeichen im Selector-String funktionieren ,, ;, | und Leerzeichen.

Selector-TokenBitmask
stop, 01 << 0
go, 11 << 1
pause, 21 << 2
enc, encoder, push, 31 << 3
left, prev, ccw, 41 << 4
right, next, cw, 51 << 5
push_left, combo_left, combo_prev, 61 << 6
push_right, combo_right, combo_next, 71 << 7
all0xFF
/fpress/set "B" "stop,go,pause"
/fpress/set "C" "all"
/fpress/set "A" 255
/fpress/set "A" 7

/fpress/preset

Lädt ein Preset per ID. Es wird die Preset-ID verwendet, nicht der Anzeigename. Die IDs sind im Preset-Picker des Webinterface sichtbar.

Preset-TypFormat
User-Preset"mein-preset-12ab"
Plugin-Preset"pluginId:presetId"
Leeren"empty"
/fpress/preset "my-user-preset-12ab"
/fpress/preset "osc-qlab-basics:transport"
/fpress/preset "empty"

/fpress/button

Löst eine physische Taste virtuell aus – als käme der Tastendruck vom Gerät selbst. Damit lassen sich auch Press-/Release-Macros aus der Ferne sauber bedienen.

Erstes Argument – Taste:

WertTaste
"stop" / 0STOP
"go" / "play" / 1GO
"pause" / 2PAUSE

Zweites Argument (optional) – Aktion, Standard "tap":

AktionWirkung
"tap" / "trigger" / "go"Drücken und sofort loslassen
"press" / "on" / "1"Nur drücken (Taste bleibt logisch gehalten)
"release" / "off" / "0"Nur loslassen
/fpress/button "go"
/fpress/button "stop" "press"
/fpress/button "stop" "release"
/fpress/button 1 "tap"
vorsicht

Wer press sendet, muss auch release senden. Eine logisch gehaltene Taste blockiert sonst Release-Sequenzen und Toggle-Zustände.


/fpress/macro

Startet ein Macro direkt über seinen Namen oder seine ID, unabhängig davon, ob es einer Taste zugewiesen ist.

Erstes Argument – exakter Macro-Name oder Macro-ID. Ist ein Name mehrdeutig, wird der Befehl abgelehnt.

Zweites Argument (optional) – Aktion, Standard "trigger":

AktionWirkung
"trigger" / "tap" / "start"Macro einmal ausführen
"on" / "press" / "1"Snapshot-Macro einschalten; bei allen anderen Macros wie trigger
"off" / "release" / "0"Snapshot-Macro ausschalten
"toggle"Snapshot-Macro umschalten
/fpress/macro "Haus AN"
/fpress/macro "Haus AN" "toggle"
/fpress/macro "macro-7f3a" "trigger"
hinweis

off, release und toggle sind ausschließlich für Snapshot-Macros (Art-Net/sACN DMX-Snapshots) verfügbar, da nur diese einen dauerhaften Ein/Aus-Zustand haben.


/fpress/timeline/arm & /fpress/timeline/disarm

Schaltet eine einzelne Timeline scharf bzw. entschärft sie.

Argument – Timeline-Selektor. Akzeptiert wird:

FormBeispiel
Sichtbare Nummer aus dem Dropdown"1"
Anzeigename"Main Timeline"
Interne ID"main"
/fpress/timeline/arm "1"
/fpress/timeline/arm "Main Timeline"
/fpress/timeline/disarm "main"

/fpress/timeline/arm_all & /fpress/timeline/disarm_all

Schaltet alle Timelines gemeinsam scharf oder entschärft sie. Ohne Argumente.

/fpress/timeline/arm_all
/fpress/timeline/disarm_all
hinweis

Die Befehle sind idempotent: ein bereits erreichter Zustand löst keinen Schreibvorgang auf dem Dateisystem aus. Änderungen an allen Timelines werden atomar gespeichert.


/fpress/led

Setzt eine Laufzeit-RGB-Farbe für alle LEDs oder eine einzelne LED. Die Farbe wird nicht gespeichert.

Wertebereich: 0–255 pro Kanal

Akzeptierte Targets:

TargetBeschreibung
"all" / "*" / 0Alle LEDs
"stop" / "btn0" / "button0" / 1Stop-Taste
"go" / "btn1" / "button1" / 2Go-Taste
"pause" / "btn2" / "button2" / 3Pause-Taste
"encoder" / "enc" / "push" / "btn3" / 4Encoder
/fpress/led 255 0 0
/fpress/led "all" 255 0 0
/fpress/led "stop" 255 0 0
/fpress/led "go" 0 255 0
/fpress/led "pause" 255 140 0
/fpress/led "encoder" 0 80 255

Der Override bleibt aktiv, bis ihn ein weiteres /fpress/led ändert oder /fpress/led/release freigibt. Modus- und Feedback-Updates laufen im Hintergrund weiter und werden nach dem Release wieder sichtbar.

/fpress/led/release

Gibt Laufzeit-Overrides frei und stellt die aktuelle Live-Farbe wieder her. Ohne Argument werden alle Overrides gelöscht. Die Targets sind dieselben wie bei /fpress/led.

Alias: /fpress/led/clear

/fpress/led/release
/fpress/led/release "all"
/fpress/led/release "stop"

Stream Deck über OSC

Diese Befehle wirken nur, wenn ein Stream Deck angeschlossen ist.

/fpress/streamdeck/button

Löst eine Deck-Taste virtuell aus. Row und Column sind nullbasiert.

Zwei gleichwertige Schreibweisen:

/fpress/streamdeck/button 1 2
/fpress/streamdeck/button/1/2

Optionale Aktion als letztes Argument (Standard "tap"):

AktionWirkung
"tap" / "trigger" / "go"Drücken und loslassen
"press" / "on" / "1"Nur drücken
"release" / "off" / "0"Nur loslassen
/fpress/streamdeck/button 0 0 "tap"
/fpress/streamdeck/button/0/0 "press"
/fpress/streamdeck/button/0/0 "release"
hinweis

Tasten, die als Timecode-Anzeige reserviert sind, sowie die Tools-Taste führen auch über OSC keine Macros aus.

/fpress/streamdeck/feedback

Übersteuert die Feedback-Farbe einer Deck-Taste von außen – etwa um den Zustand eines Fremdsystems auf dem Deck sichtbar zu machen.

Zustandswerte:

WertBedeutung
1, "on", "true", "active", trueActive-/Feedback-Farbe erzwingen
0, "off", "false", "idle", falseIdle-Farbe erzwingen
"clear", "auto", "local", "release"Override aufheben, lokale Logik übernimmt wieder

Floats zwischen 0.0 und 1.0 werden bei 0.5 gerundet.

Adressierung per Tastennummer (132, einsbasiert):

/fpress/streamdeck/feedback 5 1
/fpress/streamdeck/feedback/5 1
/fpress/streamdeck/5/feedback 1

Adressierung per Raster (Row/Column, nullbasiert):

/fpress/streamdeck/feedback/1/2 1
/fpress/streamdeck/1/2/feedback "clear"

/fpress/streamdeck/feedback/all

Setzt alle Tasten gemeinsam auf einen Zustand.

/fpress/streamdeck/feedback/all 1
/fpress/streamdeck/feedback/all "clear"

/fpress/streamdeck/feedback/clear

Hebt sämtliche OSC-Overrides auf. Ohne Argumente.

/fpress/streamdeck/feedback/clear
/fpress/query
/fpress/query "qlab"

/fpress/query

Fragt den Zustand des Geräts ab. Die FrenschPress antwortet mit einer oder mehreren /fpress/status/…-Nachrichten – zurück an die Adresse und den Port, von denen die Anfrage kam. Ein Empfänger muss also nur auf dem Port lauschen, von dem er gesendet hat.

/fpress/query
/fpress/query "mode"

Ohne Argument kommen alle vier Antworten. Mit einem der Gruppennamen device, mode, set oder qlab kommt nur die betreffende.

Antworten

NachrichtArgumente
/fpress/status/deviceGerätename · Firmware-Version · MAC-Adresse · IP-Adresse
/fpress/status/modeMode (qlab / macro / companion) · QLab-Transport (osc / msc) · interner Transport-Code
/fpress/status/setAktives Button-Set (A / B / C) · Set je Taste als Buchstabenfolge
/fpress/status/qlabLäuft ein Cue (0/1) · Pausiert (0/1) · QLab-Feedback abonniert (0/1)
hinweis

Abfragen werden auf eine Antwort alle 100 ms je Absender begrenzt; schnellere Anfragen werden verworfen. Anfragen von der eigenen Adresse werden ignoriert.

Companion

Wer FrenschPress aus Bitfocus Companion heraus steuern will, braucht diese Befehle nicht selbst zu bauen – das Companion-Modul erledigt Abfrage und Auswertung bereits.


Kurzreferenz

/fpress/mode 2
/fpress/set "B"
/fpress/set "B" "stop,go,pause"
/fpress/preset "my-user-preset-12ab"
/fpress/preset "osc-qlab-basics:transport"
/fpress/button "go"
/fpress/button "stop" "press"
/fpress/macro "Haus AN" "toggle"
/fpress/timeline/arm "Main Timeline"
/fpress/timeline/disarm_all
/fpress/led "stop" 255 0 0
/fpress/led 255 80 0
/fpress/led/release
/fpress/streamdeck/button/0/0
/fpress/streamdeck/feedback/1/2 1
/fpress/streamdeck/feedback/clear
/fpress/query
/fpress/query "qlab"