Resolve "Federated tracks are downloaded too late and too slowly and don't play the first time they come up in the queue"
Closes #572 (closed)
So, this:
- Moves the all the playing logic from our old
audio/Track
component to ourPlayer
component - Preload the next track in queue, if any, after 15 seconds of playback on the current track, or if the current track ends in less than 20s (whichever comes first)
- Fix a few unrelated glitches that were introduced recently (see first commits)
Incidentally, the changes in this MR seems to make the whole player more stable, especially when appending tracks to queue / reordering.
Under the hood, the cache size is configurable, so we could technically make the preload more powerful (e.g disable it, or preload more than one track), or offer a UI to control it in the future.