Compare commits

..

2 Commits

Author SHA1 Message Date
zhaarey 6c9015200c Update go.yml 3 months ago
zhaarey fa02c77ff8 fix apple master tag 3 months ago
  1. 29
      .github/workflows/go.yml
  2. 7
      main.go
  3. 9
      main_atmos.go
  4. 9
      main_select.go

@ -12,7 +12,6 @@ jobs:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- name: Set up Go
uses: actions/setup-go@v4
with:
@ -23,21 +22,17 @@ jobs:
go build -o main.exe -v ./main.go
go build -o main_atmos.exe -v ./main_atmos.go
go build -o main_select.exe -v ./main_select.go
- name: Upload main.exe
uses: actions/upload-artifact@v2
with:
name: apple-music-alac-atmos-downloader-main
path: main.exe
- name: Upload main_atmos.exe
uses: actions/upload-artifact@v2
with:
name: apple-music-alac-atmos-downloader-atmos
path: main_atmos.exe
- name: Upload main_select.exe
- name: Create a new directory and copy files
run: |
mkdir -p alac
cp agent.js alac/
cp config.yaml alac/
cp main.exe alac/
cp main_atmos.exe alac/
cp main_select.exe alac/
- name: Upload apple-music-alac-atmos-downloader
uses: actions/upload-artifact@v2
with:
name: apple-music-alac-atmos-downloader-select
path: main_select.exe
name: apple-music-alac-atmos-downloader
path: alac/*

@ -5,7 +5,6 @@ import (
"bytes"
"encoding/binary"
"encoding/json"
"gopkg.in/yaml.v2"
"errors"
"fmt"
"io"
@ -23,6 +22,8 @@ import (
"strings"
"time"
"gopkg.in/yaml.v2"
"github.com/abema/go-mp4"
"github.com/beevik/etree"
"github.com/grafov/m3u8"
@ -36,6 +37,7 @@ const (
var (
forbiddenNames = regexp.MustCompile(`[/\\<>:"|?*]`)
)
type Config struct {
MediaUserToken string `yaml:"media-user-token"`
SaveLrcFile bool `yaml:"save-lrc-file"`
@ -76,6 +78,7 @@ type SongInfo struct {
alacParam *Alac
samples []SampleInfo
}
func loadConfig() error {
// 读取config.yaml文件内容
data, err := ioutil.ReadFile("config.yaml")
@ -1217,7 +1220,7 @@ func rip(albumId string, token string, storefront string, userToken string) erro
}
}
stringsToJoin := []string{}
if meta.Data[0].Attributes.IsAppleDigitalMaster{
if meta.Data[0].Attributes.IsAppleDigitalMaster || meta.Data[0].Attributes.IsMasteredForItunes {
if config.AppleMasterChoice != "" {
stringsToJoin = append(stringsToJoin, config.AppleMasterChoice)
}

@ -4,10 +4,8 @@ import (
"bytes"
"encoding/binary"
"encoding/json"
"gopkg.in/yaml.v2"
"errors"
"fmt"
"github.com/beevik/etree"
"io"
"io/ioutil"
"math"
@ -23,6 +21,9 @@ import (
"strings"
"time"
"github.com/beevik/etree"
"gopkg.in/yaml.v2"
"github.com/abema/go-mp4"
"github.com/grafov/m3u8"
)
@ -35,6 +36,7 @@ const (
var (
forbiddenNames = regexp.MustCompile(`[/\\<>:"|?*]`)
)
type Config struct {
MediaUserToken string `yaml:"media-user-token"`
SaveLrcFile bool `yaml:"save-lrc-file"`
@ -1145,7 +1147,7 @@ func rip(albumId string, token string, storefront string, userToken string) erro
}
singerFolder := filepath.Join(config.AtmosSaveFolder, forbiddenNames.ReplaceAllString(singerFoldername, "_"))
stringsToJoin := []string{}
if meta.Data[0].Attributes.IsAppleDigitalMaster{
if meta.Data[0].Attributes.IsAppleDigitalMaster || meta.Data[0].Attributes.IsMasteredForItunes {
if config.AppleMasterChoice != "" {
stringsToJoin = append(stringsToJoin, config.AppleMasterChoice)
}
@ -1179,7 +1181,6 @@ func rip(albumId string, token string, storefront string, userToken string) erro
"{ArtistName}", meta.Data[0].Attributes.ArtistName,
"{AlbumName}", meta.Data[0].Attributes.Name,
"{UPC}", meta.Data[0].Attributes.Upc,
"{RecordLabel}", meta.Data[0].Attributes.RecordLabel,
"{Copyright}", meta.Data[0].Attributes.Copyright,
"{AlbumId}", albumId,
"{Quality}", Quality,

@ -5,10 +5,8 @@ import (
"bytes"
"encoding/binary"
"encoding/json"
"gopkg.in/yaml.v2"
"errors"
"fmt"
"github.com/beevik/etree"
"io"
"io/ioutil"
"math"
@ -24,6 +22,9 @@ import (
"strings"
"time"
"github.com/beevik/etree"
"gopkg.in/yaml.v2"
"github.com/abema/go-mp4"
"github.com/grafov/m3u8"
)
@ -36,6 +37,7 @@ const (
var (
forbiddenNames = regexp.MustCompile(`[/\\<>:"|?*]`)
)
type Config struct {
MediaUserToken string `yaml:"media-user-token"`
SaveLrcFile bool `yaml:"save-lrc-file"`
@ -1203,7 +1205,7 @@ func rip(albumId string, token string, storefront string, userToken string) erro
}
singerFolder := filepath.Join(config.AlacSaveFolder, forbiddenNames.ReplaceAllString(singerFoldername, "_"))
stringsToJoin := []string{}
if meta.Data[0].Attributes.IsAppleDigitalMaster{
if meta.Data[0].Attributes.IsAppleDigitalMaster || meta.Data[0].Attributes.IsMasteredForItunes {
if config.AppleMasterChoice != "" {
stringsToJoin = append(stringsToJoin, config.AppleMasterChoice)
}
@ -1250,7 +1252,6 @@ func rip(albumId string, token string, storefront string, userToken string) erro
"{ArtistName}", meta.Data[0].Attributes.ArtistName,
"{AlbumName}", meta.Data[0].Attributes.Name,
"{UPC}", meta.Data[0].Attributes.Upc,
"{RecordLabel}", meta.Data[0].Attributes.RecordLabel,
"{Copyright}", meta.Data[0].Attributes.Copyright,
"{AlbumId}", albumId,
"{Quality}", Quality,

Loading…
Cancel
Save