From 1ad9a3196db0d99b197127b1e5853792a9a08d08 Mon Sep 17 00:00:00 2001 From: Niklas Kapelle Date: Thu, 16 Apr 2026 16:08:53 +0200 Subject: [PATCH] added isrc meta tag --- internal/metadata/metadata.go | 1 + internal/metadata/vobis.go | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/internal/metadata/metadata.go b/internal/metadata/metadata.go index 9e794e8..e2a8be2 100644 --- a/internal/metadata/metadata.go +++ b/internal/metadata/metadata.go @@ -18,6 +18,7 @@ type Metadata struct { Track int TotalTracks int Comment *string + ISRC *string } func ReadAudioTags(filePath string) (*Metadata, error) { diff --git a/internal/metadata/vobis.go b/internal/metadata/vobis.go index 504526f..645fee3 100644 --- a/internal/metadata/vobis.go +++ b/internal/metadata/vobis.go @@ -70,12 +70,22 @@ func readVorbisMetadata(file string) (*Metadata, error) { comment = &comments[0] } + isrcs, err := cmt.Get("ISRC") + if err != nil { + return nil, err + } + var isrc *string + if len(isrcs) > 0 { + isrc = &isrcs[0] + } + metadata := &Metadata{ Title: title, Artist: artists, Album: album, AlbumArtist: albumArtists, Comment: comment, + ISRC: isrc, } return metadata, nil @@ -139,6 +149,10 @@ func createVorbisMetaBlock(m Metadata) flacvorbis.MetaDataBlockVorbisComment { vorbisMeta.Add("TOTALTRACKS", strconv.Itoa(m.TotalTracks)) } + if m.ISRC != nil { + vorbisMeta.Add("ISRC", *m.ISRC) + } + for _, artist := range m.Artist { vorbisMeta.Add(flacvorbis.FIELD_ARTIST, artist) slog.Debug("Added ARTIST filed to metadata", "artist", artist)