What's new

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

Grizzlymv

Active Member
Alright.... so. Here's what I did. everything is still to Control because I can't find a way to have Program Change work properly. Then I moved remapped the PreArgs values to use values between 102 and 127 as the second value (not used in CC standard). the first value is one of the 16 midi channel.

So, this fixes the wierd behavior I was having in Cubase. BUT, it records junk in the midi track to their CC values (102 and above). In order to clean that, I managed to create a preset in the Logical Editor and it works beautifully. Now, the Logical Editor is a manual thing that you apply. Can't find a way to automate that. Then I found that a Transformer can be applied in the mIDI Insert of a track, using the same preset I made in the Logical Editor. That works. BUT, it needs to be done on each and every tracks. Given I have several hundreds in my template, that's not something I'd like to consider.

So, I'm not sure what's next on this. I asked the question about the logical preset in a different thread. Hopefully someone will have an idea, but I'm about to give up on controlling Cubase with a touch control. At least until they better support OSC protocol. It's sad though. :(
 

Grizzlymv

Active Member
Alright. So, with some help and a bunch of tests, I finally figured out how to make it work properly in Cubase.

That's something others might want to know too. So, the trick is, you'd have to create 2 MIDI ports instead of one. One would receive all regular CCs (1, 2, 7, 10, 11, 64, etc) (let's say we name it ToPCStudioCC) and one would receive any other commands in the Generic Control (let's name it ToPCStudio).

- In Cubase, in the Studio Setup screen, under the MIDI Port Setup, you'll have to untick the in 'ALL MIDI Inputs' for the second port that will handle all other commands (ToPCStudio).
- You leave the tick on for the other port (ToPCStudioCC).
- Then in O.S.C. any controls for regular CC would point to the CC port you created (target Midi:ToPCStudioCC),
- and all other controls will points to the second port (target midi:ToPCStudio).
- Then when we load O.S.C. the midi line just need to contain both ports infos and voila (--midi ToPCStudio:x,y toPCStudioCC:y,z).

A bit tricky, but work as a charm. No more junk CC data in the recording, or wierd Cubase behavior. Let me know if you have any questions.

Cheers
 

Luke Davoll

New Member
Alright. So, with some help and a bunch of tests, I finally figured out how to make it work properly in Cubase.

That's something others might want to know too. So, the trick is, you'd have to create 2 MIDI ports instead of one. One would receive all regular CCs (1, 2, 7, 10, 11, 64, etc) (let's say we name it ToPCStudioCC) and one would receive any other commands in the Generic Control (let's name it ToPCStudio).

- In Cubase, in the Studio Setup screen, under the MIDI Port Setup, you'll have to untick the in 'ALL MIDI Inputs' for the second port that will handle all other commands (ToPCStudio).
- You leave the tick on for the other port (ToPCStudioCC).
- Then in O.S.C. any controls for regular CC would point to the CC port you created (target Midi:ToPCStudioCC),
- and all other controls will points to the second port (target midi:ToPCStudio).
- Then when we load O.S.C. the midi line just need to contain both ports infos and voila (--midi ToPCStudio:x,y toPCStudioCC:y,z).

A bit tricky, but work as a charm. No more junk CC data in the recording, or wierd Cubase behavior. Let me know if you have any questions.

Cheers
That's freakin awesome you figured it out. Congrats!

Any chance of having a sneak peek at your template?
 

Grizzlymv

Active Member
Sure. I was just thinking at revisiting a bit the screen layout as I find it less functional to have the expression maps loaded in a pop-up. But anyway, I'll post it as it is now, and post the update later on.

But for now, if you want to run OSC on the same Windows machine who run Cubase, and interact from a tablet (in my case a Surface Pro), here's the instructions and files. This is assuming you already have the pre-requisites installed from @Manaberry document in the first post. I may revisit my pdf file to include those steps in the future. Instructions should be similar if you run it on Mac.

Let me know if you have any questions.
 

Attachments

Luke Davoll

New Member
Sure. I was just thinking at revisiting a bit the screen layout as I find it less functional to have the expression maps loaded in a pop-up. But anyway, I'll post it as it is now, and post the update later on.

But for now, if you want to run OSC on the same Windows machine who run Cubase, and interact from a tablet (in my case a Surface Pro), here's the instructions and files. This is assuming you already have the pre-requisites installed from @Manaberry document in the first post. I may revisit my pdf file to include those steps in the future. Instructions should be similar if you run it on Mac.

Let me know if you have any questions.
Fantastic. I'll check this out later on. Cheers.
 

Luke Davoll

New Member
Hey guys, on another note, I'm playing with using o-s-c to send out program change messages to cubase and having them play nice with expression maps. Is it just me or does cubase make the first program change number 1, and o-s-c make the first program change 0? Try this:

Send program change number 5 out of o-s-c, and in the expression maps, create an articulation using remote program change 6! Try an few others and see if it's the same for you!

Could someone verify that I'm not insane (not an easy task!)
 

Grizzlymv

Active Member
Hi guys. So I've played a bit more with the template over the weekend and I changed a bit of things, both in Cubase and OSC. The workflow is better now (at least to me), and I fixed a few issue in how I built the Generic Remote which made my Cubase Freeze (I realize that you don't need to specify flags for the bottom pane. Here it is for those who are interested.

@Luke Davoll I did try to reproduce your problem, but wasn't able to. Actually Cubase received the proper value as specified in OSC, but wasn't able to get the exp. map to change (never was in the past either, that's why I use CC instead).
 

Attachments

Luke Davoll

New Member
Hi guys. So I've played a bit more with the template over the weekend and I changed a bit of things, both in Cubase and OSC. The workflow is better now (at least to me), and I fixed a few issue in how I built the Generic Remote which made my Cubase Freeze (I realize that you don't need to specify flags for the bottom pane. Here it is for those who are interested.

@Luke Davoll I did try to reproduce your problem, but wasn't able to. Actually Cubase received the proper value as specified in OSC, but wasn't able to get the exp. map to change (never was in the past either, that's why I use CC instead).
Gotta say, that's is a great template. You've done well mate. Good stuff indeed.
 
OP
Manaberry

Manaberry

Active Member
Important update:

The dev behind the soft (Jean-Emmanuel) sent me a message regarding an upcoming version of O-S-C. This next build will comes with some library modifications, making easier the installation process for Windows users.
That means it might not work on your actual setup if you update. To avoid any mistake, keep using O-S-C 43.0 until I've rewrite all the tutorial with the new installation steps.
 

Grizzlymv

Active Member
Important update:

The dev behind the soft (Jean-Emmanuel) sent me a message regarding an upcoming version of O-S-C. This next build will comes with some library modifications, making easier the installation process for Windows users.
That means it might not work on your actual setup if you update. To avoid any mistake, keep using O-S-C 43.0 until I've rewrite all the tutorial with the new installation steps.
Thanks for the heads-up. Looking forward to it.
 
OP
Manaberry

Manaberry

Active Member
@Grizzlymv You'r welcome! Kinda excited to clean the whole tutorial and bring a fresh post.. less scary :D

@everyone
There is a community platform (forum) recently created by the developer : https://openstagecontrol.discourse.group/
If you need anything regarding the software (issue to report, installation help, etc...) feel free to use it ;)
 
OP
Manaberry

Manaberry

Active Member
Ok. It's very easy to install the new version! I will update the main post this week.


Version 44.0 needs python-rtmidi to work.
First: we need to remove the previous rtmidi. To do so, we just have to run this command line in the Command Prompt (launch it as admin):​


pip uninstall rtmidi


CMD1.jpg
(I choose to go in my python folder by doing a "cd" command)

I installed O-S-C 44.0 to check what it needs.

CMD2.jpg
Python-midi as expected. Let go then:


pip install python-rtmidi

CMD3.jpg

And voila (you can update pip also). Everything went smoothly and it remained simple. O-S-C 44.0 detect the python-rtmidi on the next launch and I can use it right away. I expected something more difficult (like the main tutorial haha) to be honest but Jean-Emmanuel removed one of the most boring installation phase of this software needs. Thanks to him!

For the main tutorial update, I would like to feature some of your work. If you are interested, feel free to respond with a picture of your template or a photo in a "studio situation".


Enjoy!
 
Last edited:

lucor

Senior Member
So, has anyone figured out another good way for a dynamic keyswitch page yet, one that changes with your track selection? @Manaberry's way with QuickControls unfortunately doesn't work with a disabled template.
 

Mihkel Zilmer

Senior Member
So, has anyone figured out another good way for a dynamic keyswitch page yet, one that changes with your track selection? @Manaberry's way with QuickControls unfortunately doesn't work with a disabled template.
Yes, I have one up and running using a custom module javascript (I am completely inexperienced with javascript so I am sure there are much more efficient ways to code it - but this works). You need to add this file to the custom-module line in OSC.

I am using MIDI tracks with MIDI sends just like I did with Lemur.. But you could set up a plugin for sending MIDI.

Will attach the js and project file here. The custom module file has articulation lists for strings, brass etc. included.

EDIT: forgot to add - I have a generic remote set for transit CC 127 on track selection (VST Mixer - Selected - Selected), OSC receives this, custom module ignores CC value 127 for articulation display - bounces back CC 126. Next I have transformers on MIDI tracks just like I did with Lemur - these transform the incoming CC 126 from OSC to CC 117-125, value 0-127 and send it back to OSC, which in turn hides/shows buttons and loads correct labels.

All buttons are set to send PC 1-55.
 

Attachments

Mihkel Zilmer

Senior Member
PS My stuff is all pretty basic - but I saw someone asking for advice on official OSC forums - and from a quick read there I figured it would not be too hard to add custom colours and custom layout based on articulation type (longs, shorts etc), which would be pretty cool visually. Anyway - basic text in an ordinary grid works just fine for me for the moment, so I am not in a rush to try out those things, but maybe one day when I am bored :)

Here's a screenshot of what I have right now (from the project files in the previous post):

Screenshot 2019-04-26 13.08.16.png
 

lucor

Senior Member
Awesome, thank you!! :)
Do I have to do something special with the Java script? Running it doesn't work, it just gives me an error message.
Edit: Nevermind I just saw that you already wrote to add it to the custom module line in OSC. I'll try to figure out how to do that.
 
Last edited:

Mihkel Zilmer

Senior Member
Awesome, thank you!! :)
Do I have to do something special with the Java script? Running it doesn't work, it just gives me an error message.
Edit: Nevermind I just saw that you already wrote to add it to the custom module line in OSC. I'll try to figure out how to do that.
The first window that pops up when you open the OSC app - that has the MIDI port setup etc. - that also has a line for custom module - load the file there.
 

lucor

Senior Member
Just did! :) Unfortunately, after setting everything up in Cubase, I get the following error message whenever I select a track. Any idea what might cause this?

26-04-_2019_14-14-38.png
 
Top Bottom