Skip to content

0.20.0 Add beets 2.0.0, drop beets<1.5 support, improve catalognum, albumtypes parsing

Compare
Choose a tag to compare
@snejus snejus released this 04 Nov 06:59
· 70 commits to main since this release

What's Changed

Full Changelog: 0.19.3...0.20.0

Here are some screenshots from the tests that compare the data parsed by the previous release with the current one. I conduct tests locally for every commit using approximately 5,000 different release JSON files from Bandcamp. Below, you can see the results from a selection of those tests. Old/removed values are in red, while new ones are in green.

image
image
image

Removed

  • Drop support for beets<1.5.

Fixed

  • album:

    • Keep remix artist in place within 'remix' parentheses, such as Album (Artist Remix).
    • When a release has the same name as the album artist, do not clean/adjust it.
    • Keep album artist in album when it is immediately followed by a dot.
    • Do not remove EP or LP from the beginning of the album name.
    • Remove V.A from the beginning of the album name, in the same way we remove VA.
    • Do not split album with a year range into albumartist and album.
  • cleanup:

    • Remove (... preview), free dl, Name Your Price:, just out!, - Album, (Selected by ...) from album and track names.
    • Remove unicode HTML whitespace from incoming data.
  • albumtype:

    • Identify LP / album type from vinyl media descriptions.
    • Remove some funky description parsing logic responsible for multiple ep false positives.
    • Resolve either ep or lp to add to albumtypes, and never both.
    • Check for single album type (expecting a single track only) before anything else.
  • artist: handle remix releases with a single title and its remixes. Instead of trying to determine the artist from the titles, detect such release and use the given album artist.

  • catalognum:

    • Fix false positives:
      • Exclude very short matches like OP-1, SK-1 and BBC6.
      • Exclude label name, and label name without spaces.
      • Exclude matches followed by a comma. This excludes many artists from release descriptions that happen to have names that look like catalogue numbers.
      • Exclude matches followed by a single quote. This used to wrongly match vinyl disc titles like LABEL 12 here: LABEL 12'' Black Vinyl.
      • Prevent album artists becoming catalogue numbers.
      • Remove pattern responsible for many false positives that contain a space, like DOOM 3, ONLY 1 and NIGHT 3 etc.
      • Do not any more assume that artist [DRAKEN49] is a catalogue number.
      • Instead of using a pattern like [A-Z]+-[0-9]+ (more than one capital letter — dash — more than one number), explicitly specify how many letters and numbers are expected for the most common variations, like TAR30, RM12012, HEY-101 etc.
  • media: ignore subscription type Bandcamp media format which returns a duplicate digital media.

  • title:

    • Remove track number from the beginning of the title more reliably.
    • Remove label name from anywhere if it inside brackets or from the end of the title if preceded by a dash or a colon.
  • track:

    • artist / title / track_alt: Handle edge cases where track_alt is followed by a single dash. Some instances were previously ignored.
    • artist / title / track_alt: fix several artists and titles which had pieces incorrectly identified as track_alt.
    • artist / title: In releases where every track has the same title, check whether this title may actually be the artist name. If so, move it to the artist field.
    • artist / title: use characters [|-–—] explicitly for splitting artists and titles.
    • artist / title: recover some of the original titles which contain - and got split into artist and title.
    • Return an empty tracklist for releases that have no tracks.

Added

  • Auto-Tagger: Wider search analogous to cli search query as a fallback for bad or missing meta data.
  • Add artist list fields support for beets==2.0.0.

Updated

  • album:

    • When album name is wrapped in brackets, [ALBUM], keep the brackets in place.
    • Uncover some release names in the description preceded by Title :.
  • albumartist:

    • Remove notes about remixes, like (incl. ABC remix) and similar.
  • albumtype:

    • Improve accuracy of identifying EP and LP release types from the description.
    • Include remix albumtype to the release when remixed track count is one less than the track count.
    • Check album names that may end with E.P. instead of EP.
  • catalognum:

    • Add support for new formats: UVB76-023, SOP 061-1233, a+w lp029, SK11X015.

    • Parse label-like catalogue numbers for singletons too.

    • When searching for a catalogue number which is prefixed by the label name

      1. Take two variations of the label name
        1. Original one
        2. Without Records, Recordings, Productions, Music endings
      2. Form prefixes from each variation
        1. The original variation
        2. With punctuation and spaces removed
        3. Its acronym when it has multiple words
      3. Lastly, if the original label has multiple words, use the first word as another possible prefix.

      For example, for a label named Diffuse Reality Records, the plugin is able to
      recognize the following catalogue numbers (case insensitively)

      • Diffuse Reality Records001
      • DiffuseRealityRecords001
      • DRR001
      • Diffuse Reality001
      • DiffuseReality001
      • DR001
      • Diffuse001
    • Parse catalogue number from the description when the header is followed by a hash symbol, like CAT#: ABC-123.

    • Properly catch catalogue number suffix RP.

    • Relax the rule that looks for a catalogue number within brackets in the release title.

  • track:

    • For tracks named like [Remixer] - Artist - Title move the remixer to the end: Artist - Title [Remixer].