Guide Get started
How auto-follow works
How Reason tells the deck which device you selected, over four virtual MIDI ports and two control surfaces, without watching window titles.
Auto-follow is not the Stream Deck app watching Reason's window. A Reason Remote codec, installed into Reason, sends a short MIDI message when the device in front of you changes. The plugin hears that message and opens the matching page.
Diagram coming
Reason, the codec, loopMIDI ports 1–4, and the Stream Deck plugin. No diagram is embedded yet.
The message#
The codec sends identity on MIDI channel 16, which it does not use for knobs or buttons:
| Controller | What it carries |
|---|---|
| CC 119 | The instrument. Sent first. |
| CC 118 | A page or section within that instrument. Sent immediately after CC 119. |
Both go out of Reason on loopMIDI Port 2 (the auto-follow surface's output). CC 119 is 0 when nothing the codec knows is selected. The deck then shows a hub.
These are the primary ids the codec in setup bundle v1.3.0 actually sends:
| CC 119 | Device |
|---|---|
| 0 | Nothing covered |
| 1 | SubTractor |
| 2 | Friktion |
| 3 | Thor |
| 4 | Fury (see Not covered yet) |
| 5 | Objekt |
| 6 | Dr. Octo Rex |
| 7 | NN-19 |
| 8 | ID8 |
| 9 | Parsec |
| 10 | Kong |
| 11 | Redrum |
| 12 | Europa |
| 13 | Malström |
| 14 | NN-XT |
| 15 | Mimic |
| 16 | Grain |
| 17 | Complex-1 |
| 18 | Polytone |
| 19 | Monotone |
| 20 | Radical Piano |
| 21 | Humana |
| 22 | Algoritm |
| 23 | Klang |
| 24 | Pangea |
| 25 | Umpf Club |
| 26 | Umpf Retro |
| 27 | Radical Keys |
| 28 | Combinator |
The public codec does not list what each CC 118 value means. The plugin uses that byte to choose a page. You don't set either number yourself.
Asking again#
If the plugin needs the current device again, it asks on channel 16, CC 110. That controller is not a Reason knob. The codec waits for Reason to settle, then sends CC 119 and CC 118 again and refreshes the values for whatever is live. A Status key shows the last device the plugin acted on.
The four ports and two surfaces#
| Port | Direction | Surface |
|---|---|---|
| loopMIDI Port 1 | Deck to Reason | Auto-follow. Dials and keys. |
| loopMIDI Port 2 | Reason to deck | Auto-follow. Values coming back, and the identity message. |
| loopMIDI Port 3 | Deck to Reason | Master. Mixer faders. |
| loopMIDI Port 4 | Reason to deck | Master. Meters and fader positions. |
| Surface | Model | Job |
|---|---|---|
| Auto-follow | Automate Pros Stream Deck+ Remote | Instrument pages, Document, Piano. Follows your selection. Leave it unlocked. |
| Master | Automate Pros Stream Deck+ Master | The 16-channel mixer. Lock it to the Master Section or it follows your selection too. |
Ports 1 and 2 are enough if you skip the mixer. Names must match. The plugin looks for loopMIDI Port 2.
Why not the window title#
Reason already knows which device is the Remote target. The codec sends identity when that device's scope turns on, and sends id 0 when it turns off. The plugin never reads the title bar, so another window in front of Reason does not steal the deck, and a device with no window of its own still works.
What pauses it#
The codec keeps reporting what you select. The plugin holds the page while you are on Document, Master or the Piano, so picking a track does not pull the deck away. The Go key still updates. When you leave, you land on the device you selected last.
The Piano is the case people notice: you can change track in Reason and keep playing. See when auto-follow waits.
What this needs#
The codec that sends these messages shipped in setup bundle v1.3.0, for Reason Remote 1.4.0 and Lite 1.3.0. An older codec still switches the original instruments, but it will not follow a Combinator and the Patch dials do nothing. Re-run the installer and restart Reason. See Updating.