OSC support for MIDI Remote Mapping (for example passing track names to a controller)

@varesejr I was going to write a detailed post for my blog, it needs some content :joy:
But to be honest the trap with TouchOSC is that I get stuck in always trying to do something new and so… I didn’t finish my template yet!
But if it’s just the MIDI remote, to SysEx, to Lua part that you’re interested, yeah at least that functionality is working. I’ll post it next time I’m on my PC :wink:

That’s what I’m looking for! Brilliant, can’t wait to check it out


So here it is.
My template is getting out of hand at the moment, so I stripped it down bare for educational purposes haha :sweat_smile:

What this basically does is convert the track name or its color to a SysEx message. On the receiving side, TouchOSC decodes that through a simple Lua script and changes label/color to a child object.

Some preparation first. This following compressed folder has to be extracted in
C:\Users<YourUserName>\Documents\Steinberg<Nuendo or Cubase>\MIDI Remote\Driver Scripts\Local
…basically, in wherever your Cubase/Nuendo reads the MIDI Remote JavaScripts. So when you are done you should have a folder called
C:\Users<YourUserName>\Documents\Steinberg<Nuendo or Cubase>\MIDI Remote\Driver Scripts\Local\HexFM\TouchOSCTest with just a JS file in it.

HexFM.zip (1.4 KB)

And this is the TouchOSC preset to go with, which you can put wherever you want.

TouchOSC Nuendo Sysex.zip (1.8 KB)

There’s a few things to set up both in TouchOSC and in the MIDI Remote sections to get it to work:

  • Obviously connect it to the port of your choice (“TouchOSC” or “TouchOSC Bridge”) in the MIDI Remote
  • Activate those ports on the tablet/PC/dust bucket you’re using.

The Lua script that you will see takes a Sysex from Nuendo, checks if it starts with the hex version of “NAME” or “COLR”, and then takes the rest of the SysEx and treats it accordingly.
Remember this is kind of a hack - I could do a better job at passing colors, but a 0…255 range worked well enough for me and kept the SysEx short.

Let me know if it works :wink:

PS: None of this would have worked without @Jochen_Trappe’s help. I also had significant input in my own, bigger template from the guys behind the community-run TouchOSC Discord server


My hero! But…Can you please reshare the Cubase script as a .midiremote per the cubase manual instructions here?

Steinberg themselves advise in that link to export as .midiremote instead of just sharing the js file…Unfortunately Cubase 12.0.52 won’t recognize the script when I followed your instructions of placing it in my \MIDI Remote\Driver Scripts\Local folder

Thank you so much

1 Like

HexFM_TouchOSCTest.midiremote (1.6 KB)

@varesejr here it is - hope it works!


Installed correctly this time! Intend to mess around with it next week. You’re a champ. I’ve been dreaming of track names in my template for a while…I honestly hope Steinberg add proper OSC support in a future version, would really open up a lot of possibilities

1 Like

@varesejr to be honest I cannot really complain about the new MIDI Remote. It’s a giant step forward to what we were used to. Granted, with SysEx there’s some extra work to do, but also TouchOSC has its own limitations, so it’s always a challenge. I did not see the new MIDI 2.0 specifications but maybe there’s going to be a refreshing surprise or two down the road?

1 Like

Thank you so much for sharing this!

I have tried to use it on my Cubase and it works indeed by using the HEX-FM Script as controller and the Cubase/Nuendo Touch OSC-File.

Since I don’t have any plan about creating scripts - how would I integrate that into my remote-controller?

I can’t either use the script alone (because I can’t edit its controller-surface) nor can I use it with my own custom surface at once since you can only refer to the OSC-Bridge with one controller at once.

Any help would be highly appreciated! :slight_smile:

1 Like

@Siegfried_Schussler That was the question I asked here above to @Jochen_Trappe as well. He seems to understand the API much better than me. I’m just a glorified script kid, he’s the real deal :joy:
Seems that scripting and building the remote in Cubase/Nuendo are mutually exclusive… but I suspect I could be mighty wrong…

If anyone has any ideas how to integrate HEX-FM’s Track title to Sysex script into a midi remote template that was built using the wysiwyg Remote Editor it would be greatly appreciated. I was able to bring the scripting from their TouchOSC script into my TouchOSC template successfully so I could actually get track title text to show up (WHICH WAS INCREDIBLY EXCITING) but I of course couldn’t get any of my controls to work using the HEX-FM midi remote template nor could I edit it to add any controls…

Love how you used the HexFM as it was a thing haha.
I actually didn’t know how to call the stuff I made so I combined Hex for Hexler (makers of TouchOSC) and hexadecimal (SysEx) with my initials FM :joy:

Now to answer your question.
I found that really what you might want to do is draw your controller on a notebook with squares, each cell with coordinates starting from(0, 0) and so on. It really, really helps.
Once that’s done, you only have the binding to do to have a basic, functioning controller.
Looking at the examples really helps as well, I am no Java or JS expert but I could bake a working template in really no time.

Hey everybody,

I posted a quick update on a new topic, you can find the progress of NAVI, my custom template, here:


I’m still ironing things out as I’m fairly new at this (in November I wasn’t even able to do a “hello World” in JavaScript).

Also - sorry about the video. As someone else pointed out, it has been downscaled and it’s not so readable in some parts.

Here’s a high-res screenshot of it:


Is it possible to do the same thing using open stage control?

No…that’s what the thread is about

@varesejr Open Stage Control, not Open Sound Control.
Open Stage Control is an application not dissimilar to TouchOSC.

@Mikey_Mike I just had a quick look at Open Stage Control and it seems more than capable of doing so. Provided that you can have labels that can be programmed via a script, I’d say it’s doable.

1 Like

Just not sure what script to write in the CSS field to get track names and colours?

Sorry I can’t help: I never tried Open Stage Control myself. But as I saw on the website it is quite a powerful tool. I’m sure somebody here or on the app’s developer forum can help!