hammy275 / rgb-light-control

Repo of Scripts I Use to Control my Smart Lights
MIT License
0 stars 0 forks source link

A Decent UI #2

Open hammy275 opened 5 months ago

hammy275 commented 5 months ago

Should be built as a website, that way audio playback can be done anywhere.

Initially, supporting uploading an audio file (and an instrumental optionally) is enough. Would need to split the function to cycle music to calculate the timings and run the lights separately, and deal with pausing, scrubbing, and the lag from the website <--> server communication.

hammy275 commented 5 months ago

Both as an opportunity to learn Flutter and to take advantage of the work done by Finamp, I should build this in Flutter

hammy275 commented 5 months ago

A thought on the architecture here.

The server would have a few API endpoints:

The client would get the list of light timings, an estimate of the light delay, an estimate of the delay to talk with the server (by using the ping endpoint), then the client has enough to handle running the lights similarly to how the script does now. This way, pausing, scrubbing, etc. only needs the client to do the heavy lifting.

hammy275 commented 5 months ago

Still going to do the above, but only with a music upload rather than basically building an entire Jellyfin client. That's a lot of work for this project for relatively little gain (skipping the inconvenience of uploading a couple music files).

hammy275 commented 5 months ago

The API is spun off into #7 , which this issue now depends on completing first.

hammy275 commented 5 months ago

Things left to do:

hammy275 commented 5 months ago

Also, at some point during development, gradient mode broke. Need to look into that

hammy275 commented 4 months ago

Fixed the gradient mode thing. Was way too strict on send_delay calculations.