Ableset Workflow with Open Stage Control

CleanShot 2023-08-08 at 22.08.50

Maybe my favorite thing about Ableset is that it is web based. This is how I am using Ableset with a redundant playback rig inside of Open Stage Control, a free OSC front end. As far as I know, you can’t embed webpages in TouchOSC, but you can in Open Stage Control.

On the left, I use the setlist view to select sections and/or quickly scroll through songs. The upper performance view is my “A” rig MacBook Pro and the the lower performance view is my “B” rig, a Mac mini. By viewing both at the same time, I have visual confirmation that the playbacks are synced up. The “A/B” toggle in the middle indicates which PlayAudio 12 scene is currently active.

Used in conjunction with Gig Performer (another favorite program with great OSC support), this is a very powerful playback rig! I have several functions mapped to a midi foot pedal so that I can advance sections, set the loop hands free, etc. It’s so rad @leolabs !


Hey @mrdrennan,

That’s an excellent way to integrate AbleSet, thank you for sharing it! Open Stage Control looks like an interesting tool as well, I’ll check it out!

I’ve always used TouchOSC in a side-by-side view on my iPad, which was also a good solution but not nearly as flexible as what you’ve built:

1 Like

Wow that’s great @mrdrennan! Would love a walkthrough on how to achieve exactly that if you don’t mind.

I’ve been a TouchOSC fan for years, but when I couldn’t devise a way to display a url inside of a layout, I began to look for other options. Open Stage Control has great support (like AbleSet :wink:) and provided the solution I was looking for.

1 Like

I’d be happy to share. Let me find some time today and I’ll try to break it down.

1 Like

@agustinvolpe @leolabs , here goes nothing…

The first step for this workflow is to download Open Stage Control ( It’s free, and it runs another standalone web server on your computer. I have encountered no difficulty running Open Stage Control and Ableset side by side.

I’ll try to outline further steps below:

  1. Open the server application and set an OSC port to communicate with Open Stage. I have chosen 8500. You can start the server by pressing the play button in the upper left hand corner, and you can stop it by pressing the stop button.

2. You can create a New Session by using the cascading menu in the upper left hand corner.

3. The Editor is accessed by using Command-E or, again, the menu.

4. Widgets can be added with a right-click. All the usual suspects are here if you’ve used TouchOSC or something similar. Buttons, faders, knobs, matrices, all of which can be interacted with through MIDI or OSC (or even local scripting). The community at Open Stage Control is helpful to gain a better understanding. In our case, the desired widget to display Ableset windows is a frame. Add as many as you like and scale them accordingly.

5. Use the value property in the inspector to assign the appropriate URL for your Ableset window. You can even create buttons or widgets that change this url dynamically like a web browser. In my case, I chose to have three frames visible. The far left points to the setlist view on machine A. The upper central frame points to performance view on Machine A. The lower central frame points to the performance view of Machine B.

6. In my personal setup, I am using stems for all tracks in Ableton, grouped into instrument sections. By using Clyphx Pro and X-OSC triggers, I can send OSC messages from this matrix to mute and unmute various instrument groups on the fly. You can even use Open Stage Control to save “snapshots” of the mute states, as seen below the matrix.

7. Another thing I like to do is have text fields that store the OSC port numbers for the various programs and hardware I like to communicate with. This way I don’t have to hardcode it into any OSC messages being sent from Open Stage Control. You can save “States” of your session file and even choose a default state to be loaded when you start the server (this can be done on the server setup window.)

With a lot of great OSC commands afforded by Leo, I can create custom buttons and toggles on the Open Stage Control grid to execute actions such as changing the Jump Mode etc. etc. By no means am I an expert in Open Stage Control, but I do know you can perform a lot of custom scripting on Widgets via java script (not my strong suit) in order to suit your needs. Really, the sky is the limit in terms of interoperability with Ableset.


Thank you so much @mrdrennan!
Gonna try this ASAP

1 Like

Also, don’t forget to save your session on your hard drive somewhere as you go. You can also set a session to open by default on the server set up page. If you don’t save, you might lose it after stopping the server.

1 Like

This is next level! Absolutley going to set this up.
Out of curiosity, have you used MainStage as well? Looking for an alternative and Gigperformer never seemed like an option but I haven’t looked into it very much. What do you use it for?

I used MainStage off and on for years. You can use GigPerformer for all the same types of things, and more. I personally use it as a sophisticated patch changer for various instruments (keyboard, guitar modeler, etc.), with midi, OSC or both. With AbleSet’s great OSC support, I can have song parts in GigPerformer change automatically with sections in AbleSet. This can set off a huge chain reaction of control to various hardware and l/or VSTs. AbleSet and GigPerformer are 2 softwares I’ve been fortunate enough to find in the last 2 years and I find them both indispensable now.

Awesome! Ill have to check it out. Is this open stage control layout you’ve made available as a downloadable file? I’m always down to spend hours optimizing and changing things for my workflow, but it would be nice to have such an amazing starting point

I don’t mind sharing, with the disclaimer that I’m very much an Open Stage Control novice, so a lot of this is a work in progress. I’m constantly tweaking. Give me a few hours.

of course! ill be way behind you. After a while we might be able to nail something down that works really really well!

@CodyWright - here’s my current file; this will get you started. You can poke around and see how some of the scripting works as well as the layout options. Can’t upload JSON files directly to the forum, but you can download here: AbleSet Custom.json - Google Drive

1 Like

This is game changer, was looking for this a long time ago. I am adding an extra button which links to UA midi Control to Bypass Autotune. That way I can have all the buttons one screen without having to go back and forth. Good Job!


Holy Guacamole! :exploding_head: This is amazing. I will be getting into this! Scratching my head thinking why have i never seen / thought of this before!