Real-time timing, metronome, SMPTE LTC and playback engine for live theatre and concert productions.
clicks-core is the runtime component of the ClicKS system. It runs on stage hardware and acts as the authoritative tempo and cue processor during a performance.
Provides:
- Deterministic tempo engine
- Cue-based (non-strictly-linear) execution model
- Real-time tempo changes
- Vamp / adaptive sections
- SMPTE LTC generation
- Multi-channel audio playback via JACK
- Live network monitoring using binary control protocol
Designed for embedded or headless Linux systems (e.g. Raspberry Pi).
clicks-editor— show programmingclicks-monitor— live monitoring and controlclicks-common— shared communication formats and protocol definitions
- Audio processor
- Metronome
- SMPTE LTC generation
- 30 channels of audio playback
- Network handler
- Lightweight binary protocol i/o
- JSON i/o
- OSC i/o
Execution is cue-based and supports non-linear flow.
Requirements:
- Rust (stable)
- Linux
- JACK
Build:
cargo build --releaseRun:
cargo runPrebuilt binaries are available in Releases.
Intended to run:
- On headless systems
- As a system service (recommended)
- Automatic JACK server and client startup, no setup needed
- With automatic restart on failure
- Primary format: compact binary
- JSON export/import supported (via clicks-editor)
- Protocol and format definitions in clicks-common
- Deterministic timing
- Low runtime overhead
- Headless operation
- Minimal dependencies (JACK required)
- Extensible protocol layer
- More live protocols (OSC, MIDI, DMX)
- Platform agnostic audio handling (JACK, ALSA, ASIO)