Skip to content

NicholasTracy/captivate-2

 
 

Repository files navigation

Captivate 2

Captivate 2

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

CaptivateSynth.com

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

Visualizer
Audio-reactive visuals synced to your lighting

DMX mixer
DMX mixer for live channel control

More walkthroughs: Wiki.

Documentation

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

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

Download

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

macOS install help (if Apple blocks launch)

Because I do not currently have an Apple Developer account or Apple hardware, Captivate's macOS build is not notarized yet. macOS may show a warning like "Apple cannot verify this app is free from malware" the first time you open it.

If that appears:

  1. Drag Captivate 2.app to Applications from the DMG.
  2. In Applications, right-click Captivate 2.app and choose Open.
  3. Click Open in the warning dialog.
  4. If you still see a block, open System Settings -> Privacy & Security, scroll down, and click Open Anyway for Captivate.

After this one-time approval, Captivate should open normally.

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.

More docs


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

MIT License

Contributors

Languages

  • TypeScript 96.8%
  • JavaScript 1.7%
  • C++ 1.1%
  • PowerShell 0.2%
  • NSIS 0.2%
  • GLSL 0.0%