mirror of
https://github.com/hama3254/Crunchyroll-Downloader-v3.0.git
synced 2024-12-23 22:51:48 +01:00
hybrid mode retry after crash, json parsing improved
hybrid mode retry after crash json parsing improved
This commit is contained in:
parent
c4ea1510ac
commit
b57ea725a8
1
.gitignore
vendored
1
.gitignore
vendored
@ -3,3 +3,4 @@ Crunchyroll Downloader/bin/x86/Debug/Crunchyroll-Downloader-v3.0.zip
|
||||
*.zip
|
||||
*.mp4
|
||||
*.log
|
||||
*.key
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
2
Crunchyroll Downloader/Anime_Add.Designer.vb
generated
2
Crunchyroll Downloader/Anime_Add.Designer.vb
generated
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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>
|
@ -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
|
||||
|
22
Crunchyroll Downloader/GeckoFX.Designer.vb
generated
22
Crunchyroll Downloader/GeckoFX.Designer.vb
generated
@ -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
|
||||
|
@ -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
|
||||
|
7
Crunchyroll Downloader/Main.designer.vb
generated
7
Crunchyroll Downloader/Main.designer.vb
generated
@ -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
|
||||
|
@ -231,6 +231,12 @@
|
||||
<data name=">>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=">>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=">>Btn_min.Name" xml:space="preserve">
|
||||
<value>Btn_min</value>
|
||||
</data>
|
||||
@ -450,50 +475,22 @@
|
||||
<data name=">>BackgroundWorker1.Type" xml:space="preserve">
|
||||
<value>System.ComponentModel.BackgroundWorker, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>Timer4.Name" xml:space="preserve">
|
||||
<value>Timer4</value>
|
||||
</data>
|
||||
<data name=">>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=">>$this.Name" xml:space="preserve">
|
||||
<value>Main</value>
|
||||
</data>
|
||||
<data name=">>$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=">>Btn_min.Name" xml:space="preserve">
|
||||
<value>Btn_min</value>
|
||||
</data>
|
||||
<data name=">>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=">>Btn_min.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>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>
|
@ -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
|
||||
|
@ -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
|
Binary file not shown.
Binary file not shown.
54
Crunchyroll Downloader/einstellungen.Designer.vb
generated
54
Crunchyroll Downloader/einstellungen.Designer.vb
generated
@ -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
|
||||
|
@ -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>
|
||||
|
@ -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
|
||||
|
||||
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue
Block a user