From 01a8beecaf9546ba16948b5721c218377a05dda1 Mon Sep 17 00:00:00 2001 From: zhaarey <157944548+zhaarey@users.noreply.github.com> Date: Thu, 6 Jun 2024 00:55:46 +0800 Subject: [PATCH] fix --- config.yaml | 2 ++ main.go | 8 +++++++- main_atmos.go | 11 ++++++++--- main_select.go | 4 ++-- 4 files changed, 19 insertions(+), 6 deletions(-) diff --git a/config.yaml b/config.yaml index 35bde13..050955a 100644 --- a/config.yaml +++ b/config.yaml @@ -25,3 +25,5 @@ artist-folder-format: "{ArtistName}" explicit-choice : "[E]" clean-choice : "[C]" apple-master-choice : "[M]" +#if set true,Quality will change to [ALAC 24B-96.0kHz] [Atmos 768kbps] +add-codec: false diff --git a/main.go b/main.go index fd1d2b6..1adaf7c 100644 --- a/main.go +++ b/main.go @@ -56,6 +56,7 @@ type Config struct { Check string `yaml:"check"` GetM3u8FromDevice bool `yaml:"get-m3u8-from-device"` AlacMax int `yaml:"alac-max"` + AddCodec bool `yaml:"add-codec"` } var config Config @@ -1200,6 +1201,9 @@ func rip(albumId string, token string, storefront string, userToken string) erro if err != nil { fmt.Println("Failed to extract quality from manifest.\n", err) } + if config.AddCodec{ + Quality=fmt.Sprintf("ALAC %s", Quality) + } } var albumFolder string if strings.Contains(albumId, "pl.") { @@ -1272,8 +1276,10 @@ func rip(albumId string, token string, storefront string, userToken string) erro fmt.Println("Failed to extract quality from manifest.\n", err) continue } + if config.AddCodec{ + Quality=fmt.Sprintf("ALAC %s", Quality) + } } - songName := strings.NewReplacer( "{SongId}", track.ID, "{SongNumer}", fmt.Sprintf("%02d", trackNum), diff --git a/main_atmos.go b/main_atmos.go index c983699..4faf5fd 100644 --- a/main_atmos.go +++ b/main_atmos.go @@ -52,6 +52,7 @@ type Config struct { CleanChoice string `yaml:"clean-choice"` AppleMasterChoice string `yaml:"apple-master-choice"` AtmosMax int `yaml:"atmos-max"` + AddCodec bool `yaml:"add-codec"` } var config Config @@ -1144,12 +1145,16 @@ func rip(albumId string, token string, storefront string, userToken string) erro singerFolder = filepath.Join(config.AlacSaveFolder, forbiddenNames.ReplaceAllString(singerFoldername, "_")) } var albumFolder string + Quality:=fmt.Sprintf("%dkbps", config.AtmosMax-2000) + if config.AddCodec{ + Quality=fmt.Sprintf("Atmos %dkbps", config.AtmosMax-2000) + } if strings.Contains(albumId, "pl.") { albumFolder = strings.NewReplacer( "{ArtistName}", "Apple Music", "{PlaylistName}", meta.Data[0].Attributes.Name, "{PlaylistId}", albumId, - "{Quality}","Atmos", + "{Quality}",Quality, ).Replace(config.PlaylistFolderFormat) }else{ albumFolder = strings.NewReplacer( @@ -1160,7 +1165,7 @@ func rip(albumId string, token string, storefront string, userToken string) erro "{UPC}", meta.Data[0].Attributes.Upc, "{Copyright}", meta.Data[0].Attributes.Copyright, "{AlbumId}", albumId, - "{Quality}","Atmos", + "{Quality}",Quality, ).Replace(config.AlbumFolderFormat) } if meta.Data[0].Attributes.IsMasteredForItunes{ @@ -1209,7 +1214,7 @@ func rip(albumId string, token string, storefront string, userToken string) erro "{SongName}", track.Attributes.Name, "{DiscNumber}", string(track.Attributes.DiscNumber), "{TrackNumber}", fmt.Sprintf("%02d", track.Attributes.TrackNumber), - "{Quality}","", + "{Quality}",Quality, ).Replace(config.SongFileFormat) if track.Attributes.IsAppleDigitalMaster{ if config.AppleMasterChoice != ""{ diff --git a/main_select.go b/main_select.go index 4799bdf..00db186 100644 --- a/main_select.go +++ b/main_select.go @@ -1152,7 +1152,7 @@ func rip(albumId string, token string, storefront string, userToken string) erro "{ArtistName}", "Apple Music", "{PlaylistName}", meta.Data[0].Attributes.Name, "{PlaylistId}", albumId, - "{Quality}","", + "{Quality}","ALAC", ).Replace(config.PlaylistFolderFormat) }else{ albumFolder = strings.NewReplacer( @@ -1163,7 +1163,7 @@ func rip(albumId string, token string, storefront string, userToken string) erro "{UPC}", meta.Data[0].Attributes.Upc, "{Copyright}", meta.Data[0].Attributes.Copyright, "{AlbumId}", albumId, - "{Quality}", "", + "{Quality}", "ALAC", ).Replace(config.AlbumFolderFormat) } if meta.Data[0].Attributes.IsMasteredForItunes{