Page 1 of 1

Controlling Resolume with OSC through a website in a browser

Posted: Sun Mar 22, 2020 14:15
by chanceci
I'm trying to build a website to control Resolume with OSC.

It looks like OSC signals can be sent in html pages using socket.io, node.js, and OSC.js. I've been trying to get this to work over the last few days but I haven't made any functional progress. I'm just trying to put together the pieces if this is even possible, and if so, how.

Does anyone know how to control Resolume using web interfaces or locally hosted websites?

If you are curious why I want to do this, I use Resolume to control my LED sculptures. I want to build a complicated interface on a touch screen for people to control the art. I can make this interface in html/css, but I need the site to send OSC signals to Resolume to make this plan work.

Re: Controlling Resolume with OSC through a website in a browser

Posted: Sun Apr 05, 2020 02:31
by 5AMvisual
I'll gladly help troubleshooting !

Re: Controlling Resolume with OSC through a website in a browser

Posted: Wed Apr 29, 2020 05:14
by TruthC
chanceci wrote: Sun Mar 22, 2020 14:15 I'm trying to build a website to control Resolume with OSC.

It looks like OSC signals can be sent in html pages using socket.io, node.js, and OSC.js. I've been trying to get this to work over the last few days but I haven't made any functional progress. I'm just trying to put together the pieces if this is even possible, and if so, how.

Does anyone know how to control Resolume using web interfaces or locally hosted websites?

If you are curious why I want to do this, I use Resolume to control my LED sculptures. I want to build a complicated interface on a touch screen for people to control the art. I can make this interface in html/css, but I need the site to send OSC signals to Resolume to make this plan work.
I haven't delved into the OSC & MIDI of Resolume yet.

As for embedding OSC into websites two projects come to mind: Open Stage Control & NexusOSC. As you mentioned there is also MIDI.

Internally, within the same computer MIDI has been used not only for control surfaces but also to pass information between software applications as long as they both have MIDI.

With OSC, Artnet, SACN, MIDI over IP, & other network based protocols a virtual network port is used, AKA, a loopback adapter. In Windows 10 this is enabled by installing a driver via the hardware wizard, called Microsoft KM-Test. By internally routing OSC you can link two software programs together, like Resolume & something like Max/MSP or Touchdesigner, or a configuration utility like Showcockpit which has a profile for Resolume. The latest release of Touchdesigner, for example added web based features.

There is the Web MIDI Api, MIDI MPE which is expressive, the recently approved MIDI 2.0 which surpasses OSC in it's feature set and then there is also the Web Audio Api. Then of course there are apps like the widely used TouchOSC. Browser support for MIDI on iOS web browser might not be available yet.

Open Stage Control & NexusOSC are both oriented towards audio, as most of these projects seem to be.

A sound oriented OSC browser & server method
https://openstagecontrol.ammd.net/

NexusOSC
https://nexus-js.github.io/ui/

Internal MIDI loopback driver: see loopMIDI
https://www.tobias-erichsen.de/software.html

How to install
https://kb.vmware.com/s/article/1004779

Touch Designer
https://derivative.ca/

Max/MSP
https://cycling74.com/

Showcockpit utility for control methods
https://showcockpit.com/site/home/

By the way, supposedly WIFI 6 routers offer better handling of multiple devices but it helps if all the devices are WIFI 6 compatible.

Peace,
Truth C.

Re: Controlling Resolume with OSC through a website in a browser

Posted: Mon May 18, 2020 04:28
by domegod
Just wanted to chime in and recommend TouchDesigner for this. It's got a bit of a learning curve for sure, but you'd be able to create a web interface, host it locally, and send OSC to your Resolume instance.

I am doing the same thing you mentioned(!) - creating an interface for users to control LEDs. I was originally just writing Python code, but TouchDesigner takes care of a lot of things for me (connecting devices, UI tools)

Here are some tutorials that helped me:
https://matthewragan.com/2013/10/10/sen ... hdesigner/
https://matthewragan.com/2014/04/11/osc ... hdesigner/