diff --git a/src/main.rs b/src/main.rs index 1da49b3..77fd1f4 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,6 +1,7 @@ use chrono::Local; use mpd::{Client, Query, Song}; use rand::prelude::*; +use rand::seq::SliceRandom; use std::{thread, time}; fn main() { @@ -82,7 +83,11 @@ fn get_random_track() -> Song { if songs.is_empty() { return get_random_track(); } else { - let track = &songs[0]; + let mut rng = rand::thread_rng(); + let track = match songs.choose(&mut rng) { + Some(song) => song, + None => panic!("Impossible de choisir un morceau"), + }; track.clone() } }