public override void LoadSubtitle(Subtitle subtitle, List<string> lines, string fileName) { _errorCount = 0; subtitle.Paragraphs.Clear(); foreach (string line in lines) { if (regexTimeCodes.IsMatch(line)) { int splitter = line.IndexOf(':') + 3; string text = line.Remove(0, splitter); var p = new Paragraph(DecodeTimeCode(line.Substring(0, splitter)), new TimeCode(0, 0, 0, 0), text); subtitle.Paragraphs.Add(p); text = text.Trim().Trim('–', '.', ';', ':').Trim(); if (text.Length > 0 && char.IsDigit(text[0])) _errorCount++; } else { _errorCount += 2; } } foreach (Paragraph p2 in subtitle.Paragraphs) { p2.Text = Utilities.AutoBreakLine(p2.Text); } subtitle.RecalculateDisplayTimes(Configuration.Settings.General.SubtitleMaximumDisplayMilliseconds, null); subtitle.Renumber(); }
public override void LoadSubtitle(Subtitle subtitle, List<string> lines, string fileName) { _errorCount = 0; Paragraph p = null; subtitle.Paragraphs.Clear(); foreach (string line in lines) { if (regexTimeCodes.IsMatch(line)) { p = new Paragraph(DecodeTimeCode(line), new TimeCode(0, 0, 0, 0), string.Empty); subtitle.Paragraphs.Add(p); } else if (string.IsNullOrWhiteSpace(line)) { // skip these lines } else if (p != null) { if (string.IsNullOrEmpty(p.Text)) p.Text = line; else p.Text = p.Text + Environment.NewLine + line; if (p.Text.Length > 800) { _errorCount++; return; } } } foreach (Paragraph p2 in subtitle.Paragraphs) { p2.Text = Utilities.AutoBreakLine(p2.Text); } subtitle.RecalculateDisplayTimes(Configuration.Settings.General.SubtitleMaximumDisplayMilliseconds, null); subtitle.Renumber(); }