Call for testers: better queries for album-level fields & a performance improvement

If you’re interested, we could really help testing out an exciting, new proposed set of changes to the way beets works. Pull request #2988 does two things:

  1. Queries can use album-level flexible attributes in queries to search for items. For example, you can use beet mod -a mood=chill ... to add a field to an album, and then use beet ls mood:chill to find tracks on albums with that tag. Even more importantly, you can use such queries in your paths: configuration to decide how to generate filenames.
  2. There’s a new internal mechanism for memoizing an item’s album, which should make reading data about items faster in general.

These are pretty sensitive changes to a core part of beets, which is why we need your help. If you’re interested, you can get the latest changes by checking out the appropriate branch:

$ git clone
$ cd beets
$ git checkout pr/item-album-fallback

Then, follow the instructions from the Hacking page to set up an installation (namely, use pip install -e . to install an editable version of the new repository you’ve cloned). Give this a try on a few imports and other operations and let us know how it goes.

Thank you!!

I didn’t understand the whole PR, is there something specific to watch out for?

The main thing is to check whether queries work as expected, with the new enhancement that item-level queries can refer to album-level fields. Other than that, we just want to see if anything breaks with respect to modifying, querying, and displaying data about items.

Is this across the board or for only importing albums, so far I only have a few hundred gigs of music that I have imported with beets and operations take a few minutes at a time now compared to when I first started

Should be across the board. That’s interesting—what sorts of operations?

Any operation in general

I’m happy to test this out, I’d really like to see this feature land.

Would you mind rebasing your changeset onto master before I do so, @FichteFoll?

1 Like