A track's release id is missing where the prober does not report it #40
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
MusicBrainzTrackholds 3041 rows upstream and 2939 here — 102 short. Unlikethe recording (#29) this is not a frame the prober refuses to report: the
release track id is a plain text tag, and ffprobe surfaces it as
MusicBrainz Release Track Id.Three candidates, in the order they are worth testing:
track, which land in ffprobe's stream metadata instead — and upstream has an
explicit fallback key for exactly that shape
(
AudioFileProber.cs:654-680,track.musicbrainz_release_track_id).an mp3, ID3v2 on a flac.
Now that a track is read a second time (#27), the experiment is cheap: add
ItemKey::MusicBrainzTrackIdtoread_tagsand compare what it finds againstwhat the prober reported, across the library. If the second reader answers for
roughly the missing hundred, this is the same family as #29.
Separately and not a count:
first_music_brainz_idsplits on/alone, whileffprobe joins repeated values with
;. A tag holding two ids is stored wholehere and as the first of them upstream — a wrong value rather than a missing
row.
Fixed and merged.
Two things were needed.
ItemKey::MusicBrainzTrackIdis one of the keys thefile's own reading answers — and, the larger one, that reading now asks every
block of tags a file carries rather than only the one its format calls primary.
The 102 files were flacs written with an
ID3v2block in front of theircomments, which nothing had been looking at.
A block in front answers for a field both of them name, which is upstream's own
order rather than the format's: of the 59 tracks whose genres still differed
after #27, 55 were this.
MusicBrainzTrack: 2939 → 3041, against upstream's 3041, with no path wherethe value differs.