Files
nixfotfiles_1/beets_config.yaml
2023-02-02 14:52:46 -05:00

221 lines
7.5 KiB
YAML
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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 claypools duo de twang","oysterhead","colonel claypools 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 "<file_name_here>"
# # Where <file_name_here> is the item being imported
# - event: item_imported
# command: echo "importing \"{item.path}\""
# # Output on write:
# # writing to "<file_name_here>"
# # Where <file_name_here> is the file being written to
# - event: write
# command: echo "writing to $({item.path} | cut -d/ -f 1-5)"