Skip to content

Commit 0f5d610

Browse files
committed
Revert 10 track history window
1 parent 289b4f9 commit 0f5d610

1 file changed

Lines changed: 13 additions & 0 deletions

File tree

connect/src/spirc.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ struct SpircTaskConfig {
8484
autoplay: bool,
8585
}
8686

87+
const CONTEXT_TRACKS_HISTORY: usize = 10;
8788
const CONTEXT_FETCH_THRESHOLD: u32 = 5;
8889

8990
const VOLUME_STEPS: i64 = 64;
@@ -1051,9 +1052,21 @@ impl SpircTask {
10511052
let new_tracks = &context.tracks;
10521053
debug!("Adding {:?} tracks from context to frame", new_tracks.len());
10531054
let mut track_vec = self.state.take_track().into_vec();
1055+
if let Some(head) = track_vec.len().checked_sub(CONTEXT_TRACKS_HISTORY) {
1056+
track_vec.drain(0..head);
1057+
}
10541058
track_vec.extend_from_slice(new_tracks);
10551059
self.state
10561060
.set_track(protobuf::RepeatedField::from_vec(track_vec));
1061+
1062+
// Update playing index
1063+
if let Some(new_index) = self
1064+
.state
1065+
.get_playing_track_index()
1066+
.checked_sub(CONTEXT_TRACKS_HISTORY as u32)
1067+
{
1068+
self.state.set_playing_track_index(new_index);
1069+
}
10571070
} else {
10581071
warn!("No context to update from!");
10591072
}

0 commit comments

Comments
 (0)