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


#1

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 git@github.com:FichteForks/beets.git
$ 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!!


#2

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


#3

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.


#4

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


#5

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


#6

Any operation in general