
Milkdrop-compatible visuals, powered by Butterchurn
The Winamp visualizer, grown up and wired into your rig.
Run classic Milkdrop presets on a second screen, driven by the same live audio that drives your lights. No VJ rig, no prepared tracks, no second machine.
The Video Window in DMXDesktop can render Milkdrop-compatible presets through Butterchurn, an open-source engine that reads the same preset format MilkDrop made famous. 100 presets are bundled, you can import your own .milk files, and the whole thing runs off the live audio DMXDesktop is already listening to. Included with Standard and Pro subscriptions; it is not available on the Free plan.
Lights and visuals from one machine
Most people running visuals alongside lighting run two programs on two laptops. DMXDesktop puts the visualizer inside the same application as the lighting desk, on the same audio, so the drop that moves the rig moves the screen too. Open the Video tab, switch on the Milkdrop-compatible engine, and launch the window onto whatever display you want.
Browse presets by eye, not by name
Milkdrop preset names are famously cryptic. The preview grid shows you what each one actually looks like before you commit to it, so picking a rotation takes a minute rather than an evening.

Pattern Rotation in the Video tab. Preset names keep their author prefix, which is how credit works in the MilkDrop scene.
Preview grid or plain list
Switch between a thumbnail grid and a compact list. Previews are generated in the background as you browse, and there is a Pause and Resume button next to the progress line. Queued presets are kept, so resuming carries on where it stopped.
Search and filter
Type to filter the library by name, or use the filter buttons for All, Built-in and Imported. Your choice is remembered between sessions.
Sort by name, colour or movement
Sort the grid by name, by the dominant colour of the preset, or by how much it moves. Useful when you want a whole set that sits in one palette, or a calm rotation for a walk-in.
Tick what rotates
Every preset has a checkbox, with Select all and Deselect all to speed up auditioning. Changes apply instantly to any open video window, so you can tune the rotation while it is running.
Preset playlists
A tick list is fine for one rotation. A playlist is what you want when the order matters, or when one set needs a different look from another.
Playlist from selection
Tick the presets you want in the grid and save them as a new named playlist in one step, instead of building the list by hand.
A proper manager
Create, rename and delete playlists, add presets from the same preview grid, and drag members to reorder them. You can also import an existing Milkdrop playlist file, a .txt or .m3u list of .milk presets.
Preset source picker
Choose All enabled, or any playlist by name with its preset count beside it. The active playlist also appears as a fourth filter button alongside All, Built-in and Imported, so showing only what that list contains is one click.
Nothing gets quietly dropped
A playlist member that is not in your current library is greyed rather than deleted. It is skipped when playing and kept in case you re-import it later.
Bring your own presets
Twenty-five years of MilkDrop presets exist in the wild. Import the ones you like with the Import .milk button.
MilkDrop v1 and v2
Import .milk and .milk2 files, several at a time. Imported presets sit alongside the bundled ones in the same grid.
An honest import report
Presets that use advanced pixel shaders or unsupported equation features may not import. You get a per-preset report telling you exactly which ones did not make it, rather than a silent gap in the library.
Yours stay yours
Imported presets are filed under their own Imported filter with a count, and each one can be deleted individually. Bundled presets have no delete button, so they cannot go by accident.
Cycle timing
How long each preset holds before the next one loads, and how the next one is chosen.
Cycle duration stops
A random variation of up to 20 percent is applied on top, so a rotation never feels metronomic.
Next preset or Random preset
Walk the enabled list in order, or jump around it. Sequential is predictable for a rehearsed set; random keeps a long night from repeating itself.
Switch on silence
Also switch preset when the music goes quiet, which in practice means at a track change. Set the cycle duration to Never and you get one new look per track and at no other time.
Live, not on relaunch
Every setting on this tab applies immediately to an open video window, and a LIVE badge on the panel confirms it. Nothing here needs the window closed and reopened.
Reactive Presets: change the look on the drop
A timer does not know where the drop is. Reactive Presets watches a frequency band and loads the next preset the moment that band spikes past a threshold you set, so a build resolves onto a new look instead of halfway through one.
Pick the band
Bass, Mid, Treble or Overall energy. Bass is the obvious one for dance music; Overall energy suits a live band, where the whole mix lifts at once.
Set the threshold
A percentage slider decides how big a spike has to be before it counts. Raise it for a dense mix, lower it for something sparse.
Rate limited on purpose
A minimum gap in seconds between reactive switches stops a busy track flicking through presets. Three seconds is the default.
It stacks with the timer
Reactive Presets works alongside Cycle Timing and switch-on-silence rather than replacing them. All three can move the rotation on, so you can have a slow timed drift that jumps early whenever the music earns it.
The window itself
Launch it once and it stays where you put it.
Launch Window
One button opens the video window. Drag it to a projector, a TV, an LED processor input or a capture card, and full-screen it.
It remembers
The display it was on, its position, whether it was set to stay on top, and which preset filter you were using are all remembered between sessions.
Keep window on top
On by default, because a display output should stay visible. Turn it off if you are on a single monitor and it is covering the desk.
Show label on change
Name the preset on screen as it loads. Useful while you are building a rotation, and worth switching off once the show starts.
Patterns off means black
One toggle turns patterns off and gives you a clean black screen without closing the window or losing your selection. Turn it back on and your exact rotation returns.
Also in the 3D Visualizer
Milkdrop presets can render on the screen source inside the 3D Visualizer, so a virtual LED wall in your previz shows what the real one will.
It hears what your lights hear
The visuals are driven by the same live audio DMXDesktop uses for beat and energy, so the screen and the rig respond to the same moment in the same music. If your DJ master goes to a dedicated interface rather than the default output, point the Device picker at it and the visualizer follows.
Credit where it is due
Milkdrop-compatible rendering is powered by Butterchurn by Jordan Berg, used under the MIT licence. The bundled presets are the work of the MilkDrop preset community and each keeps its author's name.
MilkDrop itself is Ryan Geiss's original visualizer for Winamp. DMXDesktop does not ship MilkDrop. It renders presets written in that format through Butterchurn, an independent open-source engine that reads them.
Preset authors represented in the bundled pack include:
- Aderrasi
- AdamFX
- Cope
- Eo.S.
- Flexi
- Geiss
- Goody
- Idiot
- Krash
- Loadus
- Martin
- mash0000
- Mig
- ORB
- Phat
- Rovastar
- TonyMilkdrop
- Unchained
- Zylot
- $$$ Royal
- _Geiss - Artifact 01
- Aderrasi - Potion of Spirits
- $$$ Royal - Mashup (197)
- Rovastar - Oozing Resistance
- Cope - The Neverending Explosion of Red Liquid Fire
Preset names are shown exactly as their authors wrote them, prefix and all. That prefix is the credit, so we do not tidy it away.
How to get it running
Open the Video tab
Console, then Video, then Patterns. The Video tab needs a Standard or Pro subscription.
Switch on the Milkdrop-compatible engine
One toggle swaps the built-in pattern set for Butterchurn and the full preset library.
Pick your presets
Use the preview grid to tick a rotation, or save a selection as a playlist. Set a cycle duration and, if you want it, Reactive Presets.
Launch the window
Drag it to your second display and full-screen it. Everything you change afterwards applies live.
Common questions
Is this MilkDrop?
Can I import my own .milk presets?
Do I need a second screen?
Which plans include it?
Does it need DJ software, or tracks analysed in advance?
Is this a replacement for full VJ software?
How long does each preset stay on screen?
The Video Window and the Milkdrop-compatible engine are part of both paid subscriptions.
They are not available on the Free plan.
Put the screen on the same beat as the rig
Download DMXDesktop and run lights and visuals from one machine.

