MIDI
The MIDI tab configures which MIDI messages are sent to and received from each connected device. Each device can independently route four types of MIDI traffic.
Open Settings with ⌘, (macOS) or Ctrl+, (Windows/Linux), then select MIDI in the sidebar.
Device Routing
Section titled “Device Routing”Plinken automatically discovers connected MIDI input and output devices. For each device, you can enable or disable four message categories using checkboxes:
| Column | Full Name | Description |
|---|---|---|
| MIDI | General MIDI | Note on/off, CC, program change, pitch bend, aftertouch |
| MC | MIDI Clock | Tempo sync pulses (24 ppqn clock, start, stop, continue) |
| MTC | MIDI Time Code | SMPTE timecode for frame-accurate synchronization |
| MMC | MIDI Machine Control | Transport commands (play, stop, record, locate) |
Input Devices
Section titled “Input Devices”Devices that send MIDI data into Plinken (keyboards, controllers, drum pads, etc.). Enable the relevant checkboxes to receive specific message types from each device.
- MIDI — receive notes and CC from this controller
- MC — sync Plinken’s tempo to this device’s clock
- MTC — chase incoming timecode for video sync
- MMC — accept transport commands from hardware
Output Devices
Section titled “Output Devices”Devices that receive MIDI data from Plinken (synths, drum machines, lighting controllers, etc.). Enable checkboxes to send specific message types to each device.
- MIDI — send notes and CC to this instrument
- MC — transmit tempo clock so external gear stays in sync
- MTC — broadcast timecode for synchronized playback
- MMC — send transport commands to external recorders
Device Discovery
Section titled “Device Discovery”MIDI devices are detected automatically when the settings panel opens. If a device is connected or disconnected while the panel is open, the list updates on the next scan. Devices are identified by a unique device ID (stable across sessions) and a human-readable name.
If no devices are found, the panel shows “No MIDI input devices detected” or “No MIDI output devices detected.”
Routing Persistence
Section titled “Routing Persistence”MIDI routing settings are saved to the project and restored on next load. When you enable or disable a checkbox, the change is applied immediately to the MIDI engine — no restart required.
Lua API
Section titled “Lua API”MIDI device routing is managed through the MIDI module rather than simple key-value settings. Changes made in the UI are applied directly to the engine:
-- Open MIDI settingspl.cmd("settings:open", { tab = "midi" })
-- MIDI routing is configured per-device through the UI-- The routing state is stored in the MidiModule and persisted with the projectRelated Commands
Section titled “Related Commands”| Command | Description |
|---|---|
settings:open | Open settings panel |
See Also
Section titled “See Also”- Settings Overview — All settings tabs
- Sync Settings — Timecode and clock synchronization
- MIDI Overview — MIDI features and workflow
- Automation — CC-to-parameter mapping