2021-09-20 20:37:57 +02:00
Option Strict On
Imports Microsoft . Win32
2019-11-10 00:16:12 +01:00
Imports System . Net
2020-01-12 16:25:55 +01:00
Imports System . IO
2020-11-04 19:11:38 +01:00
Imports System . Threading
2020-12-10 19:18:20 +01:00
Imports MetroFramework . Forms
Imports MetroFramework
Imports MetroFramework . Components
2020-11-04 19:11:38 +01:00
2019-11-10 00:16:12 +01:00
Public Class Anime_Add
Public Mass_DL_Cancel As Boolean = False
Public List_DL_Cancel As Boolean = False
2021-04-05 19:08:42 +02:00
Public AoD_Cookie As String = Nothing
2020-11-04 19:11:38 +01:00
Dim AoD_OmUList As New List ( Of String )
Dim AoD_DubList As New List ( Of String )
2021-09-20 20:37:57 +02:00
Dim AoD_OmU_Episodes As New List ( Of AoDEpisodes )
Dim AoD_Dub_Episodes As New List ( Of AoDEpisodes )
Dim AoD_OmUVideoIDList As New List ( Of String )
Dim AoD_DubVideoIDList As New List ( Of String )
Public ThreadList As New List ( Of Thread )
Public ProcessedAoDNew As Integer = 0
Public ToProcessAoDNew As Integer = 200
2020-11-04 19:11:38 +01:00
Dim AoD_Mode As Boolean = False
Dim AoD_DL_running As Boolean = False
2020-12-02 21:01:30 +01:00
Public AoDHTML As String = Nothing
2021-04-05 19:08:42 +02:00
Public Authorization As String = Nothing
Public AuthorizationCookie As String = Nothing
2019-11-10 00:16:12 +01:00
Private Sub ComboBox2_SelectedIndexChanged ( sender As Object , e As EventArgs ) Handles ComboBox2 . SelectedIndexChanged
Try
2020-12-02 21:01:30 +01:00
If ComboBox2 . Text = SubFolder_Nothing Then
Dim rk As RegistryKey = Registry . CurrentUser . CreateSubKey ( " Software\CRDownloader " )
rk . SetValue ( " SubFolder_Value " , SubFolder_Nothing , RegistryValueKind . String )
SubFolder_Value = SubFolder_Nothing
ElseIf ComboBox2 . Text = SubFolder_automatic Then
2019-11-10 00:16:12 +01:00
Dim rk As RegistryKey = Registry . CurrentUser . CreateSubKey ( " Software\CRDownloader " )
2020-12-02 21:01:30 +01:00
rk . SetValue ( " SubFolder_Value " , SubFolder_automatic , RegistryValueKind . String )
SubFolder_Value = SubFolder_automatic
ElseIf ComboBox2 . Text = SubFolder_automatic2 Then
2019-11-10 00:16:12 +01:00
Dim rk As RegistryKey = Registry . CurrentUser . CreateSubKey ( " Software\CRDownloader " )
2020-12-02 21:01:30 +01:00
rk . SetValue ( " SubFolder_Value " , SubFolder_automatic2 , RegistryValueKind . String )
SubFolder_Value = SubFolder_automatic2
2019-11-10 00:16:12 +01:00
Else
Dim rk As RegistryKey = Registry . CurrentUser . CreateSubKey ( " Software\CRDownloader " )
rk . SetValue ( " SubFolder_Value " , ComboBox2 . Text , RegistryValueKind . String )
2020-12-02 21:01:30 +01:00
SubFolder_Value = ComboBox2 . Text
2019-11-10 00:16:12 +01:00
End If
Catch ex As Exception
2020-12-02 21:01:30 +01:00
ComboBox2 . Text = SubFolder_Nothing
2019-11-10 00:16:12 +01:00
End Try
End Sub
2020-12-10 19:18:20 +01:00
Dim Manager As MetroStyleManager = Main . Manager
2019-11-10 00:16:12 +01:00
Private Sub Anime_Add_Load ( sender As Object , e As EventArgs ) Handles MyBase . Load
2021-03-20 13:02:49 +01:00
SubTitlesOnlyCB . SelectedIndex = 0
2020-12-10 19:18:20 +01:00
Manager . Owner = Me
Me . StyleManager = Manager
2020-12-13 16:11:43 +01:00
Btn_Close . Image = Main . CloseImg
Btn_min . Image = Main . MinImg
2021-01-16 14:08:33 +01:00
ListBox1 . BackColor = Main . BackColorValue
ListBox1 . ForeColor = Main . ForeColorValue
2020-11-13 15:57:34 +01:00
Try
Me . Icon = My . Resources . icon
Catch ex As Exception
End Try
2020-06-01 18:43:38 +02:00
Try
2020-10-31 23:36:52 +01:00
Dim ListBox1List As New List ( Of String )
'Jeder Eintrag in der Combobox durchgehen
For Each item As String In Main . ListBoxList
'Wenn der Combobox-Eintrag noch nicht in der Result-List vorhanden ist, Eintrag der Result-List hinzufügen
If ListBox1List . Contains ( item ) = False Then
ListBox1List . Add ( item )
End If
2020-06-01 18:43:38 +02:00
Next
2020-10-31 23:36:52 +01:00
ListBox1 . Items . Clear ( )
'Die Result-List der Combobox hinzufügen
ListBox1 . Items . AddRange ( ListBox1List . ToArray )
'For i As Integer = 0 To Main.ListBoxList.Count - 1
' ListBox1.Items.Add(Main.ListBoxList.Item(i))
'Next
2020-06-01 18:43:38 +02:00
Catch ex As Exception
End Try
2020-01-12 16:25:55 +01:00
Try
Main . waveOutSetVolume ( 0 , 0 )
Catch ex As Exception
End Try
2021-09-20 20:37:57 +02:00
Me . Location = New Point ( CInt ( Main . Location . X + Main . Width / 2 - Me . Width / 2 ) , CInt ( Main . Location . Y + Main . Height / 2 - Me . Height / 2 ) )
2019-11-10 00:16:12 +01:00
TextBox4 . Text = Main . Pfad
2020-12-02 21:01:30 +01:00
' Dim SubFolder_Value As String
2019-11-10 00:16:12 +01:00
Try
Dim rkg As RegistryKey = Registry . CurrentUser . OpenSubKey ( " Software\CRDownloader " )
SubFolder_Value = rkg . GetValue ( " SubFolder_Value " ) . ToString
2020-12-02 21:01:30 +01:00
If SubFolder_Value = SubFolder_Nothing Then
ComboBox2 . Items . Add ( SubFolder_automatic )
ComboBox2 . Items . Add ( SubFolder_automatic2 )
ComboBox2 . Items . Add ( SubFolder_Nothing )
ElseIf SubFolder_Value = SubFolder_automatic Then
ComboBox2 . Items . Add ( SubFolder_automatic )
ComboBox2 . Items . Add ( SubFolder_automatic2 )
ComboBox2 . Items . Add ( SubFolder_Nothing )
ElseIf SubFolder_Value = SubFolder_automatic2 Then
ComboBox2 . Items . Add ( SubFolder_automatic )
ComboBox2 . Items . Add ( SubFolder_automatic2 )
ComboBox2 . Items . Add ( SubFolder_Nothing )
2019-11-10 00:16:12 +01:00
Else
2020-12-02 21:01:30 +01:00
ComboBox2 . Items . Add ( SubFolder_automatic )
ComboBox2 . Items . Add ( SubFolder_automatic2 )
ComboBox2 . Items . Add ( SubFolder_Nothing )
2019-11-10 00:16:12 +01:00
ComboBox2 . Items . Add ( SubFolder_Value )
End If
Catch ex As Exception
2020-12-02 21:01:30 +01:00
ComboBox2 . Items . Add ( SubFolder_automatic )
ComboBox2 . Items . Add ( SubFolder_automatic2 )
ComboBox2 . Items . Add ( SubFolder_Nothing )
ComboBox2 . SelectedItem = SubFolder_Nothing
SubFolder_Value = SubFolder_Nothing
2019-11-10 00:16:12 +01:00
End Try
Try
Dim di As New System . IO . DirectoryInfo ( Main . 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
ComboBox2 . Items . Add ( fi . Name )
End If
Next
Dim Result As New List ( Of String )
'Jeder Eintrag in der Combobox durchgehen
For Each item As String In ComboBox2 . Items
'Wenn der Combobox-Eintrag noch nicht in der Result-List vorhanden ist, Eintrag der Result-List hinzufügen
If Result . Contains ( item ) = False Then
Result . Add ( item )
End If
Next
'In der Result-List sind jetzt alle Einträge einmal vorhanden
'Combobox leeren
ComboBox2 . Items . Clear ( )
'Die Result-List der Combobox hinzufügen
ComboBox2 . Items . AddRange ( Result . ToArray )
ComboBox2 . SelectedItem = SubFolder_Value
Catch ex As Exception
End Try
End Sub
2021-09-20 20:37:57 +02:00
'Public Sub BetaCR(ByVal Auth As String, ByVal Cookie As String)
2021-04-05 19:08:42 +02:00
2021-09-20 20:37:57 +02:00
' Try
' Using client As New WebClient()
' client.Encoding = System.Text.Encoding.UTF8
' client.Headers.Add(My.Resources.ffmpeg_user_agend.Replace(Chr(34), ""))
' client.Headers.Add("ACCEPT: gzip")
' client.Headers.Add("Cookie: " + Cookie)
' client.Headers.Add("Authorization: " + Auth)
' client.Headers.Add("Content-Type: application/x-www-form-urlencoded")
' client.Headers.Add("Referer: https://beta.crunchyroll.com/") '
' Dim reqparm As New Specialized.NameValueCollection
2021-04-05 19:08:42 +02:00
2021-09-20 20:37:57 +02:00
' reqparm.Add("grant_type", "etp_rt_cookie")
' Dim responsebytes = client.UploadValues("https://beta-api.crunchyroll.com/auth/v1/token", "POST", reqparm)
' Dim responsebody = (New Text.UTF8Encoding).GetString(responsebytes)
' 'My.Computer.Clipboard.SetText(responsebody)
' End Using
' Catch ex As Exception
' MsgBox(ex.ToString)
' End Try
2021-04-05 19:08:42 +02:00
2019-11-10 00:16:12 +01:00
2021-09-20 20:37:57 +02:00
'End Sub
Private Sub Btn_dl_Click ( sender As Object , e As EventArgs ) Handles btn_dl . Click
CefSharp_Browser . Show ( )
2020-06-01 18:43:38 +02:00
Main . LoginOnly = " Download Mode! "
2021-09-20 20:37:57 +02:00
'MsgBox(Main.WebbrowserURL)
2021-03-20 13:02:49 +01:00
If SubTitlesOnlyCB . Text = " [Default] " Then
Main . SubsOnly = False
Else
Main . SubsOnly = True
End If
2019-11-10 00:16:12 +01:00
If groupBox1 . Visible = True Then
2021-09-20 20:37:57 +02:00
2019-11-10 00:16:12 +01:00
Try
2021-09-20 20:37:57 +02:00
If CBool ( InStr ( textBox1 . Text , " crunchyroll.com " ) ) Or CBool ( InStr ( textBox1 . Text , " funimation.com " ) ) Or CBool ( InStr ( textBox1 . Text , " vrv.co/series/ " ) ) Or CBool ( InStr ( textBox1 . Text , " vrv.co/watch/ " ) ) Then
2021-04-05 19:08:42 +02:00
#Region "Funimation url parameter"
2021-05-23 22:27:56 +02:00
If CBool ( InStr ( textBox1 . Text , " funimation.com " ) ) Then
Main . WebbrowserURL = textBox1 . Text
2021-07-04 17:22:46 +02:00
'If CBool(InStr(Main.FunimationAPIRegion, "?region=")) And CBool(InStr(textBox1.Text, "/shows/")) Then
2021-05-23 22:27:56 +02:00
2021-07-04 17:22:46 +02:00
'ProcessFunimationJS(textBox1.Text)
2021-05-23 22:27:56 +02:00
2021-07-04 17:22:46 +02:00
'Exit Sub
'End If
2021-05-23 22:27:56 +02:00
2021-01-16 14:08:33 +01:00
If Main . DubFunimation = " Disabled " Then
2019-11-10 00:16:12 +01:00
Else
2021-09-20 20:37:57 +02:00
If CBool ( InStr ( textBox1 . Text , " ?lang= " ) ) Then
2021-01-16 14:08:33 +01:00
Dim ClearUri As String ( ) = textBox1 . Text . Split ( New String ( ) { " ?lang= " } , System . StringSplitOptions . RemoveEmptyEntries )
If ClearUri . Count > 1 Then
2021-09-20 20:37:57 +02:00
If CBool ( InStr ( ClearUri ( 1 ) , " & " ) ) Then
2021-01-16 14:08:33 +01:00
Dim ClearUri2 As String ( ) = ClearUri ( 1 ) . Split ( New String ( ) { " & " } , System . StringSplitOptions . RemoveEmptyEntries )
Dim Parms As String = Nothing
2021-03-08 21:08:26 +01:00
For i As Integer = 1 To ClearUri2 . Count - 1
2021-01-16 14:08:33 +01:00
Parms = Parms + " & " + ClearUri2 ( i )
Next
textBox1 . Text = ClearUri ( 0 ) + " ?lang= " + Main . DubFunimation + Parms
Else
textBox1 . Text = ClearUri ( 0 ) + " ?lang= " + Main . DubFunimation
End If
Else
textBox1 . Text = ClearUri ( 0 ) + " ?lang= " + Main . DubFunimation
End If
2021-09-20 20:37:57 +02:00
ElseIf CBool ( InStr ( textBox1 . Text , " &lang= " ) ) Then
2021-01-16 14:08:33 +01:00
Dim ClearUri As String ( ) = textBox1 . Text . Split ( New String ( ) { " &lang= " } , System . StringSplitOptions . RemoveEmptyEntries )
If ClearUri . Count > 1 Then
2021-09-20 20:37:57 +02:00
If CBool ( InStr ( ClearUri ( 1 ) , " & " ) ) Then
2021-01-16 14:08:33 +01:00
Dim ClearUri2 As String ( ) = ClearUri ( 1 ) . Split ( New String ( ) { " & " } , System . StringSplitOptions . RemoveEmptyEntries )
Dim Parms As String = Nothing
For i As Integer = 1 To ClearUri2 . Count - 1
Parms = Parms + " & " + ClearUri2 ( i )
Next
textBox1 . Text = ClearUri ( 0 ) + " &lang= " + Main . DubFunimation + Parms
Else
textBox1 . Text = ClearUri ( 0 ) + " &lang= " + Main . DubFunimation
End If
Else
textBox1 . Text = ClearUri ( 0 ) + " &lang= " + Main . DubFunimation
End If
2021-09-20 20:37:57 +02:00
ElseIf CBool ( InStr ( textBox1 . Text , " ? " ) ) Then
2020-11-19 22:28:42 +01:00
textBox1 . AppendText ( " &lang= " + Main . DubFunimation )
Else
textBox1 . AppendText ( " ?lang= " + Main . DubFunimation )
2019-11-10 00:16:12 +01:00
End If
End If
2021-09-20 20:37:57 +02:00
'ElseIf CBool(InStr(textBox1.Text, "vrv.co/series/")) Then
2021-01-16 14:08:33 +01:00
2019-11-10 00:16:12 +01:00
End If
2021-04-05 19:08:42 +02:00
#End Region
2020-11-19 22:28:42 +01:00
If StatusLabel . Text = " Status: waiting for episode selection " Then
2020-12-21 12:18:18 +01:00
If MessageBox . Show ( " Are you sure you want cancel the advanced download? " , " confirm? " , MessageBoxButtons . YesNo , MessageBoxIcon . Question ) = DialogResult . Yes Then
StatusLabel . Text = " Status: idle "
2020-11-19 22:28:42 +01:00
Else
2020-12-21 12:18:18 +01:00
Exit Sub
2021-09-20 20:37:57 +02:00
btn_dl . Enabled = True
2020-11-04 19:11:38 +01:00
End If
2020-12-21 12:18:18 +01:00
'ElseIf LabelUpdate = "Status: looking for video file" Then
' Exit Sub
' pictureBox4.Enabled = True
Else
If Main . RunningDownloads >= Main . MaxDL Then
ListBox1 . Items . Add ( textBox1 . Text )
textBox1 . ForeColor = Color . FromArgb ( 9248044 )
2020-11-19 22:28:42 +01:00
Pause ( 1 )
2020-12-21 12:18:18 +01:00
textBox1 . ForeColor = Color . Black
textBox1 . Text = " URL "
Else
If Main . Grapp_RDY = True Then
2021-07-04 17:22:46 +02:00
2020-12-21 12:18:18 +01:00
Main . b = False
2021-09-20 20:37:57 +02:00
Debug . WriteLine ( " Start loading: " + Date . Now . ToString )
CefSharp_Browser . WebBrowser1 . Load ( textBox1 . Text )
2021-07-04 17:22:46 +02:00
StatusLabel . Text = " Status: loading .... "
2020-11-19 22:28:42 +01:00
End If
2020-12-21 12:18:18 +01:00
End If
End If
2021-04-05 19:08:42 +02:00
#Region "AoD"
2020-12-21 12:18:18 +01:00
ElseIf CBool ( InStr ( textBox1 . Text , " anime-on-demand.de " ) ) Then
2021-03-20 13:02:49 +01:00
If Main . SubsOnly = True Then
MsgBox ( " Anime on Demand wird nicht im [Subtitles only] modus unterstützt " + vbNewLine + " Normaler Download modus ist aktiv! " , MsgBoxStyle . Information )
Main . SubsOnly = False
SubTitlesOnlyCB . Text = " [Default] "
End If
2020-12-21 12:18:18 +01:00
Main . b = False
2021-03-20 13:02:49 +01:00
2021-09-20 20:37:57 +02:00
CefSharp_Browser . WebBrowser1 . Load ( textBox1 . Text )
2021-04-05 19:08:42 +02:00
#End Region
2020-11-04 19:11:38 +01:00
2020-12-02 21:01:30 +01:00
ElseIf CBool ( InStr ( textBox1 . Text , " Test=true " ) ) Then
2021-09-20 20:37:57 +02:00
CefSharp_Browser . WebBrowser1 . Load ( textBox1 . Text )
2021-02-07 13:47:30 +01:00
'Else 'If CBool(InStr(textBox1.Text, "vrv.co")) Then
ElseIf CBool ( InStr ( textBox1 . Text , " https:// " ) ) Then
2020-12-21 12:18:18 +01:00
If MessageBox . Show ( " This in NOT a Crunchyroll URL, try anyway? " , " confirm? " , MessageBoxButtons . YesNo , MessageBoxIcon . Question ) = DialogResult . Yes Then
2021-04-05 19:08:42 +02:00
Main . b = False
2021-09-20 20:37:57 +02:00
CefSharp_Browser . WebBrowser1 . Load ( textBox1 . Text )
2019-12-21 14:40:47 +01:00
StatusLabel . Text = " Status: looking for non CR video file "
2021-04-05 19:08:42 +02:00
2019-12-21 14:40:47 +01:00
Else
Exit Sub
2021-09-20 20:37:57 +02:00
btn_dl . Enabled = True
2019-12-21 14:40:47 +01:00
End If
2021-09-20 20:37:57 +02:00
Else
MsgBox ( Main . URL_Invaild , MsgBoxStyle . OkOnly )
2019-11-10 00:16:12 +01:00
End If
Catch ex As Exception
2021-05-23 22:27:56 +02:00
MsgBox ( ex . ToString )
2019-11-10 00:16:12 +01:00
Main . b = True
MsgBox ( Main . URL_Invaild , MsgBoxStyle . OkOnly )
End Try
ElseIf groupBox2 . Visible = True Then
2021-04-05 19:08:42 +02:00
2019-11-10 00:16:12 +01:00
If Mass_DL_Cancel = True Then
Mass_DL_Cancel = False
GroupBox3 . Visible = False
groupBox2 . Visible = False
Main . Grapp_Abord = True
Main . b = True
groupBox1 . Visible = True
2021-09-20 20:37:57 +02:00
btn_dl . BackgroundImage = My . Resources . main_button_download_default
2021-05-23 22:27:56 +02:00
ElseIf CBool ( InStr ( Main . WebbrowserURL , " funimation.com " ) ) = True Then
StatusLabel . Text = " Status: idle "
2021-09-20 20:37:57 +02:00
'btn_dl.BackgroundImage = My.Resources.add_mass_running_cancel
btn_dl . Text = " Cancel "
2021-05-23 22:27:56 +02:00
Mass_DL_Cancel = True
PictureBox1 . Enabled = False
PictureBox1 . Visible = False
Main . DownloadFunimationJS_Seasons ( )
comboBox4 . Enabled = False
comboBox3 . Enabled = False
ComboBox1 . Enabled = False
2021-04-05 19:08:42 +02:00
ElseIf CBool ( InStr ( Main . WebbrowserURL , " beta.crunchyroll.com " ) ) = True Then
StatusLabel . Text = " Status: idle "
2021-09-20 20:37:57 +02:00
'btn_dl.BackgroundImage = My.Resources.add_mass_running_cancel
btn_dl . Text = " Cancel "
2021-04-05 19:08:42 +02:00
Mass_DL_Cancel = True
PictureBox1 . Enabled = False
PictureBox1 . Visible = False
2021-09-20 20:37:57 +02:00
2021-04-05 19:08:42 +02:00
Main . DownloadBetaSeasons ( )
comboBox4 . Enabled = False
comboBox3 . Enabled = False
ComboBox1 . Enabled = False
2021-09-20 20:37:57 +02:00
ElseIf CBool ( InStr ( Main . WebbrowserURL , " vrv.co " ) ) = True Then
2021-04-05 19:08:42 +02:00
2021-09-20 20:37:57 +02:00
StatusLabel . Text = " Status: idle "
'btn_dl.BackgroundImage = My.Resources.add_mass_running_cancel
btn_dl . Text = " Cancel "
Mass_DL_Cancel = True
PictureBox1 . Enabled = False
PictureBox1 . Visible = False
Main . Download_VRV_Seasons ( )
comboBox4 . Enabled = False
comboBox3 . Enabled = False
ComboBox1 . Enabled = False
2020-11-04 19:11:38 +01:00
ElseIf AoD_Mode = True Then
If AoD_DL_running = False Then
2020-11-05 20:43:52 +01:00
If comboBox3 . SelectedIndex < 0 And comboBox4 . SelectedIndex < 0 Then
MsgBox ( " Error nothing selected! " , MsgBoxStyle . Exclamation )
Exit Sub
ElseIf comboBox3 . SelectedIndex < 0 Or comboBox4 . SelectedIndex < 0 Then
2020-11-19 22:28:42 +01:00
'MsgBox("deteced!", MsgBoxStyle.Exclamation)
2020-11-05 20:43:52 +01:00
If comboBox3 . SelectedIndex < 0 Then
'MsgBox("deteced! 3", MsgBoxStyle.Exclamation)
Dim CB4 As Integer = comboBox4 . SelectedIndex
comboBox3 . SelectedIndex = CB4
comboBox3 . SelectedIndex = CB4
ElseIf comboBox4 . SelectedIndex < 0 Then
'MsgBox("deteced! 4", MsgBoxStyle.Exclamation)
Dim CB3 As Integer = comboBox3 . SelectedIndex
comboBox4 . SelectedIndex = CB3
comboBox4 . SelectedIndex = CB3
Else
MsgBox ( " Error nothing selected! " , MsgBoxStyle . Exclamation )
Exit Sub
End If
Else
'MsgBox("not deteced!", MsgBoxStyle.Exclamation)
End If
2020-11-04 19:11:38 +01:00
AoD_DL_running = True
ComboBox1 . Enabled = False
comboBox3 . Enabled = False
comboBox4 . Enabled = False
Dim Evaluator = New Thread ( Sub ( ) Me . Add_AoD ( ) )
Evaluator . Start ( )
PictureBox1 . Enabled = False
PictureBox1 . Visible = False
End If
'Add_AoD()
2019-11-10 00:16:12 +01:00
Else
2020-11-04 19:11:38 +01:00
2019-11-10 00:16:12 +01:00
StatusLabel . Text = " Status: idle "
2021-09-20 20:37:57 +02:00
'btn_dl.BackgroundImage = My.Resources.add_mass_running_cancel
btn_dl . Text = " Cancel "
2019-11-10 00:16:12 +01:00
Mass_DL_Cancel = True
PictureBox1 . Enabled = False
PictureBox1 . Visible = False
Main . MassDL ( )
comboBox4 . Enabled = False
comboBox3 . Enabled = False
ComboBox1 . Enabled = False
End If
2021-04-05 19:08:42 +02:00
2020-01-12 16:25:55 +01:00
ElseIf GroupBox3 . Visible = True Then
2021-05-23 22:27:56 +02:00
GroupBox3 . Visible = False
2019-11-10 00:16:12 +01:00
groupBox2 . Visible = False
groupBox1 . Visible = True
List_DL_Cancel = False
2021-09-20 20:37:57 +02:00
btn_dl . BackgroundImage = My . Resources . main_button_download_default
2019-11-10 00:16:12 +01:00
End If
2020-09-30 18:24:45 +02:00
2021-09-20 20:37:57 +02:00
btn_dl . Enabled = True
2019-11-10 00:16:12 +01:00
End Sub
2021-05-23 22:27:56 +02:00
Public Sub ProcessFunimationJS ( ByVal InputURL As String )
Dim FunUri As String = Nothing
2021-09-20 20:37:57 +02:00
If CBool ( InStr ( InputURL , " ? " ) ) Then
2021-05-23 22:27:56 +02:00
Dim ClearUri As String ( ) = InputURL . Split ( New String ( ) { " ? " } , System . StringSplitOptions . RemoveEmptyEntries )
FunUri = ClearUri ( 0 )
Else
FunUri = InputURL
End If
Dim ShowPath As String = Nothing
Dim EpisodePath As String = Nothing
Dim ShowPath1 As String ( ) = FunUri . Split ( New String ( ) { " /shows/ " } , System . StringSplitOptions . RemoveEmptyEntries )
2021-09-20 20:37:57 +02:00
'If CBool(InStr(ShowPath1(1), "/") Then
2021-05-23 22:27:56 +02:00
Dim ShowPath2 As String ( ) = ShowPath1 ( 1 ) . Split ( New String ( ) { " / " } , System . StringSplitOptions . RemoveEmptyEntries )
If ShowPath2 . Count > 1 Then
2021-09-20 20:37:57 +02:00
ShowPath = ShowPath2 ( 0 ) . Replace ( " / " , " " )
EpisodePath = ShowPath2 ( 1 ) . Replace ( " / " , " " )
2021-05-23 22:27:56 +02:00
Else
2021-09-20 20:37:57 +02:00
ShowPath = ShowPath1 ( 1 ) . Replace ( " / " , " " )
2021-05-23 22:27:56 +02:00
End If
2021-09-20 20:37:57 +02:00
Main . FunimationShowPath = ShowPath + " / "
Debug . WriteLine ( ShowPath )
Debug . WriteLine ( Main . FunimationAPIRegion )
2021-05-23 22:27:56 +02:00
If EpisodePath = Nothing Then 'overview site
Main . GetFunimationJS_Seasons ( " https://title-api.prd.funimationsvc.com/v2/shows/ " + ShowPath + Main . FunimationAPIRegion )
Else 'single episode
End If
Dim FunimationCC As String ( ) = ShowPath1 ( 0 ) . Split ( New String ( ) { " funimation.com " } , System . StringSplitOptions . RemoveEmptyEntries )
If FunimationCC . Count > 1 Then
Main . FunimationRegion = FunimationCC ( 1 ) . Replace ( " / " , " " )
End If
End Sub
2021-09-20 20:37:57 +02:00
Public Sub ProcessAoDNew ( )
'My.Computer.Clipboard.SetText(Main.WebbrowserText)
'MsgBox("set")
AoD_OmUVideoIDList . Clear ( )
AoD_DubVideoIDList . Clear ( )
If AoD_Cookie = Nothing Then
MsgBox ( Main . LoginReminder )
Main . Text = " Crunchyroll Downloader "
Main . Invalidate ( )
StatusLabel . Text = " Status: idle "
Exit Sub
End If
Debug . WriteLine ( " running " )
If Main . WebbrowserText = Nothing Then
Debug . WriteLine ( " Main.WebbrowserText true " )
Else
Debug . WriteLine ( " Main.WebbrowserText false " )
End If
Dim Evaluator = New Thread ( Sub ( ) Me . AddToList ( Main . WebbrowserText ) )
Evaluator . Start ( )
ThreadList . Add ( Evaluator )
Debug . WriteLine ( " running2 " )
End Sub
Sub AddToList ( ByVal html As String )
If html = Nothing Then
Me . Invoke ( New Action ( Function ( ) As Object
html = Main . WebbrowserText
Return Nothing
End Function ) )
End If
If CBool ( InStr ( html , " <div class= " + Chr ( 34 ) + " flipper " + Chr ( 34 ) + " > " ) ) Then
Dim VideoFlipper_Split ( ) As String = html . Split ( New String ( ) { " <div class= " + Chr ( 34 ) + " flipper " + Chr ( 34 ) + " > " } , System . StringSplitOptions . RemoveEmptyEntries )
Debug . WriteLine ( VideoFlipper_Split . ToString )
For ii As Integer = 0 To VideoFlipper_Split . Count - 1
If CBool ( InStr ( VideoFlipper_Split ( ii ) , " <h3 class= " + Chr ( 34 ) + " episodebox-title " + Chr ( 34 ) + " title= " + Chr ( 34 ) ) ) Then
Dim VideoName_Split ( ) As String = VideoFlipper_Split ( ii ) . Split ( New String ( ) { " <h3 class= " + Chr ( 34 ) + " episodebox-title " + Chr ( 34 ) + " title= " + Chr ( 34 ) } , System . StringSplitOptions . RemoveEmptyEntries )
Dim VideoName_Split2 ( ) As String = VideoName_Split ( 1 ) . Split ( New String ( ) { Chr ( 34 ) + " > " } , System . StringSplitOptions . RemoveEmptyEntries )
Dim VideoName_Split3 ( ) As String = VideoName_Split2 ( 0 ) . Split ( New String ( ) { " - " } , System . StringSplitOptions . RemoveEmptyEntries )
Dim VideoName As String = VideoName_Split3 ( 0 )
Dim VideoIDs_Split ( ) As String = VideoFlipper_Split ( ii ) . Split ( New String ( ) { " videomaterialurl/ " } , System . StringSplitOptions . RemoveEmptyEntries )
For i As Integer = 0 To VideoIDs_Split . Count - 1
If CBool ( InStr ( VideoIDs_Split ( i ) , " /OmU/ " ) ) Then
Dim OmUVideoIDs_Split ( ) As String = VideoIDs_Split ( i ) . Split ( New String ( ) { Chr ( 34 ) } , System . StringSplitOptions . RemoveEmptyEntries )
Dim VideoStreamUrl As String = " https://www.anime-on-demand.de/videomaterialurl/ " + OmUVideoIDs_Split ( 0 )
If Not AoD_OmUVideoIDList . Contains ( VideoStreamUrl ) Then
AoD_OmUVideoIDList . Add ( VideoStreamUrl )
AoD_OmU_Episodes . Add ( New AoDEpisodes ( VideoName , VideoStreamUrl ) )
Debug . WriteLine ( " OmU: " + VideoName + " " + VideoStreamUrl )
End If
ElseIf CBool ( InStr ( VideoIDs_Split ( i ) , " /Dub/ " ) ) Then
Dim DubVideoIDs_Split ( ) As String = VideoIDs_Split ( i ) . Split ( New String ( ) { Chr ( 34 ) } , System . StringSplitOptions . RemoveEmptyEntries )
Dim VideoStreamUrl As String = " https://www.anime-on-demand.de/videomaterialurl/ " + DubVideoIDs_Split ( 0 )
If Not AoD_DubVideoIDList . Contains ( VideoStreamUrl ) Then
AoD_DubVideoIDList . Add ( VideoStreamUrl )
AoD_Dub_Episodes . Add ( New AoDEpisodes ( VideoName , VideoStreamUrl ) )
Debug . WriteLine ( " Dub: " + VideoName + " " + VideoStreamUrl )
End If
End If
Next
End If
Next
End If
Me . Invoke ( New Action ( Function ( ) As Object
If AoD_Dub_Episodes . Count > 0 And AoD_OmU_Episodes . Count > 0 Then
ComboBox1 . Items . Clear ( )
ComboBox1 . Text = Nothing
GroupBox3 . Visible = False
groupBox2 . Visible = True
groupBox1 . Visible = False
ComboBox1 . Enabled = True
comboBox3 . Enabled = False
comboBox4 . Enabled = False
ComboBox1 . Items . Add ( " Dub " )
ComboBox1 . Items . Add ( " OmU " )
AoD_Mode = True
ElseIf AoD_Dub_Episodes . Count > 0 Or AoD_OmU_Episodes . Count > 0 Then
ComboBox1 . Items . Clear ( )
ComboBox1 . Text = Nothing
GroupBox3 . Visible = False
groupBox2 . Visible = True
groupBox1 . Visible = False
ComboBox1 . Enabled = False
comboBox3 . Enabled = True
comboBox4 . Enabled = True
FillAoDDropDown ( )
AoD_Mode = True
End If
Return Nothing
End Function ) )
End Sub
Private Sub FillAoDDropDown ( )
comboBox3 . Items . Clear ( )
comboBox4 . Items . Clear ( )
If AoD_OmU_Episodes . Count > 0 Then
For i As Integer = 0 To AoD_OmU_Episodes . Count - 1
comboBox3 . Items . Add ( AoD_OmU_Episodes . Item ( i ) . Name )
comboBox4 . Items . Add ( AoD_OmU_Episodes . Item ( i ) . Name )
Next
ElseIf AoD_Dub_Episodes . Count > 0 Then
For i As Integer = 0 To AoD_Dub_Episodes . Count - 1
comboBox3 . Items . Add ( AoD_Dub_Episodes . Item ( i ) . Name )
comboBox4 . Items . Add ( AoD_Dub_Episodes . Item ( i ) . Name )
Next
End If
End Sub
#Region "Old AoD"
2021-04-05 19:08:42 +02:00
Public Sub ProcessAoD ( )
AoD_DubList . Clear ( )
AoD_OmUList . Clear ( )
2021-09-20 20:37:57 +02:00
AoD_OmUVideoIDList . Clear ( )
AoD_DubVideoIDList . Clear ( )
2021-04-05 19:08:42 +02:00
If AoD_Cookie = Nothing Then
MsgBox ( Main . LoginReminder )
Main . Text = " Crunchyroll Downloader "
Main . Invalidate ( )
StatusLabel . Text = " Status: idle "
Exit Sub
End If
2019-11-10 00:16:12 +01:00
2021-05-01 13:56:48 +02:00
'My.Computer.FileSystem.WriteAllText(Application.StartupPath + "\test.log", Main.WebbrowserText, False)
2021-04-05 19:08:42 +02:00
If CBool ( InStr ( Main . WebbrowserText , " /OmU/1080/hlsfirst/ " ) ) Then
Dim OmUStreamSplit ( ) As String = Main . WebbrowserText . Split ( New String ( ) { " /OmU/1080/hlsfirst/ " } , System . StringSplitOptions . RemoveEmptyEntries )
Dim OmUStreamSplitToken ( ) As String = OmUStreamSplit ( 1 ) . Split ( New String ( ) { Chr ( 34 ) } , System . StringSplitOptions . RemoveEmptyEntries )
2019-11-10 00:16:12 +01:00
2021-04-05 19:08:42 +02:00
Dim OmUStreamSplitEpisodeIndex ( ) As String = OmUStreamSplit ( 0 ) . Split ( New String ( ) { " /videomaterialurl/ " } , System . StringSplitOptions . RemoveEmptyEntries )
Dim OmUStreamSplitEpisodeIndex2 ( ) As String = OmUStreamSplitEpisodeIndex ( 1 ) . Split ( New String ( ) { " / " } , System . StringSplitOptions . RemoveEmptyEntries )
Dim m3u8Strings As String = Nothing
2021-05-01 13:56:48 +02:00
Dim VideoStreamUrls As String = " https://www.anime-on-demand.de/videomaterialurl/ " + OmUStreamSplitEpisodeIndex2 ( 0 ) + " /OmU/1080/hlsfirst/ " + OmUStreamSplitToken ( 0 )
VideoStreamUrls = VideoStreamUrls . Replace ( " /single " , " " )
2021-04-05 19:08:42 +02:00
Try
Using client As New WebClient ( )
client . Encoding = System . Text . Encoding . UTF8
client . Headers . Add ( My . Resources . ffmpeg_user_agend . Replace ( Chr ( 34 ) , " " ) )
client . Headers . Add ( " ACCEPT: application/json, text/javascript, */*; q=0.01 " )
client . Headers . Add ( " Accept-Encoding: gzip, deflate, br " )
client . Headers . Add ( " X-Requested-With: XMLHttpRequest " )
2021-09-20 20:37:57 +02:00
client . Headers . Add ( " Cookie: " + AoD_Cookie ) '+ WebBrowser1.Document.Cookie)
2021-05-01 13:56:48 +02:00
'MsgBox("https://www.anime-on-demand.de/videomaterialurl/" + OmUStreamSplitEpisodeIndex2(0) + "/OmU/1080/hlsfirst/" + OmUStreamSplitToken(0))
m3u8Strings = client . DownloadString ( VideoStreamUrls )
2021-04-05 19:08:42 +02:00
'("Sub: " + m3u8Strings)
End Using
Catch ex As Exception
2021-05-01 13:56:48 +02:00
MsgBox ( ex . ToString + vbNewLine + VideoStreamUrls )
2021-04-05 19:08:42 +02:00
End Try
If m3u8Strings = Nothing Then
Else
Dim OmUStreams ( ) As String = m3u8Strings . Split ( New String ( ) { My . Resources . AoD_files } , System . StringSplitOptions . RemoveEmptyEntries )
For i As Integer = 1 To OmUStreams . Count - 1
AoD_OmUList . Add ( OmUStreams ( i ) )
Next
End If
End If
If CBool ( InStr ( Main . WebbrowserText , " /Dub/1080/hlsfirst/ " ) ) Then
2021-05-01 13:56:48 +02:00
2021-04-05 19:08:42 +02:00
Dim DubStreamSplit ( ) As String = Main . WebbrowserText . Split ( New String ( ) { " /Dub/1080/hlsfirst/ " } , System . StringSplitOptions . RemoveEmptyEntries )
Dim DubStreamSplitToken ( ) As String = DubStreamSplit ( 1 ) . Split ( New String ( ) { Chr ( 34 ) } , System . StringSplitOptions . RemoveEmptyEntries )
Dim DubStreamSplitEpisodeIndex ( ) As String = DubStreamSplit ( 0 ) . Split ( New String ( ) { " /videomaterialurl/ " } , System . StringSplitOptions . RemoveEmptyEntries )
2021-05-01 13:56:48 +02:00
Dim DubStreamSplitEpisodeIndex2 ( ) As String = DubStreamSplitEpisodeIndex ( DubStreamSplitEpisodeIndex . Count - 1 ) . Split ( New String ( ) { " / " } , System . StringSplitOptions . RemoveEmptyEntries )
2021-04-05 19:08:42 +02:00
Dim m3u8Strings As String = Nothing
2021-05-01 13:56:48 +02:00
Dim VideoStreamUrls As String = " https://www.anime-on-demand.de/videomaterialurl/ " + DubStreamSplitEpisodeIndex2 ( 0 ) + " /Dub/1080/hlsfirst/ " + DubStreamSplitToken ( 0 )
VideoStreamUrls = VideoStreamUrls . Replace ( " /single " , " " )
2021-04-05 19:08:42 +02:00
Try
Using client As New WebClient ( )
client . Encoding = System . Text . Encoding . UTF8
client . Headers . Add ( My . Resources . ffmpeg_user_agend . Replace ( Chr ( 34 ) , " " ) )
client . Headers . Add ( " ACCEPT: application/json, text/javascript, */*; q=0.01 " )
client . Headers . Add ( " Accept-Encoding: gzip, deflate, br " )
client . Headers . Add ( " X-Requested-With: XMLHttpRequest " )
2021-09-20 20:37:57 +02:00
client . Headers . Add ( " Cookie: " + AoD_Cookie ) '+ WebBrowser1.Document.Cookie)
2021-04-05 19:08:42 +02:00
'MsgBox(DubStreamSplitEpisodeIndex(1))
2021-05-01 13:56:48 +02:00
m3u8Strings = client . DownloadString ( VideoStreamUrls )
2021-04-05 19:08:42 +02:00
'MsgBox("Dub: " + m3u8Strings)
End Using
Catch ex As Exception
2021-05-01 13:56:48 +02:00
MsgBox ( ex . ToString + vbNewLine + VideoStreamUrls )
2021-04-05 19:08:42 +02:00
End Try
If m3u8Strings = Nothing Then
Else
2019-11-10 00:16:12 +01:00
2021-04-05 19:08:42 +02:00
Dim DubStreams ( ) As String = m3u8Strings . Split ( New String ( ) { My . Resources . AoD_files } , System . StringSplitOptions . RemoveEmptyEntries )
For i As Integer = 1 To DubStreams . Count - 1
AoD_DubList . Add ( DubStreams ( i ) )
Next
End If
2020-12-10 19:18:20 +01:00
2021-04-05 19:08:42 +02:00
End If
AoD_Mode = True
2021-05-01 13:56:48 +02:00
'MsgBox(AoD_DubList.Count)
'MsgBox(AoD_OmUList.Count)
2021-09-20 20:37:57 +02:00
If AoD_DubList . Count > 0 And AoD_OmUList . Count > 0 Then
2021-04-05 19:08:42 +02:00
ComboBox1 . Items . Clear ( )
2021-05-01 13:56:48 +02:00
ComboBox1 . Text = Nothing
2021-04-05 19:08:42 +02:00
GroupBox3 . Visible = False
groupBox2 . Visible = True
groupBox1 . Visible = False
ComboBox1 . Enabled = True
2021-05-01 13:56:48 +02:00
comboBox3 . Enabled = False
comboBox4 . Enabled = False
2021-04-05 19:08:42 +02:00
ComboBox1 . Items . Add ( " Dub " )
ComboBox1 . Items . Add ( " OmU " )
2021-09-20 20:37:57 +02:00
FillAoDDropDownOld ( )
ElseIf AoD_DubList . Count > 0 Or AoD_OmUList . Count > 0 Then
2021-04-05 19:08:42 +02:00
ComboBox1 . Items . Clear ( )
2021-05-01 13:56:48 +02:00
ComboBox1 . Text = Nothing
2021-04-05 19:08:42 +02:00
GroupBox3 . Visible = False
groupBox2 . Visible = True
groupBox1 . Visible = False
ComboBox1 . Enabled = False
comboBox3 . Enabled = True
comboBox4 . Enabled = True
2021-09-20 20:37:57 +02:00
FillAoDDropDownOld ( )
2021-04-05 19:08:42 +02:00
End If
End Sub
2021-09-20 20:37:57 +02:00
#End Region
2019-11-10 00:16:12 +01:00
2021-09-20 20:37:57 +02:00
Private Sub Btn_dl_MouseEnter ( sender As Object , e As EventArgs ) Handles btn_dl . MouseEnter
2019-11-10 00:16:12 +01:00
If Mass_DL_Cancel = True Then
2021-09-20 20:37:57 +02:00
btn_dl . Text = " Cancel "
btn_dl . BackgroundImage = My . Resources . main_button_download_hovert
2019-11-10 00:16:12 +01:00
ElseIf List_DL_Cancel = True Then
2021-09-20 20:37:57 +02:00
btn_dl . Text = " Cancel "
btn_dl . BackgroundImage = My . Resources . main_button_download_hovert
2019-11-10 00:16:12 +01:00
Else
2021-09-20 20:37:57 +02:00
btn_dl . Text = " Download "
btn_dl . BackgroundImage = My . Resources . main_button_download_hovert
2019-11-10 00:16:12 +01:00
End If
End Sub
2021-09-20 20:37:57 +02:00
Private Sub Btn_dl_MouseLeave ( sender As Object , e As EventArgs ) Handles btn_dl . MouseLeave
2019-11-10 00:16:12 +01:00
If Mass_DL_Cancel = True Then
2021-09-20 20:37:57 +02:00
btn_dl . Text = " Cancel "
btn_dl . BackgroundImage = My . Resources . main_button_download_hovert
2019-11-10 00:16:12 +01:00
ElseIf List_DL_Cancel = True Then
2021-09-20 20:37:57 +02:00
btn_dl . Text = " Cancel "
btn_dl . BackgroundImage = My . Resources . main_button_download_hovert
2019-11-10 00:16:12 +01:00
Else
2021-09-20 20:37:57 +02:00
btn_dl . Text = " Download "
btn_dl . BackgroundImage = My . Resources . main_button_download_default
2019-11-10 00:16:12 +01:00
End If
End Sub
2020-01-12 16:25:55 +01:00
Private Sub TextBox1_Click ( sender As Object , e As EventArgs ) Handles textBox1 . Click
2019-11-10 00:16:12 +01:00
If textBox1 . Text = " URL " Then
textBox1 . Text = Nothing
End If
End Sub
Private Sub PictureBox1_Click ( sender As Object , e As EventArgs ) Handles PictureBox1 . Click
groupBox1 . Visible = True
groupBox2 . Visible = False
End Sub
Private Sub ComboBox1_SelectedIndexChanged ( sender As Object , e As EventArgs ) Handles ComboBox1 . SelectedIndexChanged
2021-04-05 19:08:42 +02:00
If CBool ( InStr ( Main . WebbrowserURL , " beta.crunchyroll.com " ) ) = True Then
comboBox3 . Items . Clear ( )
comboBox4 . Items . Clear ( )
comboBox3 . Enabled = True
comboBox4 . Enabled = True
2021-05-23 22:27:56 +02:00
comboBox3 . Text = Nothing
comboBox4 . Text = Nothing
2021-04-05 19:08:42 +02:00
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 )
2021-05-23 22:27:56 +02:00
Dim EpisodeJsonURL As String = Main . CrBetaMassBaseURL + " episodes?season_id= " + SeasonSplit2 ( 0 ) + " &locale= " + Main . CrBetaMassParameters
2021-04-05 19:08:42 +02:00
Dim EpisodeJson As String = Nothing
Debug . WriteLine ( EpisodeJsonURL )
Try
Using client As New WebClient ( )
client . Encoding = System . Text . Encoding . UTF8
client . Headers . Add ( My . Resources . ffmpeg_user_agend . Replace ( Chr ( 34 ) , " " ) )
EpisodeJson = client . DownloadString ( EpisodeJsonURL )
End Using
Catch ex As Exception
Debug . WriteLine ( " error- getting EpisodeJson data " )
2021-07-04 17:22:46 +02:00
Debug . WriteLine ( ex . ToString )
2021-04-25 16:26:45 +02:00
Exit Sub
2021-04-05 19:08:42 +02:00
End Try
Main . CrBetaMassEpisodes = EpisodeJson
2021-04-25 16:26:45 +02:00
2021-05-23 22:27:56 +02:00
Dim EpisodeNameSplit ( ) As String = EpisodeJson . Split ( New String ( ) { Chr ( 34 ) + " title " + Chr ( 34 ) + " : " + Chr ( 34 ) } , System . StringSplitOptions . RemoveEmptyEntries )
2021-04-25 16:26:45 +02:00
2021-04-05 19:08:42 +02:00
Dim EpisodeSplit ( ) As String = EpisodeJson . Split ( New String ( ) { Chr ( 34 ) + " episode " + Chr ( 34 ) + " : " + Chr ( 34 ) } , System . StringSplitOptions . RemoveEmptyEntries )
2021-05-23 22:27:56 +02:00
For i As Integer = 1 To EpisodeSplit . Count - 1
Dim EpisodeSplit2 ( ) As String = EpisodeSplit ( i ) . Split ( New String ( ) { Chr ( 34 ) } , System . StringSplitOptions . RemoveEmptyEntries )
Dim EpisodeNameSplit2 ( ) As String = EpisodeNameSplit ( i ) . Split ( New String ( ) { Chr ( 34 ) } , System . StringSplitOptions . RemoveEmptyEntries )
If EpisodeSplit ( i ) . Substring ( 0 , 1 ) = Chr ( 34 ) Then
comboBox3 . Items . Add ( EpisodeNameSplit2 ( 0 ) )
comboBox4 . Items . Add ( EpisodeNameSplit2 ( 0 ) )
Else
comboBox3 . Items . Add ( " Episode " + EpisodeSplit2 ( 0 ) )
comboBox4 . Items . Add ( " Episode " + EpisodeSplit2 ( 0 ) )
End If
Next
2021-09-20 20:37:57 +02:00
ElseIf CBool ( InStr ( Main . WebbrowserURL , " vrv.co " ) ) = True Then
comboBox3 . Items . Clear ( )
comboBox4 . Items . Clear ( )
comboBox3 . Enabled = True
comboBox4 . Enabled = True
comboBox3 . Text = Nothing
comboBox4 . Text = Nothing
Dim SeasonSplit ( ) As String = Main . VRVMass . Split ( New String ( ) { Chr ( 34 ) + " id " + Chr ( 34 ) + " : " + Chr ( 34 ) } , System . StringSplitOptions . RemoveEmptyEntries )
Dim SeasonSplit2 ( ) As String = SeasonSplit ( ComboBox1 . SelectedIndex + 1 ) . Split ( New String ( ) { Chr ( 34 ) } , System . StringSplitOptions . RemoveEmptyEntries )
Dim EpisodeJsonURL As String = Main . VRVMassBaseURL + " episodes?season_id= " + SeasonSplit2 ( 0 ) + " &Policy= " + Main . VRVMassParameters
Dim EpisodeJson As String = Nothing
Debug . WriteLine ( EpisodeJsonURL )
Try
Using client As New WebClient ( )
client . Encoding = System . Text . Encoding . UTF8
client . Headers . Add ( My . Resources . ffmpeg_user_agend . Replace ( Chr ( 34 ) , " " ) )
EpisodeJson = client . DownloadString ( EpisodeJsonURL )
End Using
Catch ex As Exception
Debug . WriteLine ( " error- getting EpisodeJson data " )
Debug . WriteLine ( ex . ToString )
Exit Sub
End Try
Main . VRVMassEpisodes = EpisodeJson
Dim EpisodeNameSplit ( ) As String = EpisodeJson . Split ( New String ( ) { Chr ( 34 ) + " title " + Chr ( 34 ) + " : " + Chr ( 34 ) } , System . StringSplitOptions . RemoveEmptyEntries )
Dim EpisodeSplit ( ) As String = EpisodeJson . Split ( New String ( ) { Chr ( 34 ) + " episode " + Chr ( 34 ) + " : " + Chr ( 34 ) } , System . StringSplitOptions . RemoveEmptyEntries )
For i As Integer = 1 To EpisodeSplit . Count - 1
Dim EpisodeSplit2 ( ) As String = EpisodeSplit ( i ) . Split ( New String ( ) { Chr ( 34 ) } , System . StringSplitOptions . RemoveEmptyEntries )
Dim EpisodeNameSplit2 ( ) As String = EpisodeNameSplit ( i ) . Split ( New String ( ) { Chr ( 34 ) } , System . StringSplitOptions . RemoveEmptyEntries )
If EpisodeSplit ( i ) . Substring ( 0 , 1 ) = Chr ( 34 ) Then
comboBox3 . Items . Add ( EpisodeNameSplit2 ( 0 ) )
comboBox4 . Items . Add ( EpisodeNameSplit2 ( 0 ) )
Else
comboBox3 . Items . Add ( " Episode " + EpisodeSplit2 ( 0 ) )
comboBox4 . Items . Add ( " Episode " + EpisodeSplit2 ( 0 ) )
End If
Next
ElseIf Main . WebbrowserURL = " https://funimation.com/js " Then
2021-05-23 22:27:56 +02:00
comboBox3 . Items . Clear ( )
comboBox4 . Items . Clear ( )
comboBox3 . Text = Nothing
comboBox4 . Text = Nothing
Dim EpisodeJsonURL As String = " https://title-api.prd.funimationsvc.com/v1/seasons/ " + Main . FunimtaionAPISeasonID . Item ( ComboBox1 . SelectedIndex ) + Main . FunimationAPIRegion
Dim EpisodeJson As String = Nothing
Debug . WriteLine ( EpisodeJsonURL )
Try
Using client As New WebClient ( )
client . Encoding = System . Text . Encoding . UTF8
client . Headers . Add ( My . Resources . ffmpeg_user_agend . Replace ( Chr ( 34 ) , " " ) )
EpisodeJson = client . DownloadString ( EpisodeJsonURL )
End Using
Catch ex As Exception
Debug . WriteLine ( " error- getting EpisodeJson data " )
2021-07-04 17:22:46 +02:00
Debug . WriteLine ( ex . ToString )
Main . FunimationJsonBrowser = " EpisodeJson "
2021-09-20 20:37:57 +02:00
CefSharp_Browser . WebBrowser1 . Load ( EpisodeJsonURL )
2021-05-23 22:27:56 +02:00
Exit Sub
End Try
2021-09-20 20:37:57 +02:00
2021-07-04 17:22:46 +02:00
FillFunimationEpisodes ( EpisodeJson )
2021-05-23 22:27:56 +02:00
2021-04-05 19:08:42 +02:00
ElseIf AoD_Mode = False Then
2020-11-04 19:11:38 +01:00
2021-04-05 19:08:42 +02:00
'MsgBox(Main.WebbrowserURL)
2020-11-04 19:11:38 +01:00
comboBox3 . Items . Clear ( )
comboBox4 . Items . Clear ( )
2021-03-08 21:08:26 +01:00
comboBox3 . Enabled = True
comboBox4 . Enabled = True
2020-11-04 19:11:38 +01:00
'comboBox3.Items.Add("[First Episode]")
'comboBox4.Items.Add("[Last Episode]")
Dim SeasonDropdownAnzahl As String ( ) = Main . WebbrowserText . Split ( New String ( ) { " season-dropdown content-menu block " } , System . StringSplitOptions . RemoveEmptyEntries )
Array . Reverse ( SeasonDropdownAnzahl )
Dim SDV As Integer = 0
For i As Integer = 0 To SeasonDropdownAnzahl . Count - 1
2021-09-20 20:37:57 +02:00
If CBool ( InStr ( SeasonDropdownAnzahl ( i ) , Chr ( 34 ) + " > " + ComboBox1 . SelectedItem . ToString + " </a> " ) ) Then
2020-11-04 19:11:38 +01:00
SDV = i
End If
Next
'MsgBox(SDV)
Dim Anzahl As String ( ) = SeasonDropdownAnzahl ( SDV ) . Split ( New String ( ) { " wrapper container-shadow hover-classes " } , System . StringSplitOptions . RemoveEmptyEntries )
'MsgBox(Anzahl(0))
Dim c As Integer = Anzahl . Count - 1
Array . Reverse ( Anzahl )
For i As Integer = 0 To Anzahl . Count - 2
Dim URLGrapp As String ( ) = Anzahl ( i ) . Split ( New String ( ) { " title= " + Chr ( 34 ) } , System . StringSplitOptions . RemoveEmptyEntries )
Dim URLGrapp2 As String ( ) = URLGrapp ( 1 ) . Split ( New String ( ) { Chr ( 34 ) } , System . StringSplitOptions . RemoveEmptyEntries )
comboBox3 . Items . Add ( URLGrapp2 ( 0 ) )
comboBox4 . Items . Add ( URLGrapp2 ( 0 ) )
Next
'comboBox3.SelectedIndex = 0
'comboBox4.SelectedIndex = 0
2021-05-01 13:56:48 +02:00
ElseIf AoD_Mode = True Then
comboBox3 . Items . Clear ( )
comboBox4 . Items . Clear ( )
comboBox3 . Enabled = True
comboBox4 . Enabled = True
If ComboBox1 . Text = " OmU " Then
2021-09-20 20:37:57 +02:00
For i As Integer = 0 To AoD_OmU_Episodes . Count - 1
comboBox3 . Items . Add ( AoD_OmU_Episodes . Item ( i ) . Name )
comboBox4 . Items . Add ( AoD_OmU_Episodes . Item ( i ) . Name )
2021-08-07 23:49:09 +02:00
2021-05-01 13:56:48 +02:00
Next
ElseIf ComboBox1 . Text = " Dub " Then
2021-09-20 20:37:57 +02:00
For i As Integer = 0 To AoD_Dub_Episodes . Count - 1
comboBox3 . Items . Add ( AoD_Dub_Episodes . Item ( i ) . Name )
comboBox4 . Items . Add ( AoD_Dub_Episodes . Item ( i ) . Name )
2021-05-01 13:56:48 +02:00
Next
2021-09-20 20:37:57 +02:00
2021-05-01 13:56:48 +02:00
End If
2020-11-04 19:11:38 +01:00
End If
2019-11-10 00:16:12 +01:00
End Sub
2021-07-04 17:22:46 +02:00
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
2019-11-10 00:16:12 +01:00
Private Sub PictureBox1_MouseEnter ( sender As Object , e As EventArgs ) Handles PictureBox1 . MouseEnter
PictureBox1 . Image = My . Resources . add_mass_cancel_hover
End Sub
Private Sub PictureBox1_MouseLeave ( sender As Object , e As EventArgs ) Handles PictureBox1 . MouseLeave
PictureBox1 . Image = My . Resources . add_mass_cancel
End Sub
Private Sub Timer1_Tick ( sender As Object , e As EventArgs ) Handles Timer1 . Tick
If ListBox1 . Items . Count > 0 Then
If StatusLabel . Text = " Status: idle " Then
2021-08-08 12:23:22 +02:00
StatusLabel . Cursor = Cursors . Hand
StatusLabel . Text = " Status: items in queue, click me to work off. "
2019-11-10 00:16:12 +01:00
End If
2021-08-08 12:23:22 +02:00
Else
StatusLabel . Cursor = Cursors . Default
2019-11-10 00:16:12 +01:00
End If
End Sub
#Region "Listbox"
Private Sub Timer2_Tick ( sender As Object , e As EventArgs ) Handles Timer2 . Tick
If GroupBox3 . Visible = True Then
If ListBox1 . Items . Count = 0 Then
GroupBox3 . Visible = False
groupBox2 . Visible = False
groupBox1 . Visible = True
List_DL_Cancel = False
2021-09-20 20:37:57 +02:00
btn_dl . BackgroundImage = My . Resources . main_button_download_default
2019-11-10 00:16:12 +01:00
End If
End If
2021-03-08 21:08:26 +01:00
Try
Dim ItemFinshedCount As Integer = 0
For i As Integer = 0 To Main . ListView1 . Items . Count - 1
If Main . ItemList ( i ) . GetIsStatusFinished ( ) = True Then
ItemFinshedCount = ItemFinshedCount + 1
End If
Next
Main . RunningDownloads = Main . ListView1 . Items . Count - ItemFinshedCount
Catch ex As Exception
Main . RunningDownloads = Main . ListView1 . Items . Count
End Try
2020-08-16 23:27:48 +02:00
If Main . RunningDownloads < Main . MaxDL Then
2019-11-10 00:16:12 +01:00
If ListBox1 . Items . Count > 0 Then
If GroupBox3 . Visible = True Then
2021-09-20 20:37:57 +02:00
If CBool ( InStr ( ListBox1 . GetItemText ( ListBox1 . Items ( 0 ) ) , " funimation.com " ) ) Then
2020-09-30 18:24:45 +02:00
If Main . Funimation_Grapp_RDY = True Then
2021-01-16 14:08:33 +01:00
Dim UriUsed As String = ListBox1 . GetItemText ( ListBox1 . Items ( 0 ) )
If Main . DubFunimation = " Disabled " Then
Else
2021-09-20 20:37:57 +02:00
If CBool ( InStr ( UriUsed , " ?lang= " ) ) Then
2021-01-16 14:08:33 +01:00
Dim ClearUri As String ( ) = UriUsed . Split ( New String ( ) { " ?lang= " } , System . StringSplitOptions . RemoveEmptyEntries )
If ClearUri . Count > 1 Then
2021-09-20 20:37:57 +02:00
If CBool ( InStr ( ClearUri ( 1 ) , " & " ) ) Then
2021-01-16 14:08:33 +01:00
Dim ClearUri2 As String ( ) = ClearUri ( 1 ) . Split ( New String ( ) { " & " } , System . StringSplitOptions . RemoveEmptyEntries )
Dim Parms As String = Nothing
2021-03-08 21:08:26 +01:00
For i As Integer = 1 To ClearUri2 . Count - 1
2021-01-16 14:08:33 +01:00
Parms = Parms + " & " + ClearUri2 ( i )
Next
UriUsed = ClearUri ( 0 ) + " ?lang= " + Main . DubFunimation + Parms
Else
UriUsed = ClearUri ( 0 ) + " ?lang= " + Main . DubFunimation
End If
Else
UriUsed = ClearUri ( 0 ) + " ?lang= " + Main . DubFunimation
End If
2021-09-20 20:37:57 +02:00
ElseIf CBool ( InStr ( UriUsed , " &lang= " ) ) Then
2021-01-16 14:08:33 +01:00
Dim ClearUri As String ( ) = UriUsed . Split ( New String ( ) { " &lang= " } , System . StringSplitOptions . RemoveEmptyEntries )
If ClearUri . Count > 1 Then
2021-09-20 20:37:57 +02:00
If CBool ( InStr ( ClearUri ( 1 ) , " & " ) ) Then
2021-01-16 14:08:33 +01:00
Dim ClearUri2 As String ( ) = ClearUri ( 1 ) . Split ( New String ( ) { " & " } , System . StringSplitOptions . RemoveEmptyEntries )
Dim Parms As String = Nothing
For i As Integer = 1 To ClearUri2 . Count - 1
Parms = Parms + " & " + ClearUri2 ( i )
Next
UriUsed = ClearUri ( 0 ) + " &lang= " + Main . DubFunimation + Parms
Else
UriUsed = ClearUri ( 0 ) + " &lang= " + Main . DubFunimation
End If
Else
UriUsed = ClearUri ( 0 ) + " &lang= " + Main . DubFunimation
End If
2021-09-20 20:37:57 +02:00
ElseIf CBool ( InStr ( UriUsed , " ? " ) ) Then
2021-01-16 14:08:33 +01:00
UriUsed = UriUsed + " &lang= " + Main . DubFunimation
Else
UriUsed = UriUsed + " ?lang= " + Main . DubFunimation
End If
End If
2021-01-14 18:06:42 +01:00
Main . Funimation_Grapp_RDY = False
2021-02-28 13:22:00 +01:00
Main . WebbrowserURL = UriUsed
2021-03-08 21:08:26 +01:00
'MsgBox(UriUsed)
2020-09-30 18:24:45 +02:00
ListBox1 . Items . Remove ( ListBox1 . Items ( 0 ) )
2021-02-28 13:22:00 +01:00
'Main.b = False
2021-03-27 00:21:40 +01:00
2021-06-20 19:02:55 +02:00
Main . b = False
2021-09-20 20:37:57 +02:00
CefSharp_Browser . WebBrowser1 . Load ( UriUsed )
StatusLabel . Text = " Status: loading in browser "
Main . Text = " Status: loading in browser "
2021-02-28 13:22:00 +01:00
2021-09-20 20:37:57 +02:00
Main . Invalidate ( )
2020-09-30 18:24:45 +02:00
End If
Else
If Main . Grapp_RDY = True Then
2021-01-14 18:06:42 +01:00
Main . Grapp_RDY = False
2021-09-20 20:37:57 +02:00
CefSharp_Browser . WebBrowser1 . Load ( ListBox1 . GetItemText ( ListBox1 . Items ( 0 ) ) )
2020-09-30 18:24:45 +02:00
ListBox1 . Items . Remove ( ListBox1 . Items ( 0 ) )
Main . b = False
2020-10-31 23:36:52 +01:00
StatusLabel . Text = " Status: loading ... "
2020-11-13 15:57:34 +01:00
Main . Text = " Status: loading ... "
Main . Invalidate ( )
2020-10-31 23:36:52 +01:00
2020-09-30 18:24:45 +02:00
End If
2019-11-10 00:16:12 +01:00
End If
End If
2020-09-30 18:24:45 +02:00
2019-11-10 00:16:12 +01:00
End If
End If
End Sub
Private Sub StatusLabel_Click ( sender As Object , e As EventArgs ) Handles StatusLabel . Click
2021-08-08 12:23:22 +02:00
If StatusLabel . Text = " Status: items in queue, click me to work off. " Then
2019-11-10 00:16:12 +01:00
groupBox1 . Visible = False
groupBox2 . Visible = False
GroupBox3 . Visible = True
2021-09-20 20:37:57 +02:00
btn_dl . Text = " Cancel "
2019-11-10 00:16:12 +01:00
List_DL_Cancel = True
End If
End Sub
2021-09-20 20:37:57 +02:00
Private Sub TextBox2_Click ( sender As Object , e As EventArgs ) Handles textBox2 . Click
If textBox2 . Text = " Use Custom Name " Then
textBox2 . Text = Nothing
2020-01-02 15:13:38 +01:00
End If
2019-11-10 00:16:12 +01:00
End Sub
2020-01-02 15:13:38 +01:00
2020-06-01 18:43:38 +02:00
Private Sub ListBox1_DoubleClick ( sender As Object , e As EventArgs ) Handles ListBox1 . DoubleClick
ListBox1 . Items . Remove ( ListBox1 . SelectedItem )
End Sub
2020-02-02 16:39:54 +01:00
2019-11-10 00:16:12 +01:00
#End Region
2021-09-20 20:37:57 +02:00
Private Sub FillAoDDropDownOld ( )
2020-12-02 21:01:30 +01:00
comboBox3 . Items . Clear ( )
comboBox4 . Items . Clear ( )
If AoD_OmUList . Count > 0 Then
For i As Integer = 0 To AoD_OmUList . Count - 1
Dim DropDownTitle As String ( ) = AoD_OmUList ( i ) . Split ( New String ( ) { My . Resources . AoD_Titel } , System . StringSplitOptions . RemoveEmptyEntries )
Dim DropDownTitle2 As String ( ) = DropDownTitle ( 1 ) . Split ( New String ( ) { Chr ( 34 ) } , System . StringSplitOptions . RemoveEmptyEntries )
2021-08-07 23:49:09 +02:00
Dim Title As String = DropDownTitle2 ( 0 )
Title = Title . Replace ( " & " , " & " ) . Replace ( " & " , " & " ) . Replace ( " /u0026 " , " & " ) . Replace ( " \u002F " , " / " ) . Replace ( " \u0026 " , " & " )
2021-09-20 20:37:57 +02:00
Title = System . Text . RegularExpressions . Regex . Replace ( Title , " [^\w\\-] " , " " ) . Trim ( CType ( " " , Char ( ) ) )
2021-08-07 23:49:09 +02:00
Title = Main . RemoveExtraSpaces ( Title )
comboBox3 . Items . Add ( Title )
comboBox4 . Items . Add ( Title )
2020-12-02 21:01:30 +01:00
Next
ElseIf AoD_DubList . Count > 0 Then
For i As Integer = 0 To AoD_DubList . Count - 1
Dim DropDownTitle As String ( ) = AoD_DubList ( i ) . Split ( New String ( ) { My . Resources . AoD_Titel } , System . StringSplitOptions . RemoveEmptyEntries )
Dim DropDownTitle2 As String ( ) = DropDownTitle ( 1 ) . Split ( New String ( ) { Chr ( 34 ) } , System . StringSplitOptions . RemoveEmptyEntries )
2021-08-07 23:49:09 +02:00
Dim Title As String = DropDownTitle2 ( 0 )
Title = Title . Replace ( " & " , " & " ) . Replace ( " & " , " & " ) . Replace ( " /u0026 " , " & " ) . Replace ( " \u002F " , " / " ) . Replace ( " \u0026 " , " & " )
2021-09-20 20:37:57 +02:00
Title = System . Text . RegularExpressions . Regex . Replace ( Title , " [^\w\\-] " , " " ) . Trim ( CType ( " " , Char ( ) ) )
2021-08-07 23:49:09 +02:00
Title = Main . RemoveExtraSpaces ( Title )
comboBox3 . Items . Add ( Title )
comboBox4 . Items . Add ( Title )
2020-12-02 21:01:30 +01:00
Next
End If
2020-11-04 19:11:38 +01:00
End Sub
Public Sub Add_AoD ( )
2021-09-20 20:37:57 +02:00
Dim ProcessList As List ( Of AoDEpisodes ) = AoD_OmU_Episodes
2020-11-05 20:43:52 +01:00
Dim Dub As Boolean = False
2020-11-04 19:11:38 +01:00
Dim RDY As Boolean = True
2021-03-08 21:08:26 +01:00
Dim VideoFormat As String = Main . VideoFormat
2021-02-28 13:22:00 +01:00
Dim ffmpeg As String = Main . ffmpeg_command
2020-11-04 19:11:38 +01:00
Dim Running As Integer = Main . RunningDownloads
Dim DlMax As Integer = Main . MaxDL
2020-12-02 21:01:30 +01:00
Dim Pfad0 As String = Main . Pfad
2020-11-04 19:11:38 +01:00
Dim Pfad2 As String = Main . Pfad
2020-12-02 21:01:30 +01:00
Dim NameMethode As Integer = Main . CR_NameMethode
2020-11-04 19:11:38 +01:00
Dim c As Integer = 0
Dim SubExit As Boolean = False
Dim CB3 As Integer = 0
Dim CB4 As Integer = 0
2021-09-20 20:37:57 +02:00
Dim TargetReso As String = Main . Reso . ToString
2020-11-13 15:57:34 +01:00
Dim AoD_1080pPlus As Boolean = False
2020-12-02 21:01:30 +01:00
Dim AoDTempReso As String = " 6666x6666 "
Dim AoD_Season As String = Nothing
Dim AoD_Anime_Title As String = Nothing
Dim AoD_Episode_Title As String = Nothing
Dim AoD_Episode_Number As String = Nothing
2021-09-20 20:37:57 +02:00
Me . Invoke ( New Action ( Function ( ) As Object
2020-11-04 19:11:38 +01:00
'Main.StatusMainForm.Text = "Crunchyroll Downloader"
2021-03-08 21:08:26 +01:00
VideoFormat = Main . VideoFormat
2021-02-28 13:22:00 +01:00
ffmpeg = Main . ffmpeg_command
2020-11-04 19:11:38 +01:00
Pfad2 = Main . Pfad
2020-12-02 21:01:30 +01:00
NameMethode = Main . CR_NameMethode
2020-11-13 15:57:34 +01:00
If Main . AoD_Reso = 0 Then
2021-09-20 20:37:57 +02:00
TargetReso = Main . Reso . ToString
2020-11-13 15:57:34 +01:00
ElseIf Main . AoD_Reso = 576 Then
2021-09-20 20:37:57 +02:00
TargetReso = " 576 "
2020-11-13 15:57:34 +01:00
ElseIf Main . AoD_Reso = 1080 Then
AoD_1080pPlus = True
2021-09-20 20:37:57 +02:00
TargetReso = " 1080 "
2020-11-13 15:57:34 +01:00
End If
2020-12-03 16:02:47 +01:00
If ComboBox1 . Text = " Dub " Then
2021-09-20 20:37:57 +02:00
ProcessList = AoD_Dub_Episodes
2020-12-03 16:02:47 +01:00
ElseIf ComboBox1 . Text = " OmU " Then
2021-09-20 20:37:57 +02:00
ProcessList = AoD_OmU_Episodes
2020-12-03 16:02:47 +01:00
ElseIf ComboBox1 . Enabled = False Then
2020-11-04 19:11:38 +01:00
2021-09-20 20:37:57 +02:00
If AoD_Dub_Episodes . Count > 0 Then
ProcessList = AoD_Dub_Episodes
2020-11-05 20:43:52 +01:00
Dub = True
2021-09-20 20:37:57 +02:00
ElseIf AoD_OmU_Episodes . Count > 0 Then
ProcessList = AoD_OmU_Episodes
2020-11-04 19:11:38 +01:00
Else
2020-11-13 15:57:34 +01:00
MsgBox ( " error 1 " )
2020-11-04 19:11:38 +01:00
SubExit = True
End If
Else
2020-11-13 15:57:34 +01:00
MsgBox ( " error 2 " )
2020-11-04 19:11:38 +01:00
SubExit = True
End If
If comboBox4 . SelectedIndex > comboBox3 . SelectedIndex Or comboBox4 . SelectedIndex = comboBox3 . SelectedIndex Then
2020-12-24 16:56:45 +01:00
c = comboBox4 . SelectedIndex - comboBox3 . SelectedIndex + 1
Else
Dim TempCB3 As Integer = comboBox3 . SelectedIndex
2020-11-04 19:11:38 +01:00
Dim TempCB4 As Integer = comboBox4 . SelectedIndex
comboBox3 . SelectedIndex = TempCB4
comboBox4 . SelectedIndex = TempCB3
c = comboBox4 . SelectedIndex - comboBox3 . SelectedIndex + 1
End If
'MsgBox("00")
CB3 = comboBox3 . SelectedIndex
CB4 = comboBox4 . SelectedIndex
Return Nothing
End Function ) )
If SubExit = True Then
Exit Sub
End If
2020-12-02 21:01:30 +01:00
2020-11-04 19:11:38 +01:00
For i As Integer = CB3 To CB4
Dim ii As Integer = i
2021-09-20 20:37:57 +02:00
Dim m3u8Strings As String = Nothing
Dim EpisodePC As String = Nothing
Dim VideoStreamUrl As String = ProcessList . Item ( i ) . Url
Try
Using m3u8client As New WebClient ( )
m3u8client . Encoding = System . Text . Encoding . UTF8
m3u8client . Headers . Add ( My . Resources . ffmpeg_user_agend . Replace ( Chr ( 34 ) , " " ) )
m3u8client . Headers . Add ( " ACCEPT: application/json, text/javascript, */*; q=0.01 " )
m3u8client . Headers . Add ( " Accept-Encoding: gzip, deflate, br " )
m3u8client . Headers . Add ( " X-Requested-With: XMLHttpRequest " )
m3u8client . Headers . Add ( " Cookie: " + AoD_Cookie ) '+ WebBrowser1.Document.Cookie)
'MsgBox("https://www.anime-on-demand.de/videomaterialurl/" + OmUStreamSplitEpisodeIndex2(0) + "/OmU/1080/hlsfirst/" + OmUStreamSplitToken(0))
m3u8Strings = m3u8client . DownloadString ( VideoStreamUrl )
'("Sub: " + m3u8Strings)
End Using
Catch ex As Exception
Me . Invoke ( New Action ( Function ( ) As Object
MsgBox ( ex . ToString + vbNewLine + VideoStreamUrl )
Return Nothing
End Function ) )
End Try
If m3u8Strings = Nothing Then
Else
Dim Streams ( ) As String = m3u8Strings . Split ( New String ( ) { My . Resources . AoD_files } , System . StringSplitOptions . RemoveEmptyEntries )
EpisodePC = Streams ( 1 )
End If
2020-11-04 19:11:38 +01:00
If Mass_DL_Cancel = True Then
Exit For
End If
For e As Integer = 0 To Integer . MaxValue
Thread . Sleep ( 2000 )
If RDY = True Then
2020-11-05 20:43:52 +01:00
Try
2021-09-20 20:37:57 +02:00
Me . Invoke ( New Action ( Function ( ) As Object
2020-11-05 20:43:52 +01:00
Running = Main . RunningDownloads
DlMax = Main . MaxDL
Return Nothing
End Function ) )
Catch ex As Exception
Exit Sub
End Try
2020-11-04 19:11:38 +01:00
If DlMax > Running Then
RDY = False
Exit For
End If
End If
Next
2021-09-20 20:37:57 +02:00
Me . Invoke ( New Action ( Function ( ) As Object
2020-11-04 19:11:38 +01:00
Running = Main . RunningDownloads
DlMax = Main . MaxDL
Dim d As Integer = ii - CB3 + 1
Add_Display . Text = d . ToString + " / " + c . ToString
2020-11-13 15:57:34 +01:00
Main . Text = " Status: " + d . ToString + " / " + c . ToString ' looking for video file"
Main . Invalidate ( )
2020-11-04 19:11:38 +01:00
Return Nothing
End Function ) )
2021-09-20 20:37:57 +02:00
Dim AoDTitle1 ( ) As String = EpisodePC . Split ( New String ( ) { My . Resources . AoD_Titel } , System . StringSplitOptions . RemoveEmptyEntries )
2020-11-04 19:11:38 +01:00
Dim AoDTitle2 ( ) As String = AoDTitle1 ( 1 ) . Split ( New String ( ) { Chr ( 34 ) } , System . StringSplitOptions . RemoveEmptyEntries )
Dim AoDTitle As String = AoDTitle2 ( 0 )
2020-12-02 21:01:30 +01:00
2021-09-20 20:37:57 +02:00
Dim AoDMediaID1 ( ) As String = EpisodePC . Split ( New String ( ) { My . Resources . AoD_MediaID } , System . StringSplitOptions . RemoveEmptyEntries )
2021-05-01 13:56:48 +02:00
Dim AoDMediaID2 ( ) As String = AoDMediaID1 ( 1 ) . Split ( New String ( ) { " }, " } , System . StringSplitOptions . RemoveEmptyEntries )
Dim AoDMediaID As String = AoDMediaID2 ( 0 )
2020-12-02 21:01:30 +01:00
Try
2021-09-20 20:37:57 +02:00
If CBool ( InStr ( AoDHTML , My . Resources . AoD_HTML_Episode_Title ) ) Then ' Serie
2021-05-01 13:56:48 +02:00
Dim AoDTitleDivByMediaID ( ) As String = AoDHTML . Split ( New String ( ) { AoDMediaID } , System . StringSplitOptions . RemoveEmptyEntries )
Dim AoDTitle0 ( ) As String = AoDTitleDivByMediaID ( 1 ) . Split ( New String ( ) { My . Resources . AoD_HTML_Episode_Title } , System . StringSplitOptions . RemoveEmptyEntries )
2020-12-02 21:01:30 +01:00
Dim AoDTitle00 ( ) As String = AoDTitle0 ( ii + 1 ) . Split ( New String ( ) { Chr ( 34 ) } , System . StringSplitOptions . RemoveEmptyEntries )
Dim AoD_EpisodeSplit ( ) As String = AoDTitle00 ( 0 ) . Split ( New String ( ) { " - " } , System . StringSplitOptions . RemoveEmptyEntries )
2020-12-04 20:22:22 +01:00
If AoD_EpisodeSplit . Count > 2 Then
2021-01-14 18:06:42 +01:00
AoD_Episode_Title = Nothing
2020-12-04 20:22:22 +01:00
For i3 As Integer = 1 To AoD_EpisodeSplit . Count - 1
If AoD_Episode_Title = Nothing Then
2021-09-20 20:37:57 +02:00
AoD_Episode_Title = System . Text . RegularExpressions . Regex . Replace ( AoD_EpisodeSplit ( i3 ) , " [^\w\\-] " , " " ) . Trim ( CType ( " " , Char ( ) ) )
2020-12-04 20:22:22 +01:00
Else
2021-09-20 20:37:57 +02:00
AoD_Episode_Title = AoD_Episode_Title + " - " + System . Text . RegularExpressions . Regex . Replace ( AoD_EpisodeSplit ( i3 ) , " [^\w\\-] " , " " ) . Trim ( CType ( " " , Char ( ) ) )
2020-12-04 20:22:22 +01:00
End If
Next
2021-09-20 20:37:57 +02:00
AoD_Episode_Number = System . Text . RegularExpressions . Regex . Replace ( AoD_EpisodeSplit ( 0 ) , " [^\w\\-] " , " " ) . Trim ( CType ( " " , Char ( ) ) )
2020-12-04 20:22:22 +01:00
Else
2021-09-20 20:37:57 +02:00
AoD_Episode_Number = System . Text . RegularExpressions . Regex . Replace ( AoD_EpisodeSplit ( 0 ) , " [^\w\\-] " , " " ) . Trim ( CType ( " " , Char ( ) ) )
AoD_Episode_Title = System . Text . RegularExpressions . Regex . Replace ( AoD_EpisodeSplit ( 1 ) , " [^\w\\-] " , " " ) . Trim ( CType ( " " , Char ( ) ) )
2020-12-04 20:22:22 +01:00
End If
2020-12-02 21:01:30 +01:00
Dim AoDTitle3 ( ) As String = AoDHTML . Split ( New String ( ) { My . Resources . AoD_HTML_Anime_Title } , System . StringSplitOptions . RemoveEmptyEntries )
Dim AoDTitle4 ( ) As String = AoDTitle3 ( 1 ) . Split ( New String ( ) { " </h1> " } , System . StringSplitOptions . RemoveEmptyEntries )
2021-09-20 20:37:57 +02:00
If CBool ( InStr ( AoDTitle4 ( 0 ) , " - " ) ) Then
2020-12-02 21:01:30 +01:00
Dim AoD_Anime_Season_split ( ) As String = AoDTitle4 ( 0 ) . Split ( New String ( ) { " - " } , System . StringSplitOptions . RemoveEmptyEntries )
2021-09-20 20:37:57 +02:00
AoD_Anime_Title = AoD_Anime_Season_split ( 0 ) . Replace ( " & " , " & " ) . Replace ( " /u0026 " , " & " ) . Replace ( " \u002F " , " / " ) . Replace ( " \u0026 " , " & " )
AoD_Anime_Title = System . Text . RegularExpressions . Regex . Replace ( AoD_Anime_Title , " [^\w\\-] " , " " ) . Trim ( CType ( " " , Char ( ) ) )
AoD_Season = System . Text . RegularExpressions . Regex . Replace ( AoD_Anime_Season_split ( 1 ) , " [^\w\\-] " , " " ) . Trim ( CType ( " " , Char ( ) ) )
2020-12-02 21:01:30 +01:00
Else
2021-09-20 20:37:57 +02:00
AoD_Anime_Title = AoD_Anime_Title . Replace ( " & " , " & " ) . Replace ( " /u0026 " , " & " ) . Replace ( " \u002F " , " / " ) . Replace ( " \u0026 " , " & " )
AoD_Anime_Title = System . Text . RegularExpressions . Regex . Replace ( AoDTitle4 ( 0 ) , " [^\w\\-] " , " " ) . Trim ( CType ( " " , Char ( ) ) )
2020-12-02 21:01:30 +01:00
End If
Else 'keine Serie aka Film
Dim AoDMovie1 ( ) As String = AoDHTML . Split ( New String ( ) { My . Resources . AoD_HTML_Anime_Title } , System . StringSplitOptions . RemoveEmptyEntries )
Dim AoDMovie2 ( ) As String = AoDMovie1 ( 1 ) . Split ( New String ( ) { " </h1> " } , System . StringSplitOptions . RemoveEmptyEntries )
2021-09-20 20:37:57 +02:00
If CBool ( InStr ( AoDMovie2 ( 0 ) , " - " ) ) Then
2020-12-02 21:01:30 +01:00
Dim AoDMovie_split ( ) As String = AoDMovie2 ( 0 ) . Split ( New String ( ) { " - " } , System . StringSplitOptions . RemoveEmptyEntries )
2021-09-20 20:37:57 +02:00
AoD_Anime_Title = AoDMovie_split ( 0 ) . Replace ( " & " , " & " ) . Replace ( " /u0026 " , " & " ) . Replace ( " \u002F " , " / " ) . Replace ( " \u0026 " , " & " )
AoD_Anime_Title = System . Text . RegularExpressions . Regex . Replace ( AoD_Anime_Title , " [^\w\\-] " , " " ) . Trim ( CType ( " " , Char ( ) ) )
AoD_Episode_Number = System . Text . RegularExpressions . Regex . Replace ( AoDMovie_split ( 1 ) , " [^\w\\-] " , " " ) . Trim ( CType ( " " , Char ( ) ) )
AoD_Episode_Title = System . Text . RegularExpressions . Regex . Replace ( AoDMovie_split ( 1 ) , " [^\w\\-] " , " " ) . Trim ( CType ( " " , Char ( ) ) )
2020-12-02 21:01:30 +01:00
Else
2021-09-20 20:37:57 +02:00
AoD_Anime_Title = AoDMovie2 ( 0 ) . Replace ( " & " , " & " ) . Replace ( " /u0026 " , " & " ) . Replace ( " \u002F " , " / " ) . Replace ( " \u0026 " , " & " )
AoD_Anime_Title = System . Text . RegularExpressions . Regex . Replace ( AoD_Anime_Title , " [^\w\\-] " , " " ) . Trim ( CType ( " " , Char ( ) ) )
2020-12-02 21:01:30 +01:00
End If
End If
If NameMethode = 0 Then
If AoD_Season = Nothing Then
AoDTitle = AoD_Anime_Title + " " + AoD_Episode_Number
Else
AoDTitle = AoD_Anime_Title + " " + AoD_Season + " " + AoD_Episode_Number
End If
ElseIf NameMethode = 1 Then
If AoD_Season = Nothing Then
AoDTitle = AoD_Anime_Title + " " + AoD_Episode_Title
Else
AoDTitle = AoD_Anime_Title + " " + AoD_Season + " " + AoD_Episode_Title
End If
ElseIf NameMethode = 2 Then
If AoD_Season = Nothing Then
AoDTitle = AoD_Anime_Title + " " + AoD_Episode_Number + " " + AoD_Episode_Title
Else
AoDTitle = AoD_Anime_Title + " " + AoD_Season + " " + AoD_Episode_Number + " " + AoD_Episode_Title
End If
End If
Catch ex As Exception
End Try
2021-09-20 20:37:57 +02:00
2021-08-07 23:49:09 +02:00
AoDTitle = AoDTitle . Replace ( " & " , " & " ) . Replace ( " /u0026 " , " & " ) . Replace ( " \u002F " , " / " ) . Replace ( " \u0026 " , " & " )
2021-09-20 20:37:57 +02:00
AoDTitle = System . Text . RegularExpressions . Regex . Replace ( AoDTitle , " [^\w\\-] " , " " ) . Trim ( CType ( " " , Char ( ) ) )
2020-11-04 19:11:38 +01:00
AoDTitle = Main . RemoveExtraSpaces ( AoDTitle )
2020-12-02 21:01:30 +01:00
Pfad2 = UseSubfolder ( AoD_Anime_Title , AoD_Season , Pfad2 )
If Not Directory . Exists ( Path . GetDirectoryName ( Pfad2 ) ) Then
' Nein! Jetzt erstellen...
Try
Directory . CreateDirectory ( Path . GetDirectoryName ( Pfad2 ) )
Catch ex As Exception
' Ordner wurde nich erstellt
Pfad2 = Pfad0
End Try
End If
2021-03-08 21:08:26 +01:00
Dim DownloadPfad As String = Chr ( 34 ) + Pfad2 + " \ " + AoDTitle + VideoFormat + Chr ( 34 )
2020-12-02 21:01:30 +01:00
2020-11-04 19:11:38 +01:00
#Region "lösche doppel download"
Dim Pfad5 As String = DownloadPfad . Replace ( Chr ( 34 ) , " " )
If My . Computer . FileSystem . FileExists ( Pfad5 ) Then 'Pfad = Kompeltter Pfad mit Dateinamen + ENdung
2021-09-20 20:37:57 +02:00
Me . Invoke ( New Action ( Function ( ) As Object
2020-11-13 15:57:34 +01:00
Main . Text = " Status: File already exists. "
Main . Invalidate ( )
2020-11-04 19:11:38 +01:00
Return Nothing
End Function ) )
If MessageBox . Show ( " The file " + Pfad5 + " already exists. " + vbNewLine + " You want to override it? " , " File exists! " , MessageBoxButtons . OKCancel ) = DialogResult . OK Then
Try
My . Computer . FileSystem . DeleteFile ( Pfad5 )
2021-09-20 20:37:57 +02:00
Me . Invoke ( New Action ( Function ( ) As Object
2020-11-13 15:57:34 +01:00
Main . Text = " Status: Old file overwritten. "
Main . Invalidate ( )
2020-11-04 19:11:38 +01:00
Return Nothing
End Function ) )
Catch ex As Exception
End Try
Else
2021-09-20 20:37:57 +02:00
Me . Invoke ( New Action ( Function ( ) As Object
2020-11-13 15:57:34 +01:00
Main . Text = " Crunchyroll Downloader "
2020-11-04 19:11:38 +01:00
Return Nothing
End Function ) )
Continue For
Exit Sub
End If
End If
#End Region
2021-09-20 20:37:57 +02:00
Dim AoDThumbnail1 ( ) As String = EpisodePC . Split ( New String ( ) { My . Resources . AoD_Image } , System . StringSplitOptions . RemoveEmptyEntries )
2020-11-04 19:11:38 +01:00
Dim AoDThumbnail2 ( ) As String = AoDThumbnail1 ( 1 ) . Split ( New String ( ) { Chr ( 34 ) } , System . StringSplitOptions . RemoveEmptyEntries )
Dim AoDThumbnail As String = AoDThumbnail2 ( 0 )
2021-05-01 13:56:48 +02:00
2021-09-20 20:37:57 +02:00
Dim AoDTm3u8 ( ) As String = EpisodePC . Split ( New String ( ) { Chr ( 34 ) } , System . StringSplitOptions . RemoveEmptyEntries )
2020-11-05 20:43:52 +01:00
Dim m3u8_Master_url As String = AoDTm3u8 ( 0 ) . Replace ( " & " , " & " ) . Replace ( " /u0026 " , " & " ) . Replace ( " \u002F " , " / " ) . Replace ( " \u0026 " , " & " )
2020-11-13 15:57:34 +01:00
Dim m3u8_list As New List ( Of String )
2020-11-05 20:43:52 +01:00
Dim m3u8_url As String = Nothing
Dim m3u8_url_Temp As String = Nothing
Dim client As New WebClient
client . Encoding = System . Text . Encoding . UTF8
Dim text As String = client . DownloadString ( m3u8_Master_url )
2021-09-20 20:37:57 +02:00
'Me.Invoke(New Action(Function() As Object
2020-12-03 16:02:47 +01:00
' MsgBox(m3u8_Master_url)
' Return Nothing
' End Function))
'My.Computer.FileSystem.WriteAllText(Application.StartupPath + "\Test.txt", text, False)
2020-11-13 15:57:34 +01:00
2021-09-20 20:37:57 +02:00
If CBool ( InStr ( text , " RESOLUTION= " ) ) Then 'master m3u8 no fragments
2020-11-05 20:43:52 +01:00
Dim new_m3u8 ( ) As String = text . Split ( New String ( ) { vbLf } , System . StringSplitOptions . RemoveEmptyEntries )
2021-09-20 20:37:57 +02:00
If TargetReso = " 42 " Then
2020-11-05 20:43:52 +01:00
m3u8_url = m3u8_Master_url
End If
For i2 As Integer = 0 To new_m3u8 . Count - 1
2020-11-19 22:28:42 +01:00
2020-11-05 20:43:52 +01:00
'MsgBox("x" + Main.Resu.ToString)
If CBool ( InStr ( new_m3u8 ( i2 ) , " x " + TargetReso . ToString ) ) = True Then
2020-11-13 15:57:34 +01:00
m3u8_list . Add ( new_m3u8 ( i2 ) + vbCrLf + new_m3u8 ( i2 + 1 ) )
'm3u8_url_Temp = new_m3u8(i2 + 1)
'Exit For
2020-11-19 22:28:42 +01:00
ElseIf CBool ( InStr ( new_m3u8 ( i2 ) , " x1081 " ) ) = True Then
If AoD_1080pPlus = True Then
2021-09-20 20:37:57 +02:00
'Me.Invoke(New Action(Function() As Object
2020-11-19 22:28:42 +01:00
' MsgBox(new_m3u8(i2 + 1))
' Return Nothing
' End Function))
m3u8_list . Add ( new_m3u8 ( i2 ) + vbCrLf + new_m3u8 ( i2 + 1 ) )
End If
2020-12-02 21:01:30 +01:00
ElseIf CBool ( InStr ( new_m3u8 ( i2 ) , AoDTempReso ) ) = True Then
m3u8_list . Add ( new_m3u8 ( i2 ) + vbCrLf + new_m3u8 ( i2 + 1 ) )
2020-11-05 20:43:52 +01:00
End If
2020-11-19 22:28:42 +01:00
2020-11-05 20:43:52 +01:00
Next
2021-09-20 20:37:57 +02:00
'Me.Invoke(New Action(Function() As Object
2021-03-08 21:08:26 +01:00
' 'MsgBox(m3u8_list.Count.ToString)
2020-11-19 22:28:42 +01:00
' Return Nothing
' End Function))
2020-11-13 15:57:34 +01:00
If m3u8_list . Count > 1 Then
Dim HigestBitrate As Integer = 0
For i2 As Integer = 0 To m3u8_list . Count - 1
'MsgBox("x" + Main.Resu.ToString)
If CBool ( InStr ( m3u8_list . Item ( i2 ) , " AVERAGE-BANDWIDTH= " ) ) = True Then
Dim BitRate ( ) As String = m3u8_list . Item ( i2 ) . Split ( New String ( ) { " AVERAGE-BANDWIDTH= " } , System . StringSplitOptions . RemoveEmptyEntries )
Dim BitRate2 ( ) As String = BitRate ( 1 ) . Split ( New String ( ) { " , " } , System . StringSplitOptions . RemoveEmptyEntries )
2020-11-19 22:28:42 +01:00
If AoD_1080pPlus = True Then
If CInt ( BitRate2 ( 0 ) ) > HigestBitrate Then
HigestBitrate = CInt ( BitRate2 ( 0 ) )
End If
Else
2021-09-20 20:37:57 +02:00
'Me.Invoke(New Action(Function() As Object
2021-03-08 21:08:26 +01:00
' 'MsgBox(HigestBitrate.ToString + vbNewLine + BitRate2(0))
2020-11-19 22:28:42 +01:00
' Return Nothing
' End Function))
If HigestBitrate > CInt ( BitRate2 ( 0 ) ) Then
HigestBitrate = CInt ( BitRate2 ( 0 ) )
ElseIf HigestBitrate = 0 Then
HigestBitrate = CInt ( BitRate2 ( 0 ) )
End If
End If
ElseIf CBool ( InStr ( m3u8_list . Item ( i2 ) , " BANDWIDTH= " ) ) = True Then
Dim BitRate ( ) As String = m3u8_list . Item ( i2 ) . Split ( New String ( ) { " BANDWIDTH= " } , System . StringSplitOptions . RemoveEmptyEntries )
Dim BitRate2 ( ) As String = BitRate ( 1 ) . Split ( New String ( ) { " , " } , System . StringSplitOptions . RemoveEmptyEntries )
2020-11-13 15:57:34 +01:00
If AoD_1080pPlus = True Then
If CInt ( BitRate2 ( 0 ) ) > HigestBitrate Then
HigestBitrate = CInt ( BitRate2 ( 0 ) )
End If
Else
2021-09-20 20:37:57 +02:00
'Me.Invoke(New Action(Function() As Object
2021-03-08 21:08:26 +01:00
' 'MsgBox(HigestBitrate.ToString + vbNewLine + BitRate2(0))
2020-11-13 15:57:34 +01:00
' Return Nothing
' End Function))
If HigestBitrate > CInt ( BitRate2 ( 0 ) ) Then
HigestBitrate = CInt ( BitRate2 ( 0 ) )
ElseIf HigestBitrate = 0 Then
HigestBitrate = CInt ( BitRate2 ( 0 ) )
End If
End If
End If
Next
2021-09-20 20:37:57 +02:00
'Me.Invoke(New Action(Function() As Object
2020-11-13 15:57:34 +01:00
' MsgBox(HigestBitrate.ToString)
' Return Nothing
' End Function))
For i2 As Integer = 0 To m3u8_list . Count - 1
If CBool ( InStr ( m3u8_list . Item ( i2 ) , HigestBitrate . ToString ) ) = True Then
Dim new_m3u8_2 ( ) As String = m3u8_list . Item ( i2 ) . Split ( New String ( ) { vbLf } , System . StringSplitOptions . RemoveEmptyEntries )
m3u8_url_Temp = new_m3u8_2 ( 1 )
End If
Next
2020-12-02 21:01:30 +01:00
ElseIf m3u8_list . Count = 1 Then
2020-11-13 15:57:34 +01:00
Dim new_m3u8_2 ( ) As String = m3u8_list . Item ( 0 ) . Split ( New String ( ) { vbLf } , System . StringSplitOptions . RemoveEmptyEntries )
m3u8_url_Temp = new_m3u8_2 ( 1 )
2020-12-02 21:01:30 +01:00
Else
2021-09-20 20:37:57 +02:00
Me . Invoke ( New Action ( Function ( ) As Object
2020-12-02 21:01:30 +01:00
Me . Text = " Status: Resolution not found! "
Me . Invalidate ( )
Main . DialogTaskString = " AoD_Resolution "
Main . ResoNotFoundString = text
ErrorDialog . ShowDialog ( )
AoDTempReso = Main . ResoBackString
Return Nothing
End Function ) )
Dim m3u8BackupReso ( ) As String = text . Split ( New String ( ) { vbLf } , System . StringSplitOptions . RemoveEmptyEntries )
For i2 As Integer = 0 To m3u8BackupReso . Count - 1
Dim ii2 As Integer = i2
If CBool ( InStr ( m3u8BackupReso ( i2 ) , AoDTempReso ) ) = True Then
m3u8_url_Temp = m3u8BackupReso ( ii2 + 1 )
End If
Next
2020-11-13 15:57:34 +01:00
End If
2021-09-20 20:37:57 +02:00
If CBool ( InStr ( m3u8_url_Temp , " https:// " ) ) Then
2020-11-05 20:43:52 +01:00
m3u8_url = m3u8_url_Temp
Else
Dim d ( ) As String = New Uri ( m3u8_Master_url ) . Segments
Dim path As String = " https:// " + New Uri ( m3u8_Master_url ) . Host
For i3 As Integer = 0 To d . Count - 2
path = path + d ( i3 )
Next
m3u8_url = path + m3u8_url_Temp
'MsgBox(m3u8_url_1)
End If
End If
2021-02-28 13:22:00 +01:00
Dim AoDm3u8Final As String = " -i " + Chr ( 34 ) + m3u8_url + Chr ( 34 ) + " " + ffmpeg
2020-11-13 15:57:34 +01:00
Dim DisplayReso As String = TargetReso . ToString + " p "
If AoD_1080pPlus = True Then
DisplayReso = " 1080p+ "
End If
2020-12-02 21:01:30 +01:00
If AoDTempReso = " 6666x6666 " Then
Else
Dim ResoSplit ( ) As String = AoDTempReso . Split ( New String ( ) { " x " } , System . StringSplitOptions . RemoveEmptyEntries )
DisplayReso = ResoSplit ( 1 ) + " p "
End If
2021-02-20 18:25:49 +01:00
2020-11-04 19:11:38 +01:00
Dim L1Name As String = " anime-on-demand.de " 'L1Name_Split(1).Replace("www.", "") + " | Dub : " + FunimationDub
2021-09-20 20:37:57 +02:00
Me . Invoke ( New Action ( Function ( ) As Object
2020-12-10 19:18:20 +01:00
Main . ListItemAdd ( Pfad2 , L1Name , AoDTitle , DisplayReso , " Unknown " , " None " , AoDThumbnail , AoDm3u8Final , DownloadPfad , " AoD " )
2020-11-13 15:57:34 +01:00
Main . liList . Add ( My . Resources . htmlvorThumbnail + AoDThumbnail + My . Resources . htmlnachTumbnail + " <br> " + AoDTitle + My . Resources . htmlvorAufloesung + " [Auto] " + My . Resources . htmlvorSoftSubs + vbNewLine + " None " + My . Resources . htmlvorHardSubs + " null " + My . Resources . htmlnachHardSubs + " <!-- " + AoDTitle + " --> " )
2020-11-04 19:11:38 +01:00
Return Nothing
End Function ) )
RDY = True
Next
End Sub
2020-12-13 16:11:43 +01:00
Private Sub Anime_Add_Resize ( sender As Object , e As EventArgs ) Handles Me . Resize
Btn_Close . Location = New Point ( Me . Width - 40 , 1 )
Btn_min . Location = New Point ( Me . Width - 68 , 10 )
End Sub
Private Sub Btn_min_Click ( sender As Object , e As EventArgs ) Handles Btn_min . Click
Me . WindowState = System . Windows . Forms . FormWindowState . Minimized
End Sub
Private Sub Btn_Close_Click ( sender As Object , e As EventArgs ) Handles Btn_Close . Click
Main . ListBoxList . Clear ( )
If ListBox1 . Items . Count > 0 Then
For i As Integer = 0 To ListBox1 . Items . Count - 1
2021-09-20 20:37:57 +02:00
Main . ListBoxList . Add ( ListBox1 . Items . Item ( i ) . ToString )
2020-12-13 16:11:43 +01:00
Next
End If
Me . Close ( )
End Sub
Private Sub Btn_min_MouseEnter ( sender As Object , e As EventArgs ) Handles Btn_min . MouseEnter
2021-09-20 20:37:57 +02:00
Btn_min . Image = My . Resources . main_mini_red
2020-12-13 16:11:43 +01:00
End Sub
Private Sub Btn_min_MouseLeave ( sender As Object , e As EventArgs ) Handles Btn_min . MouseLeave
2021-09-20 20:37:57 +02:00
Btn_min . Image = Main . MinImg
2020-12-13 16:11:43 +01:00
End Sub
Private Sub Btn_Close_MouseEnter ( sender As Object , e As EventArgs ) Handles Btn_Close . MouseEnter
2021-09-20 20:37:57 +02:00
Btn_Close . Image = My . Resources . main_del
2020-12-13 16:11:43 +01:00
End Sub
Private Sub Btn_Close_MouseLeave ( sender As Object , e As EventArgs ) Handles Btn_Close . MouseLeave
2021-09-20 20:37:57 +02:00
Btn_Close . Image = Main . CloseImg
2020-12-13 16:11:43 +01:00
End Sub
2020-12-18 13:47:55 +01:00
Private Sub TextBox4_Click ( sender As Object , e As EventArgs ) Handles TextBox4 . Click
Dim FolderBrowserDialog1 As New FolderBrowserDialog ( )
FolderBrowserDialog1 . RootFolder = Environment . SpecialFolder . MyComputer
If FolderBrowserDialog1 . ShowDialog ( ) = DialogResult . OK Then
ComboBox2 . Items . Clear ( )
Main . Pfad = FolderBrowserDialog1 . SelectedPath
Dim rk0 As RegistryKey = Registry . CurrentUser . CreateSubKey ( " Software\CRDownloader " )
rk0 . SetValue ( " Ordner " , Main . Pfad , RegistryValueKind . String )
ComboBox2 . Items . Add ( SubFolder_automatic )
ComboBox2 . Items . Add ( SubFolder_automatic2 )
ComboBox2 . Items . Add ( SubFolder_Nothing )
ComboBox2 . SelectedItem = SubFolder_Nothing
TextBox4 . Text = Main . Pfad
Try
Dim di As New System . IO . DirectoryInfo ( Main . 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
ComboBox2 . Items . Add ( fi . Name )
End If
Next
Dim Result As New List ( Of String )
'Jeder Eintrag in der Combobox durchgehen
For Each item As String In ComboBox2 . Items
'Wenn der Combobox-Eintrag noch nicht in der Result-List vorhanden ist, Eintrag der Result-List hinzufügen
If Result . Contains ( item ) = False Then
Result . Add ( item )
End If
Next
'In der Result-List sind jetzt alle Einträge einmal vorhanden
'Combobox leeren
'ComboBox2.Items.Clear()
'Die Result-List der Combobox hinzufügen
'ComboBox2.Items.AddRange(Result.ToArray)
Catch ex As Exception
End Try
End If
End Sub
2021-01-14 18:06:42 +01:00
2021-03-20 13:02:49 +01:00
Private Sub SubTitlesOnlyCB_SelectedIndexChanged ( sender As Object , e As EventArgs ) Handles SubTitlesOnlyCB . SelectedIndexChanged
If SubTitlesOnlyCB . Text = " [Default] " Then
Main . SubsOnly = False
Else
Main . SubsOnly = True
End If
End Sub
2021-05-23 22:27:56 +02:00
2021-08-08 12:23:22 +02:00
2021-09-20 20:37:57 +02:00
Private Sub GroupBox1_VisibleChanged ( sender As Object , e As EventArgs ) Handles groupBox1 . VisibleChanged
If Not textBox2 . Text = " Use Custom Name " Then
textBox2 . Text = " Use Custom Name "
2021-08-08 12:23:22 +02:00
End If
End Sub
2021-09-20 20:37:57 +02:00
Private Sub Timer3_Tick ( sender As Object , e As EventArgs ) Handles Timer3 . Tick
Try
For tlc As Integer = 0 To ThreadList . Count - 1
If ThreadList . Item ( tlc ) . IsAlive Then
Else
ThreadList . Remove ( ThreadList . Item ( tlc ) )
End If
Next
Catch ex As Exception
End Try
End Sub
End Class
Public Class AoDEpisodes
Public Name As String
Public Url As String
Public Sub New ( ByVal Name As String , ByVal Url As String )
Me . Name = Name
Me . Url = Url
End Sub
Public Overrides Function ToString ( ) As String
Return String . Format ( " {0}, {1} " , Me . Name , Me . Url )
End Function
2019-11-10 00:16:12 +01:00
End Class