Bitfocus Buttons is unified control and monitoring software for AV and live production. It brings control, device state, automation, and signal routing into one system, with controls you can use from a browser or hardware surface.
Use this explanation to understand the main concepts before creating your first control. Available capabilities depend on the installed features, license, connected equipment, and your account's access.
Core concepts#
A connection represents a controlled system#
A connection represents one controlled device, application, or service. For example, separate connections might represent an audio mixer, a video switcher, a media server, and a lighting system.
A connection can make several kinds of capability available to the rest of Buttons:
- Actions represent commands that can be sent, such as changing an input, recalling a scene, or starting playback.
- Feedbacks represent conditions derived from received or internal state. A feedback can be active or inactive.
- Variables represent values such as
-12 dB, Camera 2, or slide 7 of 24. - Presets, where supported, represent ready-made button configurations supplied by that connection.
The available actions, feedbacks, variables, and presets depend on the connection module and connected system. Connection presets are different from routing Presets, which store routing salvos.
A position represents one person's physical operating position#
A position represents the physical position and complete workspace for one person. Examples could include vision mixing, graphics, sound, shading, or a production desk.
A position coordinates its hardware panels, browser sessions, iPads, and other surfaces as one workspace while keeping its controls, navigation, actions, and state separate from other positions.
For example, a sound position could combine a hardware button panel beside the mixer, a browser on a workstation, and an iPad elsewhere in the room. Its controls can send actions and show received state: a mute control could send the mute action, change color when mute feedback becomes active, and display a level of -12 dB from a variable.
A surface represents an interface to a position#
A surface represents one interface through which a position is used. It can be a hardware panel, browser session, iPad, or another supported interface.
Each surface contributes physical or on-screen controls (such as buttons, displays, encoders, or touch elements) to the position. Available controls and layout depend on the surface.
A workflow represents automation and custom logic#
A workflow represents automation and custom logic. It can respond to events and state, evaluate conditions, transform values, run actions without a button press, and create APIs that exchange data with other systems.
Use a workflow when the task needs custom logic, system-to-system interaction, or coordination beyond a direct control.
A cuelist represents a list of actions#
A cuelist represents a list of actions. It can run actions in a determined order during a show or replace a collection of individual action buttons. A cuelist can be controlled from a position.
Start with the smallest control that gets the job done. Use a direct button action when no sequence or additional logic is needed.
Routing represents real signal paths#
Routing represents how signals travel from sources to destinations through the connected facility. Ports and signal levels describe routable resources; labels and groups give them meaningful names; virtual routing and tielines can describe logical devices and paths across routing domains.
Depending on the enabled features and connected systems, Buttons can provide route execution, presets, labels, virtual routing, tielines, tally/UMD, NMOS, projects, rules, and topology views.
A routing project groups routing activity so temporary resources, such as tielines, can be released together. A project can expire automatically or be released manually.
Routing actions can affect real signal paths immediately. Learn the configured routing behavior before making changes in a production system.
A tag is a free-form building block for organizing resources across types. A resource can have multiple tags from multiple collections, so it can appear in several useful groupings (for example, Studio 1, Audio, and Shared) instead of one fixed hierarchy.
Feedbacks and variables are different#
Feedbacks and variables can both represent state, but they serve different purposes:
- A variable exposes a value that can be displayed, inserted into text, used in an expression, passed to an action, or consumed by a workflow.
- A feedback evaluates a condition. When active, it can override control text, colors, images, and other styling.
They often work together. A routing variable might expose Camera 2 as the source currently feeding an output, while a routed-state feedback highlights the corresponding control. A slideshow variable might display slide 7 of 24, while a running-state feedback changes the control's appearance.
Where to begin#
After signing in:
- Read Find your way around Buttons to see what is available in each area.
- Create your first backup before building substantial configuration.
- Add an ATEM connection to provide presets and routing ports for the first position.
- Create a position, then add controls from ATEM presets and build a Custom Router.
- Add and attach a surface when you want to use the position on control hardware.