fix atmos-max

This commit is contained in:
zhaarey 2025-02-09 00:15:58 +08:00
parent f8a79ed17c
commit dccaca5376

42
main.go
View File

@ -1183,14 +1183,14 @@ func conventSyllableTTMLToLRC(ttml string) (string, error) {
//get trans //get trans
Metadata := parsedTTML.FindElement("tt").FindElement("head").FindElement("metadata") Metadata := parsedTTML.FindElement("tt").FindElement("head").FindElement("metadata")
if len(Metadata.FindElements("iTunesMetadata")) > 0 { if len(Metadata.FindElements("iTunesMetadata")) > 0 {
iTunesMetadata := Metadata.FindElement("iTunesMetadata") iTunesMetadata := Metadata.FindElement("iTunesMetadata")
if len(iTunesMetadata.FindElements("translations")) > 0 { if len(iTunesMetadata.FindElements("translations")) > 0 {
if len(iTunesMetadata.FindElement("translations").FindElements("translation")) > 0 { if len(iTunesMetadata.FindElement("translations").FindElements("translation")) > 0 {
divs = iTunesMetadata.FindElement("translations").FindElements("translation") divs = iTunesMetadata.FindElement("translations").FindElements("translation")
} }
} }
} }
for _, div := range divs { for _, div := range divs {
for _, item := range div.ChildElements() { for _, item := range div.ChildElements() {
var lrcSyllables []string var lrcSyllables []string
@ -1293,16 +1293,16 @@ func conventTTMLToLRC(ttml string) (string, error) {
} }
var text string var text string
//GET trans //GET trans
Metadata := parsedTTML.FindElement("tt").FindElement("head").FindElement("metadata") Metadata := parsedTTML.FindElement("tt").FindElement("head").FindElement("metadata")
if len(Metadata.FindElements("iTunesMetadata")) > 0 { if len(Metadata.FindElements("iTunesMetadata")) > 0 {
iTunesMetadata := Metadata.FindElement("iTunesMetadata") iTunesMetadata := Metadata.FindElement("iTunesMetadata")
if len(iTunesMetadata.FindElements("translations")) > 0 { if len(iTunesMetadata.FindElements("translations")) > 0 {
if len(iTunesMetadata.FindElement("translations").FindElements("translation")) > 0 { if len(iTunesMetadata.FindElement("translations").FindElements("translation")) > 0 {
xpath := fmt.Sprintf("//text[@for='%s']", lyric.SelectAttr("itunes:key").Value) xpath := fmt.Sprintf("//text[@for='%s']", lyric.SelectAttr("itunes:key").Value)
trans := iTunesMetadata.FindElement("translations").FindElement("translation").FindElement(xpath) trans := iTunesMetadata.FindElement("translations").FindElement("translation").FindElement(xpath)
lyric = trans lyric = trans
} }
} }
} }
if lyric.SelectAttr("text") == nil { if lyric.SelectAttr("text") == nil {
var textTmp []string var textTmp []string
@ -1560,7 +1560,13 @@ func extractMedia(b string) (string, error) {
fmt.Printf("Debug: Found Dolby Atmos variant - %s (Bitrate: %d kbps)\n", fmt.Printf("Debug: Found Dolby Atmos variant - %s (Bitrate: %d kbps)\n",
variant.Audio, variant.Bandwidth/1000) variant.Audio, variant.Bandwidth/1000)
} }
if int(variant.Bandwidth)/1000 <= Config.AtmosMax { split := strings.Split(variant.Audio, "-")
length := len(split)
length_int, err := strconv.Atoi(split[length-1])
if err != nil {
return "", err
}
if length_int <= Config.AtmosMax {
if !debug_mode { if !debug_mode {
fmt.Printf("%s\n", variant.Audio) fmt.Printf("%s\n", variant.Audio)
} }