mirror of
https://github.com/SubtitleEdit/subtitleedit.git
synced 2024-11-22 19:22:53 +01:00
Merge pull request #1976 from ivandrofly/phxSub
[PhoenixSubtitle] - Minor fixes/Update.
This commit is contained in:
commit
1914a4942f
@ -16,7 +16,7 @@ namespace Nikse.SubtitleEdit.Core.SubtitleFormats
|
||||
//2513, 2594, "Yeah. The Drama Club is worried|that you haven't been coming."
|
||||
//2603, 2675, "I see. Sorry, I'll drop by next time."
|
||||
|
||||
private static readonly Regex RegexTimeCodes = new Regex(@"^(\d+),\s+(\d+),", RegexOptions.Compiled);
|
||||
private static readonly Regex RegexTimeCodes = new Regex(@"^(\d+),\s*(\d+),", RegexOptions.Compiled);
|
||||
private static readonly char[] TrimChars = { ' ', '"' };
|
||||
|
||||
public override string Extension
|
||||
@ -31,7 +31,7 @@ namespace Nikse.SubtitleEdit.Core.SubtitleFormats
|
||||
{
|
||||
get
|
||||
{
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@ -45,7 +45,7 @@ namespace Nikse.SubtitleEdit.Core.SubtitleFormats
|
||||
|
||||
public override bool IsMine(List<string> lines, string fileName)
|
||||
{
|
||||
if (fileName != null && !fileName.EndsWith(".pjs", StringComparison.OrdinalIgnoreCase))
|
||||
if (fileName?.EndsWith(".pjs", StringComparison.OrdinalIgnoreCase) == false)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -71,9 +71,9 @@ namespace Nikse.SubtitleEdit.Core.SubtitleFormats
|
||||
{
|
||||
try
|
||||
{
|
||||
// Decode times.
|
||||
paragraph.StartTime = DecodeTimeCode(match.Groups[1].Value);
|
||||
paragraph.EndTime = DecodeTimeCode(match.Groups[2].Value);
|
||||
// Read frames.
|
||||
paragraph.StartFrame = int.Parse(match.Groups[1].Value);
|
||||
paragraph.EndFrame = int.Parse(match.Groups[2].Value);
|
||||
|
||||
// Decode text.
|
||||
line = line.Substring(match.Value.Length).Trim();
|
||||
@ -104,19 +104,9 @@ namespace Nikse.SubtitleEdit.Core.SubtitleFormats
|
||||
}
|
||||
}
|
||||
|
||||
private static TimeCode DecodeTimeCode(string encodedTime)
|
||||
{
|
||||
int time;
|
||||
if (int.TryParse(encodedTime, out time))
|
||||
{
|
||||
return new TimeCode(FramesToMilliseconds(time));
|
||||
}
|
||||
return new TimeCode(0);
|
||||
}
|
||||
|
||||
public override string ToText(Subtitle subtitle, string title)
|
||||
{
|
||||
const string writeFormat = "{0}, {1}, \"{2}\"\r\n";
|
||||
const string writeFormat = "{0},{1},\"{2}\"{3}";
|
||||
var sb = new StringBuilder();
|
||||
foreach (var p in subtitle.Paragraphs)
|
||||
{
|
||||
@ -124,7 +114,7 @@ namespace Nikse.SubtitleEdit.Core.SubtitleFormats
|
||||
// Pipe character for forced line breaks.
|
||||
text = text.Replace(Environment.NewLine, "|");
|
||||
sb.AppendFormat(writeFormat, MillisecondsToFrames(p.StartTime.TotalMilliseconds),
|
||||
MillisecondsToFrames(p.EndTime.TotalMilliseconds), text);
|
||||
MillisecondsToFrames(p.EndTime.TotalMilliseconds), text, Environment.NewLine);
|
||||
}
|
||||
return sb.ToString();
|
||||
}
|
||||
|
@ -887,8 +887,8 @@ Dialogue: Marked=0,0:00:01.00,0:00:03.00,Default,NTP,0000,0000,0000,!Effect," +
|
||||
Assert.AreEqual("Yeah. The Drama Club is worried\r\nthat you haven't been coming.", subtitle.Paragraphs[1].Text);
|
||||
|
||||
// Test frames.
|
||||
Assert.AreEqual(SubtitleFormat.FramesToMilliseconds(2447), subtitle.Paragraphs[0].StartTime.TotalMilliseconds);
|
||||
Assert.AreEqual(SubtitleFormat.FramesToMilliseconds(2513), subtitle.Paragraphs[0].EndTime.TotalMilliseconds);
|
||||
Assert.AreEqual(SubtitleFormat.FramesToMilliseconds(2447), SubtitleFormat.FramesToMilliseconds(subtitle.Paragraphs[0].StartFrame));
|
||||
Assert.AreEqual(SubtitleFormat.FramesToMilliseconds(2513), SubtitleFormat.FramesToMilliseconds(subtitle.Paragraphs[0].EndFrame));
|
||||
|
||||
// Test total lines.
|
||||
Assert.AreEqual(2, subtitle.Paragraphs[1].NumberOfLines);
|
||||
|
Loading…
Reference in New Issue
Block a user