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 *.zip
*.mp4 *.mp4
*.log *.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.comboBox4)
Me.groupBox2.Controls.Add(Me.ComboBox1) Me.groupBox2.Controls.Add(Me.ComboBox1)
Me.groupBox2.Controls.Add(Me.comboBox3) Me.groupBox2.Controls.Add(Me.comboBox3)
Me.groupBox2.Controls.Add(Me.PictureBox1)
Me.groupBox2.Controls.Add(Me.Add_Display) Me.groupBox2.Controls.Add(Me.Add_Display)
Me.groupBox2.Controls.Add(Me.PictureBox1)
Me.groupBox2.Location = New System.Drawing.Point(15, 70) Me.groupBox2.Location = New System.Drawing.Point(15, 70)
Me.groupBox2.Name = "groupBox2" Me.groupBox2.Name = "groupBox2"
Me.groupBox2.Size = New System.Drawing.Size(720, 280) Me.groupBox2.Size = New System.Drawing.Size(720, 280)

View File

@ -188,12 +188,12 @@ Public Class Anime_Add
#Region "Funimation url parameter" #Region "Funimation url parameter"
If CBool(InStr(textBox1.Text, "funimation.com")) Then If CBool(InStr(textBox1.Text, "funimation.com")) Then
Main.WebbrowserURL = textBox1.Text 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 'Exit Sub
End If 'End If
If Main.DubFunimation = "Disabled" Then If Main.DubFunimation = "Disabled" Then
Else Else
@ -260,9 +260,12 @@ Public Class Anime_Add
textBox1.Text = "URL" textBox1.Text = "URL"
Else Else
If Main.Grapp_RDY = True Then If Main.Grapp_RDY = True Then
GeckoFX.WebBrowser1.Navigate(textBox1.Text)
StatusLabel.Text = "Status: loading ..."
Main.b = False Main.b = False
Debug.WriteLine("Start loading: " + Date.Now)
GeckoFX.WebBrowser1.Navigate(textBox1.Text)
StatusLabel.Text = "Status: loading ...."
End If End If
End If End If
End If End If
@ -608,6 +611,7 @@ Public Class Anime_Add
End Using End Using
Catch ex As Exception Catch ex As Exception
Debug.WriteLine("error- getting EpisodeJson data") Debug.WriteLine("error- getting EpisodeJson data")
Debug.WriteLine(ex.ToString)
Exit Sub Exit Sub
End Try End Try
Main.CrBetaMassEpisodes = EpisodeJson Main.CrBetaMassEpisodes = EpisodeJson
@ -630,22 +634,12 @@ Public Class Anime_Add
End If End If
Next Next
ElseIf main.WebbrowserURL = "funimation.com/js" Then ElseIf Main.WebbrowserURL = "funimation.com/js" Then
'MsgBox(Main.FunimtaionAPISeasonID.Item(ComboBox1.SelectedIndex))
comboBox3.Items.Clear() comboBox3.Items.Clear()
comboBox4.Items.Clear() comboBox4.Items.Clear()
comboBox3.Enabled = True
comboBox4.Enabled = True
comboBox3.Text = Nothing comboBox3.Text = Nothing
comboBox4.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 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 End Using
Catch ex As Exception Catch ex As Exception
Debug.WriteLine("error- getting EpisodeJson data") Debug.WriteLine("error- getting EpisodeJson data")
Debug.WriteLine(ex.ToString)
Main.FunimationJsonBrowser = "EpisodeJson"
GeckoFX.WebBrowser1.Navigate(EpisodeJsonURL)
Exit Sub Exit Sub
End Try End Try
Main.FunimationEpisodeJSON = EpisodeJson FillFunimationEpisodes(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
ElseIf AoD_Mode = False Then ElseIf AoD_Mode = False Then
@ -736,6 +721,23 @@ Public Class Anime_Add
End If End If
End Sub 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 Private Sub PictureBox1_MouseEnter(sender As Object, e As EventArgs) Handles PictureBox1.MouseEnter
PictureBox1.Image = My.Resources.add_mass_cancel_hover PictureBox1.Image = My.Resources.add_mass_cancel_hover
End Sub End Sub

View File

@ -16,7 +16,7 @@ Namespace My
Partial Friend Class MyApplication Partial Friend Class MyApplication
'Dim UseFirefoxProfile As Boolean = True 'Dim UseFirefoxProfile As Boolean = True
Protected Overrides Function OnStartup(ByVal eventArgs As Microsoft.VisualBasic.ApplicationServices.StartupEventArgs) As Boolean 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 'If UseFirefoxProfile = True Then
' Dim di As New System.IO.DirectoryInfo(Path.Combine(GetFolderPath(SpecialFolder.ApplicationData), "Mozilla", "Firefox", "Profiles")) ' Dim di As New System.IO.DirectoryInfo(Path.Combine(GetFolderPath(SpecialFolder.ApplicationData), "Mozilla", "Firefox", "Profiles"))
' Try ' Try
@ -28,15 +28,15 @@ Namespace My
' End Try ' End Try
'End If 'End If
'MsgBox(ProfileDirectory) 'MsgBox(ProfileDirectory)
If Not Directory.Exists(ProfileDirectory) Then 'If Not Directory.Exists(ProfileDirectory) Then
Directory.CreateDirectory(ProfileDirectory) ' Directory.CreateDirectory(ProfileDirectory)
End If 'End If
Try 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" 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" '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") Xpcom.Initialize("Firefox")
'MsgBox(Xpcom.XulRunnerVersion) 'MsgBox(Xpcom.XulRunnerVersion)

View File

@ -117,30 +117,6 @@
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </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"> <metadata name="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>19, 12</value> <value>19, 12</value>
</metadata> </metadata>
@ -150,16 +126,7 @@
<metadata name="ContextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="ContextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>207, 15</value> <value>207, 15</value>
</metadata> </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"> <metadata name="MetroStyleManager1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>364, 15</value> <value>364, 15</value>
</metadata> </metadata>
<metadata name="$this.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root> </root>

View File

@ -41,6 +41,8 @@ Public Class CRD_List_Item
Dim HybrideLog As String = Nothing Dim HybrideLog As String = Nothing
Dim Service As String = "CR" Dim Service As String = "CR"
Dim ServiceSleep As Integer = 0 Dim ServiceSleep As Integer = 0
Dim KeepCacheFiles As Boolean = False
Dim NameP2 As String = Nothing
Dim LastDate As Date = Date.Now Dim LastDate As Date = Date.Now
Dim LastSize As Double = 0 Dim LastSize As Double = 0
@ -113,12 +115,17 @@ Public Class CRD_List_Item
Public Sub SetTheme(ByVal Theme As MetroThemeStyle) Public Sub SetTheme(ByVal Theme As MetroThemeStyle)
MetroStyleManager1.Theme = Theme MetroStyleManager1.Theme = Theme
End Sub End Sub
Public Sub SetCache(ByVal value As Boolean)
KeepCacheFiles = value
End Sub
Public Sub SetTolerance(ByVal value As Integer) Public Sub SetTolerance(ByVal value As Integer)
Item_ErrorTolerance = value Item_ErrorTolerance = value
End Sub End Sub
Public Sub SetLabelAnimeTitel(ByVal Text As String) Public Sub SetLabelAnimeTitel(ByVal Text As String)
Label_Anime.Text = Text Label_Anime.Text = Text
NameP2 = Text
End Sub End Sub
Public Sub SetLabelResolution(ByVal Text As String) Public Sub SetLabelResolution(ByVal Text As String)
Label_Reso.Text = Text Label_Reso.Text = Text
@ -619,7 +626,10 @@ Public Class CRD_List_Item
Thread.Sleep(250) Thread.Sleep(250)
Else Else
Try Try
System.IO.Directory.Delete(HybridModePath, True) If KeepCacheFiles = False Then
System.IO.Directory.Delete(HybridModePath, True)
End If
Catch ex As Exception Catch ex As Exception
End Try End Try
Me.Invoke(New Action(Function() Me.Invoke(New Action(Function()
@ -738,7 +748,9 @@ Public Class CRD_List_Item
#Region "v3/v5" #Region "v3/v5"
Public WithEvents WC_TS As WebClient 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 If Not Directory.Exists(Path.GetDirectoryName(Folder)) Then
' Nein! Jetzt erstellen... ' Nein! Jetzt erstellen...
@ -751,6 +763,36 @@ Public Class CRD_List_Item
End Try End Try
End If 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) Dim LoadedKeys As New List(Of String)
LoadedKeys.Add("Nothing") LoadedKeys.Add("Nothing")
Dim KeyFileCache As String = Nothing Dim KeyFileCache As String = Nothing
@ -771,7 +813,9 @@ Public Class CRD_List_Item
Thread.Sleep(250) Thread.Sleep(250)
Else Else
Try Try
System.IO.Directory.Delete(HybridModePath, True) If KeepCacheFiles = False Then
System.IO.Directory.Delete(HybridModePath, True)
End If
Catch ex As Exception Catch ex As Exception
End Try End Try
Me.Invoke(New Action(Function() Me.Invoke(New Action(Function()
@ -787,15 +831,16 @@ Public Class CRD_List_Item
Exit Function Exit Function
End If End If
If InStr(textLenght(i), ".ts") Then If InStr(textLenght(i), ".ts") Then
Dim File As String = Folder + String.Format("{0:00000}", Count) Dim File As String = Folder + String.Format("{0:00000}", Count)
Dim curi As String = GetFullUri(url, textLenght(i)) Dim curi As String = GetFullUri(url, textLenght(i))
Dim Evaluator = New Thread(Sub() Me.TS_DownloadAsync(curi, File)) If Not System.IO.File.Exists(Folder + "Retry\" + String.Format("{0:00000}", Count)) Then
Evaluator.Start() Dim Evaluator = New Thread(Sub() Me.TS_DownloadAsync(curi, File))
ThreadList.Add(Evaluator) Evaluator.Start()
m3u8FileContent = m3u8FileContent + File + vbLf ThreadList.Add(Evaluator)
End If
m3u8FileContent = m3u8FileContent + File + vbLf
Dim FragmentsFinised = Count * 100 / FragmentsInt Dim FragmentsFinised = Count * 100 / FragmentsInt
Dim Update = New Thread(Sub() Me.TS_StatusAsync(FragmentsFinised, di, PauseTime)) Dim Update = New Thread(Sub() Me.TS_StatusAsync(FragmentsFinised, di, PauseTime))
Update.Start() Update.Start()
@ -825,8 +870,17 @@ Public Class CRD_List_Item
Else Else
KeyLine = KeyFileUri(0) + "URI=" + Chr(34) + KeyFileCache + Chr(34) KeyLine = KeyFileUri(0) + "URI=" + Chr(34) + KeyFileCache + Chr(34)
End If 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 End If
m3u8FileContent = m3u8FileContent + KeyLine + vbLf m3u8FileContent = m3u8FileContent + KeyLine + vbLf
Else Else
m3u8FileContent = m3u8FileContent + textLenght(i) + vbLf m3u8FileContent = m3u8FileContent + textLenght(i) + vbLf
End If End If
@ -840,6 +894,19 @@ Public Class CRD_List_Item
sink.WriteLine(m3u8FileContent) sink.WriteLine(m3u8FileContent)
End Using 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" Return Folder + "\index.m3u8"
End Function End Function
@ -851,12 +918,29 @@ Public Class CRD_List_Item
WC_TS = New WebClient WC_TS = New WebClient
WC_TS.DownloadFile(New Uri(DL_URL), DL_Pfad) 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 Catch ex As Exception
Debug.WriteLine("Download error #1: " + DL_Pfad) Debug.WriteLine("Download error #1: " + DL_Pfad)
Try Try
Dim wc_ts As New WebClient Dim wc_ts As New WebClient
wc_ts.DownloadFile(New Uri(DL_URL), DL_Pfad) 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 Catch ex2 As Exception
FailedCount = FailedCount + 1 FailedCount = FailedCount + 1
If Item_ErrorTolerance = 0 Then If Item_ErrorTolerance = 0 Then
@ -874,10 +958,11 @@ Public Class CRD_List_Item
End If 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 Try End Try
End Sub End Sub
@ -889,6 +974,11 @@ Public Class CRD_List_Item
Dim DL_URL_old As String = DL_URL Dim DL_URL_old As String = DL_URL
Dim PauseTime As Integer = 0 Dim PauseTime As Integer = 0
Dim Pfad2 As String = Path.GetDirectoryName(DL_Pfad.Replace(Chr(34), "")) + "\" + Folder + "\" 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 di As New IO.DirectoryInfo(Pfad2)
Dim m3u8_url As String() = DL_URL.Split(New [Char]() {Chr(34)}) Dim m3u8_url As String() = DL_URL.Split(New [Char]() {Chr(34)})
Dim m3u8FFmpeg As String = Nothing 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 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") 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 If HybridMode = True Then
Thread.Sleep(5000) Thread.Sleep(5000)
Try Try
System.IO.Directory.Delete(HybridModePath, True) If KeepCacheFiles = False Then
System.IO.Directory.Delete(HybridModePath, True)
End If
Catch ex As Exception Catch ex As Exception
End Try End Try
End If End If

View File

@ -26,7 +26,6 @@ Partial Class GeckoFX
Me.TextBox1 = New System.Windows.Forms.TextBox() Me.TextBox1 = New System.Windows.Forms.TextBox()
Me.Button1 = New System.Windows.Forms.Button() Me.Button1 = New System.Windows.Forms.Button()
Me.Button2 = New System.Windows.Forms.Button() Me.Button2 = New System.Windows.Forms.Button()
Me.Button3 = New System.Windows.Forms.Button()
Me.SuspendLayout() Me.SuspendLayout()
' '
'WebBrowser1 'WebBrowser1
@ -37,20 +36,20 @@ Partial Class GeckoFX
Me.WebBrowser1.Name = "WebBrowser1" Me.WebBrowser1.Name = "WebBrowser1"
Me.WebBrowser1.Size = New System.Drawing.Size(1280, 720) Me.WebBrowser1.Size = New System.Drawing.Size(1280, 720)
Me.WebBrowser1.TabIndex = 0 Me.WebBrowser1.TabIndex = 0
Me.WebBrowser1.UseHttpActivityObserver = True Me.WebBrowser1.UseHttpActivityObserver = False
' '
'TextBox1 'TextBox1
' '
Me.TextBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle 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.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.Name = "TextBox1"
Me.TextBox1.Size = New System.Drawing.Size(859, 26) Me.TextBox1.Size = New System.Drawing.Size(979, 26)
Me.TextBox1.TabIndex = 1 Me.TextBox1.TabIndex = 1
' '
'Button1 '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.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(96, 26) Me.Button1.Size = New System.Drawing.Size(96, 26)
Me.Button1.TabIndex = 2 Me.Button1.TabIndex = 2
@ -60,28 +59,18 @@ Partial Class GeckoFX
'Button2 'Button2
' '
Me.Button2.Enabled = False 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.Name = "Button2"
Me.Button2.Size = New System.Drawing.Size(178, 26) Me.Button2.Size = New System.Drawing.Size(178, 26)
Me.Button2.TabIndex = 3 Me.Button2.TabIndex = 3
Me.Button2.Text = "Start network scan" Me.Button2.Text = "Start network scan"
Me.Button2.UseVisualStyleBackColor = True 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 'GeckoFX
' '
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(1279, 750) Me.ClientSize = New System.Drawing.Size(1279, 750)
Me.Controls.Add(Me.Button3)
Me.Controls.Add(Me.Button2) Me.Controls.Add(Me.Button2)
Me.Controls.Add(Me.Button1) Me.Controls.Add(Me.Button1)
Me.Controls.Add(Me.TextBox1) Me.Controls.Add(Me.TextBox1)
@ -101,5 +90,4 @@ Partial Class GeckoFX
Friend WithEvents TextBox1 As TextBox Friend WithEvents TextBox1 As TextBox
Friend WithEvents Button1 As Button Friend WithEvents Button1 As Button
Friend WithEvents Button2 As Button Friend WithEvents Button2 As Button
Friend WithEvents Button3 As Button
End Class End Class

View File

@ -187,10 +187,27 @@ Public Class GeckoFX
t.Start() t.Start()
Else Else
Main.WebbrowserCookie = WebBrowser1.Document.Cookie
Main.Text = "Status: no video found" Main.Text = "Status: no video found"
Anime_Add.StatusLabel.Text = "Status: no video found" Anime_Add.StatusLabel.Text = "Status: no video found"
End If End If
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 ElseIf CBool(InStr(WebBrowser1.Url.ToString, "anime-on-demand.de")) Then
If Main.b = False Then If Main.b = False Then
Main.b = True Main.b = True
@ -323,7 +340,8 @@ Public Class GeckoFX
Catch ex As Exception Catch ex As Exception
End Try End Try
'MsgBox(WebBrowser1.Document.Cookie) 'My.Computer.Clipboard.SetText(WebBrowser1.Document.Body.InnerHtml)
End Sub End Sub
Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown
@ -421,22 +439,6 @@ Public Class GeckoFX
'Debug_Mode.TopMost = False 'Debug_Mode.TopMost = False
End Sub 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 Private Sub ObserveHttpModifyRequest(sender As Object, e As GeckoObserveHttpModifyRequestEventArgs) Handles WebBrowser1.ObserveHttpModifyRequest
@ -453,7 +455,7 @@ Public Class GeckoFX
e.Cancel = True e.Cancel = True
'Debug.WriteLine(requesturl) 'Debug.WriteLine(requesturl)
Exit Sub 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 e.Cancel = True
'Debug.WriteLine(requesturl) 'Debug.WriteLine(requesturl)
Exit Sub Exit Sub
@ -480,6 +482,11 @@ Public Class GeckoFX
End If End If
If CBool(InStr(requesturl, "https://title-api.prd.funimationsvc.com")) And CBool(InStr(requesturl, "?region=")) Then 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) Dim parms As String() = requesturl.Split(New String() {"?region="}, System.StringSplitOptions.RemoveEmptyEntries)
Main.FunimationAPIRegion = "?region=" + parms(1) Main.FunimationAPIRegion = "?region=" + parms(1)
If Main.b = False Then If Main.b = False Then
@ -589,7 +596,7 @@ Public Class GeckoFX
End Sub End Sub
Private Sub WebBrowser1_ConsoleMessage(sender As Object, e As ConsoleMessageEventArgs) Handles WebBrowser1.ConsoleMessage Private Sub WebBrowser1_ConsoleMessage(sender As Object, e As ConsoleMessageEventArgs) Handles WebBrowser1.ConsoleMessage
' Debug.WriteLine(e.Message) Debug.WriteLine(e.Message)
' MsgBox(e.Message) ' MsgBox(e.Message)
End Sub End Sub
End Class End Class

View File

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

View File

@ -231,6 +231,12 @@
<data name="&gt;&gt;Btn_Browser.ZOrder" xml:space="preserve"> <data name="&gt;&gt;Btn_Browser.ZOrder" xml:space="preserve">
<value>8</value> <value>8</value>
</data> </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"> <data name="ListView1.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft Sans Serif, 93pt</value> <value>Microsoft Sans Serif, 93pt</value>
</data> </data>
@ -261,12 +267,6 @@
<data name="&gt;&gt;ListView1.ZOrder" xml:space="preserve"> <data name="&gt;&gt;ListView1.ZOrder" xml:space="preserve">
<value>4</value> <value>4</value>
</data> </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"> <data name="PictureBox5.BackgroundImageLayout" type="System.Windows.Forms.ImageLayout, System.Windows.Forms">
<value>Stretch</value> <value>Stretch</value>
</data> </data>
@ -378,6 +378,31 @@
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing"> <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>842, 630</value> <value>842, 630</value>
</data> </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"> <data name="&gt;&gt;Btn_min.Name" xml:space="preserve">
<value>Btn_min</value> <value>Btn_min</value>
</data> </data>
@ -450,50 +475,22 @@
<data name="&gt;&gt;BackgroundWorker1.Type" xml:space="preserve"> <data name="&gt;&gt;BackgroundWorker1.Type" xml:space="preserve">
<value>System.ComponentModel.BackgroundWorker, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.ComponentModel.BackgroundWorker, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data> </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"> <data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>Main</value> <value>Main</value>
</data> </data>
<data name="&gt;&gt;$this.Type" xml:space="preserve"> <data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>MetroFramework.Forms.MetroForm, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a</value> <value>MetroFramework.Forms.MetroForm, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a</value>
</data> </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"> <metadata name="BackgroundWorker1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>714, 17</value> <value>714, 17</value>
</metadata> </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> </root>

View File

@ -12,6 +12,7 @@ Imports MetroFramework.Components
Imports System.Globalization Imports System.Globalization
Imports System.ComponentModel Imports System.ComponentModel
Imports Newtonsoft.Json.Linq Imports Newtonsoft.Json.Linq
Imports System.Runtime.InteropServices
Public Class Main Public Class Main
Inherits MetroForm Inherits MetroForm
@ -29,7 +30,7 @@ Public Class Main
Public FunimationShowPath As String = Nothing Public FunimationShowPath As String = Nothing
Public FunimationEpisodeJSON As String = Nothing Public FunimationEpisodeJSON As String = Nothing
Public FunimtaionAPISeasonID As New List(Of String) Public FunimtaionAPISeasonID As New List(Of String)
Public FunimationJsonBrowser As String = Nothing
Public Manager As New MetroStyleManager Public Manager As New MetroStyleManager
@ -57,6 +58,7 @@ Public Class Main
Public LogBrowserData As Boolean = False Public LogBrowserData As Boolean = False
Public Thumbnail As String = Nothing Public Thumbnail As String = Nothing
Public MergeSubs As Boolean = False Public MergeSubs As Boolean = False
Public KeepCache As Boolean = False
Public SubsOnly As Boolean = False Public SubsOnly As Boolean = False
Public VideoFormat As String = ".mp4" Public VideoFormat As String = ".mp4"
Public MergeSubsFormat As String = "mov_text" 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 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() Public Sub SetSettingsTheme()
Einstellungen.Theme = Manager.Theme Einstellungen.Theme = Manager.Theme
@ -443,6 +458,13 @@ Public Class Main
Catch ex As Exception 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 End Try
Try Try
Dim rkg As RegistryKey = Registry.CurrentUser.OpenSubKey("Software\CRDownloader") Dim rkg As RegistryKey = Registry.CurrentUser.OpenSubKey("Software\CRDownloader")
@ -612,7 +634,7 @@ Public Class Main
BlockList = New List(Of String) BlockList = New List(Of String)
BackgroundWorker1.RunWorkerAsync() BackgroundWorker1.RunWorkerAsync()
RetryWithCachedFiles()
End Sub End Sub
Private Sub BackgroundWorker1_DoWork(sender As Object, e As DoWorkEventArgs) Handles BackgroundWorker1.DoWork Private Sub BackgroundWorker1_DoWork(sender As Object, e As DoWorkEventArgs) Handles BackgroundWorker1.DoWork
@ -648,11 +670,11 @@ Public Class Main
End Try End Try
With ListView1.Items.Add(0) 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 With
End Sub 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 Dim Item As New CRD_List_Item
Item.Visible = False Item.Visible = False
@ -662,6 +684,7 @@ Public Class Main
#Region "Set Variables" #Region "Set Variables"
'Item.SetUsedMap(UsedMap) 'Item.SetUsedMap(UsedMap)
'Item.Setffmpeg_command(ffmpeg_command) 'Item.Setffmpeg_command(ffmpeg_command)
Item.SetCache(KeepCache)
Item.SetMergeSubstoMP4(MergeSubs) Item.SetMergeSubstoMP4(MergeSubs)
Item.SetDebug2(Debug2) Item.SetDebug2(Debug2)
@ -693,7 +716,7 @@ Public Class Main
If InStr(URL_DL, ".mpd") Then If InStr(URL_DL, ".mpd") Then
TempHybridMode = False TempHybridMode = False
End If End If
Item.StartDownload(URL_DL, Pfad_DL, Pfad_DL, TempHybridMode) Item.StartDownload(URL_DL, Pfad_DL, NameKomplett, TempHybridMode)
End Sub End Sub
#Region "Manga DL" #Region "Manga DL"
Public Sub MangaListItemAdd(ByVal NameP2 As String, ByVal ThumbnialURL As String, ByVal BaseURL As String, ByVal SiteList As List(Of String)) 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 Catch ex As Exception
' Ordner wurde nich erstellt ' Ordner wurde nich erstellt
Pfad2 = Pfad + "\" + CR_FilenName + VideoFormat Pfad2 = Chr(34) + Pfad + CR_FilenName + VideoFormat + Chr(34)
End Try End Try
Else Else
Pfad2 = Chr(34) + Pfad2 + CR_FilenName + VideoFormat + Chr(34) Pfad2 = Chr(34) + Pfad2 + CR_FilenName + VideoFormat + Chr(34)
@ -1824,9 +1847,11 @@ Public Class Main
SeasonJson = client.DownloadString(JsonUrl) SeasonJson = client.DownloadString(JsonUrl)
End Using End Using
Catch ex As Exception Catch ex As Exception
Debug.WriteLine("error- getting SeasonJson data") Debug.WriteLine("error- getting SeasonJson data")
End Try End Try
Dim ParameterSplit() As String = JsonUrl.Split(New String() {"&locale="}, System.StringSplitOptions.RemoveEmptyEntries) Dim ParameterSplit() As String = JsonUrl.Split(New String() {"&locale="}, System.StringSplitOptions.RemoveEmptyEntries)
CrBetaMassParameters = ParameterSplit(1) CrBetaMassParameters = ParameterSplit(1)
@ -1900,59 +1925,105 @@ Public Class Main
Exit Sub Exit Sub
End Try 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 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 '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_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]() {"-"}) ' 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) ' CR_title = String.Join(" ", CR_Name_2(0).Split(invalids, StringSplitOptions.RemoveEmptyEntries)).TrimEnd("."c)
End If 'End If
If CBool(InStr(ObjectJson, "series_title")) Then ' false on movie true on series '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_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]() {"-"}) ' 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) ' CR_series_title = String.Join(" ", CR_Name_2(0).Split(invalids, StringSplitOptions.RemoveEmptyEntries)).TrimEnd("."c)
End If 'End If
If CBool(InStr(ObjectJson, "season_title")) Then ' false on movie true on series '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_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]() {"-"}) ' 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) ' CR_season_title = String.Join(" ", CR_Name_2(0).Split(invalids, StringSplitOptions.RemoveEmptyEntries)).TrimEnd("."c)
End If 'End If
If CBool(InStr(ObjectJson, "season_number")) Then ' false on movie true on series '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_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]() {"-"}) ' 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) ' 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 '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_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]() {"-"}) ' 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) ' 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) 'My.Computer.Clipboard.SetText(ObjectJson)
'MsgBox(CR_season_title) '
If Season_Prefix = "[default season prefix]" Then If Season_Prefix = "[default season prefix]" Then
If CR_season_title = CR_series_title 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 End If
CR_season_number = CR_season_title
Else Else
CR_season_number = Season_Prefix + CR_season_number CR_season_number = Season_Prefix + CR_season_number
End If 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 CR_episode = "Episode " + CR_episode
Else Else
CR_episode = Episode_Prefix + CR_episode CR_episode = Episode_Prefix + CR_episode
@ -2009,7 +2080,7 @@ Public Class Main
Catch ex As Exception Catch ex As Exception
' Ordner wurde nich erstellt ' Ordner wurde nich erstellt
Pfad2 = Pfad + "\" + CR_FilenName + VideoFormat Pfad2 = Chr(34) + Pfad + CR_FilenName + VideoFormat + Chr(34)
End Try End Try
Else Else
Pfad2 = Chr(34) + Pfad2 + CR_FilenName + VideoFormat + Chr(34) Pfad2 = Chr(34) + Pfad2 + CR_FilenName + VideoFormat + Chr(34)
@ -2322,7 +2393,7 @@ Public Class Main
URL_DL = "-i [Subtitles only]" URL_DL = "-i [Subtitles only]"
End If End If
Me.Invoke(New Action(Function() 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 Return Nothing
End Function)) 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 + "-->") 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 For i As Integer = 0 To ListView1.Items.Count - 1
ItemList(i).KillRunningTask() ItemList(i).KillRunningTask()
Next Next
RemoveTempFiles() RemoveTempFiles()
Me.Close() Me.Close()
End If End If
Else Else
Timer3.Enabled = False Timer3.Enabled = False
RemoveTempFiles() RemoveTempFiles()
Me.Close() Me.Close()
End If End If
@ -2431,20 +2506,86 @@ Public Class Main
Next Next
Catch ex As Exception Catch ex As Exception
End Try 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 Try
Dim di As New System.IO.DirectoryInfo(Pfad) Dim di As New System.IO.DirectoryInfo(Pfad)
For Each fi As System.IO.DirectoryInfo In di.EnumerateDirectories("*.*", System.IO.SearchOption.TopDirectoryOnly) For Each fi As System.IO.DirectoryInfo In di.EnumerateDirectories("*.*", System.IO.SearchOption.TopDirectoryOnly)
If fi.Attributes.HasFlag(System.IO.FileAttributes.Hidden) Then If fi.Attributes.HasFlag(System.IO.FileAttributes.Hidden) Then
Else Else
If InStr(fi.Name, "CRD-Temp-File-") Then 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
End If End If
Next Next
Catch ex As Exception Catch ex As Exception
End Try End Try
End Sub End Sub
Private Sub PictureBox4_Click(sender As Object, e As EventArgs) Handles Btn_add.Click Private Sub PictureBox4_Click(sender As Object, e As EventArgs) Handles Btn_add.Click
If Anime_Add.WindowState = System.Windows.Forms.FormWindowState.Minimized Then If Anime_Add.WindowState = System.Windows.Forms.FormWindowState.Minimized Then
Anime_Add.WindowState = System.Windows.Forms.FormWindowState.Normal Anime_Add.WindowState = System.Windows.Forms.FormWindowState.Normal
@ -2704,7 +2845,11 @@ Public Class Main
End If End If
Next Next
RunningDownloads = ListView1.Items.Count - ItemFinshedCount 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 Catch ex As Exception
RunningDownloads = ListView1.Items.Count RunningDownloads = ListView1.Items.Count
End Try End Try
@ -2811,7 +2956,7 @@ Public Class Main
Directory.CreateDirectory(Path.GetDirectoryName(DownloadPfad)) Directory.CreateDirectory(Path.GetDirectoryName(DownloadPfad))
Catch ex As Exception Catch ex As Exception
' Ordner wurde nich erstellt ' Ordner wurde nich erstellt
DownloadPfad = Pfad + "\" + DefaultName + VideoFormat DownloadPfad = Pfad '+ "\" + DefaultName + VideoFormat
End Try End Try
End If End If
@ -3435,7 +3580,31 @@ Public Class Main
#Region "Funimation JS " #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.groupBox2.Visible = True
Anime_Add.PictureBox1.Enabled = True Anime_Add.PictureBox1.Enabled = True
@ -3448,37 +3617,27 @@ Public Class Main
Anime_Add.comboBox3.Text = Nothing Anime_Add.comboBox3.Text = Nothing
Anime_Add.comboBox4.Text = Nothing Anime_Add.comboBox4.Text = Nothing
Anime_Add.ComboBox1.Enabled = True Anime_Add.ComboBox1.Enabled = True
Anime_Add.comboBox3.Enabled = True Anime_Add.comboBox3.Enabled = False
Anime_Add.comboBox4.Enabled = True Anime_Add.comboBox4.Enabled = False
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
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) For Each item As JProperty In data
Dim SeasonSplit2() As String = SeasonSplit(1).Split(New String() {Chr(34) + "name" + Chr(34) + ": " + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries) 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 Next
Dim SeasonSplit3() As String = SeasonSplit2(i).Split(New String() {Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
Anime_Add.ComboBox1.Items.Add(SeasonSplit3(0))
Next
Dim SeasonIDSplit() As String = SeasonSplit(1).Split(New String() {Chr(34) + "id" + Chr(34) + ": "}, System.StringSplitOptions.RemoveEmptyEntries) End Select
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))
Next Next
WebbrowserURL = "funimation.com/js" WebbrowserURL = "funimation.com/js"
@ -3488,6 +3647,8 @@ Public Class Main
Public Async Sub DownloadFunimationJS_Seasons() Public Async Sub DownloadFunimationJS_Seasons()
Try Try
Anime_Add.Add_Display.Text = "preparing ...."
Dim ListOfEpisodes As New List(Of String) Dim ListOfEpisodes As New List(Of String)
Dim BaseURL As String = "https://www.funimation.com/shows/" Dim BaseURL As String = "https://www.funimation.com/shows/"
If FunimationRegion IsNot Nothing Then If FunimationRegion IsNot Nothing Then
@ -3604,21 +3765,44 @@ Public Class Main
Return "Japanese" Return "Japanese"
End If End If
End Function End Function
Public Sub GetFunimationJS_VideoProxy(ByVal v1JsonURL As String) 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)) Dim Evaluator = New Thread(Sub() Me.GetFunimationJS_Video(v1JsonURL, v1JsonData))
Evaluator.Start() Evaluator.Start()
End Sub 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 Dim v1Json As String = Nothing
Try If v1JsonUrl = Nothing Then
Using client As New WebClient() v1Json = v1JsonData
client.Encoding = System.Text.Encoding.UTF8 Else
client.Headers.Add(My.Resources.ffmpeg_user_agend.Replace(Chr(34), "")) Try
v1Json = client.DownloadString(v1JsonURL) Using client As New WebClient()
End Using client.Encoding = System.Text.Encoding.UTF8
Catch ex As Exception 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.Invoke(New Action(Function()
Me.Text = "Status: error - getting v1Json data" Me.Text = "Status: error - getting v1Json data"
@ -3626,12 +3810,12 @@ Public Class Main
Me.Invalidate() Me.Invalidate()
Return Nothing Return Nothing
End Function)) End Function))
Debug.WriteLine("error- getting v1Json data")
Debug.WriteLine(ex.ToString)
Exit Sub Exit Sub
End Try End If
Me.Invoke(New Action(Function()
'My.Computer.Clipboard.SetText(v1Json)
Return Nothing
End Function))
Try Try
Dim ffmpeg_command_temp As String = ffmpeg_command Dim ffmpeg_command_temp As String = ffmpeg_command
If VideoFormat = ".aac" Then If VideoFormat = ".aac" Then
@ -3659,49 +3843,100 @@ Public Class Main
Dim FunimationDub As String = Nothing Dim FunimationDub As String = Nothing
Dim FunimationAudioMap 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) Dim ser As JObject = JObject.Parse(v1Json)
Try Try
Dim AnimeName As String = ser("name") Try
If AnimeName = Nothing Then FunimationEpisodeTitle = RemoveExtraSpaces(ser("name"))
Else Catch ex As Exception
FunimationTitle = RemoveExtraSpaces(AnimeName) End Try
End If
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 Catch ex As Exception
End Try 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) 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) Dim DefaultName As String = RemoveExtraSpaces(FunimationTitle + " " + FunimationSeason + " " + FunimationEpisode)
If CR_NameMethode = 1 Then If CR_NameMethode = 1 Then
@ -3744,7 +3979,7 @@ Public Class Main
Directory.CreateDirectory(Path.GetDirectoryName(DownloadPfad)) Directory.CreateDirectory(Path.GetDirectoryName(DownloadPfad))
Catch ex As Exception Catch ex As Exception
' Ordner wurde nich erstellt ' Ordner wurde nich erstellt
DownloadPfad = Pfad + "\" + DefaultName + VideoFormat DownloadPfad = Pfad '+ "\" + DefaultName + VideoFormat
End Try End Try
End If End If
@ -3795,7 +4030,7 @@ Public Class Main
'Dim ser As JObject = JObject.Parse(v1Json) '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 For Each item As JProperty In data
item.CreateReader() item.CreateReader()
@ -3832,10 +4067,12 @@ Public Class Main
Me.Invoke(New Action(Function() Me.Invoke(New Action(Function()
' Anime_Add.StatusLabel.Text = iFrameURL ' Anime_Add.StatusLabel.Text = iFrameURL
MsgBox(WebbrowserCookie)
Return Nothing Return Nothing
End Function)) End Function))
If Not WebbrowserCookie = Nothing Then If Not WebbrowserCookie = Nothing Then
client0.Headers.Add(HttpRequestHeader.Cookie, WebbrowserCookie) client0.Headers.Add(HttpRequestHeader.Cookie, WebbrowserCookie)
ElseIf Not SystemWebBrowserCookie = Nothing Then ElseIf Not SystemWebBrowserCookie = Nothing Then
@ -5056,6 +5293,15 @@ Public Class Main
network_scan.Show() network_scan.Show()
End Sub 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 #End Region

