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.
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:
Tracks report (only those matching query):
Plus summary:
Tags report (only including tags touched by tracks matching the query):
Playlists report:
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.
iBroadcast does its own artist generation and linking.
beet library contains ### tracks, ### albums, ### artists, ### tags, ### playlists.