added isrc meta tag
This commit is contained in:
@@ -18,6 +18,7 @@ type Metadata struct {
|
|||||||
Track int
|
Track int
|
||||||
TotalTracks int
|
TotalTracks int
|
||||||
Comment *string
|
Comment *string
|
||||||
|
ISRC *string
|
||||||
}
|
}
|
||||||
|
|
||||||
func ReadAudioTags(filePath string) (*Metadata, error) {
|
func ReadAudioTags(filePath string) (*Metadata, error) {
|
||||||
|
|||||||
@@ -70,12 +70,22 @@ func readVorbisMetadata(file string) (*Metadata, error) {
|
|||||||
comment = &comments[0]
|
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{
|
metadata := &Metadata{
|
||||||
Title: title,
|
Title: title,
|
||||||
Artist: artists,
|
Artist: artists,
|
||||||
Album: album,
|
Album: album,
|
||||||
AlbumArtist: albumArtists,
|
AlbumArtist: albumArtists,
|
||||||
Comment: comment,
|
Comment: comment,
|
||||||
|
ISRC: isrc,
|
||||||
}
|
}
|
||||||
|
|
||||||
return metadata, nil
|
return metadata, nil
|
||||||
@@ -139,6 +149,10 @@ func createVorbisMetaBlock(m Metadata) flacvorbis.MetaDataBlockVorbisComment {
|
|||||||
vorbisMeta.Add("TOTALTRACKS", strconv.Itoa(m.TotalTracks))
|
vorbisMeta.Add("TOTALTRACKS", strconv.Itoa(m.TotalTracks))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if m.ISRC != nil {
|
||||||
|
vorbisMeta.Add("ISRC", *m.ISRC)
|
||||||
|
}
|
||||||
|
|
||||||
for _, artist := range m.Artist {
|
for _, artist := range m.Artist {
|
||||||
vorbisMeta.Add(flacvorbis.FIELD_ARTIST, artist)
|
vorbisMeta.Add(flacvorbis.FIELD_ARTIST, artist)
|
||||||
slog.Debug("Added ARTIST filed to metadata", "artist", artist)
|
slog.Debug("Added ARTIST filed to metadata", "artist", artist)
|
||||||
|
|||||||
Reference in New Issue
Block a user