Hi all,
I’ve built a full touch-screen controller for Cubase on top of the MIDI Remote API (custom WPF app, script-driven, ~4800 assignable slots across 20 pages plus a mixer console), now essentially complete. Along the way I needed a definitive answer to a question I couldn’t find documented anywhere: which of Cubase’s native commands can actually be bound through makeCommandBinding, and which can’t.
So I ran a full, systematic pass over the entire native command list exposed in the MIDI Remote Mapping Assistant — not a sample, all of it.
Method: commands were loaded in batches of 240 into the script, reloaded in Cubase, and checked one by one against the Mapping Assistant grid. Tested on Cubase, MIDI Remote API 1.3, clean/default project state.
One important clarification on what “Missing” means here: it’s purely the visual state shown by the Mapping Assistant itself — a bound slot whose command name Cubase’s binding layer doesn’t recognize is displayed differently from one that is. It’s Cubase’s own UI telling us the static match failed, not something I inferred by pressing the button and observing no effect. Whether that visual “Missing” state always corresponds to a genuine functional impossibility, or in some cases just an unmatched name while the action might still be reachable another way, is part of what I’d like feedback on.
Headline result: out of 1454 native commands tested, 594 (40.9%) do not bind via makeCommandBinding — leaving 860 usable directly through this mechanism. Macros, PLE (Project Logical Editor) presets and LE (Logical Editor) presets are not affected — those bind reliably at 100% and aren’t part of this count.
The solid part of the finding — entire categories that come back as 0% bindable regardless of any project configuration, session state, or selection (so this isn’t “needs a track selected” or “needs Control Room active,” it’s a flat wall for the whole category):
| Category | Missing / Total |
|---|---|
| Add Track | 19 / 19 |
| Inspector | 21 / 21 |
| Score Functions | 105 / 105 |
| Score Meter Scale | 20 / 20 |
| Score Symbol Editor | 19 / 19 |
| Score Symbol Palettes | 16 / 16 |
| Scores | 13 / 13 |
| Scores Statusbar | 9 / 9 |
| Score Align Elements | 7 / 7 |
| Set Insert Length | 10 / 10 |
| Track Versions | 12 / 12 |
| Render in Place | 2 / 2 |
That’s 253 commands, all-or-nothing, across categories that together represent a large chunk of everyday editing workflow — track creation, the Inspector panel, and the entire Score Editor toolset in particular (which alone accounts for over a third of all Missing commands across the whole test).
Beyond this solid core, a good number of other categories (Control Room, Devices, Marker, Zoom, Windows, and a few more) also showed partial Missing results, but some of those may depend on project/session context that wasn’t active during this pass (Control Room enabled, a marker already placed, a specific selection, etc.) — those are still being re-verified in a properly configured session before I’d call them conclusive, so I’ve left them out of the table above on purpose.
Whether a systematic workaround exists for these — wrapping the same native action in a Macro or a PLE preset, both of which do bind reliably — is still an open question for me at this point; it’s untested at scale, so I wouldn’t call it a general solution yet. As far as I can tell, this exhaustive a breakdown had never been put together and published anywhere, and with more people building custom touch/hardware controllers on MIDI Remote, having an actual baseline of what’s structurally reachable versus not seems like useful groundwork — both for other developers, and potentially for prioritizing what a future MIDI Remote revision could extend (the Score Editor block above all stands out as the single biggest gap).
Is this a known/intentional scope limitation of the API (e.g., anything requiring an active editor context or a modal dialog is out of scope by design), or is it more of a gap that could be revisited? Happy to share the full per-command table (all 1454 rows) if that’s useful to anyone here or at Steinberg.
Looking forward to hearing your thoughts.