public override string ToText(Subtitle subtitle, string title) { const string paragraphWriteFormat = "{0} , {1} , {2}\r\n"; const string timeFormat = "{0:00}:{1:00}:{2:00}:{3:00}"; const string header = @"$VertAlign = Bottom $Bold = FALSE $Underlined = FALSE $Italic = FALSE $XOffset = 0 $YOffset = -5 $TextContrast = 15 $Outline1Contrast = 15 $Outline2Contrast = 13 $BackgroundContrast = 0 $ForceDisplay = FALSE $FadeIn = 0 $FadeOut = 0 $HorzAlign = Center "; var lastVerticalAlign = "$VertAlign = Bottom"; var lastHorizontalcalAlign = "$HorzAlign = Center"; var sb = new StringBuilder(); sb.AppendLine(header); foreach (Paragraph p in subtitle.Paragraphs) { string startTime = string.Format(timeFormat, p.StartTime.Hours, p.StartTime.Minutes, p.StartTime.Seconds, MillisecondsToFramesMaxFrameRate(p.StartTime.Milliseconds)); string endTime = string.Format(timeFormat, p.EndTime.Hours, p.EndTime.Minutes, p.EndTime.Seconds, MillisecondsToFramesMaxFrameRate(p.EndTime.Milliseconds)); DvdStudioPro.ToTextAlignment(p, sb, ref lastVerticalAlign, ref lastHorizontalcalAlign); sb.AppendFormat(paragraphWriteFormat, startTime, endTime, DvdStudioPro.EncodeStyles(p.Text)); } return(sb.ToString().Trim()); }
public override string ToText(Subtitle subtitle, string title) { const string header = @"//Font select and font size $FontName = Arial $FontSize = 30 //Character attributes (global) $Bold = FALSE $UnderLined = FALSE $Italic = FALSE //Position Control $HorzAlign = Center $VertAlign = Bottom $XOffset = 0 $YOffset = 0 //Contrast Control $TextContrast = 15 $Outline1Contrast = 8 $Outline2Contrast = 15 $BackgroundContrast = 0 //Effects Control $ForceDisplay = FALSE $FadeIn = 0 $FadeOut = 0 //Other Controls $TapeOffset = FALSE //$SetFilePathToken = <<:>> //Colors $ColorIndex1 = 0 $ColorIndex2 = 1 $ColorIndex3 = 2 $ColorIndex4 = 3 //Subtitles"; var lastVerticalAlign = "$VertAlign = Bottom"; var lastHorizontalcalAlign = "$HorzAlign = Center"; var sb = new StringBuilder(); sb.AppendLine(header); foreach (Paragraph p in subtitle.Paragraphs) { DvdStudioPro.ToTextAlignment(p, sb, ref lastVerticalAlign, ref lastHorizontalcalAlign); sb.AppendLine($"{EncodeTimeCode(p.StartTime)},{EncodeTimeCode(p.EndTime)},{EncodeText(p.Text)}"); } return(sb.ToString()); }
public override string ToText(Subtitle subtitle, string title) { const string paragraphWriteFormat = "{0},{1}, {2}\r\n"; const string timeFormat = "{0:00}:{1:00}:{2:00};{3:00}"; var header = Configuration.Settings.SubtitleSettings.DvdStudioProHeader.TrimEnd() + Environment.NewLine; var lastVerticalAlign = "$VertAlign = Bottom"; var lastHorizontalcalAlign = "$HorzAlign = Center"; var sb = new StringBuilder(); sb.AppendLine(header); foreach (Paragraph p in subtitle.Paragraphs) { string startTime = string.Format(timeFormat, p.StartTime.Hours, p.StartTime.Minutes, p.StartTime.Seconds, MillisecondsToFramesMaxFrameRate(p.StartTime.Milliseconds)); string endTime = string.Format(timeFormat, p.EndTime.Hours, p.EndTime.Minutes, p.EndTime.Seconds, MillisecondsToFramesMaxFrameRate(p.EndTime.Milliseconds)); DvdStudioPro.ToTextAlignment(p, sb, ref lastVerticalAlign, ref lastHorizontalcalAlign); sb.AppendFormat(paragraphWriteFormat, startTime, endTime, DvdStudioPro.EncodeStyles(p.Text)); } return(sb.ToString().Trim()); }