Nick Bowler [Sat, 29 Jun 2019 16:04:05 +0000 (12:04 -0400)]
mpdmenu: Use MBIDs for albums instead of name matching.
This enables much more accurate album menus, e.g., fully distinguishing
between multiple versions of the same release that would previously be
merged together into a single display.
This also adjusts the album menu to use modern MPD database query
features, so we can correctly display all tracks from the album
regardless of the state of the play queue.
Nick Bowler [Fri, 28 Jun 2019 04:39:12 +0000 (00:39 -0400)]
mpdmenu: Restructure things a bit.
Restructure the basic program flow and update the top menu generation
using more helper functions and stuff, including a slight change to the
menu layout. More to come.
Nick Bowler [Fri, 28 Jun 2019 03:09:00 +0000 (23:09 -0400)]
mpdmenu: Retrieve cover art from MPD.
Recent versions of MPD support retrieving cover art, which means we
(mostly) don't need to have the music directory mounted to poke around
in it. Augment mpdexec with support for binary transfers in order to
retrieve this cover art, and implement a new thumbnailer script which
makes use of this functionality.
Mostly, because the function to launch geeqie in the scans directory
still requires poking in the music dir. But all the menu images should
be displayed just from the connection to MPD now.
As a bonus, the new script is quite a bit faster than the old one, too.
Nick Bowler [Fri, 28 Jun 2019 00:01:41 +0000 (20:01 -0400)]
mpdmenu: Factor out thumbnail generation.
Prep work for making use of MPD albumart, move all calls to the
thumbnailer into a single function, and adapt the menus to call
the function once to generate an entire list of cover art.
Drop the use of the --image option in the thumbnailer by poking at
the cover art directly, since this will no longer work with MPD
albumart.
Nick Bowler [Thu, 27 Jun 2019 23:02:38 +0000 (19:02 -0400)]
Relicense MPD scripts.
It's the dawn of a new era. I'm separating these scripts from my FVWM
configuration in preparation for some big overhauls. Going forward,
as these are basically standalone programs in their own right we'll
be using the GNU General Public License.
(Leave thumbnail.zsh alone because the first order of business is to
kill it off).
Nick Bowler [Sat, 20 Apr 2019 00:22:32 +0000 (20:22 -0400)]
MPD script updates.
Fix compatibility with latest perl which removes the 'encoding' pragma.
And improve mpdexec.pl to be a bit more flexible: command-line arguments
will be correctly quoted for MPD, and also add a mode to accept commands
on standard input which helps performance with long command sequences.
Nick Bowler [Fri, 20 Oct 2017 01:39:17 +0000 (21:39 -0400)]
thumbnailer: Follow only one level of symbolic link.
Since my music is all in git annex now, the thumbnailer follows the
cover art symlinks all the way to the annex object directory. This is
less than helpful, since the intention was to locate the album scan
directory. Change the --image mode to just read the link once and
then stop.