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.

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 97.0%
  • JavaScript 1.5%
  • C++ 1.2%
  • PowerShell 0.2%
  • GLSL 0.1%
  • Python 0.0%