From c1982827e0c08e75696cf667647bc91df0eaf973 Mon Sep 17 00:00:00 2001 From: hama3254 Date: Tue, 21 Mar 2023 16:48:10 +0100 Subject: [PATCH] added CR Dub override and CR CC support added CR Dub override added CR CC support #716 --- .vs/Crunchyroll Downloader/v17/.suo | Bin 171520 -> 205312 bytes Crunchyroll Downloader/App.config | 6 ++ Crunchyroll Downloader/Main.vb | 102 ++++++++++++++---- .../My Project/Settings.Designer.vb | 26 ++++- .../My Project/Settings.settings | 6 ++ .../einstellungen.Designer.vb | 86 +++++++++++---- Crunchyroll Downloader/einstellungen.vb | 5 +- 7 files changed, 192 insertions(+), 39 deletions(-) diff --git a/.vs/Crunchyroll Downloader/v17/.suo b/.vs/Crunchyroll Downloader/v17/.suo index 9052868dca8f36e9b050f18f4dbd0450812912ab..512ab3b51f849db32229c21bf28eedce2b3680e3 100644 GIT binary patch delta 10639 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 delta 8367 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 diff --git a/Crunchyroll Downloader/App.config b/Crunchyroll Downloader/App.config index c0b5867..6c7cc59 100644 --- a/Crunchyroll Downloader/App.config +++ b/Crunchyroll Downloader/App.config @@ -156,6 +156,12 @@ 0 + + False + + + False + diff --git a/Crunchyroll Downloader/Main.vb b/Crunchyroll Downloader/Main.vb index 4bb7c30..94f49fd 100644 --- a/Crunchyroll Downloader/Main.vb +++ b/Crunchyroll Downloader/Main.vb @@ -1394,23 +1394,13 @@ Public Class Main #Region "VideoJson" Dim VideoJson As String = Nothing - VideoJson = CurlAuth(Streams, Loc_CR_Cookies, Loc_AuthToken) - - - 'VideoJson = Curl(Streams) - If CBool(InStr(VideoJson, "curl:")) = True Then VideoJson = CurlAuth(Streams, Loc_CR_Cookies, Loc_AuthToken) End If - 'Dim StreamsUrlBuilder() As String = ObjectJson.Split(New String() {"videos/"}, System.StringSplitOptions.RemoveEmptyEntries) - 'Dim StreamsUrlBuilder2() As String = StreamsUrlBuilder(1).Split(New String() {"/streams"}, System.StringSplitOptions.RemoveEmptyEntries) - - - If CBool(InStr(VideoJson, "curl:")) = True Then 'And CBool(InStr(CR_VideoJson.Url, StreamsUrlBuilder2(0))) Then Debug.WriteLine("curl error, using CR_VideoJson " + vbNewLine + VideoJson) VideoJson = CR_VideoJson.Content @@ -1421,18 +1411,68 @@ Public Class Main ' Exit Sub End If - Debug.WriteLine("VideoJson: " + VideoJson) Debug.WriteLine("VideoStreams: " + Streams) Dim CR_HardSubLang As String = SubSprache.CR_Value + VideoJson = CleanJSON(VideoJson) +#End Region + +#Region "Check for dub override" + + If My.Settings.OverrideDub = True And CBool(InStr(Streams, "/videos/")) Then 'einstellung ein + kein musikvideo oder Konzert + + Dim Meta() As String = VideoJson.Split(New String() {Chr(34) + "meta" + Chr(34) + ":"}, System.StringSplitOptions.RemoveEmptyEntries) + Dim Meta2() As String = Meta(1).Split(New String() {Chr(34) + "audio_locale" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries) + + 'MsgBox(DubSprache.CR_Value) + + For i As Integer = 0 To Meta2.Count - 1 + + If CBool(InStr(Meta2(i), Chr(34) + "media_guid" + Chr(34) + ":" + Chr(34))) And CBool(InStr(Meta2(i), DubSprache.CR_Value)) Then + + Dim media_guid() As String = Meta2(i).Split(New String() {Chr(34) + "media_guid" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries) + + Dim media_guid2() As String = media_guid(1).Split(New String() {Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries) + + If CBool(InStr(Streams, media_guid2(0))) Then + MsgBox("done") + 'done + Exit For + Else + ' overriding ' https://www.crunchyroll.com/content/v2/cms/videos/GPPFKG08N/streams?locale=de-DE + + Streams = "https://www.crunchyroll.com/content/v2/cms/videos/" + media_guid2(0) + "/streams?locale=" + locale + + 'MsgBox(Streams) + + VideoJson = CurlAuth(Streams, Loc_CR_Cookies, Loc_AuthToken) + + If CBool(InStr(VideoJson, "curl:")) = True Then + VideoJson = CurlAuth(Streams, Loc_CR_Cookies, Loc_AuthToken) + Else + Exit For + End If + + If CBool(InStr(VideoJson, "curl:")) = True Then + Throw New System.Exception("Error - Getting VideoJson data" + vbNewLine + VideoJson) + End If + + End If + + End If + Next + + + End If + #End Region #Region "m3u8 suche" - VideoJson = CleanJSON(VideoJson) + Dim VideoJObject As JObject = JObject.Parse(VideoJson) Dim VideoData As List(Of JToken) = VideoJObject.Children().ToList @@ -1528,7 +1568,7 @@ Public Class Main ResoBackString = Nothing 'MsgBox(CR_Streams.Count.ToString) For i As Integer = 0 To CR_Streams.Count - 1 - Debug.WriteLine("1484: " + CR_Streams.Item(i).subLang) + Debug.WriteLine("1571: " + CR_Streams.Item(i).subLang) If CR_Streams.Item(i).subLang = CR_HardSubLang Then CR_URI_Master.Add(CR_Streams.Item(i).Url) End If @@ -1924,15 +1964,31 @@ Public Class Main #Region "GetSoftsubs" Dim SoftSubsAvailable As New List(Of String) + Dim CCAvailable As New List(Of String) Dim SoftSubsList As New List(Of CR_Subtiles) - If SoftSubs.Count > 0 Then + + + + Dim SplitVideo As String() = VideoJson.Split(New String() {Chr(34) + "closed_captions" + Chr(34) + ":"}, System.StringSplitOptions.RemoveEmptyEntries) + + If SoftSubs.Count > 0 And My.Settings.Captions = True Then + For i As Integer = 0 To SoftSubs.Count - 1 + If CBool(InStr(SplitVideo(1), Chr(34) + "locale" + Chr(34) + ":" + Chr(34) + SoftSubs(i) + Chr(34) + "," + Chr(34) + "url" + Chr(34) + ":" + Chr(34))) Then + CCAvailable.Add(SoftSubs(i)) + End If + Next + End If + + If SoftSubs.Count > 0 And CCAvailable.Count = 0 Then For i As Integer = 0 To SoftSubs.Count - 1 If CBool(InStr(VideoJson, Chr(34) + "locale" + Chr(34) + ":" + Chr(34) + SoftSubs(i) + Chr(34) + "," + Chr(34) + "url" + Chr(34) + ":" + Chr(34))) Then SoftSubsAvailable.Add(SoftSubs(i)) End If Next + ElseIf SoftSubs.Count > 0 And CCAvailable.Count > 0 Then + SoftSubsAvailable.AddRange(CCAvailable) End If @@ -1949,7 +2005,7 @@ Public Class Main ffmpegInput = "-i " + Chr(34) + Pfad6 + Chr(34) + " " + ffmpegInput + " -map 0 -map 1:a" + " -metadata:s:a:" + FFMPEG_Audio(Pfad6).ToString + " language=" + CCtoMP4CC(CR_audio_locale) + " -c copy" - ElseIf SoftSubsAvailable.Count > 0 Then + ElseIf SoftSubsAvailable.Count > 0 Or CCAvailable.Count > 0 Then Dim MergeSubsNow As Boolean = MergeSubs @@ -1961,7 +2017,13 @@ Public Class Main For i As Integer = 0 To SoftSubsAvailable.Count - 1 - Dim SoftSub As String() = VideoJson.Split(New String() {Chr(34) + "locale" + Chr(34) + ":" + Chr(34) + SoftSubsAvailable(i) + Chr(34) + "," + Chr(34) + "url" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries) + Dim SubsJson As String = VideoJson + If CCAvailable.Count > 0 Then + SubsJson = SplitVideo(1) + End If + + + Dim SoftSub As String() = SubsJson.Split(New String() {Chr(34) + "locale" + Chr(34) + ":" + Chr(34) + SoftSubsAvailable(i) + Chr(34) + "," + Chr(34) + "url" + Chr(34) + ":" + Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries) Dim SoftSub_2 As String() = SoftSub(1).Split(New [Char]() {Chr(34)}) Dim SoftSub_3 As String = SoftSub_2(0).Replace("&", "&").Replace("/u0026", "&").Replace("\u002F", "/").Replace("\u0026", "&") SoftSubsList.Add(New CR_Subtiles(SoftSubsAvailable(i), HardSubValuesToDisplay(SoftSubsAvailable(i)), " -i " + Chr(34) + SoftSub_3 + Chr(34), i.ToString, SoftSubsAvailable(i) = DefaultSubCR)) @@ -2008,6 +2070,10 @@ Public Class Main Else For i As Integer = 0 To SoftSubsList.Count - 1 + Dim SubFormat As String = "ass" + If CCAvailable.Count > 0 Then + SubFormat = "vtt" + End If Dim i2 As Integer = i Me.Invoke(New Action(Function() As Object Anime_Add.StatusLabel.Text = "Status: downloading subtitle file " + SoftSubsList(i2).SubLangName @@ -2019,9 +2085,9 @@ Public Class Main Dim SubText As String = "" SubText = Curl(SoftSubsList(i2).Url.Replace(" -i ", "").Replace(Chr(34), "")) Dim Pfad3 As String = Pfad2.Replace(Chr(34), "") - Dim FN As String = Path.ChangeExtension(Path.Combine(Path.GetFileNameWithoutExtension(Pfad3) + "." + GetSubFileLangName(SoftSubsList(i2).SubLangValue) + Path.GetExtension(Pfad3)), "ass") + Dim FN As String = Path.ChangeExtension(Path.Combine(Path.GetFileNameWithoutExtension(Pfad3) + "." + GetSubFileLangName(SoftSubsList(i2).SubLangValue) + Path.GetExtension(Pfad3)), SubFormat) If i = 0 And IncludeLangName = False Then - FN = Path.ChangeExtension(Path.GetFileName(Pfad3), "ass") + FN = Path.ChangeExtension(Path.GetFileName(Pfad3), SubFormat) End If Dim Pfad4 As String = Path.Combine(Path.GetDirectoryName(Pfad3), FN) WriteText(Pfad4, SubText) diff --git a/Crunchyroll Downloader/My Project/Settings.Designer.vb b/Crunchyroll Downloader/My Project/Settings.Designer.vb index eff9d7b..61cc299 100644 --- a/Crunchyroll Downloader/My Project/Settings.Designer.vb +++ b/Crunchyroll Downloader/My Project/Settings.Designer.vb @@ -15,7 +15,7 @@ Option Explicit On Namespace My _ Partial Friend NotInheritable Class MySettings Inherits Global.System.Configuration.ApplicationSettingsBase @@ -593,6 +593,30 @@ Namespace My Me("DownloadScope") = value End Set End Property + + _ + Public Property OverrideDub() As Boolean + Get + Return CType(Me("OverrideDub"),Boolean) + End Get + Set + Me("OverrideDub") = value + End Set + End Property + + _ + Public Property Captions() As Boolean + Get + Return CType(Me("Captions"),Boolean) + End Get + Set + Me("Captions") = value + End Set + End Property End Class End Namespace diff --git a/Crunchyroll Downloader/My Project/Settings.settings b/Crunchyroll Downloader/My Project/Settings.settings index f6e6c10..f58ab39 100644 --- a/Crunchyroll Downloader/My Project/Settings.settings +++ b/Crunchyroll Downloader/My Project/Settings.settings @@ -137,5 +137,11 @@ 0 + + False + + + False + \ No newline at end of file diff --git a/Crunchyroll Downloader/einstellungen.Designer.vb b/Crunchyroll Downloader/einstellungen.Designer.vb index 5472cc9..094b287 100644 --- a/Crunchyroll Downloader/einstellungen.Designer.vb +++ b/Crunchyroll Downloader/einstellungen.Designer.vb @@ -154,6 +154,9 @@ Partial Class Einstellungen Me.Label5 = New MetroFramework.Controls.MetroLabel() Me.BackgroundWorker1 = New System.ComponentModel.BackgroundWorker() Me.Btn_Save = New System.Windows.Forms.Button() + Me.CB_OverrideDub = New MetroFramework.Controls.MetroCheckBox() + Me.GroupBox22 = New System.Windows.Forms.GroupBox() + Me.CB_Cap = New MetroFramework.Controls.MetroCheckBox() CType(Me.pictureBox1, System.ComponentModel.ISupportInitialize).BeginInit() Me.GroupBox14.SuspendLayout() Me.SoftSubs.SuspendLayout() @@ -193,6 +196,7 @@ Partial Class Einstellungen Me.GroupBox8.SuspendLayout() Me.TabPage7.SuspendLayout() CType(Me.PictureBox7, System.ComponentModel.ISupportInitialize).BeginInit() + Me.GroupBox22.SuspendLayout() Me.SuspendLayout() ' 'ToolTip1 @@ -220,7 +224,7 @@ Partial Class Einstellungen Me.GroupBox14.Controls.Add(Me.CR_SoftSubDefault) Me.GroupBox14.Font = New System.Drawing.Font("Arial", 9.75!) Me.GroupBox14.ForeColor = System.Drawing.Color.Black - Me.GroupBox14.Location = New System.Drawing.Point(5, 255) + Me.GroupBox14.Location = New System.Drawing.Point(5, 345) Me.GroupBox14.Name = "GroupBox14" Me.GroupBox14.Size = New System.Drawing.Size(490, 70) Me.GroupBox14.TabIndex = 30 @@ -247,7 +251,7 @@ Partial Class Einstellungen Me.SoftSubs.BackColor = System.Drawing.Color.Transparent Me.SoftSubs.Controls.Add(Me.CR_SoftSubs) Me.SoftSubs.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.SoftSubs.Location = New System.Drawing.Point(5, 190) + Me.SoftSubs.Location = New System.Drawing.Point(5, 215) Me.SoftSubs.Name = "SoftSubs" Me.SoftSubs.Size = New System.Drawing.Size(490, 65) Me.SoftSubs.TabIndex = 20 @@ -273,11 +277,12 @@ Partial Class Einstellungen ' Me.GB_SubLanguage.BackColor = System.Drawing.Color.Transparent Me.GB_SubLanguage.Controls.Add(Me.CB_CR_Harsubs) + Me.GB_SubLanguage.Controls.Add(Me.DubMode) Me.GB_SubLanguage.Font = New System.Drawing.Font("Arial", 9.75!) Me.GB_SubLanguage.ForeColor = System.Drawing.Color.Black - Me.GB_SubLanguage.Location = New System.Drawing.Point(5, 120) + Me.GB_SubLanguage.Location = New System.Drawing.Point(5, 115) Me.GB_SubLanguage.Name = "GB_SubLanguage" - Me.GB_SubLanguage.Size = New System.Drawing.Size(490, 65) + Me.GB_SubLanguage.Size = New System.Drawing.Size(490, 95) Me.GB_SubLanguage.TabIndex = 10 Me.GB_SubLanguage.TabStop = False Me.GB_SubLanguage.Text = "Sub Sprache" @@ -289,7 +294,7 @@ Partial Class Einstellungen Me.CB_CR_Harsubs.FormattingEnabled = True Me.CB_CR_Harsubs.IntegralHeight = False Me.CB_CR_Harsubs.ItemHeight = 23 - Me.CB_CR_Harsubs.Location = New System.Drawing.Point(85, 25) + Me.CB_CR_Harsubs.Location = New System.Drawing.Point(85, 55) Me.CB_CR_Harsubs.Name = "CB_CR_Harsubs" Me.CB_CR_Harsubs.Size = New System.Drawing.Size(320, 29) Me.CB_CR_Harsubs.TabIndex = 20 @@ -795,10 +800,10 @@ Partial Class Einstellungen Me.TabPage1.HorizontalScrollbarBarColor = True Me.TabPage1.HorizontalScrollbarHighlightOnWheel = False Me.TabPage1.HorizontalScrollbarSize = 10 - Me.TabPage1.Location = New System.Drawing.Point(4, 35) + Me.TabPage1.Location = New System.Drawing.Point(4, 44) Me.TabPage1.Name = "TabPage1" Me.TabPage1.Padding = New System.Windows.Forms.Padding(3) - Me.TabPage1.Size = New System.Drawing.Size(501, 528) + Me.TabPage1.Size = New System.Drawing.Size(501, 519) Me.TabPage1.TabIndex = 0 Me.TabPage1.Text = " Main" Me.TabPage1.VerticalScrollbar = True @@ -1032,7 +1037,7 @@ Partial Class Einstellungen Me.TabControl1.FontWeight = MetroFramework.MetroTabControlWeight.Regular Me.TabControl1.Location = New System.Drawing.Point(22, 60) Me.TabControl1.Name = "TabControl1" - Me.TabControl1.SelectedIndex = 1 + Me.TabControl1.SelectedIndex = 3 Me.TabControl1.Size = New System.Drawing.Size(509, 567) Me.TabControl1.TabIndex = 0 Me.TabControl1.UseSelectable = True @@ -1343,6 +1348,7 @@ Partial Class Einstellungen ' 'MetroTabPage1 ' + Me.MetroTabPage1.Controls.Add(Me.GroupBox22) Me.MetroTabPage1.Controls.Add(Me.GroupBox20) Me.MetroTabPage1.Controls.Add(Me.GroupBox19) Me.MetroTabPage1.Controls.Add(Me.GroupBox14) @@ -1366,7 +1372,7 @@ Partial Class Einstellungen Me.GroupBox20.Controls.Add(Me.ChB_Chapters) Me.GroupBox20.Font = New System.Drawing.Font("Arial", 9.75!) Me.GroupBox20.ForeColor = System.Drawing.Color.Black - Me.GroupBox20.Location = New System.Drawing.Point(3, 330) + Me.GroupBox20.Location = New System.Drawing.Point(3, 420) Me.GroupBox20.Name = "GroupBox20" Me.GroupBox20.Size = New System.Drawing.Size(490, 65) Me.GroupBox20.TabIndex = 34 @@ -1387,13 +1393,13 @@ Partial Class Einstellungen 'GroupBox19 ' Me.GroupBox19.BackColor = System.Drawing.Color.Transparent + Me.GroupBox19.Controls.Add(Me.CB_OverrideDub) Me.GroupBox19.Controls.Add(Me.CB_CR_Audio) - Me.GroupBox19.Controls.Add(Me.DubMode) Me.GroupBox19.Font = New System.Drawing.Font("Arial", 9.75!) Me.GroupBox19.ForeColor = System.Drawing.Color.Black Me.GroupBox19.Location = New System.Drawing.Point(5, 15) Me.GroupBox19.Name = "GroupBox19" - Me.GroupBox19.Size = New System.Drawing.Size(490, 100) + Me.GroupBox19.Size = New System.Drawing.Size(490, 95) Me.GroupBox19.TabIndex = 33 Me.GroupBox19.TabStop = False Me.GroupBox19.Text = "Dubbed" @@ -1405,7 +1411,7 @@ Partial Class Einstellungen Me.CB_CR_Audio.FormattingEnabled = True Me.CB_CR_Audio.IntegralHeight = False Me.CB_CR_Audio.ItemHeight = 23 - Me.CB_CR_Audio.Location = New System.Drawing.Point(85, 55) + Me.CB_CR_Audio.Location = New System.Drawing.Point(85, 21) Me.CB_CR_Audio.Name = "CB_CR_Audio" Me.CB_CR_Audio.Size = New System.Drawing.Size(320, 29) Me.CB_CR_Audio.TabIndex = 21 @@ -1415,11 +1421,11 @@ Partial Class Einstellungen ' Me.DubMode.BackColor = System.Drawing.Color.Transparent Me.DubMode.FontSize = MetroFramework.MetroCheckBoxSize.SomethingInBetween - Me.DubMode.Location = New System.Drawing.Point(85, 21) + Me.DubMode.Location = New System.Drawing.Point(70, 20) Me.DubMode.Name = "DubMode" - Me.DubMode.Size = New System.Drawing.Size(320, 28) + Me.DubMode.Size = New System.Drawing.Size(348, 29) Me.DubMode.TabIndex = 5 - Me.DubMode.Text = "accept no hardsubs for dubbed shows" + Me.DubMode.Text = "skip hardsubs if unavailable on dubbed shows" Me.DubMode.TextAlign = System.Drawing.ContentAlignment.MiddleCenter Me.DubMode.UseCustomBackColor = True Me.DubMode.UseSelectable = True @@ -1434,10 +1440,10 @@ Partial Class Einstellungen Me.TabPage6.HorizontalScrollbarBarColor = True Me.TabPage6.HorizontalScrollbarHighlightOnWheel = False Me.TabPage6.HorizontalScrollbarSize = 10 - Me.TabPage6.Location = New System.Drawing.Point(4, 35) + Me.TabPage6.Location = New System.Drawing.Point(4, 44) Me.TabPage6.Name = "TabPage6" Me.TabPage6.Padding = New System.Windows.Forms.Padding(3) - Me.TabPage6.Size = New System.Drawing.Size(501, 528) + Me.TabPage6.Size = New System.Drawing.Size(501, 519) Me.TabPage6.TabIndex = 4 Me.TabPage6.Text = " Funimation" Me.TabPage6.VerticalScrollbarBarColor = True @@ -1671,9 +1677,9 @@ Partial Class Einstellungen Me.TabPage7.Controls.Add(Me.Label4) Me.TabPage7.Controls.Add(Me.Label6) Me.TabPage7.Controls.Add(Me.Label5) - Me.TabPage7.Location = New System.Drawing.Point(4, 35) + Me.TabPage7.Location = New System.Drawing.Point(4, 44) Me.TabPage7.Name = "TabPage7" - Me.TabPage7.Size = New System.Drawing.Size(501, 528) + Me.TabPage7.Size = New System.Drawing.Size(501, 519) Me.TabPage7.TabIndex = 5 Me.TabPage7.Text = " About " ' @@ -1805,6 +1811,43 @@ Partial Class Einstellungen Me.Btn_Save.TabIndex = 9 Me.Btn_Save.UseVisualStyleBackColor = False ' + 'CB_OverrideDub + ' + Me.CB_OverrideDub.BackColor = System.Drawing.Color.Transparent + Me.CB_OverrideDub.FontSize = MetroFramework.MetroCheckBoxSize.SomethingInBetween + Me.CB_OverrideDub.Location = New System.Drawing.Point(70, 56) + Me.CB_OverrideDub.Name = "CB_OverrideDub" + Me.CB_OverrideDub.Size = New System.Drawing.Size(348, 29) + Me.CB_OverrideDub.TabIndex = 22 + Me.CB_OverrideDub.Text = "override Dub language" + Me.CB_OverrideDub.TextAlign = System.Drawing.ContentAlignment.MiddleCenter + Me.CB_OverrideDub.UseCustomBackColor = True + Me.CB_OverrideDub.UseSelectable = True + ' + 'GroupBox22 + ' + Me.GroupBox22.BackColor = System.Drawing.Color.Transparent + Me.GroupBox22.Controls.Add(Me.CB_Cap) + Me.GroupBox22.Font = New System.Drawing.Font("Arial", 9.75!) + Me.GroupBox22.ForeColor = System.Drawing.Color.Black + Me.GroupBox22.Location = New System.Drawing.Point(3, 280) + Me.GroupBox22.Name = "GroupBox22" + Me.GroupBox22.Size = New System.Drawing.Size(490, 65) + Me.GroupBox22.TabIndex = 35 + Me.GroupBox22.TabStop = False + Me.GroupBox22.Text = "CC" + ' + 'CB_Cap + ' + Me.CB_Cap.AutoSize = True + Me.CB_Cap.FontSize = MetroFramework.MetroCheckBoxSize.Medium + Me.CB_Cap.Location = New System.Drawing.Point(158, 23) + Me.CB_Cap.Name = "CB_Cap" + Me.CB_Cap.Size = New System.Drawing.Size(168, 19) + Me.CB_Cap.TabIndex = 5 + Me.CB_Cap.Text = "use captions if available" + Me.CB_Cap.UseSelectable = True + ' 'Einstellungen ' Me.ApplyImageInvert = True @@ -1872,6 +1915,8 @@ Partial Class Einstellungen Me.GroupBox8.PerformLayout() Me.TabPage7.ResumeLayout(False) CType(Me.PictureBox7, System.ComponentModel.ISupportInitialize).EndInit() + Me.GroupBox22.ResumeLayout(False) + Me.GroupBox22.PerformLayout() Me.ResumeLayout(False) Me.PerformLayout() @@ -2008,4 +2053,7 @@ Partial Class Einstellungen Friend WithEvents ChB_Chapters As MetroFramework.Controls.MetroCheckBox Friend WithEvents CR_SoftSubs As MetroFramework.Controls.MetroComboBox Public WithEvents CR_SoftSubDefault As MetroFramework.Controls.MetroComboBox + Friend WithEvents CB_OverrideDub As MetroFramework.Controls.MetroCheckBox + Friend WithEvents GroupBox22 As GroupBox + Friend WithEvents CB_Cap As MetroFramework.Controls.MetroCheckBox End Class diff --git a/Crunchyroll Downloader/einstellungen.vb b/Crunchyroll Downloader/einstellungen.vb index 368d100..e104284 100644 --- a/Crunchyroll Downloader/einstellungen.vb +++ b/Crunchyroll Downloader/einstellungen.vb @@ -33,6 +33,8 @@ Public Class Einstellungen Manager.Owner = Me Me.StyleManager = Manager + CB_OverrideDub.Checked = My.Settings.OverrideDub + CB_Cap.Checked = My.Settings.Captions TempTB.Text = Main.TempFolder LeadingZeroDD.SelectedIndex = Main.LeadingZero @@ -349,7 +351,8 @@ Public Class Einstellungen 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 Main.Funimation_Bitrate = Bitrate_Funi.SelectedIndex My.Settings.Funimation_Bitrate = Bitrate_Funi.SelectedIndex