mirror of
https://github.com/hama3254/Crunchyroll-Downloader-v3.0.git
synced 2024-12-28 17:11:49 +01:00
c9e85c5f30
added hidden queue #948
989 lines
35 KiB
VB.net
989 lines
35 KiB
VB.net
Option Strict On
|
|
|
|
Imports Microsoft.Win32
|
|
Imports System.Net
|
|
Imports System.IO
|
|
Imports System.Text
|
|
Imports System.Threading
|
|
Imports MetroFramework.Forms
|
|
Imports MetroFramework
|
|
Imports MetroFramework.Components
|
|
Imports System.Text.RegularExpressions
|
|
|
|
Public Class Einstellungen
|
|
Inherits MetroForm
|
|
|
|
Dim Manager As MetroStyleManager = Main.Manager
|
|
Dim LastVersionString As String = "v3.8-Beta"
|
|
|
|
Public CR_SoftSubsTemp As New List(Of String)
|
|
Dim TempCheckSubMod1 As Boolean = False
|
|
Dim TempVTTStyle As Boolean = False
|
|
Dim TempMultiDL As Boolean = False
|
|
|
|
Private Sub Einstellungen_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
|
|
|
Label6.Text = "You have: v" + Application.ProductVersion.ToString '+ " WebView2_Test"
|
|
|
|
BackgroundWorker1.RunWorkerAsync()
|
|
|
|
|
|
'CR_Anime_Folge = CR_Name_Staffel0_Folge1(1)
|
|
'If GitHubLastTag1(0)
|
|
CR_SoftSubsTemp.AddRange(Main.SoftSubs)
|
|
|
|
Manager.Owner = Me
|
|
Me.StyleManager = Manager
|
|
|
|
CB_HideQueue.Checked = My.Settings.HiddenQueue
|
|
|
|
CB_OverrideDub.Checked = My.Settings.OverrideDub
|
|
CB_Cap.Checked = My.Settings.Captions
|
|
|
|
CB_Mod1.Checked = My.Settings.SubtitleMod1
|
|
|
|
CB_vttStyle.Checked = My.Settings.vttStyleRemove
|
|
|
|
TempTB.Text = Main.TempFolder
|
|
LeadingZeroDD.SelectedIndex = Main.LeadingZero
|
|
|
|
CB_Ignore.SelectedIndex = Main.IgnoreSeason
|
|
|
|
CB_HideSF.SelectedIndex = Main.HideFLInt
|
|
|
|
If Main.IncludeLangName = True Then
|
|
CB_SoftSubSettings.SelectedIndex = 1
|
|
Else
|
|
CB_SoftSubSettings.SelectedIndex = 0
|
|
End If
|
|
|
|
If Main.LangNameType = 1 Then
|
|
LangNameType_DD.SelectedIndex = 1
|
|
ElseIf Main.LangNameType = 2 Then
|
|
LangNameType_DD.SelectedIndex = 2
|
|
Else
|
|
LangNameType_DD.SelectedIndex = 0
|
|
End If
|
|
|
|
If Main.KodiNaming = True Then
|
|
CB_Kodi.Checked = True
|
|
End If
|
|
|
|
If Main.DubMode = True Then
|
|
DubMode.Checked = True
|
|
End If
|
|
|
|
If Main.CR_Chapters = True Then
|
|
ChB_Chapters.Checked = True
|
|
End If
|
|
|
|
If Main.Curl_insecure = True Then
|
|
Chb_Ign_tls.Checked = True
|
|
End If
|
|
|
|
If Main.DarkModeValue = True Then
|
|
DarkMode.Checked = True
|
|
GroupBoxColor(Color.FromArgb(150, 150, 150))
|
|
pictureBox1.Image = Main.CloseImg
|
|
Else
|
|
GroupBoxColor(Color.FromArgb(0, 0, 0))
|
|
DarkMode.Checked = False
|
|
End If
|
|
|
|
TabControl1.SelectedIndex = 0
|
|
|
|
#Region "sof subs"
|
|
CR_SoftSubDefault.SelectedIndex = 0
|
|
|
|
For i As Integer = 1 To Main.LangValueEnum.Count - 2 ' index 0 = 'null' | last index = jp
|
|
|
|
If Main.SoftSubs.Contains(Main.LangValueEnum(i).CR_Value) Then
|
|
CR_SoftSubDefault.Items.Add(Main.LangValueEnum(i).DisplayText)
|
|
|
|
End If
|
|
|
|
Next
|
|
CR_SoftSubs.SelectedIndex = 0
|
|
|
|
#End Region
|
|
|
|
|
|
|
|
Me.Location = New Point(CInt(Main.Location.X + Main.Width / 2 - Me.Width / 2), CInt(Main.Location.Y + Main.Height / 2 - Me.Height / 2))
|
|
Try
|
|
Me.Icon = My.Resources.icon
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
|
|
If Main.HybridMode = True And Main.KeepCache = True Then
|
|
DD_DLMode.SelectedIndex = 2
|
|
ElseIf Main.HybridMode = True Then
|
|
DD_DLMode.SelectedIndex = 1
|
|
Else
|
|
DD_DLMode.SelectedIndex = 0
|
|
End If
|
|
|
|
|
|
|
|
If Main.VideoFormat = ".mkv" Then
|
|
CB_Format.SelectedItem = "MKV"
|
|
ElseIf Main.VideoFormat = ".aac" Then
|
|
CB_Format.SelectedItem = "AAC (Audio only)"
|
|
Else
|
|
CB_Format.SelectedItem = "MP4"
|
|
End If
|
|
|
|
|
|
Try
|
|
GB_Resolution.Text = Main.GB_Resolution_Text
|
|
GB_SubLanguage.Text = Main.GB_SubLanguage_Text
|
|
DL_Count_simultaneous.Text = Main.DL_Count_simultaneousText
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
|
|
If Main.Reso = 1080 Then
|
|
A1080p.Checked = True
|
|
ElseIf Main.Reso = 720 Then
|
|
A720p.Checked = True
|
|
ElseIf Main.Reso = 480 Then
|
|
A480p.Checked = True
|
|
ElseIf Main.Reso = 360 Then
|
|
A360p.Checked = True
|
|
ElseIf Main.Reso = 240 Then
|
|
A240p.Checked = True
|
|
End If
|
|
|
|
CB_CR_Harsubs.Items.Clear()
|
|
|
|
For i As Integer = 0 To Main.LangValueEnum.Count - 2
|
|
CB_CR_Harsubs.Items.Add(Main.LangValueEnum(i).DisplayText)
|
|
If Main.LangValueEnum(i).CR_Value = Main.SubSprache.CR_Value Then
|
|
'MsgBox(CB_CR_Harsubs.Items.Count.ToString)
|
|
'MsgBox(i.ToString)
|
|
CB_CR_Harsubs.SelectedIndex = i
|
|
'Exit For
|
|
End If
|
|
|
|
Next
|
|
|
|
|
|
CB_CR_Audio.Items.Clear()
|
|
|
|
For i As Integer = 1 To Main.LangValueEnum.Count - 1
|
|
|
|
CB_CR_Audio.Items.Add(Main.LangValueEnum(i).DisplayText)
|
|
If Main.LangValueEnum(i).CR_Value = Main.DubSprache.CR_Value Then
|
|
CB_CR_Audio.SelectedIndex = i - 1
|
|
|
|
End If
|
|
|
|
Next
|
|
|
|
|
|
|
|
DD_Season_Prefix.Text = Main.Season_Prefix
|
|
|
|
DD_Episode_Prefix.Text = Main.Episode_Prefix
|
|
|
|
|
|
NumericUpDown2.Value = Main.ErrorTolerance
|
|
NumericUpDown1.Value = Main.MaxDL
|
|
TextBox1.Text = Main.Startseite
|
|
|
|
Try
|
|
|
|
If CBool(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 CBool(InStr(Main.ffmpeg_command, "-c:a copy ")) Then
|
|
Dim ffmpegDisplayCurrent As String() = Main.ffmpeg_command.Split(New String() {" "}, System.StringSplitOptions.RemoveEmptyEntries)
|
|
If ffmpegDisplayCurrent.Count > 8 Then
|
|
FFMPEG_CommandP1.Text = ffmpegDisplayCurrent(0) + " " + ffmpegDisplayCurrent(1)
|
|
FFMPEG_CommandP2.Text = ffmpegDisplayCurrent(2) + " " + ffmpegDisplayCurrent(3)
|
|
FFMPEG_CommandP3.Text = ffmpegDisplayCurrent(4) + " " + ffmpegDisplayCurrent(5)
|
|
FFMPEG_CommandP4.Text = "-c:a copy -bsf:a aac_adtstoasc"
|
|
Else
|
|
FFMPEG_CommandP1.Text = ffmpegDisplayCurrent(0) + " " + ffmpegDisplayCurrent(1)
|
|
FFMPEG_CommandP2.Text = "[no Preset]"
|
|
FFMPEG_CommandP3.Text = ffmpegDisplayCurrent(2) + " " + ffmpegDisplayCurrent(3)
|
|
FFMPEG_CommandP4.Text = "-c:a copy -bsf:a aac_adtstoasc"
|
|
End If
|
|
|
|
|
|
Else
|
|
|
|
Dim ffmpegDisplayCurrent As String() = Main.ffmpeg_command.Split(New String() {" "}, System.StringSplitOptions.RemoveEmptyEntries)
|
|
FFMPEG_CommandP1.Text = ffmpegDisplayCurrent(0) + " " + ffmpegDisplayCurrent(1)
|
|
FFMPEG_CommandP2.Text = ffmpegDisplayCurrent(2) + " " + ffmpegDisplayCurrent(3)
|
|
FFMPEG_CommandP3.Text = ffmpegDisplayCurrent(4) + " " + ffmpegDisplayCurrent(5)
|
|
FFMPEG_CommandP4.Text = "-c:a copy -bsf:a aac_adtstoasc"
|
|
End If
|
|
|
|
|
|
If FFMPEG_CommandP1.Text = "-c:v libsvtav1" And FFMPEG_CommandP2.Text = "[no Preset]" Then
|
|
FFMPEG_CommandP2.Enabled = False
|
|
FFMPEG_CommandP3.Enabled = True
|
|
End If
|
|
|
|
Catch ex As Exception
|
|
MsgBox("Error processing ffmpeg command", MsgBoxStyle.Information)
|
|
End Try
|
|
ListViewAdd_True.Checked = Main.UseQueue
|
|
|
|
|
|
|
|
If Main.StartServer = 0 Then
|
|
http_support.Text = "add-on support disabled"
|
|
Else
|
|
http_support.Text = Main.StartServer.ToString
|
|
End If
|
|
|
|
|
|
|
|
If Main.DefaultSubCR = "de-DE" Then
|
|
CR_SoftSubDefault.SelectedItem = "Deutsch"
|
|
ElseIf Main.DefaultSubCR = "en-US" Then
|
|
CR_SoftSubDefault.SelectedItem = "English"
|
|
ElseIf Main.DefaultSubCR = "pt-BR" Then
|
|
CR_SoftSubDefault.SelectedItem = "Português (Brasil)"
|
|
ElseIf Main.DefaultSubCR = "es-419" Then
|
|
CR_SoftSubDefault.SelectedItem = "Español (LA)"
|
|
ElseIf Main.DefaultSubCR = "fr-FR" Then
|
|
CR_SoftSubDefault.SelectedItem = "Français (France)"
|
|
ElseIf Main.DefaultSubCR = "ar-SA" Then
|
|
CR_SoftSubDefault.SelectedItem = "العربية (Arabic)"
|
|
ElseIf Main.DefaultSubCR = "ru-RU" Then
|
|
CR_SoftSubDefault.SelectedItem = "Русский (Russian)"
|
|
ElseIf Main.DefaultSubCR = "it-IT" Then
|
|
CR_SoftSubDefault.SelectedItem = "Italiano (Italian)"
|
|
ElseIf Main.DefaultSubCR = "es-ES" Then
|
|
CR_SoftSubDefault.SelectedItem = "Español (España)"
|
|
Else
|
|
CR_SoftSubDefault.SelectedItem = "[Disabled]"
|
|
End If
|
|
|
|
|
|
Dim NameParts As String() = Main.NameBuilder.Split(New String() {";"}, System.StringSplitOptions.RemoveEmptyEntries)
|
|
|
|
|
|
|
|
For i As Integer = 0 To NameParts.Count - 1
|
|
|
|
If NameParts(i) = "AnimeTitle" Then
|
|
CB_Anime.Checked = True
|
|
ElseIf NameParts(i) = "Season" Then
|
|
CB_Season.Checked = True
|
|
ElseIf NameParts(i) = "EpisodeNR" Then
|
|
CB_EpisodeNR.Checked = True
|
|
ElseIf NameParts(i) = "EpisodeName" Then
|
|
CB_EpisodeName.Checked = True
|
|
ElseIf NameParts(i) = "AnimeDub" Then
|
|
CB_AnimeDub.Checked = True
|
|
End If
|
|
|
|
Next
|
|
|
|
|
|
|
|
|
|
|
|
End Sub
|
|
|
|
Private Sub Btn_Save_Click(sender As Object, e As EventArgs) Handles Btn_Save.Click
|
|
Main.LeadingZero = LeadingZeroDD.SelectedIndex
|
|
My.Settings.LeadingZero = LeadingZeroDD.SelectedIndex
|
|
My.Settings.OverrideDub = CB_OverrideDub.Checked
|
|
My.Settings.Captions = CB_Cap.Checked
|
|
|
|
If http_support.Text = "add-on support disabled" Then
|
|
My.Settings.ServerPort = 0
|
|
|
|
Main.StartServer = CInt(False)
|
|
|
|
Else
|
|
Dim Port As Integer = 0
|
|
Try
|
|
Port = CInt(http_support.Text)
|
|
My.Settings.ServerPort = Port
|
|
|
|
Catch ex As Exception
|
|
|
|
MsgBox("The add-on support Port can only be numbers!", MsgBoxStyle.Exclamation)
|
|
'Exit Sub
|
|
End Try
|
|
If Main.StartServer = Port Then
|
|
Else
|
|
MsgBox("The add-on support needs a restart of the downloader.", MsgBoxStyle.Information)
|
|
End If
|
|
End If
|
|
|
|
|
|
|
|
|
|
Main.HideFLInt = CB_HideSF.SelectedIndex
|
|
My.Settings.HideSF = CB_HideSF.SelectedIndex
|
|
|
|
Main.IgnoreSeason = CB_Ignore.SelectedIndex
|
|
My.Settings.IgnoreSeason = CB_Ignore.SelectedIndex
|
|
|
|
My.Settings.SubtitleMod1 = CB_Mod1.Checked
|
|
My.Settings.vttStyleRemove = CB_vttStyle.Checked
|
|
|
|
If DubMode.Checked = True Then
|
|
Main.DubMode = True
|
|
My.Settings.DubMode = True
|
|
Else
|
|
Main.DubMode = False
|
|
My.Settings.DubMode = False
|
|
|
|
End If
|
|
|
|
If ChB_Chapters.Checked = True Then
|
|
Main.CR_Chapters = True
|
|
My.Settings.CR_Chapters = True
|
|
Else
|
|
Main.CR_Chapters = False
|
|
My.Settings.CR_Chapters = False
|
|
End If
|
|
|
|
If Chb_Ign_tls.Checked = True Then
|
|
Main.Curl_insecure = True
|
|
My.Settings.Curl_insecure = True
|
|
Else
|
|
Main.Curl_insecure = False
|
|
My.Settings.Curl_insecure = False
|
|
End If
|
|
|
|
If CB_Kodi.Checked = True Then
|
|
Main.KodiNaming = True
|
|
My.Settings.KodiSupport = True
|
|
Else
|
|
Main.KodiNaming = False
|
|
My.Settings.KodiSupport = False
|
|
End If
|
|
|
|
' MsgBox(Name_season.Text)
|
|
If CBool(InStr(TextBox1.Text, "https://")) Then
|
|
Main.Startseite = TextBox1.Text
|
|
My.Settings.Startseite = Main.Startseite
|
|
ElseIf TextBox1.Text = Nothing Then
|
|
Main.Startseite = "https://www.crunchyroll.com/"
|
|
My.Settings.Startseite = Main.Startseite
|
|
Else
|
|
|
|
End If
|
|
If DD_Season_Prefix.Text IsNot "[default season prefix]" Then
|
|
Main.Season_Prefix = DD_Season_Prefix.Text
|
|
My.Settings.Prefix_S = Main.Season_Prefix
|
|
End If
|
|
|
|
If DD_Episode_Prefix.Text IsNot "[default episode prefix]" Then
|
|
Main.Episode_Prefix = DD_Episode_Prefix.Text
|
|
My.Settings.Prefix_E = Main.Episode_Prefix
|
|
End If
|
|
|
|
If A1080p.Checked Then
|
|
Main.Reso = 1080
|
|
My.Settings.Reso = Main.Reso
|
|
ElseIf A720p.Checked Then
|
|
Main.Reso = 720
|
|
My.Settings.Reso = Main.Reso
|
|
ElseIf A360p.Checked Then
|
|
Main.Reso = 360
|
|
My.Settings.Reso = Main.Reso
|
|
ElseIf A480p.Checked Then
|
|
Main.Reso = 480
|
|
My.Settings.Reso = Main.Reso
|
|
ElseIf A240p.Checked Then
|
|
Main.Reso = 240
|
|
My.Settings.Reso = Main.Reso
|
|
End If
|
|
|
|
|
|
For i As Integer = 0 To Main.LangValueEnum.Count - 1
|
|
|
|
If CB_CR_Harsubs.SelectedItem.ToString = Main.LangValueEnum(i).DisplayText Then
|
|
Main.SubSprache = Main.LangValueEnum(i)
|
|
My.Settings.Subtitle = Main.SubSprache.CR_Value
|
|
'MsgBox(Main.LangValueEnum(i).Name)
|
|
'MsgBox(Main.LangValueEnum(i).CR_Value)
|
|
Exit For
|
|
End If
|
|
|
|
Next
|
|
|
|
For i As Integer = 0 To Main.LangValueEnum.Count - 1
|
|
|
|
If CB_CR_Audio.SelectedItem.ToString = Main.LangValueEnum(i).DisplayText Then
|
|
Main.DubSprache = Main.LangValueEnum(i)
|
|
My.Settings.CR_Dub = Main.DubSprache.CR_Value
|
|
|
|
Exit For
|
|
End If
|
|
|
|
Next
|
|
|
|
|
|
|
|
If CR_SoftSubDefault.SelectedItem.ToString = "English" Then
|
|
Main.DefaultSubCR = "en-US"
|
|
My.Settings.DefaultSubCR = Main.DefaultSubCR
|
|
ElseIf CR_SoftSubDefault.SelectedItem.ToString = "Deutsch" Then
|
|
Main.DefaultSubCR = "de-DE"
|
|
My.Settings.DefaultSubCR = Main.DefaultSubCR
|
|
ElseIf CR_SoftSubDefault.SelectedItem.ToString = "Português (Brasil)" Then
|
|
Main.DefaultSubCR = "pt-BR"
|
|
My.Settings.DefaultSubCR = Main.DefaultSubCR
|
|
ElseIf CR_SoftSubDefault.SelectedItem.ToString = "Español (LA)" Then
|
|
Main.DefaultSubCR = "es-419"
|
|
My.Settings.DefaultSubCR = Main.DefaultSubCR
|
|
ElseIf CR_SoftSubDefault.SelectedItem.ToString = "Français (France)" Then
|
|
Main.DefaultSubCR = "fr-FR"
|
|
My.Settings.DefaultSubCR = Main.DefaultSubCR
|
|
ElseIf CR_SoftSubDefault.SelectedItem.ToString = "العربية (Arabic)" Then
|
|
Main.DefaultSubCR = "ar-SA"
|
|
My.Settings.DefaultSubCR = Main.DefaultSubCR
|
|
ElseIf CR_SoftSubDefault.SelectedItem.ToString = "Русский (Russian)" Then
|
|
Main.DefaultSubCR = "ru-RU"
|
|
My.Settings.DefaultSubCR = Main.DefaultSubCR
|
|
ElseIf CR_SoftSubDefault.SelectedItem.ToString = "Italiano (Italian)" Then
|
|
Main.DefaultSubCR = "it-IT"
|
|
My.Settings.DefaultSubCR = Main.DefaultSubCR
|
|
ElseIf CR_SoftSubDefault.SelectedItem.ToString = "Español (España)" Then
|
|
Main.DefaultSubCR = "es-ES"
|
|
My.Settings.DefaultSubCR = Main.DefaultSubCR
|
|
ElseIf CR_SoftSubDefault.SelectedItem.ToString = "[Disabled]" Then
|
|
Main.DefaultSubCR = "None"
|
|
My.Settings.DefaultSubCR = Main.DefaultSubCR
|
|
End If
|
|
|
|
|
|
Main.NameBuilder = TB_NameString.Text
|
|
|
|
My.Settings.NameTemplate = Main.NameBuilder
|
|
|
|
|
|
If CB_Format.Text = "MKV" Then
|
|
Main.VideoFormat = ".mkv"
|
|
My.Settings.VideoFormat = Main.VideoFormat
|
|
ElseIf CB_Format.Text = "AAC (Audio only)" Then
|
|
Main.VideoFormat = ".aac"
|
|
My.Settings.VideoFormat = Main.VideoFormat
|
|
Else
|
|
Main.VideoFormat = ".mp4"
|
|
My.Settings.VideoFormat = Main.VideoFormat
|
|
End If
|
|
|
|
If CB_Merge.SelectedIndex > 0 Then
|
|
Main.MergeSubs = True
|
|
Main.MergeSubsFormat = CB_Merge.SelectedItem.ToString
|
|
My.Settings.MergeSubs = Main.MergeSubsFormat
|
|
|
|
Else
|
|
Main.MergeSubsFormat = CB_Merge.SelectedItem.ToString
|
|
Main.MergeSubs = False
|
|
My.Settings.MergeSubs = Main.MergeSubsFormat
|
|
End If
|
|
|
|
|
|
If DD_DLMode.SelectedIndex = 2 Then
|
|
Main.HybridMode = True
|
|
Main.KeepCache = True
|
|
My.Settings.HybridMode = Main.HybridMode
|
|
ElseIf DD_DLMode.SelectedIndex = 1 Then
|
|
Main.HybridMode = True
|
|
Main.KeepCache = False
|
|
My.Settings.HybridMode = Main.HybridMode
|
|
Else
|
|
Main.HybridMode = False
|
|
Main.KeepCache = False
|
|
My.Settings.HybridMode = Main.HybridMode
|
|
End If
|
|
|
|
My.Settings.Keep_Cache = Main.KeepCache
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
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
|
|
End If
|
|
|
|
If Main.ffmpeg_command = My.Settings.ffmpeg_command_override Then
|
|
'override should not get overwritten
|
|
|
|
Else
|
|
Main.ffmpeg_command = ffpmeg_cmd
|
|
My.Settings.ffmpeg_command = Main.ffmpeg_command
|
|
End If
|
|
|
|
|
|
|
|
If CBool(InStr(FFMPEG_CommandP1.Text, "nvenc")) = True And CBool(Main.VideoFormat = ".aac") = False Then
|
|
If NumericUpDown1.Value > 2 Then
|
|
NumericUpDown1.Value = 2
|
|
End If
|
|
|
|
ElseIf CBool(InStr(FFMPEG_CommandP1.Text, "libx26")) = True And CBool(Main.VideoFormat = ".aac") = False Then
|
|
If NumericUpDown1.Value > 1 Then
|
|
NumericUpDown1.Value = 1
|
|
End If
|
|
End If
|
|
|
|
Main.MaxDL = CInt(NumericUpDown1.Value)
|
|
My.Settings.SL_DL = Main.MaxDL
|
|
|
|
|
|
Main.ErrorTolerance = CInt(NumericUpDown2.Value)
|
|
My.Settings.ErrorTolerance = Main.ErrorTolerance
|
|
|
|
Main.UseQueue = ListViewAdd_True.Checked
|
|
My.Settings.QueueMode = Main.UseQueue
|
|
|
|
My.Settings.HiddenQueue = CB_HideQueue.Checked
|
|
|
|
Main.SoftSubs.Clear()
|
|
Main.SoftSubs.AddRange(CR_SoftSubsTemp)
|
|
|
|
|
|
Dim SaveString As String = Nothing
|
|
For ii As Integer = 0 To Main.SoftSubs.Count - 1
|
|
If SaveString = Nothing Then
|
|
SaveString = Main.SoftSubs(ii)
|
|
Else
|
|
SaveString = SaveString + "," + Main.SoftSubs(ii)
|
|
End If
|
|
Next
|
|
If SaveString = Nothing Then
|
|
SaveString = "None"
|
|
End If
|
|
My.Settings.AddedSubs = SaveString
|
|
|
|
|
|
|
|
|
|
If CB_SoftSubSettings.SelectedIndex = 0 Then
|
|
Main.IncludeLangName = False
|
|
My.Settings.IncludeLangName = Main.IncludeLangName
|
|
Else
|
|
Main.IncludeLangName = True
|
|
My.Settings.IncludeLangName = Main.IncludeLangName
|
|
End If
|
|
|
|
If LangNameType_DD.SelectedIndex = 1 Then
|
|
Main.LangNameType = 1
|
|
My.Settings.LangNameType = Main.LangNameType
|
|
ElseIf LangNameType_DD.SelectedIndex = 2 Then
|
|
Main.LangNameType = 2
|
|
My.Settings.LangNameType = Main.LangNameType
|
|
Else
|
|
Main.LangNameType = 0
|
|
My.Settings.LangNameType = Main.LangNameType
|
|
End If
|
|
|
|
My.Settings.Save()
|
|
|
|
Me.Close()
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles pictureBox1.Click
|
|
Me.Close()
|
|
End Sub
|
|
#Region "UI"
|
|
|
|
Private Sub Btn_Close_MouseEnter(sender As Object, e As EventArgs) Handles pictureBox1.MouseEnter
|
|
|
|
pictureBox1.Image = My.Resources.main_del
|
|
End Sub
|
|
|
|
Private Sub Btn_Close_MouseLeave(sender As Object, e As EventArgs) Handles pictureBox1.MouseLeave
|
|
|
|
pictureBox1.Image = Main.CloseImg
|
|
End Sub
|
|
|
|
Private Sub Btn_Save_MouseEnter(sender As Object, e As EventArgs) Handles Btn_Save.MouseEnter, Btn_Save.GotFocus
|
|
Btn_Save.Image = My.Resources.crdSettings_Button_SafeExit_hover
|
|
End Sub
|
|
|
|
Private Sub Btn_Save_MouseLeave(sender As Object, e As EventArgs) Handles Btn_Save.MouseLeave, Btn_Save.LostFocus
|
|
Btn_Save.Image = My.Resources.crdSettings_Button_SafeExit
|
|
End Sub
|
|
|
|
|
|
Private Sub ComboBox1_DrawItem(sender As Object, e As DrawItemEventArgs) Handles CB_CR_Harsubs.DrawItem
|
|
Dim CB As ComboBox = CType(sender, ComboBox)
|
|
CB.BackColor = Color.White
|
|
If e.Index >= 0 Then
|
|
Using st As New StringFormat With {.Alignment = StringAlignment.Center}
|
|
' e.DrawBackground()
|
|
' e.DrawFocusRectangle()
|
|
e.Graphics.FillRectangle(SystemBrushes.ControlLightLight, e.Bounds)
|
|
e.Graphics.DrawString(CB.Items(e.Index).ToString, e.Font, Brushes.Black, e.Bounds, st)
|
|
|
|
End Using
|
|
End If
|
|
End Sub
|
|
|
|
|
|
Private Sub ListC1_Click(sender As Object, e As EventArgs) Handles copy.Click, nv_h264.Click, nv_hevc.Click, nv_AV1.Click, CPU_h264.Click, CPU_h265.Click, CPU_AV1.Click, AMD_h264.Click, AMD_hevc.Click, AMD_AV1.Click, Intel_h264.Click, Intel_hevc.Click, Intel_AV1.Click
|
|
Dim Button As ToolStripMenuItem = CType(sender, ToolStripMenuItem)
|
|
|
|
If CBool(InStr(Button.Text, "av1")) Then
|
|
If MessageBox.Show("The inculded ffmpeg version does not support any AV1 encoders." + vbNewLine + "The 'Help' button gets you to the ffmpeg download page.", "AV1 support", MessageBoxButtons.OKCancel, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, 0, "https://ffmpeg.org/download.html", "") = DialogResult.Cancel Then
|
|
Exit Sub
|
|
End If
|
|
End If
|
|
|
|
If Button.Text = "-c copy" Then
|
|
FFMPEG_CommandP1.Text = "-c copy"
|
|
FFMPEG_CommandP2.Enabled = False
|
|
FFMPEG_CommandP3.Enabled = False
|
|
|
|
ElseIf Button.Text = "-c:v libsvtav1" Then
|
|
FFMPEG_CommandP1.Text = Button.Text
|
|
FFMPEG_CommandP2.Text = "[no Preset]"
|
|
FFMPEG_CommandP2.Enabled = False
|
|
FFMPEG_CommandP3.Enabled = True
|
|
Else
|
|
FFMPEG_CommandP1.Text = Button.Text
|
|
FFMPEG_CommandP2.Enabled = True
|
|
FFMPEG_CommandP3.Enabled = True
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub ListP1_Click(sender As Object, e As EventArgs) Handles ListP1.Click, ListP2.Click, ListP3.Click
|
|
Dim Button As ToolStripMenuItem = CType(sender, ToolStripMenuItem)
|
|
FFMPEG_CommandP2.Text = Button.Text
|
|
FFMPEG_CommandP2.Enabled = True
|
|
FFMPEG_CommandP3.Enabled = True
|
|
End Sub
|
|
|
|
Private Sub ListBit1_Click(sender As Object, e As EventArgs) Handles ListBit_7000.Click, ListBit_6500.Click, ListBit_6000.Click, ListBit_5500.Click, ListBit_5000.Click, ListBit_4500.Click, ListBit_4000.Click, ListBit_3500.Click, ListBit_3000.Click, ListBit_2500.Click, ListBit_2000.Click, ListBit_1500.Click, ListBit_1000.Click
|
|
Dim Button As ToolStripMenuItem = CType(sender, ToolStripMenuItem)
|
|
FFMPEG_CommandP3.Text = Button.Text
|
|
FFMPEG_CommandP2.Enabled = True
|
|
FFMPEG_CommandP3.Enabled = True
|
|
End Sub
|
|
|
|
|
|
Sub GroupBoxColor(ByVal color As Color)
|
|
NumericUpDown1.ForeColor = color
|
|
NumericUpDown2.ForeColor = color
|
|
FFMPEG_CommandP1.ForeColor = color
|
|
FFMPEG_CommandP2.ForeColor = color
|
|
FFMPEG_CommandP3.ForeColor = color
|
|
FFMPEG_CommandP4.ForeColor = color
|
|
SoftSubs.ForeColor = color
|
|
GB_SubLanguage.ForeColor = color
|
|
DL_Count_simultaneous.ForeColor = color
|
|
GB_Resolution.ForeColor = color
|
|
GB_Filename_Pre.ForeColor = color
|
|
GroupBox1.ForeColor = color
|
|
GroupBox2.ForeColor = color
|
|
GroupBox3.ForeColor = color
|
|
GroupBox4.ForeColor = color
|
|
GroupBox5.ForeColor = color
|
|
GroupBox6.ForeColor = color
|
|
GroupBox12.ForeColor = color
|
|
GroupBox14.ForeColor = color
|
|
GroupBox16.ForeColor = color
|
|
GroupBox17.ForeColor = color
|
|
GroupBox18.ForeColor = color
|
|
GroupBox19.ForeColor = color
|
|
GroupBox20.ForeColor = color
|
|
GroupBox21.ForeColor = color
|
|
GroupBox22.ForeColor = color
|
|
GroupBox23.ForeColor = color
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
|
|
Private Sub DarkMode_CheckedChanged(sender As Object, e As EventArgs) Handles DarkMode.CheckedChanged
|
|
|
|
If DarkMode.Checked = True Then
|
|
My.Settings.DarkModeValue = True
|
|
Manager.Theme = MetroThemeStyle.Dark
|
|
GroupBoxColor(Color.FromArgb(150, 150, 150))
|
|
NumericUpDown1.BackColor = Color.FromArgb(17, 17, 17)
|
|
NumericUpDown2.BackColor = Color.FromArgb(17, 17, 17)
|
|
Main.DarkMode()
|
|
Main.DarkModeValue = True
|
|
pictureBox1.Image = Main.CloseImg
|
|
Else
|
|
Main.DarkModeValue = False
|
|
My.Settings.DarkModeValue = False
|
|
|
|
Manager.Theme = MetroThemeStyle.Light
|
|
Main.LightMode()
|
|
GroupBoxColor(Color.FromArgb(0, 0, 0))
|
|
NumericUpDown1.BackColor = Color.FromArgb(243, 243, 243)
|
|
NumericUpDown2.BackColor = Color.FromArgb(243, 243, 243)
|
|
pictureBox1.Image = Main.CloseImg
|
|
End If
|
|
End Sub
|
|
|
|
|
|
Private Sub BackgroundWorker1_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
|
|
Try
|
|
Dim client0 As New WebClient
|
|
client0.Encoding = Encoding.UTF8
|
|
client0.Headers.Add(My.Settings.User_Agend.Replace(Chr(34), ""))
|
|
|
|
Dim str0 As String = client0.DownloadString("https://api.github.com/repos/hama3254/Crunchyroll-Downloader-v3.0/releases")
|
|
|
|
Dim GitHubLastIsPre() As String = str0.Split(New String() {Chr(34) + "prerelease" + Chr(34) + ": "}, System.StringSplitOptions.RemoveEmptyEntries)
|
|
Dim LastNonPreRelase As Integer = 0
|
|
|
|
For i As Integer = 1 To GitHubLastIsPre.Count - 1
|
|
Dim GitHubLastIsPre1() As String = GitHubLastIsPre(i).Split(New String() {","}, System.StringSplitOptions.RemoveEmptyEntries)
|
|
|
|
If GitHubLastIsPre1(0) = "false" Then
|
|
LastNonPreRelase = i
|
|
Exit For
|
|
End If
|
|
Next
|
|
|
|
Dim GitHubLastTag() As String = str0.Split(New String() {Chr(34) + "tag_name" + Chr(34) + ": " + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
|
|
Dim GitHubLastTag1() As String = GitHubLastTag(LastNonPreRelase).Split(New String() {Chr(34) + ","}, System.StringSplitOptions.RemoveEmptyEntries)
|
|
|
|
LastVersionString = GitHubLastTag1(0)
|
|
|
|
'Debug.WriteLine(GitHubLastTag1(0))
|
|
|
|
Catch ex As Exception
|
|
Debug.WriteLine(ex.ToString)
|
|
End Try
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
Private Sub MetroLink1_Click(sender As Object, e As EventArgs)
|
|
Process.Start("https://github.com/hama3254/Crunchyroll-Downloader-v3.0/discussions/276")
|
|
End Sub
|
|
|
|
|
|
Private Sub TabPage7_Enter(sender As Object, e As EventArgs) Handles TabPage7.Enter
|
|
LastVersion.Text = "last release: " + LastVersionString
|
|
End Sub
|
|
|
|
Private Sub CB_Format_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CB_Format.SelectedIndexChanged
|
|
If CB_Format.Text = "AAC (Audio only)" Then
|
|
CB_Merge.Items.Clear()
|
|
CB_Merge.Items.Add("[merge disabled]")
|
|
CB_Merge.SelectedIndex = 0
|
|
CB_Merge.Enabled = False
|
|
ElseIf CB_Format.Text = "MP4" Then
|
|
CB_Merge.Enabled = True
|
|
CB_Merge.Items.Clear()
|
|
CB_Merge.Items.Add("[merge disabled]")
|
|
CB_Merge.Items.Add("mov_text")
|
|
CB_Merge.SelectedIndex = 0
|
|
'CB_Merge.Items.Add("srt")
|
|
CB_Merge.SelectedItem = Main.MergeSubsFormat
|
|
ElseIf CB_Format.Text = "MKV" Then
|
|
CB_Merge.Enabled = True
|
|
CB_Merge.Items.Clear()
|
|
CB_Merge.Items.Add("[merge disabled]")
|
|
CB_Merge.Items.Add("copy")
|
|
CB_Merge.Items.Add("srt")
|
|
CB_Merge.SelectedIndex = 0
|
|
CB_Merge.SelectedItem = Main.MergeSubsFormat
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub MergeMP4_CheckedChanged(sender As Object, e As EventArgs)
|
|
If CB_Format.Text = "AAC (Audio only)" Then
|
|
If CB_Merge.SelectedIndex > 0 Then
|
|
MsgBox("Merged subs are not avalible with audio only!", MsgBoxStyle.Information)
|
|
End If
|
|
CB_Merge.SelectedIndex = 0
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub DD_DLMode_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DD_DLMode.SelectedIndexChanged
|
|
|
|
If DD_DLMode.SelectedIndex > 0 Then
|
|
TempTB.Enabled = True
|
|
Else
|
|
TempTB.Enabled = False
|
|
End If
|
|
|
|
If (CB_Merge.Text = "[merge disabled]") = False And DD_DLMode.Text = "Default - ffmpeg" Then
|
|
CB_Mod1.Enabled = False
|
|
CB_Mod1.Checked = False
|
|
CB_vttStyle.Enabled = False
|
|
CB_vttStyle.Checked = False
|
|
ElseIf (CB_Merge.Text = "[merge disabled]") = True And DD_DLMode.Text = "Default - ffmpeg" Then
|
|
CB_Mod1.Enabled = True
|
|
CB_Mod1.Checked = TempCheckSubMod1
|
|
CB_vttStyle.Enabled = False
|
|
CB_vttStyle.Checked = False
|
|
ElseIf (DD_DLMode.Text = "Default - ffmpeg") = False Then
|
|
CB_Mod1.Enabled = True
|
|
CB_Mod1.Checked = TempCheckSubMod1
|
|
CB_vttStyle.Enabled = True
|
|
CB_vttStyle.Checked = TempVTTStyle
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub TempTB_Click(sender As Object, e As EventArgs) Handles TempTB.Click
|
|
|
|
Dim FolderBrowserDialog1 As New FolderBrowserDialog()
|
|
FolderBrowserDialog1.RootFolder = Environment.SpecialFolder.MyComputer
|
|
If FolderBrowserDialog1.ShowDialog() = DialogResult.OK Then
|
|
|
|
Main.TempFolder = FolderBrowserDialog1.SelectedPath
|
|
TempTB.Text = FolderBrowserDialog1.SelectedPath
|
|
My.Settings.TempFolder = Main.TempFolder
|
|
End If
|
|
|
|
End Sub
|
|
#Region "Build Name String"
|
|
|
|
Private Sub CB_Anime_CheckedChanged(sender As Object, e As EventArgs) Handles CB_Anime.CheckedChanged, CB_Season.CheckedChanged, CB_EpisodeNR.CheckedChanged, CB_EpisodeName.CheckedChanged, CB_AnimeDub.CheckedChanged, CB_Kodi.CheckedChanged
|
|
If CB_Anime.Checked = True And CBool(InStr(TB_NameString.Text, "AnimeTitle;")) = False Then
|
|
TB_NameString.AppendText("AnimeTitle;")
|
|
ElseIf CB_Anime.Checked = False Then
|
|
TB_NameString.Text = TB_NameString.Text.Replace("AnimeTitle;", "")
|
|
End If
|
|
|
|
If CB_Season.Checked = True And CBool(InStr(TB_NameString.Text, "Season;")) = False Then
|
|
TB_NameString.AppendText("Season;")
|
|
ElseIf CB_Season.Checked = False Then
|
|
TB_NameString.Text = TB_NameString.Text.Replace("Season;", "")
|
|
End If
|
|
|
|
If CB_EpisodeNR.Checked = True And CBool(InStr(TB_NameString.Text, "EpisodeNR;")) = False Then
|
|
TB_NameString.AppendText("EpisodeNR;")
|
|
ElseIf CB_EpisodeNR.Checked = False Then
|
|
TB_NameString.Text = TB_NameString.Text.Replace("EpisodeNR;", "")
|
|
End If
|
|
|
|
If CB_EpisodeName.Checked = True And CBool(InStr(TB_NameString.Text, "EpisodeName;")) = False Then
|
|
TB_NameString.AppendText("EpisodeName;")
|
|
ElseIf CB_EpisodeName.Checked = False Then
|
|
TB_NameString.Text = TB_NameString.Text.Replace("EpisodeName;", "")
|
|
End If
|
|
|
|
If CB_AnimeDub.Checked = True And CBool(InStr(TB_NameString.Text, "AnimeDub;")) = False Then
|
|
TB_NameString.AppendText("AnimeDub;")
|
|
ElseIf CB_AnimeDub.Checked = False Then
|
|
TB_NameString.Text = TB_NameString.Text.Replace("AnimeDub;", "")
|
|
End If
|
|
|
|
|
|
|
|
End Sub
|
|
|
|
|
|
Private Sub DD_Season_Prefix_UserAction(sender As Object, e As EventArgs) Handles DD_Season_Prefix.Click, DD_Season_Prefix.GotFocus
|
|
If DD_Season_Prefix.Text = Main.Season_PrefixDefault Then
|
|
DD_Season_Prefix.Text = Nothing
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub DD_Season_Prefix_LostFocus(sender As Object, e As EventArgs) Handles DD_Season_Prefix.LostFocus
|
|
If DD_Season_Prefix.Text = Nothing Then
|
|
DD_Season_Prefix.Text = Main.Season_PrefixDefault
|
|
End If
|
|
End Sub
|
|
|
|
|
|
Private Sub DD_Episode_Prefix_UserAction(sender As Object, e As EventArgs) Handles DD_Episode_Prefix.Click, DD_Episode_Prefix.GotFocus
|
|
If DD_Episode_Prefix.Text = Main.Episode_PrefixDefault Then
|
|
DD_Episode_Prefix.Text = Nothing
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub DD_Episode_Prefix_LostFocus(sender As Object, e As EventArgs) Handles DD_Episode_Prefix.LostFocus
|
|
If DD_Episode_Prefix.Text = Nothing Then
|
|
DD_Episode_Prefix.Text = Main.Episode_PrefixDefault
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub CR_SoftSubs_Change(sender As Object, e As EventArgs) Handles CR_SoftSubs.Click
|
|
Dim Popup As New CheckBoxComboBox
|
|
Popup.Text = "CR Sub selection"
|
|
Popup.Show()
|
|
End Sub
|
|
|
|
Private Sub CB_Merge_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CB_Merge.SelectedIndexChanged
|
|
|
|
If (CB_Merge.Text = "[merge disabled]") = False And DD_DLMode.Text = "Default - ffmpeg" Then
|
|
CB_Mod1.Enabled = False
|
|
CB_Mod1.Checked = False
|
|
CB_vttStyle.Enabled = False
|
|
CB_vttStyle.Checked = False
|
|
ElseIf (CB_Merge.Text = "[merge disabled]") = True And DD_DLMode.Text = "Default - ffmpeg" Then
|
|
CB_Mod1.Enabled = True
|
|
CB_Mod1.Checked = TempCheckSubMod1
|
|
CB_vttStyle.Enabled = False
|
|
CB_vttStyle.Checked = False
|
|
ElseIf (DD_DLMode.Text = "Default - ffmpeg") = False Then
|
|
CB_Mod1.Enabled = True
|
|
CB_Mod1.Checked = TempCheckSubMod1
|
|
CB_vttStyle.Enabled = True
|
|
CB_vttStyle.Checked = TempVTTStyle
|
|
End If
|
|
|
|
|
|
|
|
End Sub
|
|
|
|
Private Sub CB_Mod1_CheckedChanged(sender As Object, e As EventArgs) Handles CB_Mod1.CheckedChanged
|
|
If CB_Mod1.Enabled = True Then
|
|
TempCheckSubMod1 = CB_Mod1.Checked
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub CB_vttStyle_CheckedChanged(sender As Object, e As EventArgs) Handles CB_vttStyle.CheckedChanged
|
|
If CB_vttStyle.Enabled = True Then
|
|
TempVTTStyle = CB_vttStyle.Checked
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub CB_HideQueue_CheckedChanged(sender As Object, e As EventArgs) Handles CB_HideQueue.CheckedChanged
|
|
If CB_HideQueue.Checked = True Then
|
|
TempMultiDL = ListViewAdd_True.Checked
|
|
ListViewAdd_True.Checked = True
|
|
ListViewAdd_True.Enabled = False
|
|
|
|
Else
|
|
ListViewAdd_True.Checked = TempMultiDL
|
|
ListViewAdd_True.Enabled = True
|
|
End If
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
#End Region
|
|
|
|
#End Region
|
|
|
|
|
|
End Class |