@@ -69,6 +69,7 @@ type LbzAdditionalInfo struct {
6969 Duration int32 `json:"duration,omitempty"`
7070 Tags []string `json:"tags,omitempty"`
7171 AlbumArtist string `json:"albumartist,omitempty"`
72+ SpotifyArtistIDs []string `json:"spotify_artist_ids,omitempty"`
7273}
7374
7475const (
@@ -153,7 +154,7 @@ func LbzSubmitListenHandler(store submitListenHandlerStore, mbzc mbz.MusicBrainz
153154 }
154155 if len (artistMbzIDs ) < 1 {
155156 l .Debug ().AnErr ("error" , err ).Msg ("LbzSubmitListenHandler: Attempting to parse artist UUIDs from mbid_mapping" )
156- utils .ParseUUIDSlice (payload .TrackMeta .MBIDMapping .ArtistMBIDs )
157+ artistMbzIDs , err = utils .ParseUUIDSlice (payload .TrackMeta .MBIDMapping .ArtistMBIDs )
157158 if err != nil {
158159 l .Debug ().AnErr ("error" , err ).Msg ("LbzSubmitListenHandler: Failed to parse one or more UUIDs" )
159160 }
@@ -208,9 +209,14 @@ func LbzSubmitListenHandler(store submitListenHandlerStore, mbzc mbz.MusicBrainz
208209 artistMbidMap = append (artistMbidMap , catalog.ArtistMbidMap {Artist : a .ArtistName , Mbid : mbid })
209210 }
210211
212+ artistNames := payload .TrackMeta .AdditionalInfo .ArtistNames
213+ if len (artistNames ) < 1 {
214+ artistNames = catalog .InferArtistNamesFromSourceIDs (payload .TrackMeta .ArtistName , payload .TrackMeta .AdditionalInfo .SpotifyArtistIDs )
215+ }
216+
211217 opts := catalog.SubmitListenOpts {
212218 MbzCaller : mbzc ,
213- ArtistNames : payload . TrackMeta . AdditionalInfo . ArtistNames ,
219+ ArtistNames : artistNames ,
214220 Artist : payload .TrackMeta .ArtistName ,
215221 ArtistMbzIDs : artistMbzIDs ,
216222 TrackTitle : payload .TrackMeta .TrackName ,
0 commit comments