55 lines
1.2 KiB
Bash
Executable File
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
|