Bitfocus AS
logo
logo
Bitfocus AS
logo
logo
Sign upSign in

Loading...

Bitfocus

Subscribe to our newsletter

The latest news, articles, and resources, sent to your inbox.

FacebookInstagramGitHubYouTubeLinkedIn

Products

  • Buttons
  • Companion

Integrations

  • Supported Devices
  • Developer Community
  • Connection Development

Support

  • Support Overview
  • Documentation
  • Video Tutorials
  • Community Forum

Sales

  • Resellers & Integrators
  • Buttons Pricing

Updates

  • Case Studies
  • Events & Trade Shows
  • Press Releases
  • Product Updates
  • Webinars

Legal

  • Legal Overview
  • Privacy Policy
  • Buttons EULA
  • Terms & Cookie Policy

Company

  • About us
  • Press kit
  • Careers

© 2026 Bitfocus AS. All rights reserved.

Configure Nested Shapes
Docs for
Overview
Getting started
What is Bitfocus Buttons?
Install Buttons and get started
Manage your Buttons license
Activate Buttons offline
Find your way around Buttons
Create your first backup
Add an ATEM connection
Choose a control method
Choose an installation path
Install Buttons on Debian or Ubuntu
Understand HA clustering
Kubernetes HA
Update or remove Buttons
Positions
Understand positions
Create a position
Add controls and sections to a position
Create your first button
Use a connection's presets
Build more capable button actions
Add more feedback to a button
Organize controls in a section
Shift Section
Organize controls with a Folder Section
Add a Popover Section
Build and reuse a Shared Section
Build a Router Section
Understand Custom Routers
Custom Router panel
Surfaces
Surface compatibility
Add and attach a surface
Device orientation
Connections
Update a connection's module safely
Monitor and troubleshoot a connection
Router integrations
VideoHub and AJA KUMO
Utah Scientific BPS
Generic SW-P-08
Nevion VideoIPath
Arkona BLADE//runner
Routing
Physical routing
Configure ports and labels
Take a physical route
Understand route status
Topology graph
Routing Presets
Get started with virtual routing
Configure Nested Shapes
Reverse routing
Tielines
Routing Projects
Routing settings
Troubleshoot a route
Tally
Understand the Tally system
Send ATEM tally and labels to a UMD
Interpret Active Tally state
TSL/UMD connections
Diagnose tally problems
NMOS
Understand NMOS in Buttons
Connect Buttons to an NMOS Registry
Built-in Registry Server
Configure NMOS connections
Discover and adopt
Browse the NMOS inventory
Manage NMOS multicast addresses
Diagnose NMOS problems
Understand Cuelists
Build a Cuelist
Read and advance a running Cuelist
Control a Cuelist from a Position
Workflows
Understand workflows
Build your first workflow
Reuse a group of workflow nodes safely
Troubleshoot a workflow
Recipes
Sequence a timed automation
Call an HTTP endpoint from a workflow
REST endpoint
Use variables
Understand variable scope
Understand nested variables
Update expressions for v1.8
Plan and use Tags
Access
Create and manage users
Create roles and assign permissions
Grant access to specific resources
Show different controls by role
Sessions
Set up PIN and NFC sign-in
SSO
Get started with SSO
Connect a generic OIDC provider
Connect LDAP or Active Directory
Map identity claims to roles
Secure a Buttons deployment
Integrations
External control
Connect to Bitfocus Listener
USB Relay
Install USB Relay on Windows
Install USB Relay on macOS
Install USB Relay on Linux
Install USB Relay on a Raspberry Pi
Get started with the Control API
Secure and monitor the Control API
Control API reference
API reference
Administration
Enable and manage installable features
Services and health
Configure and monitor scheduled backups
Restore a backup and verify it
Export or import Buttons configuration
Store and rotate connection secrets
Replace the HTTPS certificate
HA backup and recovery
Settings
Collect support information
Reference
Glossary
Button Inspector reference
Network ports reference
Expressions
Internal actions reference
Routing Presets panel reference
Startup configuration reference
Workflow nodes
Connection workflow nodes
Workflow workflow nodes
Internal workflow nodes
Position workflow nodes
API workflow nodes
Utility workflow nodes

Loading...

Previous
← Get started with virtual routing
Next
Reverse routing →
Contact support →
You are viewing documentation for Buttons 1.8.See the docs for Buttons 1.6
Buttons/Routing/Configure Nested Shapes

Configure Nested Shapes

