Skip to content

Report statistics about beets + iBroadcast libraries #3

@ctrueden

Description

@ctrueden

There are a lot of edge cases that can happen, and various ways the beets library can become out of sync with the iBroadcast one. This plugin should do its best to detect these situations, and report to the user where things are looking good, and where things are not, as well as statistics about how many items there are. This issue brainstorms a few ideas in that direction.

Edge cases to detect and report:

  • What if some iBroadcast tracks are not part of the beets library?
  • What if some tags and/or playlists reference such tracks?

Tracks report (only those matching query):

  • What is the sync status? Already synced? Not uploaded? Locally changed / needs reupload? Remotely changed (via web editor)?
  • What is the tag sync status? See existing code...
  • Which playlists contain the track locally? Remotely?
    Plus summary:
  • X tracks matched query, A already synced, B not yet uploaded, C locally changed and needing reupload, D remotely changed and therefore out of sync.

Tags report (only including tags touched by tracks matching the query):

  • Queried tracks use X tags locally, B of which exist on iBroadcast, C of which are in sync.

Playlists report:

  • X playlists locally, Y playlists on iBroadcast, Z of which intersect on both, A of which are misaligned.

123 tracks in beets library, 67 tracks in iBroadcast.
123 albums in beets library, 45 albums in iBroadcast.
Ditto for artists? Tags? Playlists?

iBroadcast does its own album generation and linking.

  • Is it worth checking that beets albums have a 1-to-1 correspondence with iBroadcast?
  • They very well might not, since iBroadcast computes its own albums.
  • So a function that lists iBroadcast albumids for beets albums, or vice versa, could be nice.

iBroadcast does its own artist generation and linking.

  • iBroadcast albums have artist_id, which is beets's albumartist field of album.
  • iBroadcast tracks have artist_id, which is beet's artist field of track.

beet library contains ### tracks, ### albums, ### artists, ### tags, ### playlists.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions