TIMERS STUDIO
MASTER YOUR FLOW

Thirty Actions, Fifteen Feedbacks: The Companion Module Deep Dive

When your show control surface needs to talk to everything in the rack, Bitfocus Companion and Timers Studio speak the same language.

· Hardware · 10 min read

There are two philosophies of show control hardware, and most production teams eventually adopt both. The first says the control surface should be as close to the application as possible: direct connection, minimal latency, zero middleware. The second says the control surface should be a universal translator that speaks to every system in the production: one surface, many applications, one button press that triggers synchronized actions across the entire stack. In broadcast facilities, this second philosophy is what drives the Master Control Room router, a single panel that commands every device in the signal chain. Bitfocus Companion is the embodiment of that second philosophy for software based production. It is an open source desktop application that transforms virtually any button grid, encoder panel, or touch surface into a programmable control interface for hundreds of software and hardware systems. Stream Deck, Loupedeck, Razer Stream Controller, Logitech MX Creative Console, X keys, and dozens of other devices all work through Companion's unified interface. When Timers Studio built its Companion module, the goal was to expose every controllable parameter of the platform to this universal control ecosystem [Try the zero drift experience]. The module provides over thirty actions. The full transport controls set is present: play, pause, stop, reset, next, previous, rewind, and time adjustments. Beyond basic transport, the module exposes actions for sending messages of all five types (Standard, Alert, Flash, Takeover, and Fullscreen), toggling blackout mode with all four variants (Black, Clock, Color, and Image), and controlling the Time Warp offset. There are actions for switching between timer display modes, cycling through themes, and toggling individual design parameters. Administrative actions include session export, device identification, and player reload. Fifteen feedback channels provide real time visual state information on the control surface, functioning like tally lights on a broadcast camera bank. Timer state feedback changes the button color based on whether the timer is running (green), paused (yellow), stopped (gray), or in overtime (red). Message state feedback indicates whether a message is currently being displayed. Blackout state feedback reflects the current blackout mode. Connection state feedback confirms that the module has an active connection to the Timers Studio API. These feedbacks arrive through Server Sent Events, which means the button state updates as quickly as the SSE stream delivers the event, typically within 100 to 200 milliseconds of the state change. Twenty five variables are available for dynamic display on button labels and for use in Companion's trigger and condition system. Variables include the current timer name, remaining time, elapsed time, total duration, timer state, active theme name, studio title, speaker name, and connection status. A Companion button can display a label like "KEYNOTE 04:32" that updates in real time as the timer counts down, giving the show caller instant awareness of where they are in the rundown without looking at a separate monitor. You can test this right now [Launch your first studio]. The communication architecture uses two channels. Outbound actions travel through the REST API, authenticated with a Bearer token generated in the API and Integrations panel. Each API key has configurable scopes: READ for monitoring, TRANSPORT for timer control, MUTATION for data modification, and ADMIN for full access. The Companion module configuration asks for the API key and automatically determines which actions are available based on the key's scopes. Inbound state updates travel through Server Sent Events. When the module connects, it opens an SSE stream that receives every state change as it happens. Timer started, timer paused, message sent, theme changed, blackout toggled: every event arrives as a structured JSON payload. This architecture means the module does not need to poll the API. It listens, and the server tells it what changed, exactly as a broadcast tally system receives GPI signals without polling each camera. The practical question that production teams ask is when to use Companion instead of the native WebHID integration. If the Stream Deck only needs to control Timers Studio, native WebHID provides faster latency and simpler setup. If the Stream Deck needs to control Timers Studio alongside vMix, OBS, ProPresenter, a lighting console, or any other system in the production stack, Companion is the right choice because it can map a single button press to synchronized actions across all of those systems. A common configuration in broadcast environments puts Companion on a dedicated mini PC that acts as the control hub, similar to how a broadcast facility centralizes routing in the Master Control Room. The Stream Deck connects via USB. Companion communicates with Timers Studio through the REST API, with vMix through its TCP API, with OBS through its WebSocket API, and with the lighting console through Art Net or sACN. The operator presses one button and the timer starts, the camera switches to the main input, the lower third appears, and the stage lights transition to the presentation preset [See it in action]. The module installation is straightforward. In the Companion interface, search for "Timers Studio" in the module library, install it, and enter your studio URL and API key. Companion will connect, verify the key's scopes, and populate the available actions, feedbacks, and variables. A complete button page for Timers Studio can be configured in under ten minutes. For production teams that operate at scale, managing multiple shows per week across different venues, Companion provides a consistency layer. You can save your Companion configuration as a file and load it at every venue. The button layout stays the same. The action mappings stay the same. Only the API key and studio URL change between shows. This predictability is operationally valuable in environments where setup time is limited and the production team needs their muscle memory to work correctly. You can generate an API key and explore the module [see available plans]. The Companion module is available in the Bitfocus Companion module library and receives regular updates as new features are added to the platform.