Subtitle formats loading speed

This commit is contained in:
niksedk 2014-09-23 23:39:00 +02:00
parent c5bc43a3c5
commit 8a03ff2f2d
4 changed files with 19 additions and 11 deletions

View File

@ -37,8 +37,10 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{ {
if (line.StartsWith("$FontName") || line.StartsWith("$ColorIndex1")) if (line.StartsWith("$FontName") || line.StartsWith("$ColorIndex1"))
return false; return false;
Match m = CsvLine.Match(line); Match m = null;
if (m.Success) if (line.Length > 8 && line[2] == ':')
m = CsvLine.Match(line);
if (m != null && m.Success)
{ {
fine++; fine++;
string s = line.Remove(0, m.Length); string s = line.Remove(0, m.Length);

View File

@ -29,9 +29,6 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
public override bool IsMine(List<string> lines, string fileName) public override bool IsMine(List<string> lines, string fileName)
{ {
if (new UnknownSubtitle33().IsMine(lines, fileName) || new UnknownSubtitle36().IsMine(lines, fileName) || new TMPlayer().IsMine(lines, fileName))
return false;
var subtitle = new Subtitle(); var subtitle = new Subtitle();
LoadSubtitle(subtitle, lines, fileName); LoadSubtitle(subtitle, lines, fileName);
@ -49,7 +46,13 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
if (allStartWithNumber) if (allStartWithNumber)
return false; return false;
} }
return subtitle.Paragraphs.Count > _errorCount; if (subtitle.Paragraphs.Count > _errorCount)
{
if (new UnknownSubtitle33().IsMine(lines, fileName) || new UnknownSubtitle36().IsMine(lines, fileName) || new TMPlayer().IsMine(lines, fileName))
return false;
return true;
}
return false;
} }
public override string ToText(Subtitle subtitle, string title) public override string ToText(Subtitle subtitle, string title)

View File

@ -27,9 +27,6 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
public override bool IsMine(List<string> lines, string fileName) public override bool IsMine(List<string> lines, string fileName)
{ {
if (new UnknownSubtitle33().IsMine(lines, fileName) || new UnknownSubtitle36().IsMine(lines, fileName))
return false;
var subtitle = new Subtitle(); var subtitle = new Subtitle();
LoadSubtitle(subtitle, lines, fileName); LoadSubtitle(subtitle, lines, fileName);
@ -47,7 +44,13 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
if (allStartWithNumber) if (allStartWithNumber)
return false; return false;
} }
return subtitle.Paragraphs.Count > _errorCount; if (subtitle.Paragraphs.Count > _errorCount)
{
if (new UnknownSubtitle33().IsMine(lines, fileName) || new UnknownSubtitle36().IsMine(lines, fileName))
return false;
return true;
}
return false;
} }
public override string ToText(Subtitle subtitle, string title) public override string ToText(Subtitle subtitle, string title)

View File

@ -92,7 +92,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
foreach (string line in lines) foreach (string line in lines)
{ {
string s = line.Trim(); string s = line.Trim();
if (s[2] == ':' && regexTimeCodes.Match(s).Success) if (s.Length > 4 && s[2] == ':' && regexTimeCodes.Match(s).Success)
{ {
if (p != null && !string.IsNullOrEmpty(p.Text)) if (p != null && !string.IsNullOrEmpty(p.Text))
subtitle.Paragraphs.Add(p); subtitle.Paragraphs.Add(p);