Welcome to the Steinberg MIDI Remote API.
The primary purpose of the MIDI Remote API is to help developers create software solutions that bridge MIDI controller hardware and the Cubase / Nuendo environment.
This document will guide you through the steps of writing a MIDI Remote API Script for a specific MIDI controller.
Basic Concept
The MIDI Remote API Script acts as a mediator between a hardware controller and Cubase / Nuendo.
MIDI Remote API Scripts are written in the ES5 version of JavaScript.
A MIDI Remote API Script emulates the hardware surface. This improves usability and recognizability.

Script Structure
The MIDI Remote API Script consists of three building blocks.
Driver Setup
- create driver object
- define driver ports to be associated with existing hardware MIDI ports
- specify all possible port names for automatic device detection
Surface Layout
- visualize the hardware's surface elements (e.g. knobs, faders, buttons)
- bind surface elements to MIDI messages
Host Mapping
- create mapping pages for each user workflow (e.g. mixing, playing instruments, track navigation)
The following image illustrates the three building blocks and how they are related: