From 5cb53dff3b8f4f642466d63a7f9a10fbcbe2ae85 Mon Sep 17 00:00:00 2001 From: dongdigua Date: Mon, 27 Jan 2025 14:58:01 +0800 Subject: [PATCH] fix: prevent duplicated flac metadata --- ncmcrypt/ncmcrypt.go | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/ncmcrypt/ncmcrypt.go b/ncmcrypt/ncmcrypt.go index 4657f47..3b67625 100644 --- a/ncmcrypt/ncmcrypt.go +++ b/ncmcrypt/ncmcrypt.go @@ -235,9 +235,15 @@ func (ncm *NeteaseCloudMusic) FixMetadata(fetchAlbumImageFromRemote bool) (bool, cmts = flacvorbis.New() } - _ = cmts.Add(flacvorbis.FIELD_TITLE, ncm.mMetadata.mName) - _ = cmts.Add(flacvorbis.FIELD_ARTIST, ncm.mMetadata.mArtist) - _ = cmts.Add(flacvorbis.FIELD_ALBUM, ncm.mMetadata.mAlbum) + if res, _ := cmts.Get(flacvorbis.FIELD_TITLE); res[0] != ncm.mMetadata.mName { + _ = cmts.Add(flacvorbis.FIELD_TITLE, ncm.mMetadata.mName) + } + if res, _ := cmts.Get(flacvorbis.FIELD_ARTIST); res[0] != ncm.mMetadata.mArtist { + _ = cmts.Add(flacvorbis.FIELD_ARTIST, ncm.mMetadata.mArtist) + } + if res, _ := cmts.Get(flacvorbis.FIELD_ALBUM); res[0] != ncm.mMetadata.mAlbum { + _ = cmts.Add(flacvorbis.FIELD_ALBUM, ncm.mMetadata.mAlbum) + } cmtsmeta := cmts.Marshal()