View File

@ -12,4 +12,5 @@ js-agent.newrelic.com
www.googletagmanager.com www.googletagmanager.com
googletagmanager.com googletagmanager.com
ocsp.sca1b.amazontrust.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.ComboBox1 = New MetroFramework.Controls.MetroComboBox()
Me.TabPage2 = New MetroFramework.Controls.MetroTabPage() Me.TabPage2 = New MetroFramework.Controls.MetroTabPage()
Me.GB_Filename_Pre = New System.Windows.Forms.GroupBox() 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.GroupBox12 = New System.Windows.Forms.GroupBox()
Me.DD_Episode_Prefix = New MetroFramework.Controls.MetroComboBox() Me.DD_Episode_Prefix = New MetroFramework.Controls.MetroComboBox()
Me.DD_Season_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.Label6 = New MetroFramework.Controls.MetroLabel()
Me.Label5 = New MetroFramework.Controls.MetroLabel() Me.Label5 = New MetroFramework.Controls.MetroLabel()
Me.BackgroundWorker1 = New System.ComponentModel.BackgroundWorker() 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.pictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.pictureBox4, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.pictureBox4, System.ComponentModel.ISupportInitialize).BeginInit()
Me.GroupBox14.SuspendLayout() Me.GroupBox14.SuspendLayout()
@ -404,10 +404,10 @@ Partial Class Einstellungen
Me.TabPage2.HorizontalScrollbarBarColor = True Me.TabPage2.HorizontalScrollbarBarColor = True
Me.TabPage2.HorizontalScrollbarHighlightOnWheel = False Me.TabPage2.HorizontalScrollbarHighlightOnWheel = False
Me.TabPage2.HorizontalScrollbarSize = 10 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.Name = "TabPage2"
Me.TabPage2.Padding = New System.Windows.Forms.Padding(3) 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.TabIndex = 1
Me.TabPage2.Text = "Output" Me.TabPage2.Text = "Output"
Me.TabPage2.VerticalScrollbarBarColor = True Me.TabPage2.VerticalScrollbarBarColor = True
@ -429,6 +429,29 @@ Partial Class Einstellungen
Me.GB_Filename_Pre.TabStop = False Me.GB_Filename_Pre.TabStop = False
Me.GB_Filename_Pre.Text = "Filename Prefix" 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 'GroupBox12
' '
Me.GroupBox12.BackColor = System.Drawing.Color.Transparent Me.GroupBox12.BackColor = System.Drawing.Color.Transparent
@ -1431,29 +1454,6 @@ Partial Class Einstellungen
'BackgroundWorker1 '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 'Einstellungen
' '
Me.ApplyImageInvert = True 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"> <metadata name="MenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>118, 20</value> <value>118, 20</value>
</metadata> </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"> <metadata name="BackgroundWorker1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>332, 20</value> <value>332, 20</value>
</metadata> </metadata>

