Gig Performer & Open Stage Control

Hi all!

Just wanted to share an awesome alternative to Lemur and TouchOSC.

After a brief time using Lemur, I discovered the open source project Open Stage Control.

My template is definitely still a work in progress, but I’m super happy with the results so far:





2 Likes

Nice! Definitely going to try this out!

How do you find this compares to lemur?

Does it run on an iPad? Last time I looked at that it only worked on regular computers

So for me, the uptake seemed quicker than with Lemur? I liked editing right there in the canvas as opposed to using a separate computer program to design.

Lemur does have slightly more widget types, but I’ve not been unable to accomplish anything I’ve needed so far…

The biggest difference is definitely the technical implementation though: there is no dedicated app like Lemur or TouchOSC. Instead, it is installed on a Linux/Windows/OSX machine and serves a web page that can be consumed from any device via a web browser. I use the Kiosker Pro app for IOS on a 12.9" iPad as my client device and run the Open Stage Control server right there on my Gig Performer laptop. You can see in this screenshot how the communication all happens over the loopback address.

@dhj, you’re correct in that the Open Stage Control application itself only runs on on a computer. However, it serves a UI that can be consumed from any mobile device via a web browser app. The screenshots I posted originally were taken on an iPad using Kiosker Pro.

My experience so far is that it’s been very responsive and completely stable, even when using a common/busy wifi network instead of a private ad hoc network.

@speed12 if you want to take a look, here is my current configuration as well as a small custom module I wrote to intercept incoming/outgoing OSC messages and conditionally perform actions based on what is intercepted.

OpenStageControl.zip (7.5 KB)

Cool, cheers - I’ll take a look! Had only recently got in to Lemur and it works well but even from just a visual perspective I already prefer this; will have a play and see what it’s like to get something set up.

stevmills said it, but I think it’s worth saying again because the Open Stage Control website can make it seem a lot more complicated than it actually is.

Whether you’re running GP on OSX, Windows, or Linux, all you need to download is the right Open Stage Control package for your system.

When you unpack that, it creates a folder with a lot of support files and one executable.

You generally run that executable (open-stage-control.exe on windows) on the same system you run GP on. It will open a configuration window with a couple dozen options, but only two that you need to specify:

  • Send: 127.0.0.1:54321 or whatever port you told GP to listen on
  • Osc: 54345 or whatever you told GP to send on

Then you open a web browser on any device you want to use as a controller. I’ve used three or four different phones of various generations, an old Kindle Fire, my mother in law’s iPad (just to test), and my windows Surface Pro.

After opening the web browser you just connect to your computer’s IP address, port 8080 (unless you changed that in the open state control settings window). For me that’s typically 192.168.1.229:8080.

Then you select the template to load (which I keep in a folder on the GP computer), go full screen, and you’re rolling.

I find building templates easier in Open Stage Control than in Lemur or TouchOSC, but maybe that’s just because I’ve used it a lot more. It’s also a lot more powerful and flexible for template design and functionality from my experience. You can embed scripting and all sorts of stuff into widgets, but I haven’t found a need to go there.

What’s mechanically happening here is that the open-stage-control executable is just starting up a web server that acts as the OSC interface to GP, and it provides a web server interface that you can connect any reasonably modern browser to. So you don’t need a Lemur or TouchOSC app on your display device. In my opinion it’s better than the alternatives, better supported, and free.

Thanks for the example - haven’t had a chance to properly test it but it looks very powerful.

One question - if I’m correct, the ‘server’ application is purely serving up the UI. If that is the case, is it possible to run a different UI on different devices but with them all sending ‘common’ OSC?

My use case is that I use Ableton to run tracks alongside GP. My plan was to use Lemur as a HUD for both what GP is doing and also what the tracks are doing (using some custom Max patches). One massive benefit I could see using OpenStageControl if multiple UIs can be used from the same ‘server’ is that I can have a UI on my iPad for both GP and Ableton info but could also have some simplified UIs showing just Ableton info that my band mates could access so they could a) see track info that might be useful and b) actually control the tracks. As they don’t need GP access it makes sense that they wouldn’t have the UI for that on their screen.