Open Stage Control (Tutorial) - An alternative to Lemur and TouchOSC

Grizzlymv

Active Member
Hey guys. So I've been tweaking quite a bit O-S-C in the past few weeks. I optimized it with the most useful commands, but didn't go too far in as I had some issues with Cubase stability and OSC running together. That optimized one seems to work fine. It is optimized for the size of a Microsoft Surface Pro 2 tablet.

The twist I added this time is that by default, the screen is with the edit commands.

OSC screen1.png

But when you playback or record, a screen pops in over the rest and display the CC faders. As soon as you stop the playback, it goes away. There's also a CC Faders button to display/hide the screen manually. While the CC faders screen is on, you still can access to the track buttons (mute, record, solo, channel, VST) as well as the full transport, and the buttons for the various screens.
OSC screen2.png

Below you'll find the zip file containing the Generic Remote file for Cubase, as well as the O-S-C template and some info on how to set it up properly (I use 2 midi ports, one for the regular CCs (1, 11, 2, 14, etc) and one for the custom ones specified in the Generic remote. That way there's no conflicts.

Have fun with it. ;)
 

Attachments

matthieuL

Member
Thanks, it's nice !

A little question for the moment : I'm using O-S-C on Chrome on an Android tablet (Samsung A5 2016), whose resolution is 1920x1200.
But on it the UI appears as it was zoomed, it exceeds in the 2 dimensions (so I have to scroll horizontally and vertically), while all the UI fills well my desktop screen (1920x1080).
I also tried Opera (which uses Chromium too), but same thing.
I found this page : https://support.google.com/chrome/forum/AAAAP1KN0B0oYPjdI7TR8w but it concerns desktop Chrome...

I don't find a solution, would you have an idea ?
Found the solution to have a responsive UI : use percentages for Width, Height, Left and Top.
NB : The % are relative to the parent.
 

StephanS90

New Member
Hi People,
i have a problem with open stage control. When i click on the start button i get only a blue window and nothing happens. No Browser window no error messages. Nothing.
My System is Windows 10 64bit, Installed Python 3.8, installed rtmidi, installed Build Tools
Ive tried so many things but nothing worked yet.
Did any of you have same problems or get it worked after some similar problems?
Thank you for your help.
 
OP
Manaberry

Manaberry

Senior Member
Hi People,
i have a problem with open stage control. When i click on the start button i get only a blue window and nothing happens. No Browser window no error messages. Nothing.
My System is Windows 10 64bit, Installed Python 3.8, installed rtmidi, installed Build Tools
Ive tried so many things but nothing worked yet.
Did any of you have same problems or get it worked after some similar problems?
Thank you for your help.
Hi Stephan,

Very weird bug indeed. Please, describe your problem on the project's Github. Jean-emmanuel (the developer) might have the answer to that problem.
 

StephanS90

New Member
Hi Stephan,

Very weird bug indeed. Please, describe your problem on the project's Github. Jean-emmanuel (the developer) might have the answer to that problem.
Hi Manaberry,
thank you for the response. I have posted it as an issue on the open stage control Github page.
I hope i get an response or help. Its very weird.
 

StephanS90

New Member
Hi Stephan,

Very weird bug indeed. Please, describe your problem on the project's Github. Jean-emmanuel (the developer) might have the answer to that problem.
Hi, now i get it with the help of Jean ;)

but how do you manage now the Track selection and Recall function with articulations in Cubase with OSC? Did you use the Transformer or Quick Controls? How does a simple script look like in OSC for that?

Thanks a lot for this massiv support!
 

Ivan Kovachev

New Member
Hi, I have a problem with open stage control.
I set up O-S-C on a single PC with rtpMidi. I can open O-S-C in a browser on the PC and control Reaper. When I try to do the same with my phone I get connection time out. Both The PC and the phone are on the same network. The phone connects with WiFi and PC via Ethernet. Did any of you have same problems? Thanks for your help.
 

Ivan Kovachev

New Member
How you


Have you tried with another device but this time connected with Ethernet and not wifi? Sometimes wifi can be unstable. Be sure that the signal is the strongest.
The PC and router are in the same space and the signal is strong. I don't have a device handy wright now but I will try tomorrow with a laptop. But I need to make it work with WiFi otherwise it defeats the purpose of the whole thing since my goal is to use it with a tablet.
 

Gefionsong

New Member
Hi Manaberry and everybody ! Thank you so much for all this information, its amazing. Thanks for sharing all this stuff !!
Im trying to set things up but got this error message.

