From ebd975e8f1ac3a383d36130b07f8775589c3f609 Mon Sep 17 00:00:00 2001 From: Sam Nystrom Date: Fri, 9 Jun 2023 00:06:54 -0400 Subject: add music shuffle script --- bin/shuffle | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100755 bin/shuffle (limited to 'bin/shuffle') diff --git a/bin/shuffle b/bin/shuffle new file mode 100755 index 0000000..ce27bb7 --- /dev/null +++ b/bin/shuffle @@ -0,0 +1,25 @@ +#!/bin/sh -eu + +files=$(find "${1:-.}" -type f) +n=$(echo "$files" | wc -l) + +prev=-1 +index=$((RANDOM % n)) + +while :; do + while [ $index -eq $prev ]; do + index=$((RANDOM % n)) + done + prev=$index + echo "$files" | ( + i=0 + while read -r file; do + if [ $i -eq $index ]; then + echo "Playing $file" + mpv "$file" || : + break + fi + i=$((i + 1)) + done + ) +done -- cgit v1.2.3