Appearance
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
- Open the File Browser → Live Feeds tab.
- Drag the Text entry onto a track in the Timeline, into a Playlist, or onto a zone in the Show view.
- 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
| Section | Property | Description |
|---|---|---|
| Text | Text (multiline) | The displayed text. Line breaks are rendered; long lines word-wrap inside the canvas. |
| Mode | Static (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 format | Clock mode: strftime-style format, default %H:%M:%S (e.g. %H:%M, %d.%m.%Y %H:%M). | |
| Target time | Countdown mode: HH:MM, HH:MM:SS (next occurrence) or YYYY-MM-DD HH:MM:SS. | |
| At zero | Countdown mode: text shown once the target is reached (default 00:00). | |
| Text file | Bind 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-read | File binding: how often the file is checked for changes (0.5 s – 1 h, default 2 s). | |
| File | Read-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). | |
| Font | Font 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. | |
| Size | Font size in pixels (8–512). | |
| Color | Text color. | |
| Align | Horizontal alignment: left / center / right. | |
| V-Align | Vertical alignment: top / center / bottom. | |
| Padding | Inner margin (pixels) between the canvas edge and the text. | |
| Canvas | The render canvas size in pixels (default 1920 × 1080). The clip reports this as its video size, so the normal mapping/scaling controls apply. | |
| Text Outline | On/off + Color + Width | Outline around the glyphs (1–10 px) — the standard legibility tool for text over video. |
| Text Shadow | On/off + Color + Offset | Hard drop shadow at an X,Y pixel offset. |
| Text Background | On/off + Color | Optional 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
/datafor 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.ttffiles.
