Connecting OSC to Cubase

Hi there,
I do apologise if I’ve missed a glaringly obvious part of the process - but could somebody point me to the direction of connecting OSC to Cubase? I have created a Generic Remote in Cubase, but I’m unsure how to connect the two and assign my buttons correctly.

I’m on Mac - I can’t install RTMidi or LoopMidi

Any help would be appreciated.

Thanks in advance!

HI, I actually have the same question. the way Generic remote works in Cubase is a bit tricky, I can’t figure out how to assign things correctly. Is there also a way to verify that midi is properly sent to cubase while triggering on the OSC controller?

You can check what’s sent by O-S-C by enabling the server’s debug option.

As for how Cubase works I suppose you’d get more help on a Cubase forum, or here maybe.

(Back to OSC after a few days of nonstop work).
thank you for your answer.
I actually get this message when trying to trigger a button:

(ERROR, MIDI) Traceback (most recent call last):
File “/Applications/open-stage-control.app/Contents/Resources/app/server/python/midi.py”, line 264, in
send_midi(*msg)
File “/Applications/open-stage-control.app/Contents/Resources/app/server/python/midi.py”, line 227, in send_midi
args = [int(round(x)) for x in args]
File “/Applications/open-stage-control.app/Contents/Resources/app/server/python/midi.py”, line 227, in
args = [int(round(x)) for x in args]
TypeError: type str doesn’t define round method

I checked my python version and updated it:
Python 3.9
Pip-20.3.1
RtMidi 1.4.6

I am running everything on Mac Mojave 10.4.6

What version of O-S-C are you using ? (You don’t need python / rtmidi since v1.7 if you use the official binaries). The error is most likely due to a widget mis-configuration : all the the arguments should be numbers but it seems at least one of them is a string. What are your button’s address, preArgs and on/off properties ? I’ll try to make the midi backend more robust to this kind of error in the future.

ok, thanks a lot for your answer.
I am on open stage 1.8.1.
It’s true that I started building a complex controller prior to test each button and slider.
I’ll start again with a simple one.
Should I remove python then?

And also, if Python is not used anymore, maybe the midi dress in the OSC control panel should be different than “mymidi port name”:n,n path=/usr:local/bin/python3

You don’t have to remove it but you can

And also, if Python is not used anymore, maybe the midi dress in the OSC control panel should be different than “mymidi port name”:n,n path=/usr:local/bin/python3

Indeed, path=/usr:local/bin/python3 should not be used (actually it bypasses the built-in midi executable).

ok. should I leave it blank then? (testing it right now in that configuration (black), but nothing really happens (no signal showing up in the OSC panel )
by the way, ia m testing that on a simple on button config soit’s easier …

You still need to declare your midi port, so don’t leave the whole option blank.

You can check what’s sent by O-S-C by enabling the server’s debug option.

What are your button’s address , preArgs and on/off properties ?

Right now I have this

ok, and I just found the debug option… :wink:
And… great, it tells me it’s connected to the right midi port I created in the Mac Audio mIdi setup

Your preArgs property is malformed: items in the array must separated by comas:

[
  2,
  1
]

ok, I got it to work!!!
Thank you so much!

Now as I want to access keyboard shortcuts, would you recommend me a software like Bome midi translator, who turns keyboard commands into CC commands?

i think you can achieve this into o-s-c using a button and associate a key pressed

If you want O-S-C to send MIDI events on keystroke you can use a script widget with event set to keyboard. If you want to simulate keystrokes in other softwares directly from O-S-C, read this thread.

1 Like

Ok, thanks.
I am having a hard time trying to figure out how scripts work. I understand that they need to be related to a button, but i don’t understand how…?

In my previous post, “a script widget” is a specific widget type that can be found in the “Scripts” category when creating a new widget. It will only be visible in the project tree. It doesn’t need to be related to a button widget, especially if you just want to associate a keyboard event to it.

Ok, Let’s say i creat a script that is here to activate the key command « shift a »
but if there are no buttons, how do « trigger » that script?
(Sorry for these basic questions…)