Skip to content
forked from fwcd/captivate
 
 

Repository files navigation

Captivate 2

Captivate 2

Build (Main) CI status (Main) Latest release

Visual & lighting synth — live DMX, visuals, and laser control synchronized to music.

Website: https://nicholastracy.github.io/captivate-2/

Captivate 2 builds on the original Captivate by Spencer (@spencbot) and contributions from @fwcd’s fork. This project continues development with new features and UI improvements after the original line was discontinued.

Highlights

  • DMX lighting — fixture library, community online fixtures (QLC+, Open Fixture Library, Captivate library), import/export, multi-universe USB and Art-Net, spatial fixture layout
  • Synth-style control — LFOs, modulation, pads, randomizers, MIDI and keyboard mapping
  • Visuals — built-in visualizers and effects, synced to the active light scene
  • Multi-window UI — detached pages for mixer, laser, 3D lighting preview, and more
  • Ableton Link — BPM and phase sync with supported apps
  • LAN remote — optional browser UI for scenes, modulation, and mixer (docs)

Configure fixtures once; scenes stay portable when you add gear or change venues.

In the app

Light scenes and modulation
Light scenes, splits, and modulation

DMX mixer
DMX mixer for live channel control

Visualizer
Audio-reactive visuals synced to your lighting

More walkthroughs: Wiki.

Documentation

Wiki — setup and how-to guides: DMX, connections, light scenes & splits, modulation, MIDI mapping, mixer, remote control, and troubleshooting.

Project files and autosave — .cap / .cfx file pairing, selective loads, autosave behavior, and recovery pitfalls.

Audio input and music energy — audio setup, beat detection, Advanced Music Energy controls, and how live energy drives scenes and visuals.

Community fixture library — browse and share Captivate fixture definitions (no git required to contribute).

DMX output and movers — universe composition, USB / Art-Net routing, and mover fine-channel pathing.

Atmospherics — fog / FX arming, pyro gate, emergency stop, and trigger timing.

MIDI and keyboard mapping — MIDI learn, slider/encoder modes, keyboard chords, and MIDI clock vs mapped BPM.

Scene generation — Extras → Generate Scenes…, rig profiling, and what is replaced vs preserved.

Download

Installers for Windows, macOS, and Linux are on the Releases page.

macOS install help

Captivate 2 is not Apple-notarized (no paid Developer Program). macOS may warn the first time you open the app — that is expected.

Download the correct file for your Mac (full guide):

Mac type Release file
Apple Silicon (M1, M2, M3, M4…) Captivate.2-<version>-arm64.dmg
Intel Captivate.2-<version>-x64.dmg

Check About This Mac → Chip (Apple M…) vs Processor (Intel).

First launch:

  1. Open the DMG and drag Captivate 2 to Applications.
  2. In Applications, right-click Captivate 2.app → Open (not double-click the first time).
  3. Click Open in the security dialog.
  4. If still blocked: System Settings → Privacy & Security → Open Anyway.

If the app quits immediately on launch, reinstall using the arm64 DMG on Apple Silicon (see macOS install guide).

Video

Introduction on YouTube

Community

Developers

Captivate 2 is an Electron app. Native addons (MIDI, USB DMX, projectM bridge, and other node-gyp modules) must be built with standalone Node.js matching the repo’s engine — not an editor-bundled runtime.

Requirements

Requirement Notes
Node.js >= 25.9.0 (see .node-version and package.json engines)
npm >= 11.11.0
Python 3.11 recommended for node-gyp
Git LFS Run git lfs pull after clone
Git submodules git submodule update --init --recursive

npm run check:build-env verifies Node/npm before packaging.

macOS: Xcode Command Line Tools
Windows: Visual Studio 2022 with “Desktop development with C++”
Linux: see the Install Linux dependencies step in .github/workflows/build.yml

Clone and run

git clone https://github.com/NicholasTracy/captivate-2.git
cd captivate-2
git submodule update --init --recursive
git lfs pull
npm install
npm start

Build installers

npm run package:win    # Windows
npm run package:mac    # macOS
npm run package:linux  # Linux

CI builds all three platforms on push and publishes assets when you push a version tag (e.g. v1.0.0). See Releases.

macOS packaging keeps per-arch natives (koffi, usb/serialport, lipo’d node-gyp modules). See macOS packaging and native modules before changing rebuild or afterPack scripts.

More docs


Thanks to electron-react-boilerplate for the app boilerplate.

GNU GPL v3 or later — derivatives must remain open source under the GPL. Captivate 2 incorporates earlier Captivate code originally released under the MIT License (Copyright © Spenser Saling); MIT copyright notices for that material are preserved.

Releases

Contributors

Languages