docsteer / sacnview

sACNView provides a tool for monitoring and sending the Streaming ACN lighting control protocol used for lighting control in theatres, TV studios and architectural systems
http://www.sacnview.org
Apache License 2.0
102 stars 24 forks source link

Mobile support #280

Open danielskeenan opened 2 years ago

danielskeenan commented 2 years ago

Hello sACNView team, I noticed #262 come in recently, as well as the reasons it was closed, and wanted to make a proposal.

Earlier in the year, as an exercise, I created Mobile sACN, a tool that allows you to transmit/receive sACN from any mobile device with a web browser. It works by having a program run on your computer to host the sACN transceiver and provide a web UI that controls what it does. This bypasses the many issues around multicast from a mobile device (battery life, the general iffy-ness of multicast over wifi, and constantly-changing vendor APIs and restrictions).

I havn't touched it in a few months, but I've used it with great success for troubleshooting purposes on job sites before. It feels like the sort of thing that might be interesting to sACNView's audience.

Is there any interest in bringing this sort of functionality directly into sACNView? The way I structured the program is very different compared to sACNView, and I'm positively certain it has a few landmines I havn't found yet, so it wouldn't be a direct drop-in, but I'd be willing to work on a PR to use the same approach to add similar functionality directly to sACNView.

Recent efforts like #273 and #279 seem poised to make the project easier to work on and I'd love to bring the mobile control to a place where it can be of most use. I realize this would be a big change, so I wanted to discuss it before diving in.

docsteer commented 1 year ago

Hi Daniel, this is an interesting idea. It would definitely be possible to add a webserver to sACNView (maybe something like Civetweb - which could be used to provide an HTTP API into what sACNView does and allow it to serve some pages allowing remote control - similar to what you have in your project. I am definitely not a web developer so it'd be great to have some help with something like this - perhaps I can start a branch and integrate a webserver, and then you can look at the UI parts? I'll let you know when I get a sec to do that - thanks much for the offer of help!

danielskeenan commented 1 year ago

Great! I know ya'll are working on beta polish now, so feel free to drop something in here when you get to it.