Multiple values for a custom field? (tagging/labeling)

It’s the end of the decade, and everyone is publishing their “best of 2010s” (and “best of 2019”) lists… I’d like to be able to search beets for the albums I have that are in one of these lists, like a playlist for albums.

So I was thinking I want a lists custom field that has values like pitchfork_top_200_2010s:33 (for #33 in that list), but how can I deal with albums that are in multiple lists, without making the search process ugly?

Is there a plugin that can help with this? Or am I better off adding a new custom field for each list instead? e.g.

beet modify pitchfork_top_200_2010s=28 artist:deerhunter "album:Halcyon Digest"

I’d appreciate any insight from anyone else who has been down this road! :slight_smile:

1 Like

That’s a good question! I do actually think that the solution you’ve settled on—one flexattr per list—is probably the best way to go. There isn’t really a plugin that is concerned with managing lists like this, except perhaps the playlist plugin, which lets you query via playlists maintained as .m3u files. You could imagine extending this plugin with a command to add/remove tracks from playlists…

In general, I’d be really interested in a more ambitious project to add lists as a first-class feature to the beets database. It seems useful as a first-class feature because maintaining the order with those integer tags could be tricky. I’d be interested in chatting with anyone who’s interested in exploring that. :smiley: