MIDI LED

Read with AI
All docs in one file (llms-full.txt)
midi_led #I/O #Node
MIDI LED

A node that controls the LEDs of a MIDI controller with RGB pads by color from the graph. It converts the color arriving at Color into a velocity value and sends it as NoteOn to the specified Channel / Note. It sends when Color changes and when Trig fires.

  • Device — the destination device (kept by name; focusing it rescans the list)
  • Preset — the color palette definition for each model. When you select one, it compares the RGB distance between the input color and each palette color and sends the velocity number of the closest color
  • Channel — clamped to 0–15 (default 0)
  • Note — clamped to 0–127 (default 36)
  • Learn — press it and then hit a pad to capture that NoteOn’s Channel / Note
  • The color picker on the node lets you set the color directly for when nothing is connected (the default is green)

Leaving Preset as (None) does not reproduce the color. With no preset, it simply sends the color’s brightness (grayscale) × 127 as the velocity, so a color unrelated to the model’s palette numbers lights up.

Presets work by reading the JSON in StreamingAssets/MidiPresets/ at startup, and the one bundled is APC40mkII. You can add other models by adding JSON.

A change in the value connected to the Note input does not by itself send anything (it only updates the note number). After changing the number, send it with Trig.

Input ports

Port IDType
ColorColor
Notefloat
Trigtrigger

Output ports

None

Scriptable members

PathType
noteInputfloat
currentDeviceNamestring
currentPresetNamestring
currentChannelint
currentNoteint

Synapse Apps (scripting)

await synapse.modules.create({ type: "midi_led" })