API adaptation #677

API adaptation #677
This commit is contained in:
hama3254 2023-01-21 11:21:39 +01:00
parent 486d26ef7c
commit 2ce9b488b7
12 changed files with 383 additions and 314 deletions

Binary file not shown.

View File

@ -10,6 +10,7 @@ Imports MetroFramework.Components
Imports System.Text
Imports System.Runtime.InteropServices.ComTypes
Imports System.Windows.Forms.VisualStyles.VisualStyleElement.Status
Imports Newtonsoft.Json.Linq
Public Class Anime_Add
Public Mass_DL_Cancel As Boolean = False
@ -359,6 +360,40 @@ Public Class Anime_Add
End Sub
Public Sub FillCREpisodes(ByVal EpisodeJson As String)
EpisodeJson = CleanJSON(EpisodeJson)
Main.CR_MassEpisodes.Clear()
Dim EpisodeJObject As JObject = JObject.Parse(EpisodeJson)
Dim EpisodeData As List(Of JToken) = EpisodeJObject.Children().ToList
For Each item As JProperty In EpisodeData
item.CreateReader()
Select Case item.Name
Case "data" 'each record is inside the entries array
For Each Entry As JObject In item.Values
Dim episode_number As String = Entry.GetValue("episode_number").ToString
Dim episode_id As String = Entry.GetValue("id").ToString
Dim slug_title As String = Entry.GetValue("slug_title").ToString
comboBox3.Items.Add("Episode " + episode_number)
comboBox4.Items.Add("Episode " + episode_number)
Main.CR_MassEpisodes.Add(New CR_Seasons(episode_id, slug_title, Main.CR_MassSeasons.Item(ComboBox1.SelectedIndex).Auth))
Next
End Select
Next
If comboBox3.Items.Count > 0 Then
comboBox3.SelectedIndex = 0
comboBox4.SelectedIndex = comboBox4.Items.Count - 1
End If
comboBox3.Enabled = True
comboBox4.Enabled = True
End Sub
Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
If CBool(InStr(Main.WebbrowserURL, "crunchyroll.com")) = True Then
comboBox3.Items.Clear()
@ -367,30 +402,16 @@ Public Class Anime_Add
comboBox4.Enabled = False
comboBox3.Text = Nothing
comboBox4.Text = Nothing
Dim SeasonSplit() As String = Main.CrBetaMass.Split(New String() {Chr(34) + "id" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
Dim SeasonSplit2() As String = SeasonSplit(ComboBox1.SelectedIndex + 1).Split(New String() {Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
Dim JsonUrl As String = "https://www.crunchyroll.com/content/v2/cms/seasons/" + Main.CR_MassSeasons.Item(ComboBox1.SelectedIndex).guid + "/episodes?preferred_audio_language=" + Main.DubSprache.CR_Value + "&locale=" + Main.locale
Dim EpisodeJsonURL As String = Main.CrBetaMassBaseURL + "episodes?season_id=" + SeasonSplit2(0) + "&locale=" + Main.CrBetaMassParameters
'Debug.WriteLine(EpisodeJsonURL)
Dim EpisodeJson As String = Main.Curl(EpisodeJsonURL) 'localHTML.Replace("<body>", "").Replace("</body>", "").Replace("<pre>", "").Replace("</pre>", "").Replace("</html>", "").Replace(My.Resources.htmlReplace, "")
If CBool(InStr(EpisodeJson, "curl:")) Then
Main.GetBetaSeasonSingle = True
Browser.WebView2.Source = New Uri(EpisodeJsonURL)
Exit Sub
End If
Dim EpisodeJson As String = Main.CurlAuth(JsonUrl, Main.CR_Cookies, Main.CR_MassSeasons.Item(ComboBox1.SelectedIndex).Auth) '
FillCREpisodes(EpisodeJson)
ElseIf Main.WebbrowserURL = "https://funimation.com/js" Then
ElseIf Main.WebbrowserURL = "https://funimation.com/js" Then
comboBox3.Items.Clear()
comboBox4.Items.Clear()
comboBox3.Text = Nothing
@ -443,36 +464,7 @@ Public Class Anime_Add
End If
End Sub
Public Sub FillCREpisodes(ByVal EpisodeJson As String)
'MsgBox(True.ToString)
Main.CrBetaMassEpisodes = EpisodeJson
Dim EpisodeNameSplit() As String = EpisodeJson.Split(New String() {Chr(34) + "title" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
Dim EpisodeSplit() As String = EpisodeJson.Split(New String() {Chr(34) + "episode" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
For i As Integer = 1 To EpisodeSplit.Count - 1
Dim EpisodeSplit2() As String = EpisodeSplit(i).Split(New String() {Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
Dim EpisodeNameSplit2() As String = EpisodeNameSplit(i).Split(New String() {Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
If EpisodeSplit(i).Substring(0, 1) = Chr(34) Then
comboBox3.Items.Add(EpisodeNameSplit2(0))
comboBox4.Items.Add(EpisodeNameSplit2(0))
Else
comboBox3.Items.Add("Episode " + EpisodeSplit2(0))
comboBox4.Items.Add("Episode " + EpisodeSplit2(0))
End If
Next
If comboBox3.Items.Count > 0 Then
comboBox3.SelectedIndex = 0
comboBox4.SelectedIndex = comboBox4.Items.Count - 1
End If
comboBox3.Enabled = True
comboBox4.Enabled = True
End Sub
Public Sub FillFunimationEpisodes(ByVal EpisodeJson As String)

View File

@ -138,6 +138,9 @@
<setting name="NameTemplate" serializeAs="String">
<value>Unused</value>
</setting>
<setting name="CR_Dub" serializeAs="String">
<value>ja-JP</value>
</setting>
</Crunchyroll_Downloader.My.MySettings>
</userSettings>
</configuration>

View File

@ -19,7 +19,7 @@ Public Class Browser
Private Sub WebView2_CoreWebView2InitializationCompleted(sender As Object, e As CoreWebView2InitializationCompletedEventArgs) Handles WebView2.CoreWebView2InitializationCompleted
WebView2.CoreWebView2.AddWebResourceRequestedFilter("https://www.crunchyroll.com/*", CoreWebView2WebResourceContext.All)
WebView2.CoreWebView2.AddWebResourceRequestedFilter("https://www.funimation.com/*", CoreWebView2WebResourceContext.All)
WebView2.CoreWebView2.AddWebResourceRequestedFilter("https://www.crunchyroll.com/*", CoreWebView2WebResourceContext.All)
'WebView2.CoreWebView2.AddWebResourceRequestedFilter("https://www.crunchyroll.com/*", CoreWebView2WebResourceContext.All)
'WebView2.CoreWebView2.AddWebResourceRequestedFilter("*", CoreWebView2WebResourceContext.All)
AddHandler WebView2.CoreWebView2.WebResourceResponseReceived, AddressOf ObserveResponse
@ -196,31 +196,31 @@ Public Class Browser
Exit Sub
ElseIf CBool(InStr(e.Request.Uri, "crunchyroll.com/")) And CBool(InStr(e.Request.Uri, "seasons?series_id=")) And CBool(InStr(Main.LoadingUrl, "/series/")) Then
Debug.WriteLine("Crunchyroll-Season: " + e.Request.Uri)
Main.LoadedUrls.Add(e.Request)
Main.LoadedUrls.Add(e.Request)
Dim Content As Stream = Await e.Response.GetContentAsync
Dim ContentString As String = Nothing
Dim reader As New StreamReader(Content)
ContentString = reader.ReadToEnd
Main.CR_SeasonJson = New UrlJson(e.Request.Uri, ContentString)
If Main.GetBetaSeasonsRetry = True Then
Main.GetBetaSeasonsRetry = False
Main.GetBetaSeasons(e.Request.Uri, ContentString)
End If
Exit Sub
'ElseIf CBool(InStr(e.Request.Uri, "crunchyroll.com/")) And CBool(InStr(e.Request.Uri, "seasons?series_id=")) And CBool(InStr(Main.LoadingUrl, "/series/")) Then
' Debug.WriteLine("Crunchyroll-Season: " + e.Request.Uri)
' Main.LoadedUrls.Add(e.Request)
' Main.LoadedUrls.Add(e.Request)
' Dim Content As Stream = Await e.Response.GetContentAsync
' Dim ContentString As String = Nothing
' Dim reader As New StreamReader(Content)
' ContentString = reader.ReadToEnd
' Main.CR_SeasonJson = New UrlJson(e.Request.Uri, ContentString)
' If Main.GetBetaSeasonsRetry = True Then
' Main.GetBetaSeasonsRetry = False
' Main.GetBetaSeasons(Main.WebbrowserURL, e.Request.Uri, "", ContentString)
' End If
' Exit Sub
ElseIf CBool(InStr(e.Request.Uri, "crunchyroll.com/")) And CBool(InStr(e.Request.Uri, "episodes?season_id=")) And Main.GetBetaSeasonSingle = True Then
Debug.WriteLine("Crunchyroll-Single-Season: " + e.Request.Uri)
Dim Content As Stream = Await e.Response.GetContentAsync
Dim ContentString As String = Nothing
Dim reader As New StreamReader(Content)
ContentString = reader.ReadToEnd
Main.GetBetaSeasonSingle = False
Anime_Add.FillCREpisodes(ContentString)
Exit Sub
'ElseIf CBool(InStr(e.Request.Uri, "crunchyroll.com/")) And CBool(InStr(e.Request.Uri, "episodes?season_id=")) And Main.GetBetaSeasonSingle = True Then
' Debug.WriteLine("Crunchyroll-Single-Season: " + e.Request.Uri)
' Dim Content As Stream = Await e.Response.GetContentAsync
' Dim ContentString As String = Nothing
' Dim reader As New StreamReader(Content)
' ContentString = reader.ReadToEnd
' Main.GetBetaSeasonSingle = False
' Anime_Add.FillCREpisodes(ContentString)
' Exit Sub
End If
ElseIf CBool(InStr(Main.LoadingUrl, "funimation.com")) Then
If CBool(InStr(e.Request.Uri, "?deviceType=web")) Then

View File

@ -104,6 +104,23 @@ Public Class UrlJson
End Function
End Class
Public Class CR_Seasons
Public guid As String
Public audio_locale As String
Public Auth As String
Public Sub New(ByVal guid As String, ByVal audio_locale As String, ByVal Auth As String)
Me.guid = guid
Me.audio_locale = audio_locale
Me.Auth = Auth
End Sub
Public Overrides Function ToString() As String
Return String.Format("{0}, {1}", Me.guid, Me.audio_locale)
End Function
End Class
#End Region

View File

@ -33,12 +33,17 @@ Public Class Main
Public CR_VideoJson As UrlJson = New UrlJson("", "")
Public CR_AuthToken As String = ""
Public GetBetaSeasonsRetry As Boolean = False
Public GetBetaSeasonSingle As Boolean = False
Public CrBetaMass As String = Nothing
Public CrBetaMassEpisodes As String = Nothing
Public CrBetaMassParameters As String = Nothing
Public CrBetaMassBaseURL As String = Nothing
'Public GetBetaSeasonsRetry As Boolean = False
'Public GetBetaSeasonSingle As Boolean = False
Public CR_MassSeasons As New List(Of CR_Seasons)
Public CR_MassEpisodes As New List(Of CR_Seasons)
'Public CrBetaMass As String = Nothing
'Public CrBetaMassEpisodes As String = Nothing
'Public CrBetaMassParameters As String = Nothing
'Public CrBetaMassBaseURL As String = Nothing
Public CrBetaBasic As String = Nothing
Public locale As String = Nothing
Public Url_locale As String = Nothing
@ -113,8 +118,11 @@ Public Class Main
Public ResoSave As String = "6666x6666"
Public ResoFunBackup As String = "6666x6666"
Public LangValueEnum As New List(Of NameValuePair)
Public DubSprache As NameValuePair = New NameValuePair("Japanese", "ja-JP", Nothing)
Public SubSprache As NameValuePair = New NameValuePair("[ null ]", "", Nothing)
Public SubSpracheEnum As New List(Of NameValuePair)
Public SoftSubs As New List(Of String)
Public IncludeLangName As Boolean = False
Public LangNameType As Integer = 0
@ -511,18 +519,21 @@ Public Class Main
LeadingZero = My.Settings.LeadingZero
For i As Integer = 0 To SubSpracheEnum.Count - 1
If SubSpracheEnum(i).CR_Value = My.Settings.Subtitle Then
For i As Integer = 0 To LangValueEnum.Count - 1
If LangValueEnum(i).CR_Value = My.Settings.Subtitle Then
'MsgBox(My.Settings.Subtitle)
SubSprache = SubSpracheEnum(i)
SubSprache = LangValueEnum(i)
Exit For
End If
Next
'If My.Settings.Subtitle = Nothing Then
For i As Integer = 0 To LangValueEnum.Count - 1
If LangValueEnum(i).CR_Value = My.Settings.CR_Dub Then
DubSprache = LangValueEnum(i)
Exit For
End If
Next
' SubSprache = SubSpracheEnum(0)
'End If
Funimation_Bitrate = My.Settings.Funimation_Bitrate
@ -705,9 +716,9 @@ Public Class Main
End Function
Public Function HardSubValuesToDisplay(ByVal HardSub As String) As String
For i As Integer = 0 To SubSpracheEnum.Count - 1
If SubSpracheEnum(i).CR_Value = HardSub Or SubSpracheEnum(i).FM_Value = HardSub Then
Return SubSpracheEnum(i).Name
For i As Integer = 0 To LangValueEnum.Count - 1
If LangValueEnum(i).CR_Value = HardSub Or LangValueEnum(i).FM_Value = HardSub Then
Return LangValueEnum(i).Name
Exit Function
End If
Next
@ -966,19 +977,13 @@ Public Class Main
Public Async Sub DownloadBetaSeasons()
Try
Dim ListOfEpisodes As New List(Of String)
Dim EpisodeSplit() As String = CrBetaMassEpisodes.Split(New String() {Chr(34) + "id" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
'"slug_title":"
For i As Integer = 1 To EpisodeSplit.Count - 1
Dim EpisodeSplit2() As String = EpisodeSplit(i).Split(New String() {Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
Dim EpisodeSplit3() As String = EpisodeSplit(i).Split(New String() {Chr(34) + "slug_title" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
Dim EpisodeSplit4() As String = EpisodeSplit3(1).Split(New String() {Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
For i As Integer = 0 To CR_MassEpisodes.Count - 1
'MsgBox("https://www.crunchyroll.com/watch/" + EpisodeSplit2(0) + "/" + EpisodeSplit4(0) + "/")
If Url_locale = "" Then
ListOfEpisodes.Add("https://www.crunchyroll.com/watch/" + EpisodeSplit2(0) + "/" + EpisodeSplit4(0) + "/")
ListOfEpisodes.Add("https://www.crunchyroll.com/watch/" + CR_MassEpisodes.Item(i).guid + "/" + CR_MassEpisodes.Item(i).audio_locale + "/")
Else
ListOfEpisodes.Add("https://www.crunchyroll.com/" + Url_locale + "/" + "watch/" + EpisodeSplit2(0) + "/" + EpisodeSplit4(0) + "/")
ListOfEpisodes.Add("https://www.crunchyroll.com/" + Url_locale + "/" + "watch/" + CR_MassEpisodes.Item(i).guid + "/" + CR_MassEpisodes.Item(i).audio_locale + "/")
End If
Next
@ -1061,7 +1066,7 @@ Public Class Main
Anime_Add.btn_dl.Text = "Download" 'Anime_Add.btn_dl.BackgroundImage = My.Resources.main_button_download_default
End Sub
Public Sub GetBetaSeasons(ByVal JsonUrl As String, Optional ByVal BrowserData As String = Nothing) ', ByVal SeasonJson As String)
Public Sub GetBetaSeasons(ByVal AnimeUrl As String, ByVal JsonUrl As String, ByVal Auth As String, Optional ByVal BrowserData As String = Nothing) ', ByVal SeasonJson As String)
Anime_Add.groupBox2.Visible = True
Anime_Add.bt_Cancel_mass.Enabled = True
Anime_Add.bt_Cancel_mass.Visible = True
@ -1076,54 +1081,64 @@ Public Class Main
Anime_Add.comboBox3.Enabled = True
Anime_Add.comboBox4.Enabled = True
Dim SeasonJson As String = Nothing
'Try
' Using client As New WebClient()
' client.Encoding = System.Text.Encoding.UTF8
' client.Headers.Add(My.Resources.ffmpeg_user_agend.Replace(Chr(34), ""))
' SeasonJson = client.DownloadString(JsonUrl)
' End Using
'Catch ex As Exception
' Debug.WriteLine("error- getting SeasonJson data")
'End Try
CR_MassSeasons.Clear()
If BrowserData = Nothing Then
SeasonJson = Curl(JsonUrl)
SeasonJson = CurlAuth(JsonUrl, CR_Cookies, Auth)
If CBool(InStr(SeasonJson, "curl:")) = True Then
SeasonJson = Curl(JsonUrl)
End If
If CBool(InStr(SeasonJson, "curl:")) = True And (CR_SeasonJson.Url = JsonUrl) = False Then
GetBetaSeasonsRetry = True
Browser.WebView2.Source = New Uri(JsonUrl)
'Browser.WebView2.CoreWebView2.Navigate(Url)
SetStatusLabel("Status: Critical error. #1091")
Exit Sub
End If
If CBool(InStr(SeasonJson, "curl:")) = True And CBool(InStr(CR_SeasonJson.Url, JsonUrl)) Then
Debug.WriteLine("curl error, using CR_SeasonJson ")
SeasonJson = CR_SeasonJson.Content
CR_ObjectsJson = New UrlJson("", "")
ElseIf CBool(InStr(SeasonJson, "curl:")) = True Then
MsgBox("Error - Getting SeasonJson data" + vbNewLine + SeasonJson + vbNewLine + vbNewLine + JsonUrl)
Exit Sub
End If
Else
SeasonJson = BrowserData
Debug.WriteLine("BrowserData: " + BrowserData)
End If
SeasonJson = CleanJSON(SeasonJson)
Dim ParameterSplit() As String = JsonUrl.Split(New String() {"&locale="}, System.StringSplitOptions.RemoveEmptyEntries)
CrBetaMassParameters = ParameterSplit(1)
CrBetaMass = SeasonJson
Dim BaseURLBuilder() As String = JsonUrl.Split(New String() {"seasons?"}, System.StringSplitOptions.RemoveEmptyEntries)
CrBetaMassBaseURL = BaseURLBuilder(0)
Dim SeasonSplit() As String = SeasonJson.Split(New String() {Chr(34) + "title" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
For i As Integer = 1 To SeasonSplit.Count - 1
Dim SeasonSplit2() As String = SeasonSplit(i).Split(New String() {Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
Anime_Add.ComboBox1.Items.Add(SeasonSplit2(0))
Dim SeasonJObject As JObject = JObject.Parse(SeasonJson)
Dim SeasonData As List(Of JToken) = SeasonJObject.Children().ToList
For Each item As JProperty In SeasonData
item.CreateReader()
Select Case item.Name
Case "data" 'each record is inside the entries array
For Each Entry As JObject In item.Values
Dim SeasonSubData As List(Of JToken) = Entry.Children().ToList
Dim localSeasons As New List(Of CR_Seasons)
Dim season_number As String = Nothing
For Each SeasonSubItem As JProperty In SeasonSubData
SeasonSubItem.CreateReader()
Select Case SeasonSubItem.Name
Case "versions"
For Each VersionItem As JObject In SeasonSubItem.Values
Dim guid As String = VersionItem.GetValue("guid").ToString
Dim audio_locale As String = VersionItem.GetValue("audio_locale").ToString
localSeasons.Add(New CR_Seasons(guid, audio_locale, Auth))
Next
Case "season_number"
season_number = SeasonSubItem.Value.ToString
End Select
Next
For i As Integer = 0 To localSeasons.Count - 1
Anime_Add.ComboBox1.Items.Add(HardSubValuesToDisplay(localSeasons.Item(i).audio_locale) + " - Season " + season_number)
CR_MassSeasons.Add(localSeasons.Item(i))
Next
Next
End Select
Next
End Sub
Public Sub GetBetaVideoProxy(ByVal requesturl As String, ByVal AuthToken As String, ByVal WebsiteURL As String)
@ -1453,8 +1468,9 @@ Public Class Main
For i As Integer = 0 To CR_Streams.Count - 1
Debug.WriteLine(CR_Streams.Item(i).subLang)
For c As Integer = 0 To CR_Streams.Count - 1
Dim i As Integer = c
'Debug.WriteLine("1457: " + i.ToString + "/" + CR_Streams.Count.ToString + " " + CR_Streams.Item(i).subLang + " " + CR_Streams.Item(i).Format)
If CR_Streams.Item(i).subLang = CR_HardSubLang Then
CR_URI_Master.Add(CR_Streams.Item(i).Url)
ElseIf CR_Streams.Item(i).subLang = "" And CR_audio_locale IsNot "ja-JP" And DubMode = True Then 'nothing/raw
@ -1481,7 +1497,7 @@ Public Class Main
ResoBackString = Nothing
'MsgBox(CR_Streams.Count.ToString)
For i As Integer = 0 To CR_Streams.Count - 1
Debug.WriteLine(CR_Streams.Item(i).subLang)
Debug.WriteLine("1484: " + CR_Streams.Item(i).subLang)
If CR_Streams.Item(i).subLang = CR_HardSubLang Then
CR_URI_Master.Add(CR_Streams.Item(i).Url)
End If
@ -1491,6 +1507,8 @@ Public Class Main
End If
End If
'MsgBox(CR_URI_Master.Count.ToString)
If CBool(InStr(CR_URI_Master(0), "master.m3u8")) Then
Me.Invoke(New Action(Function() As Object
Anime_Add.StatusLabel.Text = "Status: m3u8 found, looking for resolution"
@ -1639,6 +1657,7 @@ Public Class Main
#End Region
#Region "lösche doppel download"
'MsgBox(Pfad2)
Dim Pfad5 As String = Pfad2.Replace(Chr(34), "")
If My.Computer.FileSystem.FileExists(Pfad5) And SubsOnly = False Then 'Pfad = Kompeltter Pfad mit Dateinamen + ENdung
Me.Invoke(New Action(Function() As Object
@ -1691,48 +1710,48 @@ Public Class Main
ResoUsed = "x" + Reso.ToString
Else
If CBool(InStr(str, ResoSave + ",")) Then
ResoUsed = ResoSave
ResoUsed = ResoSave
Else
Me.Invoke(New Action(Function() As Object
DialogTaskString = "Resolution"
ResoNotFoundString = str
ErrorDialog.ShowDialog()
Return Nothing
End Function))
If UserCloseDialog = True Then
Throw New System.Exception(Chr(34) + "UserAbort" + Chr(34))
Else
Me.Invoke(New Action(Function() As Object
DialogTaskString = "Resolution"
ResoNotFoundString = str
ErrorDialog.ShowDialog()
Return Nothing
End Function))
If UserCloseDialog = True Then
Throw New System.Exception(Chr(34) + "UserAbort" + Chr(34))
Else
ResoUsed = ResoBackString
ResoSave = ResoBackString
End If
ResoUsed = ResoBackString
ResoSave = ResoBackString
End If
End If
Dim ffmpeg_url_3 As String = Nothing
Dim LineChar As String = vbLf
If CBool(InStr(str, vbCrLf)) Then
LineChar = vbCrLf
ElseIf CBool(InStr(str, vbCr)) Then
LineChar = vbCr
End If
Dim ffmpeg_url_1 As String() = str.Split(New String() {LineChar}, System.StringSplitOptions.RemoveEmptyEntries)
For i As Integer = 0 To ffmpeg_url_1.Count - 2 'Step 2
If CBool(InStr(ffmpeg_url_1(i), ResoUsed + ",")) Then
ffmpeg_url_3 = ffmpeg_url_1(i + 1)
End If
Next
ffmpegInput = "-i " + Chr(34) + ffmpeg_url_3.Trim() + Chr(34)
End If
Dim ffmpeg_url_3 As String = Nothing
Dim LineChar As String = vbLf
If CBool(InStr(str, vbCrLf)) Then
LineChar = vbCrLf
ElseIf CBool(InStr(str, vbCr)) Then
LineChar = vbCr
End If
Dim ffmpeg_url_1 As String() = str.Split(New String() {LineChar}, System.StringSplitOptions.RemoveEmptyEntries)
For i As Integer = 0 To ffmpeg_url_1.Count - 2 'Step 2
If CBool(InStr(ffmpeg_url_1(i), ResoUsed + ",")) Then
ffmpeg_url_3 = ffmpeg_url_1(i + 1)
End If
Next
ffmpegInput = "-i " + Chr(34) + ffmpeg_url_3.Trim() + Chr(34)
End If
#End Region
#Region "GetSoftsubs"
Dim SoftSubsAvailable As New List(Of String)
Dim SoftSubsAvailable As New List(Of String)
Dim SoftSubsList As New List(Of CR_Subtiles)
@ -3472,7 +3491,8 @@ Public Class Main
End If
Me.Text = "Status: Crunchyroll season found."
Debug.WriteLine("Crunchyroll season found")
GetBetaSeasons(Request.Uri)
GetBetaSeasons(WebbrowserURL, Request.Uri, "")
'Browser.WebBrowser1.LoadUrl(Request.Uri)
b = True
LoadedUrls.Clear()
@ -4248,17 +4268,17 @@ Public Class Main
Sub FillArray() '
SubSpracheEnum.Add(New NameValuePair("[ null ]", "", Nothing))
SubSpracheEnum.Add(New NameValuePair("Deutsch", "de-DE", Nothing))
SubSpracheEnum.Add(New NameValuePair("English", "en-US", "en"))
SubSpracheEnum.Add(New NameValuePair("Português (Brasil)", "pt-BR", "pt"))
SubSpracheEnum.Add(New NameValuePair("Español (LA)", "es-419", "es"))
SubSpracheEnum.Add(New NameValuePair("Français (France)", "fr-FR", Nothing))
SubSpracheEnum.Add(New NameValuePair("العربية (Arabic)", "ar-SA", Nothing))
SubSpracheEnum.Add(New NameValuePair("Русский (Russian)", "ru-RU", Nothing))
SubSpracheEnum.Add(New NameValuePair("Italiano (Italian)", "it-IT", Nothing))
SubSpracheEnum.Add(New NameValuePair("Español (España)", "es-ES", Nothing))
SubSpracheEnum.Add(New NameValuePair("Japanese", "ja-JP", Nothing))
LangValueEnum.Add(New NameValuePair("[ null ]", "", Nothing))
LangValueEnum.Add(New NameValuePair("Deutsch", "de-DE", Nothing))
LangValueEnum.Add(New NameValuePair("English", "en-US", "en"))
LangValueEnum.Add(New NameValuePair("Português (Brasil)", "pt-BR", "pt"))
LangValueEnum.Add(New NameValuePair("Español (LA)", "es-419", "es"))
LangValueEnum.Add(New NameValuePair("Français (France)", "fr-FR", Nothing))
LangValueEnum.Add(New NameValuePair("العربية (Arabic)", "ar-SA", Nothing))
LangValueEnum.Add(New NameValuePair("Русский (Russian)", "ru-RU", Nothing))
LangValueEnum.Add(New NameValuePair("Italiano (Italian)", "it-IT", Nothing))
LangValueEnum.Add(New NameValuePair("Español (España)", "es-ES", Nothing))
LangValueEnum.Add(New NameValuePair("Japanese", "ja-JP", Nothing))
End Sub
@ -4401,8 +4421,8 @@ Public Class Main
'MsgBox(v1Token)
If CBool(InStr(v1Token, "curl:")) = True Then
Browser.WebView2.CoreWebView2.Navigate(Url)
SetStatusLabel("Status: loading in browser...")
'Browser.WebView2.CoreWebView2.Navigate(Url)
SetStatusLabel("Status: Critical error. #4425")
Exit Sub
End If
@ -4420,42 +4440,14 @@ Public Class Main
If CBool(InStr(Url, "crunchyroll.com")) = True And CBool(InStr(Url, "series/")) = True Then
Dim v2Content As String = CurlAuth("https://www.crunchyroll.com/index/v2", CR_Cookies, Auth2)
If CBool(InStr(v2Content, "curl:")) = True Then
v2Content = CurlAuth("https://www.crunchyroll.com/index/v2", CR_Cookies, Auth2)
End If
If CBool(InStr(v2Content, "curl:")) = True Then
Browser.WebView2.CoreWebView2.Navigate(Url)
SetStatusLabel("Status: loading in browser...")
Exit Sub
End If
Dim SeriesUrlBuilder() As String = Url.Split(New String() {"series/"}, System.StringSplitOptions.RemoveEmptyEntries)
Dim SeriesUrlBuilder2() As String = SeriesUrlBuilder(1).Split(New String() {"/"}, System.StringSplitOptions.RemoveEmptyEntries)
Dim v2ContentBeta() As String = v2Content.Split(New String() {Chr(34) + "cms_web" + Chr(34) + ":"}, System.StringSplitOptions.RemoveEmptyEntries)
Dim bucket() As String = v2ContentBeta(1).Split(New String() {Chr(34) + "bucket" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
Dim bucket2() As String = bucket(1).Split(New String() {Chr(34) + "," + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
Dim policy() As String = v2ContentBeta(1).Split(New String() {Chr(34) + "policy" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
Dim policy2() As String = policy(1).Split(New String() {Chr(34) + "," + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
Dim signature() As String = v2ContentBeta(1).Split(New String() {Chr(34) + "signature" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
Dim signature2() As String = signature(1).Split(New String() {Chr(34) + "," + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
Dim key_pair_id() As String = v2ContentBeta(1).Split(New String() {Chr(34) + "key_pair_id" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
Dim key_pair_id2() As String = key_pair_id(1).Split(New String() {Chr(34) + "," + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
Dim Series_idUrlBuilder() As String = Url.Split(New String() {"series/"}, System.StringSplitOptions.RemoveEmptyEntries)
Dim Series_idUrlBuilder2() As String = Series_idUrlBuilder(1).Split(New String() {"/"}, System.StringSplitOptions.RemoveEmptyEntries)
Dim SeriesUrl As String = "https://www.crunchyroll.com/cms/v2" + bucket2(0) + "/seasons?series_id=" + Series_idUrlBuilder2(0) + "&locale=" + locale + "&Signature=" + signature2(0) + "&Policy=" + policy2(0) + "&Key-Pair-Id=" + key_pair_id2(0)
Dim SeriesUrl As String = "https://www.crunchyroll.com/content/v2/cms/series/" + SeriesUrlBuilder2(0) + "/seasons?preferred_audio_language=" + DubSprache.CR_Value + "&locale=" + locale '+ "&Signature=" + signature2(0) + "&Policy=" + policy2(0) + "&Key-Pair-Id=" + key_pair_id2(0)
'MsgBox(SeriesUrl)
GetBetaSeasons(SeriesUrl)
GetBetaSeasons(Url, SeriesUrl, Auth2)
ElseIf CBool(InStr(Url, "crunchyroll.com")) = True And CBool(InStr(Url, "watch/")) = True And CBool(CrBetaBasic = Nothing) = False Then
@ -4467,7 +4459,8 @@ Public Class Main
Dim ObjectsURLBuilder4() As String = ObjectsURLBuilder3(1).Split(New String() {"/"}, System.StringSplitOptions.RemoveEmptyEntries)
ObjectsUrl = "https://www.crunchyroll.com/content/v2/cms/objects/" + ObjectsURLBuilder4(0) + "?locale=" + locale '+ "&Signature=" + signature2(0) + "&Policy=" + policy2(0) + "&Key-Pair-Id=" + key_pair_id2(0)
ObjectsUrl = "https://www.crunchyroll.com/content/v2/cms/objects/" + ObjectsURLBuilder4(0) + "?preferred_audio_language=" + DubSprache.CR_Value + "&locale=" + locale
'End Using
'MsgBox(ObjectsUrl)
@ -4515,6 +4508,8 @@ Public Class Main
StreamsUrl = StreamsUrlBuilder3(0) + "videos/" + StreamsUrlBuilder2(0) + "/streams?" + StreamsUrlBuilder4(1)
MsgBox(StreamsUrl)
' Debug.WriteLine(StreamsUrl)
Catch ex As Exception
Browser.WebView2.CoreWebView2.Navigate(Url)

View File

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

View File

@ -521,6 +521,18 @@ Namespace My
Me("NameTemplate") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("ja-JP")> _
Public Property CR_Dub() As String
Get
Return CType(Me("CR_Dub"),String)
End Get
Set
Me("CR_Dub") = value
End Set
End Property
End Class
End Namespace

View File

@ -119,5 +119,8 @@
<Setting Name="NameTemplate" Type="System.String" Scope="User">
<Value Profile="(Default)">Unused</Value>
</Setting>
<Setting Name="CR_Dub" Type="System.String" Scope="User">
<Value Profile="(Default)">ja-JP</Value>
</Setting>
</Settings>
</SettingsFile>

View File

@ -114,10 +114,10 @@ Partial Class Einstellungen
Me.LangNameType_DD = New MetroFramework.Controls.MetroComboBox()
Me.CB_SoftSubSettings = New MetroFramework.Controls.MetroComboBox()
Me.GB_Filename_Pre = New System.Windows.Forms.GroupBox()
Me.DD_Season_Prefix = New MetroFramework.Controls.MetroTextBox()
Me.DD_Episode_Prefix = New MetroFramework.Controls.MetroTextBox()
Me.CB_Ignore = New MetroFramework.Controls.MetroComboBox()
Me.GroupBox12 = New System.Windows.Forms.GroupBox()
Me.DD_Episode_Prefix = New MetroFramework.Controls.MetroTextBox()
Me.DD_Season_Prefix = New MetroFramework.Controls.MetroTextBox()
Me.CB_EpisodeName = New MetroFramework.Controls.MetroCheckBox()
Me.CB_AnimeDub = New MetroFramework.Controls.MetroCheckBox()
Me.CB_EpisodeNR = New MetroFramework.Controls.MetroCheckBox()
@ -159,6 +159,7 @@ Partial Class Einstellungen
Me.Label5 = New MetroFramework.Controls.MetroLabel()
Me.BackgroundWorker1 = New System.ComponentModel.BackgroundWorker()
Me.Btn_Save = New System.Windows.Forms.Button()
Me.CB_CR_Audio = New MetroFramework.Controls.MetroComboBox()
CType(Me.pictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.GroupBox14.SuspendLayout()
Me.SoftSubs.SuspendLayout()
@ -224,7 +225,7 @@ Partial Class Einstellungen
Me.GroupBox14.Controls.Add(Me.CR_SoftSubDefault)
Me.GroupBox14.Font = New System.Drawing.Font("Arial", 9.75!)
Me.GroupBox14.ForeColor = System.Drawing.Color.Black
Me.GroupBox14.Location = New System.Drawing.Point(5, 310)
Me.GroupBox14.Location = New System.Drawing.Point(5, 351)
Me.GroupBox14.Name = "GroupBox14"
Me.GroupBox14.Size = New System.Drawing.Size(490, 69)
Me.GroupBox14.TabIndex = 30
@ -259,7 +260,7 @@ Partial Class Einstellungen
Me.SoftSubs.Controls.Add(Me.CBdeDE)
Me.SoftSubs.Controls.Add(Me.CBenUS)
Me.SoftSubs.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.SoftSubs.Location = New System.Drawing.Point(5, 143)
Me.SoftSubs.Location = New System.Drawing.Point(5, 184)
Me.SoftSubs.Name = "SoftSubs"
Me.SoftSubs.Size = New System.Drawing.Size(490, 161)
Me.SoftSubs.TabIndex = 20
@ -380,7 +381,7 @@ Partial Class Einstellungen
Me.GB_SubLanguage.Controls.Add(Me.CB_CR_Harsubs)
Me.GB_SubLanguage.Font = New System.Drawing.Font("Arial", 9.75!)
Me.GB_SubLanguage.ForeColor = System.Drawing.Color.Black
Me.GB_SubLanguage.Location = New System.Drawing.Point(5, 74)
Me.GB_SubLanguage.Location = New System.Drawing.Point(5, 115)
Me.GB_SubLanguage.Name = "GB_SubLanguage"
Me.GB_SubLanguage.Size = New System.Drawing.Size(490, 63)
Me.GB_SubLanguage.TabIndex = 10
@ -411,10 +412,10 @@ Partial Class Einstellungen
Me.TabPage2.HorizontalScrollbarBarColor = True
Me.TabPage2.HorizontalScrollbarHighlightOnWheel = False
Me.TabPage2.HorizontalScrollbarSize = 10
Me.TabPage2.Location = New System.Drawing.Point(4, 35)
Me.TabPage2.Location = New System.Drawing.Point(4, 44)
Me.TabPage2.Name = "TabPage2"
Me.TabPage2.Padding = New System.Windows.Forms.Padding(3)
Me.TabPage2.Size = New System.Drawing.Size(501, 528)
Me.TabPage2.Size = New System.Drawing.Size(501, 519)
Me.TabPage2.TabIndex = 1
Me.TabPage2.Text = "Output"
Me.TabPage2.VerticalScrollbarBarColor = True
@ -604,84 +605,84 @@ Partial Class Einstellungen
'copy
'
Me.copy.Name = "copy"
Me.copy.Size = New System.Drawing.Size(172, 22)
Me.copy.Size = New System.Drawing.Size(180, 22)
Me.copy.Text = "-c copy"
'
'CPU_h264
'
Me.CPU_h264.BackColor = System.Drawing.Color.DarkGray
Me.CPU_h264.Name = "CPU_h264"
Me.CPU_h264.Size = New System.Drawing.Size(172, 22)
Me.CPU_h264.Size = New System.Drawing.Size(180, 22)
Me.CPU_h264.Text = "-c:v libx264"
'
'CPU_h265
'
Me.CPU_h265.BackColor = System.Drawing.Color.DarkGray
Me.CPU_h265.Name = "CPU_h265"
Me.CPU_h265.Size = New System.Drawing.Size(172, 22)
Me.CPU_h265.Size = New System.Drawing.Size(180, 22)
Me.CPU_h265.Text = "-c:v libx265"
'
'CPU_AV1
'
Me.CPU_AV1.BackColor = System.Drawing.Color.DarkGray
Me.CPU_AV1.Name = "CPU_AV1"
Me.CPU_AV1.Size = New System.Drawing.Size(172, 22)
Me.CPU_AV1.Size = New System.Drawing.Size(180, 22)
Me.CPU_AV1.Text = "-c:v libsvtav1"
'
'nv_h264
'
Me.nv_h264.BackColor = System.Drawing.Color.YellowGreen
Me.nv_h264.Name = "nv_h264"
Me.nv_h264.Size = New System.Drawing.Size(172, 22)
Me.nv_h264.Size = New System.Drawing.Size(180, 22)
Me.nv_h264.Text = "-c:v h264_nvenc "
'
'nv_hevc
'
Me.nv_hevc.BackColor = System.Drawing.Color.YellowGreen
Me.nv_hevc.Name = "nv_hevc"
Me.nv_hevc.Size = New System.Drawing.Size(172, 22)
Me.nv_hevc.Size = New System.Drawing.Size(180, 22)
Me.nv_hevc.Text = "-c:v hevc_nvenc"
'
'nv_AV1
'
Me.nv_AV1.BackColor = System.Drawing.Color.YellowGreen
Me.nv_AV1.Name = "nv_AV1"
Me.nv_AV1.Size = New System.Drawing.Size(172, 22)
Me.nv_AV1.Size = New System.Drawing.Size(180, 22)
Me.nv_AV1.Text = "-c:v av1_nvenc"
'
'AMD_h264
'
Me.AMD_h264.BackColor = System.Drawing.Color.Tomato
Me.AMD_h264.Name = "AMD_h264"
Me.AMD_h264.Size = New System.Drawing.Size(172, 22)
Me.AMD_h264.Size = New System.Drawing.Size(180, 22)
Me.AMD_h264.Text = "-c:v h264_amf"
'
'AMD_hevc
'
Me.AMD_hevc.BackColor = System.Drawing.Color.Tomato
Me.AMD_hevc.Name = "AMD_hevc"
Me.AMD_hevc.Size = New System.Drawing.Size(172, 22)
Me.AMD_hevc.Size = New System.Drawing.Size(180, 22)
Me.AMD_hevc.Text = "-c:v hevc_amf"
'
'Intel_h264
'
Me.Intel_h264.BackColor = System.Drawing.Color.CornflowerBlue
Me.Intel_h264.Name = "Intel_h264"
Me.Intel_h264.Size = New System.Drawing.Size(172, 22)
Me.Intel_h264.Size = New System.Drawing.Size(180, 22)
Me.Intel_h264.Text = "-c:v h264_qsv"
'
'Intel_hevc
'
Me.Intel_hevc.BackColor = System.Drawing.Color.CornflowerBlue
Me.Intel_hevc.Name = "Intel_hevc"
Me.Intel_hevc.Size = New System.Drawing.Size(172, 22)
Me.Intel_hevc.Size = New System.Drawing.Size(180, 22)
Me.Intel_hevc.Text = "-c:v hevc_qsv"
'
'Intel_AV1
'
Me.Intel_AV1.BackColor = System.Drawing.Color.CornflowerBlue
Me.Intel_AV1.Name = "Intel_AV1"
Me.Intel_AV1.Size = New System.Drawing.Size(172, 22)
Me.Intel_AV1.Size = New System.Drawing.Size(180, 22)
Me.Intel_AV1.Text = "-c:v av1_qsv"
'
'FFMPEG_CommandP2
@ -899,10 +900,10 @@ Partial Class Einstellungen
Me.TabPage1.HorizontalScrollbarBarColor = True
Me.TabPage1.HorizontalScrollbarHighlightOnWheel = False
Me.TabPage1.HorizontalScrollbarSize = 10
Me.TabPage1.Location = New System.Drawing.Point(4, 44)
Me.TabPage1.Location = New System.Drawing.Point(4, 35)
Me.TabPage1.Name = "TabPage1"
Me.TabPage1.Padding = New System.Windows.Forms.Padding(3)
Me.TabPage1.Size = New System.Drawing.Size(501, 519)
Me.TabPage1.Size = New System.Drawing.Size(501, 528)
Me.TabPage1.TabIndex = 0
Me.TabPage1.Text = " Main"
Me.TabPage1.VerticalScrollbar = True
@ -1109,7 +1110,7 @@ Partial Class Einstellungen
Me.TabControl1.FontWeight = MetroFramework.MetroTabControlWeight.Regular
Me.TabControl1.Location = New System.Drawing.Point(22, 60)
Me.TabControl1.Name = "TabControl1"
Me.TabControl1.SelectedIndex = 2
Me.TabControl1.SelectedIndex = 3
Me.TabControl1.Size = New System.Drawing.Size(509, 567)
Me.TabControl1.TabIndex = 0
Me.TabControl1.UseSelectable = True
@ -1216,38 +1217,37 @@ Partial Class Einstellungen
Me.GB_Filename_Pre.TabStop = False
Me.GB_Filename_Pre.Text = "Filename Extras"
'
'CB_Ignore
'DD_Season_Prefix
'
Me.CB_Ignore.DropDownHeight = 250
Me.CB_Ignore.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.CB_Ignore.FormattingEnabled = True
Me.CB_Ignore.IntegralHeight = False
Me.CB_Ignore.ItemHeight = 23
Me.CB_Ignore.Items.AddRange(New Object() {"[Default] use season numbers", "ignore Season 1", "ignore all season numbers"})
Me.CB_Ignore.Location = New System.Drawing.Point(123, 21)
Me.CB_Ignore.Name = "CB_Ignore"
Me.CB_Ignore.Size = New System.Drawing.Size(225, 29)
Me.CB_Ignore.TabIndex = 40
Me.CB_Ignore.UseSelectable = True
'
'GroupBox12
'
Me.GroupBox12.BackColor = System.Drawing.Color.Transparent
Me.GroupBox12.Controls.Add(Me.CB_EpisodeName)
Me.GroupBox12.Controls.Add(Me.CB_AnimeDub)
Me.GroupBox12.Controls.Add(Me.CB_EpisodeNR)
Me.GroupBox12.Controls.Add(Me.CB_Kodi)
Me.GroupBox12.Controls.Add(Me.CB_Season)
Me.GroupBox12.Controls.Add(Me.CB_Anime)
Me.GroupBox12.Controls.Add(Me.TB_NameString)
Me.GroupBox12.Font = New System.Drawing.Font("Arial", 9.75!)
Me.GroupBox12.ForeColor = System.Drawing.Color.Black
Me.GroupBox12.Location = New System.Drawing.Point(5, 11)
Me.GroupBox12.Name = "GroupBox12"
Me.GroupBox12.Size = New System.Drawing.Size(490, 155)
Me.GroupBox12.TabIndex = 21
Me.GroupBox12.TabStop = False
Me.GroupBox12.Text = "Filename"
'
Me.DD_Season_Prefix.CustomButton.Image = Nothing
Me.DD_Season_Prefix.CustomButton.Location = New System.Drawing.Point(197, 1)
Me.DD_Season_Prefix.CustomButton.Name = ""
Me.DD_Season_Prefix.CustomButton.Size = New System.Drawing.Size(27, 27)
Me.DD_Season_Prefix.CustomButton.Style = MetroFramework.MetroColorStyle.Blue
Me.DD_Season_Prefix.CustomButton.TabIndex = 1
Me.DD_Season_Prefix.CustomButton.Theme = MetroFramework.MetroThemeStyle.Light
Me.DD_Season_Prefix.CustomButton.UseSelectable = True
Me.DD_Season_Prefix.CustomButton.Visible = False
Me.DD_Season_Prefix.FontSize = MetroFramework.MetroTextBoxSize.Medium
Me.DD_Season_Prefix.Lines = New String(-1) {}
Me.DD_Season_Prefix.Location = New System.Drawing.Point(6, 69)
Me.DD_Season_Prefix.MaxLength = 32767
Me.DD_Season_Prefix.Name = "DD_Season_Prefix"
Me.DD_Season_Prefix.PasswordChar = Global.Microsoft.VisualBasic.ChrW(0)
Me.DD_Season_Prefix.ScrollBars = System.Windows.Forms.ScrollBars.None
Me.DD_Season_Prefix.SelectedText = ""
Me.DD_Season_Prefix.SelectionLength = 0
Me.DD_Season_Prefix.SelectionStart = 0
Me.DD_Season_Prefix.ShortcutsEnabled = True
Me.DD_Season_Prefix.Size = New System.Drawing.Size(225, 29)
Me.DD_Season_Prefix.TabIndex = 33
Me.DD_Season_Prefix.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
Me.DD_Season_Prefix.UseSelectable = True
Me.DD_Season_Prefix.WaterMarkColor = System.Drawing.Color.FromArgb(CType(CType(109, Byte), Integer), CType(CType(109, Byte), Integer), CType(CType(109, Byte), Integer))
Me.DD_Season_Prefix.WaterMarkFont = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Pixel)
'
'DD_Episode_Prefix
'
@ -1281,37 +1281,38 @@ Partial Class Einstellungen
Me.DD_Episode_Prefix.WaterMarkColor = System.Drawing.Color.FromArgb(CType(CType(109, Byte), Integer), CType(CType(109, Byte), Integer), CType(CType(109, Byte), Integer))
Me.DD_Episode_Prefix.WaterMarkFont = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Pixel)
'
'DD_Season_Prefix
'CB_Ignore
'
Me.CB_Ignore.DropDownHeight = 250
Me.CB_Ignore.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.CB_Ignore.FormattingEnabled = True
Me.CB_Ignore.IntegralHeight = False
Me.CB_Ignore.ItemHeight = 23
Me.CB_Ignore.Items.AddRange(New Object() {"[Default] use season numbers", "ignore Season 1", "ignore all season numbers"})
Me.CB_Ignore.Location = New System.Drawing.Point(123, 21)
Me.CB_Ignore.Name = "CB_Ignore"
Me.CB_Ignore.Size = New System.Drawing.Size(225, 29)
Me.CB_Ignore.TabIndex = 40
Me.CB_Ignore.UseSelectable = True
'
'GroupBox12
'
'
Me.DD_Season_Prefix.CustomButton.Image = Nothing
Me.DD_Season_Prefix.CustomButton.Location = New System.Drawing.Point(197, 1)
Me.DD_Season_Prefix.CustomButton.Name = ""
Me.DD_Season_Prefix.CustomButton.Size = New System.Drawing.Size(27, 27)
Me.DD_Season_Prefix.CustomButton.Style = MetroFramework.MetroColorStyle.Blue
Me.DD_Season_Prefix.CustomButton.TabIndex = 1
Me.DD_Season_Prefix.CustomButton.Theme = MetroFramework.MetroThemeStyle.Light
Me.DD_Season_Prefix.CustomButton.UseSelectable = True
Me.DD_Season_Prefix.CustomButton.Visible = False
Me.DD_Season_Prefix.FontSize = MetroFramework.MetroTextBoxSize.Medium
Me.DD_Season_Prefix.Lines = New String(-1) {}
Me.DD_Season_Prefix.Location = New System.Drawing.Point(6, 69)
Me.DD_Season_Prefix.MaxLength = 32767
Me.DD_Season_Prefix.Name = "DD_Season_Prefix"
Me.DD_Season_Prefix.PasswordChar = Global.Microsoft.VisualBasic.ChrW(0)
Me.DD_Season_Prefix.ScrollBars = System.Windows.Forms.ScrollBars.None
Me.DD_Season_Prefix.SelectedText = ""
Me.DD_Season_Prefix.SelectionLength = 0
Me.DD_Season_Prefix.SelectionStart = 0
Me.DD_Season_Prefix.ShortcutsEnabled = True
Me.DD_Season_Prefix.Size = New System.Drawing.Size(225, 29)
Me.DD_Season_Prefix.TabIndex = 33
Me.DD_Season_Prefix.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
Me.DD_Season_Prefix.UseSelectable = True
Me.DD_Season_Prefix.WaterMarkColor = System.Drawing.Color.FromArgb(CType(CType(109, Byte), Integer), CType(CType(109, Byte), Integer), CType(CType(109, Byte), Integer))
Me.DD_Season_Prefix.WaterMarkFont = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Pixel)
Me.GroupBox12.BackColor = System.Drawing.Color.Transparent
Me.GroupBox12.Controls.Add(Me.CB_EpisodeName)
Me.GroupBox12.Controls.Add(Me.CB_AnimeDub)
Me.GroupBox12.Controls.Add(Me.CB_EpisodeNR)
Me.GroupBox12.Controls.Add(Me.CB_Kodi)
Me.GroupBox12.Controls.Add(Me.CB_Season)
Me.GroupBox12.Controls.Add(Me.CB_Anime)
Me.GroupBox12.Controls.Add(Me.TB_NameString)
Me.GroupBox12.Font = New System.Drawing.Font("Arial", 9.75!)
Me.GroupBox12.ForeColor = System.Drawing.Color.Black
Me.GroupBox12.Location = New System.Drawing.Point(5, 11)
Me.GroupBox12.Name = "GroupBox12"
Me.GroupBox12.Size = New System.Drawing.Size(490, 155)
Me.GroupBox12.TabIndex = 21
Me.GroupBox12.TabStop = False
Me.GroupBox12.Text = "Filename"
'
'CB_EpisodeName
'
@ -1428,9 +1429,9 @@ Partial Class Einstellungen
Me.MetroTabPage1.HorizontalScrollbarBarColor = True
Me.MetroTabPage1.HorizontalScrollbarHighlightOnWheel = False
Me.MetroTabPage1.HorizontalScrollbarSize = 10
Me.MetroTabPage1.Location = New System.Drawing.Point(4, 35)
Me.MetroTabPage1.Location = New System.Drawing.Point(4, 44)
Me.MetroTabPage1.Name = "MetroTabPage1"
Me.MetroTabPage1.Size = New System.Drawing.Size(501, 528)
Me.MetroTabPage1.Size = New System.Drawing.Size(501, 519)
Me.MetroTabPage1.TabIndex = 7
Me.MetroTabPage1.Text = "Crunchyroll"
Me.MetroTabPage1.VerticalScrollbarBarColor = True
@ -1443,7 +1444,7 @@ Partial Class Einstellungen
Me.GroupBox20.Controls.Add(Me.ChB_Chapters)
Me.GroupBox20.Font = New System.Drawing.Font("Arial", 9.75!)
Me.GroupBox20.ForeColor = System.Drawing.Color.Black
Me.GroupBox20.Location = New System.Drawing.Point(3, 385)
Me.GroupBox20.Location = New System.Drawing.Point(3, 426)
Me.GroupBox20.Name = "GroupBox20"
Me.GroupBox20.Size = New System.Drawing.Size(490, 62)
Me.GroupBox20.TabIndex = 34
@ -1464,12 +1465,13 @@ Partial Class Einstellungen
'GroupBox19
'
Me.GroupBox19.BackColor = System.Drawing.Color.Transparent
Me.GroupBox19.Controls.Add(Me.CB_CR_Audio)
Me.GroupBox19.Controls.Add(Me.DubMode)
Me.GroupBox19.Font = New System.Drawing.Font("Arial", 9.75!)
Me.GroupBox19.ForeColor = System.Drawing.Color.Black
Me.GroupBox19.Location = New System.Drawing.Point(5, 14)
Me.GroupBox19.Name = "GroupBox19"
Me.GroupBox19.Size = New System.Drawing.Size(490, 59)
Me.GroupBox19.Size = New System.Drawing.Size(490, 100)
Me.GroupBox19.TabIndex = 33
Me.GroupBox19.TabStop = False
Me.GroupBox19.Text = "Dubbed"
@ -1866,6 +1868,19 @@ Partial Class Einstellungen
Me.Btn_Save.TabIndex = 9
Me.Btn_Save.UseVisualStyleBackColor = False
'
'CB_CR_Audio
'
Me.CB_CR_Audio.DropDownHeight = 275
Me.CB_CR_Audio.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.CB_CR_Audio.FormattingEnabled = True
Me.CB_CR_Audio.IntegralHeight = False
Me.CB_CR_Audio.ItemHeight = 23
Me.CB_CR_Audio.Location = New System.Drawing.Point(82, 55)
Me.CB_CR_Audio.Name = "CB_CR_Audio"
Me.CB_CR_Audio.Size = New System.Drawing.Size(326, 29)
Me.CB_CR_Audio.TabIndex = 21
Me.CB_CR_Audio.UseSelectable = True
'
'Einstellungen
'
Me.ApplyImageInvert = True
@ -2075,4 +2090,5 @@ Partial Class Einstellungen
Friend WithEvents TB_NameString As MetroFramework.Controls.MetroTextBox
Friend WithEvents DD_Episode_Prefix As MetroFramework.Controls.MetroTextBox
Friend WithEvents DD_Season_Prefix As MetroFramework.Controls.MetroTextBox
Friend WithEvents CB_CR_Audio As MetroFramework.Controls.MetroComboBox
End Class

View File

@ -126,9 +126,6 @@
<metadata name="MenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>118, 20</value>
</metadata>
<metadata name="MenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>118, 20</value>
</metadata>
<metadata name="BackgroundWorker1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>332, 20</value>
</metadata>

View File

@ -206,20 +206,33 @@ Public Class Einstellungen
CB_CR_Harsubs.Items.Clear()
For i As Integer = 0 To Main.SubSpracheEnum.Count - 1
CB_CR_Harsubs.Items.Add(Main.SubSpracheEnum(i).Name)
If Main.SubSpracheEnum(i).CR_Value = Main.SubSprache.CR_Value Then
'MsgBox(CB_CR_Harsubs.Items.Count.ToString)
'MsgBox(i.ToString)
CB_CR_Harsubs.SelectedIndex = i
'Exit For
End If
For i As Integer = 0 To Main.LangValueEnum.Count - 1
CB_CR_Harsubs.Items.Add(Main.LangValueEnum(i).Name)
If Main.LangValueEnum(i).CR_Value = Main.SubSprache.CR_Value Then
'MsgBox(CB_CR_Harsubs.Items.Count.ToString)
'MsgBox(i.ToString)
CB_CR_Harsubs.SelectedIndex = i
'Exit For
End If
Next
Next
CB_CR_Audio.Items.Clear()
For i As Integer = 1 To Main.LangValueEnum.Count - 1
CB_CR_Audio.Items.Add(Main.LangValueEnum(i).Name)
If Main.LangValueEnum(i).CR_Value = Main.DubSprache.CR_Value Then
CB_CR_Audio.SelectedIndex = i - 1
End If
Next
DD_Season_Prefix.Text = Main.Season_Prefix
DD_Season_Prefix.Text = Main.Season_Prefix
DD_Episode_Prefix.Text = Main.Episode_Prefix
@ -449,13 +462,24 @@ Public Class Einstellungen
End If
For i As Integer = 0 To Main.SubSpracheEnum.Count - 1
For i As Integer = 0 To Main.LangValueEnum.Count - 1
If CB_CR_Harsubs.SelectedItem.ToString = Main.SubSpracheEnum(i).Name Then
Main.SubSprache = Main.SubSpracheEnum(i)
If CB_CR_Harsubs.SelectedItem.ToString = Main.LangValueEnum(i).Name Then
Main.SubSprache = Main.LangValueEnum(i)
My.Settings.Subtitle = Main.SubSprache.CR_Value
'MsgBox(Main.SubSpracheEnum(i).Name)
'MsgBox(Main.SubSpracheEnum(i).CR_Value)
'MsgBox(Main.LangValueEnum(i).Name)
'MsgBox(Main.LangValueEnum(i).CR_Value)
Exit For
End If
Next
For i As Integer = 0 To Main.LangValueEnum.Count - 1
If CB_CR_Audio.SelectedItem.ToString = Main.LangValueEnum(i).Name Then
Main.DubSprache = Main.LangValueEnum(i)
My.Settings.CR_Dub = Main.DubSprache.CR_Value
Exit For
End If
@ -843,10 +867,18 @@ Public Class Einstellungen
Private Sub ListC1_Click(sender As Object, e As EventArgs) Handles copy.Click, nv_h264.Click, nv_hevc.Click, nv_AV1.Click, CPU_h264.Click, CPU_h265.Click, CPU_AV1.Click, AMD_h264.Click, AMD_hevc.Click, Intel_h264.Click, Intel_hevc.Click, Intel_AV1.Click
Dim Button As ToolStripMenuItem = CType(sender, ToolStripMenuItem)
If CBool(InStr(Button.Text, "av1")) Then
If MessageBox.Show("The inculded ffmpeg version does not support any AV1 encoders." + vbNewLine + "The 'Help' button gets you to the ffmpeg download page.", "AV1 support", MessageBoxButtons.OKCancel, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, 0, "https://ffmpeg.org/download.html", "") = DialogResult.Cancel Then
Exit Sub
End If
End If
If Button.Text = "-c copy" Then
FFMPEG_CommandP1.Text = "-c copy"
FFMPEG_CommandP2.Enabled = False
FFMPEG_CommandP3.Enabled = False
ElseIf Button.Text = "-c:v libsvtav1" Then
FFMPEG_CommandP1.Text = Button.Text
FFMPEG_CommandP2.Text = "[no Preset]"
@ -1297,6 +1329,8 @@ Public Class Einstellungen
#End Region
#End Region