Free Software: New Version/Rewrite of MPDQ, the autoqueuer for the Music Player Daemon

I have a giant music library, but I also have a horrible tendency to keep listening to the same thing over and over (tell me you’re neurodivergent without telling me you’re neurodivergent).

However, I love eclectic soundtracks that don’t limit themselves to a single "sound" or "genre". They might lean towards one genre, but you’ll suddenly get a song or two that is completely different in the mix.

I’d written a program — mpdq — originally way back in 2017, and then rehashed it in 2020. I’ve been pretty happy with it. Mostly.

Now, nearly seven years (the hell?!) after it was first released, I’ve done a massive rewrite to solve some of the remaining problems with the last version, simplify a lot of things, and fix some stuff.

This release contains breaking changes. Most notably, rather than running in the background, it’s currently written to only be run as a timed process. I currently have it set to a two minute interval cronjob with a queue length of 6 songs.

  • Rewrote and simplified a lot of the workings (and removed some troubling sub-sub-sub-shells).
  • Now written to run on a timer like a cronjob. (Pausing works the same, though.)
  • Massively simplified the genre selection into a "gating" mechanism.
  • Made the album and artist frequency times actually work, and using the same log
  • Configurable way to skip artist and album frequency for specified genres
  • Because of the way it handles genres (just numerically, and then as an exact string), multiple-genre tags are treated as discrete entries, e.g. "Concert;Rock" is completely separate from either "Concert" or "Rock".

Installation and configuration are a bit simpler too, and if MPD throws an error or restarts, it won’t completely tank mpdq anymore.

Check it out:
Program webpage:
My repository:

Featured Image by Tibor Janosi Mozes from Pixabay

2 thoughts on “Free Software: New Version/Rewrite of MPDQ, the autoqueuer for the Music Player Daemon

Comments are closed.