summaryrefslogtreecommitdiff
path: root/m
blob: ab62054fde4f1fb9c77f66966abe27a6d8d41bb8 (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
31
32
33
34
#!/usr/bin/env bash
cmd_list="play load-playlist stop next prev toggle add insert volume seek repeat single consume random clear crop shop-start shop-stop"

# TODO: dmenu integration. idk how to detect I'm in dmenu and switch to that...
menu() {
    prompt=$1
    shift
    fzf \
        --bind "ctrl-a:select-all" \
        --preview 'mpc status && echo queue: && mpc playlist' \
        --prompt "$prompt> " \
        $@
}

cmd=$(echo $cmd_list | sed 's/ /\n/g' | menu "mpd")

[[ -z $cmd ]] && exit 1

needs_selection=(add insert)
if [[ $cmd == insert  ]]; then
    mpc listall | menu "insert" | mpc insert
    mpc play
elif [[ $cmd == add ]]; then
    mpc listall | menu "add" --multi | mpc add
    mpc play
elif [[ $cmd == shop-stop ]]; then
    systemctl --user stop shop-music.service
elif [[ $cmd == shop-start ]]; then
    systemctl --user start shop-music.service
elif [[ $cmd == load-playlist ]]; then
    mpc lsplaylist | menu "playlists" | xargs mpc load
else
    mpc $cmd
fi