@@ -196,34 +196,39 @@ func (c *ListenBrainz) getTracks(mbids []string, singleArtist bool) ([]*models.T
196196
197197 tracks := make ([]* models.Track , 0 , len (recordings ))
198198 for _ , recording := range recordings {
199- title := recording .Recording .Name
199+ rec := recording .Recording
200+
201+ title := rec .Name
200202 artist := recording .Artist .Name
201203 mainArtist := recording .Artist .Name
202204
203- if len (recording .Artist .Artists ) > 1 {
204- mainArtist = recording .Artist .Artists [0 ].Name
205+ recArtists := recording .Artist .Artists
206+
207+ if len (recArtists ) > 1 {
208+ mainArtist = recArtists [0 ].Name
205209 if singleArtist {
206- var tempTitle strings.Builder
207- joinPhrase := " feat. "
208- for i , artist := range recording .Artist .Artists [1 :] {
209- if i > 0 {
210- joinPhrase = ", "
211- }
212- tempTitle .WriteString (joinPhrase )
213- tempTitle .WriteString (artist .Name )
210+ var b strings.Builder
211+ b .WriteString (title )
212+ b .WriteString (" feat. " )
213+ b .WriteString (recArtists [1 ].Name )
214+
215+ for _ , a := range recArtists [2 :] {
216+ b .WriteString (", " )
217+ b .WriteString (a .Name )
218+ }
219+
220+ title = b .String ()
221+ artist = mainArtist
214222 }
215- title = fmt .Sprintf ("%s%s" , recording .Recording .Name , tempTitle .String ())
216- artist = recording .Artist .Artists [0 ].Name
217- }
218223 }
219224
220225 tracks = append (tracks , & models.Track {
221226 Album : recording .Release .Name ,
222227 Artist : artist ,
223228 MainArtist : mainArtist ,
224- CleanTitle : recording . Recording .Name ,
229+ CleanTitle : rec .Name ,
225230 Title : title ,
226- Duration : recording . Recording .Length ,
231+ Duration : rec .Length ,
227232 })
228233 }
229234
0 commit comments