Crunchyroll-Downloader-v3.0/Crunchyroll Downloader/einstellungen.vb

983 lines
34 KiB
VB.net
Raw Normal View History

2021-09-20 20:37:57 +02:00
Option Strict On
2019-11-10 00:16:12 +01:00
Imports Microsoft.Win32
Imports System.Net
2020-06-10 17:34:27 +02:00
Imports System.IO
Imports System.Text
Imports System.Threading
Imports MetroFramework.Forms
Imports MetroFramework
Imports MetroFramework.Components
Imports System.Text.RegularExpressions
2019-11-10 00:16:12 +01:00
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"
2021-09-20 20:37:57 +02:00
BackgroundWorker1.RunWorkerAsync()
DD_Update.SelectedIndex = My.Settings.UpdateMode
'CR_Anime_Folge = CR_Name_Staffel0_Folge1(1)
'If GitHubLastTag1(0)
CR_SoftSubsTemp.AddRange(Main.SoftSubs)
Manager.Owner = Me
Me.StyleManager = Manager
2021-09-20 20:37:57 +02:00
CB_HideQueue.Checked = My.Settings.HiddenQueue
CB_OverrideDub.Checked = My.Settings.OverrideDub
CB_Cap.Checked = My.Settings.Captions
2021-09-20 20:37:57 +02:00
2023-06-19 20:17:59 +02:00
CB_Mod1.Checked = My.Settings.SubtitleMod1
CB_vttStyle.Checked = My.Settings.vttStyleRemove
TempTB.Text = Main.TempFolder
2021-12-20 18:10:51 +01:00
LeadingZeroDD.SelectedIndex = Main.LeadingZero
CB_Ignore.SelectedIndex = Main.IgnoreSeason
2021-09-20 20:37:57 +02:00
CB_HideSF.SelectedIndex = Main.HideFLInt
2021-09-20 20:37:57 +02:00
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
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))
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
2021-03-08 21:08:26 +01:00
If Main.VideoFormat = ".mkv" Then
CB_Format.SelectedItem = "MKV"
ElseIf Main.VideoFormat = ".aac" Then
CB_Format.SelectedItem = "AAC (Audio only)"
2021-03-08 21:08:26 +01:00
Else
CB_Format.SelectedItem = "MP4"
End If
2021-03-08 21:08:26 +01:00
2019-11-10 00:16:12 +01:00
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
2019-11-10 00:16:12 +01:00
A1080p.Checked = True
ElseIf Main.Reso = 720 Then
2019-11-10 00:16:12 +01:00
A720p.Checked = True
ElseIf Main.Reso = 480 Then
2019-11-10 00:16:12 +01:00
A480p.Checked = True
ElseIf Main.Reso = 360 Then
2019-11-10 00:16:12 +01:00
A360p.Checked = True
ElseIf Main.Reso = 240 Then
A240p.Checked = True
2019-11-10 00:16:12 +01:00
End If
CB_CR_Harsubs.Items.Clear()
2023-01-10 17:04:41 +01:00
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
2023-01-10 17:04:41 +01:00
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
2019-11-10 00:16:12 +01:00
NumericUpDown1.Value = Main.MaxDL
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
2019-11-10 00:16:12 +01:00
End Sub
2021-09-20 20:37:57 +02:00
Private Sub Btn_Save_Click(sender As Object, e As EventArgs) Handles Btn_Save.Click
2021-12-20 18:10:51 +01:00
Main.LeadingZero = LeadingZeroDD.SelectedIndex
My.Settings.LeadingZero = LeadingZeroDD.SelectedIndex
My.Settings.OverrideDub = CB_OverrideDub.Checked
My.Settings.Captions = CB_Cap.Checked
My.Settings.UpdateMode = DD_Update.SelectedIndex
If http_support.Text = "add-on support disabled" Then
My.Settings.ServerPort = 0
2021-09-20 20:37:57 +02:00
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
2021-09-20 20:37:57 +02:00
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 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
2019-11-10 00:16:12 +01:00
If A1080p.Checked Then
Main.Reso = 1080
My.Settings.Reso = Main.Reso
2019-11-10 00:16:12 +01:00
ElseIf A720p.Checked Then
Main.Reso = 720
My.Settings.Reso = Main.Reso
2019-11-10 00:16:12 +01:00
ElseIf A360p.Checked Then
Main.Reso = 360
My.Settings.Reso = Main.Reso
2019-11-10 00:16:12 +01:00
ElseIf A480p.Checked Then
Main.Reso = 480
My.Settings.Reso = Main.Reso
ElseIf A240p.Checked Then
Main.Reso = 240
My.Settings.Reso = Main.Reso
2019-11-10 00:16:12 +01:00
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
2023-01-10 17:04:41 +01:00
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
2021-03-08 21:08:26 +01:00
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
2021-03-08 21:08:26 +01:00
Else
Main.VideoFormat = ".mp4"
My.Settings.VideoFormat = Main.VideoFormat
2021-03-08 21:08:26 +01:00
End If
2022-09-06 21:20:05 +02:00
If CB_Merge.SelectedIndex > 0 Then
2021-03-08 21:08:26 +01:00
Main.MergeSubs = True
2022-09-06 21:20:05 +02:00
Main.MergeSubsFormat = CB_Merge.SelectedItem.ToString
My.Settings.MergeSubs = Main.MergeSubsFormat
Else
2022-09-06 21:20:05 +02:00
Main.MergeSubsFormat = CB_Merge.SelectedItem.ToString
2021-03-08 21:08:26 +01:00
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
2021-09-20 20:37:57 +02:00
Main.MaxDL = CInt(NumericUpDown1.Value)
My.Settings.SL_DL = Main.MaxDL
2021-09-20 20:37:57 +02:00
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
2021-09-20 20:37:57 +02:00
If CB_SoftSubSettings.SelectedIndex = 0 Then
Main.IncludeLangName = False
My.Settings.IncludeLangName = Main.IncludeLangName
2021-09-20 20:37:57 +02:00
Else
Main.IncludeLangName = True
My.Settings.IncludeLangName = Main.IncludeLangName
2021-09-20 20:37:57 +02:00
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()
2019-11-10 00:16:12 +01:00
Me.Close()
End Sub
2019-11-10 00:16:12 +01:00
2020-06-01 18:43:38 +02:00
2019-11-10 00:16:12 +01:00
Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles pictureBox1.Click
2019-11-10 00:16:12 +01:00
Me.Close()
End Sub
#Region "UI"
Private Sub Btn_Close_MouseEnter(sender As Object, e As EventArgs) Handles pictureBox1.MouseEnter
2021-09-20 20:37:57 +02:00
pictureBox1.Image = My.Resources.main_del
2019-11-10 00:16:12 +01:00
End Sub
Private Sub Btn_Close_MouseLeave(sender As Object, e As EventArgs) Handles pictureBox1.MouseLeave
2021-09-20 20:37:57 +02:00
pictureBox1.Image = Main.CloseImg
2019-11-10 00:16:12 +01:00
End Sub
2021-09-20 20:37:57 +02:00
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
2019-11-10 00:16:12 +01:00
End Sub
2021-09-20 20:37:57 +02:00
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
2019-11-10 00:16:12 +01:00
End Sub
Private Sub ComboBox1_DrawItem(sender As Object, e As DrawItemEventArgs) Handles CB_CR_Harsubs.DrawItem
2021-09-20 20:37:57 +02:00
Dim CB As ComboBox = CType(sender, ComboBox)
CB.BackColor = Color.White
2019-11-10 00:16:12 +01:00
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)
2019-11-10 00:16:12 +01:00
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
2021-09-20 20:37:57 +02:00
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
2021-09-20 20:37:57 +02:00
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
2021-09-20 20:37:57 +02:00
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
GroupBox2.ForeColor = color
2021-09-20 20:37:57 +02:00
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
2020-06-10 19:52:11 +02:00
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
2022-09-06 21:20:05 +02:00
ElseIf CB_Format.Text = "MP4" Then
CB_Merge.Enabled = True
2022-09-06 21:20:05 +02:00
CB_Merge.Items.Clear()
CB_Merge.Items.Add("[merge disabled]")
2022-09-06 21:20:05 +02:00
CB_Merge.Items.Add("mov_text")
CB_Merge.SelectedIndex = 0
2022-09-06 21:20:05 +02:00
'CB_Merge.Items.Add("srt")
CB_Merge.SelectedItem = Main.MergeSubsFormat
ElseIf CB_Format.Text = "MKV" Then
CB_Merge.Enabled = True
2022-09-06 21:20:05 +02:00
CB_Merge.Items.Clear()
2022-10-14 14:33:23 +02:00
CB_Merge.Items.Add("[merge disabled]")
2022-09-06 21:20:05 +02:00
CB_Merge.Items.Add("copy")
CB_Merge.Items.Add("srt")
CB_Merge.SelectedIndex = 0
2022-09-06 21:20:05 +02:00
CB_Merge.SelectedItem = Main.MergeSubsFormat
End If
2022-09-06 21:20:05 +02:00
End Sub
2022-09-06 21:20:05 +02:00
Private Sub MergeMP4_CheckedChanged(sender As Object, e As EventArgs)
If CB_Format.Text = "AAC (Audio only)" Then
2022-09-06 21:20:05 +02:00
If CB_Merge.SelectedIndex > 0 Then
MsgBox("Merged subs are not avalible with audio only!", MsgBoxStyle.Information)
End If
2022-09-06 21:20:05 +02:00
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
2019-11-10 00:16:12 +01:00
#End Region
2019-11-10 00:16:12 +01:00
End Class