Zum Hauptinhalt springen

Companion-Modul

Mit dem FrenschPress-Modul für Bitfocus Companion drehst du die Richtung um: Nicht die FrenschPress bedient Companion, sondern Companion bedient die FrenschPress. Ein Show-Button in Companion kann so das Video starten und gleichzeitig die FrenschPress auf Set B umschalten, ihre LEDs einfärben oder eine Timeline scharf schalten.

WegWer bedient wenBeschrieben unter
Companion Mode / SatelliteDie FrenschPress (und optional ein Stream Deck daran) ist eine Bedienfläche für CompanionCompanion Mode, Stream Deck als Companion-Surface
Companion-ModulCompanion steuert die FrenschPressdiese Seite

Du kannst beides kombinieren: Companion nutzt eine FrenschPress als Fläche und steuert eine andere als Gerät.


Installation​

Das Modul gibt es als Paketdatei (.tgz) zum Download.

  1. In Companion Settings → Modules → Import module package öffnen.
  2. Die .tgz-Datei auswählen.

Sobald das Modul im Bitfocus-Modulstore liegt, entfällt der Import. Dann reicht die Suche nach FrenschPress.

hinweis

Eine Version aus dem Store hat Vorrang vor einer importierten. Ist die Store-Version da, entferne den importierten Stand.

Verbindung einrichten​

Voraussetzung: Companion und FrenschPress erreichen sich im selben Netzwerk. Das Modul spricht OSC über UDP.

  1. In Companion eine neue Connection anlegen.
  2. FrenschConnection FrenschPress wählen.
  3. Unter Discovered devices die FrenschPress auswählen oder Host und Port von Hand eintragen.
  4. Speichern. Bleibt die Verbindung rot, sieh unter Wenn es nicht klappt nach.
FeldBedeutungStandard
Discovered devicesListe der FrenschPress-Geräte, die sich im Netzwerk ankündigen. Eine Auswahl füllt Host und Port automatisch aus.–
HostIP-Adresse oder Hostname des Geräts–
PortDer OSC-Eingangsport des Geräts53001
HTTP portNur zum Lesen der Preset-Liste des Geräts. Kein Login nötig.80
Poll device statusFragt regelmäßig den Gerätezustand ab. Aus: keine Variablen und keine Feedbacks, das Modul sendet nur.–
Poll interval (ms)Abstand der Abfragen1000
Discovery ist optional

Die Geräteliste kommt über mDNS. mDNS überschreitet keine VLAN-Grenze und scheitert häufig, wenn Companion in einem Docker-Container läuft. Host und Port von Hand einzutragen ist ein normaler Weg, kein Notbehelf.


Actions​

ActionWas sie macht
Set modeWechselt zwischen QLab, Custom und Companion
Switch button setSchaltet auf Set A, B oder C, optional nur für ausgewählte Tasten
Apply presetLädt ein Preset. Die Liste kommt vom Gerät; du kannst ein Preset auch als Name oder über eine Variable angeben. Optional in ein bestimmtes Set.
Press a FrenschPress buttonLöst STOP, GO oder PAUSE virtuell aus, als tap, press oder release
Run a macroStartet ein Macro über Name oder ID. on, off und toggle wirken auf Snapshot-Macros.
Arm timeline / Disarm timelineSchaltet eine Timeline scharf oder unscharf, über Nummer, Name oder ID
Arm all timelines / Disarm all timelinesDasselbe für alle Timelines auf einmal
Set LED colourFärbt eine LED (STOP, GO, PAUSE oder alle) mit dem Farbwähler
Release LED overrideGibt die LED wieder frei. Sie zeigt danach ihre normale Farbe.
Stream Deck: press a keyLöst eine Taste des angeschlossenen Stream Decks über Reihe und Spalte aus
Stream Deck: set key feedbackSetzt den Zustand einer Deck-Taste: einzelne Taste, Reihe/Spalte, alle Tasten oder alles zurück auf lokal
Set device variableSchreibt einen Wert in eine Variable auf der FrenschPress
Clear device variableLöscht eine Variable über ihren Namen
Clear all device variablesLöscht alle 64 Variablen auf einmal

Die Dropdowns für Apply preset und Arm / Disarm timeline liest das Modul vom Gerät und frischt sie einmal pro Minute auf. Ein neu angelegtes Preset oder eine neue Timeline taucht also von selbst auf. Beide Felder nehmen auch freien Text: Nummer, Anzeigename, ID oder eine Companion-Variable. Ist das Gerät über HTTP nicht erreichbar, bleibt die Liste leer. Ein getippter Wert wird trotzdem gesendet.

Feedbacks​

FeedbackWird wahr, wenn
Mode isdas Gerät im gewählten Mode ist
Button set isdas gewählte Set aktiv ist, wahlweise für die ganze FrenschPress oder für eine einzelne Taste
QLab has running cuesin QLab mindestens ein Cue läuft
QLab is pausedQLab pausiert ist
Sync variable to FrenschPressKein optisches Feedback. Spiegelt laufend eine Companion-Variable in eine Gerätevariable.

