From ed9511b17f7d1b124f5c23eee85c0790871772ff Mon Sep 17 00:00:00 2001 From: zarzet Date: Tue, 14 Jul 2026 19:00:34 +0700 Subject: [PATCH] refactor(library-scan): reuse applyAudioMetadataToScan for M4A/MP3/APE The M4A, MP3, and APE scanners hand-copied AudioMetadata into the scan result field-for-field, identical to the existing applyAudioMetadataToScan helper (same Date-else-Year fallback). Route them through it. Ogg is left as-is (it intentionally has no Year fallback) and FLAC uses the separate Metadata type. --- go_backend/library_scan.go | 56 ++------------------------------------ 1 file changed, 3 insertions(+), 53 deletions(-) diff --git a/go_backend/library_scan.go b/go_backend/library_scan.go index 7e3d9d90..eca7e3d3 100644 --- a/go_backend/library_scan.go +++ b/go_backend/library_scan.go @@ -574,23 +574,7 @@ func scanM4AFile(filePath string, result *LibraryScanResult, displayNameHint str } if metadata != nil { - result.TrackName = metadata.Title - result.ArtistName = metadata.Artist - result.AlbumName = metadata.Album - result.AlbumArtist = metadata.AlbumArtist - result.ISRC = metadata.ISRC - result.TrackNumber = metadata.TrackNumber - result.TotalTracks = metadata.TotalTracks - result.DiscNumber = metadata.DiscNumber - result.TotalDiscs = metadata.TotalDiscs - result.ReleaseDate = metadata.Date - if result.ReleaseDate == "" { - result.ReleaseDate = metadata.Year - } - result.Genre = metadata.Genre - result.Composer = metadata.Composer - result.Label = metadata.Label - result.Copyright = metadata.Copyright + applyAudioMetadataToScan(metadata, result) } quality, err := GetM4AQuality(filePath) @@ -652,24 +636,7 @@ func scanMP3File(filePath string, result *LibraryScanResult, displayNameHint str return scanFromFilename(filePath, displayNameHint, result) } - result.TrackName = metadata.Title - result.ArtistName = metadata.Artist - result.AlbumName = metadata.Album - result.AlbumArtist = metadata.AlbumArtist - result.TrackNumber = metadata.TrackNumber - result.TotalTracks = metadata.TotalTracks - result.DiscNumber = metadata.DiscNumber - result.TotalDiscs = metadata.TotalDiscs - result.Genre = metadata.Genre - if metadata.Date != "" { - result.ReleaseDate = metadata.Date - } else { - result.ReleaseDate = metadata.Year - } - result.ISRC = metadata.ISRC - result.Composer = metadata.Composer - result.Label = metadata.Label - result.Copyright = metadata.Copyright + applyAudioMetadataToScan(metadata, result) quality, err := GetMP3Quality(filePath) if err == nil { @@ -735,24 +702,7 @@ func scanAPEFile(filePath string, result *LibraryScanResult, displayNameHint str return scanFromFilename(filePath, displayNameHint, result) } - result.TrackName = metadata.Title - result.ArtistName = metadata.Artist - result.AlbumName = metadata.Album - result.AlbumArtist = metadata.AlbumArtist - result.ISRC = metadata.ISRC - result.TrackNumber = metadata.TrackNumber - result.TotalTracks = metadata.TotalTracks - result.DiscNumber = metadata.DiscNumber - result.TotalDiscs = metadata.TotalDiscs - result.Genre = metadata.Genre - if metadata.Date != "" { - result.ReleaseDate = metadata.Date - } else { - result.ReleaseDate = metadata.Year - } - result.Composer = metadata.Composer - result.Label = metadata.Label - result.Copyright = metadata.Copyright + applyAudioMetadataToScan(metadata, result) applyDefaultLibraryMetadata(filePath, displayNameHint, result)