API additions

I have been cleaning up my local library with Beets (and have seen huge improvements in Roon’s performance with local libraries in the last release). But it is quite limiting that whatever I can verify with the local files and beets, it is quite hard to be sure what Roon is seeing.

I’ve written a small extension against the API (via pyroon) to compare the two, and it mostly works — but what comes back for each album is title, subtitle, item_key and image_key, and item_key is per-session so it can’t be stored as an identity. That leaves normalised artist + album text as the only join. It can’t distinguish two editions of the same release, and it can’t say anything at all about individual files.

I can manually check the roon-skipped files, but I’m hoping to automate that.

Three things would be great, if you could expose them over API:

  1. A stable identifier for albums and tracks — I use musicbrainzIds, but since the actual ID is a bit orthogonal to Roon, maybe a permanent internal ID?

  2. File paths on track metadata, or the Folders hierarchy through browse. To be sure we are looking at the same thing.

  3. Access to the skipped-files information.

All three are read-only, to be able to verify that what it holds matches what’s on disk and have roon match the beets DB. A very niche ask I know, but maybe some of these API calls would be useful to other people in other contexts also.

Thanks for considering it.

You will probably have more luck with this than waiting for an API update…

Just be careful as it’s not supported by roon.

I’m currently using it to refresh tidal when my AI cannot verify tracks in roon…I have it go find the track in tidal…add to a specific playlist…then refresh the tidal library so it sees the tracks needed then add to que.

1 Like

Thank you - I was not at all aware of that