Flat Shapes are useful for individual devices and signal groups. Nested Shapes make it possible to route larger operational units, such as an entire room, venue, or remote production, to a facility or production control room (PCR) as one logical selection.
For example, technical staff can model:
  • A studio room containing program video, clean video, audio, and data structures.
  • A remote production containing several contribution feeds.
  • A facility containing compatible ingest or processing structures.
  • A PCR containing repeated feed inputs.
An operator can then select Remote Production 1 → PCR 2 instead of routing every feed and signal separately. Buttons expands that selection through the Nested Shapes and Matching Presets to create the required physical route requests.
Nested Shapes let one Shape include another Shape as a slot. Because Shapes are blueprints for Virtual Bundles, a bundle created from this blueprint presents the included structure much like a bundle within a bundle. The existing Virtual Bundle itself is not included. Nested Shapes contribute their routing slots and aggregate handles to the new bundle.
This provides a practical fan-in and fan-out model:
  • Fan-in: a facility or PCR can collect several repeated room or Feed structures under one logical destination bundle.
  • Fan-out: the same room, Feed, or remote-production structure can be routed to compatible inputs across several facilities or PCR bundles.
Fan-in and fan-out describe how the logical routing structure is organized and reused. They do not imply signal duplication by themselves; the physical routing system must still support every resolved route.
This guide starts with one Feed and one PCR input so the expansion is easy to follow. The same model can then be repeated to represent a complete room or remote production. Keep reverse routing disabled throughout this guide.

Before you begin#

Complete the flat-Shape virtual-routing example first. This example assumes that you already have:
  • A flat source Shape created from a physical source bundle.
  • A flat destination Shape created from a physical destination bundle.
  • A forward-only Matching Preset between those Shapes.
  • The physical source and destination bundles used in that example.
This guide reuses the flat Shapes as Nested Shapes and maps the new Virtual Bundles to the relevant physical ports. The previously created Virtual Bundles remain independent resources.

Plan the Feed and PCR Shapes#

The Feed-to-PCR example is the smallest useful form of a larger room-to-facility or remote-production-to-PCR route. Once the model is familiar, the same Nested Shape can be repeated for every feed that belongs to the larger source and destination.
Assume the flat source Shape is named Source and contains:
  • Video
  • Audio 1
  • Audio 2
Assume the flat destination Shape is named Destination and contains compatible slots.
You will use Nested Shapes to build:
Feed
└── Source
    ├── Video
    ├── Audio 1
    └── Audio 2

PCR
└── Feed 1
    ├── Video
    ├── Audio 1
    └── Audio 2
Source and Feed 1 use Nested Shapes. The video and audio entries remain their leaf slots.

Create the Feed Shape#

  1. Open Routing → Virtual → Shapes.
  2. Select + Shape.
  3. Set Label to Feed.
  4. Set Main Direction to Source.
  5. Leave Reverse Slots off.
  6. Select + under Slots.
  7. Select the existing flat Source Shape to add it as a Nested Shape.
  8. Rename its slot if its role in the Feed needs a clearer label.
  9. Leave both side-visibility settings at Any context during the initial setup.
  10. Save the Shape.
The new slot has the data type Virtual Shape and references the Source Shape. Its effective direction comes from the Nested Shape.
Buttons uses the referenced structure to expose the Nested Shape's aggregate and leaf handles in the Feed bundle.

Create a Feed Virtual Bundle#

  1. Open Routing → Virtual → Bundles.
  2. Select + Bundle.
  3. Set Label to Feed 1.
  4. Select the Feed Shape.
  5. Select Create.
  6. Open Feed 1.
  7. Expand the Nested Shape row.
The bundle detail shows:
  • An aggregate for the complete Nested Shape.
  • The video and audio leaf slots beneath it.
The aggregate is a logical handle for the applicable slots. It is not an additional physical port or another Virtual Bundle.

Map Feed 1 to the current physical source bundle#

Map the expanded leaf slots directly to the physical ports used by the current source bundle:
  1. Expand the Nested Shape row in Feed 1.
  2. On its incoming Video leaf, open the route selector.
  3. Choose Physical Ports and select the current physical source bundle's video port.
  4. Repeat this for each outgoing audio leaf.
  5. Review the staged routes.
  6. Select Execute Routes.
  7. Inspect the routing report.
This operation records mappings from the physical source ports to the leaf handles provided by the Nested Shape. Those mappings form the source edge of later end-to-end routes. You are not attaching the earlier Virtual Bundle to Feed 1.
If the source hardware changes later, update these physical mappings. The logical Feed 1 bundle and anything that routes it can remain unchanged.

Create the PCR Shape#

  1. Open Routing → Virtual → Shapes.
  2. Select + Shape.
  3. Set Label to PCR.
  4. Set Main Direction to Destination.
  5. Leave Reverse Slots off.
  6. Under Slots, select the existing flat Destination Shape to add it as a Nested Shape.
  7. Rename its slot to Feed 1.
  8. Save the Shape.