Gerätevariablen aus Companion setzen​

Die FrenschPress setzt Variablen in Stream-Deck-Beschriftungen ein: Eine Taste mit dem Text CUE $cue zeigt, was gerade in cue steht. Mit Companion füllst du diese Werte am bequemsten.

Einmalig beim Drücken: Set device variable​

Die Action nimmt Name und Wert. Beide Felder nehmen Companion-Variablen. Companion löst sie vor dem Senden auf. Die FrenschPress bekommt immer einen fertigen Text und weiß nichts von Companion.

Name: cue
Value: $(internal:time_hms)

Eine Deck-Taste mit der Beschriftung $cue zeigt danach bei jedem Auslösen der Action den neuen Wert.

RegelWert
Name1–24 Zeichen aus A-Z, a-z, 0-9, _
Reservierte Namenalles ab sys_ gehört dem Gerät und wird abgewiesen
Länge des Wertsüber 48 Zeichen schneidet das Gerät ohne Warnung ab
$$ in einer Beschriftungreserviert, wird beim Speichern abgewiesen

Dauerhaft: das Feedback Sync variable to FrenschPress​

Soll ein Wert von selbst aktuell bleiben statt an einen Tastendruck gebunden zu sein, leg das Feedback auf einen beliebigen Companion-Button. Es bekommt einen festen FrenschPress-Namen und einen Ausdruck als Wert. Den Companion-Button selbst verändert es optisch nicht.

Companion führt ein Feedback neu aus, sobald sich eine darin verwendete Variable ändert. Das Modul fasst schnelle Änderungen zusammen und sendet höchstens zehn Aktualisierungen pro Sekunde, immer nur den neuesten Wert.

Zusätzlich trägt das Modul seine Zuordnungen langsam nach: eine pro Sekunde, je Zuordnung höchstens alle zehn Sekunden. Nach einem Neustart der FrenschPress sind die Gerätevariablen so von selbst wieder gefüllt, ohne dass alle Zuordnungen auf einmal losgehen.

Das Feedback wirkt, solange es existiert. Löschst du es, endet die Spiegelung.

Löschen​

Clear device variable löscht eine Variable. Verweist eine Beschriftung darauf, fällt nur dieser $name weg: Aus CUE $cue wird CUE , eine Beschriftung, die nur aus $cue besteht, wird zur leeren Taste. Der Text im Editor bleibt unverändert.

Clear all device variables löscht alle 64 auf einmal und hat keine Optionen.

Alte Buttons aus Version ≤ 0.4.0 prüfen

Bis 0.4.0 war „alle löschen“ dieselbe Action wie „eine löschen“, ausgelöst durch ein leeres Namensfeld. Das war auch der Standard einer frisch hinzugefügten Action. Heute löscht ein Clear device variable mit leerem Namen nichts mehr. Hat sich ein Button darauf verlassen, wähl dort die eigene Action Clear all device variables.


Variablen​

Das Modul stellt unter $(frenschpress:…) diese Companion-Variablen bereit:

VariableInhalt
device_name · fw · mac · ipGerätename, Firmware-Version, MAC-Adresse, IP-Adresse
modeqlab, macro oder companion
transport · midimodeQLab-Transport (osc/msc) und der interne Transport-Code
set_activeAktives Button-Set
set_buttonsAcht Buchstaben, ein Set je Taste, in der Reihenfolge stop, go, pause, Encoder-Push, links, rechts, push+links, push+rechts
qlab_running · qlab_paused · qlab_subscribedQLab-Zustand: laufend, pausiert, Feedback abonniert
hinweis

Nach einem maskierten Set-Wechsel können die Tasten auf unterschiedlichen Sets stehen. set_active zeigt dann nur den letzten Wechsel, der die ganze FrenschPress betraf. set_buttons ist in diesem Fall der genaue Wert.

Diese Variablen sind Companion-Variablen. Mit den Gerätevariablen auf der FrenschPress haben sie nichts zu tun. Von der einen Sorte zur anderen kommst du über die Action oder das Feedback aus dem Abschnitt oben.

Mitgelieferte Buttons (Presets)​

Fertige Companion-Buttons mit passenden Feedbacks: Mode QLab / Macro / Companion, Set A / B / C, STOP / GO / PAUSE, QLab running, QLab paused und zwei LED-Buttons (Farbe halten, solange gedrückt, und Freigabe).


Wenn es nicht klappt​

SymptomUrsacheAbhilfe
Keine Variablen, keine FeedbacksPoll device status ist ausEinschalten
Verbindung bleibt rotHost oder Port falschDer Port muss dem OSC-Eingangsport des Geräts entsprechen
Preset-Liste leerHTTP-Port stimmt nicht, oder das Gerät ist über HTTP nicht erreichbarHTTP-Port und Erreichbarkeit prüfen
Zustand aktualisiert sich trägePoll-Intervall zu großPoll-Intervall verkleinern, Minimum 250 ms
hinweis

Die FrenschPress beantwortet Statusabfragen höchstens alle 100 ms je Absender. Ein Poll-Intervall unter 250 ms bringt deshalb nichts.