🚧 More of fingerprinting

This commit is contained in:
Dan Jones 2023-09-24 22:34:30 -05:00
commit c87dc5e04f
3 changed files with 89 additions and 6 deletions

View file

@ -19,6 +19,45 @@ type Recording struct {
Video bool
Releases []Release
Genres []Genre
ArtistCredit []ArtistCredit `json:"artist-credit"`
}
func (r Recording) FirstArtist() Artist {
var a Artist
for _, ac := range r.ArtistCredit {
if ac.Artist.Name != "" {
return ac.Artist
}
}
for _, rel := range r.Releases {
for _, ac := range rel.ArtistCredit {
if ac.Artist.Name != "" {
return ac.Artist
}
}
}
if a.Name == "" {
a.Name = "Unknown Artist"
}
return a
}
func (r Recording) FirstGenre() Genre {
var g Genre
for _, g = range r.Genres {
if g.Name != "" {
return g
}
}
for _, rel := range r.Releases {
for _, g = range rel.Genres {
if g.Name != "" {
return g
}
}
}
return g
}
type Genre struct {