From fa0e2a5103c8bebe34f0efd4ed8dd5ea1810617c Mon Sep 17 00:00:00 2001 From: Niklas Kapelle Date: Thu, 16 Apr 2026 16:39:03 +0200 Subject: [PATCH] add date metadata --- 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 e2a8be2..5e1e88b 100644 --- a/internal/metadata/metadata.go +++ b/internal/metadata/metadata.go @@ -19,6 +19,7 @@ type Metadata struct { TotalTracks int Comment *string ISRC *string + Date *string } func ReadAudioTags(filePath string) (*Metadata, error) { diff --git a/internal/metadata/vobis.go b/internal/metadata/vobis.go index 645fee3..8e8ca84 100644 --- a/internal/metadata/vobis.go +++ b/internal/metadata/vobis.go @@ -79,12 +79,22 @@ func readVorbisMetadata(file string) (*Metadata, error) { isrc = &isrcs[0] } + dates, err := cmt.Get("DATE") + if err != nil { + return nil, err + } + var date *string + if len(dates) > 0 { + date = &dates[0] + } + metadata := &Metadata{ Title: title, Artist: artists, Album: album, AlbumArtist: albumArtists, Comment: comment, + Date: date, ISRC: isrc, } @@ -153,6 +163,10 @@ func createVorbisMetaBlock(m Metadata) flacvorbis.MetaDataBlockVorbisComment { vorbisMeta.Add("ISRC", *m.ISRC) } + if m.Date != nil { + vorbisMeta.Add("DATE", *m.Date) + } + for _, artist := range m.Artist { vorbisMeta.Add(flacvorbis.FIELD_ARTIST, artist) slog.Debug("Added ARTIST filed to metadata", "artist", artist)