State updates for web UI
- Separate websocket implementation into trait
- This should allow the web version to work without being forced to use
tokio
oractix
. - Also moved client connection specifics into CLI because web version will use different methods to send HTTP requests.
- This should allow the web version to work without being forced to use
- Only create song player when we are playing. This allows remote TUI instances when no audio device exists.
- Make all operations on
PlayerStateManager
work with immutable borrow.- This allows it to be held in an
Arc
and not need external locking.
- This allows it to be held in an