+ @submenu);
+ }
+
+ my @artists = map { "--artist-id=$_" } keys %artistids;
+ my %nonalbums = map { $_->{Album} => $_ } @recs;
+ foreach my $name (sort keys %nonalbums) {
+ my $mbid = $nonalbums{$name}->{MUSICBRAINZ_TRACKID};
+ my @submenu = make_submenu("$topmenu-$mbid", @artists,
+ "--album-name=$name");
+ fvwm_cmd("AddToMenu", $menu, fvwm_label_escape($name), @submenu);
+ }
+} elsif ($mode eq "albumname") {
+ # Create a standalone recordings menu
+ my ($releases, @recs) = get_releases_by_artist_mbid(keys %artistids);
+
+ $menu //= "MenuMPDRecordings";
+ my @tracks = sort { $a->{Title} cmp $b->{Title} }
+ grep { $_->{Album} eq $albumname } @recs;
+ my @notqueued = update_entry_ids(@tracks);
+
+ fvwm_cmd("AddToMenu", $menu);
+ fvwm_cmd("+", "No tracks found", "Title") unless @tracks;
+
+ foreach my $entry (@tracks) {
+ next unless exists $entry->{Id};
+
+ fvwm_cmd("+", menu_trackname($entry), "Exec",
+ "exec", "$FindBin::Bin/mpdexec.pl",
+ "playid", $entry->{Id});
+ }
+
+ fvwm_cmd("+", "Not in play queue", "Title") if @notqueued;
+ foreach my $entry (@notqueued) {
+ fvwm_cmd("+", menu_trackname($entry));