本文整理汇总了C#中Nikse.SubtitleEdit.Logic.Subtitle.AddTimeToAllParagraphs方法的典型用法代码示例。如果您正苦于以下问题:C# Subtitle.AddTimeToAllParagraphs方法的具体用法?C# Subtitle.AddTimeToAllParagraphs怎么用?C# Subtitle.AddTimeToAllParagraphs使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Nikse.SubtitleEdit.Logic.Subtitle
的用法示例。
在下文中一共展示了Subtitle.AddTimeToAllParagraphs方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ButtonFixClick
private void ButtonFixClick(object sender, EventArgs e)
{
TimeSpan splitTime = GetSplitTime();
if (splitTime.TotalSeconds > 0)
{
var part1 = new Subtitle();
var part2 = new Subtitle();
part1.Header = _subtitle.Header;
part2.Header = _subtitle.Header;
foreach (Paragraph p in _subtitle.Paragraphs)
{
if (p.StartTime.TotalMilliseconds < splitTime.TotalMilliseconds)
{
part1.Paragraphs.Add(new Paragraph(p));
}
if (p.StartTime.TotalMilliseconds >= splitTime.TotalMilliseconds)
{
part2.Paragraphs.Add(new Paragraph(p));
}
else if (p.EndTime.TotalMilliseconds > splitTime.TotalMilliseconds)
{
p.StartTime = new TimeCode(0, 0, 0, 1);
}
}
if (part1.Paragraphs.Count > 0 && part2.Paragraphs.Count > 0)
{
SavePart(part1, Configuration.Settings.Language.SplitSubtitle.SavePartOneAs, Configuration.Settings.Language.SplitSubtitle.Part1);
part2.AddTimeToAllParagraphs(TimeSpan.FromMilliseconds(-splitTime.TotalMilliseconds));
part2.Renumber(1);
SavePart(part2, Configuration.Settings.Language.SplitSubtitle.SavePartTwoAs, Configuration.Settings.Language.SplitSubtitle.Part2);
DialogResult = DialogResult.OK;
return;
}
MessageBox.Show(Configuration.Settings.Language.SplitSubtitle.NothingToSplit);
}
DialogResult = DialogResult.Cancel;
}
示例2: BatchConvertSave
internal static bool BatchConvertSave(string toFormat, string offset, Encoding targetEncoding, string outputFolder, int count, ref int converted, ref int errors, IList<SubtitleFormat> formats, string fileName, Subtitle sub, SubtitleFormat format, bool overwrite, string pacCodePage)
{
// adjust offset
if (!string.IsNullOrEmpty(offset) && (offset.StartsWith("/offset:") || offset.StartsWith("offset:")))
{
string[] parts = offset.Split(":".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
if (parts.Length == 5)
{
try
{
TimeSpan ts = new TimeSpan(0, int.Parse(parts[1].TrimStart('-')), int.Parse(parts[2]), int.Parse(parts[3]), int.Parse(parts[4]));
if (parts[1].StartsWith("-"))
sub.AddTimeToAllParagraphs(ts.Negate());
else
sub.AddTimeToAllParagraphs(ts);
}
catch
{
Console.Write(" (unable to read offset " + offset + ")");
}
}
}
bool targetFormatFound = false;
string outputFileName;
foreach (SubtitleFormat sf in formats)
{
if (sf.Name.ToLower().Replace(" ", string.Empty) == toFormat.ToLower() || sf.Name.ToLower().Replace(" ", string.Empty) == toFormat.Replace(" ", string.Empty).ToLower())
{
targetFormatFound = true;
sf.BatchMode = true;
outputFileName = FormatOutputFileNameForBatchConvert(fileName, sf.Extension, outputFolder, overwrite);
Console.Write(string.Format("{0}: {1} -> {2}...", count, Path.GetFileName(fileName), outputFileName));
if (sf.IsFrameBased && !sub.WasLoadedWithFrameNumbers)
sub.CalculateFrameNumbersFromTimeCodesNoCheck(Configuration.Settings.General.CurrentFrameRate);
else if (sf.IsTimeBased && sub.WasLoadedWithFrameNumbers)
sub.CalculateTimeCodesFromFrameNumbers(Configuration.Settings.General.CurrentFrameRate);
File.WriteAllText(outputFileName, sub.ToText(sf), targetEncoding);
if (format.GetType() == typeof(Sami) || format.GetType() == typeof(SamiModern))
{
var sami = (Sami)format;
foreach (string className in Sami.GetStylesFromHeader(sub.Header))
{
var newSub = new Subtitle();
foreach (Paragraph p in sub.Paragraphs)
{
if (p.Extra != null && p.Extra.ToLower().Trim() == className.ToLower().Trim())
newSub.Paragraphs.Add(p);
}
if (newSub.Paragraphs.Count > 0 && newSub.Paragraphs.Count < sub.Paragraphs.Count)
{
string s = fileName;
if (s.LastIndexOf('.') > 0)
s = s.Insert(s.LastIndexOf('.'), "_" + className);
else
s += "_" + className + format.Extension;
outputFileName = FormatOutputFileNameForBatchConvert(s, sf.Extension, outputFolder, overwrite);
File.WriteAllText(outputFileName, newSub.ToText(sf), targetEncoding);
}
}
}
Console.WriteLine(" done.");
}
}
if (!targetFormatFound)
{
var ebu = new Ebu();
if (ebu.Name.ToLower().Replace(" ", string.Empty) == toFormat.ToLower())
{
targetFormatFound = true;
outputFileName = FormatOutputFileNameForBatchConvert(fileName, ebu.Extension, outputFolder, overwrite);
Console.Write(string.Format("{0}: {1} -> {2}...", count, Path.GetFileName(fileName), outputFileName));
ebu.Save(outputFileName, sub);
Console.WriteLine(" done.");
}
}
if (!targetFormatFound)
{
var pac = new Pac();
if (pac.Name.ToLower().Replace(" ", string.Empty) == toFormat.ToLower() || toFormat.ToLower() == "pac" || toFormat.ToLower() == ".pac")
{
pac.BatchMode = true;
if (!string.IsNullOrEmpty(pacCodePage) && Utilities.IsInteger(pacCodePage))
pac.CodePage = Convert.ToInt32(pacCodePage);
targetFormatFound = true;
outputFileName = FormatOutputFileNameForBatchConvert(fileName, pac.Extension, outputFolder, overwrite);
Console.Write(string.Format("{0}: {1} -> {2}...", count, Path.GetFileName(fileName), outputFileName));
pac.Save(outputFileName, sub);
Console.WriteLine(" done.");
}
}
if (!targetFormatFound)
{
var cavena890 = new Cavena890();
if (cavena890.Name.ToLower().Replace(" ", string.Empty) == toFormat.ToLower())
{
targetFormatFound = true;
outputFileName = FormatOutputFileNameForBatchConvert(fileName, cavena890.Extension, outputFolder, overwrite);
Console.Write(string.Format("{0}: {1} -> {2}...", count, Path.GetFileName(fileName), outputFileName));
cavena890.Save(outputFileName, sub);
//.........这里部分代码省略.........
示例3: buttonConvert_Click
//.........这里部分代码省略.........
if (comboBoxSubtitleFormats.Text == new AdvancedSubStationAlpha().Name && _assStyle != null)
{
sub.Header = _assStyle;
}
else if (comboBoxSubtitleFormats.Text == new SubStationAlpha().Name && _ssaStyle != null)
{
sub.Header = _ssaStyle;
}
int prevIndex = -1;
foreach (Paragraph p in sub.Paragraphs)
{
string prevText = string.Empty;
var prev = sub.GetParagraphOrDefault(prevIndex);
if (prev != null)
prevText = prev.Text;
prevIndex++;
if (checkBoxRemoveTextForHI.Checked)
{
p.Text = _removeForHI.RemoveTextFromHearImpaired(p.Text, prevText);
}
if (checkBoxRemoveFormatting.Checked)
{
p.Text = Utilities.RemoveHtmlTags(p.Text);
if (p.Text.StartsWith("{") && p.Text.Length > 6 && p.Text[5] == '}')
p.Text = p.Text.Remove(0, 6);
if (p.Text.StartsWith("{") && p.Text.Length > 6 && p.Text[4] == '}')
p.Text = p.Text.Remove(0, 5);
}
}
if (checkBoxFixCasing.Checked)
{
_changeCasing.FixCasing(sub, Utilities.AutoDetectGoogleLanguage(sub));
_changeCasingNames.Initialize(sub);
_changeCasingNames.FixCasing();
}
double fromFrameRate;
double toFrameRate;
if (double.TryParse(comboBoxFrameRateFrom.Text, out fromFrameRate) &&
double.TryParse(comboBoxFrameRateTo.Text, out toFrameRate))
{
sub.ChangeFramerate(fromFrameRate, toFrameRate);
}
if (timeUpDownAdjust.TimeCode.TotalMilliseconds > 0.00001)
{
var totalMilliseconds = timeUpDownAdjust.TimeCode.TotalMilliseconds;
if (radioButtonShowEarlier.Checked)
totalMilliseconds *= -1;
sub.AddTimeToAllParagraphs(TimeSpan.FromMilliseconds(totalMilliseconds));
}
while (worker1.IsBusy && worker2.IsBusy && worker3.IsBusy)
{
Application.DoEvents();
System.Threading.Thread.Sleep(100);
}
ThreadDoWorkParameter parameter = new ThreadDoWorkParameter(checkBoxFixCommonErrors.Checked, checkBoxMultipleReplace.Checked, checkBoxSplitLongLines.Checked, checkBoxAutoBalance.Checked, checkBoxSetMinimumDisplayTimeBetweenSubs.Checked, item, sub, GetCurrentSubtitleFormat(), GetCurrentEncoding(), Configuration.Settings.Tools.BatchConvertLanguage, fileName, toFormat, format);
if (!worker1.IsBusy)
worker1.RunWorkerAsync(parameter);
else if (!worker2.IsBusy)
worker2.RunWorkerAsync(parameter);
else if (!worker3.IsBusy)
worker3.RunWorkerAsync(parameter);
}
}
catch
{
if (progressBar1.Value < progressBar1.Maximum)
progressBar1.Value++;
labelStatus.Text = progressBar1.Value + " / " + progressBar1.Maximum;
}
index++;
}
while (worker1.IsBusy || worker2.IsBusy || worker3.IsBusy)
{
try
{
Application.DoEvents();
}
catch
{
}
System.Threading.Thread.Sleep(100);
}
_converting = false;
labelStatus.Text = string.Empty;
progressBar1.Visible = false;
buttonConvert.Enabled = true;
buttonCancel.Enabled = true;
groupBoxOutput.Enabled = true;
groupBoxConvertOptions.Enabled = true;
buttonInputBrowse.Enabled = true;
buttonSearchFolder.Enabled = true;
}
示例4: AdjustOffset
private static void AdjustOffset(string offset, Subtitle sub)
{
if (!string.IsNullOrEmpty(offset) && (offset.StartsWith("/offset:") || offset.StartsWith("offset:")))
{
string[] parts = offset.Split(new[] { ':' }, StringSplitOptions.RemoveEmptyEntries);
if (parts.Length == 5)
{
try
{
var ts = new TimeSpan(0, int.Parse(parts[1].TrimStart('-')), int.Parse(parts[2]), int.Parse(parts[3]), int.Parse(parts[4]));
if (parts[1].StartsWith('-'))
{
sub.AddTimeToAllParagraphs(ts.Negate());
}
else
{
sub.AddTimeToAllParagraphs(ts);
}
}
catch
{
Console.Write(" (unable to read offset " + offset + ")");
}
}
}
}