Does anyone know what I might done wrong?
Regards Andreas
 

Attachments

Gefionsong

New Member
Hello again!
After having error messages in OSC. I uninstalled OSC an now I’m trying to do things again, hopefully right this time.
Im not sure of two things about downloading and install OSC:
1. Exactly what files do I have to download and install for win 10 (64bit)?

2. Where shall I extract those files?What folder shall I use for OSC?

Great-full for any help!
 
OP
Manaberry

Manaberry

Senior Member
Hello @Gefionsong !

Thanks for being patient.

Well, the correct .exe for W10 (64bit) is open-stage-control-0.48.7-win32-x64.zip
There is no need to have a specific folder to install OSC. Just create an Open Stage Control folder in your regular Program Files directory and pin a shortcut to your taskbar or something. Just be sure to run OSC as an administrator (in the shortcut or program properties.)

I invite you to use Python 3.7. If you have the feeling that you did messed up with multiple installations, try to uninstall everything related to OSC tutorial, clean the registry (ccleaner for instance) and start again from scratch.

If you still have issues, I suggest you to open a thread on OSC forums.

I've not seen this error message before. I'm afraid that I can't help you more on this one.
Good luck!
 

Gefionsong

New Member
Hey @DMDComposer,

you're welcome :)

The XGDPA is for the VSL Dimension Libraries. You can choose what Tracks are visible in Cubase - X=None, G=Groups, D=Desks, P=Player, A=All :)

You need the two generics remotes configured like this:
View attachment 22635 View attachment 22636

Code:
--midi oscTraVisIn:3,-1 oscTraVisOut:-1,2 oscTraCtrlIn:5,-1 oscTraCtrlOut:-1,4 oscInstIn:9,-1 oscInstOut:-1,8 oscRecallIn:7,-1 oscRecallOut:-1,6
The oscInstr is the third port, which should be included in All Midi. All Messages that needs to reach the instrument, vep, vst are send through this port.

The reason for individual In and Out loopback ports is to prevent feedback loops. So all ports are named from the osc perspective. That means, that the oscOut is an cubaseIn. And only the oscInstOut should and oscTraCtrlIn be in 'All Midi'. oscTraCtrlIn is needed for the fact that cubase needs to see a message to transform it. A little weird, but that's how it is. In Cubase it should look like this:

View attachment 22670

In the debug log from Osc you should see the two messages after switching the track:

Code:
MIDI received: CONTROL_CHANGE: channel=1, cc=126, value=127 From: midi:oscTraCtrlIn
...
MIDI received: CONTROL_CHANGE: channel=1, cc=117, value=4 From: midi:oscRecallIn
The first message is the track change message from Cubase before the transformation on the individual track. The second message cc117 is the track change to value 4 message out of the midi transform. That leads us to this track definition from the custom module:
Code:
4: { 'trackname': 'VSL - Synchron Strings - Cellos', 'trackarticulations': [] },
The visibility control is a bit more complex then normal, since the "all, none and default" button change a lot of the other buttons.

BR Joe
Hey @DMDComposer,

you're welcome :)

The XGDPA is for the VSL Dimension Libraries. You can choose what Tracks are visible in Cubase - X=None, G=Groups, D=Desks, P=Player, A=All :)

You need the two generics remotes configured like this:
View attachment 22635 View attachment 22636

Code:
--midi oscTraVisIn:3,-1 oscTraVisOut:-1,2 oscTraCtrlIn:5,-1 oscTraCtrlOut:-1,4 oscInstIn:9,-1 oscInstOut:-1,8 oscRecallIn:7,-1 oscRecallOut:-1,6
The oscInstr is the third port, which should be included in All Midi. All Messages that needs to reach the instrument, vep, vst are send through this port.

The reason for individual In and Out loopback ports is to prevent feedback loops. So all ports are named from the osc perspective. That means, that the oscOut is an cubaseIn. And only the oscInstOut should and oscTraCtrlIn be in 'All Midi'. oscTraCtrlIn is needed for the fact that cubase needs to see a message to transform it. A little weird, but that's how it is. In Cubase it should look like this:

View attachment 22670

In the debug log from Osc you should see the two messages after switching the track:

