fix writeTag panic

This commit is contained in:
itouakirai 2025-01-15 20:22:39 +08:00
parent 2ca82f615a
commit eb929e3660

17
main.go
View File

@ -807,6 +807,7 @@ func rip(albumId string, token string, storefront string, userToken string) erro
}
tags := []string{
"tool=",
fmt.Sprintf("artist=%s", meta.Data[0].Attributes.ArtistName),
fmt.Sprintf("lyrics=%s", lrc),
}
if Config.EmbedCover {
@ -835,12 +836,16 @@ func rip(albumId string, token string, storefront string, userToken string) erro
}
}
err = writeMP4Tags(trackPath, meta, trackNum, trackTotal)
if err != nil {
fmt.Println("\u26A0 Failed to write tags in media:", err)
counter.Unavailable++
continue
}
counter.Success++
okDict[albumId] = append(okDict[albumId], trackNum)
}
}
return err
return nil
}
func writeMP4Tags(trackPath string, meta *structs.AutoGenerated, trackNum, trackTotal int) error {
@ -849,7 +854,7 @@ func writeMP4Tags(trackPath string, meta *structs.AutoGenerated, trackNum, track
t := &mp4tag.MP4Tags{
Title: meta.Data[0].Relationships.Tracks.Data[index].Attributes.Name,
TitleSort: meta.Data[0].Relationships.Tracks.Data[index].Attributes.Name,
AlbumArtist: meta.Data[0].Attributes.ArtistName,
//AlbumArtist: meta.Data[0].Attributes.ArtistName,
AlbumArtistSort: meta.Data[0].Attributes.ArtistName,
Artist: meta.Data[0].Relationships.Tracks.Data[index].Attributes.ArtistName,
ArtistSort: meta.Data[0].Relationships.Tracks.Data[index].Attributes.ArtistName,
@ -911,15 +916,15 @@ func writeMP4Tags(trackPath string, meta *structs.AutoGenerated, trackNum, track
mp4, err := mp4tag.Open(trackPath)
if err != nil {
panic(err)
return err
}
defer mp4.Close()
err = mp4.Write(t, []string{})
if err != nil {
panic(err)
}
return err
}
return nil
}
func main() {
err := loadConfig()