Cuemark

MIDI controller

Cuemark is developed against and ships a built-in control map for the Hercules DJControl Starlight, a USB MIDI DJ controller with jog wheels, a crossfader, per-deck play/pause/loop buttons, and volume/tempo faders.

Setup

  1. Plug the controller in before launching Cuemark — MIDI devices are enumerated at startup.
  2. Launch Cuemark. The controller should be detected automatically and mapped to its default layout.
  3. Jog wheels drive scratch/nudge on their deck; the crossfader blends the two mapped decks' video and audio together; transport buttons control play/pause and looping.
MIDI input uses the Rust midir crate rather than the browser's Web MIDI API, which is unreliable inside the WebKitGTK frontend Cuemark runs in. Raw MIDI events are mapped to structured actions in the Rust backend and delivered to the UI over Tauri's IPC.

Other controllers

Only the Starlight has a built-in map today. The mapping layer (MidiMap: HashMap<(status, data1), ControlBinding> in src-tauri/src/midi.rs) isn't hardcoded to one device, so a new controller mainly needs its own note/CC layout captured — see the project's skills/midi/ reference and midi-troubleshooting.md for how the Starlight's map was worked out, as a template for a new one. MIDI learn mode (map any control by pressing it once) is on the roadmap — see todo.md in the repository.