The Live Player
Drive your LEDs live with built-in animations or external stream inputs. The Player sends live DMX output through the configured Output routing.
The Live Player
The Player is Filament's live output engine. When you switch to the Player tab and hit play, Filament starts sending live DMX data to your LED hardware through the routing you configured in Output. Today, the visible Player workflow is centered on two source types: built-in animations and external streams.
[GRAPHIC: Screenshot of the Player tab during live playback — animation visualization showing colored LED positions lit up, playback controls at bottom, animation parameter sliders on the right. Should feel energetic and live]
This is the tab you'll live in during a performance or installation. Everything here is designed to be adjusted on the fly.
Transport controls
| Control | Shortcut | What it does |
|---|---|---|
| Play / Pause | Space | Start or stop sending live DMX output |
| Blackout | B | Instantly drops all LEDs to black (sends zero values). A red "Blackout" badge appears in the header. The player keeps running — hit B again to restore |
| Master output | - / + | Decrease / increase overall output brightness |
| Playback speed | [ / ] | Slow down / speed up built-in animations |
The current output cadence is shown in the preview as Output FPS. You set that value from the Output page.
Master effects
Master effects sit on top of every animation and shape the final look without you having to edit the source program. They're knobs you can ride during a show.
Master output
Global brightness multiplier. Drive it up for a peak, down for a verse. Independent of Blackout, which forces a hard zero.
Hue Rotate
Rotates the final output hue in HSV space. Useful for re-tinting an animation without switching it or changing the active palette.
Trails
Keeps each pixel at the brighter of its current value and a decayed copy of the previous frame. Higher values produce longer light trails — the runtime preserves trail decay state even when you swap programs, so a crossfade or hot-reload doesn't reset the look.
Playback speed
Time-scales generated animations. [ slows down, ] speeds up. Built-in shaders read this as a time multiplier, so the look stays the same — just paced differently.
Crossfade
When enabled, source changes (one animation to another, or a palette swap on some programs) fade rather than hard-cut. Off by default for snappy switches.
[GRAPHIC: Screenshot of the master-effect rack with the five knobs (Master Output, Hue Rotate, Trails, Playback Speed, Crossfade) labeled and one of them being adjusted mid-playback]
Source selection
The visible source selector in the current Player UI exposes two day-to-day modes:
- Animation — Filament generates visuals internally from the built-in catalog
- External Stream — Filament receives live video from an external source provider
Animation is the default creative workflow. External Stream is what you use when you want another program to drive the LEDs live.
Built-in animations
Filament ships with a catalog of programs organized into four groups in the program picker. Every program exposes its own live parameter set, and palette-aware programs share a common palette workflow.
- Color + Cycle — palette-driven cycles, gradients, and washes. The fastest way to fill a space with mood.
- Sweeps — moving bands and travelling waves, including linear and radial variants for arches and corridor rigs.
- Textures — generative noise fields, organic shapes, and procedural patterns. The largest category, ranging from soft pulses to denser looks like flow fields, metaballs, ribbons, and contour lines.
- Test Visuals — calibration patterns. Use these the first time you patch a rig.
Pick a program from the Program card and tune its parameter rack on the right. Depending on the program, controls include sweep width, noise frequency, shimmer, particle density, contour line count, scan angle, branch density, glow, and similar.
[GRAPHIC: Screenshot of the Program card with one program selected and its parameter rack visible on the right. Shows that picking and tuning live is one click + a few sliders]
Test visuals for first-time patching
The Test Visuals group exists for the first time you point Filament at real hardware. The patterns light single LEDs or color them by channel position so you can verify continuity and ordering before you commit to a creative program. Keyboard stepping is supported where it makes sense.
[GRAPHIC: Screenshot of the canvas during a test visual, with a single LED lit bright white and all others dark. Shows the step arrows at the bottom. Crucial setup workflow]
User animations
You can install community animations or write your own. Drop a .filament-animation file on the Filament window and it appears in the User group alongside the built-ins, ready to drive your LEDs. The format, runtime contract, and a copy-pasteable minimal example are covered on the Custom Animations page.
Color palettes
Palette-aware programs pull their colors from the currently active palette. Filament ships with twelve curated built-ins covering rainbow, warm, cool, sunset, forest, ocean, synthwave, monochrome, aurora, ember, candy, and noir vibes. You can also build your own palettes from scratch, duplicate a built-in to tweak the copy, or drop in a .filament-palette file someone shared.
The palette switcher lives inside the Program card. Click a chip to retint every palette-driven animation instantly — same program, different mood. Hover a user palette to reveal the pencil (open editor) or trash (delete) icons; built-ins are read-only but can be duplicated.
Full details, including the editor and shared-file workflow, live on the Palettes page.
External Stream workflow
If you want another application to drive the LEDs with live video, switch the Player to External Stream.
[GRAPHIC: Screenshot of the Player with External Stream selected, showing provider selection, source search, stream select, mapping controls, and a live frame in the preview]
The current provider workflow supports the platform-appropriate stream sources exposed by the app, including NDI, Syphon on macOS, and Spout on Windows.
Getting a source connected
- Start your video software and enable the output you want Filament to read
- In Filament's Player, switch to External Stream
- Choose the provider
- Click Refresh
- Filter sources by name or ID if needed
- Pick the source from Stream Select
Filament receives each video frame and samples the color at each LED's position on the canvas, then sends those colors as DMX values through the configured Art-Net or sACN outputs.
Source transform controls
- Mapping mode —
Fit,Fill, orStretch - Rotation —
0,90,180, or270 - Flip X / Flip Y — mirror the incoming frame horizontally or vertically
These controls are applied before Filament samples the frame for LED output, so they are the fastest way to correct mismatched orientation between your source app and your LED canvas.
Recovery actions
- Refresh rescans available sources for the chosen provider
- Reconnect retries the currently selected source without forcing a full rescan
Preview and diagnostics
The preview card gives you live operational feedback while the Player is running. At a glance, it shows:
- Playing / Paused state
- Current source type badge
- Output FPS and Preview FPS
- Preview p95 frame time and stutter percent
- Connection-state badge for external streams
- Blackout status when active
Inside the preview itself, Filament also exposes renderer badges so you can see whether the LED overlay and backdrop are running on GPU or a fallback path.
When External Stream is active, the diagnostics panel expands with deeper telemetry:
- connection state
- active source name / ID
- source FPS and resolution
- output FPS and dropped frames
- CPU, memory, and loop-lag metrics
- GPU/capture/readback timings
- ingest / backdrop transport mode
- fallback-path reporting
- reconnect counts and last-error timestamps
If Filament detects unhealthy conditions, the diagnostics panel surfaces warnings and gives you one-click recovery actions such as Reconnect or Refresh sources.
Player status indicators
The header bar always shows the current player state — visible from any tab in the app:
- Player Live (green) — playing, sending live output
- Player Blackout (red) — playing but output is zeroed
- Player Stopped (blue) — not running
Palettes
Switch palettes live, edit your own, and import shared .filament-palette files
Custom Animations
Install community animations or author your own with WGSL shaders
Settings & Export
Export to Resolume, configure paths, and manage app settings
Output & DMX
Review channel assignments, transport routing, and conflict detection