Skip to content

Date is not set when importing track as singleton #5911

@tremby

Description

@tremby

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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions