This commit is contained in:
Nikolaj Olsson 2023-12-17 18:34:20 +01:00
parent dbb23369ee
commit 464c4c0c09

View File

@ -7732,6 +7732,24 @@ namespace Nikse.SubtitleEdit.Forms
fixErrors.Initialize(_subtitle, GetCurrentSubtitleFormat(), GetCurrentEncoding());
}
// save original paragraphs
var oldSub = new Subtitle(_subtitle, false);
var listOldList = new Dictionary<string, Paragraph>();
if (_subtitleOriginal != null && Configuration.Settings.General.AllowEditOfOriginalSubtitle && SubtitleListview1.IsOriginalTextColumnVisible)
{
var i = 0;
foreach (var x in _subtitle.Paragraphs)
{
var original = Utilities.GetOriginalParagraph(i, x, _subtitleOriginal.Paragraphs);
if (original != null)
{
listOldList.Add(x.Id, original);
}
i++;
}
}
if (fixErrors.ShowDialog(this) == DialogResult.OK)
{
MakeHistoryForUndo(_language.BeforeCommonErrorFixes);
@ -7792,6 +7810,24 @@ namespace Nikse.SubtitleEdit.Forms
ShowStatus(_language.CommonErrorsFixed);
}
// make time codes changes in original
if (listOldList.Count > 0)
{
foreach (var x in fixErrors.FixedSubtitle.Paragraphs)
{
var oldP = oldSub.Paragraphs.FirstOrDefault(p => p.Id == x.Id);
if (oldP != null && listOldList.TryGetValue(x.Id, out var orgP))
{
if (oldP.StartTime.TotalMilliseconds != x.StartTime.TotalMilliseconds ||
oldP.EndTime.TotalMilliseconds != x.EndTime.TotalMilliseconds)
{
orgP.StartTime.TotalMilliseconds = x.StartTime.TotalMilliseconds;
orgP.EndTime.TotalMilliseconds = x.EndTime.TotalMilliseconds;
}
}
}
}
_subtitle.Renumber();
UpdateSourceView();
SubtitleListview1.Fill(_subtitle, _subtitleOriginal);
@ -36316,7 +36352,7 @@ namespace Nikse.SubtitleEdit.Forms
sb.AppendLine($" - Chapters: {chapters.Count}");
}
}
else
else
{
var mp4Parser = new MP4Parser(_videoFileName);
if (mp4Parser.Duration.TotalMilliseconds > 0)