MIDIOut sends MIDI from SuperCollider to a DAW via the macOS IAC Driver virtual MIDI bus
SuperCollider can send MIDI to external software using MIDIOut. On macOS, enable the IAC Driver (Inter-Application Communication) in Audio MIDI Setup to create virtual MIDI buses between applications. After reinitializing MIDIClient, create m = MIDIOut.new(portIndex). Send notes with m.noteOn(channel, noteNumber, velocity) and m.noteOff(channel, noteNumber). By default, MIDIOut has 200ms latency; set m.latency = 0 for immediate messages. SuperCollider counts MIDI channels 0-15, while most DAWs display them as 1-16 — an off-by-one that frequently causes confusion.
Examples
MIDIClient.init; m = MIDIOut.new(0); m.latency = 0; m.noteOn(0, 60, 80); m.noteOff(0, 60);
Assessment
A student targets MIDI channel 1 in Logic but SuperCollider sends notes on m.noteOn(1, 60, 80) and none are received. What is the likely cause? How should the channel argument be written?