This repository has been archived on 2024-04-07. You can view files and clone it, but cannot push or open issues or pull requests.
dotfiles/dotfiles/scripts/musmenu

55 lines
1.3 KiB
Bash
Executable File

#!/bin/sh
set -e
menu=wdmenu
search(){
music=$(mpc playlist --format '%artist% : %title%' | sed '/^ : $/d' | $menu)
if [ "$music" = "" ]
then
exit 1
fi
artist=$(echo "$music" | perl -pe 's/(.*) : (.*)/\1/')
title=$(echo "$music" | perl -pe 's/(.*) : (.*)/\2/')
mpc --quiet searchplay artist "$artist" title "$title"
}
delete(){
[ -n "$XDG_CONFIG_HOME" ] &&
config_root="$XDG_CONFIG_HOME" ||
config_root="$HOME/.config"
music_root=$(awk '/^music_directory/ {
gsub(/"/,"");
gsub(/~/,"'$HOME'");
print $2
}' $config_root/mpd/mpd.conf)
current="$music_root"/"$(mpc current -f %file%)"
answer=$(printf "nothing\n$current" | $menu -p"delete?" )
if [ "$answer" = "$current" ]
then
trash "$answer"
mpc --quiet next
mpc --quiet update
fi
}
usage(){
cmdname=$(basename "$0")
echo "Commands: "
echo " $cmdname search -- Searches the current playlist for songs and plays it."
echo " $cmdname delete -- Prompts to delete the current song."
}
case "$1" in
delete)
delete ;;
search)
search ;;
*)
usage
search
;;
esac