To be completely honest: especially with the delay I had anticipated a lot more with this new version regarding the new Midi API. But all of what I am missing may be hidden within the ability to write scripts.
The thing is, I do not use only simple midi controllers with some faders and switches. I use more complex controllers with lemur and they update their controls based on the track I am working on. I even get midi-feedback (quasi “flying faders”) from the midi data recorded on the track, but all of the setup is pretty much a hack since a very long time, now!
The feedback works with (mis)using midi sends routing all midi to a dedicated midi port that is being received in the iPad. The track recognition works by sending a combination of CCs that are recorded on the beginning of each midi track. Both hacks only work for midi tracks, which is why I cannot use instrument tracks since years.
With this new remote API I had hoped there would finally be the potential to feed such modern and adjustable controllers. I thought that it would be possible to define exactly what information from cubase is sent to the controller and vice versa. E.g., there should be the information of “track name” and “track selected/record enabled” available for the controller so that it can display this information and even trigger actions according to that information. And I had hoped that such a controller API would also support motor faders (or rather control elements with feedback-option as all multitouch controllers …). There would simply have to be an option for feedback on midi CCs and other controls.
Are features like these finally possible via the scripting? If so, is there information regarding writing a script yourself?
Thanks for your post and thoughts, as I have had the same sentiment when I saw the MIDI Remote API and what it seems to be able to do (and not do) from the initial videos.
I would also be very interested how the scripting actually works, how to feed information from Cubase out to a controller (e.g. track names, activated expressions etc.) I’m using Open Stage Control and this would be very interesting.
@Matthias_Quellmann Is the API mighty enough for use cases like this? Can it be programmed by people with programming experience? Is there publicly available technical information? (I’m not yet a C12 owner)
Thanks so much and all the best!
I’d like to know this as well. I own a Kontrol S49 and it already integrates quite nicely with Cubase and has a nice mixer stage along with track names, metering etc.
Would like to know if this will now extend out and allow things like Quick Control parameter names to be output to the Kontrol keyboard.
I agree with hypercube. I hope there is a manual for the API programmers guide and I don’t need to buy Cubase 12 just to read it. So is there a guide anywhere?
Hey @u-man I agree, I’ve asked for the technical documentation of the MIDI Remote API here in this thread and also in another thread, I hope to get and answer and would post a link here if it’s made publicly available.
Hmm, I think it is regrettable that these kinds of question never seem to get answered by Steinberg … maybe it is to complex to answer and only the programers know more about it? Well, in that case I would appreciate is someone could forward it to them.
As per another thread on the Remote, the documentation for it is not yet available publicly due to workload, see message here: The New MIDI Remote is - #47 by Matthias_Quellmann
Currently, it looks like it is a text file within the C12 installation, as mentioned here: The New MIDI Remote is - #7 by oqion
All the best
Hi @hypercube and @Fritz_von_Flotow ,
The MIDI Remote Script API has a documentation and there some example scripts as well. If you open the lower zone’s MIDI Remote tab and activate “scripting tools” to be shown on the tool bar. There is a button that opens the according doc-file in your browser.
Or maybe simpler:
in the Explorer/Finder open
“…//Documents/Steinberg/Cubase/MIDI Remote/Driver Scripts” there you’ll see the README_v1.html. Double click it to open in the browser.
Thanks, Jochen. I already found the manual. But as I am only a „hobby-scripter“, it will take me very long time to figure out what can be done with the implementations as they are now. And if that feature set (at least one of those) is not available, all the time spent with this scripting language is pretty much worthless to me, as I will probably change DAW at this point.
What I want to know for Steinberg:
Can you send information to the controller like the name of the track selected and/ or record enabled? And is are midi CC bidirectional, so, is there a way to get midi feedback from instrument parameters bound to a midi CC. If the question to both of those questions is no, then this API is to little to late to me at this point and I will probably soon look for an alternative to Cubase.
@Jochen_Trappe Thanks for taking the time to respond and point to the documentation.
As I haven’t yet upgraded from C11, I was curious to know whether the documentation would also be available generally/to the public, without (yet) upgrading to C12.
Could you share the aforementioned documentation html?
Nonetheless, highly appreciate you taking the time to respond
Hi @hypercube, I’m happy to share the documentation with everyone who upgrades to Cubase 12
This info may be useful to advanced users & coders
I had a demo version of Deskview GigPerformer 3 & noted that it had midi learn ,scripting , OSC & multi-touchscreen support… I thought it could be an enhanced Windows alternative to Lemur or TouchOSC (Before TouchOSC was relaunched )
I loaded a MCU mixer channel template within Cubase & then set GigPerformer to midi learn the data transmitted from Cubase.
GigPerformer was used as a archiver . recorder , transmitter & modifier of control panel templates. It would probably work in many other programs but i’m not aware of many that can let you create an interface send or create OSC scripts & also perform midi learn.
There’s also the OSC/PAR plugin. Soundigy MIDI Lab may also be a useful tool.
The free Cubase 12 trial will also be available at the end of the month.
@Jochen_Trappe That was not the answer I expected, as an owner of C11 Pro, quite honestly.
The rest of Cubase 12 documentation is also publicly available.
@Matthias_Quellmann Mentioned that it will be made available at developer.steinberg.help eventually.
Thanks in any case for taking the time to respond though.
Thanks @Matthias_Quellmann, helpful answer, very much appreciated!
@hypercube I’m sorry, didn’t mean to offend you.
I’m genuinely curious about the technical side, and I’m sure many are too. (And I think the more people know about the technical side too, the more creative people will build cool scripts for Cubase, the more powerful the Cubase community will be )
And as @Matthias_Quellmann implied, I’m sure we will publish the API documentation on the developer.steinberg.help site soon.
You can download Cubase 12 (without updating your license or owning a Cubase license) and you will get the Programmers Manual for the MIDI Remote API on your computer. You will just have to navigate to the folder where it is installed and open it.
EDIT, I was too early on some of these conclusion. Looking forward to sit down more with the API:
What I wrote:
I’ve been on the path myself for a long time wanting to have MIDI feedback on motorized faders, track name and QC names send out to my MIDI Controllers.
From the looks of it, it does not appear to be included in the current API. And it does also not send MIDI messages in the way @Fritz_von_Flotow has described in his first post.
We could hope that this happens in the future, now that there is a new API that it seems Steinberg wants to continue working on (Thinking of SKI which seemed to have everything build in, but for some reason got abandoned by Steinberg)
Are you sure the scripting does not include feedback? I have not had the time to dive deep enough, but Jochen specifically mentioned that capability in combination with the Novation SL script.
If they do not implement a possibility to send basic information like track name within this version soon, this will be my last Cubase, though, as that is crucial to what I want to do.