Skip to content
  1. Control
  2. Operators

MIDI Capture

MIDI Capture opens a hardware MIDI input (or all connected inputs) and streams decoded MIDI messages into the Cito engine as midi_event_v1 rows. It is the entry point for keyboards, controllers, drum pads, and any other MIDI hardware.

Place MIDI Capture at the start of a MIDI processing chain. Select a specific device by name in the Device parameter, or leave it empty to capture from all connected MIDI inputs. Wire the output into MIDI Filter, MIDI Note, or MIDI Learn. The node handles device hotplug automatically.

  • No inputs. This is a source node.
  • Output 0: out — midi_event_v1. One decoded MIDI message per engine frame. Empty frames carry a zero row (raw_status = 0) which downstream nodes skip.
  • Device — The MIDI input device name. Empty string captures from all connected devices. A dropdown menu lists available devices at placement time.
  • Device open and hotplug detection happen on allocation, not on the audio thread.
  • Uses a lock-free SPSC queue (8192 events) between the WinMM callback thread and the engine process thread.
  • Reveal channels report devices_open, events_emitted, events_dropped, and per-block event count.
  • Dropped events are rare under normal use; the counter is visible through reveal for diagnostics.

This operator does not expose user parameters in the extracted schema.

Catalog metadata

Roles

  • source
  • capture
  • io

Tags

  • midi
  • device
  • events
  • winmm

Search groups

  • midi
  • io