directory: /mnt/q/CleanMusic/ library: ~/musiclibrary.db # format_album: $albumartist - $album - $atype # format_album: $genre - $albumartist [$year] - $album missing: format_item: '$albumartist - $album [$albumtype]$atype: $track/$tracktotal $title' format_album: '$albumartist: ($year) $album $albumtype $atype' paths: # For the normal albums and eps. Used when none of the other paths should be used # Interpreten/boysetsfire/(2000) After the Eulogy [Album]/02 - Rookie.flac # Interpreten/Oliver Koletzki/(2019) We Are All Lost/1 - 02 - Oliver Koletzki; Monolink - We Are All Lost.flac # default: %if{$artist_grouping,$artist_grouping/}$albumartist/$year - $album $atype%aunique{media}[%upper{$format}${bitdepth}]%if{$media,[$media]}/%if{$isMultidisc,$disc - }$track - $mySongartist$title default: %if{$artist_grouping,$artist_grouping/}$first_artist/$year - $album $atype%aunique{media}[%upper{$format}${bitdepth}]%if{$media,[$media]}/%if{$isMultidisc,$disc - }$track - $mySongartist$title # For sampler and compilations. Used when 'comp:true' is set # Compilations/Giegling/(2017) Planet Giegling/03 - Kettenkarussell - Walk With Me.flac comp: Compilations/$albumartist/($year) $album%aunique{}/$myDisc$track - $artist - $title # For single songs. Used when 'singleton:true' is set # singleton: # For Soundtracks. Used when 'albumtype:soundtrack' # Soundtracks/Trent Reznor & Atticus Ross/Watchmen_ Volume 1 (Music From the HBO Series) (2019)/04 - Trent Reznor & Atticus Ross - Nun With a Motherf_&_ing Gun.flac albumtype:soundtrack: Soundtracks/$albumartist - $album%aunique{} ($year)/$myDisc$track - $artist - $title plugins: - albumtypes - duplicates - fetchart - rewrite - missing - chroma - embedart - inline - discogs - mbcollection # - hook rewrite: artist Björk & Tríó Guðmundar Ingólfssonar: Björk artist Brant Bjork and The Low Desert Punk Band: Brant Bjork artist King Gizzard & The Lizard Wizard with Mild High Club: King Gizzard & The Lizard Wizard artist Kyuss _ Queens of the Stone Age: Kyuss artist Professor Elemental & Tom Caruana: Professor Elemental artist Resin Dogs Feat Spikey Tee: Resin Dogs artist Sepultura _ Exodus: Sepultura artist The Knife in collaboration with Mount Sims and Planningtorock: The Knife artist Unida _ Dozer: Unida musicbrainz: user: shapechecker pass: 7ANCLPczDNFn6Sf65vdZ fetchart: # #minwidth: 800 # #maxwidth: 800 # #enforce_ratio: yes auto: yes sources: filesystem coverart itunes amazon albumart fanarttv # Set the file permissions # permissions: # file: 666 # dir: 777 import: write: yes copy: yes move: no autotag: yes bell: no log: ~/beet/beet.log languages: en # Use the original release date of an album when a re-release is added original_date: yes # Start counting track numbers back at one for each disc per_disc_numbering: yes # Activates the embed art plugin and adds the cover to the audio files metadata embedart: auto: yes albumtypes: types: - ep: 'EP' - single: 'Single' - soundtrack: 'OST' - live: 'Live' - compilation: 'Anthology' - remix: 'Remix' ignore_va: compilation bracket: '[]' album_fields: artist_grouping: | albumartist_dev = ["devin townsend", "devin townsend project","punky brüster","strapping young lad"] DevinFolder = "_Devin Townsend Projects" if albumartist.lower() in albumartist_dev: return DevinFolder albumartist_les = ["primus", "les claypool","les claypool and the holy mackerel","les claypool’s duo de twang","oysterhead","colonel claypool’s bucket of bernie brains","the les claypool frog brigade","the claypool lennon delirium"] LesFolder = "_Les Claypool Projects" if albumartist.lower() in albumartist_les: return LesFolder atype: | atypes = ['EP', 'Single','Live'] for atype in atypes: if atype.lower() == albumtype.lower(): return f' [{atype}]' first_artist: albumartist.split(', ',1)[0:1][0] # Custom user defined variables which can be used at the 'paths' section. 'inline' plugin required # Each line is a small python script which should return a string or an int item_fields: # 'Nine Inch Nails - ' or '' depending if the artist differs from the album artist mySongartist: artist + ' - ' if artist != albumartist and artist != '' else '' # Release with multiple discs? For boolean operations isMultidisc: 1 if disctotal > 1 else 0 # # Changes the case of the album type # # myAlbumType: ('' if albumtype == '' else ' [' + ('EP' if albumtype == 'ep' else albumtype.capitalize()) + ']') # myAlbumType: ('' if albumtype == '' elif albumtype == 'album' ' [' + ('EP' if albumtype == 'ep' else albumtype.capitalize()) + ']') # '1 - ' or '' depending if there are multiple discs or not myDisc: ('' if disctotal <= 1 else str(disc) + ' - ') myBitDepth: ('' if bitdepth != 24 else '[24bit - '+ media + ']') # primary_album_artist: albumartist.split(', ',1)[0:1][0] # primary_album_artist: | # import json # import requests # query_url="https://musicbrainz.org/ws/2/artist/{0}?inc=aliases&fmt=json".format(mb_albumartistid) # try: # primary_albumartist= requests.get(query_url).json()["sort-name"] # except: # if albumartist_sort: # print("MusicBrainz lookup for primary albumartist failed! Falling back on local sort-name.") # return albumartist_sort # else: # print("MusicBrainz lookup for primary albumartist failed, and local sort-name not found! Using local artist name as-is.") # return albumartist # else: # return primary_albumartist aunique: keys: albumartist album disambiguators: media bracket: '[]' extrafiles: patterns: all: '*.*' artworkdir: - '[sS]cans/' - '[aA]rtwork/' - '[aA]rt/' - '[cC]over/' paths: artworkdir: $albumpath/Artwork ext:log: $albumpath/$disc_folder/Data/ ext:cue: $albumpath/$disc_folder/Data/ ext:jpg: $albumpath/$disc_folder/ copyartifacts: extensions: .cue .log .jpg .jpeg .png .txt #none, low, medium, strong match: strong_rec_thresh: 0.05 max_rec: source: strong artist: strong album: strong media: strong mediums: strong year: strong country: strong label: strong catalognum: strong albumdisambig: strong album_id: strong tracks: strong missing_tracks: medium unmatched_tracks: medium track_title: strong track_artist: strong track_index: strong track_length: strong track_id: strong # hook: # hooks: # # Output on exit: # # beets just exited! # # have a nice day! # - event: cli_exit # command: echo "beets just exited!" # - event: cli_exit # command: echo "have a nice day!" # # Output on item import: # # importing "" # # Where is the item being imported # - event: item_imported # command: echo "importing \"{item.path}\"" # # Output on write: # # writing to "" # # Where is the file being written to # - event: write # command: echo "writing to $({item.path} | cut -d/ -f 1-5)"