-
Notifications
You must be signed in to change notification settings - Fork 0
Lighting
Drive stage and ambient lighting in sync with MIDI playback. Source: src/lighting/.

Every driver extends BaseLightingDriver and exposes a uniform set of operations to the LightingManager.
| Driver | File | Use case |
|---|---|---|
| GPIO LED Strips | GpioStripDriver.js |
WS2812 strips on Raspberry Pi GPIO via pigpio / rpi-ws281x-native
|
| GPIO LEDs | GpioLedDriver.js |
Simple on/off LEDs |
| ArtNet DMX | ArtNetDriver.js |
Industry-standard DMX over Ethernet |
| sACN / E1.31 | SacnDriver.js |
Streaming ACN for DMX |
| OSC | OscLightDriver.js |
Open Sound Control consoles (QLab, etc.) |
| HTTP | HttpLightDriver.js |
REST endpoints / webhooks (smart bulbs, hub gateways) |
| MQTT | MqttLightDriver.js |
IoT brokers (Home Assistant, Zigbee2MQTT) |
LightingEffectsEngine composes effects (fade, strobe, chase, colour cycle, palette swap) and drives them in lockstep with playback. Effects are addressable per fixture, group, or universe.
Fixture personalities (channel layouts for moving heads, par cans, etc.) live in DmxFixtureProfiles.js. Add a profile by exporting a new entry and reloading.
The lighting manager subscribes to playback events on the EventBus (playback_started, playback_stopped, MIDI position ticks) and triggers cues at the right moment. Latency offset can be applied per driver to compensate for network or DMX-buffer delays.
- Add a driver in the Lighting UI (host, port, universe, channel layout…).
- Define one or more fixtures and assign them to a group.
- Build an effect or drag a preset onto the timeline.
- Hit play — lights and audio stay in sync.
A subset (full list in API-Reference / docs/API.md):
lighting_list_driverslighting_set_color-
lighting_effect_start/lighting_effect_stop -
lighting_fixture_create/lighting_fixture_update
GPIO drivers need the runtime user to be in the gpio group, and pigpio typically requires root or a setcap capability. The Install.sh script handles this; if you install manually see Troubleshooting.
Général Midi Boop · MIT License · Sources tracked in wiki/ — edits synced on push to main.
Getting Started
Interface — Pages & Modals
- Interface-Main-Page
- Interface-Instrument-Creation
- Interface-Virtual-Piano
- Interface-Loop-Manager
- Interface-Lighting-Control
- Interface-Playlist
- Interface-Microphone
- Interface-Settings
- Interface-Hand-Management
Core Concepts
Reference
Operations
Community