]> git.draconx.ca Git - mpdhacks.git/log
mpdhacks.git
4 years agompdmenu: Use MBIDs for track matching instead of name matching.
Nick Bowler [Sun, 30 Jun 2019 14:17:05 +0000 (10:17 -0400)]
mpdmenu: Use MBIDs for track matching instead of name matching.

Instead of guessing based on titles, match tracks by their work MBID.

This makes the title menu significantly simpler as we remove all the
title-specific special cases.  This approach gives results pretty close
to what we got originally (much better in some cases), but currently
things like different symphony movements which used to show up in the
menu are not handled.

4 years agompdmenu: Use MBIDs for artists instead of name matching.
Nick Bowler [Sat, 29 Jun 2019 19:16:37 +0000 (15:16 -0400)]
mpdmenu: Use MBIDs for artists instead of name matching.

This enables much more accurate artist menus, working properly with
variant spellings and whatnot.

4 years agompdmenu: Use MBIDs for albums instead of name matching.
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.

4 years agompdmenu: Restructure things a bit.
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.

4 years agompdmenu: Retrieve cover art from MPD.
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.

4 years agompdmenu: Factor out thumbnail generation.
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.

4 years agompdmenu: Use FindBin module to locate auxiliary scripts.
Nick Bowler [Thu, 27 Jun 2019 23:18:12 +0000 (19:18 -0400)]
mpdmenu: Use FindBin module to locate auxiliary scripts.

With this separated from my FVWM config, the other scripts can be
located using FindBin assuming everything lives in the same directory.

4 years agoRelicense MPD scripts.
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).

4 years agoMPD script updates.
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.

4 years agothumbnailer: Follow only one level of symbolic link.
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.

4 years agoscripts: Add copyright header to thumbnail.zsh.
Nick Bowler [Tue, 4 Oct 2011 14:21:59 +0000 (10:21 -0400)]
scripts: Add copyright header to thumbnail.zsh.

4 years agompdmenu: Replace all uses of mpc with mpdexec.
Nick Bowler [Sun, 26 Feb 2012 19:39:52 +0000 (14:39 -0500)]
mpdmenu: Replace all uses of mpc with mpdexec.

May as well eliminate this dependency.

4 years agompdmenu: Use a specialized script to send playid commands to MPD.
Nick Bowler [Sun, 26 Feb 2012 19:35:54 +0000 (14:35 -0500)]
mpdmenu: Use a specialized script to send playid commands to MPD.

This avoids the dependency on a patched mpc.

4 years agompdmenu: Add support for classical movements to the title menu.
Nick Bowler [Tue, 9 Nov 2010 17:16:21 +0000 (12:16 -0500)]
mpdmenu: Add support for classical movements to the title menu.

4 years agompdmenu: Use geeqie instead of gqview.
Nick Bowler [Wed, 3 Nov 2010 14:23:09 +0000 (10:23 -0400)]
mpdmenu: Use geeqie instead of gqview.

4 years agoUse /usr/bin/env in zsh #! lines.
Nick Bowler [Thu, 6 Nov 2008 20:39:39 +0000 (15:39 -0500)]
Use /usr/bin/env in zsh #! lines.

4 years agoFix handling of & in FVWM menus.
Nick Bowler [Mon, 25 Aug 2008 04:04:15 +0000 (00:04 -0400)]
Fix handling of & in FVWM menus.

& is only magic in the _first_ field of an FVWM menu, hence it should only
be escaped in those circumstances.

4 years agompdmenu: Update title menu cases.
Nick Bowler [Sat, 2 Aug 2008 19:18:52 +0000 (15:18 -0400)]
mpdmenu: Update title menu cases.

4 years agompdmenu: Update title menu cases.
Nick Bowler [Thu, 31 Jul 2008 14:59:11 +0000 (10:59 -0400)]
mpdmenu: Update title menu cases.

4 years agompdmenu: Update title menu cases.
Nick Bowler [Tue, 22 Jul 2008 23:50:38 +0000 (19:50 -0400)]
mpdmenu: Update title menu cases.

4 years agompdmenu: remove whitespace at end of lines.
Nick Bowler [Sun, 1 Jun 2008 22:44:00 +0000 (18:44 -0400)]
mpdmenu: remove whitespace at end of lines.

4 years agompdmenu: don't bail out when MPD doesn't give us a songid.
Nick Bowler [Sun, 1 Jun 2008 22:43:09 +0000 (18:43 -0400)]
mpdmenu: don't bail out when MPD doesn't give us a songid.

This occurs when MPD is running, but hasn't played a song yet.  Make the
menu usable to start the player in this case.

4 years agoscripts: remove hardcoded music directory from thumbnail.zsh.
Nick Bowler [Fri, 30 May 2008 15:40:15 +0000 (11:40 -0400)]
scripts: remove hardcoded music directory from thumbnail.zsh.

Use a MUSIC environment variable and fall back to /home/music.  The fvwm
config sets this at startup.

4 years agoUpdate thumbnail.zsh to use zsh conventions.
Nick Bowler [Wed, 28 May 2008 19:23:37 +0000 (15:23 -0400)]
Update thumbnail.zsh to use zsh conventions.

4 years agothumbnail.sh should be thumbnail.zsh.
Nick Bowler [Wed, 28 May 2008 19:17:51 +0000 (15:17 -0400)]
thumbnail.sh should be thumbnail.zsh.

4 years agompdmenu: Use IO::Socket::INET6 to support IPv6 as well as IPv4.
Nick Bowler [Wed, 28 May 2008 13:56:43 +0000 (09:56 -0400)]
mpdmenu: Use IO::Socket::INET6 to support IPv6 as well as IPv4.

4 years agoFix stuff for systems without bash as /bin/sh
Nick Bowler [Thu, 8 May 2008 15:03:32 +0000 (11:03 -0400)]
Fix stuff for systems without bash as /bin/sh

4 years agoFix mpdmenu to work with the new scripts directory.
Nick Bowler [Sun, 20 Apr 2008 07:35:30 +0000 (03:35 -0400)]
Fix mpdmenu to work with the new scripts directory.

4 years agoMove scripts into their own subdirectory.
Nick Bowler [Sun, 20 Apr 2008 07:28:20 +0000 (03:28 -0400)]
Move scripts into their own subdirectory.

4 years agoInitial Commit.
Nick Bowler [Sun, 20 Apr 2008 05:42:55 +0000 (01:42 -0400)]
Initial Commit.