From 2bfeb9f0a6984b9255781f1095629b8b54487ec7 Mon Sep 17 00:00:00 2001 From: "Martijn van Berkel (Flitskikker)" Date: Wed, 31 May 2023 22:51:25 +0200 Subject: [PATCH] Some improvements --- LanguageBaseEnglish.xml | 97 +++++++++ src/ui/Forms/Options/Settings.Designer.cs | 12 +- src/ui/Forms/Options/Settings.cs | 4 + src/ui/Logic/Language.cs | 6 +- src/ui/Logic/LanguageDeserializer.cs | 240 ++++++++++++++++++++++ 5 files changed, 350 insertions(+), 9 deletions(-) diff --git a/LanguageBaseEnglish.xml b/LanguageBaseEnglish.xml index 9a0000085..5d6d70bec 100644 --- a/LanguageBaseEnglish.xml +++ b/LanguageBaseEnglish.xml @@ -98,6 +98,7 @@ Shortcut: {0} Example: {0} Reset + Error Warning Use larger font for this window @@ -170,9 +171,11 @@ Note: Do check free disk space. Fixed Milliseconds Extend only + Don't extend past shot changes Apply duration limits + Don't extend past shot changes Fixes available: {0} Unable to fix: {0} @@ -361,6 +364,94 @@ Read more info (web)? No language code Also scan video files in "Search folder" (slow) + + Beautify time codes + Time codes + Align time codes to frame time codes + Use ffprobe to extract exact frame time codes + Extract time codes + Cancel + Shot changes + Snap cues to shot changes + Generate / import shot changes... + Edit profile... + No time codes loaded + {0} time codes loaded + You've selected to extract exact frame time codes, but there are no time codes loaded. + +Please click "{0}" to extract the time codes first, or disable this option. + No shot changes loaded + {0} shot changes loaded + You've selected to snap cues to shot changes, but there are no shot changes loaded. + +Please click "{0}" to generate or import shot changes first, or disable this option. + + + Edit profile + Load preset... + Default + Netflix + SDI + Simple mode... + General + Gap: + frames (will overwrite custom settings) + In cues + Subtitle text. + Zones: + Out cues + Connected subtitles + In cue is closest + Out cue is closest + Treat as connected if gap is smaller than: + ms + Chaining + In cue on shot change + Out cue on shot change + Max. gap: + If there is a shot change in between: + Don't chain + Extend, crossing shot change + Extend until shot change + This will reset your current profile and replace all values with those of the selected preset. This cannot be undone. + +Do you want to continue? + Create simple + Enter these basic rules, and the current profile will be updated accordingly. + The minimum amount of space between subtitles. + In cues should be: + On the shot change + 1 frame after the shot change + 2 frames after the shot change + 3 frames after the shot change + Out cues should be: + On the shot change + 1 frame before the shot change + 2 frames before the shot change + 3 frames before the shot change + Minimum gap before the shot change + For connected subtitles, snap the in or out cue to the shot change based on which one is closer + Max. offset: + Cues within this distance from shot changes will be considered as being on the shot change. + Safe zone: + The amount of frames around shot changes where no cues are allowed. + Max. chaining gap: + If the space between two subtitles is smaller than this amount, the subtitles will be connected. + After an out cue on a shot change, the gap may be smaller + Chaining subtitles is recommended to ensure a consistent "rhythm" in the "flashing" of the subtitles. +This offers a more relaxed viewing experience. + +After chaining, subtitles are either connected (i.e. a subtitle disappears and a new subtitle appears immediately after a slight pause) or not. +This gives the viewer some sense on when they can shift their focus back to the screen. + +The length of the chaining gap can be a bit smaller right after a subtitle disappears on a shot change, because the changing shot "resets" the image in a way. +We leverage the intrinsic rhythm of the image. + Load Netflix rules + frames + Max. + {0} ms @ {1} FPS + The safe zone should be larger than the max. offset. + Import image... Export image... @@ -1273,6 +1364,7 @@ To use an API key, go to "Options -> Settings -> Tools" to enter your Goog Duration List errors... Netflix quality check... + Beautify time codes... Text - alphabetically Text - single line max. length Text - total length @@ -1368,6 +1460,7 @@ To use an API key, go to "Options -> Settings -> Tools" to enter your Goog Visual sync Spell check Netflix quality check + Beautify time codes Settings Help Show/hide waveform @@ -1595,6 +1688,8 @@ Would you like to start from the top of the document and continue search and rep Common errors fixed Before renumbering Renumbered starting from: {0} + Before beautifying time codes + Time codes beautified Before removal of texting for hearing impaired Texting for hearing impaired removed: One line Texting for hearing impaired removed: {0} lines @@ -2168,6 +2263,7 @@ can edit in same subtitle file (collaboration) Burn in Spell check Netflix quality check + Beautify time codes Settings Toggle bookmarks Toggle bookmarks - add comment @@ -2287,6 +2383,7 @@ can edit in same subtitle file (collaboration) Also set list view focus on mouse enter in list view Single click to select subtitles Snap to shot changes (hold Shift to override) + Edit profile... Auto generate waveform when opening video Border marker hit must be within milliseconds diff --git a/src/ui/Forms/Options/Settings.Designer.cs b/src/ui/Forms/Options/Settings.Designer.cs index 16831d559..0f5cf4ef9 100644 --- a/src/ui/Forms/Options/Settings.Designer.cs +++ b/src/ui/Forms/Options/Settings.Designer.cs @@ -4204,7 +4204,7 @@ // labelToggleSourceView // this.labelToggleSourceView.AutoSize = true; - this.labelToggleSourceView.Location = new System.Drawing.Point(132, 256); + this.labelToggleSourceView.Location = new System.Drawing.Point(9, 256); this.labelToggleSourceView.Name = "labelToggleSourceView"; this.labelToggleSourceView.Size = new System.Drawing.Size(99, 13); this.labelToggleSourceView.TabIndex = 48; @@ -4212,7 +4212,7 @@ // // pictureBoxSourceView // - this.pictureBoxSourceView.Location = new System.Drawing.Point(145, 275); + this.pictureBoxSourceView.Location = new System.Drawing.Point(22, 275); this.pictureBoxSourceView.Name = "pictureBoxSourceView"; this.pictureBoxSourceView.Size = new System.Drawing.Size(32, 32); this.pictureBoxSourceView.TabIndex = 47; @@ -4221,7 +4221,7 @@ // checkBoxTBToggleSourceView // this.checkBoxTBToggleSourceView.AutoSize = true; - this.checkBoxTBToggleSourceView.Location = new System.Drawing.Point(148, 314); + this.checkBoxTBToggleSourceView.Location = new System.Drawing.Point(25, 314); this.checkBoxTBToggleSourceView.Name = "checkBoxTBToggleSourceView"; this.checkBoxTBToggleSourceView.Size = new System.Drawing.Size(55, 17); this.checkBoxTBToggleSourceView.TabIndex = 46; @@ -4258,7 +4258,7 @@ // labelTBBeautifyTimeCodes // this.labelTBBeautifyTimeCodes.AutoSize = true; - this.labelTBBeautifyTimeCodes.Location = new System.Drawing.Point(13, 256); + this.labelTBBeautifyTimeCodes.Location = new System.Drawing.Point(765, 143); this.labelTBBeautifyTimeCodes.Name = "labelTBBeautifyTimeCodes"; this.labelTBBeautifyTimeCodes.Size = new System.Drawing.Size(101, 13); this.labelTBBeautifyTimeCodes.TabIndex = 45; @@ -4266,7 +4266,7 @@ // // pictureBoxBeautifyTimeCodes // - this.pictureBoxBeautifyTimeCodes.Location = new System.Drawing.Point(22, 275); + this.pictureBoxBeautifyTimeCodes.Location = new System.Drawing.Point(776, 160); this.pictureBoxBeautifyTimeCodes.Name = "pictureBoxBeautifyTimeCodes"; this.pictureBoxBeautifyTimeCodes.Size = new System.Drawing.Size(32, 32); this.pictureBoxBeautifyTimeCodes.TabIndex = 44; @@ -4275,7 +4275,7 @@ // checkBoxBeautifyTimeCodes // this.checkBoxBeautifyTimeCodes.AutoSize = true; - this.checkBoxBeautifyTimeCodes.Location = new System.Drawing.Point(25, 314); + this.checkBoxBeautifyTimeCodes.Location = new System.Drawing.Point(779, 198); this.checkBoxBeautifyTimeCodes.Name = "checkBoxBeautifyTimeCodes"; this.checkBoxBeautifyTimeCodes.Size = new System.Drawing.Size(55, 17); this.checkBoxBeautifyTimeCodes.TabIndex = 43; diff --git a/src/ui/Forms/Options/Settings.cs b/src/ui/Forms/Options/Settings.cs index c4181fa4e..78e4af853 100644 --- a/src/ui/Forms/Options/Settings.cs +++ b/src/ui/Forms/Options/Settings.cs @@ -460,6 +460,10 @@ namespace Nikse.SubtitleEdit.Forms.Options pictureBoxNetflixQualityCheck.Left = labelTBNetflixQualityCheck.Left; checkBoxNetflixQualityCheck.Left = labelTBNetflixQualityCheck.Left; + labelTBBeautifyTimeCodes.Left = Math.Max(labelTBNetflixQualityCheck.Right, checkBoxNetflixQualityCheck.Right) + 18; + pictureBoxBeautifyTimeCodes.Left = labelTBBeautifyTimeCodes.Left; + checkBoxBeautifyTimeCodes.Left = labelTBBeautifyTimeCodes.Left; + groupBoxMiscellaneous.Text = language.General; groupBoxToolsMisc.Text = language.Miscellaneous; groupBoxGeneralRules.Text = language.Rules; diff --git a/src/ui/Logic/Language.cs b/src/ui/Logic/Language.cs index b07e9b685..b2832d2f1 100644 --- a/src/ui/Logic/Language.cs +++ b/src/ui/Logic/Language.cs @@ -607,12 +607,12 @@ namespace Nikse.SubtitleEdit.Logic CreateSimpleOutCues3Frames = "3 frames before the shot change", CreateSimpleOutCuesGap = "Minimum gap before the shot change", CreateSimpleSnapClosestCue = - "For connected subtitles, snap the in or out cue to the shot change based on which one is closer", + "For connected subtitles, snap the in or out cue to a shot change based on which one is closer", CreateSimpleMaxOffset = "Max. offset:", CreateSimpleMaxOffsetInstruction = - "Cues within this distance from shot changes will be considered as being on the shot change.", + "Cues within this distance from shot changes will be snapped to the shot change.", CreateSimpleSafeZone = "Safe zone:", - CreateSimpleSafeZoneInstruction = "The amount of frames around shot changes where no cues are allowed.", + CreateSimpleSafeZoneInstruction = "Cues within this distance from shot changes will be moved away from the shot change.", CreateSimpleChainingGap = "Max. chaining gap:", CreateSimpleChainingGapInstruction = "If the space between two subtitles is smaller than this amount, the subtitles will be connected.", diff --git a/src/ui/Logic/LanguageDeserializer.cs b/src/ui/Logic/LanguageDeserializer.cs index 2ef1bcd01..684a61fe4 100644 --- a/src/ui/Logic/LanguageDeserializer.cs +++ b/src/ui/Logic/LanguageDeserializer.cs @@ -349,6 +349,9 @@ namespace Nikse.SubtitleEdit.Logic case "General/Reset": language.General.Reset = reader.Value; break; + case "General/Error": + language.General.Error = reader.Value; + break; case "General/Warning": language.General.Warning = reader.Value; break; @@ -469,9 +472,15 @@ namespace Nikse.SubtitleEdit.Logic case "AdjustDisplayDuration/ExtendOnly": language.AdjustDisplayDuration.ExtendOnly = reader.Value; break; + case "AdjustDisplayDuration/CheckShotChanges": + language.AdjustDisplayDuration.CheckShotChanges = reader.Value; + break; case "ApplyDurationLimits/Title": language.ApplyDurationLimits.Title = reader.Value; break; + case "ApplyDurationLimits/CheckShotChanges": + language.ApplyDurationLimits.CheckShotChanges = reader.Value; + break; case "ApplyDurationLimits/FixesAvailable": language.ApplyDurationLimits.FixesAvailable = reader.Value; break; @@ -967,6 +976,219 @@ namespace Nikse.SubtitleEdit.Logic case "BatchConvert/SearchFolderScanVideo": language.BatchConvert.SearchFolderScanVideo = reader.Value; break; + case "BeautifyTimeCodes/Title": + language.BeautifyTimeCodes.Title = reader.Value; + break; + case "BeautifyTimeCodes/GroupTimeCodes": + language.BeautifyTimeCodes.GroupTimeCodes = reader.Value; + break; + case "BeautifyTimeCodes/AlignTimeCodes": + language.BeautifyTimeCodes.AlignTimeCodes = reader.Value; + break; + case "BeautifyTimeCodes/ExtractExactTimeCodes": + language.BeautifyTimeCodes.ExtractExactTimeCodes = reader.Value; + break; + case "BeautifyTimeCodes/ExtractTimeCodes": + language.BeautifyTimeCodes.ExtractTimeCodes = reader.Value; + break; + case "BeautifyTimeCodes/CancelTimeCodes": + language.BeautifyTimeCodes.CancelTimeCodes = reader.Value; + break; + case "BeautifyTimeCodes/GroupShotChanges": + language.BeautifyTimeCodes.GroupShotChanges = reader.Value; + break; + case "BeautifyTimeCodes/SnapToShotChanges": + language.BeautifyTimeCodes.SnapToShotChanges = reader.Value; + break; + case "BeautifyTimeCodes/ImportShotChanges": + language.BeautifyTimeCodes.ImportShotChanges = reader.Value; + break; + case "BeautifyTimeCodes/EditProfile": + language.BeautifyTimeCodes.EditProfile = reader.Value; + break; + case "BeautifyTimeCodes/NoTimeCodesLoaded": + language.BeautifyTimeCodes.NoTimeCodesLoaded = reader.Value; + break; + case "BeautifyTimeCodes/XTimeCodesLoaded": + language.BeautifyTimeCodes.XTimeCodesLoaded = reader.Value; + break; + case "BeautifyTimeCodes/NoTimeCodesLoadedError": + language.BeautifyTimeCodes.NoTimeCodesLoadedError = reader.Value; + break; + case "BeautifyTimeCodes/NoShotChangesLoaded": + language.BeautifyTimeCodes.NoShotChangesLoaded = reader.Value; + break; + case "BeautifyTimeCodes/XShotChangesLoaded": + language.BeautifyTimeCodes.XShotChangesLoaded = reader.Value; + break; + case "BeautifyTimeCodes/NoShotChangesLoadedError": + language.BeautifyTimeCodes.NoShotChangesLoadedError = reader.Value; + break; + case "BeautifyTimeCodesProfile/Title": + language.BeautifyTimeCodesProfile.Title = reader.Value; + break; + case "BeautifyTimeCodesProfile/LoadPreset": + language.BeautifyTimeCodesProfile.LoadPreset = reader.Value; + break; + case "BeautifyTimeCodesProfile/PresetDefault": + language.BeautifyTimeCodesProfile.PresetDefault = reader.Value; + break; + case "BeautifyTimeCodesProfile/PresetNetflix": + language.BeautifyTimeCodesProfile.PresetNetflix = reader.Value; + break; + case "BeautifyTimeCodesProfile/PresetSDI": + language.BeautifyTimeCodesProfile.PresetSDI = reader.Value; + break; + case "BeautifyTimeCodesProfile/CreateSimple": + language.BeautifyTimeCodesProfile.CreateSimple = reader.Value; + break; + case "BeautifyTimeCodesProfile/General": + language.BeautifyTimeCodesProfile.General = reader.Value; + break; + case "BeautifyTimeCodesProfile/Gap": + language.BeautifyTimeCodesProfile.Gap = reader.Value; + break; + case "BeautifyTimeCodesProfile/GapSuffix": + language.BeautifyTimeCodesProfile.GapSuffix = reader.Value; + break; + case "BeautifyTimeCodesProfile/InCues": + language.BeautifyTimeCodesProfile.InCues = reader.Value; + break; + case "BeautifyTimeCodesProfile/SubtitlePreviewText": + language.BeautifyTimeCodesProfile.SubtitlePreviewText = reader.Value; + break; + case "BeautifyTimeCodesProfile/Zones": + language.BeautifyTimeCodesProfile.Zones = reader.Value; + break; + case "BeautifyTimeCodesProfile/OutCues": + language.BeautifyTimeCodesProfile.OutCues = reader.Value; + break; + case "BeautifyTimeCodesProfile/ConnectedSubtitles": + language.BeautifyTimeCodesProfile.ConnectedSubtitles = reader.Value; + break; + case "BeautifyTimeCodesProfile/InCueClosest": + language.BeautifyTimeCodesProfile.InCueClosest = reader.Value; + break; + case "BeautifyTimeCodesProfile/OutCueClosest": + language.BeautifyTimeCodesProfile.OutCueClosest = reader.Value; + break; + case "BeautifyTimeCodesProfile/TreadAsConnected": + language.BeautifyTimeCodesProfile.TreadAsConnected = reader.Value; + break; + case "BeautifyTimeCodesProfile/Milliseconds": + language.BeautifyTimeCodesProfile.Milliseconds = reader.Value; + break; + case "BeautifyTimeCodesProfile/Chaining": + language.BeautifyTimeCodesProfile.Chaining = reader.Value; + break; + case "BeautifyTimeCodesProfile/InCueOnShot": + language.BeautifyTimeCodesProfile.InCueOnShot = reader.Value; + break; + case "BeautifyTimeCodesProfile/OutCueOnShot": + language.BeautifyTimeCodesProfile.OutCueOnShot = reader.Value; + break; + case "BeautifyTimeCodesProfile/MaxGap": + language.BeautifyTimeCodesProfile.MaxGap = reader.Value; + break; + case "BeautifyTimeCodesProfile/ShotChangeBehavior": + language.BeautifyTimeCodesProfile.ShotChangeBehavior = reader.Value; + break; + case "BeautifyTimeCodesProfile/DontChain": + language.BeautifyTimeCodesProfile.DontChain = reader.Value; + break; + case "BeautifyTimeCodesProfile/ExtendCrossingShotChange": + language.BeautifyTimeCodesProfile.ExtendCrossingShotChange = reader.Value; + break; + case "BeautifyTimeCodesProfile/ExtendUntilShotChange": + language.BeautifyTimeCodesProfile.ExtendUntilShotChange = reader.Value; + break; + case "BeautifyTimeCodesProfile/ResetWarning": + language.BeautifyTimeCodesProfile.ResetWarning = reader.Value; + break; + case "BeautifyTimeCodesProfile/CreateSimpleTitle": + language.BeautifyTimeCodesProfile.CreateSimpleTitle = reader.Value; + break; + case "BeautifyTimeCodesProfile/CreateSimpleInstruction": + language.BeautifyTimeCodesProfile.CreateSimpleInstruction = reader.Value; + break; + case "BeautifyTimeCodesProfile/CreateSimpleGapInstruction": + language.BeautifyTimeCodesProfile.CreateSimpleGapInstruction = reader.Value; + break; + case "BeautifyTimeCodesProfile/CreateSimpleInCues": + language.BeautifyTimeCodesProfile.CreateSimpleInCues = reader.Value; + break; + case "BeautifyTimeCodesProfile/CreateSimpleInCues0Frames": + language.BeautifyTimeCodesProfile.CreateSimpleInCues0Frames = reader.Value; + break; + case "BeautifyTimeCodesProfile/CreateSimpleInCues1Frames": + language.BeautifyTimeCodesProfile.CreateSimpleInCues1Frames = reader.Value; + break; + case "BeautifyTimeCodesProfile/CreateSimpleInCues2Frames": + language.BeautifyTimeCodesProfile.CreateSimpleInCues2Frames = reader.Value; + break; + case "BeautifyTimeCodesProfile/CreateSimpleInCues3Frames": + language.BeautifyTimeCodesProfile.CreateSimpleInCues3Frames = reader.Value; + break; + case "BeautifyTimeCodesProfile/CreateSimpleOutCues": + language.BeautifyTimeCodesProfile.CreateSimpleOutCues = reader.Value; + break; + case "BeautifyTimeCodesProfile/CreateSimpleOutCues0Frames": + language.BeautifyTimeCodesProfile.CreateSimpleOutCues0Frames = reader.Value; + break; + case "BeautifyTimeCodesProfile/CreateSimpleOutCues1Frames": + language.BeautifyTimeCodesProfile.CreateSimpleOutCues1Frames = reader.Value; + break; + case "BeautifyTimeCodesProfile/CreateSimpleOutCues2Frames": + language.BeautifyTimeCodesProfile.CreateSimpleOutCues2Frames = reader.Value; + break; + case "BeautifyTimeCodesProfile/CreateSimpleOutCues3Frames": + language.BeautifyTimeCodesProfile.CreateSimpleOutCues3Frames = reader.Value; + break; + case "BeautifyTimeCodesProfile/CreateSimpleOutCuesGap": + language.BeautifyTimeCodesProfile.CreateSimpleOutCuesGap = reader.Value; + break; + case "BeautifyTimeCodesProfile/CreateSimpleSnapClosestCue": + language.BeautifyTimeCodesProfile.CreateSimpleSnapClosestCue = reader.Value; + break; + case "BeautifyTimeCodesProfile/CreateSimpleMaxOffset": + language.BeautifyTimeCodesProfile.CreateSimpleMaxOffset = reader.Value; + break; + case "BeautifyTimeCodesProfile/CreateSimpleMaxOffsetInstruction": + language.BeautifyTimeCodesProfile.CreateSimpleMaxOffsetInstruction = reader.Value; + break; + case "BeautifyTimeCodesProfile/CreateSimpleSafeZone": + language.BeautifyTimeCodesProfile.CreateSimpleSafeZone = reader.Value; + break; + case "BeautifyTimeCodesProfile/CreateSimpleSafeZoneInstruction": + language.BeautifyTimeCodesProfile.CreateSimpleSafeZoneInstruction = reader.Value; + break; + case "BeautifyTimeCodesProfile/CreateSimpleChainingGap": + language.BeautifyTimeCodesProfile.CreateSimpleChainingGap = reader.Value; + break; + case "BeautifyTimeCodesProfile/CreateSimpleChainingGapInstruction": + language.BeautifyTimeCodesProfile.CreateSimpleChainingGapInstruction = reader.Value; + break; + case "BeautifyTimeCodesProfile/CreateSimpleChainingGapAfterShotChanges": + language.BeautifyTimeCodesProfile.CreateSimpleChainingGapAfterShotChanges = reader.Value; + break; + case "BeautifyTimeCodesProfile/CreateSimpleChainingToolTip": + language.BeautifyTimeCodesProfile.CreateSimpleChainingToolTip = reader.Value; + break; + case "BeautifyTimeCodesProfile/CreateSimpleLoadNetflixRules": + language.BeautifyTimeCodesProfile.CreateSimpleLoadNetflixRules = reader.Value; + break; + case "BeautifyTimeCodesProfile/Frames": + language.BeautifyTimeCodesProfile.Frames = reader.Value; + break; + case "BeautifyTimeCodesProfile/Maximum": + language.BeautifyTimeCodesProfile.Maximum = reader.Value; + break; + case "BeautifyTimeCodesProfile/GapInMsFormat": + language.BeautifyTimeCodesProfile.GapInMsFormat = reader.Value; + break; + case "BeautifyTimeCodesProfile/OffsetSafeZoneError": + language.BeautifyTimeCodesProfile.OffsetSafeZoneError = reader.Value; + break; case "BinEdit/ImportImage": language.BinEdit.ImportImage = reader.Value; break; @@ -3331,6 +3553,12 @@ namespace Nikse.SubtitleEdit.Logic case "Main/RenumberedStartingFromX": language.Main.RenumberedStartingFromX = reader.Value; break; + case "Main/BeforeBeautifyTimeCodes": + language.Main.BeforeBeautifyTimeCodes = reader.Value; + break; + case "Main/BeautifiedTimeCodes": + language.Main.BeautifiedTimeCodes = reader.Value; + break; case "Main/BeforeRemovalOfTextingForHearingImpaired": language.Main.BeforeRemovalOfTextingForHearingImpaired = reader.Value; break; @@ -4243,6 +4471,9 @@ namespace Nikse.SubtitleEdit.Logic case "Main/Menu/Tools/NetflixQualityCheck": language.Main.Menu.Tools.NetflixQualityCheck = reader.Value; break; + case "Main/Menu/Tools/BeautifyTimeCodes": + language.Main.Menu.Tools.BeautifyTimeCodes = reader.Value; + break; case "Main/Menu/Tools/TextAlphabetically": language.Main.Menu.Tools.TextAlphabetically = reader.Value; break; @@ -4480,6 +4711,9 @@ namespace Nikse.SubtitleEdit.Logic case "Main/Menu/ToolBar/NetflixQualityCheck": language.Main.Menu.ToolBar.NetflixQualityCheck = reader.Value; break; + case "Main/Menu/ToolBar/BeautifyTimeCodes": + language.Main.Menu.ToolBar.BeautifyTimeCodes = reader.Value; + break; case "Main/Menu/ToolBar/Settings": language.Main.Menu.ToolBar.Settings = reader.Value; break; @@ -5845,6 +6079,9 @@ namespace Nikse.SubtitleEdit.Logic case "Settings/NetflixQualityCheck": language.Settings.NetflixQualityCheck = reader.Value; break; + case "Settings/BeautifyTimeCodes": + language.Settings.BeautifyTimeCodes = reader.Value; + break; case "Settings/SettingsName": language.Settings.SettingsName = reader.Value; break; @@ -6202,6 +6439,9 @@ namespace Nikse.SubtitleEdit.Logic case "Settings/WaveformSnapToShotChanges": language.Settings.WaveformSnapToShotChanges = reader.Value; break; + case "Settings/WaveformEditShotChangesProfile": + language.Settings.WaveformEditShotChangesProfile = reader.Value; + break; case "Settings/WaveformAutoGen": language.Settings.WaveformAutoGen = reader.Value; break;