Guides

A MIDI controller as a control surface

Every producer has a controller on the desk that spends most of its life idle: a keyboard whose upper octaves are never played, a pad controller with sixteen pads and four in use, a knob box for a synth that got sold. InputConfig turns the idle parts into a control surface for the whole Mac. Pads become DAW shortcuts and app launchers, knobs become the Mac's volume and a scroll wheel, the sustain pedal becomes a click, and the same device keeps playing your instruments on the channels you leave alone. This guide is written for someone who already knows what a CC is.

What InputConfig listens to

Notes and pads (with velocity, though they act as on / off), Control Change on any number, pitch bend, channel aftertouch, and Program Change, from any source macOS lists: USB class-compliant devices, Bluetooth MIDI through Audio MIDI Setup, and hardware on an interface. Every row can be filtered to one channel and one device, or left open to all. Nothing needs a game controller; a preset can be MIDI-only.

The three knob modes, precisely

Switch
A threshold at 64. The row is held while the value is at or above it, released below. Pedals, buttons that send CC, and pads on controllers that send CC instead of notes.
Dial
Centre-relative. Value 64 is rest; distance from 64 is speed, and sign is direction, so the row's deadzone keeps it still near centre. Meant for absolute knobs and faders driving a continuous output: mouse wheel, mouse motion, a MIDI CC out. Two rows on the same CC, plus and minus, cover both directions.
Turn
Delta. Each step of rotation past the Turn Step size fires the outputs once as a nudge, clockwise for plus and counterclockwise for minus. Built for endless encoders and for stepped targets: Volume Up / Down, brightness, arrow keys, zoom, undo / redo. Turn Step goes from Fine (2 units) to Chunky (16).

The rule of thumb: Switch for pedals, Dial for faders and pots when the output is continuous, Turn for encoders and for anything that steps.

Volume as a real fader

The System Volume output is not a press. Bind a CC to it and the Mac's output level follows the control's position one to one, 0 to 127 mapped to 0 to 100 percent. It only takes over once the control moves, so the level does not jump when the device is plugged in. It works from a fader, a pot, the pitch wheel, aftertouch, or a game controller trigger.

Splitting a keyboard

Most keyboards send everything on one channel, so use a note range instead of a channel: the lowest octave's twelve notes as twelve shortcuts, the rest untouched. InputConfig matches a note row by number, so C1 to B1 can be twelve commands while C2 upward plays the instrument. If the keyboard can send zones on different channels, set the shortcut zone to channel 16 and filter the rows to it; then nothing above the split ever fires a shortcut, even if you play down there.

The catch: the DAW also hears the shortcut notes, and will record them if the track is armed. Filter the instrument track's input to the keyboard's other channel, or mute the shortcut zone in the DAW's MIDI input settings.

A DAW remote from pads

The MIDI DAW Remote preset on this page assumes a 16-pad controller sending notes 36 to 51 (the General MIDI drum range most pad controllers default to). It sends Logic's and GarageBand's default shortcuts; change the outputs to match Ableton, Bitwig, or Reaper in a couple of minutes.

Pad (note)Sends
36Space (play / stop)
37R (record)
38Return (go to start)
39C (cycle)
40Command Z (undo)
41Command Shift Z (redo)
42Command T (split at playhead in Logic; change for your DAW)
43M (mute selected track)
44S (solo)
45Command S (save)
46Tab (toggle Logic's main window areas)
47K (metronome)
48Mission Control
49Start Dictation (for naming tracks by voice)
50Open App: the browser
51Emergency Stop

Two CCs are also mapped: CC 7 to System Volume and CC 1 in Turn mode to Volume Up / Down as an alternative. Every row has Speak switched off; turn it on while learning.

MIDI in both directions

The same preset can send MIDI out: a game controller's face buttons playing notes into the DAW while the pad controller runs shortcuts. InputConfig never listens to its own virtual port, so the two never loop. The gamepad as instrument guide covers the outbound half.

Program Change as a preset switch

A Program Change row fires once per patch change, and its output can be an App Action that activates a specific preset. Patch 1 on the controller loads the mixing layout, patch 2 the editing layout. Controllers with a patch bank button get a whole set of layouts from one button.

Bluetooth MIDI

Open Audio MIDI Setup, Window, Show MIDI Studio, and double-click the Bluetooth icon to pair a Bluetooth MIDI device. Once paired it appears to InputConfig like any other source. Latency over Bluetooth MIDI is a few milliseconds more than USB, which matters for playing and does not matter for shortcuts.

Seeing what a control sends

The Live Visualizer's MIDI instrument view shows a named dial for every CC the device has sent, with its mode badge, plus the keyboard, wheels, aftertouch, a 16-channel strip, and an event log. It is faster than a MIDI monitor for the question of what does this knob send.

Download

  • MIDI DAW Remote presetSixteen pads as Logic / GarageBand shortcuts on notes 36 to 51, CC 7 as the Mac's volume fader, CC 1 in Turn mode as volume nudges. 9 KB

Open a downloaded preset with InputConfig, or drag it onto the app icon. It lands in the sidebar, ready to activate or edit. Any launch target inside a preset file is cleared on import; add one yourself in the editor if you want it.

Questions

Does it work with Ableton Push or Native Instruments Maschine?

If the device presents as a standard MIDI source, yes. Devices in a proprietary mode (Push in Live's own mode, Maschine in its plugin mode) usually have a MIDI mode switch; use that.

Can a pad hold a modifier while I click with the mouse?

Yes, a note row in Toggle mode latches a modifier until the pad is pressed again, or leave Toggle off and the modifier is held while the pad is held.

Will this interfere with the DAW's own MIDI learn?

No. The DAW still receives everything the device sends. InputConfig reads a copy; it does not intercept.

Related

Download on the Mac App Store