dotfiles/.local/bin/scripts/focus

23 lines
771 B
Plaintext
Raw Normal View History

2021-10-16 08:46:54 +00:00
#!/bin/sh -e
# launch my focus playlist or find a matching playlist or song files
# depends: mp mpc
# env: MUSIC
2022-08-04 21:53:53 +00:00
# args: either a playlist file name, or a list of terms which all have to match
2022-12-22 14:44:02 +00:00
# TODO fails on "Alchemy"
2023-08-07 17:53:37 +00:00
# TODO implement finding by tags
2022-08-04 21:53:53 +00:00
PLAYLISTS="${PLAYLISTS:-$MUSIC/Playlists}"
2024-01-12 16:53:41 +00:00
mpc -q clear || mpdr
2021-10-16 08:46:54 +00:00
if test -z "$1"
then mp -q "$PLAYLISTS/focus.m3u"
2021-10-16 08:46:54 +00:00
else
2023-08-07 17:53:37 +00:00
set -o noglob
2022-01-08 21:53:49 +00:00
(find -L $PLAYLISTS -iname "focus-$1.m3u" -print0 | grep --null-data . ||
find -L $PLAYLISTS -iname "$1.m3u*" -print0 | grep --null-data . ||
2023-08-07 17:53:37 +00:00
find -L $MUSIC $(echo "$@" | sed "s/\w\+/-iname *\0* /g") -prune -exec find {} -size +1M -type f -not -iregex ".*.\(jpe?g\|png\)" -print0 \; ) |
2022-01-08 21:53:49 +00:00
xargs -0 mp -q
fi
if test $(mpc playlist | wc -l) -gt 1; then
mpc -q shuffle
mpc next
2021-10-16 08:46:54 +00:00
fi