diff options
| author | salmonik <raisersoft@proton.me> | 2026-05-16 12:47:43 +0200 |
|---|---|---|
| committer | salmonik <raisersoft@proton.me> | 2026-05-16 12:47:43 +0200 |
| commit | 43562db0804338f2d55dff13439f1165f8dd9d3f (patch) | |
| tree | 134248a95024815194d152de56f9b3f70d24d096 /src/queue.rs | |
| parent | Add scrobbling support (Last.fm + ListenBrainz) and rsp settings reload (diff) | |
| download | rsplayer-43562db0804338f2d55dff13439f1165f8dd9d3f.tar.gz rsplayer-43562db0804338f2d55dff13439f1165f8dd9d3f.zip | |
first public release.
Diffstat (limited to 'src/queue.rs')
| -rw-r--r-- | src/queue.rs | 16 |
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; |
