navidrome/model/metadata
Deluan Quintão 56cc32aede
fix(scanner): map movement number and count from ID3 MVIN and MP4 tags (#6357)
TagLib reports ID3 MVIN and MP4 ©mvi as movementnumber, and MP4 ©mvc as
movementcount. Neither name was aliased in mappings.yaml, so getSong
returned movements with the name only. Add both aliases.

ID3 MVIN stores the value as n/N (e.g. 1/4), which parsed as 0. Split it
at scan time, like track and disc numbers, so the stored movement tag holds
the number and movementtotal gets the count when the file has no explicit
total. Storing the clean value also lets smart playlist rules on the
movement tag match. Existing files need a full scan to pick this up.

Fixes #6356
2026-10-21 13:26:26 +01:00
..
legacy_ids.go refactor(db): migrate all ids to a uniform canonical 128-bit base62 encoding (#5824) 2026-08-02 12:58:53 -04:00
map_mediafile.go fix(scanner): map movement number and count from ID3 MVIN and MP4 tags (#6357) 2026-10-21 13:26:26 +01:00
map_mediafile_test.go fix(scanner): map movement number and count from ID3 MVIN and MP4 tags (#6357) 2026-10-21 13:26:26 +01:00
map_participants.go feat(scanner): add ArtistSplitExceptions to protect artist names from splitting (#5701) 2026-07-02 08:29:44 -04:00
map_participants_test.go feat(scanner): per-library PID configuration (#6252) 2026-10-02 05:05:32 -04:00
metadata.go fix(scanner): keep tag numbers within the int32 range (#6202) 2026-09-22 19:51:32 -04:00
metadata_internal_test.go fix: assorted scanner, plugin, and server fixes from the Go 1.27 work (#6050) 2026-08-30 21:24:50 -04:00
metadata_suite_test.go feat(bfr): Big Refactor: new scanner, lots of new fields and tags, improvements and DB schema changes (#2709) 2025-02-19 20:35:17 -05:00
metadata_test.go feat(scanner): per-library PID configuration (#6252) 2026-10-02 05:05:32 -04:00
persistent_ids.go feat(scanner): per-library PID configuration (#6252) 2026-10-02 05:05:32 -04:00
persistent_ids_test.go feat(scanner): per-library PID configuration (#6252) 2026-10-02 05:05:32 -04:00