diff options
| author | Sam Nystrom <sam@samnystrom.dev> | 2023-06-13 14:25:15 -0400 |
|---|---|---|
| committer | Sam Nystrom <sam@samnystrom.dev> | 2023-06-13 14:29:21 -0400 |
| commit | d8fbaee5267ce3da587b5b65a6f90a2b985ec32a (patch) | |
| tree | e4814bbb6373a66b92c6b288f14a8fe728b25f2c | |
| parent | ebd975e8f1ac3a383d36130b07f8775589c3f609 (diff) | |
bin/shuffle: don't play the second-previous song
| -rwxr-xr-x | bin/shuffle | 18 |
1 files 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)) |
