cables-gl / cables_docs

cables documentation docs.cables.gl

Home Page:https://cables.gl/docs/docs

Repository from Github https://github.comcables-gl/cables_docsRepository from Github https://github.comcables-gl/cables_docs

Remote viewer offline

edeetee opened this issue · comments

I've been looking for a tool for a while that would make it easy to set up and customise many projectors with minimal set up, to be able to quickly set up and play with installations at events.
Touchdesigner would normally be my software of choice but requires a full windows PC and doesn't provide any remote developing functionality.

I think that mini pcs/raspberry pi + cables offline + mesh wifi + cables.gl would be an extremely flexible solution, allowing the user to develop on a laptop connected to the local mesh network.

Offer

I'm looking for a project over winter (I'm in NZ) that will expand my installation possibilities. I would be interested in developing this feature. It seems like a lot of the elements for it are already there.

Requirements

  • Remote cabling over a local network without internet connection
  • CLI flag to tell standalone to launch in remote mode. On launching, it will display an ip address and access code that can be inputted on the control instance. After 10 seconds, if there is a previously opened patch, it will hide the ip address and access code and continue to play the patch as normal.
  • Key pair could be copied on first connection to forgo the access code in subsequent connections.

Questions

  • It seems like the remote functionality currently depends on internet connection to mediate. Do you think it is achievable to generalise it for local connections?

Thanks for reading!

we currently do not have and "remote viewer" functionality in the standalone version, it might be possible to patch something for local use using the SocketClusterServer op in standalone.

we are thinking about having a "playback mode" for the standalone as well, so if you have more ideas on the After 10 seconds, if there is a previously opened patch, it will hide the ip address and access code and continue to play the patch as normal. part, feel free to share!

we currently do not have and "remote viewer" functionality in the standalone version, it might be possible to patch something for local use using the SocketClusterServer op in standalone.

Question

Do you think it is realistic for me to refactor the remote viewer functionality to work in a local network? I don't want a patch, I want to add native functionality.

Extension

A further extension of this ability to remotely control the patch of a client would be to intuitively allow arbitrary parts of a patch to be run on separate clients.

This could be initially restricted to sending of basic data - no video, but could eventually be extended to use video with something like NDI.

This would make it easy to do any number of remotely controlled interfaces.

User story

  1. User starts up cables.io on their laptop and two raspberry pi's with projectors connected on the same network
  2. User has configured raspberry pis with cables.io standalone autostarting in remote mode
  3. User places down 'remote subpatch' node. They give it a float input. They configure it to point at one of the raspberry pis.
  4. The users laptop processes the patch up to the 'remote subpatch' node. It then sends the inputs of the 'remote subpatch' node to the raspberry pi
  5. The raspberry pi receives the inputs and processes from there, displaying the result.

I've seen patches, like https://cables.gl/edit/RkOuVk which do something like this. This would just make it extremely flexible and intuitive.

we are thinking about having a "playback mode" for the standalone as well, so if you have more ideas on the After 10 seconds, if there is a previously opened patch, it will hide the ip address and access code and continue to play the patch as normal. part, feel free to share!

Can you detail mode what you mean by playback mode? Is it just for automatically launching a patch when the app starts? I think its definitely an important feature, pretty easy to support through a cli flag for simple external control.

Showing the ip address (and optional access code) would only be required if cables.gl had built in local network capabilities.