diff options
| author | coasteen <coasteen@proton.me> | 2026-07-09 10:42:28 +0330 |
|---|---|---|
| committer | coasteen <coasteen@proton.me> | 2026-07-09 10:42:28 +0330 |
| commit | 8cbadb61604667b407b53ee1258433994fa4765a (patch) | |
| tree | 97765fb29418fd6278fcb4cbb9760893afaf7a58 /local/bin/sb-liisten | |
Diffstat (limited to 'local/bin/sb-liisten')
| -rwxr-xr-x | local/bin/sb-liisten | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/local/bin/sb-liisten b/local/bin/sb-liisten new file mode 100755 index 0000000..ff9b420 --- /dev/null +++ b/local/bin/sb-liisten @@ -0,0 +1,38 @@ +#!/bin/sh +#Liisten for the status bar + +#options +LOOPCOUNT=1 #however many times you want the song to play minus one (for technical reasons) +SONGDIR="$HOME/music/brstm" +cd "$SONGDIR" + +MODE=$(printf "Random\nForever" | dmenu -i) + +playsong () { + vgmstream-cli -m "$SONG" > /tmp/brstminfo.txt + STARTLOOP="$(grep "seconds" /tmp/brstminfo.txt | head -n 1 | sed 's/.*(//' | sed 's/ seconds)//')" + ENDLOOP="$(grep "seconds" /tmp/brstminfo.txt | tail -n 1 | sed 's/.*(//' | sed 's/ seconds)//')" + echo "Now playing: \"$(echo $SONG | sed 's/\.brstm//')\"" + mpv --ab-loop-a="$STARTLOOP" --ab-loop-b="$ENDLOOP" --ab-loop-count="$LOOPCOUNT" "$SONG" +} + +forever () { + SONG="$(command ls -1 | dmenu -i)" + vgmstream-cli -m "$SONG" > /tmp/brstminfo.txt + STARTLOOP="$(grep "seconds" /tmp/brstminfo.txt | head -n 1 | sed 's/.*(//' | sed 's/ seconds)//')" + ENDLOOP="$(grep "seconds" /tmp/brstminfo.txt | tail -n 1 | sed 's/.*(//' | sed 's/ seconds)//')" + mpv --ab-loop-a="$STARTLOOP" --ab-loop-b="$ENDLOOP" --loop-file=inf "$SONG" +} + +random () { + while true; do + RANDNUM=$(shuf -i 1-$(ls -1 | wc -l) -n 1) + SONG="$(command ls | head -n $RANDNUM | tail -n 1)" + playsong + done +} + +case "$MODE" in + Forever) forever ;; + Random) random ;; +esac |
