diff options
author | Ben Sima <ben@bsima.me> | 2021-05-04 14:44:35 -0400 |
---|---|---|
committer | Ben Sima <ben@bsima.me> | 2021-05-04 14:44:35 -0400 |
commit | 1fc79aae91ec9ac54794b37a4e3edf10e537cc65 (patch) | |
tree | acac47156a8c1e892dcfe07f1da7566f9f459e05 | |
parent | c9ad53d4ab12cdf742a5f42d1e1bb6cf8946dd1c (diff) |
add mpc control script
-rwxr-xr-x | m | 34 |
1 files changed, 34 insertions, 0 deletions
@@ -0,0 +1,34 @@ +#!/usr/bin/env bash +cmd_list="play 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 \ + --preview 'mpc status && echo queue: && mpc queued' \ + --prompt "$prompt> " \ + $@ +} + +select_song() { + file=$(mpc listall | menu "enqueue") + [[ -z $file ]] && exit 1 + mpc "$1" "$file" + mpc play +} + +cmd=$(echo $cmd_list | sed 's/ /\n/g' | menu "mpd") + +[[ -z $cmd ]] && exit 1 + +needs_selection=(add insert) +if [[ " ${needs_selection[@]} " =~ $cmd ]]; then + select_song $cmd +elif [[ $cmd == shop-stop ]]; then + systemctl --user stop shop-music.service +elif [[ $cmd == shop-start ]]; then + systemctl --user start shop-music.service +else + mpc $cmd +fi |