I'm trying to use beets to replicate some functionality from MusicBrainz Picard where it allows selecting from a checklist of different cover image (and PDF) types (front, back, spine, booklet etc.) and downloads and names all of them to the music directory.
The fetchart plugin today can only download a single image and give a single filename.
Modify the fetchart plugin to be able to return a dict of images keyed by ID3 image types and add a field/flexattr called coverart_type so that it can be used as a template variable in the art_filename config field.
Sounds good! For what it's worth, this will be a bit more complex to implement than it may seem at first because beets does not support an arbitrary number of image "attachments" to a given album. There is a single fixed-function field for keeping track of album art files. We would need to generalize this (along the lines of #111, even if it's not that general) to track multiple images in the database.
@sampsyo Thanks for pointing to that link but it seems like beets fell down my priority of things to use since I figured out a workflow to let MusicBrainz Picard do all the tagging, file organisation etc and leaving beets to only handle duplicates, lyrics and missing tracks.
I'll definitely try looking this over the weekend since I feel beets is a very useful tool to explore/use my extensive music library. Query based playlists, transcoding etc.
Note that this idea isn't new: https://github.com/beetbox/beets/issues/3173, so I'm going to close this as a duplicate. But as pointed out by @sampsyo, the 'correct' solution in beets' ecosystem is through implementing the _attachment proposal_, which is a non-trivial issue that has not been tackled in a long time.
Most helpful comment
Note that this idea isn't new: https://github.com/beetbox/beets/issues/3173, so I'm going to close this as a duplicate. But as pointed out by @sampsyo, the 'correct' solution in beets' ecosystem is through implementing the _attachment proposal_, which is a non-trivial issue that has not been tackled in a long time.