added isrc meta tag
This commit is contained in:
@@ -18,6 +18,7 @@ type Metadata struct {
|
||||
Track int
|
||||
TotalTracks int
|
||||
Comment *string
|
||||
ISRC *string
|
||||
}
|
||||
|
||||
func ReadAudioTags(filePath string) (*Metadata, error) {
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user