diff --git a/.gitignore b/.gitignore
index 0dc8fb8..78c010f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,4 @@ Crunchyroll Downloader/bin/x86/Debug/Crunchyroll-Downloader-v3.0.zip
*.zip
*.mp4
*.log
+*.key
diff --git a/.vs/Crunchyroll Downloader/v15/.suo b/.vs/Crunchyroll Downloader/v15/.suo
index 8bb32af..146df34 100644
Binary files a/.vs/Crunchyroll Downloader/v15/.suo and b/.vs/Crunchyroll Downloader/v15/.suo differ
diff --git a/.vs/Crunchyroll Downloader/v15/Server/sqlite3/storage.ide b/.vs/Crunchyroll Downloader/v15/Server/sqlite3/storage.ide
index b42437e..f11f4bc 100644
Binary files a/.vs/Crunchyroll Downloader/v15/Server/sqlite3/storage.ide and b/.vs/Crunchyroll Downloader/v15/Server/sqlite3/storage.ide differ
diff --git a/.vs/Crunchyroll Downloader/v15/Server/sqlite3/storage.ide-shm b/.vs/Crunchyroll Downloader/v15/Server/sqlite3/storage.ide-shm
index 368def1..766f517 100644
Binary files a/.vs/Crunchyroll Downloader/v15/Server/sqlite3/storage.ide-shm and b/.vs/Crunchyroll Downloader/v15/Server/sqlite3/storage.ide-shm differ
diff --git a/.vs/Crunchyroll Downloader/v15/Server/sqlite3/storage.ide-wal b/.vs/Crunchyroll Downloader/v15/Server/sqlite3/storage.ide-wal
index 7fc3135..9521a62 100644
Binary files a/.vs/Crunchyroll Downloader/v15/Server/sqlite3/storage.ide-wal and b/.vs/Crunchyroll Downloader/v15/Server/sqlite3/storage.ide-wal differ
diff --git a/Crunchyroll Downloader/Anime_Add.Designer.vb b/Crunchyroll Downloader/Anime_Add.Designer.vb
index 860c3e7..139984a 100644
--- a/Crunchyroll Downloader/Anime_Add.Designer.vb
+++ b/Crunchyroll Downloader/Anime_Add.Designer.vb
@@ -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)
diff --git a/Crunchyroll Downloader/Anime_Add.vb b/Crunchyroll Downloader/Anime_Add.vb
index b3b23d0..0e8a8a8 100644
--- a/Crunchyroll Downloader/Anime_Add.vb
+++ b/Crunchyroll Downloader/Anime_Add.vb
@@ -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
diff --git a/Crunchyroll Downloader/ApplicationEvents.vb b/Crunchyroll Downloader/ApplicationEvents.vb
index df964a4..7d2b6c8 100644
--- a/Crunchyroll Downloader/ApplicationEvents.vb
+++ b/Crunchyroll Downloader/ApplicationEvents.vb
@@ -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)
diff --git a/Crunchyroll Downloader/CRD_List_Item.resx b/Crunchyroll Downloader/CRD_List_Item.resx
index 330d540..bd0375a 100644
--- a/Crunchyroll Downloader/CRD_List_Item.resx
+++ b/Crunchyroll Downloader/CRD_List_Item.resx
@@ -117,30 +117,6 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- True
-
-
- True
-
-
- True
-
-
- True
-
-
- True
-
-
- True
-
-
- True
-
-
- True
-
19, 12
@@ -150,16 +126,7 @@
207, 15
-
- True
-
-
- True
-
364, 15
-
- True
-
\ No newline at end of file
diff --git a/Crunchyroll Downloader/CRD_List_Item.vb b/Crunchyroll Downloader/CRD_List_Item.vb
index a9e864f..145dd67 100644
--- a/Crunchyroll Downloader/CRD_List_Item.vb
+++ b/Crunchyroll Downloader/CRD_List_Item.vb
@@ -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
diff --git a/Crunchyroll Downloader/GeckoFX.Designer.vb b/Crunchyroll Downloader/GeckoFX.Designer.vb
index b453dc4..76cdb92 100644
--- a/Crunchyroll Downloader/GeckoFX.Designer.vb
+++ b/Crunchyroll Downloader/GeckoFX.Designer.vb
@@ -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
diff --git a/Crunchyroll Downloader/GeckoFX.vb b/Crunchyroll Downloader/GeckoFX.vb
index 56bf4aa..7e4f6d6 100644
--- a/Crunchyroll Downloader/GeckoFX.vb
+++ b/Crunchyroll Downloader/GeckoFX.vb
@@ -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("
", "").Replace("", "").Replace("", "").Replace("
", ""))
+ Main.FunimationJsonBrowser = Nothing
+ ElseIf Main.FunimationJsonBrowser = "EpisodeJson" Then
+ Anime_Add.FillFunimationEpisodes(WebBrowser1.Document.Body.OuterHtml.Replace("", "").Replace("", "").Replace("", "").Replace("
", ""))
+ Main.FunimationJsonBrowser = Nothing
+ ElseIf Main.FunimationJsonBrowser = "v1Json" Then
+ Main.GetFunimationJS_VideoProxy(Nothing, WebBrowser1.Document.Body.OuterHtml.Replace("", "").Replace("", "").Replace("", "").Replace("
", ""))
+ 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
diff --git a/Crunchyroll Downloader/Main.designer.vb b/Crunchyroll Downloader/Main.designer.vb
index 46e7872..afd165d 100644
--- a/Crunchyroll Downloader/Main.designer.vb
+++ b/Crunchyroll Downloader/Main.designer.vb
@@ -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
diff --git a/Crunchyroll Downloader/Main.resx b/Crunchyroll Downloader/Main.resx
index a7e4bab..cb6c3ba 100644
--- a/Crunchyroll Downloader/Main.resx
+++ b/Crunchyroll Downloader/Main.resx
@@ -231,6 +231,12 @@
8
+
+ Link
+
+
+ 818
+
Microsoft Sans Serif, 93pt
@@ -261,12 +267,6 @@
4
-
- Link
-
-
- 818
-
Stretch
@@ -378,6 +378,31 @@
842, 630
+
+ None
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABoAAAAhCAYAAADH97ugAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+ xAAADsQBlSsOGwAAAAd0SU1FB+QMDQ03N1b5UIAAAAApSURBVEhL7cyxCQAwDASx339pZ4EUcTC4keDa
+ CwDMqs/abpOXAGBZcgDKSBvlblfsRgAAAABJRU5ErkJggg==
+
+
+
+ 764, 8
+
+
+ 0, 0, 0, 0
+
+
+ 25, 25
+
+
+ Zoom
+
+
+ 71
+
Btn_min
@@ -450,50 +475,22 @@
System.ComponentModel.BackgroundWorker, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ Timer4
+
+
+ System.Windows.Forms.Timer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
Main
MetroFramework.Forms.MetroForm, MetroFramework, Version=1.4.0.0, Culture=neutral, PublicKeyToken=5f91a84759bf584a
-
- None
-
-
-
- iVBORw0KGgoAAAANSUhEUgAAABoAAAAhCAYAAADH97ugAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
- xAAADsQBlSsOGwAAAAd0SU1FB+QMDQ03N1b5UIAAAAApSURBVEhL7cyxCQAwDASx339pZ4EUcTC4keDa
- CwDMqs/abpOXAGBZcgDKSBvlblfsRgAAAABJRU5ErkJggg==
-
-
-
- 764, 8
-
-
- 0, 0, 0, 0
-
-
- 25, 25
-
-
- Zoom
-
-
- 71
-
-
- Btn_min
-
-
- System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 0
-
714, 17
+
+ 877, 17
+
\ No newline at end of file
diff --git a/Crunchyroll Downloader/Main.vb b/Crunchyroll Downloader/Main.vb
index fa6f497..437c162 100644
--- a/Crunchyroll Downloader/Main.vb
+++ b/Crunchyroll Downloader/Main.vb
@@ -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
+
+
+ Public Enum EXECUTION_STATE As UInteger
+ ES_SYSTEM_REQUIRED = &H1
+ ES_DISPLAY_REQUIRED = &H2
+ ES_CONTINUOUS = &H80000000UI
+ End Enum
+
+
+ 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 + "
" + CR_season_title + " " + CR_episode + My.Resources.htmlvorAufloesung + ResoHTMLDisplay + My.Resources.htmlvorSoftSubs + vbNewLine + SubValuesToDisplay() + My.Resources.htmlvorHardSubs + Subsprache3 + My.Resources.htmlnachHardSubs + "")
@@ -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 + "
" + L2Name + My.Resources.htmlvorAufloesung + ResoHTMLDisplay + My.Resources.htmlvorSoftSubs + vbNewLine + SubValuesToDisplay() + My.Resources.htmlvorHardSubs + Subsprache3 + My.Resources.htmlnachHardSubs + "")
+ 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
diff --git a/Crunchyroll Downloader/bin/x86/Debug/AdBlock/CRD-Domain-Blocklist.txt b/Crunchyroll Downloader/bin/x86/Debug/AdBlock/CRD-Domain-Blocklist.txt
index 84ca24c..a1bcea4 100644
--- a/Crunchyroll Downloader/bin/x86/Debug/AdBlock/CRD-Domain-Blocklist.txt
+++ b/Crunchyroll Downloader/bin/x86/Debug/AdBlock/CRD-Domain-Blocklist.txt
@@ -12,4 +12,5 @@ js-agent.newrelic.com
www.googletagmanager.com
googletagmanager.com
ocsp.sca1b.amazontrust.com
-sa.etp-prod.com
\ No newline at end of file
+sa.etp-prod.com
+gum.criteo.com
\ No newline at end of file
diff --git a/Crunchyroll Downloader/bin/x86/Debug/Crunchyroll Downloader.exe b/Crunchyroll Downloader/bin/x86/Debug/Crunchyroll Downloader.exe
index bfa7aae..536e987 100644
Binary files a/Crunchyroll Downloader/bin/x86/Debug/Crunchyroll Downloader.exe and b/Crunchyroll Downloader/bin/x86/Debug/Crunchyroll Downloader.exe differ
diff --git a/Crunchyroll Downloader/bin/x86/Debug/Crunchyroll Downloader.pdb b/Crunchyroll Downloader/bin/x86/Debug/Crunchyroll Downloader.pdb
index 04b7f0b..d18933d 100644
Binary files a/Crunchyroll Downloader/bin/x86/Debug/Crunchyroll Downloader.pdb and b/Crunchyroll Downloader/bin/x86/Debug/Crunchyroll Downloader.pdb differ
diff --git a/Crunchyroll Downloader/einstellungen.Designer.vb b/Crunchyroll Downloader/einstellungen.Designer.vb
index a18f57a..b700436 100644
--- a/Crunchyroll Downloader/einstellungen.Designer.vb
+++ b/Crunchyroll Downloader/einstellungen.Designer.vb
@@ -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
diff --git a/Crunchyroll Downloader/einstellungen.resx b/Crunchyroll Downloader/einstellungen.resx
index f49b9b4..e809bf5 100644
--- a/Crunchyroll Downloader/einstellungen.resx
+++ b/Crunchyroll Downloader/einstellungen.resx
@@ -126,9 +126,6 @@
118, 20
-
- 118, 20
-
332, 20
diff --git a/Crunchyroll Downloader/einstellungen.vb b/Crunchyroll Downloader/einstellungen.vb
index 0fc28a1..41e3093 100644
--- a/Crunchyroll Downloader/einstellungen.vb
+++ b/Crunchyroll Downloader/einstellungen.vb
@@ -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
diff --git a/Crunchyroll Downloader/obj/x86/Debug/Crunchyroll Downloader.exe b/Crunchyroll Downloader/obj/x86/Debug/Crunchyroll Downloader.exe
index bfa7aae..536e987 100644
Binary files a/Crunchyroll Downloader/obj/x86/Debug/Crunchyroll Downloader.exe and b/Crunchyroll Downloader/obj/x86/Debug/Crunchyroll Downloader.exe differ
diff --git a/Crunchyroll Downloader/obj/x86/Debug/Crunchyroll Downloader.pdb b/Crunchyroll Downloader/obj/x86/Debug/Crunchyroll Downloader.pdb
index 04b7f0b..d18933d 100644
Binary files a/Crunchyroll Downloader/obj/x86/Debug/Crunchyroll Downloader.pdb and b/Crunchyroll Downloader/obj/x86/Debug/Crunchyroll Downloader.pdb differ
diff --git a/Crunchyroll Downloader/obj/x86/Debug/Crunchyroll Downloader.vbproj.GenerateResource.cache b/Crunchyroll Downloader/obj/x86/Debug/Crunchyroll Downloader.vbproj.GenerateResource.cache
index 378311f..d322b81 100644
Binary files a/Crunchyroll Downloader/obj/x86/Debug/Crunchyroll Downloader.vbproj.GenerateResource.cache and b/Crunchyroll Downloader/obj/x86/Debug/Crunchyroll Downloader.vbproj.GenerateResource.cache differ
diff --git a/Crunchyroll Downloader/obj/x86/Debug/Crunchyroll_Downloader.Main.resources b/Crunchyroll Downloader/obj/x86/Debug/Crunchyroll_Downloader.Main.resources
index dc7c1d0..061eae1 100644
Binary files a/Crunchyroll Downloader/obj/x86/Debug/Crunchyroll_Downloader.Main.resources and b/Crunchyroll Downloader/obj/x86/Debug/Crunchyroll_Downloader.Main.resources differ