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.2 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=$(echo -e "nothing\n$current" | $menu -p"delete?" )
if [ "$answer" == "$current" ]
then
trash "$answer"
mpc --quiet next
mpc --quiet update
fi
}
usage(){
echo "Commands: "
echo " $0 search -- searches the current playlist for songs and plays it"
echo " $0 delete -- prompts to delete the current song"
}
if [ "$1" == "delete" ]
then
delete
elif [ "$1" == "search" ]
then
search
else
usage
search
fi