New user: Help to optimise my config file [Specifically paths and cover art]

I have just set up Beets on my Synology NAS, and I’m really liking it so far. I wish to use it as a renaming and consolidation tool for my music, which is tagged by another service.

I’ve set up my config file so it works, but I would like to optimize it and make it a bit more robust in addition to figure out, how to move album art.

Sorry for posting several questions in the same thread, if that is a problem, I’m happy to split them up. Any help with any of them, are greatly appreciated. My config file is pasted in at the bottom.

1. Identify Compilation Albums
In paths: If the album is a compilation artist; would like to append the artist name. I currently check for that by looking for ‘VA’, but is there a better way to do that?

1. Moving cover art and other additional files with the move/import command
Can the move/import command mover all files in the folder over in the newly created directory with the files. I have album art files in most of my folder and would like to move that along with the files.

3. Replace Media names
If the words ‘CD’, ‘Vinyl’ or ‘Digital’ is present in Media, I would like to print that in the Album title in my path. Same for ‘VA’ in album artist I would like to replace that with ‘Various Artists’. But I do not want to alter the original tag. Right now I use Replace to do this, but it doesn’t seem to be the best way. I have found this post, which seems to do something like that, but I can’t mimic that behavior - probably due to my lack of programming knowledge.

My current config file

directory:
  /volume1/music/music/beets

library:
  ~/beetslibrary.db

plugins: inline

threaded:
  yes

per_disc_numbering:
  yes

import:
  move: yes
  write: no
  autotag: no
  timid: yes
  log: ~/beetslog.txt

replace:
  '[\\/]': _
  '^\.': _
  '[\x00-\x1f]': _
  '[<>:"\?\*\|]': _
  '\.$': _
  '\s+$': ''
  '^\s+': ''
  '^-': _
  '12_ Vinyl': Vinyl
  'Digital Media': Digital
  'Enhanced CD': CD
  'VA': Various Artists

paths:
  default: %if{$albumartist,$albumartist,$artist}/%if{$original_year,[$original_year] ,[$year] }$album%aunique{}%if{$media, [$media]}/%if{$multidisc,$disc-$track,$track} $title%if{$multiartist, [$artist]}

item_fields:
  multidisc: 1 if disctotal > 1 else 0
  multiartist: 1 if albumartist == 'VA' else 0

Here’s a random beets user chipping in :slight_smile: . Just wanted to give my ten cents when it comes to the first and second questions.

When you wanna deal with cover art, the ‘fetchart’ plugin comes very much in handy!
It checks the import folder for potential coverart matches and moves them during import.
When cover art is not found, the plugin tries to fetch it from the internet.
Here’s the docu:
https://beets.readthedocs.io/en/stable/plugins/fetchart.html

For the first question. As a user, I also have to deal with compilations, and have a spesific path setup for VA compilations. I’ve pretty much been able to survive with the beets ‘standard configuration’, i.e., letting the importer check the ‘comp=boolean’ field. If an album is a compilation, the ‘comp’-field equals to TRUE and thus ends up in a spesific folder with a spesific path setup. This is explained in the Path Format Configuration docu:
https://beets.readthedocs.io/en/stable/reference/config.html#path-format-configuration

I’d say that over 90% of the albums that I’ve imported throughout the years have had the ‘comp’ field correctly setup after importing the metadata from, say, discogs, and the importer places the album correctly. In some cases, when using bandcamp as an alternate source for the importer, the ‘comp’ field hasn’t been setup correctly and I’ve had to set the ‘comp’-field manually and reimport.

1 Like

Waauw, thanks for your elaborate reply. Fetchart sounds like the right way to go, I thought it was only for downloading and replacing cover art.

I have now setup the Compilation path in the config file. It was missing. I also figures out that the extrafiles plugin completely messed up compilations, so had to deactivate that. But that should be no problem now that fecthart can do the same thing.