We are happy to announce the updated MIDI Remote API v1.1 for Cubase/Nuendo 13, introducing two new features:
Support for Touch Sensitive Controls
Idle Callback
1. Touch Sensitive Controls
We’ve introduced touch-sensitivity for faders, knobs and other controls. Here’s a snippet demonstrating touch state implementation:
var fader1 = driver.mSurface.makeFader(0, 0, 1, 6)
// Test for the existing TouchState feature for Cubase 12 compatibility
if (fader1.mSurfaceValue.mTouchState) {
var fader1TouchValue = driver.mSurface.makeCustomValueVariable('fader1Touch')
fader1TouchValue.mMidiBinding.setInputPort(midiIn).bindToNote(0, 104)
fader1.mSurfaceValue.mTouchState.bindTo(fader1TouchValue)
}
Ensure seamless compatibility with Cubase 12 by testing for the existence of the TouchState feature.
2. Idle Callback
The Idle Callback feature allows for background tasks during idle time. Here’s a quick example of how to implement this:
var page = driver.mMapping.makePage('Default')
page.mOnIdle = function(activeDevice, activeMapping) {
console.log('PAGE Default ON IDLE')
// Your custom idle-time tasks here
}
About (1) I think it’s a great and a-must addition for lucky owners of controllers with touch-sensitive faders! (I find the mTouchState.bindTo pretty interesting)
I personally find the mOnIdle pretty useful when we want for example to notify custom pseudo-timer functions to pause sending stuff to our controller or even sending a “screen saver” type of commands to our controller in idle, you know, vegas-style pads lightning, scrolling text (marquees). Probably other users will further extend what can be done.
As as side note, I see in the “Advanced Topics → Command Bindings” the tabs for the new and the removed commands, cool!
Awesome. These improvements do nothing for me personally, but hopefully this is a sign that some work is being put in to the MIDI Remote and that we’ll see more soon,
Hello my friend, as a way to always keep track of what changes occur when dealing with APIs xml files or in the case of midi remote the ts and js, I always open notepad++ and do an auto compare of the previous and current file. It’s then pretty easy to see changes, additions and removals. It’s an old habit because I do understand that many times, release notes do not include all changes, major and mostly minor.
If curious to compare these MR files, you’ll get both the changes described in this thread, and even the snippet Jochen presented
Good to see this getting some love. The doc delivered with C13 (in “Cubase 13\midiremote_factory_scripts”) was not updated to 1.1, perhaps put a URL in there instead for the next update?