hybrid mode retry after crash, json parsing improved

hybrid mode retry after crash
 json parsing improved
This commit is contained in:
hama3254 2021-07-04 17:22:46 +02:00
parent c4ea1510ac
commit b57ea725a8
25 changed files with 654 additions and 328 deletions

1
.gitignore vendored
View File

@ -3,3 +3,4 @@ Crunchyroll Downloader/bin/x86/Debug/Crunchyroll-Downloader-v3.0.zip
*.zip
*.mp4
*.log
*.key

Binary file not shown.

View File

@ -244,8 +244,8 @@ Partial Class Anime_Add
Me.groupBox2.Controls.Add(Me.comboBox4)
Me.groupBox2.Controls.Add(Me.ComboBox1)
Me.groupBox2.Controls.Add(Me.comboBox3)
Me.groupBox2.Controls.Add(Me.PictureBox1)
Me.groupBox2.Controls.Add(Me.Add_Display)
Me.groupBox2.Controls.Add(Me.PictureBox1)
Me.groupBox2.Location = New System.Drawing.Point(15, 70)
Me.groupBox2.Name = "groupBox2"
Me.groupBox2.Size = New System.Drawing.Size(720, 280)

View File

@ -188,12 +188,12 @@ Public Class Anime_Add
#Region "Funimation url parameter"
If CBool(InStr(textBox1.Text, "funimation.com")) Then
Main.WebbrowserURL = textBox1.Text
If CBool(InStr(Main.FunimationAPIRegion, "?region=")) And CBool(InStr(textBox1.Text, "/shows/")) Then
'If CBool(InStr(Main.FunimationAPIRegion, "?region=")) And CBool(InStr(textBox1.Text, "/shows/")) Then
ProcessFunimationJS(textBox1.Text)
'ProcessFunimationJS(textBox1.Text)
Exit Sub
End If
'Exit Sub
'End If
If Main.DubFunimation = "Disabled" Then
Else
@ -260,9 +260,12 @@ Public Class Anime_Add
textBox1.Text = "URL"
Else
If Main.Grapp_RDY = True Then
GeckoFX.WebBrowser1.Navigate(textBox1.Text)
StatusLabel.Text = "Status: loading ..."
Main.b = False
Debug.WriteLine("Start loading: " + Date.Now)
GeckoFX.WebBrowser1.Navigate(textBox1.Text)
StatusLabel.Text = "Status: loading ...."
End If
End If
End If
@ -608,6 +611,7 @@ Public Class Anime_Add
End Using
Catch ex As Exception
Debug.WriteLine("error- getting EpisodeJson data")
Debug.WriteLine(ex.ToString)
Exit Sub
End Try
Main.CrBetaMassEpisodes = EpisodeJson
@ -630,22 +634,12 @@ Public Class Anime_Add
End If
Next
ElseIf main.WebbrowserURL = "funimation.com/js" Then
'MsgBox(Main.FunimtaionAPISeasonID.Item(ComboBox1.SelectedIndex))
ElseIf Main.WebbrowserURL = "funimation.com/js" Then
comboBox3.Items.Clear()
comboBox4.Items.Clear()
comboBox3.Enabled = True
comboBox4.Enabled = True
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)
'
'https://title-api.prd.funimationsvc.com/v1/seasons/1007609?region=US&deviceType=web
Dim EpisodeJsonURL As String = "https://title-api.prd.funimationsvc.com/v1/seasons/" + Main.FunimtaionAPISeasonID.Item(ComboBox1.SelectedIndex) + Main.FunimationAPIRegion
@ -660,22 +654,13 @@ Public Class Anime_Add
End Using
Catch ex As Exception
Debug.WriteLine("error- getting EpisodeJson data")
Debug.WriteLine(ex.ToString)
Main.FunimationJsonBrowser = "EpisodeJson"
GeckoFX.WebBrowser1.Navigate(EpisodeJsonURL)
Exit Sub
End Try
Main.FunimationEpisodeJSON = EpisodeJson
Dim EpisodeSplit() As String = EpisodeJson.Split(New String() {Chr(34) + "episodeNumber" + 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)
comboBox3.Items.Add("Episode " + EpisodeSplit2(0))
comboBox4.Items.Add("Episode " + EpisodeSplit2(0))
Next
FillFunimationEpisodes(EpisodeJson)
ElseIf AoD_Mode = False Then
@ -736,6 +721,23 @@ Public Class Anime_Add
End If
End Sub
Public Sub FillFunimationEpisodes(ByVal EpisodeJson As String)
Main.FunimationEpisodeJSON = EpisodeJson
comboBox3.Enabled = True
comboBox4.Enabled = True
Dim EpisodeSplit() As String = EpisodeJson.Split(New String() {Chr(34) + "episodeNumber" + 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)
comboBox3.Items.Add("Episode " + EpisodeSplit2(0))
comboBox4.Items.Add("Episode " + EpisodeSplit2(0))
Next
End Sub
Private Sub PictureBox1_MouseEnter(sender As Object, e As EventArgs) Handles PictureBox1.MouseEnter
PictureBox1.Image = My.Resources.add_mass_cancel_hover
End Sub

View File

@ -16,7 +16,7 @@ Namespace My
Partial Friend Class MyApplication
'Dim UseFirefoxProfile As Boolean = True
Protected Overrides Function OnStartup(ByVal eventArgs As Microsoft.VisualBasic.ApplicationServices.StartupEventArgs) As Boolean
Dim ProfileDirectory As String = Path.Combine(GetFolderPath(SpecialFolder.ApplicationData), "Mozilla", "Firefox", "Profiles", "CRD")
'Dim ProfileDirectory As String = Path.Combine(GetFolderPath(SpecialFolder.ApplicationData), "Mozilla", "Firefox", "Profiles", "CRD")
'If UseFirefoxProfile = True Then
' Dim di As New System.IO.DirectoryInfo(Path.Combine(GetFolderPath(SpecialFolder.ApplicationData), "Mozilla", "Firefox", "Profiles"))
' Try
@ -28,15 +28,15 @@ Namespace My
' End Try
'End If
'MsgBox(ProfileDirectory)
If Not Directory.Exists(ProfileDirectory) Then
Directory.CreateDirectory(ProfileDirectory)
End If
'If Not Directory.Exists(ProfileDirectory) Then
' Directory.CreateDirectory(ProfileDirectory)
'End If
Try
Dim sUserAgent As String = My.Resources.ffmpeg_user_agend.Replace("User-Agent: ", "").Replace(Chr(34), "") '"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0"
'sUserAgent = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36"
Xpcom.ProfileDirectory = ProfileDirectory
'Xpcom.ProfileDirectory = ProfileDirectory
Xpcom.Initialize("Firefox")
'MsgBox(Xpcom.XulRunnerVersion)

View File

@ -117,30 +117,6 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="PB_Thumbnail.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bt_pause.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bt_del.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_Anime.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_website.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_Reso.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_Hardsub.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_percent.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>19, 12</value>
</metadata>
@ -150,16 +126,7 @@
<metadata name="ContextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>207, 15</value>
</metadata>
<metadata name="PictureBox5.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ProgressBar1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="MetroStyleManager1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>364, 15</value>
</metadata>
<metadata name="$this.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root>

View File

@ -41,6 +41,8 @@ Public Class CRD_List_Item
Dim HybrideLog As String = Nothing
Dim Service As String = "CR"
Dim ServiceSleep As Integer = 0
Dim KeepCacheFiles As Boolean = False
Dim NameP2 As String = Nothing
Dim LastDate As Date = Date.Now
Dim LastSize As Double = 0
@ -113,12 +115,17 @@ Public Class CRD_List_Item
Public Sub SetTheme(ByVal Theme As MetroThemeStyle)
MetroStyleManager1.Theme = Theme
End Sub
Public Sub SetCache(ByVal value As Boolean)
KeepCacheFiles = value
End Sub
Public Sub SetTolerance(ByVal value As Integer)
Item_ErrorTolerance = value
End Sub
Public Sub SetLabelAnimeTitel(ByVal Text As String)
Label_Anime.Text = Text
NameP2 = Text
End Sub
Public Sub SetLabelResolution(ByVal Text As String)
Label_Reso.Text = Text
@ -619,7 +626,10 @@ Public Class CRD_List_Item
Thread.Sleep(250)
Else
Try
System.IO.Directory.Delete(HybridModePath, True)
If KeepCacheFiles = False Then
System.IO.Directory.Delete(HybridModePath, True)
End If
Catch ex As Exception
End Try
Me.Invoke(New Action(Function()
@ -738,7 +748,9 @@ Public Class CRD_List_Item
#Region "v3/v5"
Public WithEvents WC_TS As WebClient
Private Function ProcessV3(ByVal url As String, ByVal InputData As String, ByVal Folder As String) As String
Private Function ProcessV3(ByVal url As String, ByVal InputData As String, ByVal Folder As String, ByVal DateiPfad As String, ByVal DL_URL As String) As String
Debug.WriteLine(Folder)
If Not Directory.Exists(Path.GetDirectoryName(Folder)) Then
' Nein! Jetzt erstellen...
@ -751,6 +763,36 @@ Public Class CRD_List_Item
End Try
End If
If Not Directory.Exists(Path.GetDirectoryName(Folder) + "\Retry") Then
' Nein! Jetzt erstellen...
Try
Directory.CreateDirectory(Path.GetDirectoryName(Folder) + "\Retry")
Catch ex As Exception
Debug.WriteLine("folder issue")
Return "Error"
Exit Function
End Try
End If
Dim utf8WithoutBom2 As New System.Text.UTF8Encoding(False)
Using sink As New StreamWriter(Folder + "Retry\retry.m3u8", False, utf8WithoutBom2)
sink.WriteLine(InputData)
End Using
Me.Invoke(New Action(Function()
Using sink As New StreamWriter(Folder + "Retry\retry.txt", False, utf8WithoutBom2)
sink.WriteLine(DL_URL)
sink.WriteLine(Label_website.Text)
sink.WriteLine(Label_Anime.Text)
sink.WriteLine(Label_Reso.Text)
sink.WriteLine(Label_Hardsub.Text)
sink.WriteLine(DateiPfad)
End Using
PB_Thumbnail.BackgroundImage.Save(Folder + "Retry\retry.jpg")
Return Nothing
End Function))
Dim LoadedKeys As New List(Of String)
LoadedKeys.Add("Nothing")
Dim KeyFileCache As String = Nothing
@ -771,7 +813,9 @@ Public Class CRD_List_Item
Thread.Sleep(250)
Else
Try
System.IO.Directory.Delete(HybridModePath, True)
If KeepCacheFiles = False Then
System.IO.Directory.Delete(HybridModePath, True)
End If
Catch ex As Exception
End Try
Me.Invoke(New Action(Function()
@ -787,15 +831,16 @@ Public Class CRD_List_Item
Exit Function
End If
If InStr(textLenght(i), ".ts") Then
Dim File As String = Folder + String.Format("{0:00000}", Count)
Dim curi As String = GetFullUri(url, textLenght(i))
Dim Evaluator = New Thread(Sub() Me.TS_DownloadAsync(curi, File))
Evaluator.Start()
ThreadList.Add(Evaluator)
m3u8FileContent = m3u8FileContent + File + vbLf
If Not System.IO.File.Exists(Folder + "Retry\" + String.Format("{0:00000}", Count)) Then
Dim Evaluator = New Thread(Sub() Me.TS_DownloadAsync(curi, File))
Evaluator.Start()
ThreadList.Add(Evaluator)
End If
m3u8FileContent = m3u8FileContent + File + vbLf
Dim FragmentsFinised = Count * 100 / FragmentsInt
Dim Update = New Thread(Sub() Me.TS_StatusAsync(FragmentsFinised, di, PauseTime))
Update.Start()
@ -825,8 +870,17 @@ Public Class CRD_List_Item
Else
KeyLine = KeyFileUri(0) + "URI=" + Chr(34) + KeyFileCache + Chr(34)
End If
If KeepCacheFiles = True Then
'Dim Bytes() As Byte = File.ReadAllBytes(Application.StartupPath + "\" + KeyFile)
'File.WriteAllBytes(Folder + "\" + KeyFile, Bytes)
Dim Evaluator2 = New Thread(Sub() Me.TS_DownloadAsync(KeyFileUri3, Folder + "\" + KeyFile))
Evaluator2.Start()
End If
End If
m3u8FileContent = m3u8FileContent + KeyLine + vbLf
Else
m3u8FileContent = m3u8FileContent + textLenght(i) + vbLf
End If
@ -840,6 +894,19 @@ Public Class CRD_List_Item
sink.WriteLine(m3u8FileContent)
End Using
'If File.Exists(Folder + "retry.m3u8") Then
' My.Computer.FileSystem.DeleteFile(Folder + "retry.m3u8")
'End If
If KeepCacheFiles = True Then
Using sink As New StreamWriter(Folder + "\index-VLC.m3u8", False, utf8WithoutBom)
m3u8FileContent = m3u8FileContent.Replace(Folder, "file:///" + Folder.Replace("\", "/"))
m3u8FileContent = m3u8FileContent.Replace("URI=" + Chr(34), "URI=" + Chr(34) + "file:///" + Folder.Replace("\", "/"))
sink.WriteLine(m3u8FileContent)
End Using
End If
Return Folder + "\index.m3u8"
End Function
@ -851,12 +918,29 @@ Public Class CRD_List_Item
WC_TS = New WebClient
WC_TS.DownloadFile(New Uri(DL_URL), DL_Pfad)
If Not CBool(InStr(DL_Pfad, Application.StartupPath)) Then
Dim utf8WithoutBom2 As New System.Text.UTF8Encoding(False)
Using sink As New StreamWriter(Path.GetDirectoryName(DL_Pfad) + "\Retry\" + Path.GetFileName(DL_Pfad), False, utf8WithoutBom2)
sink.WriteLine(DL_Pfad)
End Using
End If
Catch ex As Exception
Debug.WriteLine("Download error #1: " + DL_Pfad)
Try
Dim wc_ts As New WebClient
wc_ts.DownloadFile(New Uri(DL_URL), DL_Pfad)
If Not CBool(InStr(DL_Pfad, Application.StartupPath)) Then
Dim utf8WithoutBom2 As New System.Text.UTF8Encoding(False)
Using sink As New StreamWriter(Path.GetDirectoryName(DL_Pfad) + "\Retry\" + Path.GetFileName(DL_Pfad), False, utf8WithoutBom2)
sink.WriteLine(DL_Pfad)
End Using
End If
Catch ex2 As Exception
FailedCount = FailedCount + 1
If Item_ErrorTolerance = 0 Then
@ -874,10 +958,11 @@ Public Class CRD_List_Item
End If
Debug.WriteLine("Download error #2: " + DL_Pfad + vbNewLine + ex2.ToString + vbNewLine + DL_URL)
Debug.WriteLine("Download error #2: " + DL_URL + vbNewLine + DL_Pfad + vbNewLine + ex2.ToString + vbNewLine + DL_URL)
End Try
End Try
End Sub
@ -889,6 +974,11 @@ Public Class CRD_List_Item
Dim DL_URL_old As String = DL_URL
Dim PauseTime As Integer = 0
Dim Pfad2 As String = Path.GetDirectoryName(DL_Pfad.Replace(Chr(34), "")) + "\" + Folder + "\"
If InStr(DL_Pfad, "CRD-Temp-File-") Then
Pfad2 = DL_Pfad.Replace(Chr(34), "") + "\"
Dim DL_PfadSplit() As String = DL_Pfad.Split(New String() {"CRD-Temp-File-"}, System.StringSplitOptions.RemoveEmptyEntries)
DL_Pfad = Chr(34) + DL_PfadSplit(0) + Filename + Chr(34)
End If
Dim di As New IO.DirectoryInfo(Pfad2)
Dim m3u8_url As String() = DL_URL.Split(New [Char]() {Chr(34)})
Dim m3u8FFmpeg As String = Nothing
@ -937,7 +1027,11 @@ Public Class CRD_List_Item
If InStr(InputData, "#EXT-X-VERSION:3") Or InStr(InputData, "#EXT-X-VERSION:5") Then
ProcessV3(InputURL(0), InputData, Pfad2)
If KeepCacheFiles = True Then
Pfad2 = Path.GetDirectoryName(DL_Pfad.Replace(Chr(34), "")) + "\" + NameP2.Replace(" ", "-") + "\"
End If
ProcessV3(InputURL(0), InputData, Pfad2, DL_Pfad, DL_URL)
DL_URL = DL_URL.Replace("-i " + Chr(34) + InputURL(0), "-allowed_extensions ALL " + "-i " + Chr(34) + Pfad2 + "index.m3u8")
@ -1197,7 +1291,9 @@ Public Class CRD_List_Item
If HybridMode = True Then
Thread.Sleep(5000)
Try
System.IO.Directory.Delete(HybridModePath, True)
If KeepCacheFiles = False Then
System.IO.Directory.Delete(HybridModePath, True)
End If
Catch ex As Exception
End Try
End If

View File

@ -26,7 +26,6 @@ Partial Class GeckoFX
Me.TextBox1 = New System.Windows.Forms.TextBox()
Me.Button1 = New System.Windows.Forms.Button()
Me.Button2 = New System.Windows.Forms.Button()
Me.Button3 = New System.Windows.Forms.Button()
Me.SuspendLayout()
'
'WebBrowser1
@ -37,20 +36,20 @@ Partial Class GeckoFX
Me.WebBrowser1.Name = "WebBrowser1"
Me.WebBrowser1.Size = New System.Drawing.Size(1280, 720)
Me.WebBrowser1.TabIndex = 0
Me.WebBrowser1.UseHttpActivityObserver = True
Me.WebBrowser1.UseHttpActivityObserver = False
'
'TextBox1
'
Me.TextBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
Me.TextBox1.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.TextBox1.Location = New System.Drawing.Point(418, 1)
Me.TextBox1.Location = New System.Drawing.Point(298, 1)
Me.TextBox1.Name = "TextBox1"
Me.TextBox1.Size = New System.Drawing.Size(859, 26)
Me.TextBox1.Size = New System.Drawing.Size(979, 26)
Me.TextBox1.TabIndex = 1
'
'Button1
'
Me.Button1.Location = New System.Drawing.Point(316, 1)
Me.Button1.Location = New System.Drawing.Point(196, 1)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(96, 26)
Me.Button1.TabIndex = 2
@ -60,28 +59,18 @@ Partial Class GeckoFX
'Button2
'
Me.Button2.Enabled = False
Me.Button2.Location = New System.Drawing.Point(132, 1)
Me.Button2.Location = New System.Drawing.Point(12, 1)
Me.Button2.Name = "Button2"
Me.Button2.Size = New System.Drawing.Size(178, 26)
Me.Button2.TabIndex = 3
Me.Button2.Text = "Start network scan"
Me.Button2.UseVisualStyleBackColor = True
'
'Button3
'
Me.Button3.Location = New System.Drawing.Point(2, 2)
Me.Button3.Name = "Button3"
Me.Button3.Size = New System.Drawing.Size(126, 26)
Me.Button3.TabIndex = 4
Me.Button3.Text = "Funimation"
Me.Button3.UseVisualStyleBackColor = True
'
'GeckoFX
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(1279, 750)
Me.Controls.Add(Me.Button3)
Me.Controls.Add(Me.Button2)
Me.Controls.Add(Me.Button1)
Me.Controls.Add(Me.TextBox1)
@ -101,5 +90,4 @@ Partial Class GeckoFX
Friend WithEvents TextBox1 As TextBox
Friend WithEvents Button1 As Button
Friend WithEvents Button2 As Button
Friend WithEvents Button3 As Button
End Class

View File

@ -187,10 +187,27 @@ Public Class GeckoFX
t.Start()
Else
Main.WebbrowserCookie = WebBrowser1.Document.Cookie
Main.Text = "Status: no video found"
Anime_Add.StatusLabel.Text = "Status: no video found"
End If
End If
ElseIf CBool(InStr(WebBrowser1.Url.ToString, "title-api.prd.funimationsvc.com")) Then
If Main.FunimationJsonBrowser = "SeasonJson" Then
'My.Computer.Clipboard.SetText(WebBrowser1.Document.Body.OuterHtml)
Main.GetFunimationJS_Seasons(Nothing, WebBrowser1.Document.Body.OuterHtml.Replace("<body>", "").Replace("</body>", "").Replace("<pre>", "").Replace("</pre>", ""))
Main.FunimationJsonBrowser = Nothing
ElseIf Main.FunimationJsonBrowser = "EpisodeJson" Then
Anime_Add.FillFunimationEpisodes(WebBrowser1.Document.Body.OuterHtml.Replace("<body>", "").Replace("</body>", "").Replace("<pre>", "").Replace("</pre>", ""))
Main.FunimationJsonBrowser = Nothing
ElseIf Main.FunimationJsonBrowser = "v1Json" Then
Main.GetFunimationJS_VideoProxy(Nothing, WebBrowser1.Document.Body.OuterHtml.Replace("<body>", "").Replace("</body>", "").Replace("<pre>", "").Replace("</pre>", ""))
Main.FunimationJsonBrowser = Nothing
End If
ElseIf CBool(InStr(WebBrowser1.Url.ToString, "anime-on-demand.de")) Then
If Main.b = False Then
Main.b = True
@ -323,7 +340,8 @@ Public Class GeckoFX
Catch ex As Exception
End Try
'MsgBox(WebBrowser1.Document.Cookie)
'My.Computer.Clipboard.SetText(WebBrowser1.Document.Body.InnerHtml)
End Sub
Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown
@ -421,22 +439,6 @@ Public Class GeckoFX
'Debug_Mode.TopMost = False
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
If InStr(WebBrowser1.Url.ToString, "funimation.com") Then
Dim Funimation_List As New List(Of String)
Dim Funimation_list1() As String = WebBrowser1.Document.Body.OuterHtml.Split(New String() {My.Resources.Funimation_Split_1}, System.StringSplitOptions.RemoveEmptyEntries)
For i As Integer = 1 To Funimation_list1.Count - 1
Dim Funimation_list2() As String = Funimation_list1(i).Split(New String() {My.Resources.Funimation_Split_2}, System.StringSplitOptions.RemoveEmptyEntries)
Funimation_List.Add("https://www.funimation.com" + Funimation_list2(0))
Main.ListBoxList.Add("https://www.funimation.com" + Funimation_list2(0))
Next
MsgBox(Funimation_List.Count.ToString + " episodes added to Download queue")
'For ii As Integer = 0 To Funimation_List.Count - 1
' MsgBox(Funimation_List.Item(ii))
'Next
End If
End Sub
Private Sub ObserveHttpModifyRequest(sender As Object, e As GeckoObserveHttpModifyRequestEventArgs) Handles WebBrowser1.ObserveHttpModifyRequest
@ -453,7 +455,7 @@ Public Class GeckoFX
e.Cancel = True
'Debug.WriteLine(requesturl)
Exit Sub
ElseIf requesturl.Contains("ad_") Or requesturl.Contains("ads") Or requesturl.Contains(".swf") Or requesturl.Contains("unsupported") Then
ElseIf requesturl.Contains("ad_") Or requesturl.Contains("ads") Or requesturl.Contains(".swf") Or requesturl.Contains("unsupported") And Not requesturl = WebBrowser1.Url.ToString Then
e.Cancel = True
'Debug.WriteLine(requesturl)
Exit Sub
@ -480,6 +482,11 @@ Public Class GeckoFX
End If
If CBool(InStr(requesturl, "https://title-api.prd.funimationsvc.com")) And CBool(InStr(requesturl, "?region=")) Then
Try
Main.WebbrowserCookie = WebBrowser1.Document.Cookie
Catch ex As Exception
End Try
Dim parms As String() = requesturl.Split(New String() {"?region="}, System.StringSplitOptions.RemoveEmptyEntries)
Main.FunimationAPIRegion = "?region=" + parms(1)
If Main.b = False Then
@ -589,7 +596,7 @@ Public Class GeckoFX
End Sub
Private Sub WebBrowser1_ConsoleMessage(sender As Object, e As ConsoleMessageEventArgs) Handles WebBrowser1.ConsoleMessage
' Debug.WriteLine(e.Message)
Debug.WriteLine(e.Message)
' MsgBox(e.Message)
End Sub
End Class

View File

@ -41,6 +41,7 @@ Partial Class Main
Me.MetroStyleManager1 = New MetroFramework.Components.MetroStyleManager(Me.components)
Me.Btn_min = New System.Windows.Forms.PictureBox()
Me.BackgroundWorker1 = New System.ComponentModel.BackgroundWorker()
Me.Timer4 = New System.Windows.Forms.Timer(Me.components)
CType(Me.Btn_add, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.Btn_Close, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.Btn_Settings, System.ComponentModel.ISupportInitialize).BeginInit()
@ -157,6 +158,11 @@ Partial Class Main
'BackgroundWorker1
'
'
'Timer4
'
Me.Timer4.Enabled = True
Me.Timer4.Interval = 2500
'
'Main
'
Me.ApplyImageInvert = True
@ -207,4 +213,5 @@ Partial Class Main
Friend WithEvents MetroStyleManager1 As MetroFramework.Components.MetroStyleManager
Private WithEvents Btn_min As PictureBox
Friend WithEvents BackgroundWorker1 As System.ComponentModel.BackgroundWorker
Friend WithEvents Timer4 As Timer
End Class

View File

@ -231,6 +231,12 @@
<data name="&gt;&gt;Btn_Browser.ZOrder" xml:space="preserve">
<value>8</value>
</data>
<data name="Link.Text" xml:space="preserve">
<value>Link</value>
</data>
<data name="Link.Width" type="System.Int32, mscorlib">
<value>818</value>
</data>
<data name="ListView1.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft Sans Serif, 93pt</value>
</data>
@ -261,12 +267,6 @@
<data name="&gt;&gt;ListView1.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="Link.Text" xml:space="preserve">
<value>Link</value>
</data>
<data name="Link.Width" type="System.Int32, mscorlib">
<value>818</value>
</data>
<data name="PictureBox5.BackgroundImageLayout" type="System.Windows.Forms.ImageLayout, System.Windows.Forms">
<value>Stretch</value>
</data>
@ -378,6 +378,31 @@
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>842, 630</value>
</data>
<data name="Btn_min.BackgroundImageLayout" type="System.Windows.Forms.ImageLayout, System.Windows.Forms">
<value>None</value>
</data>
<data name="Btn_min.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABoAAAAhCAYAAADH97ugAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB+QMDQ03N1b5UIAAAAApSURBVEhL7cyxCQAwDASx339pZ4EUcTC4keDa
CwDMqs/abpOXAGBZcgDKSBvlblfsRgAAAABJRU5ErkJggg==
</value>
</data>
<data name="Btn_min.Location" type="System.Drawing.Point, System.Drawing">
<value>764, 8</value>
</data>
<data name="Btn_min.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="Btn_min.Size" type="System.Drawing.Size, System.Drawing">
<value>25, 25</value>
</data>
<data name="Btn_min.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
<value>Zoom</value>
</data>
<data name="Btn_min.TabIndex" type="System.Int32, mscorlib">
<value>71</value>
</data>
<data name="&gt;&gt;Btn_min.Name" xml:space="preserve">
<value>Btn_min</value>
</data>
@ -450,50 +475,22 @@
<data name="&gt;&gt;BackgroundWorker1.Type" xml:space="preserve">
<value>System.ComponentModel.BackgroundWorker, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;Timer4.Name" xml:space="preserve">
<value>Timer4</value>
</data>
<data name="&gt;&gt;Timer4.Type" xml:space="preserve">
<value>System.Windows.Forms.Timer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>Main</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>MetroFramework.Forms.MetroForm, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a</value>
</data>
<data name="Btn_min.BackgroundImageLayout" type="System.Windows.Forms.ImageLayout, System.Windows.Forms">
<value>None</value>
</data>
<data name="Btn_min.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABoAAAAhCAYAAADH97ugAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB+QMDQ03N1b5UIAAAAApSURBVEhL7cyxCQAwDASx339pZ4EUcTC4keDa
CwDMqs/abpOXAGBZcgDKSBvlblfsRgAAAABJRU5ErkJggg==
</value>
</data>
<data name="Btn_min.Location" type="System.Drawing.Point, System.Drawing">
<value>764, 8</value>
</data>
<data name="Btn_min.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="Btn_min.Size" type="System.Drawing.Size, System.Drawing">
<value>25, 25</value>
</data>
<data name="Btn_min.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
<value>Zoom</value>
</data>
<data name="Btn_min.TabIndex" type="System.Int32, mscorlib">
<value>71</value>
</data>
<data name="&gt;&gt;Btn_min.Name" xml:space="preserve">
<value>Btn_min</value>
</data>
<data name="&gt;&gt;Btn_min.Type" xml:space="preserve">
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;Btn_min.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;Btn_min.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<metadata name="BackgroundWorker1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>714, 17</value>
</metadata>
<metadata name="Timer4.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>877, 17</value>
</metadata>
</root>

View File

@ -12,6 +12,7 @@ Imports MetroFramework.Components
Imports System.Globalization
Imports System.ComponentModel
Imports Newtonsoft.Json.Linq
Imports System.Runtime.InteropServices
Public Class Main
Inherits MetroForm
@ -29,7 +30,7 @@ Public Class Main
Public FunimationShowPath As String = Nothing
Public FunimationEpisodeJSON As String = Nothing
Public FunimtaionAPISeasonID As New List(Of String)
Public FunimationJsonBrowser As String = Nothing
Public Manager As New MetroStyleManager
@ -57,6 +58,7 @@ Public Class Main
Public LogBrowserData As Boolean = False
Public Thumbnail As String = Nothing
Public MergeSubs As Boolean = False
Public KeepCache As Boolean = False
Public SubsOnly As Boolean = False
Public VideoFormat As String = ".mp4"
Public MergeSubsFormat As String = "mov_text"
@ -317,6 +319,19 @@ Public Class Main
Public Declare Function waveOutSetVolume Lib "winmm.dll" (ByVal uDeviceID As Integer, ByVal dwVolume As Integer) As Integer
<FlagsAttribute()>
Public Enum EXECUTION_STATE As UInteger
ES_SYSTEM_REQUIRED = &H1
ES_DISPLAY_REQUIRED = &H2
ES_CONTINUOUS = &H80000000UI
End Enum
<DllImport("Kernel32.DLL", CharSet:=CharSet.Auto, SetLastError:=True)>
Public Shared Function SetThreadExecutionState(ByVal state As EXECUTION_STATE) As EXECUTION_STATE
End Function
Public Sub SetSettingsTheme()
Einstellungen.Theme = Manager.Theme
@ -443,6 +458,13 @@ Public Class Main
Catch ex As Exception
End Try
Try
Dim rkg As RegistryKey = Registry.CurrentUser.OpenSubKey("Software\CRDownloader")
KeepCache = CBool(Integer.Parse(rkg.GetValue("Keep_Cache").ToString))
Catch ex As Exception
End Try
Try
Dim rkg As RegistryKey = Registry.CurrentUser.OpenSubKey("Software\CRDownloader")
@ -612,7 +634,7 @@ Public Class Main
BlockList = New List(Of String)
BackgroundWorker1.RunWorkerAsync()
RetryWithCachedFiles()
End Sub
Private Sub BackgroundWorker1_DoWork(sender As Object, e As DoWorkEventArgs) Handles BackgroundWorker1.DoWork
@ -648,11 +670,11 @@ Public Class Main
End Try
With ListView1.Items.Add(0)
ItemConstructor(NameP1, NameP2, Reso, HardSub, SoftSubs, Thumbnail, URL_DL, Pfad_DL, Service)
ItemConstructor(NameKomplett, NameP1, NameP2, Reso, HardSub, SoftSubs, Thumbnail, URL_DL, Pfad_DL, Service)
End With
End Sub
Public Sub ItemConstructor(ByVal NameP1 As String, ByVal NameP2 As String, ByVal DisplayReso As String, ByVal HardSub As String, ByVal SoftSubs As String, ByVal Thumbnail As Image, ByVal URL_DL As String, ByVal Pfad_DL As String, ByVal Service As String)
Public Sub ItemConstructor(ByVal NameKomplett As String, ByVal NameP1 As String, ByVal NameP2 As String, ByVal DisplayReso As String, ByVal HardSub As String, ByVal SoftSubs As String, ByVal Thumbnail As Image, ByVal URL_DL As String, ByVal Pfad_DL As String, ByVal Service As String)
Dim Item As New CRD_List_Item
Item.Visible = False
@ -662,6 +684,7 @@ Public Class Main
#Region "Set Variables"
'Item.SetUsedMap(UsedMap)
'Item.Setffmpeg_command(ffmpeg_command)
Item.SetCache(KeepCache)
Item.SetMergeSubstoMP4(MergeSubs)
Item.SetDebug2(Debug2)
@ -693,7 +716,7 @@ Public Class Main
If InStr(URL_DL, ".mpd") Then
TempHybridMode = False
End If
Item.StartDownload(URL_DL, Pfad_DL, Pfad_DL, TempHybridMode)
Item.StartDownload(URL_DL, Pfad_DL, NameKomplett, TempHybridMode)
End Sub
#Region "Manga DL"
Public Sub MangaListItemAdd(ByVal NameP2 As String, ByVal ThumbnialURL As String, ByVal BaseURL As String, ByVal SiteList As List(Of String))
@ -1346,7 +1369,7 @@ Public Class Main
Catch ex As Exception
' Ordner wurde nich erstellt
Pfad2 = Pfad + "\" + CR_FilenName + VideoFormat
Pfad2 = Chr(34) + Pfad + CR_FilenName + VideoFormat + Chr(34)
End Try
Else
Pfad2 = Chr(34) + Pfad2 + CR_FilenName + VideoFormat + Chr(34)
@ -1824,9 +1847,11 @@ Public Class Main
SeasonJson = client.DownloadString(JsonUrl)
End Using
Catch ex As Exception
Debug.WriteLine("error- getting SeasonJson data")
End Try
Dim ParameterSplit() As String = JsonUrl.Split(New String() {"&locale="}, System.StringSplitOptions.RemoveEmptyEntries)
CrBetaMassParameters = ParameterSplit(1)
@ -1900,59 +1925,105 @@ Public Class Main
Exit Sub
End Try
Dim ser As JObject = JObject.Parse(ObjectJson)
Dim data As List(Of JToken) = ser.Children().ToList
If TextBox2_Text = Nothing Or TextBox2_Text = "Name of the Anime" Then
'My.Computer.Clipboard.SetText(ObjectJson)
If CBool(InStr(ObjectJson, Chr(34) + "title")) Then ' false on movie true on series
Dim CR_Name_1 As String() = ObjectJson.Split(New String() {Chr(34) + "title" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
Dim CR_Name_2 As String() = CR_Name_1(1).Split(New String() {Chr(34) + ","}, System.StringSplitOptions.RemoveEmptyEntries) '(New [Char]() {"-"})
CR_title = String.Join(" ", CR_Name_2(0).Split(invalids, StringSplitOptions.RemoveEmptyEntries)).TrimEnd("."c)
'If CBool(InStr(ObjectJson, Chr(34) + "title")) Then ' false on movie true on series
' Dim CR_Name_1 As String() = ObjectJson.Split(New String() {Chr(34) + "title" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
' Dim CR_Name_2 As String() = CR_Name_1(1).Split(New String() {Chr(34) + ","}, System.StringSplitOptions.RemoveEmptyEntries) '(New [Char]() {"-"})
' CR_title = String.Join(" ", CR_Name_2(0).Split(invalids, StringSplitOptions.RemoveEmptyEntries)).TrimEnd("."c)
End If
If CBool(InStr(ObjectJson, "series_title")) Then ' false on movie true on series
Dim CR_Name_1 As String() = ObjectJson.Split(New String() {"series_title" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
Dim CR_Name_2 As String() = CR_Name_1(1).Split(New String() {Chr(34) + ","}, System.StringSplitOptions.RemoveEmptyEntries) '(New [Char]() {"-"})
CR_series_title = String.Join(" ", CR_Name_2(0).Split(invalids, StringSplitOptions.RemoveEmptyEntries)).TrimEnd("."c)
'End If
'If CBool(InStr(ObjectJson, "series_title")) Then ' false on movie true on series
' Dim CR_Name_1 As String() = ObjectJson.Split(New String() {"series_title" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
' Dim CR_Name_2 As String() = CR_Name_1(1).Split(New String() {Chr(34) + ","}, System.StringSplitOptions.RemoveEmptyEntries) '(New [Char]() {"-"})
' CR_series_title = String.Join(" ", CR_Name_2(0).Split(invalids, StringSplitOptions.RemoveEmptyEntries)).TrimEnd("."c)
End If
If CBool(InStr(ObjectJson, "season_title")) Then ' false on movie true on series
Dim CR_Name_1 As String() = ObjectJson.Split(New String() {"season_title" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
Dim CR_Name_2 As String() = CR_Name_1(1).Split(New String() {Chr(34) + ","}, System.StringSplitOptions.RemoveEmptyEntries) '(New [Char]() {"-"})
CR_season_title = String.Join(" ", CR_Name_2(0).Split(invalids, StringSplitOptions.RemoveEmptyEntries)).TrimEnd("."c)
'End If
'If CBool(InStr(ObjectJson, "season_title")) Then ' false on movie true on series
' Dim CR_Name_1 As String() = ObjectJson.Split(New String() {"season_title" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
' Dim CR_Name_2 As String() = CR_Name_1(1).Split(New String() {Chr(34) + ","}, System.StringSplitOptions.RemoveEmptyEntries) '(New [Char]() {"-"})
' CR_season_title = String.Join(" ", CR_Name_2(0).Split(invalids, StringSplitOptions.RemoveEmptyEntries)).TrimEnd("."c)
End If
If CBool(InStr(ObjectJson, "season_number")) Then ' false on movie true on series
Dim CR_Name_1 As String() = ObjectJson.Split(New String() {"season_number" + Chr(34) + ":"}, System.StringSplitOptions.RemoveEmptyEntries)
Dim CR_Name_2 As String() = CR_Name_1(1).Split(New String() {","}, System.StringSplitOptions.RemoveEmptyEntries) '(New [Char]() {"-"})
CR_season_number = String.Join(" ", CR_Name_2(0).Split(invalids, StringSplitOptions.RemoveEmptyEntries)).TrimEnd("."c)
'End If
'If CBool(InStr(ObjectJson, "season_number")) Then ' false on movie true on series
' Dim CR_Name_1 As String() = ObjectJson.Split(New String() {"season_number" + Chr(34) + ":"}, System.StringSplitOptions.RemoveEmptyEntries)
' Dim CR_Name_2 As String() = CR_Name_1(1).Split(New String() {","}, System.StringSplitOptions.RemoveEmptyEntries) '(New [Char]() {"-"})
' CR_season_number = String.Join(" ", CR_Name_2(0).Split(invalids, StringSplitOptions.RemoveEmptyEntries)).TrimEnd("."c)
End If
'End If
If CBool(InStr(ObjectJson, "episode")) Then ' false on movie true on series
Dim CR_Name_1 As String() = ObjectJson.Split(New String() {"episode" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
Dim CR_Name_2 As String() = CR_Name_1(1).Split(New String() {Chr(34) + ","}, System.StringSplitOptions.RemoveEmptyEntries) '(New [Char]() {"-"})
CR_episode = String.Join(" ", CR_Name_2(0).Split(invalids, StringSplitOptions.RemoveEmptyEntries)).TrimEnd("."c)
'If CBool(InStr(ObjectJson, "episode")) Then ' false on movie true on series
' Dim CR_Name_1 As String() = ObjectJson.Split(New String() {"episode" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
' Dim CR_Name_2 As String() = CR_Name_1(1).Split(New String() {Chr(34) + ","}, System.StringSplitOptions.RemoveEmptyEntries) '(New [Char]() {"-"})
' CR_episode = String.Join(" ", CR_Name_2(0).Split(invalids, StringSplitOptions.RemoveEmptyEntries)).TrimEnd("."c)
'End If
For Each item As JProperty In data
item.CreateReader()
Select Case item.Name
Case "items" 'each record is inside the entries array
For Each Entry As JObject In item.Values
Try
Dim Title As String = Entry("title")
CR_title = String.Join(" ", Title.Split(invalids, StringSplitOptions.RemoveEmptyEntries)).TrimEnd("."c)
Catch ex As Exception
End Try
Dim SubData As List(Of JToken) = Entry.Children().ToList
For Each SubItem As JProperty In SubData
'SubItem.CreateReader()
Select Case SubItem.Name
Case "episode_metadata"
For Each SubEntry As JProperty In SubItem.Values
Select Case SubEntry.Name
Case "series_title"
CR_series_title = SubEntry.Value.ToString
Case "season_title"
CR_season_title = SubEntry.Value.ToString
Case "season_number"
CR_season_number = SubEntry.Value.ToString
Case "episode"
CR_episode = SubEntry.Value.ToString
End Select
Next
End Select
Next
Next
End Select
Next
End If
'My.Computer.Clipboard.SetText(ObjectJson)
'MsgBox(CR_season_title)
'
If Season_Prefix = "[default season prefix]" Then
If CR_season_title = CR_series_title Then
CR_season_number = CR_season_title + "Season " + CR_season_number
If CR_episode = Nothing Then 'no episode number means most likey a movie
CR_season_number = Nothing
Else
CR_season_number = CR_series_title + " Season " + CR_season_number
End If
Else
CR_season_number = CR_season_title
End If
CR_season_number = CR_season_title
Else
CR_season_number = Season_Prefix + CR_season_number
End If
If Episode_Prefix = "[default episode prefix]" Then
If CR_episode = Nothing Then
ElseIf Episode_Prefix = "[default episode prefix]" Then
CR_episode = "Episode " + CR_episode
Else
CR_episode = Episode_Prefix + CR_episode
@ -2009,7 +2080,7 @@ Public Class Main
Catch ex As Exception
' Ordner wurde nich erstellt
Pfad2 = Pfad + "\" + CR_FilenName + VideoFormat
Pfad2 = Chr(34) + Pfad + CR_FilenName + VideoFormat + Chr(34)
End Try
Else
Pfad2 = Chr(34) + Pfad2 + CR_FilenName + VideoFormat + Chr(34)
@ -2322,7 +2393,7 @@ Public Class Main
URL_DL = "-i [Subtitles only]"
End If
Me.Invoke(New Action(Function()
ListItemAdd(Pfad_DL, L1Name, L2Name, ResoHTMLDisplay, Subsprache3, SubValuesToDisplay(), thumbnail3, URL_DL, Pfad_DL)
ListItemAdd(Path.GetFileName(Pfad_DL.Replace(Chr(34), "")), L1Name, L2Name, ResoHTMLDisplay, Subsprache3, SubValuesToDisplay(), thumbnail3, URL_DL, Pfad_DL)
Return Nothing
End Function))
liList.Add(My.Resources.htmlvorThumbnail + thumbnail3 + My.Resources.htmlnachTumbnail + CR_title + " <br> " + CR_season_title + " " + CR_episode + My.Resources.htmlvorAufloesung + ResoHTMLDisplay + My.Resources.htmlvorSoftSubs + vbNewLine + SubValuesToDisplay() + My.Resources.htmlvorHardSubs + Subsprache3 + My.Resources.htmlnachHardSubs + "<!-- " + L2Name + "-->")
@ -2408,14 +2479,18 @@ Public Class Main
For i As Integer = 0 To ListView1.Items.Count - 1
ItemList(i).KillRunningTask()
Next
RemoveTempFiles()
Me.Close()
End If
Else
Timer3.Enabled = False
RemoveTempFiles()
Me.Close()
End If
@ -2431,20 +2506,86 @@ Public Class Main
Next
Catch ex As Exception
End Try
If KeepCache = False Then
Try
Dim di As New System.IO.DirectoryInfo(Pfad)
For Each fi As System.IO.DirectoryInfo In di.EnumerateDirectories("*.*", System.IO.SearchOption.TopDirectoryOnly)
If fi.Attributes.HasFlag(System.IO.FileAttributes.Hidden) Then
Else
If InStr(fi.Name, "CRD-Temp-File-") Then
System.IO.Directory.Delete(fi.FullName, True)
End If
End If
Next
Catch ex As Exception
End Try
End If
End Sub
Private Sub RetryWithCachedFiles()
Try
Dim di As New System.IO.DirectoryInfo(Pfad)
For Each fi As System.IO.DirectoryInfo In di.EnumerateDirectories("*.*", System.IO.SearchOption.TopDirectoryOnly)
If fi.Attributes.HasFlag(System.IO.FileAttributes.Hidden) Then
Else
Dim di As New System.IO.DirectoryInfo(Pfad)
For Each fi As System.IO.DirectoryInfo In di.EnumerateDirectories("*.*", System.IO.SearchOption.TopDirectoryOnly)
If fi.Attributes.HasFlag(System.IO.FileAttributes.Hidden) Then
Else
If InStr(fi.Name, "CRD-Temp-File-") Then
System.IO.Directory.Delete(fi.FullName, True)
If File.Exists(fi.FullName + "\Retry\retry.txt") Then
If MessageBox.Show("Cached data found, you can try to retry the download by pressing 'Yes'", "Retry?", MessageBoxButtons.YesNo) = DialogResult.Yes Then
Dim L1Name As String = Nothing
Dim L2Name As String = Nothing
Dim ResoHTMLDisplay As String = Nothing
Dim Subsprache3 As String = Nothing
Dim thumbnail3 As String = "file:///" + fi.FullName + "/Retry/retry.jpg"
Dim Pfad2 As String = fi.FullName
Dim URL2 As String = Nothing
Dim Filename As String = Nothing
Dim reader As StreamReader = My.Computer.FileSystem.OpenTextFileReader(fi.FullName + "\Retry\retry.txt")
Dim a As String
For i As Integer = 0 To 5
a = reader.ReadLine
If i = 0 Then
URL2 = a
ElseIf i = 1 Then
L1Name = a
ElseIf i = 2 Then
L2Name = a
ElseIf i = 3 Then
ResoHTMLDisplay = a
ElseIf i = 4 Then
Subsprache3 = a
ElseIf i = 5 Then
Filename = Path.GetFileName(a.Replace(Chr(34), ""))
End If
Next
reader.Close()
Me.Invoke(New Action(Function()
ListItemAdd(Filename, L1Name, L2Name, ResoHTMLDisplay, Subsprache3, SubValuesToDisplay(), thumbnail3, URL2, Pfad2)
Return Nothing
End Function))
liList.Add(My.Resources.htmlvorThumbnail + thumbnail3 + My.Resources.htmlnachTumbnail + L1Name + " <br> " + L2Name + My.Resources.htmlvorAufloesung + ResoHTMLDisplay + My.Resources.htmlvorSoftSubs + vbNewLine + SubValuesToDisplay() + My.Resources.htmlvorHardSubs + Subsprache3 + My.Resources.htmlnachHardSubs + "<!-- " + L2Name + "-->")
Else
Grapp_non_cr_RDY = True
Exit Sub
End If
Else
System.IO.Directory.Delete(fi.FullName, True)
End If
End If
End If
Next
Catch ex As Exception
End Try
Next
Catch ex As Exception
End Try
End Sub
Private Sub PictureBox4_Click(sender As Object, e As EventArgs) Handles Btn_add.Click
If Anime_Add.WindowState = System.Windows.Forms.FormWindowState.Minimized Then
Anime_Add.WindowState = System.Windows.Forms.FormWindowState.Normal
@ -2704,7 +2845,11 @@ Public Class Main
End If
Next
RunningDownloads = ListView1.Items.Count - ItemFinshedCount
If RunningDownloads > 0 Then
SetThreadExecutionState(EXECUTION_STATE.ES_SYSTEM_REQUIRED Or EXECUTION_STATE.ES_CONTINUOUS)
Else
SetThreadExecutionState(EXECUTION_STATE.ES_CONTINUOUS)
End If
Catch ex As Exception
RunningDownloads = ListView1.Items.Count
End Try
@ -2811,7 +2956,7 @@ Public Class Main
Directory.CreateDirectory(Path.GetDirectoryName(DownloadPfad))
Catch ex As Exception
' Ordner wurde nich erstellt
DownloadPfad = Pfad + "\" + DefaultName + VideoFormat
DownloadPfad = Pfad '+ "\" + DefaultName + VideoFormat
End Try
End If
@ -3435,7 +3580,31 @@ Public Class Main
#Region "Funimation JS "
Public Sub GetFunimationJS_Seasons(ByVal JsonUrl As String)
Public Sub GetFunimationJS_Seasons(Optional ByVal JsonUrl As String = Nothing, Optional ByVal Json As String = Nothing)
FunimtaionAPISeasonID.Clear()
Dim SeasonJson As String = Nothing
If JsonUrl = Nothing Then
SeasonJson = Json
Else
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")
FunimationJsonBrowser = "SeasonJson"
GeckoFX.WebBrowser1.Navigate(JsonUrl)
Exit Sub
End Try
End If
Anime_Add.groupBox2.Visible = True
Anime_Add.PictureBox1.Enabled = True
@ -3448,37 +3617,27 @@ Public Class Main
Anime_Add.comboBox3.Text = Nothing
Anime_Add.comboBox4.Text = Nothing
Anime_Add.ComboBox1.Enabled = True
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
Anime_Add.comboBox3.Enabled = False
Anime_Add.comboBox4.Enabled = False
Dim ser As JObject = JObject.Parse(SeasonJson)
Dim data As List(Of JToken) = ser.Children().ToList
Dim SeasonSplit() As String = SeasonJson.Split(New String() {Chr(34) + "seasons" + Chr(34) + ":"}, System.StringSplitOptions.RemoveEmptyEntries)
Dim SeasonSplit2() As String = SeasonSplit(1).Split(New String() {Chr(34) + "name" + Chr(34) + ": " + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
For Each item As JProperty In data
item.CreateReader()
Select Case item.Name
Case "seasons" 'each record is inside the entries array
For Each Entry As JObject In item.Values
Dim name As String = Entry("name")
Anime_Add.ComboBox1.Items.Add(name)
'Debug.WriteLine(name)
Dim id As String = Entry("id")
FunimtaionAPISeasonID.Add(id)
For i As Integer = 1 To SeasonSplit2.Count - 1
Dim SeasonSplit3() As String = SeasonSplit2(i).Split(New String() {Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
Anime_Add.ComboBox1.Items.Add(SeasonSplit3(0))
Next
Next
Dim SeasonIDSplit() As String = SeasonSplit(1).Split(New String() {Chr(34) + "id" + Chr(34) + ": "}, System.StringSplitOptions.RemoveEmptyEntries)
For i As Integer = 1 To SeasonSplit2.Count - 1
Dim SeasonIDSplit2() As String = SeasonIDSplit(i).Split(New String() {","}, System.StringSplitOptions.RemoveEmptyEntries)
'Anime_Add.ComboBox1.Items.Add(SeasonIDSplit2(0))
FunimtaionAPISeasonID.Add(SeasonIDSplit2(0))
End Select
Next
WebbrowserURL = "funimation.com/js"
@ -3488,6 +3647,8 @@ Public Class Main
Public Async Sub DownloadFunimationJS_Seasons()
Try
Anime_Add.Add_Display.Text = "preparing ...."
Dim ListOfEpisodes As New List(Of String)
Dim BaseURL As String = "https://www.funimation.com/shows/"
If FunimationRegion IsNot Nothing Then
@ -3604,21 +3765,44 @@ Public Class Main
Return "Japanese"
End If
End Function
Public Sub GetFunimationJS_VideoProxy(ByVal v1JsonURL As String)
Dim Evaluator = New Thread(Sub() Me.GetFunimationJS_Video(v1JsonURL))
Public Sub GetFunimationJS_VideoProxy(Optional ByVal v1JsonURL As String = Nothing, Optional ByVal v1JsonData As String = Nothing)
Dim Evaluator = New Thread(Sub() Me.GetFunimationJS_Video(v1JsonURL, v1JsonData))
Evaluator.Start()
End Sub
Public Sub GetFunimationJS_Video(ByVal v1JsonURL As String) ', ByVal WebsiteURL As String
Public Sub GetFunimationJS_Video(ByVal v1JsonUrl As String, ByVal v1JsonData As String) ', ByVal WebsiteURL As String
Debug.WriteLine(v1JsonUrl)
Dim v1Json 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), ""))
v1Json = client.DownloadString(v1JsonURL)
End Using
Catch ex As Exception
If v1JsonUrl = Nothing Then
v1Json = v1JsonData
Else
Try
Using client As New WebClient()
client.Encoding = System.Text.Encoding.UTF8
client.Headers.Add(My.Resources.ffmpeg_user_agend.Replace(Chr(34), ""))
v1Json = client.DownloadString(v1JsonUrl)
End Using
Catch ex As Exception
Debug.WriteLine("error- getting v1Json data")
Debug.WriteLine(ex.ToString)
Me.Invoke(New Action(Function()
'Me.Text = "Status: error - getting v1Json data"
FunimationJsonBrowser = "v1Json"
GeckoFX.WebBrowser1.Navigate(v1JsonUrl)
'Anime_Add.StatusLabel.Text = "Status: error - getting v1Json data"
Me.Invalidate()
Return Nothing
End Function))
Exit Sub
End Try
End If
If v1Json = Nothing Then
Me.Invoke(New Action(Function()
Me.Text = "Status: error - getting v1Json data"
@ -3626,12 +3810,12 @@ Public Class Main
Me.Invalidate()
Return Nothing
End Function))
Debug.WriteLine("error- getting v1Json data")
Debug.WriteLine(ex.ToString)
Exit Sub
End Try
End If
Me.Invoke(New Action(Function()
'My.Computer.Clipboard.SetText(v1Json)
Return Nothing
End Function))
Try
Dim ffmpeg_command_temp As String = ffmpeg_command
If VideoFormat = ".aac" Then
@ -3659,49 +3843,100 @@ Public Class Main
Dim FunimationDub As String = Nothing
Dim FunimationAudioMap As String = Nothing
Dim FunimationSeason1() As String = v1Json.Split(New String() {Chr(34) + "number" + Chr(34) + ": "}, System.StringSplitOptions.RemoveEmptyEntries)
Dim FunimationSeason2() As String = FunimationSeason1(1).Split(New String() {","}, System.StringSplitOptions.RemoveEmptyEntries)
If Season_Prefix = "[default season prefix]" Then
FunimationSeason = "Season " + FunimationSeason2(0)
Else
FunimationSeason = Season_Prefix + FunimationSeason2(0)
End If
Dim FunimationEpisode1() As String = v1Json.Split(New String() {Chr(34) + "episodeNumber" + Chr(34) + ": " + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
Dim FunimationEpisode2() As String = FunimationEpisode1(1).Split(New String() {Chr(34) + ","}, System.StringSplitOptions.RemoveEmptyEntries)
If Episode_Prefix = "[default episode prefix]" Then
FunimationEpisode = "Episode " + FunimationEpisode2(0)
Else
FunimationEpisode = Episode_Prefix + FunimationEpisode2(0)
End If
Dim FunimationTitle1() As String = v1Json.Split(New String() {Chr(34) + "name" + Chr(34) + ": " + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
Dim FunimationTitle2() As String = FunimationTitle1(1).Split(New String() {Chr(34) + "},"}, System.StringSplitOptions.RemoveEmptyEntries)
FunimationTitle = String.Join(" ", FunimationTitle2(0).Split(invalids, StringSplitOptions.RemoveEmptyEntries)).TrimEnd("."c) 'System.Text.RegularExpressions.Regex.Replace(FunimationTitle2(0), "[^\w\\-]", " ").Trim(" ")
FunimationTitle = RemoveExtraSpaces(FunimationTitle)
Dim ser As JObject = JObject.Parse(v1Json)
Try
Dim AnimeName As String = ser("name")
If AnimeName = Nothing Then
Else
FunimationTitle = RemoveExtraSpaces(AnimeName)
End If
Try
FunimationEpisodeTitle = RemoveExtraSpaces(ser("name"))
Catch ex As Exception
End Try
Try
Dim FunimationEpisode3 As String = RemoveExtraSpaces(ser("episodeNumber"))
If Episode_Prefix = "[default episode prefix]" Then
FunimationEpisode = "Episode " + FunimationEpisode3
Else
FunimationEpisode = Episode_Prefix + FunimationEpisode3
End If
Catch ex As Exception
End Try
Try
FunimationTitle = RemoveExtraSpaces(ser("name"))
Catch ex As Exception
End Try
Catch ex As Exception
End Try
Dim data As List(Of JToken) = ser.Children().ToList
For Each item As JProperty In data
item.CreateReader()
Select Case item.Name
Case "season" 'each record is inside the entries array
Dim SubData As List(Of JToken) = item.Values.ToList()
For Each SubItem As JProperty In SubData
Select Case SubItem.Name
Case "name"
If Season_Prefix = "[default season prefix]" Then
FunimationSeason = SubItem.Value.ToString
Debug.WriteLine("FunimationSeason: " + FunimationSeason)
End If
Case "number"
If Season_Prefix = "[default season prefix]" Then
'FunimationSeason = Entry("name")
Else
Dim EpisodeNumer As String = SubItem.Value.ToString
FunimationSeason = Season_Prefix + " " + EpisodeNumer
Debug.WriteLine("FunimationSeason: " + FunimationSeason)
End If
End Select
Next
Case "show" 'each record is inside the entries array
Dim SubData As List(Of JToken) = item.Values.ToList()
For Each SubItem As JProperty In SubData
Select Case SubItem.Name
Case "name"
FunimationTitle = SubItem.Value.ToString
Debug.WriteLine("FunimationTitle: " + FunimationTitle)
End Select
Next
End Select
Next
'Dim FunimationDub1() As String = WebbrowserText.Split(New String() {".showLanguage = '"}, System.StringSplitOptions.RemoveEmptyEntries)
'Dim FunimationDub2() As String = FunimationDub1(1).Split(New String() {"';"}, System.StringSplitOptions.RemoveEmptyEntries)
FunimationDub = ConvertFunimationDub(DubFunimation) 'FunimationDub2(0)
Dim FunimationEpisodeTitle1() As String = FunimationEpisode2(0).Split(New String() {Chr(34) + "name" + Chr(34) + ": " + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
Dim FunimationEpisodeTitle2() As String = FunimationEpisodeTitle1(FunimationEpisodeTitle1.Count - 1).Split(New String() {Chr(34) + ","}, System.StringSplitOptions.RemoveEmptyEntries)
FunimationEpisodeTitle2(0) = HtmlDecode(FunimationEpisodeTitle2(0))
FunimationEpisodeTitle = String.Join(" ", FunimationEpisodeTitle2(0).Split(invalids, StringSplitOptions.RemoveEmptyEntries)).TrimEnd("."c) 'System.Text.RegularExpressions.Regex.Replace(FunimationEpisodeTitle2(0), "[^\w\\-]", " ").Trim(" ")
FunimationEpisodeTitle = RemoveExtraSpaces(FunimationEpisodeTitle)
Dim DefaultName As String = RemoveExtraSpaces(FunimationTitle + " " + FunimationSeason + " " + FunimationEpisode)
If CR_NameMethode = 1 Then
@ -3744,7 +3979,7 @@ Public Class Main
Directory.CreateDirectory(Path.GetDirectoryName(DownloadPfad))
Catch ex As Exception
' Ordner wurde nich erstellt
DownloadPfad = Pfad + "\" + DefaultName + VideoFormat
DownloadPfad = Pfad '+ "\" + DefaultName + VideoFormat
End Try
End If
@ -3795,7 +4030,7 @@ Public Class Main
'Dim ser As JObject = JObject.Parse(v1Json)
Dim data As List(Of JToken) = ser.Children().ToList
'Dim data As List(Of JToken) = ser.Children().ToList
For Each item As JProperty In data
item.CreateReader()
@ -3832,10 +4067,12 @@ Public Class Main
Me.Invoke(New Action(Function()
' Anime_Add.StatusLabel.Text = iFrameURL
MsgBox(WebbrowserCookie)
Return Nothing
End Function))
If Not WebbrowserCookie = Nothing Then
client0.Headers.Add(HttpRequestHeader.Cookie, WebbrowserCookie)
ElseIf Not SystemWebBrowserCookie = Nothing Then
@ -5056,6 +5293,15 @@ Public Class Main
network_scan.Show()
End Sub
Private Sub Timer4_Tick(sender As Object, e As EventArgs) Handles Timer4.Tick
If ListBoxList.Count > 0 Then
If InStr(Me.Text, "Crunchyroll Downloader") Then
Me.Text = "Status: " + ListBoxList.Count.ToString + " Downloads in queue" + vbNewLine + "open the add window to continue"
End If
End If
End Sub
#End Region

View File

@ -12,4 +12,5 @@ js-agent.newrelic.com
www.googletagmanager.com
googletagmanager.com
ocsp.sca1b.amazontrust.com
sa.etp-prod.com
sa.etp-prod.com
gum.criteo.com

View File

@ -44,6 +44,8 @@ Partial Class Einstellungen
Me.ComboBox1 = New MetroFramework.Controls.MetroComboBox()
Me.TabPage2 = New MetroFramework.Controls.MetroTabPage()
Me.GB_Filename_Pre = New System.Windows.Forms.GroupBox()
Me.KodiSupport = New MetroFramework.Controls.MetroToggle()
Me.MetroLink1 = New MetroFramework.Controls.MetroLink()
Me.GroupBox12 = New System.Windows.Forms.GroupBox()
Me.DD_Episode_Prefix = New MetroFramework.Controls.MetroComboBox()
Me.DD_Season_Prefix = New MetroFramework.Controls.MetroComboBox()
@ -130,8 +132,6 @@ Partial Class Einstellungen
Me.Label6 = New MetroFramework.Controls.MetroLabel()
Me.Label5 = New MetroFramework.Controls.MetroLabel()
Me.BackgroundWorker1 = New System.ComponentModel.BackgroundWorker()
Me.KodiSupport = New MetroFramework.Controls.MetroToggle()
Me.MetroLink1 = New MetroFramework.Controls.MetroLink()
CType(Me.pictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.pictureBox4, System.ComponentModel.ISupportInitialize).BeginInit()
Me.GroupBox14.SuspendLayout()
@ -404,10 +404,10 @@ Partial Class Einstellungen
Me.TabPage2.HorizontalScrollbarBarColor = True
Me.TabPage2.HorizontalScrollbarHighlightOnWheel = False
Me.TabPage2.HorizontalScrollbarSize = 10
Me.TabPage2.Location = New System.Drawing.Point(4, 44)
Me.TabPage2.Location = New System.Drawing.Point(4, 35)
Me.TabPage2.Name = "TabPage2"
Me.TabPage2.Padding = New System.Windows.Forms.Padding(3)
Me.TabPage2.Size = New System.Drawing.Size(501, 452)
Me.TabPage2.Size = New System.Drawing.Size(501, 461)
Me.TabPage2.TabIndex = 1
Me.TabPage2.Text = "Output"
Me.TabPage2.VerticalScrollbarBarColor = True
@ -429,6 +429,29 @@ Partial Class Einstellungen
Me.GB_Filename_Pre.TabStop = False
Me.GB_Filename_Pre.Text = "Filename Prefix"
'
'KodiSupport
'
Me.KodiSupport.AutoSize = True
Me.KodiSupport.Location = New System.Drawing.Point(263, 24)
Me.KodiSupport.Name = "KodiSupport"
Me.KodiSupport.Size = New System.Drawing.Size(80, 20)
Me.KodiSupport.TabIndex = 40
Me.KodiSupport.Text = "Aus"
Me.KodiSupport.UseSelectable = True
'
'MetroLink1
'
Me.MetroLink1.FontSize = MetroFramework.MetroLinkSize.Medium
Me.MetroLink1.ForeColor = System.Drawing.Color.SteelBlue
Me.MetroLink1.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.MetroLink1.Location = New System.Drawing.Point(101, 24)
Me.MetroLink1.Name = "MetroLink1"
Me.MetroLink1.Size = New System.Drawing.Size(145, 23)
Me.MetroLink1.TabIndex = 39
Me.MetroLink1.Text = "enable Kodi naming"
Me.MetroLink1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.MetroLink1.UseSelectable = True
'
'GroupBox12
'
Me.GroupBox12.BackColor = System.Drawing.Color.Transparent
@ -1431,29 +1454,6 @@ Partial Class Einstellungen
'BackgroundWorker1
'
'
'KodiSupport
'
Me.KodiSupport.AutoSize = True
Me.KodiSupport.Location = New System.Drawing.Point(263, 24)
Me.KodiSupport.Name = "KodiSupport"
Me.KodiSupport.Size = New System.Drawing.Size(80, 20)
Me.KodiSupport.TabIndex = 40
Me.KodiSupport.Text = "Aus"
Me.KodiSupport.UseSelectable = True
'
'MetroLink1
'
Me.MetroLink1.FontSize = MetroFramework.MetroLinkSize.Medium
Me.MetroLink1.ForeColor = System.Drawing.Color.SteelBlue
Me.MetroLink1.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.MetroLink1.Location = New System.Drawing.Point(101, 24)
Me.MetroLink1.Name = "MetroLink1"
Me.MetroLink1.Size = New System.Drawing.Size(145, 23)
Me.MetroLink1.TabIndex = 39
Me.MetroLink1.Text = "enable Kodi naming"
Me.MetroLink1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.MetroLink1.UseSelectable = True
'
'Einstellungen
'
Me.ApplyImageInvert = True

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

@ -17,7 +17,7 @@ Public Class Einstellungen
Private Sub Einstellungen_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Label6.Text = "You have: v" + Application.ProductVersion.ToString + " Beta-U8"
Label6.Text = "You have: v" + Application.ProductVersion.ToString + " Beta-U11"
BackgroundWorker1.RunWorkerAsync()
@ -234,6 +234,8 @@ Public Class Einstellungen
If InStr(Main.ffmpeg_command, "-c copy") Then
FFMPEG_CommandP1.Text = "-c copy"
FFMPEG_CommandP2.Enabled = False
FFMPEG_CommandP3.Enabled = False
FFMPEG_CommandP4.Text = "-c:a copy -bsf:a aac_adtstoasc"
ElseIf InStr(Main.ffmpeg_command, "-c:a copy ") Then
Dim ffmpegDisplayCurrent As String() = Main.ffmpeg_command.Split(New String() {" "}, System.StringSplitOptions.RemoveEmptyEntries)
@ -347,6 +349,13 @@ Public Class Einstellungen
End If
If Main.KeepCache = True Then
rk.SetValue("Keep_Cache", 1, RegistryValueKind.String)
Else
rk.SetValue("Keep_Cache", 0, RegistryValueKind.String)
End If
If KodiSupport.Checked = True Then
Main.KodiNaming = True
rk.SetValue("KodiSupport", 1, RegistryValueKind.String)
@ -631,19 +640,19 @@ Public Class Einstellungen
Dim ffpmeg_cmd As String = Nothing
If FFMPEG_CommandP1.Text = "-c copy" Then
ffpmeg_cmd = " " + FFMPEG_CommandP1.Text + " " + FFMPEG_CommandP4.Text
ElseIf FFMPEG_CommandP2.Text = "[no Preset]" Then
If FFMPEG_CommandP1.Text = "-c copy" Then
ffpmeg_cmd = " " + FFMPEG_CommandP1.Text + " " + FFMPEG_CommandP4.Text
ElseIf FFMPEG_CommandP2.Text = "[no Preset]" Then
ffpmeg_cmd = " " + FFMPEG_CommandP1.Text + " " + FFMPEG_CommandP3.Text + " " + FFMPEG_CommandP4.Text
Else
ffpmeg_cmd = " " + FFMPEG_CommandP1.Text + " " + FFMPEG_CommandP3.Text + " " + FFMPEG_CommandP4.Text
Else
ffpmeg_cmd = " " + FFMPEG_CommandP1.Text + " " + FFMPEG_CommandP2.Text + " " + FFMPEG_CommandP3.Text + " " + FFMPEG_CommandP4.Text
rk.SetValue("ffmpeg_command", ffpmeg_cmd, RegistryValueKind.String)
Main.ffmpeg_command = ffpmeg_cmd
ffpmeg_cmd = " " + FFMPEG_CommandP1.Text + " " + FFMPEG_CommandP2.Text + " " + FFMPEG_CommandP3.Text + " " + FFMPEG_CommandP4.Text
End If
rk.SetValue("ffmpeg_command", ffpmeg_cmd, RegistryValueKind.String)
Main.ffmpeg_command = ffpmeg_cmd
If InStr(FFMPEG_CommandP1.Text, "nvenc") Then
If NumericUpDown1.Value > 2 Then
NumericUpDown1.Value = 2
@ -1150,6 +1159,13 @@ Public Class Einstellungen
Private Sub HybridMode_CB_Click(sender As Object, e As EventArgs) Handles HybridMode_CB.Click
If HybridMode_CB.Checked = True Then
If MessageBox.Show("Should the cached data be kept?" + vbNewLine + "Press 'No' to free the space after downloading.", "Keep cached files?", MessageBoxButtons.YesNo) = DialogResult.Yes Then
Main.KeepCache = True
Else
Main.KeepCache = False
End If
If AAuto.Checked = True Then
MsgBox("Resolution '[Auto]' and 'Hybride Mode' does not work together", MsgBoxStyle.Information)
HybridMode_CB.Checked = False
@ -1188,6 +1204,7 @@ Public Class Einstellungen
#End Region