blob: 42ceeebfeee5724b1e87dd4aad102a5bfc94eede (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
#!/bin/sh
# simple music selector with dmenu that uses and interacts with mpv
# have a look at musiccmd, dwmblocks/sb_music and .local/etc/mpv/music
# shellcheck disable=SC2012
MUSICDIR="${XDG_MUSIC_DIR:-$HOME/music}"
if [ "$1" = "--shuffle" ]; then
SHUFFLE=yes
shift
fi
MUSIC="${1:-$MUSICDIR/$(ls "$MUSICDIR" | dmenu -i -p "Play ")}"
SCRIPT="$XDG_CONFIG_HOME/mpv/music/local.lua"
if [ "$MUSIC" = "$MUSICDIR/urls" ]; then
MUSIC="$(cat "$MUSICDIR/urls/$(ls "$MUSICDIR/urls" | dmenu -i -p "Play ")")"
SCRIPT="$XDG_CONFIG_HOME/mpv/music/online.lua"
fi
[ "$MUSIC" = "$MUSICDIR/" ] || [ -z "$MUSIC" ] && exit 1
if [ -z "$SHUFFLE" ] && [ -d "$MUSIC" ] || printf '%s' "$MUSIC" | grep -q playlist; then
SHUFFLE="$(printf 'yes\nno' | dmenu -i -p 'Shuffle?')"
[ -z "$SHUFFLE" ] && exit 1
fi
printf 'stop\n' | socat - /tmp/mpvsocket 2> /dev/null
mpv --vid=no --input-ipc-server=/tmp/mpvsocket --loop-playlist --volume=75\
--ytdl-format="wv*+ba" --script="$SCRIPT" --shuffle="$SHUFFLE" "$MUSIC"
|