08 - DMX Recording & Playback
Module: SuperDMX Sequencer / SuperStageEditor Recording
Target Users: Lighting programmers, virtual production technicians
Prerequisites: 01 - DMX Network Configuration
Last Updated: 2026-04-14
1. Overview
SuperStage supports recording external DMX input signals as UE Sequencer animations and later playing back these animations while re-outputting DMX signals to the network.
Core Capabilities
| Function | Description |
|---|---|
| DMX Recording | Record console-sent real-time DMX signals frame-by-frame to Sequencer tracks |
| DMX Playback | Play recorded DMX animations in Sequencer to drive virtual fixtures |
| DMX Output | Send DMX data via Art-Net / sACN to external real fixtures during playback |
Typical Workflow
Console live programming of light show
↓
Record DMX signals using Take Recorder
↓
View/edit recorded animation in Sequencer
↓
Play Sequencer → Virtual fixtures respond + Output to real fixtures
2. Recording DMX (Using Take Recorder)
SuperStage records DMX data through UE’s built-in Take Recorder system.
2.1 Preparation
- Ensure DMX input is enabled — See 01 - Network Configuration
- Confirm DMX signals received normally — Verify in Activity Monitor
- Open Take Recorder — Menu bar Window > Cinematics > Take Recorder
2.2 Adding DMX Recording Source
- In the Take Recorder panel, click the + Source button
- In the list that appears, find Super DMX Input
- Click to add
After adding, you’ll see a new recording source with configurable parameters:
| Parameter | Description | Default | Range |
|---|---|---|---|
| Universe Min | Minimum Universe number to record | 1 | 1 - any positive integer |
| Universe Max | Maximum Universe number to record | 16 | 1 - any positive integer |
Universe Range Notes:
- System records all Universes from Universe Min to Universe Max (inclusive)
- E.g., Min=1, Max=4 records Universes 1, 2, 3, 4
- If Min > Max, system auto-swaps (e.g., Min=4, Max=1 is equivalent to Min=1, Max=4)
- Only Universes with actual data produce recording content
Suggestion: Only record the Universe range you need to avoid generating oversized recording files. If your fixtures only use Universes 1-3, set Min=1, Max=3.
2.3 Starting Recording
- Prepare your light show on the console
- Click the Record button in Take Recorder
- Execute the light show on the console (push faders, switch cues, etc.)
- After recording is complete, click the Stop button
2.4 What Happens During Recording
During recording, the system performs the following operations:
- Per-frame sampling — Follows engine Tick frequency (typically 30-120 fps), no throttling
- Read all channels — For each Universe in the specified range, reads all 512 channel data from the SuperDMX subsystem
- Write keyframes — Adds each channel’s value as a keyframe to Sequencer curves
- Constant interpolation — Keyframes use constant interpolation mode (RCIM_Constant) to ensure DMX values are precise (no smooth interpolation)
- Auto extend — Section time range automatically extends to the current recording frame
2.5 Recording Protection Mechanism
During recording, the system sets the bIsRecording = true flag to prevent Sequencer playback from sending DMX data. This avoids the “echo” problem — where recorded data is sent out again, causing a signal loop.
3. Recording Results
After recording is complete, Take Recorder generates a Level Sequence asset containing DMX tracks.
3.1 Track Structure
Level Sequence
└── SuperDMX Track (one independent track per Universe)
├── Universes_1 ← Universe 1 track
│ └── Section (contains curve data for 512 channels)
├── Universes_2 ← Universe 2 track
│ └── Section
└── Universes_3 ← Universe 3 track
└── Section
3.2 Track Naming
Each Universe track is automatically named Universes_{Number}, for example:
Universes_1Universes_2Universes_3
3.3 Data Format
Each Section contains:
| Data | Description |
|---|---|
| Universe | The Universe number corresponding to this section |
| Channel Curves | 512 FRichCurves, each curve storing one channel’s keyframe data |
Each curve’s keyframes:
- Timeline: Based on MovieScene’s TickResolution
- Value: 0-255 (uint8 DMX raw value)
- Interpolation: Constant mode (snap, no smoothing)
4. DMX Playback (Sequencer Playback)
4.1 Basic Playback
- Double-click to open the recorded Level Sequence
- Click the Play button in the Sequencer editor
- Sequencer evaluates DMX curve data frame by frame
- Evaluation results are automatically sent to the SuperDMX subsystem
- Scene virtual fixtures respond in real-time
4.2 Playback Data Flow
Sequencer Playback
↓
DMX Template Evaluation (per frame)
↓
Read channel values at current time (from RichCurve curves)
↓
Build 512-byte DMX buffer
↓
Call SendDMXBuffer to send
↓
Virtual fixtures respond + Art-Net / sACN output to network
4.3 Buffer Merge Strategy
DMX buffer during playback uses a merge strategy (not overwrite):
- First read the current state of that Universe as the baseline (“seed”)
- Only overwrite channels defined in Sequencer curves
- Preserve channel values from other sources (e.g., external console input)
This means: You can record/edit only some channels in Sequencer, while other channels remain real-time controllable via the external console.
4.4 Outputting to External Devices
If output is enabled in the DMX configuration panel, playback DMX data is simultaneously sent via Art-Net / sACN to the network to drive real fixtures.
Ensure:
- Output is enabled in the DMX configuration panel
- Output local IP and remote IP settings are correct
- Real fixture Universe and addresses match those during recording
5. Editing DMX Data in Sequencer
Recorded DMX data is stored as standard UE Sequencer curves and can be edited using the Sequencer editor.
5.1 Available Operations
| Operation | Description |
|---|---|
| Move Keyframes | Adjust a specific channel’s value at a certain time point |
| Delete Keyframes | Remove unnecessary data points |
| Copy/Paste | Copy data from one time period to another |
| Modify Time Range | Trim or extend Section playback range |
| Modify Universe | Change target Universe in Section properties |
5.2 Manually Creating DMX Tracks
You can also manually create DMX tracks in Sequencer without recording:
- Click the + Track button in Sequencer
- Select SuperDMX Track
- System creates an empty DMX track
- Use Add New Section to add a section for a specified Universe
- Manually add keyframes to channel curves
6. Recording Parameter Details
6.1 Take Recorder Recording Source Parameters
| Parameter | Description | Default |
|---|---|---|
| Universe Min | Minimum Universe to record | 1 |
| Universe Max | Maximum Universe to record | 16 |
| Track Tint | Track color marker in Sequencer | Orange (255, 160, 0) |
6.2 Recording Precision
| Feature | Value |
|---|---|
| Sampling Frequency | Follows engine Tick (typically 30-120 fps) |
| Channel Precision | 8-bit (0-255) |
| Channel Count | Up to 512 channels per Universe |
| Interpolation Mode | Constant (RCIM_Constant) |
| Time Precision | Follows MovieScene’s TickResolution |
6.3 Recording File Size Estimation
Recording file size depends on Universe count, recording duration, and frame rate:
Approximate Size = Universe Count × 512 Channels × Per-Frame Keyframe Size × FPS × Recording Seconds
Reference Values (rough estimates only):
| Universe Count | Recording Duration | FPS | Estimated Size |
|---|---|---|---|
| 1 | 1 minute | 30 fps | ~10 MB |
| 4 | 5 minutes | 30 fps | ~200 MB |
| 16 | 10 minutes | 60 fps | ~3 GB |
Suggestion: Only record the actual needed Universe range to avoid wasting space on idle Universes.
7. Advanced Use Cases
7.1 Mixing Recording + Real-Time Control
You can mix Sequencer recording playback with console real-time control:
- Sequencer plays back Universes 1-4 (pre-recorded light show)
- Console controls Universes 5-8 in real-time (live follow spot, etc.)
- Both don’t interfere with each other
7.2 Multi-Recording Overlay
- First recording: Universes 1-2 (moving lights)
- Second recording: Universes 3-4 (LED panels)
- Tracks from both recordings appear in the same Level Sequence
- During playback, all Universes are driven simultaneously
7.3 Offline Editing After Recording
After recording is complete, you can disconnect the console and edit DMX curve data offline in Sequencer. Reconnect fixtures for playback output after editing.
8. FAQ
Q: After recording, playback doesn’t move fixtures?
- Confirm the DMX track in Sequencer has data (expand track to view keyframes)
- Check if fixture Universe and address match those during recording
- Confirm not in recording state (bIsRecording should be false)
Q: Recorded data doesn’t match the console?
- Check Start Universe setting in the DMX configuration panel
- Use the Activity Monitor to confirm received raw data is correct
- Confirm recorded Universe range covers target fixtures
Q: Recording file too large?
- Reduce recorded Universe range (only record Universes with actual data)
- After recording, delete keyframes for empty channels
- Shorten recording duration
Q: Stuttering during playback?
- Many Universes + high frame rate recording may cause performance issues
- Try lowering Sequencer playback frame rate
- Reduce number of simultaneously playing Universes
Q: Does playback affect the console’s real-time control?
Sequencer playback uses a merge strategy: only overwrites channels with data in curves, leaving other channels unchanged. If you need complete isolation, use different Universes.
Q: Can Sequencer DMX data be exported?
The current version doesn’t support directly exporting Sequencer DMX data as files. However, you can output data in real-time via Art-Net / sACN to external recording devices by enabling output during playback.
Next Steps: Read 09 - MA Console Export to learn how to export fixture configurations to MA consoles.