Version History
This chapter is the release index of the MIDI Remote API documentation. Use it to jump directly to the detailed change pages for each API version.
Release Index
| MIDI Remote API | Host Version | Date | Details |
|---|---|---|---|
| v1.3 | Cubase / Nuendo 15 | April 2026 (15.0.20) | What's New v1.3 |
| v1.2 | Cubase / Nuendo 13 | November 2024 (13.0.50) | What's New v1.2 |
| v1.1 | Cubase / Nuendo 13 | November 2023 (13.0.0) | What's New v1.1 |
| v1.0 | Cubase / Nuendo 12 | March 2022 (12.0.0) | Initial release baseline |
Dates indicate the best-known first public release window for each API version (month-level precision). They are intended as orientation for compatibility planning, not as a legal release record.
Version 1.3
- Platform-aware detection filters.
- Extended DirectAccess inspection and plugin-manager workflows.
- Additional runtime helper methods and command capability checks.
Details: What's New v1.3 Deep dives: DirectAccess, Device Detection, Command Bindings
Version 1.2
- First full DirectAccess feature set.
- Host app version string access.
- DirectAccess mixer helpers and runtime-ID usage.
Details: What's New v1.2 Deep dive: DirectAccess
Version 1.1
- Added support for Touch Sensitive controls
- Added options to register Idle callbacks
Details: What's New v1.1 API anchors: SurfaceValueTouchState, FactoryMappingPage
Version 1.0
- Initial release of the MIDI Remote API.
- Introduced core concepts, including Driver Setup, Surface Layout, and Host Mapping Pages.
- Supported basic communication between hardware MIDI controllers and Cubase / Nuendo.
Compatibility Guidelines
Maintaining backward compatibility is crucial when working with different versions of the MIDI Remote API and various versions of Cubase / Nuendo. Backward compatibility ensures that scripts written using newer versions of the API can still function correctly with older versions of Cubase / Nuendo, even when new features have been introduced.
Feature Detection
When developing scripts, always check for the availability of specific features or functionalities introduced in later versions of the API. Use conditional statements or feature detection mechanisms to ensure that your script behaves appropriately across different versions.
Code Example:
var midiremote_api = require('midiremote_api_v1');
var deviceDriver = midiremote_api.makeDeviceDriver('DocuVendor', 'ExampleDevice Mk I', 'Example Author');
var midiInput = deviceDriver.mPorts.makeMidiInput('midiInput')
var midiOutput = deviceDriver.mPorts.makeMidiOutput('midiOutput')
var fader = deviceDriver.mSurface.makeFader(0, 0, 1, 1)
// ...
// backward compatibility: check API 1.1 feature exists
if(fader.mSurfaceValue.mTouchState) {
var faderTouch = deviceDriver.mSurface.makeCustomValueVariable('faderTouch')
faderTouch.mMidiBinding.setInputPort(midiInput).setOutputPort(midiOutput).bindToNote(0, 64)
fader.mSurfaceValue.mTouchState.bindTo(faderTouch)
}
Fallback Mechanisms
Implement fallback mechanisms or alternative behaviors for cases where a specific feature is not supported by the version of Cubase / Nuendo being used. This ensures that your script remains functional even in older environments.