1
0
Fork 0
mirror of https://github.com/jarun/nnn.git synced 2025-02-18 23:34:37 +00:00
nnn/plugins/boom

51 lines
1.4 KiB
Text
Raw Normal View History

#!/usr/bin/env sh
2021-05-15 23:02:01 +05:30
# Description: Play random music (MP3, FLAC, M4A, WEBM, WMA) from current dir.
#
# Dependencies: mocp (or custom)
#
# Note: You may want to set GUIPLAYER.
#
# Shell: POSIX compliant
# Author: Arun Prakash Jana
GUIPLAYER="${GUIPLAYER}"
NUMTRACKS="${NUMTRACKS:-100}"
2019-08-25 06:16:31 +05:30
2020-11-22 20:09:14 +05:30
if [ -n "$GUIPLAYER" ]; then
2020-04-27 00:05:11 +05:30
find . -type f \( -iname "*.mp3" -o -iname "*.flac" -o -iname "*.m4a" -o -iname "*.webm" -o -iname "*.wma" \) | shuf -n "$NUMTRACKS" | xargs -d "\n" "$GUIPLAYER" > /dev/null 2>&1 &
2019-08-24 22:35:04 +05:30
# detach the player
2019-11-22 02:14:25 +05:30
sleep 1
elif type mocp >/dev/null 2>&1; then
cmd=$(pgrep -x mocp 2>/dev/null)
ret=$cmd
if [ -z "$ret" ]; then
# start MOC server
mocp -S
2020-04-27 08:35:43 +05:30
mocp -o shuffle
else
# mocp running, check if it's playing
state=$(mocp -i | grep "State:" | cut -d' ' -f2)
if [ "$state" = 'PLAY' ]; then
# add up to 100 random audio files
2020-04-27 08:35:43 +05:30
find . -type f \( -iname "*.mp3" -o -iname "*.flac" -o -iname "*.m4a" -o -iname "*.webm" -o -iname "*.wma" \) | head -n "$NUMTRACKS" | xargs -d "\n" mocp -a
exit
fi
fi
2019-08-24 22:35:04 +05:30
# clear MOC playlist
mocp -c
2020-04-27 08:35:43 +05:30
mocp -o shuffle
2019-08-24 22:35:04 +05:30
# add up to 100 random audio files
2020-04-27 08:35:43 +05:30
find . -type f \( -iname "*.mp3" -o -iname "*.flac" -o -iname "*.m4a" -o -iname "*.webm" -o -iname "*.wma" \) | head -n "$NUMTRACKS" | xargs -d "\n" mocp -a
2019-08-24 22:35:04 +05:30
# start playing
mocp -p
2020-01-05 22:43:23 +05:30
else
printf "moc missing"
read -r _
2019-08-24 22:35:04 +05:30
fi