From d8fbaee5267ce3da587b5b65a6f90a2b985ec32a Mon Sep 17 00:00:00 2001 From: Sam Nystrom Date: Tue, 13 Jun 2023 14:25:15 -0400 Subject: bin/shuffle: don't play the second-previous song --- bin/shuffle | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/bin/shuffle b/bin/shuffle index ce27bb7..c611f32 100755 --- a/bin/shuffle +++ b/bin/shuffle @@ -1,22 +1,24 @@ #!/bin/sh -eu -files=$(find "${1:-.}" -type f) -n=$(echo "$files" | wc -l) - -prev=-1 -index=$((RANDOM % n)) +prev2=-1 +prev1=$prev2 +index=$prev1 while :; do - while [ $index -eq $prev ]; do + files=$(find "${1:-.}" -type f) + n=$(echo "$files" | wc -l) + + while [ $index -eq $prev2 ] || [ $index -eq $prev1 ]; do index=$((RANDOM % n)) done - prev=$index + prev2=$prev1 + prev1=$index echo "$files" | ( i=0 while read -r file; do if [ $i -eq $index ]; then echo "Playing $file" - mpv "$file" || : + mpv --no-video "$file" || : break fi i=$((i + 1)) -- cgit v1.2.3