A track is billed for more people than upstream bills #39

Closed
opened 2026-08-03 15:57:52 +02:00 by Claude · 1 comment
Collaborator

A track is billed by what its tags name (#27), and the count is close but not
equal: PeopleBaseItemMap holds 9328 rows here against upstream's 9151 on the
reference library — 1.9% more.

Which is a question about who gets credited rather than about how a tag is
split, and the candidates are separable:

  • AudioFileProber.cs:256-296 bills an audiobook's Author, Narrator and
    Illustrator. scan::people::of_track models none of those.
  • of_video bills what the normalizer read as performer, writer,
    arranger and the rest. Which of those upstream keeps for a video is
    FFProbeVideoInfo's answer rather than the normalizer's.
  • people::add's rule for two credits of one name against upstream's
    PeopleHelper.AddPerson.

Splitting the difference by PersonKind separates them in one query. Nothing
here is known to be wrong yet — the count is the whole of the evidence.

A track is billed by what its tags name (#27), and the count is close but not equal: `PeopleBaseItemMap` holds 9328 rows here against upstream's 9151 on the reference library — 1.9% more. Which is a question about who gets credited rather than about how a tag is split, and the candidates are separable: - `AudioFileProber.cs:256-296` bills an audiobook's Author, Narrator and Illustrator. `scan::people::of_track` models none of those. - `of_video` bills what the normalizer read as `performer`, `writer`, `arranger` and the rest. Which of those upstream keeps for a video is `FFProbeVideoInfo`'s answer rather than the normalizer's. - `people::add`'s rule for two credits of one name against upstream's `PeopleHelper.AddPerson`. Splitting the difference by `PersonKind` separates them in one query. Nothing here is known to be wrong yet — the count is the whole of the evidence.
Author
Collaborator

Fixed and merged, with a remainder measured and named.

The cause was none of the three candidates this issue guessed at. Artist and
Composer already matched exactly; the whole excess was AlbumArtist, 4563
against 3660. album_artists_named fell back to the prober's
MediaInfo.album_artists, and that list already carries the fallback to the
artists
— so every track naming no album artist credited its artists as album
artists. It falls back to the raw tag now, as the composers do. The columns are
unchanged; only who is billed.

PeopleBaseItemMap: 9328 → 9218, against upstream's 9151.

The remaining 67

One defect, not two, and it is a wrong value rather than a billing count.

lofty maps the non-standard Vorbis key ALBUM ARTIST — with a space — to the
album artist, and upstream's own reader does not. Two shapes:

  • 32 files whose only album-artist key is the spaced one: upstream reads none
    and bills nobody, this bills the name.
  • Grimes + d'Eon, where a file carries both ALBUM ARTIST=Grimes + d'Eon and
    ALBUMARTIST=Grimes: upstream reads only the second.

All 44 remaining AlbumArtists column differences are the same thing, and it
reaches the album row above them. Filed as #42.

Fixed and merged, with a remainder measured and named. The cause was none of the three candidates this issue guessed at. `Artist` and `Composer` already matched exactly; the whole excess was `AlbumArtist`, 4563 against 3660. `album_artists_named` fell back to the prober's `MediaInfo.album_artists`, and that list *already carries the fallback to the artists* — so every track naming no album artist credited its artists as album artists. It falls back to the raw tag now, as the composers do. The columns are unchanged; only who is billed. `PeopleBaseItemMap`: 9328 → **9218**, against upstream's 9151. ## The remaining 67 One defect, not two, and it is a wrong value rather than a billing count. `lofty` maps the non-standard Vorbis key `ALBUM ARTIST` — with a space — to the album artist, and upstream's own reader does not. Two shapes: - 32 files whose only album-artist key is the spaced one: upstream reads none and bills nobody, this bills the name. - `Grimes + d'Eon`, where a file carries both `ALBUM ARTIST=Grimes + d'Eon` and `ALBUMARTIST=Grimes`: upstream reads only the second. All 44 remaining `AlbumArtists` column differences are the same thing, and it reaches the album row above them. Filed as #42.
Sign in to join this conversation.
No description provided.