Skip to content

Text Layers ​

Exaplay 3 can render live text as a media source — a text clip you drop onto a layer like any video or image, whose content can be changed at any moment: from the Inspector, from the Show view, from cue scripts, or from an external show control system over TCP, UDP, OSC or REST. The text is rendered by the engine itself (no browser involved), so updates appear on the output within a frame.

Typical uses: name lower-thirds, "now boarding" style announcements, room signage, scoreboards, countdown captions driven by an external controller.

Adding a Text Clip ​

  1. Open the File Browser → Live Feeds tab.
  2. Drag the Text entry onto a track in the Timeline, into a Playlist, or onto a zone in the Show view.
  3. Select the clip and edit its content and styling in the Inspector.

A text clip behaves like a still image: it has a configurable duration (the still-image default from System configuration) and participates in fades, mapping, opacity and keyframes exactly like any other clip.

Inspector Properties ​

SectionPropertyDescription
TextText (multiline)The displayed text. Line breaks are rendered; long lines word-wrap inside the canvas.
ModeStatic (the text as typed), Clock (current time), or Countdown (time remaining to a target). In the dynamic modes, a {time} placeholder in the text is replaced by the clock/countdown string — text without the placeholder shows the time alone.
Clock formatClock mode: strftime-style format, default %H:%M:%S (e.g. %H:%M, %d.%m.%Y %H:%M).
Target timeCountdown mode: HH:MM, HH:MM:SS (next occurrence) or YYYY-MM-DD HH:MM:SS.
At zeroCountdown mode: text shown once the target is reached (default 00:00).
Text fileBind the clip to a .txt file: its content replaces the typed text and is re-read on the interval below while the clip is active, so any process writing that file drives the output. Three ways to bind: drag a .txt from the File Browser (text files are listed next to your media), click the folder button to browse the files on the Exaplay machine, or click the upload button to send a .txt from the computer you are sitting at. Remove the binding (✕) to type text again.
Re-readFile binding: how often the file is checked for changes (0.5 s – 1 h, default 2 s).
FileRead-only: what the binding is doing — lines.txt · 3 lines once the file is read, or cannot read lines.txt when it is missing or unreadable (the last content read stays on the output).
FontFont face. Default is the engine's built-in font; the list also offers every installed TrueType font (grouped by family, so Bold/Italic variants sit under one header) plus any .ttf in the Exaplay program folder or its fonts subfolder.
SizeFont size in pixels (8–512).
ColorText color.
AlignHorizontal alignment: left / center / right.
V-AlignVertical alignment: top / center / bottom.
PaddingInner margin (pixels) between the canvas edge and the text.
CanvasThe render canvas size in pixels (default 1920 × 1080). The clip reports this as its video size, so the normal mapping/scaling controls apply.
Text OutlineOn/off + Color + WidthOutline around the glyphs (1–10 px) — the standard legibility tool for text over video.
Text ShadowOn/off + Color + OffsetHard drop shadow at an X,Y pixel offset.
Text BackgroundOn/off + ColorOptional opaque background fill. Off = transparent background, so the text composites over the layers below.

Changing Text in Real Time ​

Every text property is an ordinary clip property, so all the existing real-time control paths work:

  • Inspector — edits apply live (multi-tab safe).
  • Show view — selecting a zone that contains a text clip shows a Text box in the zone panel; type and confirm to update the output.
  • Cue scripts / TCP / UDP — use the generic dotted setter on the clip's tree path:
comp_main.media3.set:text.content=Now boarding: Flight 714
comp_main.media3.set:text.color=#ffcc00
comp_main.media3.set:text.font-size=120
  • REST — POST the values to /data for the clip's object ({"type":"exaObj","uid":<uid>,"values":{"text.content":"..."}}).

See the TCP Command API for the dotted command syntax.

Fonts & Portability ​

All text properties — including the font choice — are saved in the project file like any other clip property. The font is stored by file name (not full path) and resolved on load against the Exaplay program folder, its fonts subfolder, a fonts folder next to the project file, and the Windows font library. If the font file cannot be found, the clip falls back to the built-in font instead of rendering nothing.

Project Export bundles the fonts a show uses: every font referenced by a text clip is copied into a fonts/ folder inside the export archive, next to the .vpp. Extract the archive and the show renders with the correct fonts on a machine that has none of them installed. Bound text files are bundled the same way (into media/) and re-linked automatically.

Note: The renderer covers the Latin-1 character range (umlauts, accents, ß, ñ, ø…); characters outside it — €, typographic dashes, emoji — render as ?. Text files may be UTF-8 (with or without BOM), UTF-16 with BOM (Notepad "Unicode") or plain Latin-1, with Windows or Unix line endings. Font collections (.ttc) are not offered — only individual .ttf files.

Exaplay 3 User Documentation