From 0f00616dca071750381234b5c59c8ec1e71b28ed Mon Sep 17 00:00:00 2001 From: salmonik Date: Fri, 8 May 2026 01:12:31 +0200 Subject: Fix shuffle first song not being shuffled update_shuffle_indices now shuffles all indices when position is 0 (no tracks have been played yet), so the first track played is random instead of always being tracks[0]. Directory playback now uses q.current() to pick the first track, resolving through shuffled indices when shuffle is active. Also pins notify-rust version in Cargo.toml and removes PLAN.md (superseded by TODO.md). --- src/daemon.rs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src/daemon.rs') diff --git a/src/daemon.rs b/src/daemon.rs index cca9b11..00bf35f 100644 --- a/src/daemon.rs +++ b/src/daemon.rs @@ -453,11 +453,10 @@ fn process_command( q.add_track(file.clone()); } if !audio.is_playing() - && let Some(track) = files.first() + && let Some(track) = q.current() { - let track = Track::from_path(track.clone()); audio.play(track.path.clone()); - notification::notify_track(&track); + notification::notify_track(track); } format!("Queued {} tracks from: {}\n", files.len(), path_str) } -- cgit v1.2.3