|
|
@ -1142,6 +1142,23 @@ func rip(albumId string, token string, storefront string, userToken string) erro |
|
|
|
fmt.Println(singerFoldername) |
|
|
|
fmt.Println(singerFoldername) |
|
|
|
} |
|
|
|
} |
|
|
|
singerFolder := filepath.Join(config.AtmosSaveFolder, forbiddenNames.ReplaceAllString(singerFoldername, "_")) |
|
|
|
singerFolder := filepath.Join(config.AtmosSaveFolder, forbiddenNames.ReplaceAllString(singerFoldername, "_")) |
|
|
|
|
|
|
|
stringsToJoin := []string{} |
|
|
|
|
|
|
|
if meta.Data[0].Attributes.IsAppleDigitalMaster{ |
|
|
|
|
|
|
|
if config.AppleMasterChoice != ""{ |
|
|
|
|
|
|
|
stringsToJoin = append(stringsToJoin, config.AppleMasterChoice) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if meta.Data[0].Attributes.ContentRating=="explicit"{ |
|
|
|
|
|
|
|
if config.ExplicitChoice != ""{ |
|
|
|
|
|
|
|
stringsToJoin = append(stringsToJoin, config.ExplicitChoice) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if meta.Data[0].Attributes.ContentRating=="clean"{ |
|
|
|
|
|
|
|
if config.CleanChoice != ""{ |
|
|
|
|
|
|
|
stringsToJoin = append(stringsToJoin, config.CleanChoice) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
Tag_string := strings.Join(stringsToJoin, " ") |
|
|
|
var albumFolder string |
|
|
|
var albumFolder string |
|
|
|
Quality:=fmt.Sprintf("%dkbps", config.AtmosMax-2000) |
|
|
|
Quality:=fmt.Sprintf("%dkbps", config.AtmosMax-2000) |
|
|
|
if strings.Contains(albumId, "pl.") { |
|
|
|
if strings.Contains(albumId, "pl.") { |
|
|
@ -1151,6 +1168,7 @@ func rip(albumId string, token string, storefront string, userToken string) erro |
|
|
|
"{PlaylistId}", albumId, |
|
|
|
"{PlaylistId}", albumId, |
|
|
|
"{Quality}",Quality, |
|
|
|
"{Quality}",Quality, |
|
|
|
"{Codec}", "Atmos", |
|
|
|
"{Codec}", "Atmos", |
|
|
|
|
|
|
|
"{Tag}",Tag_string, |
|
|
|
).Replace(config.PlaylistFolderFormat) |
|
|
|
).Replace(config.PlaylistFolderFormat) |
|
|
|
}else{ |
|
|
|
}else{ |
|
|
|
albumFolder = strings.NewReplacer( |
|
|
|
albumFolder = strings.NewReplacer( |
|
|
@ -1163,23 +1181,9 @@ func rip(albumId string, token string, storefront string, userToken string) erro |
|
|
|
"{AlbumId}", albumId, |
|
|
|
"{AlbumId}", albumId, |
|
|
|
"{Quality}",Quality, |
|
|
|
"{Quality}",Quality, |
|
|
|
"{Codec}", "Atmos", |
|
|
|
"{Codec}", "Atmos", |
|
|
|
|
|
|
|
"{Tag}",Tag_string, |
|
|
|
).Replace(config.AlbumFolderFormat) |
|
|
|
).Replace(config.AlbumFolderFormat) |
|
|
|
} |
|
|
|
} |
|
|
|
if meta.Data[0].Attributes.IsMasteredForItunes{ |
|
|
|
|
|
|
|
if config.AppleMasterChoice != ""{ |
|
|
|
|
|
|
|
albumFolder = fmt.Sprintf("%s %s", albumFolder,config.AppleMasterChoice) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if meta.Data[0].Attributes.ContentRating=="explicit"{ |
|
|
|
|
|
|
|
if config.ExplicitChoice != ""{ |
|
|
|
|
|
|
|
albumFolder = fmt.Sprintf("%s %s", albumFolder,config.ExplicitChoice) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if meta.Data[0].Attributes.ContentRating=="clean"{ |
|
|
|
|
|
|
|
if config.CleanChoice != ""{ |
|
|
|
|
|
|
|
albumFolder = fmt.Sprintf("%s %s", albumFolder,config.CleanChoice) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if strings.HasSuffix(albumFolder, ".") { |
|
|
|
if strings.HasSuffix(albumFolder, ".") { |
|
|
|
albumFolder = strings.ReplaceAll(albumFolder, ".", "") |
|
|
|
albumFolder = strings.ReplaceAll(albumFolder, ".", "") |
|
|
|
} |
|
|
|
} |
|
|
@ -1205,30 +1209,34 @@ func rip(albumId string, token string, storefront string, userToken string) erro |
|
|
|
fmt.Println("Unavailable in ALAC.") |
|
|
|
fmt.Println("Unavailable in ALAC.") |
|
|
|
continue |
|
|
|
continue |
|
|
|
} |
|
|
|
} |
|
|
|
songName := strings.NewReplacer( |
|
|
|
|
|
|
|
"{SongId}", track.ID, |
|
|
|
stringsToJoin := []string{} |
|
|
|
"{SongNumer}", fmt.Sprintf("%02d", trackNum), |
|
|
|
|
|
|
|
"{SongName}", track.Attributes.Name, |
|
|
|
|
|
|
|
"{DiscNumber}", string(track.Attributes.DiscNumber), |
|
|
|
|
|
|
|
"{TrackNumber}", fmt.Sprintf("%02d", track.Attributes.TrackNumber), |
|
|
|
|
|
|
|
"{Quality}",Quality, |
|
|
|
|
|
|
|
"{Codec}", "Atmos", |
|
|
|
|
|
|
|
).Replace(config.SongFileFormat) |
|
|
|
|
|
|
|
if track.Attributes.IsAppleDigitalMaster{ |
|
|
|
if track.Attributes.IsAppleDigitalMaster{ |
|
|
|
if config.AppleMasterChoice != ""{ |
|
|
|
if config.AppleMasterChoice != ""{ |
|
|
|
songName = fmt.Sprintf("%s %s", songName,config.AppleMasterChoice) |
|
|
|
stringsToJoin = append(stringsToJoin, config.AppleMasterChoice) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if track.Attributes.ContentRating=="explicit"{ |
|
|
|
if track.Attributes.ContentRating=="explicit"{ |
|
|
|
if config.ExplicitChoice != ""{ |
|
|
|
if config.ExplicitChoice != ""{ |
|
|
|
songName = fmt.Sprintf("%s %s", songName,config.ExplicitChoice) |
|
|
|
stringsToJoin = append(stringsToJoin, config.ExplicitChoice) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if track.Attributes.ContentRating=="clean"{ |
|
|
|
if track.Attributes.ContentRating=="clean"{ |
|
|
|
if config.CleanChoice != ""{ |
|
|
|
if config.CleanChoice != ""{ |
|
|
|
songName = fmt.Sprintf("%s %s", songName,config.CleanChoice) |
|
|
|
stringsToJoin = append(stringsToJoin, config.CleanChoice) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
Tag_string := strings.Join(stringsToJoin, " ") |
|
|
|
|
|
|
|
songName := strings.NewReplacer( |
|
|
|
|
|
|
|
"{SongId}", track.ID, |
|
|
|
|
|
|
|
"{SongNumer}", fmt.Sprintf("%02d", trackNum), |
|
|
|
|
|
|
|
"{SongName}", track.Attributes.Name, |
|
|
|
|
|
|
|
"{DiscNumber}", string(track.Attributes.DiscNumber), |
|
|
|
|
|
|
|
"{TrackNumber}", fmt.Sprintf("%02d", track.Attributes.TrackNumber), |
|
|
|
|
|
|
|
"{Quality}",Quality, |
|
|
|
|
|
|
|
"{Codec}", "Atmos", |
|
|
|
|
|
|
|
"{Tag}",Tag_string, |
|
|
|
|
|
|
|
).Replace(config.SongFileFormat) |
|
|
|
fmt.Println(songName) |
|
|
|
fmt.Println(songName) |
|
|
|
filename := fmt.Sprintf("%s.ec3", forbiddenNames.ReplaceAllString(songName, "_")) |
|
|
|
filename := fmt.Sprintf("%s.ec3", forbiddenNames.ReplaceAllString(songName, "_")) |
|
|
|
m4afilename := fmt.Sprintf("%s.m4a", forbiddenNames.ReplaceAllString(songName, "_")) |
|
|
|
m4afilename := fmt.Sprintf("%s.m4a", forbiddenNames.ReplaceAllString(songName, "_")) |
|
|
|