add tag
This commit is contained in:
parent
30d4de187d
commit
303c253479
@ -11,12 +11,12 @@ force-api: false
|
||||
get-m3u8-from-device: false
|
||||
alac-max: 192000 #192000 96000 48000 44100
|
||||
atmos-max: 2768 #2768 2448
|
||||
#{AlbumId} {AlbumName} {ArtistName} {ReleaseDate} {ReleaseYear} {UPC} {Copyright} {Quality} {Codec}
|
||||
#{AlbumId} {AlbumName} {ArtistName} {ReleaseDate} {ReleaseYear} {UPC} {Copyright} {Quality} {Codec} {Tag}
|
||||
#example: {ReleaseYear} - {ArtistName} - {AlbumName}({AlbumId})({UPC})({Copyright}){Codec}
|
||||
album-folder-format: "{AlbumName}"
|
||||
#{PlaylistId} {PlaylistName} {ArtistName} {Quality} {Codec}
|
||||
playlist-folder-format: "{PlaylistName}"
|
||||
#{SongId} {SongNumer} {SongName} {DiscNumber} {TrackNumber} {Quality} {Codec}
|
||||
#{SongId} {SongNumer} {SongName} {DiscNumber} {TrackNumber} {Quality} {Codec} {Tag}
|
||||
#example: Disk {DiscNumber} - Track {TrackNumber} {SongName} [{Quality}]"
|
||||
song-file-format: "{SongNumer}. {SongName}"
|
||||
#{ArtistId} {ArtistName}
|
||||
|
68
main.go
68
main.go
@ -1200,6 +1200,23 @@ func rip(albumId string, token string, storefront string, userToken string) erro
|
||||
fmt.Println("Failed to extract quality from manifest.\n", err)
|
||||
}
|
||||
}
|
||||
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
|
||||
if strings.Contains(albumId, "pl.") {
|
||||
albumFolder = strings.NewReplacer(
|
||||
@ -1208,6 +1225,7 @@ func rip(albumId string, token string, storefront string, userToken string) erro
|
||||
"{PlaylistId}", albumId,
|
||||
"{Quality}",Quality,
|
||||
"{Codec}", "ALAC",
|
||||
"{Tag}",Tag_string,
|
||||
).Replace(config.PlaylistFolderFormat)
|
||||
}else{
|
||||
albumFolder = strings.NewReplacer(
|
||||
@ -1220,23 +1238,9 @@ func rip(albumId string, token string, storefront string, userToken string) erro
|
||||
"{AlbumId}", albumId,
|
||||
"{Quality}", Quality,
|
||||
"{Codec}", "ALAC",
|
||||
"{Tag}",Tag_string,
|
||||
).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, ".") {
|
||||
albumFolder = strings.ReplaceAll(albumFolder, ".", "")
|
||||
}
|
||||
@ -1274,6 +1278,24 @@ func rip(albumId string, token string, storefront string, userToken string) erro
|
||||
continue
|
||||
}
|
||||
}
|
||||
stringsToJoin := []string{}
|
||||
if track.Attributes.IsAppleDigitalMaster{
|
||||
if config.AppleMasterChoice != ""{
|
||||
stringsToJoin = append(stringsToJoin, config.AppleMasterChoice)
|
||||
}
|
||||
}
|
||||
if track.Attributes.ContentRating=="explicit"{
|
||||
if config.ExplicitChoice != ""{
|
||||
stringsToJoin = append(stringsToJoin, config.ExplicitChoice)
|
||||
}
|
||||
}
|
||||
if track.Attributes.ContentRating=="clean"{
|
||||
if config.CleanChoice != ""{
|
||||
stringsToJoin = append(stringsToJoin, config.CleanChoice)
|
||||
}
|
||||
}
|
||||
Tag_string := strings.Join(stringsToJoin, " ")
|
||||
|
||||
songName := strings.NewReplacer(
|
||||
"{SongId}", track.ID,
|
||||
"{SongNumer}", fmt.Sprintf("%02d", trackNum),
|
||||
@ -1281,23 +1303,9 @@ func rip(albumId string, token string, storefront string, userToken string) erro
|
||||
"{DiscNumber}", fmt.Sprintf("%0d", track.Attributes.DiscNumber),
|
||||
"{TrackNumber}", fmt.Sprintf("%0d", track.Attributes.TrackNumber),
|
||||
"{Quality}", Quality,
|
||||
"{Tag}",Tag_string,
|
||||
"{Codec}", "ALAC",
|
||||
).Replace(config.SongFileFormat)
|
||||
if track.Attributes.IsAppleDigitalMaster{
|
||||
if config.AppleMasterChoice != ""{
|
||||
songName = fmt.Sprintf("%s %s", songName,config.AppleMasterChoice)
|
||||
}
|
||||
}
|
||||
if track.Attributes.ContentRating=="explicit"{
|
||||
if config.ExplicitChoice != ""{
|
||||
songName = fmt.Sprintf("%s %s", songName,config.ExplicitChoice)
|
||||
}
|
||||
}
|
||||
if track.Attributes.ContentRating=="clean"{
|
||||
if config.CleanChoice != ""{
|
||||
songName = fmt.Sprintf("%s %s", songName,config.CleanChoice)
|
||||
}
|
||||
}
|
||||
fmt.Println(songName)
|
||||
filename := fmt.Sprintf("%s.m4a", forbiddenNames.ReplaceAllString(songName, "_"))
|
||||
lrcFilename := fmt.Sprintf("%s.lrc", forbiddenNames.ReplaceAllString(songName, "_"))
|
||||
|
@ -1142,6 +1142,23 @@ func rip(albumId string, token string, storefront string, userToken string) erro
|
||||
fmt.Println(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
|
||||
Quality:=fmt.Sprintf("%dkbps", config.AtmosMax-2000)
|
||||
if strings.Contains(albumId, "pl.") {
|
||||
@ -1151,6 +1168,7 @@ func rip(albumId string, token string, storefront string, userToken string) erro
|
||||
"{PlaylistId}", albumId,
|
||||
"{Quality}",Quality,
|
||||
"{Codec}", "Atmos",
|
||||
"{Tag}",Tag_string,
|
||||
).Replace(config.PlaylistFolderFormat)
|
||||
}else{
|
||||
albumFolder = strings.NewReplacer(
|
||||
@ -1163,23 +1181,9 @@ func rip(albumId string, token string, storefront string, userToken string) erro
|
||||
"{AlbumId}", albumId,
|
||||
"{Quality}",Quality,
|
||||
"{Codec}", "Atmos",
|
||||
"{Tag}",Tag_string,
|
||||
).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, ".") {
|
||||
albumFolder = strings.ReplaceAll(albumFolder, ".", "")
|
||||
}
|
||||
@ -1205,6 +1209,24 @@ func rip(albumId string, token string, storefront string, userToken string) erro
|
||||
fmt.Println("Unavailable in ALAC.")
|
||||
continue
|
||||
}
|
||||
|
||||
stringsToJoin := []string{}
|
||||
if track.Attributes.IsAppleDigitalMaster{
|
||||
if config.AppleMasterChoice != ""{
|
||||
stringsToJoin = append(stringsToJoin, config.AppleMasterChoice)
|
||||
}
|
||||
}
|
||||
if track.Attributes.ContentRating=="explicit"{
|
||||
if config.ExplicitChoice != ""{
|
||||
stringsToJoin = append(stringsToJoin, config.ExplicitChoice)
|
||||
}
|
||||
}
|
||||
if track.Attributes.ContentRating=="clean"{
|
||||
if config.CleanChoice != ""{
|
||||
stringsToJoin = append(stringsToJoin, config.CleanChoice)
|
||||
}
|
||||
}
|
||||
Tag_string := strings.Join(stringsToJoin, " ")
|
||||
songName := strings.NewReplacer(
|
||||
"{SongId}", track.ID,
|
||||
"{SongNumer}", fmt.Sprintf("%02d", trackNum),
|
||||
@ -1213,22 +1235,8 @@ func rip(albumId string, token string, storefront string, userToken string) erro
|
||||
"{TrackNumber}", fmt.Sprintf("%02d", track.Attributes.TrackNumber),
|
||||
"{Quality}",Quality,
|
||||
"{Codec}", "Atmos",
|
||||
"{Tag}",Tag_string,
|
||||
).Replace(config.SongFileFormat)
|
||||
if track.Attributes.IsAppleDigitalMaster{
|
||||
if config.AppleMasterChoice != ""{
|
||||
songName = fmt.Sprintf("%s %s", songName,config.AppleMasterChoice)
|
||||
}
|
||||
}
|
||||
if track.Attributes.ContentRating=="explicit"{
|
||||
if config.ExplicitChoice != ""{
|
||||
songName = fmt.Sprintf("%s %s", songName,config.ExplicitChoice)
|
||||
}
|
||||
}
|
||||
if track.Attributes.ContentRating=="clean"{
|
||||
if config.CleanChoice != ""{
|
||||
songName = fmt.Sprintf("%s %s", songName,config.CleanChoice)
|
||||
}
|
||||
}
|
||||
fmt.Println(songName)
|
||||
filename := fmt.Sprintf("%s.ec3", forbiddenNames.ReplaceAllString(songName, "_"))
|
||||
m4afilename := fmt.Sprintf("%s.m4a", forbiddenNames.ReplaceAllString(songName, "_"))
|
||||
|
@ -1144,6 +1144,23 @@ func rip(albumId string, token string, storefront string, userToken string) erro
|
||||
fmt.Println(singerFoldername)
|
||||
}
|
||||
singerFolder := filepath.Join(config.AlacSaveFolder, 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
|
||||
if strings.Contains(albumId, "pl.") {
|
||||
albumFolder = strings.NewReplacer(
|
||||
@ -1152,6 +1169,7 @@ func rip(albumId string, token string, storefront string, userToken string) erro
|
||||
"{PlaylistId}", albumId,
|
||||
"{Quality}","",
|
||||
"{Codec}", "ALAC",
|
||||
"{Tag}",Tag_string,
|
||||
).Replace(config.PlaylistFolderFormat)
|
||||
}else{
|
||||
albumFolder = strings.NewReplacer(
|
||||
@ -1164,23 +1182,9 @@ func rip(albumId string, token string, storefront string, userToken string) erro
|
||||
"{AlbumId}", albumId,
|
||||
"{Quality}", "",
|
||||
"{Codec}", "ALAC",
|
||||
"{Tag}",Tag_string,
|
||||
).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, ".") {
|
||||
albumFolder = strings.ReplaceAll(albumFolder, ".", "")
|
||||
}
|
||||
@ -1250,6 +1254,23 @@ func rip(albumId string, token string, storefront string, userToken string) erro
|
||||
fmt.Println("Unavailable in ALAC.")
|
||||
continue
|
||||
}
|
||||
stringsToJoin := []string{}
|
||||
if track.Attributes.IsAppleDigitalMaster{
|
||||
if config.AppleMasterChoice != ""{
|
||||
stringsToJoin = append(stringsToJoin, config.AppleMasterChoice)
|
||||
}
|
||||
}
|
||||
if track.Attributes.ContentRating=="explicit"{
|
||||
if config.ExplicitChoice != ""{
|
||||
stringsToJoin = append(stringsToJoin, config.ExplicitChoice)
|
||||
}
|
||||
}
|
||||
if track.Attributes.ContentRating=="clean"{
|
||||
if config.CleanChoice != ""{
|
||||
stringsToJoin = append(stringsToJoin, config.CleanChoice)
|
||||
}
|
||||
}
|
||||
Tag_string := strings.Join(stringsToJoin, " ")
|
||||
songName := strings.NewReplacer(
|
||||
"{SongId}", track.ID,
|
||||
"{SongNumer}", fmt.Sprintf("%02d", trackNum),
|
||||
@ -1258,22 +1279,8 @@ func rip(albumId string, token string, storefront string, userToken string) erro
|
||||
"{TrackNumber}", fmt.Sprintf("%02d", track.Attributes.TrackNumber),
|
||||
"{Quality}","",
|
||||
"{Codec}", "ALAC",
|
||||
"{Tag}",Tag_string,
|
||||
).Replace(config.SongFileFormat)
|
||||
if track.Attributes.IsAppleDigitalMaster{
|
||||
if config.AppleMasterChoice != ""{
|
||||
songName = fmt.Sprintf("%s %s", songName,config.AppleMasterChoice)
|
||||
}
|
||||
}
|
||||
if track.Attributes.ContentRating=="explicit"{
|
||||
if config.ExplicitChoice != ""{
|
||||
songName = fmt.Sprintf("%s %s", songName,config.ExplicitChoice)
|
||||
}
|
||||
}
|
||||
if track.Attributes.ContentRating=="clean"{
|
||||
if config.CleanChoice != ""{
|
||||
songName = fmt.Sprintf("%s %s", songName,config.CleanChoice)
|
||||
}
|
||||
}
|
||||
fmt.Println(songName)
|
||||
filename := fmt.Sprintf("%s.m4a", forbiddenNames.ReplaceAllString(songName, "_"))
|
||||
lrcFilename := fmt.Sprintf("%s.lrc", forbiddenNames.ReplaceAllString(songName, "_"))
|
||||
|
Loading…
x
Reference in New Issue
Block a user