-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Description
A file was not importing as I expected it to. To reduce the problem, I cleared all metadata on the file, and now I'm trying to import it as a singleton. I am giving the Musicbrainz ID when prompted to (https://musicbrainz.org/recording/dba51fac-736b-4d3f-8178-a8f302b9ce45). The track has a year/month/day associated in Musicbrainz so I expect beets to tag that into the file, but it is not getting set in the beets library or in the file's tags.
Starting from a flac file, I wipe its metadata (I wouldn't normally; this is for clean-room conditions):
$ metaflac --remove-all-tags I,\ the\ Organic\ Machine.flac
Then I import it:
$ beet -vv --plugins= imp -s -t --from-scratch I,\ the\ Organic\ Machine.flac
Giving this output:
user configuration: /home/me/.config/beets/config.yaml
data directory: /home/me/.config/beets
plugin paths:
Sending event: pluginload
library database: /home/me/.config/beets/library.db
library directory: /home/me/media/audio/music
Sending event: library_opened
Sending event: import_begin
Sending event: import_task_created
Sending event: import_task_start
Looking up: /path/to/I, the Organic Machine.flac
Item search terms: -
Found 0 candidates.
/path/to/I, the Organic Machine.flac
Sending event: before_choose_candidate
No matching recordings found.
➜ [S]kip, Use as-is, Enter search, enter Id, aBort? i
Enter recording ID: dba51fac-736b-4d3f-8178-a8f302b9ce45
Searching for track ID: dba51fac-736b-4d3f-8178-a8f302b9ce45
Sending event: mb_track_extract
Sending event: trackinfo_received
Sending event: before_choose_candidate
Match (40.0%):
Cloudkicker - I, the Organic Machine
≠ title
MusicBrainz, Index None, Track None,
https://musicbrainz.org/recording/dba51fac-736b-4d3f-8178-a8f302b9ce45
≠ Artist: -> Cloudkicker
➜ Apply, More candidates, Skip, Use as-is, Enter search, enter Id, aBort? a
Sending event: import_task_choice
Sending event: import_task_apply
0 of 1 items replaced
Sending event: database_change
Sending event: database_change
Parsed query: AndQuery([NoneQuery('album_id', True)])
Parsed sort: NullSort()
Sending event: item_copied
Sending event: database_change
Sending event: write
Sending event: after_write
Sending event: database_change
Sending event: import_task_files
Sending event: item_imported
Sending event: import
Sending event: cli_exit
After importing, beets and a look at the actual metadata with metaflac
tell me the date has been written as 0000, and year 0.
$ metaflac --list --block-type=VORBIS_COMMENT /home/me/media/audio/music/Cloudkicker/non-album/*I,\ the\ Organic\ Machine.flac | egrep -i "date|year|month|day"
comment[28]: DATE=0000
comment[29]: YEAR=0
comment[53]: ORIGINALDATE=0000
$ beet ls -f 'album:$album title:$title track:$track year:$year month:$month day:$day' "i, the organic"
album: title:I, the Organic Machine track:00 year:0000 month:00 day:00
Setup
- OS: Ubuntu 22.04
- Python version: 3.10.12
- beets version: 2.3.1
- Turning off plugins made problem go away (yes/no): no
My configuration (output of beet config
) is:
# --------------- Plugins ---------------
plugins: fetchart replaygain inline scrub mpdupdate convert mbsync
# --------------- Tagging ---------------
per_disc_numbering: yes
va_name: various artists
import:
languages: en
from_scratch: yes
musicbrainz:
genres: yes
item_fields:
multidisc: 1 if disctotal > 1 else 0
paths:
default: $albumartist_sort/%if{$year,$year -- }$album%aunique{}/%if{$multidisc,$disc-}$track $title
singleton: $artist_sort/non-album/%if{$year,$year -- }$title
comp: compilations/%if{$year,$year -- }$album%aunique{}/%if{$multidisc,$disc-}$track $title
fetchart:
cautious: yes
auto: yes
minwidth: 0
maxwidth: 0
quality: 0
max_filesize: 0
enforce_ratio: no
cover_names:
- cover
- front
- art
- album
- folder
sources:
- filesystem
- coverart
- itunes
- amazon
- albumart
- cover_art_url
store_source: no
high_resolution: no
deinterlace: no
cover_format:
google_key: REDACTED
google_engine: REDACTED
fanarttv_key: REDACTED
lastfm_key: REDACTED
replaygain:
backend: ffmpeg
r128_targetlevel: 84
per_disc: yes
overwrite: no
auto: yes
threads: 2
parallel_on_import: no
peak: 'true'
targetlevel: 89
r128: [Opus]
convert:
dest: ~/media/audio/music.opus
never_convert_lossy_files: yes
format: opus
album_art_maxwidth: 800
embed: no
pretend: no
link: no
hardlink: no
threads: 2
id3v23: inherit
formats:
aac:
command: ffmpeg -i $source -y -vn -acodec aac -aq 1 $dest
extension: m4a
alac:
command: ffmpeg -i $source -y -vn -acodec alac $dest
extension: m4a
flac: ffmpeg -i $source -y -vn -acodec flac $dest
mp3: ffmpeg -i $source -y -vn -aq 2 $dest
opus: ffmpeg -i $source -y -vn -acodec libopus -ab 96k $dest
ogg: ffmpeg -i $source -y -vn -acodec libvorbis -aq 3 $dest
wma: ffmpeg -i $source -y -vn -acodec wmav2 -vn $dest
max_bitrate:
auto: no
auto_keep: no
tmpdir:
quiet: no
paths: {}
no_convert: ''
copy_album_art: no
delete_originals: no
playlist:
mpd:
host: localhost
port: 6600
password: REDACTED
scrub:
auto: yes
pathfields: {}
album_fields: {}
Am I doing something wrong (do I need to configure it somehow to accept the date from MB?), or have I found a bug?