internal static string GetParagraph(string template, string start, string end, string text, string translation, int number, TimeCode duration, string timeCodeTemplate) { string d = duration.ToString(); if (timeCodeTemplate == "ff" || timeCodeTemplate == "f") d = SubtitleFormat.MillisecondsToFrames(duration.TotalMilliseconds).ToString(CultureInfo.InvariantCulture); if (timeCodeTemplate == "zzz" || timeCodeTemplate == "zz" || timeCodeTemplate == "z") d = duration.TotalMilliseconds.ToString(CultureInfo.InvariantCulture); if (timeCodeTemplate == "sss" || timeCodeTemplate == "ss" || timeCodeTemplate == "s") d = duration.Seconds.ToString(CultureInfo.InvariantCulture); else if (timeCodeTemplate.EndsWith("ss.ff", StringComparison.Ordinal)) d = string.Format("{0:00}.{1:00}", duration.Seconds, SubtitleFormat.MillisecondsToFramesMaxFrameRate(duration.Milliseconds)); else if (timeCodeTemplate.EndsWith("ss:ff", StringComparison.Ordinal)) d = string.Format("{0:00}:{1:00}", duration.Seconds, SubtitleFormat.MillisecondsToFramesMaxFrameRate(duration.Milliseconds)); else if (timeCodeTemplate.EndsWith("ss,ff", StringComparison.Ordinal)) d = string.Format("{0:00},{1:00}", duration.Seconds, SubtitleFormat.MillisecondsToFramesMaxFrameRate(duration.Milliseconds)); else if (timeCodeTemplate.EndsWith("ss;ff", StringComparison.Ordinal)) d = string.Format("{0:00};{1:00}", duration.Seconds, SubtitleFormat.MillisecondsToFramesMaxFrameRate(duration.Milliseconds)); else if (timeCodeTemplate.EndsWith("ss;ff", StringComparison.Ordinal)) d = string.Format("{0:00};{1:00}", duration.Seconds, SubtitleFormat.MillisecondsToFramesMaxFrameRate(duration.Milliseconds)); else if (timeCodeTemplate.EndsWith("ss.zzz", StringComparison.Ordinal)) d = string.Format("{0:00}.{1:000}", duration.Seconds, duration.Milliseconds); else if (timeCodeTemplate.EndsWith("ss:zzz", StringComparison.Ordinal)) d = string.Format("{0:00}:{1:000}", duration.Seconds, duration.Milliseconds); else if (timeCodeTemplate.EndsWith("ss,zzz", StringComparison.Ordinal)) d = string.Format("{0:00},{1:000}", duration.Seconds, duration.Milliseconds); else if (timeCodeTemplate.EndsWith("ss;zzz", StringComparison.Ordinal)) d = string.Format("{0:00};{1:000}", duration.Seconds, duration.Milliseconds); else if (timeCodeTemplate.EndsWith("ss;zzz", StringComparison.Ordinal)) d = string.Format("{0:00};{1:000}", duration.Seconds, duration.Milliseconds); else if (timeCodeTemplate.EndsWith("ss.zz", StringComparison.Ordinal)) d = string.Format("{0:00}.{1:00}", duration.Seconds, Math.Round(duration.Milliseconds / 10.0)); else if (timeCodeTemplate.EndsWith("ss:zz", StringComparison.Ordinal)) d = string.Format("{0:00}:{1:00}", duration.Seconds, Math.Round(duration.Milliseconds / 10.0)); else if (timeCodeTemplate.EndsWith("ss,zz", StringComparison.Ordinal)) d = string.Format("{0:00},{1:00}", duration.Seconds, Math.Round(duration.Milliseconds / 10.0)); else if (timeCodeTemplate.EndsWith("ss;zz", StringComparison.Ordinal)) d = string.Format("{0:00};{1:00}", duration.Seconds, Math.Round(duration.Milliseconds / 10.0)); string s = template; s = s.Replace("{{", "@@@@_@@@{"); s = s.Replace("}}", "}@@@_@@@@"); s = string.Format(s, start, end, text, translation, number + 1, number, d); s = s.Replace("@@@@_@@@", "{"); s = s.Replace("@@@_@@@@", "}"); return s; }
/// <summary> /// The to time code. /// </summary> /// <param name="tc"> /// The tc. /// </param> /// <returns> /// The <see cref="string"/>. /// </returns> private static string ToTimeCode(TimeCode tc) { int last = (int)(tc.Milliseconds / 10.0D + 0.5D); return tc.ToString().Substring(0, 8) + ":" + string.Format("{0:0#}", last); }
public void SetTotalMilliseconds(double milliseconds) { if (Mode == TimeMode.HHMMSSMS) { if (milliseconds < 0) maskedTextBox1.Mask = "-00:00:00.000"; else maskedTextBox1.Mask = "00:00:00.000"; maskedTextBox1.Text = new TimeCode(milliseconds).ToString(); } else { var tc = new TimeCode(milliseconds); maskedTextBox1.Text = tc.ToString().Substring(0, 9) + string.Format("{0:00}", Core.SubtitleFormats.SubtitleFormat.MillisecondsToFrames(tc.Milliseconds)); } }
public void SetTotalMilliseconds(double milliseconds) { if (UseVideoOffset) { milliseconds += Configuration.Settings.General.CurrentVideoOffsetInMs; } if (Mode == TimeMode.HHMMSSMS) { if (milliseconds < 0) maskedTextBox1.Mask = "-00:00:00.000"; else maskedTextBox1.Mask = "00:00:00.000"; maskedTextBox1.Text = new TimeCode(milliseconds).ToString(); } else { var tc = new TimeCode(milliseconds); maskedTextBox1.Text = tc.ToString().Substring(0, 9) + string.Format("{0:00}", Core.SubtitleFormats.SubtitleFormat.MillisecondsToFrames(tc.Milliseconds)); } }