---
source: "https://docs.lumora.live/operating/automation-channel-lock"
url: /operating/automation-channel-lock.md
description: >-
  Per-graphic Automation and Channel lock settings in Lumora: time a graphic out
  automatically, chain the next graphic in the rundown, and pin a graphic to
  specific output channels.
---

# Automation & Channel lock

Two per-graphic settings change how a graphic behaves at take time: **Automation** for stepping through the rundown automatically, and **Channel lock** for picking which output channels a graphic fires on.

## Automation

Automation lets a graphic time itself out and, optionally, fire the next graphic in the rundown without operator input. It's useful for sequences where timing is fixed, like sponsor reels, intermission cards, or pre-show countdowns.

To configure automation for a graphic, select it in the rundown and open the **Automation** controls in the control panel footer.

### Duration

Set the duration the graphic should stay on air. The timer starts the moment the graphic is taken, and the rest of the automation behaviours run when it expires.

### Auto off

Enable **Auto off** to fire the graphic's off-animation when the timer ends. The graphic comes off air without the operator pressing anything.

### Auto next

Enable **Auto next** to take the next graphic in the rundown on as soon as the current one's timer ends. Combined with **Auto off**, this gives you a hands-off run-through of a sequence.

For shows where the next graphic shouldn't fire instantly when the previous one ends, add a **delay** to the **Auto next** trigger. The delay applies after the current graphic's timer expires and before the next one is taken, so you can build pauses into automated sequences.

## Channel lock

Every graphic carries a **channel lock**, the set of output channels it is allowed to fire on. The lock is the only thing that decides where a graphic goes when triggered. There is no "pick a channel at take time". Graphics are assigned upfront and fire on their assigned channels.

Open the channel picker one of two ways:

* **Action-bar button.** With the graphic selected, click the channel button next to the play button at the bottom of the preview pane. A drop-up checkbox list opens. Tick the channels the graphic should fire on. Each tick applies straight away, and there's no Done button: click outside the list to close it.
* **Rundown right-click.** Right-click the graphic in the rundown sidebar, then click **Channel ▸**. A flyout opens to the right with the same checkbox list; click **Channel ▸** again to close it. This is the route to use when bulk-applying a channel set across multiple selected graphics (Shift+click in the rundown to select several, then right-click any one of them).

When several graphics are selected at once, channels with **mixed** locks (some graphics have them, some don't) show as indeterminate (—). Each tick makes the ticked channels the explicit channel set for every selected graphic, so any channel still showing indeterminate is unset on the graphics that had it.

### Frame-rate mismatch

Some OGraf graphics declare the frame rate they were built for. Ticking a channel whose frame rate is outside that (for example a 50 fps graphic on a 60 fps channel) asks **"Graphic does not match channel frame rate, add anyway?"** before the channel is added. Click **Add anyway** and the graphic plays on that channel normally; motion may look slightly uneven if the graphic times itself to frames. Tick **Don't ask me again** to skip the question on this browser or Controller App. Unticking a channel never asks.

Frame rate never stops a take. Lumora renders graphics in a browser, and the real output frame rate is set by whatever captures the output (OBS, vMix, a capture card), so the channel's frame rate is a label for your setup rather than something Lumora enforces. Resolution is different: a graphic that doesn't support a channel's resolution is never taken there.

### What the lock does at take time

Once a graphic has at least one channel ticked, the action-bar **play button** lights up and the graphic can fire. Triggering it (via the play button, Numpad Enter, the API, or a Stream Deck button) fires the graphic on **every** ticked channel whose resolution the graphic supports. Channels at an unsupported resolution are skipped silently; the action-bar status banner tells you if there's a problem.

The rundown sidebar shows each graphic's current state with a single badge:

* **LIVE** (red): the graphic is live on at least one channel
* **OFF** (neutral): the graphic has channels assigned but isn't live
* **OFF** (greyed out): the graphic has no channels assigned and can't fire

Taking a graphic off air clears it from every channel it was live on. Graphics fire and fall as a unit; there is no per-channel take-off.

### Why graphics need a channel set

This model exists so that a single trigger source (a Stream Deck button, an automation step, a Companion macro) always sends a given graphic to the same outputs without the operator having to remember which channel was selected when the button was pressed. It is the right setting for graphics that always belong on a specific output regardless of context, such as a permanent on-screen scorebug that lives on a dedicated channel, or a backup feed that should never accidentally fire on the program output.

\*\[CG]: Character Generator. AKA graphics overlay engine.
\*\[OBS]: Open Broadcaster Software. Open-source streaming and recording tool.
\*\[SDK]: Software Development Kit.
\*\[API]: Application Programming Interface.
\*\[HTTP]: HyperText Transfer Protocol.
\*\[HTML]: HyperText Markup Language.
\*\[CSS]: Cascading Style Sheets.
\*\[JS]: JavaScript.
\*\[OGraf]: An EBU backed specification for HTML graphics.
\*\[EBU]: European Broadcasting Union.
\*\[NDI]: Network Device Interface. IP-based video transport protocol.