To model several inputs, add the same Destination Shape several times and label the slots Feed 1, Feed 2, and so on. Each slot uses the same reusable Nested Shape.

Create a PCR Virtual Bundle#

  1. Open Routing → Virtual → Bundles.
  2. Select + Bundle.
  3. Set Label to PCR 1.
  4. Select the PCR Shape.
  5. Select Create.
  6. Open PCR 1 and expand Feed 1.
The bundle exposes an aggregate for the Nested Shape used by Feed 1, with its destination leaf slots underneath.

Map PCR 1 to the current physical destination bundle#

  1. Expand Feed 1 in the PCR 1 bundle.
  2. On its outgoing Video leaf, open the route selector.
  3. Choose Physical Ports and select the current physical destination bundle's video port.
  4. Repeat this for each incoming audio leaf.
  5. Review and execute the staged routes.
  6. Confirm that the expanded leaves show the expected physical mappings.
These mappings form the destination edge of later end-to-end routes. The PCR routing model is now abstracted from the physical destination. Replacing that hardware requires updating these leaf mappings rather than redesigning the PCR Shape, operator panels, or saved routes that use PCR 1.

Create a Matching Preset for Nested Shapes#

Virtual-to-virtual routing between these Shapes uses:
  • A Matching Preset between Feed and PCR.
  • The existing forward-only Matching Preset between the Source and Destination Shapes used as Nested Shapes.
  1. Open Routing → Virtual → Presets.
  2. Create a new Matching Preset.
  3. Set Name to Feed to PCR.
  4. Set Source Shape to Feed.
  5. Set Destination Shape to PCR.
  6. Leave Reverse Routing off.
  7. Select Create.
  8. In Rules, connect the Feed's Source slot to the PCR's Feed 1 slot.
  9. Select the existing forward-only Source-to-Destination Matching Preset for that rule.
  10. Preview the expanded mapping.
  11. Save Feed to PCR.
The referenced Matching Preset describes how the video and audio leaves match. Feed to PCR can therefore connect the two Nested Shapes without repeating every leaf rule.

Route Feed 1 to PCR 1#

  1. Open Routing → Execute.
  2. Select Feed 1 as the virtual source.
  3. Select PCR 1 as the virtual destination.
  4. Select Feed to PCR in the staged bundle row.
  5. Open Preview preset mapping.
  6. Confirm the rule between the Nested Shapes and its referenced Matching Preset.
  7. Inspect the expanded mappings and resulting physical destination changes.
  8. Select Take.
  9. Review the routing report and route state.
The Matching Preset expands the logical route through:
  1. The Feed and PCR Shapes.
  2. Their Nested Shapes.
  3. The referenced Matching Preset.
  4. The video and audio leaf slots.
  5. The physical ports mapped to those leaves.
Buttons follows each completed path from its physical source to its physical destination and creates the physical route request needed for that destination.

Scale the model to rooms and remote productions#

After becoming familiar with the Feed-to-PCR route, repeat the same structure to represent a larger source:
  1. Create a Shape such as Remote Production or Studio Room.
  2. Add the Feed Shape several times as Nested Shapes, using labels such as Program, Clean, and ISO 1 where appropriate.
  3. Create a compatible Facility or expanded PCR Shape with the required destination Feed structures.
  4. Create a Matching Preset between the larger Shapes.
  5. Add one rule for each corresponding pair of Nested Shapes, referencing the Feed Matching Preset in each rule.
  6. Create Virtual Bundles such as Remote Production 1 and PCR 2.
  7. Map their leaf slots to the physical source and destination ports at each edge.
Operators can now route the complete remote production or room with one virtual-to-virtual selection. They can still use a Nested Shape aggregate when only one Feed structure should be routed.
This separation is especially useful when rooms, remote units, or PCR assignments change regularly. Operator controls can continue to use stable logical bundles while technical staff update the physical edge mappings behind them.

When to use Nested Shapes#

Use Nested Shapes when:
  • The routing model needs clear fan-in or fan-out.
  • The same multi-signal structure occurs in several Shapes.
  • Operators need an aggregate for the complete reused structure.
  • A referenced Matching Preset can express repeated leaf matching once.
  • The logical routing structure should remain stable while the mapped physical hardware changes.
Keep a Shape flat when its signals do not form a reusable structure. Additional Nested Shapes add route-expansion and matching behavior that technical staff need to understand before production deployment.

Was this helpful?

Was this helpful?

0 of 0 users found this page helpful