feat(models): QueueTrack carries isrc/recording_mbid; Track models audio_info

QueueTrack gains two additive, serde-default identity keys (the ISRC and
the MusicBrainz recording id) that the listen log stamps; every
constructor in the workspace sets them (Qobuz-backed ones from
Track.isrc, local ones from the scanned tags, the rest None). They are
JOIN keys, not the row identity: numeric ids collide across sources, so
(source, native item id) stays the identity.

Track.audio_info (replaygain_track_gain / peak on DiscoverAudioInfo) is
modelled from the captured search envelopes; no reader yet and no
popularity field (0 in every sample).

cc
This commit is contained in:
vicrodh committed 2026-08-28 20:30:42 -06:00
1 parent 5bd1009ca1
commit ef665dcc5c
23 files changed
+73 -1

No files matched your search

@@ -397,6 +397,7 @@ mod tests {
version: None,
work: None,
isrc: None,
audio_info: None,
duration: 0,
track_number: 0,
media_number: None,