From d917065d93769c63bf87f870ec0d0f6ae4f42edc Mon Sep 17 00:00:00 2001 From: Rasmus Steinke Date: Wed, 20 Sep 2017 21:28:08 +0200 Subject: shuffle array before adding songs --- clerk | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/clerk b/clerk index ad00d5f..8b4c958 100755 --- a/clerk +++ b/clerk @@ -17,11 +17,10 @@ use File::stat; use Try::Tiny; use FindBin '$Bin'; use FindBin '$Script'; -use List::Util qw(min); +use List::Util qw(min any shuffle); use Getopt::Std; use HTTP::Date; use IPC::Run qw( timeout start ); -use List::Util qw(any); use Net::MPD; use POSIX qw(tzset); use autodie; @@ -274,7 +273,8 @@ sub random_rated_tracks { $minimal = "$minimal_rating"; my $rdb = unpack_msgpack(); my @rating_rdb = grep { ($_->{rating} // 0) >= $minimal } @$rdb; - $mpd->add($_->{uri}) for (splice(@rating_rdb, -min($#rating_rdb, $songs))); + my @random_rated_tracks = shuffle @rating_rdb; + $mpd->add($_->{uri}) for (splice(@random_rated_tracks, -min($#random_rated_tracks, $songs))); } sub random { -- cgit v1.2.3-24-g4f1b