Physical routing connects an individual source port to an individual destination port. Buttons can also present related ports as bundles, allowing one operational choice to represent several compatible signal paths.
This page explains the physical routing model used by connections such as an ATEM or video router. Virtual routing and tielines build on this model but are outside this page's scope.
A port is one routable endpoint. Buttons routes a source port to a compatible destination port.
For an ATEM connection, Camera 1 Video can be a source port and Program 1 Video can be a destination port. The route between them changes one video path.
Ports are the physical routing model's smallest selectable endpoints. Each port belongs to a connection or another routing provider and carries the information Buttons needs to identify and operate it.
A bundle groups ports that represent one operational source or destination.
For example, an ATEM connection could expose these resources:
Camera 1 source bundle├── Video port└── Audio portProgram 1 destination bundle├── Video port└── Audio port
Routing Camera 1 to Program 1 at the bundle level can request routes for the compatible ports inside both bundles. Routing only Camera 1 Video changes the video port without implying that its audio port also changes.
This distinction matters when inspecting routing state or diagnosing a partial result: the bundle is the operational grouping, while its ports are the endpoints that are actually routed.
Router-aware connections supply their available source ports, destination ports, bundles, labels, and routing behavior to Buttons. The resources depend on the connected product and the options enabled for that connection.
For example, an ATEM connection can expose inputs as sources and program buses, preview buses, auxiliary outputs, multiviewer windows, or audio destinations as destinations. Disabling one of those routing areas in the connection configuration removes it from the resources the connection supplies.
A connection can supply two labels for a port or bundle:
Name is the stable name of the resource. For an ATEM input, this could be Input 1.
Ext Custom Label is the user-defined label received from the connected device. For the same ATEM input, this could be Cam 1. It can change when someone renames the input on the ATEM itself.
Buttons also provides User, Setup, and Installation labels that can be maintained in Buttons. These do not replace Name or Ext Custom Label; they are additional display choices.
Each place that displays a port or bundle can choose its label source. For example, the Routing UI can display one label type while a Router Section or Custom Router uses another.
The selected Display Label is always the first choice. Label Strategy controls what Buttons tries when that label has no value.
The arrows show the fallback order. Buttons starts at the selected label's position and moves to the right until it finds a value. It does not use labels shown to the left of the selected label. For example, with this strategy:
User → Setup → Installation → Ext Custom Label → Name
If User is selected, Buttons tries User, Setup, Installation, Ext Custom Label, then Name.
If Setup is selected, Buttons tries Setup, Installation, Ext Custom Label, then Name. It does not fall back to User.
If Ext Custom Label is selected, Buttons tries Ext Custom Label, then Name.
If Name is selected, there is no further fallback.
The available strategies are:
Strategy
Intended use
User → Setup → Installation → Ext Custom Label → Name
Prefer labels maintained in Buttons, then labels supplied by the device. This is the default order.
Ext Custom Label → User → Setup → Installation → Name
Prefer the device's current custom label before labels maintained in Buttons.
User → Setup → Installation → Name
Ignore Ext Custom Label as a fallback. If Ext Custom Label itself is the selected display label, it can still be displayed when it has a value.
Off
Use only the selected display label. If it has no value, display no label.
A fallback uses the first non-empty label it finds. If the ATEM's Ext Custom Label changes, any routing interface currently resolving to that label displays the updated value.
Tip
Choose labels for the people using each routing interface. A Router Section for operators might display User, while an engineering view uses Name or Ext Custom Label to compare Buttons with the connected device.
Buttons tracks the active source reported for a destination. After a route is requested, the resulting state shows which source the controlled system reports as active.
The request and the reported state are different information. A request can fail, be blocked, or affect only some ports in a bundle. Treat the active source shown for each destination port as the routing state, and use the route result or report to investigate any mismatch.
Related ports presented as one source or destination bundle
Camera 1 containing video and audio ports
These concepts describe physical routing resources. A virtual route may later refer to higher-level objects, but it must ultimately resolve to routable endpoints such as these.