I went the lazy route and
had the wiki link to the code. The project site needs an overhaul anyway; when I get to that I'll see if I can do something fancy like auto-generate the list based on the code. Hopefully this is an improvement in the meantime!
I also took a look at bpm and have bad news: the data doesn't seem to be available to Google's web interface, which means it's not pulled in by Autoplaylists. Here's what I did:
- used gmusicapi to find all songs in my library with a non-zero bpm (only 70 of ~10k)
- picked one with a unique bpm (142, in my case)
- pulled that song's jsproto to match the field to the value in the last step
To my surprise, I didn't see 142 in the jsproto at all.
Here's the data in case you want to take a second look. Until now I had thought the web client got everything Google had while the mobile clients got a strict subset; this is the first counter example I'm aware of.
Despite this it's possible for the extension to work around it and pull bpm from the mobile apis. That'd be a significant hassle, though, and the quality of the data doesn't make it seem worth it.