{% extends "base.html" %} {% load static static_v %} {% block title %}ATEM Control Panel{% endblock %} {% block extra_css %} {% endblock %} {% block content %} {% comment %} The switcher went quiet mid-session (#38): the page keeps its last state under this scrim and notice, inert, until the server says the switcher is back. The scrim covers the page's own scroller (the
this page sits in), not the window: whatever the host puts above it, its navigation, stays usable, so the operator can just go to another page. The box is measured, not assumed, since hosts differ in what sits above
; with no
it is the window. The notice is centred in it. Both sit outside the wrapper, which goes inert, and above every overlay of this page; the scrim dims the page without filtering it. :style is an object, never a string: a string would rewrite the style attribute and undo x-show. {% endcomment %}
{% comment %} Solid raised surface, strong border: a notice, not a state. No alert colour: --in is the link coral, which reads as PROGRAM here. {% endcomment %}
The switcher isn't responding. Reconnecting…
Controls are paused until it's back.
{% comment %} Its own row on a phone, where it ran off the banner. {% endcomment %}

Loading ATEM Control

Initializing connection and loading controls...

{% include 'control/_header.html' %}
{% comment %} flex-wrap: each M/E button is min-w-20, so a 4-M/E switcher ran the row off a phone screen and M/E 4 could not be reached at all. It wraps to a second line instead. {% endcomment %}
M/E

Program

{% comment %} Tracks are a fixed --atem-btn, never minmax(0,…): collapsing columns overlapped every label on a switcher with many inputs. The ASC row needs a control surface's width, which a phone has not got, so below sm .atem-bus-row wraps into as many lines as it needs, and .atem-bus-big wraps a BANKED switcher below lg too (a 4 M/E does not fit a tablet either). Rules in atem_control.css; the column template travels as --bus-tpl so a stylesheet can replace it. Desktop keeps this two-row shape exactly. {% endcomment %}

Preview

{% comment %} Tracks are a fixed --atem-btn, never minmax(0,…): collapsing columns overlapped every label on a switcher with many inputs. The ASC row needs a control surface's width, which a phone has not got, so below sm .atem-bus-row wraps into as many lines as it needs, and .atem-bus-big wraps a BANKED switcher below lg too (a 4 M/E does not fit a tablet either). Rules in atem_control.css; the column template travels as --bus-tpl so a stylesheet can replace it. Desktop keeps this two-row shape exactly. {% endcomment %}
{% include 'control/_transition_controls.html' %}

T-Bar

Position: 0%

Keys

USKs

{% include 'control/_transition_style.html' %} {% include 'control/_macros.html' %} {% include 'control/_fade_to_black.html' %}
{% include 'control/_hyperdeck_panel.html' %} {% include 'control/_media_pool.html' %}

Change video mode?

Current
New
Changing the video mode will:
  • Resync the switcher and drop outputs for ~3 seconds.
  • Clear the entire media pool — all uploaded stills will be deleted.
{% include 'control/_profile_modal.html' %} {% include 'control/_fairlight.html' %}

Settings

{% include 'control/_atem_info.html' %}
Hex Color
{% include 'control/_settings_usk.html' %} {% include 'control/_settings_transition.html' %} {% include 'control/_settings_dsk.html' %}

Rename sources to your preferred names. Labels appear in every dropdown. Tab between fields; changes save when you leave the field.

Src Long name Short
{{ atem_equipment|json_script:"atem-equipment-data" }} {{ hyperdeck_names|json_script:"hyperdeck-names-data" }} {% comment %} A hosting platform adds its own panels and scripts here (a template that extends control.html and fills control_extra), leaving this file alone. {% endcomment %} {% block control_extra %}{% endblock %} {% endblock %}