With mpq you can view and manipulate songs in the mpd queue. These are
the default key bindings; customize by modifying keys.go:
$ mpq -hKey bindings:q : quitenter : play highlighted songspace : toggle play/pauseup, k : highlight previous songdown, j : highlight next songalt+up/k : move highlighted song upalt+down/j: move highlighted song downleft, h : seek backwards 5sright, l : seek forwards 5sd : remove song from queuec : clear queuegit clone git@github.com:codesoap/mpq.git
cd mpq
go install
# The binary is now at ~/go/bin/mpq. Add ~/go/bin to your $PATH to run# go programs easily:
mpqI use a little script called mqa (music queue add). It requires mpc
and fzf; use tab to select songs and enter to add them to the
queue:
#!/usr/bin/env shalias mpc='mpc -f "%file%\t[%artist% - ][%album% [#[##%track%#] ]- ][%title%|%file%]"'
songs=$(mpc listall | sort -V)printf'%s\n'"$songs" \
| awk -F'\t''{print $2}' \
| fzf --no-sort --reverse -m \
|whileread selection
doprintf'%s\n'"$songs"| awk -F'\t'"\$2==\"$selection\" {print \$1; exit}"done| mpc addsongmem is another tool I wrote to store and analyze the songs I listen to. It can be used, for example, to find recommendations for the last heard song and add them to the queue with a script like this:
#!/usr/bin/env sh
selection=$(songmem --suggestions "$(songmem | head -n1)"| fzf)
artist="$(printf '%s'"$selection"| awk -F ' - ''{print $1}')"
title="$(printf '%s'"$selection"| awk '{i=index($0, " - "); print substr($0, i+3)}')"
mpc findadd artist "$artist" title "$title"Other tasks, like disabling the repeat mode, I just do with mpc. My
config is usually this:
mpc consume on
mpc crossfade 0
mpc random off
mpc repeat off
mpc replaygain album
mpc single off
mpc volume 100