Changes the client used to access the Qobuz music service in the player into a trait for a MusicService. This makes it so the player defines the interface to provide it with data allowing for the possibility of supporting other services.
The bit depth and sample rate displayed in the player UIs is retrieved from the player to make it universal.
Changes to the Qobuz API were made so the login method accepts the username and password so it aligns with the trait.
Caches data from Qobuz primarily to make reopening large playlists quicker.
Removes the CurrentTrack and Duration notifications.
Adds an AudioQuality, Loading and Quit notification.
Removes a lot of early-made types that are not needed.
Handles player messages, except for buffering, asynchronously.
Sends player broadcasts when switching entities or tracks optimistically so the UIs update quicker.
Fixes issues with the UIs caused by these changes
Gracefully exits all threads when quitting.
Changes queue type from a Vec to a BTreeMap to help performance with longer lists.
This is a maintenance release.
Fixes/Changes