Code:
MIDI received: CONTROL_CHANGE: channel=1, cc=126, value=127 From: midi:oscTraCtrlIn
...
MIDI received: CONTROL_CHANGE: channel=1, cc=117, value=4 From: midi:oscRecallIn
The first message is the track change message from Cubase before the transformation on the individual track. The second message cc117 is the track change to value 4 message out of the midi transform. That leads us to this track definition from the custom module:
Code:
4: { 'trackname': 'VSL - Synchron Strings - Cellos', 'trackarticulations': [] },
The visibility control is a bit more complex then normal, since the "all, none and default" button change a lot of the other buttons.

BR Joe
Hi Joe! Brilliant work you´ve done. Im so greatful to guys like you. You are so talented and also extremely generous to help out, and share your stuff. Thanks for that!
I have tried to set your template up and Im feeling im close to it but something is missing.
I didnt quit understand this:

3. Change the variables "oscHost" and "oscPort" and the MidiOut Port "oscTraCtrlOut" in TemplateControl.js (Custom Module) if nessecary

Would you mind explain this to me? Im am not used to programming at all, sorry. Please be "over explicit" if you dont mind.

I attatched some settings (and error-code) if this say something to you?

I don´t take your help for granted but if you do have the time to answer I would really appreciate it.

Best
Andreas

--EDIT
Hi Again.
I think I manage to sort it out myself Joe. I did miss some "-", got rid of it and it worked!
Thanks again for sharing this. Really means a lot!
No I will try to set up my own libraries. Pandora Met Ark 1 , BBC etc.
Can´t wait to get this up and running with VEP and a touch-screen!
Btw. What size do you recommend?
Also how shall I load the "Cubase Example Tracks" File? (Import?)
 

Attachments

Last edited:

Gefionsong

New Member
Hello @Gefionsong !

Thanks for being patient.

Well, the correct .exe for W10 (64bit) is open-stage-control-0.48.7-win32-x64.zip
There is no need to have a specific folder to install OSC. Just create an Open Stage Control folder in your regular Program Files directory and pin a shortcut to your taskbar or something. Just be sure to run OSC as an administrator (in the shortcut or program properties.)

I invite you to use Python 3.7. If you have the feeling that you did messed up with multiple installations, try to uninstall everything related to OSC tutorial, clean the registry (ccleaner for instance) and start again from scratch.

If you still have issues, I suggest you to open a thread on OSC forums.

I've not seen this error message before. I'm afraid that I can't help you more on this one.
Good luck!
Thank you! Now i think I got hang of it!
Cheers!
 

Ben Catman

New Member
Hi and thank you so much for this tutorial. I managed to install it, und it works with my old but beloved Cubase 5. Is there any documentation where i can (as a noob) get informations on how exactly i can connect my cubase controls with osc? E.g. - i managed to create a button as descrobed on your tut - works great ! But what if i want to create a play /record / stop button and so on? Which commands do i have to use? Sorry, as mentioned above, i am new to this but absolutely willing to inform myself.

Great community - looking forward to helpong others with my knowledge as well!
 
OP
Manaberry

Manaberry

Senior Member
Hello @Ben Catman , Welcome aboard.
You have to create your own controller in "Device Setup > Generic Remote".
You just have to assign an action to each of your controls created in OSC.
Here is a video from Cubase 5 (bad quality but the same version as you.)

Good luck!
 

StephanS90

New Member
Hi Manaberry,
thanks for your awesome support :)

Can you explaine me how i can connect OSC to Bome Midi? I have tried it with loopMidi and the virtual midi port from Bome but it doesn't receive any midi in or something. How do you get it worked with Dorico? Thanks and Cheers Stephan
 

Grizzlymv

Active Member
View attachment 24878

Below you'll find the zip file containing the Generic Remote file for Cubase, as well as the O-S-C template and some info on how to set it up properly (I use 2 midi ports, one for the regular CCs (1, 11, 2, 14, etc) and one for the custom ones specified in the Generic remote. That way there's no conflicts.

Have fun with it. ;)
I just realized that there's still a bug in the Generic Remote template I provided. You'll need to delete 3 entries that are left over of the previous design:

Sel Track Volume (channel 3 / 102)
Sel Track Meter (channel 3 / 119)
Sel Track Pan (channel 3 / 121)

I got rid of them in the graphic design, but forgot to remove them from the Generic Remote. Got rid of them as Cubase doesn't seem to handle them properly. When you move from one track to another, it would lower the volume randomly, and mess up with the panning of your track. Quite annoying to say the least. ;)

I'll upload the updated version as I get home tonight.

Cheers.
 

Gefionsong

New Member
Big big thank you!!
-Yes, I also noticed there was some bug you mentioned. I´ll do as you suggest. Looking forward to see your updated template.
Once again - Thank you!