diff --git a/libse/ContinuationUtilities.cs b/libse/ContinuationUtilities.cs index caaeddf1d7..9c1a4ddb17 100644 --- a/libse/ContinuationUtilities.cs +++ b/libse/ContinuationUtilities.cs @@ -1261,7 +1261,7 @@ public static bool IsLanguageWithoutCaseDistinction(string language) public static int GetMinimumGapMs() { - return Math.Max(Configuration.Settings.General.MinimumMillisecondsBetweenLines + 5, 300); + return Math.Max(Configuration.Settings.General.MinimumMillisecondsBetweenLines + 5, Configuration.Settings.General.ContinuationPause); } public static string GetContinuationStyleName(ContinuationStyle continuationStyle) diff --git a/libse/Forms/FixCommonErrors/FixContinuationStyle.cs b/libse/Forms/FixCommonErrors/FixContinuationStyle.cs index aab1d7b361..578efbc35c 100644 --- a/libse/Forms/FixCommonErrors/FixContinuationStyle.cs +++ b/libse/Forms/FixCommonErrors/FixContinuationStyle.cs @@ -60,7 +60,7 @@ public void Fix(Subtitle subtitle, IFixCallbacks callbacks) var shouldProcess = true; // Detect gap - bool gap = pNext.StartTime.TotalMilliseconds - p.EndTime.TotalMilliseconds > minGapMs; + bool gap = pNext.StartTime.TotalMilliseconds - p.EndTime.TotalMilliseconds >= minGapMs; // Convert for Arabic if (callbacks.Language == "ar") diff --git a/libse/Settings.cs b/libse/Settings.cs index e9dfa3bb4b..e930ef03f6 100644 --- a/libse/Settings.cs +++ b/libse/Settings.cs @@ -1056,6 +1056,7 @@ public class GeneralSettings public double SubtitleMaximumWordsPerMinute { get; set; } public DialogType DialogStyle { get; set; } public ContinuationStyle ContinuationStyle { get; set; } + public int ContinuationPause { get; set; } public bool FixContinuationStyleUncheckInsertsAllCaps { get; set; } public bool FixContinuationStyleUncheckInsertsItalic { get; set; } public bool FixContinuationStyleUncheckInsertsLowercase { get; set; } @@ -1212,6 +1213,7 @@ public GeneralSettings() SubtitleMaximumWordsPerMinute = 300; DialogStyle = DialogType.DashBothLinesWithSpace; ContinuationStyle = ContinuationStyle.None; + ContinuationPause = 2000; FixContinuationStyleUncheckInsertsAllCaps = true; FixContinuationStyleUncheckInsertsItalic = true; FixContinuationStyleUncheckInsertsLowercase = true; @@ -2949,6 +2951,12 @@ private static Settings CustomDeserialize(string fileName) settings.General.ContinuationStyle = (ContinuationStyle)Enum.Parse(typeof(ContinuationStyle), subNode.InnerText); } + subNode = node.SelectSingleNode("ContinuationPause"); + if (subNode != null) + { + settings.General.ContinuationPause = Convert.ToInt32(subNode.InnerText, CultureInfo.InvariantCulture); + } + subNode = node.SelectSingleNode("FixContinuationStyleUncheckInsertsAllCaps"); if (subNode != null) { @@ -7662,6 +7670,7 @@ private static void CustomSerialize(string fileName, Settings settings) textWriter.WriteElementString("SubtitleMaximumWordsPerMinute", settings.General.SubtitleMaximumWordsPerMinute.ToString(CultureInfo.InvariantCulture)); textWriter.WriteElementString("DialogStyle", settings.General.DialogStyle.ToString()); textWriter.WriteElementString("ContinuationStyle", settings.General.ContinuationStyle.ToString()); + textWriter.WriteElementString("ContinuationPause", settings.General.ContinuationPause.ToString(CultureInfo.InvariantCulture)); textWriter.WriteElementString("FixContinuationStyleUncheckInsertsAllCaps", settings.General.FixContinuationStyleUncheckInsertsAllCaps.ToString(CultureInfo.InvariantCulture)); textWriter.WriteElementString("FixContinuationStyleUncheckInsertsItalic", settings.General.FixContinuationStyleUncheckInsertsItalic.ToString(CultureInfo.InvariantCulture)); textWriter.WriteElementString("FixContinuationStyleUncheckInsertsLowercase", settings.General.FixContinuationStyleUncheckInsertsLowercase.ToString(CultureInfo.InvariantCulture));