Open hammy275 opened 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
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.
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).
The API is spun off into #7 , which this issue now depends on completing first.
Things left to do:
Also, at some point during development, gradient mode broke. Need to look into that
Fixed the gradient mode thing. Was way too strict on send_delay
calculations.
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.