I started looking into WebRTC lately and wanted to build something for SuperCollider.
WebRTC allows you to implement real time communication with multiple clients in an easy way while it also takes care of some obstacles like peering.
While SuperCollider does not support natively support WebRTC we can build a bridge between WebRTC and OSC.
You can run this setup on your own machine for your local network or can put the webserver on a remote machine so the GUI is accessible from the internet.
I wrote a setup guide for both setups which can be found in the
README.md of the repository.
I would be glad to hear what you think about it, what could be improved (its currently
0.1.0) and also happy about contributions (e.g. additional sliders like a 2D slider or a button?) and usecases you have in mind.
Currently the controls get synced for every user, so
n users will all access the same GUI element which is synced for all. But it would also possible to provide for each user its own independent, unsynced GUI where each of the clients send their value to SuperCollider instead of a single, synced value.