apply error handling to audio only or merged audio

apply error handling to audio only or merged audio #861
This commit is contained in:
hama3254 2024-01-01 17:27:14 +01:00
parent cb9957daf9
commit e2444a26b4
3 changed files with 57 additions and 55 deletions

Binary file not shown.

View File

@ -1156,64 +1156,69 @@ Public Class Main
#Region "Check for dub override" #Region "Check for dub override"
Try
Dim OverrideDubJObject As JObject = JObject.Parse(VideoJson)
Dim OverrideDubData As List(Of JToken) = OverrideDubJObject.Children().ToList
Dim DubsAvalible As New List(Of CR_MediaVersion) Dim OverrideDubJObject As JObject = JObject.Parse(VideoJson)
Dim OverrideDubData As List(Of JToken) = OverrideDubJObject.Children().ToList
For Each item As JProperty In OverrideDubData Dim DubsAvalible As New List(Of CR_MediaVersion)
item.CreateReader()
Select Case item.Name
Case "versions" 'each record is inside the entries array
For Each Entry As JObject In item.Values
Dim VideoSubData As List(Of JToken) = Entry.Children().ToList For Each item As JProperty In OverrideDubData
Dim media_guid As String = Nothing item.CreateReader()
Dim audio_locale As String = Nothing Select Case item.Name
Case "versions" 'each record is inside the entries array
For Each Entry As JObject In item.Values
For Each VideoSubItem As JProperty In VideoSubData Dim VideoSubData As List(Of JToken) = Entry.Children().ToList
Select Case VideoSubItem.Name Dim media_guid As String = Nothing
Case "audio_locale" Dim audio_locale As String = Nothing
audio_locale = VideoSubItem.Value.ToString
For Each VideoSubItem As JProperty In VideoSubData
Select Case VideoSubItem.Name
Case "audio_locale"
audio_locale = VideoSubItem.Value.ToString
'Debug.WriteLine(audio_locale) 'Debug.WriteLine(audio_locale)
Case "media_guid" Case "media_guid"
media_guid = VideoSubItem.Value.ToString media_guid = VideoSubItem.Value.ToString
'Debug.WriteLine(media_guid) 'Debug.WriteLine(media_guid)
End Select End Select
Next
If audio_locale = Nothing Or media_guid = Nothing Then
Else
DubsAvalible.Add(New CR_MediaVersion(audio_locale, media_guid))
End If
Next Next
Case "audio_locale" 'each record is inside the entries array
If audio_locale = Nothing Or media_guid = Nothing Then 'MsgBox(item.Value)
If CR_audio_isDubbed = True Then
Dim AudioTag As String = CStr(item.Value)
CR_audio_locale = String.Join(" ", AudioTag.Split(invalids, StringSplitOptions.RemoveEmptyEntries)).TrimEnd("."c).Replace(Chr(34), "").Replace("\", "").Replace("/", "").Replace(":", "")
Else Else
DubsAvalible.Add(New CR_MediaVersion(audio_locale, media_guid)) CR_audio_locale = "ja-JP"
End If End If
Next End Select
Case "audio_locale" 'each record is inside the entries array
'MsgBox(item.Value)
If CR_audio_isDubbed = True Then
Dim AudioTag As String = CStr(item.Value)
CR_audio_locale = String.Join(" ", AudioTag.Split(invalids, StringSplitOptions.RemoveEmptyEntries)).TrimEnd("."c).Replace(Chr(34), "").Replace("\", "").Replace("/", "").Replace(":", "")
Else
CR_audio_locale = "ja-JP"
End If
End Select
Next
' MsgBox(CR_audio_locale + vbNewLine + DubSprache.CR_Value)
If My.Settings.OverrideDub = True And CR_audio_locale = DubSprache.CR_Value = False Then 'einstellung ein + kein musikvideo oder Konzert
'MsgBox("Trigger on!")
For i As Integer = 0 To DubsAvalible.Count - 1
If DubsAvalible(i).AudioLang = DubSprache.CR_Value Then
Dim NewStream As String = "https://www.crunchyroll.com/cms/v2" + bucket + "/videos/" + DubsAvalible(i).media_guid + "/" + "streams?Policy=" + policy + "&Signature=" + signature + "&Key-Pair-Id=" + key_pair_id
' MsgBox(NewStream)
VideoJson = CurlAuthNew(NewStream, Loc_CR_Cookies, Loc_AuthToken) 'Curl(StreamUrl) '
End If
Next Next
'MsgBox(CR_audio_locale + vbNewLine + DubSprache.CR_Value)
If My.Settings.OverrideDub = True And CR_audio_locale = DubSprache.CR_Value = False Then 'einstellung ein + kein musikvideo oder Konzert
'MsgBox("Trigger on!")
For i As Integer = 0 To DubsAvalible.Count - 1
If DubsAvalible(i).AudioLang = DubSprache.CR_Value Then
Dim NewStream As String = "https://www.crunchyroll.com/cms/v2" + bucket + "/videos/" + DubsAvalible(i).media_guid + "/" + "streams?Policy=" + policy + "&Signature=" + signature + "&Key-Pair-Id=" + key_pair_id
' MsgBox(NewStream)
VideoJson = CurlAuthNew(NewStream, Loc_CR_Cookies, Loc_AuthToken) 'Curl(StreamUrl) '
End If
Next
End If End If
Catch ex As Exception
End Try
' MsgBox("Trigger off!") ' MsgBox("Trigger off!")
@ -1296,7 +1301,9 @@ Public Class Main
If CR_Streams.Item(i).subLang = CR_HardSubLang Then If CR_Streams.Item(i).subLang = CR_HardSubLang Then
CR_URI_Master.Add(CR_Streams.Item(i).Url) CR_URI_Master.Add(CR_Streams.Item(i).Url)
'MsgBox(CR_Streams.Item(i).Format + CR_Streams.Item(i).Url) 'MsgBox(CR_Streams.Item(i).Format + CR_Streams.Item(i).Url)
ElseIf CR_Streams.Item(i).subLang = "" And CR_audio_locale IsNot "ja-JP" And DubMode = True Then 'nothing/raw ElseIf CR_Streams.Item(i).subLang = "" And CR_audio_locale IsNot "ja-JP" And DubMode = True Then 'nothing/raw ohne subs
RawStream.Add(CR_Streams.Item(i).Url)
ElseIf CR_Streams.Item(i).subLang = "null" And CR_audio_locale IsNot "ja-JP" And DubMode = True Then 'nothing/raw mit 'null' tagged
RawStream.Add(CR_Streams.Item(i).Url) RawStream.Add(CR_Streams.Item(i).Url)
End If End If
Next Next
@ -1697,13 +1704,8 @@ Public Class Main
Grapp_RDY = True Grapp_RDY = True
Exit Sub Exit Sub
ElseIf DownloadScope = DownloadScopeEnum.AudioOnly Or MergeAudio = True Then ElseIf (DownloadScope = DownloadScopeEnum.AudioOnly Or MergeAudio = True) AndAlso CBool(InStr(str, My.Settings.AudioOnlyReso)) = True Then
ResoUsed = My.Settings.AudioOnlyReso.Replace(",", "")
If CBool(InStr(str, My.Settings.AudioOnlyReso)) Then
ResoUsed = My.Settings.AudioOnlyReso.Replace(",", "")
ElseIf CBool(InStr(str, "x" + Reso.ToString + ",")) Then
ResoUsed = "x" + Reso.ToString
End If
ElseIf CBool(InStr(str, "x" + Reso.ToString + ",")) Then ElseIf CBool(InStr(str, "x" + Reso.ToString + ",")) Then
ResoUsed = "x" + Reso.ToString ResoUsed = "x" + Reso.ToString

View File

@ -32,6 +32,6 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben: ' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")> ' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("3.16.1")> <Assembly: AssemblyVersion("3.16.2")>
<Assembly: AssemblyFileVersion("3.16.1")> <Assembly: AssemblyFileVersion("3.16.2")>
<Assembly: NeutralResourcesLanguage("en")> <Assembly: NeutralResourcesLanguage("en")>