Short definitions for terms used throughout the Buttons documentation, in alphabetical order. Each entry links to the guide that explains the concept in full.
Action#
An action is a command a connection can send to the system it represents, such as changing an input, recalling a scene, or starting playback. Buttons also provides internal actions, which run without a connection module: for example, setting a variable or changing which step is active on a button. A button, cue, or workflow can run one or more actions.
Bundle#
A bundle groups the ports that represent one operational source or destination: for example, a camera's video and audio ports presented together as Camera 1. Routing a bundle requests routes for all its compatible member ports at once; routing an individual port inside it changes only that port.
Connection#
A connection represents one controlled device, application, or service: such as an audio mixer, video switcher, media server, or lighting system. A connection module supplies the actions, feedbacks, variables, and (where supported) presets and routing ports that the rest of Buttons can use.
Cuelist#
A cuelist is a top-level, ordered list of cues, each firing a stack of actions when it runs. Use one to run a determined show order or as a compact, searchable alternative to many individual buttons.
Feedback#
A feedback evaluates a condition derived from a connection's received or internal state, and is either active or inactive. An active feedback can override a control's text, color, image, or other styling. A feedback is different from a variable: a variable exposes a value, while a feedback evaluates a condition.
Level#
A level is one of the signal-type categories Video, Audio, or Data that a multi-port bundle can carry. Levels filter which member ports of a bundle participate when a bundle-level source or destination is taken: for example, in a Custom Router's Levels setting or the Level buttons in the Routing Presets panel.
Port#
A port is the smallest routable endpoint in the physical routing model, belonging to one connection or routing provider: for example, Camera 1 Video. A route connects a source port to a compatible destination port; a bundle groups related ports together as one operational source or destination.
Position#
A position represents one person's complete operating workspace: where they work, not a room, device, or user account. It coordinates that person's assigned surfaces, controls, navigation, and state, keeping them separate from other positions.
Preset#
Buttons uses "preset" for three unrelated things, so check which one a guide means:
- A connection preset is a ready-made button configuration supplied by a connection module.
- A routing Preset (previously called a salvo) is a saved list of source-to-destination mappings that can be recalled or executed together.
- A Matching Preset describes how the slots in one virtual Shape connect to slots in another, for virtual-to-virtual routing.
Route#
A route maps a source port to a compatible destination port so a signal reaches that destination. Selecting a source and destination in a routing view stages the intended mapping; Take sends it to the connected system. A route that crosses routers (a tieline route) is retained as a Route Request so Buttons can continue to account for the shared connections it occupies.
Surface#
A surface is one interface to a position: a hardware panel, browser session, iPad, or another supported interface. Each surface contributes physical or on-screen controls to the position it's attached to; a position can combine several surfaces as one workspace.
Tally#
Tally describes what is operationally important right now: such as which source is on Program or Preview, or what is recording. Buttons models tally as named Tally Channels: Providers turn input state (feedbacks, variables, or incoming TSL) into active Channels on ports, and Consumers watch a port or bundle, resolve the relevant Channels and labels, and run Reactions such as sending TSL or executing an action.
Tieline#
A tieline is a route that crosses from one router (routing domain) to another. Buttons models the physical connection between routers as a Relation, restricts which sources and destinations may use it with a Routing Rule, and retains the resulting cross-router route as a Route Request so the shared connections it occupies can be tracked and released.
Variable#
A variable stores a value (string, number, boolean, a reference to a connection or routing endpoint, or a value driven directly by a connection's feedback) that can be displayed, inserted into text, used in an expression, or passed to an action. Which variables you can see and use at a given point depends on scope: Self, Parent, Position, Workflow, or Connection.
Workflow#
A workflow is Buttons' automation and custom-logic tool: a canvas of connected nodes that can respond to events, evaluate conditions, transform values, run actions without a button press, and exchange data with other systems through an API. Use a workflow when a task needs logic beyond a direct button action.