Of Course Emacs has an MPD client
I recently started getting back into listening to my offline music library as a way to improve focus – my long-forgotten Linux ricing neurons immediately whispered "install you must, MPD" 1. MPD is a fairly lightweight music player daemon, with plenty of frontends designed for it over the years. ncmpcpp and rmpc are fairly good examples of such frontends. There's also a command-line utility for managing MPD called mpc.
At some point I was trying to use mpc to update my library and forgot to type in the subcommand… but I did so in eshell. Normally, you would expect to see MPD status when that happens.
I instead furrowed my brow rather quickly, as my Emacs window turned into a window layout I hadn't seen before.
Turns out that Emacs ships with an MPD frontend, also called mpc. Since eshell prioritizes lisp functions over underlying shell commands, any mpc commands will route into (mpc) instead.
I couldn't find much documentation or mention of people's experiences with mpc online, save for this Reddit thread that points to a dead article. There is an EmacsWiki page about MPC, but it gets buried by other MCP-related results for any query of the form "Emacs MPD client" or "Emacs MPC client", which is unfortunate.
I've been using mpc in Emacs as my main frontend for MPD for a couple months, and it's been fairly good. I don't need to open up a new terminal to queue/skip songs and I can add keybinds pointing to mpc internal functions to do common actions.
This blog post was originally intended to be something of a "guide", but I wasn't aware of the EmacsWiki page at that time! So consider this more of a PSA than anything. And happy September!
Footnotes:
For narrative purposes, this part of my brain speaks like a deranged tiled-window-managing version of Yoda.