You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When importing or re-importing albums I use the set_fields option to format incoming field metadata -- in my case using the beets-titlecase plugin. I would expect my configuration to format the artist and title fields using the %tcp{} function, but instead they are not expanded and written as $Title and $Artist_diff.
Disabling plugins completely prevents, the issue, but also negates the value of using this software for me. Disabling bandcamp convert deezer discogs spotify replaygain web specifically also prevents the issue, but I haven't been able to figure out why.
Should be imported as `/music/!!! - (2002) Let It Be Blue [VBR V0]/01. Normal People.mp3...` but is instead imported as `/music/!!! - (2002) Let It Be Blue [VBR V0]/01. $Title ($Artist_feat).mp3...
Setup
OS: Alpine Linux
Python version: 3.10
beets version: 2.2.0
Turning off plugins made problem go away (yes/no): See note above
My configuration (output of beet config) is:
album_fields:
mp3_info: | import re m = items[0].get('bitrate_mode', '') s = re.sub('b|vbr-new|vbr-old|-| ', '', items[0].get('encoder_settings', '')) if m == '': m = 'CBR' if not all(item.bitrate == items[0].bitrate for item in items): m = 'VBR' if 'preset' in s: s = re.sub('altpreset|preset', 'AP', s) s = s.replace('extreme', 'E').replace('insane', 'I').replace('standard', 'S') if s == '': if m == 'CBR': s = items[0].get('bitrate', 0) // 1000 else: t = 0 for item in items: t += item.bitrate s = t // len(items) // 1000 return ' '.join(filter(None, [m,str(s)]))albumtypes:
bracket: '()'ignore_va: compilation soundtracktypes:
- ep: 'EP'
- single: 'Single'art_filename: frontbandcamp:
art: yessearch_max: 4convert:
auto: yescommand: /config/convert.sh $source $destextension: mp3ffmpeg: /usr/bin/ffmpegnever_convert_lossy_files: yesthreads: 2directory: /musicdiscogs:
user_token: rPDwowNqqLtLBFbtFtYcxlMZRBZMEteWdBiLhAURfetchart:
auto: yescover_format: JPEGdeinterlace: yeshigh_resolution: yesminwidth: 1000maxwidth: 1000quality: 100sources:
- itunes
- coverart: releasegroup
- deezer
- coverart: releasegroup
- filesystemformat_album: $albumartist/($year) $albumformat_item: ($year) $album/%if{$multi_disc,$disc_alt}$track. $title ($artist)ftintitle:
auto: yesformat: (Feat. {0})import:
bell: yescopy: yesdetail: yesfrom_scratch: yeslog: /config/beets.logresume: askset_fields:
album: %tcp{$album%if{$albumdisambig, [$albumdisambig]}%if{$atypes, $atypes}}albumartist: %tcp{$albumartist}artist: %tcp{$artist_feat}title: %tcp{$title}timid: yeswrite: yesimportadded:
preserve_mtimes: yespreserve_write_mtimes: yesimportreplace:
replacements:
- album_fields: album artist titleitem_fields: album artist titlereplace:
'[\u2010-\u2015]': '-''[\u2018-\u201B]': '''''[\u201C-\u201F]': '"''[\u2026]': '...''\b([Aa]\.?[Kk]\.?[Aa]\.?)': 'AKA''\b(Mr\.?)\b': 'Mr.''\b(Mrs\.?)\b': 'Mrs.''\b(Ms\.?)\b': 'Ms.''\b([Vv]\.?[Ss]\.?)\b': 'vs.'item_fields:
artist_diff: 1 if albumartist != artist else 0artist_feat: | a = artist if 'Feat.' in a: a = ' & '.join(a.rsplit(' and ', 1)) return adisc_alt: u'%d' % (disc)multi_disc: 1 if disctotal > 1 else 0library: library.dbmatch:
preferred:
countries: ['US']media: ['Digital Media|File', 'CD']paths:
default: $albumartist - ($year) $album%if{$mp3_info, [$mp3_info]}/%if{$multi_disc,$disc_alt}$track. $title%if{$artist_diff, ($artist)}singleton: Non-Album/$track. $title ($artist)per_disc_numbering: yespluginpath:
- /config/plugins/beets-importreplace
- /config/plugins/beets-tcpplugins: albumtypes bandcamp chroma convert deezer discogs duplicates edit fetchart ftintitle fuzzy importadded importreplace info inline missing replaygain tcp web zeroreplace:
'[\x00-\x1F]': _'[\xE2-\xE6]': a'[\xE8-\xEB]': e'[\xEC-\xEF]': i'[\xF2-\xF6]': o'[\xF8]': o'[<>:"\?\*\|]': _'\.$': '''\s+$': '''^\.': ''sort_album: albumartist+ year+ album+sort_item: year+ album+ disc+ track+ artist+tcp:
asis: [# artists'$hort', 'AFI', 'INXS', 'MGMT',# default overrides'The',# misc.'ABC', 'AT&T', 'DJ', 'DNA', 'XXX',# road abbreviations'Blvd', 'Ln', 'Rd', 'St',]threaded: yesva_name: Various Artistsui:
color: yeszero:
keep_fields: album albumartist albumtype artist comp disc disctotal rg_album_gain rg_album_peak rg_track_gain rg_track_peak singleton title track year
The text was updated successfully, but these errors were encountered:
When importing or re-importing albums I use the
set_fields
option to format incoming field metadata -- in my case using thebeets-titlecase
plugin. I would expect my configuration to format theartist
andtitle
fields using the%tcp{}
function, but instead they are not expanded and written as$Title
and$Artist_diff
.Disabling plugins completely prevents, the issue, but also negates the value of using this software for me. Disabling
bandcamp convert deezer discogs spotify replaygain web
specifically also prevents the issue, but I haven't been able to figure out why.Problem
Running this command in verbose (
-vv
) mode:Led to this problem:
Setup
My configuration (output of
beet config
) is:The text was updated successfully, but these errors were encountered: