Skip to main content

Companion Module

The FrenschPress module for Bitfocus Companion turns the relationship around: instead of FrenschPress operating Companion, Companion operates the FrenschPress.

RouteWho drives whomDocumented under
Companion Mode / SatelliteFrenschPress (and optionally a Stream Deck attached to it) acts as a surface for CompanionCompanion Mode, Stream Deck as a Companion surface
Companion moduleCompanion controls the FrenschPressthis page

The two can be combined: Companion can use one FrenschPress as a surface and control another as a device.

Typical use: one show button in Companion starts the video and switches the FrenschPress to set B, colours its LEDs, or arms a timeline.


Installation

The module ships as a package file (.tgz). Open Companion's module management and install the package there. Once the module is available from the Bitfocus module store this step goes away — searching for FrenschPress will be enough.

Setting up the connection

Add a new connection in Companion and choose FrenschConnection FrenschPress.

FieldMeaning
Discovered devicesFrenschPress units announcing themselves on the network. Picking one fills in host and port.
HostIP address or hostname of the device
PortThe device's OSC input port, 53001 by default
HTTP portUsed only to read the device's preset list. 80 by default, no login required.
Poll device statusFetches device state regularly. Off means no variables and no feedbacks — the module only sends.
Poll interval (ms)Time between queries, 1000 by default
note

The module speaks OSC over UDP, so Companion and the FrenschPress have to be able to reach each other on the network.


Actions

ActionWhat it does
Set modeSwitches between QLab, Custom and Companion
Switch button setSwitches to set A, B or C — optionally for selected buttons only
Apply presetLoads a preset. The list is read from the device; a preset can also be given by name or from a variable. Optionally into a specific set.
Press a FrenschPress buttonFires STOP, GO or PAUSE virtually — as tap, press or release
Run a macroStarts a macro by name or ID. on, off and toggle apply to snapshot macros.
Arm timeline / Disarm timelineArms or disarms one timeline — by number, name or ID
Arm all timelines / Disarm all timelinesThe same for every timeline at once
Set LED colourColours one LED (STOP, GO, PAUSE or all) from the colour picker
Release LED overrideHands the LED back — it returns to its normal colour
Stream Deck: press a keyFires a key on the attached Stream Deck by row and column
Stream Deck: set key feedbackSets a deck key's state: a single key, row/column, all keys, or everything back to local

Feedbacks

FeedbackTrue when
Mode isThe device is in the selected mode
Button set isThe selected set is active — either for the whole FrenschPress or for a single button
QLab has running cuesAt least one cue is running in QLab
QLab is pausedQLab is paused

Variables

$(frenschpress:…) — device name, firmware version, MAC address, IP address, mode, QLab transport, active button set, per-button sets, and the QLab states (running, paused, feedback subscribed).

Bundled buttons (presets)

Ready-made Companion buttons with matching feedbacks: Mode QLab / Macro / Companion, Set A / B / C, STOP / GO / PAUSE, QLab running, QLab paused, plus two LED buttons (hold a colour while pressed, and release).


When nothing arrives

SymptomCheck
No variables, no feedbacksIs Poll device status switched on?
Connection stays redHost and port — the port must match the device's OSC input port
Preset list emptyWrong HTTP port, or the device is not reachable over HTTP
State updates sluggishlyReduce the poll interval (minimum 250 ms)
note

FrenschPress answers status queries at most once every 100 ms per sender, so a poll interval below 250 ms buys you nothing.