View File

@ -17,7 +17,7 @@ Public Class Einstellungen
Private Sub Einstellungen_Load(sender As Object, e As EventArgs) Handles MyBase.Load 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() BackgroundWorker1.RunWorkerAsync()
@ -234,6 +234,8 @@ Public Class Einstellungen
If InStr(Main.ffmpeg_command, "-c copy") Then If InStr(Main.ffmpeg_command, "-c copy") Then
FFMPEG_CommandP1.Text = "-c copy" FFMPEG_CommandP1.Text = "-c copy"
FFMPEG_CommandP2.Enabled = False
FFMPEG_CommandP3.Enabled = False
FFMPEG_CommandP4.Text = "-c:a copy -bsf:a aac_adtstoasc" FFMPEG_CommandP4.Text = "-c:a copy -bsf:a aac_adtstoasc"
ElseIf InStr(Main.ffmpeg_command, "-c:a copy ") Then ElseIf InStr(Main.ffmpeg_command, "-c:a copy ") Then
Dim ffmpegDisplayCurrent As String() = Main.ffmpeg_command.Split(New String() {" "}, System.StringSplitOptions.RemoveEmptyEntries) Dim ffmpegDisplayCurrent As String() = Main.ffmpeg_command.Split(New String() {" "}, System.StringSplitOptions.RemoveEmptyEntries)
@ -347,6 +349,13 @@ Public Class Einstellungen
End If 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 If KodiSupport.Checked = True Then
Main.KodiNaming = True Main.KodiNaming = True
rk.SetValue("KodiSupport", 1, RegistryValueKind.String) rk.SetValue("KodiSupport", 1, RegistryValueKind.String)
@ -631,19 +640,19 @@ Public Class Einstellungen
Dim ffpmeg_cmd As String = Nothing Dim ffpmeg_cmd As String = Nothing
If FFMPEG_CommandP1.Text = "-c copy" Then If FFMPEG_CommandP1.Text = "-c copy" Then
ffpmeg_cmd = " " + FFMPEG_CommandP1.Text + " " + FFMPEG_CommandP4.Text ffpmeg_cmd = " " + FFMPEG_CommandP1.Text + " " + FFMPEG_CommandP4.Text
ElseIf FFMPEG_CommandP2.Text = "[no Preset]" Then ElseIf FFMPEG_CommandP2.Text = "[no Preset]" Then
ffpmeg_cmd = " " + FFMPEG_CommandP1.Text + " " + FFMPEG_CommandP3.Text + " " + FFMPEG_CommandP4.Text ffpmeg_cmd = " " + FFMPEG_CommandP1.Text + " " + FFMPEG_CommandP3.Text + " " + FFMPEG_CommandP4.Text
Else Else
ffpmeg_cmd = " " + FFMPEG_CommandP1.Text + " " + FFMPEG_CommandP2.Text + " " + FFMPEG_CommandP3.Text + " " + FFMPEG_CommandP4.Text 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
End If End If
rk.SetValue("ffmpeg_command", ffpmeg_cmd, RegistryValueKind.String)
Main.ffmpeg_command = ffpmeg_cmd
If InStr(FFMPEG_CommandP1.Text, "nvenc") Then If InStr(FFMPEG_CommandP1.Text, "nvenc") Then
If NumericUpDown1.Value > 2 Then If NumericUpDown1.Value > 2 Then
NumericUpDown1.Value = 2 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 Private Sub HybridMode_CB_Click(sender As Object, e As EventArgs) Handles HybridMode_CB.Click
If HybridMode_CB.Checked = True Then 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 If AAuto.Checked = True Then
MsgBox("Resolution '[Auto]' and 'Hybride Mode' does not work together", MsgBoxStyle.Information) MsgBox("Resolution '[Auto]' and 'Hybride Mode' does not work together", MsgBoxStyle.Information)
HybridMode_CB.Checked = False HybridMode_CB.Checked = False
@ -1188,6 +1204,7 @@ Public Class Einstellungen
#End Region #End Region