From 1fc79aae91ec9ac54794b37a4e3edf10e537cc65 Mon Sep 17 00:00:00 2001 From: Ben Sima Date: Tue, 4 May 2021 14:44:35 -0400 Subject: add mpc control script --- m | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100755 m (limited to 'm') diff --git a/m b/m new file mode 100755 index 0000000..9bbe291 --- /dev/null +++ b/m @@ -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 -- cgit v1.2.3