← All docs
Inputs

MIDI input

XOSC uses the Web MIDI API, which is built into Electron's Chromium runtime. Plug a USB MIDI device in, switch the capture source to MIDI, and bind.

Supported messages

  • Note On / Note Off — Note On binds the key. The matching Note Off automatically counts as the "release" (used by Hold mode).
  • Control Change (CC) — bound to the CC number on a given channel.
  • Pitch Bend — channel-wide.
  • Program Change — bound to the program number on a given channel.

Channel matching

Channel is part of the signature. Channel 1 Note 60 is a different binding from Channel 2 Note 60. If your hardware lets you change channels per pad, that's a quick way to get more bindings out of one device.

Pitchbend / CC values

For now, the value of a CC or pitchbend isn't forwarded; we trigger like a button. A future build will expose continuous-value mapping (CC 0–127 → OSC float 0.0–1.0) — the easiest place to add it is useMappingRouter.ts.