mirror of
https://github.com/librespot-org/librespot.git
synced 2024-12-18 17:11:53 +00:00
b9b8e110df
1) A queued track is removed once it has become the current track. Note that the track doesn't need to actually play i.e. it could have been immediately skipped over with 'next()'. This is implemented in 'consume_queue()'. 2) Queued tracks are always positioned immediately after the current track. 1) ensures this is true for 'next()' but 'prev()' requires all the queued tracks are actually moved for this to remain the case. Also fixed the case where 'prev()' on the first track would incorrectly wrap back around to the last track even when repeat was disabled. The correct behaviour is to remain on the first track and just seek to the start. For example, with the following tracks and repeat enabled: TrackA, TrackB, TrackC-Q, TrackD-Q, TrackE ^^^^^^ Here, the result of 'prev' changes the current track from TrackB to TrackA and the queued tracks (TrackC, TrackD) move to the position immediately after TrackA: TrackA, TrackC-Q, TrackD-Q, TrackB, TrackE ^^^^^^ Calling 'prev' again results in the current track wrapping back around to TrackE and the queued tracks moving after that same track: TrackA, TrackB, TrackE, TrackC-Q, TrackD-Q ^^^^^^ |
||
---|---|---|
.. | ||
audio_backend | ||
mixer | ||
discovery.rs | ||
keymaster.rs | ||
lib.in.rs | ||
lib.rs | ||
main.rs | ||
player.rs | ||
spirc.rs |