From 97595ae369448ae8099d8bd0295c7664fbf2e1de Mon Sep 17 00:00:00 2001 From: Julien Rabier Date: Wed, 29 Jul 2020 11:39:52 +0200 Subject: [PATCH] improve randomness --- src/main.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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() } }