aboutsummaryrefslogtreecommitdiffstats
path: root/src/queue.rs
diff options
context:
space:
mode:
authorsalmonik <raisersoft@proton.me>2026-05-16 12:47:43 +0200
committersalmonik <raisersoft@proton.me>2026-05-16 12:47:43 +0200
commit43562db0804338f2d55dff13439f1165f8dd9d3f (patch)
tree134248a95024815194d152de56f9b3f70d24d096 /src/queue.rs
parentAdd scrobbling support (Last.fm + ListenBrainz) and rsp settings reload (diff)
downloadrsplayer-43562db0804338f2d55dff13439f1165f8dd9d3f.tar.gz
rsplayer-43562db0804338f2d55dff13439f1165f8dd9d3f.zip
first public release.
Diffstat (limited to 'src/queue.rs')
-rw-r--r--src/queue.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/queue.rs b/src/queue.rs
index 8f98173..26aeb8b 100644
--- a/src/queue.rs
+++ b/src/queue.rs
@@ -385,6 +385,22 @@ impl Queue {
385 &self.shuffled_indices 385 &self.shuffled_indices
386 } 386 }
387 387
388 pub fn shuffle_initial(&mut self) {
389 if self.position != 0 || self.tracks.len() <= 1 {
390 return;
391 }
392 let mut rng = rand::rng();
393 match self.shuffle {
394 ShuffleMode::All => {
395 self.shuffled_indices.shuffle(&mut rng);
396 }
397 ShuffleMode::Album => {
398 self.shuffle_album_range(0..self.tracks.len(), &mut rng);
399 }
400 ShuffleMode::None => {}
401 }
402 }
403
388 pub fn clear(&mut self) { 404 pub fn clear(&mut self) {
389 self.tracks.clear(); 405 self.tracks.clear();
390 self.position = 0; 406 self.position = 0;