Add line width syntax validation, line width labels and line width statistics

This commit is contained in:
Martijn van Berkel (Flitskikker) 2020-03-29 23:23:55 +02:00
parent 8d3b56688b
commit eff48a75d7
18 changed files with 1050 additions and 268 deletions

View File

@ -2058,10 +2058,18 @@ can edit in same subtitle file (collaboration)</Information>
<SyntaxColorDurationIfTooSmall>Color duration if too short</SyntaxColorDurationIfTooSmall>
<SyntaxColorDurationIfTooLarge>Color duration if too long</SyntaxColorDurationIfTooLarge>
<SyntaxColorTextIfTooLong>Color text if too long</SyntaxColorTextIfTooLong>
<SyntaxColorTextIfTooWide>Color text if too wide (pixels)</SyntaxColorTextIfTooWide>
<SyntaxColorTextMoreThanMaxLines>Color text if more than {0} lines</SyntaxColorTextMoreThanMaxLines>
<SyntaxColorOverlap>Color time code overlap</SyntaxColorOverlap>
<SyntaxColorGap>Color gap if too short</SyntaxColorGap>
<SyntaxErrorColor>Error color</SyntaxErrorColor>
<SyntaxLineWidthSettings>Settings...</SyntaxLineWidthSettings>
<LineWidthSettings>Line width settings</LineWidthSettings>
<MaximumLineWidth>Maximum line width:</MaximumLineWidth>
<Pixels>pixels</Pixels>
<MeasureFont>Measuring font:</MeasureFont>
<ShowLineWidths>Show line widths below subtitle text box</ShowLineWidths>
<GenerateLineWidthStatistics>Show line width statistics in File &gt; Statistics</GenerateLineWidthStatistics>
<GoToFirstSelectedLine>Go to first selected line</GoToFirstSelectedLine>
<GoToNextEmptyLine>Go to next empty line</GoToNextEmptyLine>
<MergeSelectedLines>Merge selected lines</MergeSelectedLines>
@ -2273,6 +2281,9 @@ Continue?</RestoreDefaultSettingsMsg>
<SingleLineLengthMinimum>Single line length - minimum: {0}</SingleLineLengthMinimum>
<SingleLineLengthMaximum>Single line length - maximum: {0}</SingleLineLengthMaximum>
<SingleLineLengthAverage>Single line length - average: {0}</SingleLineLengthAverage>
<SingleLineWidthMinimum>Single line width - minimum: {0} pixels</SingleLineWidthMinimum>
<SingleLineWidthMaximum>Single line width - maximum: {0} pixels</SingleLineWidthMaximum>
<SingleLineWidthAverage>Single line width - average: {0} pixels</SingleLineWidthAverage>
<DurationMinimum>Duration - minimum: {0:0.000} seconds</DurationMinimum>
<DurationMaximum>Duration - maximum: {0:0.000} seconds</DurationMaximum>
<DurationAverage>Duration - average: {0:0.000} seconds</DurationAverage>

View File

@ -2352,10 +2352,18 @@ can edit in same subtitle file (collaboration)",
SyntaxColorDurationIfTooSmall = "Color duration if too short",
SyntaxColorDurationIfTooLarge = "Color duration if too long",
SyntaxColorTextIfTooLong = "Color text if too long",
SyntaxColorTextIfTooWide = "Color text if too wide (pixels)",
SyntaxColorTextMoreThanMaxLines = "Color text if more than {0} lines",
SyntaxColorOverlap = "Color time code overlap",
SyntaxColorGap = "Color gap if too short",
SyntaxErrorColor = "Error color",
SyntaxLineWidthSettings = "Settings...",
LineWidthSettings = "Line width settings",
MaximumLineWidth = "Maximum line width:",
Pixels = "pixels",
MeasureFont = "Measuring font:",
ShowLineWidths = "Show line widths below subtitle text box",
GenerateLineWidthStatistics = "Show line width statistics in File > Statistics",
GoToFirstSelectedLine = "Go to first selected line",
GoToNextEmptyLine = "Go to next empty line",
MergeSelectedLines = "Merge selected lines",
@ -2592,6 +2600,9 @@ can edit in same subtitle file (collaboration)",
SingleLineLengthMinimum = "Single line length - minimum: {0}",
SingleLineLengthMaximum = "Single line length - maximum: {0}",
SingleLineLengthAverage = "Single line length - average: {0}",
SingleLineWidthMinimum = "Single line width - minimum: {0} pixels",
SingleLineWidthMaximum = "Single line width - maximum: {0} pixels",
SingleLineWidthAverage = "Single line width - average: {0} pixels",
DurationMinimum = "Duration - minimum: {0:0.000} seconds",
DurationMaximum = "Duration - maximum: {0:0.000} seconds",
DurationAverage = "Duration - average: {0:0.000} seconds",

View File

@ -5596,6 +5596,9 @@ namespace Nikse.SubtitleEdit.Core
case "Settings/SyntaxColorTextIfTooLong":
language.Settings.SyntaxColorTextIfTooLong = reader.Value;
break;
case "Settings/SyntaxColorTextIfTooWide":
language.Settings.SyntaxColorTextIfTooWide = reader.Value;
break;
case "Settings/SyntaxColorTextMoreThanMaxLines":
language.Settings.SyntaxColorTextMoreThanMaxLines = reader.Value;
break;
@ -5608,6 +5611,27 @@ namespace Nikse.SubtitleEdit.Core
case "Settings/SyntaxErrorColor":
language.Settings.SyntaxErrorColor = reader.Value;
break;
case "Settings/SyntaxLineWidthSettings":
language.Settings.SyntaxLineWidthSettings = reader.Value;
break;
case "Settings/LineWidthSettings":
language.Settings.LineWidthSettings = reader.Value;
break;
case "Settings/MaximumLineWidth":
language.Settings.MaximumLineWidth = reader.Value;
break;
case "Settings/Pixels":
language.Settings.Pixels = reader.Value;
break;
case "Settings/MeasureFont":
language.Settings.MeasureFont = reader.Value;
break;
case "Settings/ShowLineWidths":
language.Settings.ShowLineWidths = reader.Value;
break;
case "Settings/GenerateLineWidthStatistics":
language.Settings.GenerateLineWidthStatistics = reader.Value;
break;
case "Settings/GoToFirstSelectedLine":
language.Settings.GoToFirstSelectedLine = reader.Value;
break;
@ -6157,6 +6181,15 @@ namespace Nikse.SubtitleEdit.Core
case "Statistics/SingleLineLengthAverage":
language.Statistics.SingleLineLengthAverage = reader.Value;
break;
case "Statistics/SingleLineWidthMinimum":
language.Statistics.SingleLineWidthMinimum = reader.Value;
break;
case "Statistics/SingleLineWidthMaximum":
language.Statistics.SingleLineWidthMaximum = reader.Value;
break;
case "Statistics/SingleLineWidthAverage":
language.Statistics.SingleLineWidthAverage = reader.Value;
break;
case "Statistics/DurationMinimum":
language.Statistics.DurationMinimum = reader.Value;
break;

View File

@ -2224,10 +2224,18 @@
public string SyntaxColorDurationIfTooSmall { get; set; }
public string SyntaxColorDurationIfTooLarge { get; set; }
public string SyntaxColorTextIfTooLong { get; set; }
public string SyntaxColorTextIfTooWide { get; set; }
public string SyntaxColorTextMoreThanMaxLines { get; set; }
public string SyntaxColorOverlap { get; set; }
public string SyntaxColorGap { get; set; }
public string SyntaxErrorColor { get; set; }
public string SyntaxLineWidthSettings { get; set; }
public string LineWidthSettings { get; set; }
public string MaximumLineWidth { get; set; }
public string Pixels { get; set; }
public string MeasureFont { get; set; }
public string ShowLineWidths { get; set; }
public string GenerateLineWidthStatistics { get; set; }
public string GoToFirstSelectedLine { get; set; }
public string GoToNextEmptyLine { get; set; }
public string MergeSelectedLines { get; set; }
@ -2461,6 +2469,9 @@
public string SingleLineLengthMinimum { get; set; }
public string SingleLineLengthMaximum { get; set; }
public string SingleLineLengthAverage { get; set; }
public string SingleLineWidthMinimum { get; set; }
public string SingleLineWidthMaximum { get; set; }
public string SingleLineWidthAverage { get; set; }
public string DurationMinimum { get; set; }
public string DurationMaximum { get; set; }
public string DurationAverage { get; set; }

View File

@ -142,6 +142,7 @@ namespace Nikse.SubtitleEdit.Core
public bool ListViewSyntaxColorDurationBig { get; set; }
public bool ListViewSyntaxColorOverlap { get; set; }
public bool ListViewSyntaxColorLongLines { get; set; }
public bool ListViewSyntaxColorWideLines { get; set; }
public bool ListViewSyntaxColorGap { get; set; }
public bool ListViewSyntaxMoreThanXLines { get; set; }
public Color ListViewSyntaxErrorColor { get; set; }
@ -325,6 +326,7 @@ namespace Nikse.SubtitleEdit.Core
ListViewSyntaxColorDurationBig = true;
ListViewSyntaxColorOverlap = true;
ListViewSyntaxColorLongLines = true;
ListViewSyntaxColorWideLines = false;
ListViewSyntaxMoreThanXLines = true;
ListViewSyntaxColorGap = true;
ListViewSyntaxErrorColor = Color.FromArgb(255, 180, 150);
@ -738,6 +740,12 @@ $HorzAlign = Center
public bool SubtitleListViewFontBold { get; set; }
public Color SubtitleFontColor { get; set; }
public Color SubtitleBackgroundColor { get; set; }
public string MeasureFontName { get; set; }
public int MeasureFontSize { get; set; }
public bool MeasureFontBold { get; set; }
public bool ShowLineWidths { get; set; }
public bool GenerateLineWidthStatistics { get; set; }
public int SubtitleLineMaximumPixelWidth { get; set; }
public bool CenterSubtitleInTextBox { get; set; }
public bool ShowRecentFiles { get; set; }
public bool RememberSelectedLine { get; set; }
@ -877,6 +885,12 @@ $HorzAlign = Center
SubtitleListViewFontSize = 10;
SubtitleFontBold = false;
SubtitleFontColor = Color.Black;
MeasureFontName = "Arial";
MeasureFontSize = 24;
MeasureFontBold = false;
ShowLineWidths = false;
GenerateLineWidthStatistics = false;
SubtitleLineMaximumPixelWidth = 576;
SubtitleBackgroundColor = Color.White;
CenterSubtitleInTextBox = false;
DefaultSubtitleFormat = "SubRip";
@ -2286,6 +2300,42 @@ $HorzAlign = Center
settings.General.SubtitleBackgroundColor = Color.FromArgb(Convert.ToInt32(subNode.InnerText, CultureInfo.InvariantCulture));
}
subNode = node.SelectSingleNode("MeasureFontName");
if (subNode != null)
{
settings.General.MeasureFontName = subNode.InnerText;
}
subNode = node.SelectSingleNode("MeasureFontSize");
if (subNode != null)
{
settings.General.MeasureFontSize = Convert.ToInt32(subNode.InnerText, CultureInfo.InvariantCulture);
}
subNode = node.SelectSingleNode("MeasureFontBold");
if (subNode != null)
{
settings.General.MeasureFontBold = Convert.ToBoolean(subNode.InnerText);
}
subNode = node.SelectSingleNode("ShowLineWidths");
if (subNode != null)
{
settings.General.ShowLineWidths = Convert.ToBoolean(subNode.InnerText);
}
subNode = node.SelectSingleNode("GenerateLineWidthStatistics");
if (subNode != null)
{
settings.General.GenerateLineWidthStatistics = Convert.ToBoolean(subNode.InnerText);
}
subNode = node.SelectSingleNode("SubtitleLineMaximumPixelWidth");
if (subNode != null)
{
settings.General.SubtitleLineMaximumPixelWidth = Convert.ToInt32(subNode.InnerText, CultureInfo.InvariantCulture);
}
subNode = node.SelectSingleNode("CenterSubtitleInTextBox");
if (subNode != null)
{
@ -3074,6 +3124,12 @@ $HorzAlign = Center
settings.Tools.ListViewSyntaxColorLongLines = Convert.ToBoolean(subNode.InnerText);
}
subNode = node.SelectSingleNode("ListViewSyntaxColorWideLines");
if (subNode != null)
{
settings.Tools.ListViewSyntaxColorWideLines = Convert.ToBoolean(subNode.InnerText);
}
subNode = node.SelectSingleNode("ListViewSyntaxMoreThanXLines");
if (subNode != null)
{
@ -6524,6 +6580,12 @@ $HorzAlign = Center
textWriter.WriteElementString("SubtitleListViewFontBold", settings.General.SubtitleListViewFontBold.ToString(CultureInfo.InvariantCulture));
textWriter.WriteElementString("SubtitleFontColor", settings.General.SubtitleFontColor.ToArgb().ToString(CultureInfo.InvariantCulture));
textWriter.WriteElementString("SubtitleBackgroundColor", settings.General.SubtitleBackgroundColor.ToArgb().ToString(CultureInfo.InvariantCulture));
textWriter.WriteElementString("MeasureFontName", settings.General.MeasureFontName);
textWriter.WriteElementString("MeasureFontSize", settings.General.MeasureFontSize.ToString(CultureInfo.InvariantCulture));
textWriter.WriteElementString("MeasureFontBold", settings.General.MeasureFontBold.ToString(CultureInfo.InvariantCulture));
textWriter.WriteElementString("ShowLineWidths", settings.General.ShowLineWidths.ToString(CultureInfo.InvariantCulture));
textWriter.WriteElementString("GenerateLineWidthStatistics", settings.General.GenerateLineWidthStatistics.ToString(CultureInfo.InvariantCulture));
textWriter.WriteElementString("SubtitleLineMaximumPixelWidth", settings.General.SubtitleLineMaximumPixelWidth.ToString(CultureInfo.InvariantCulture));
textWriter.WriteElementString("CenterSubtitleInTextBox", settings.General.CenterSubtitleInTextBox.ToString(CultureInfo.InvariantCulture));
textWriter.WriteElementString("ShowRecentFiles", settings.General.ShowRecentFiles.ToString(CultureInfo.InvariantCulture));
textWriter.WriteElementString("RememberSelectedLine", settings.General.RememberSelectedLine.ToString(CultureInfo.InvariantCulture));
@ -6658,6 +6720,7 @@ $HorzAlign = Center
textWriter.WriteElementString("ListViewSyntaxColorDurationSmall", settings.Tools.ListViewSyntaxColorDurationSmall.ToString(CultureInfo.InvariantCulture));
textWriter.WriteElementString("ListViewSyntaxColorDurationBig", settings.Tools.ListViewSyntaxColorDurationBig.ToString(CultureInfo.InvariantCulture));
textWriter.WriteElementString("ListViewSyntaxColorLongLines", settings.Tools.ListViewSyntaxColorLongLines.ToString(CultureInfo.InvariantCulture));
textWriter.WriteElementString("ListViewSyntaxColorWideLines", settings.Tools.ListViewSyntaxColorWideLines.ToString(CultureInfo.InvariantCulture));
textWriter.WriteElementString("ListViewSyntaxMoreThanXLines", settings.Tools.ListViewSyntaxMoreThanXLines.ToString(CultureInfo.InvariantCulture));
textWriter.WriteElementString("ListViewSyntaxColorOverlap", settings.Tools.ListViewSyntaxColorOverlap.ToString(CultureInfo.InvariantCulture));
textWriter.WriteElementString("ListViewSyntaxColorGap", settings.Tools.ListViewSyntaxColorGap.ToString(CultureInfo.InvariantCulture));

View File

@ -1,4 +1,5 @@
using Nikse.SubtitleEdit.Core;
using Nikse.SubtitleEdit.Logic;
using System;
using System.Collections.Generic;
using System.Drawing;
@ -1404,6 +1405,18 @@ namespace Nikse.SubtitleEdit.Controls
item.SubItems[ColumnIndexText].BackColor = Configuration.Settings.Tools.ListViewSyntaxErrorColor;
}
}
if (_settings.Tools.ListViewSyntaxColorWideLines)
{
string s = HtmlUtil.RemoveHtmlTags(paragraph.Text, true);
foreach (string line in s.SplitToLines())
{
if (TextWidth.CalcPixelWidth(line) > Configuration.Settings.General.SubtitleLineMaximumPixelWidth)
{
item.SubItems[ColumnIndexText].BackColor = Configuration.Settings.Tools.ListViewSyntaxErrorColor;
return;
}
}
}
if (_settings.Tools.ListViewSyntaxMoreThanXLines &&
item.SubItems[ColumnIndexText].BackColor != Configuration.Settings.Tools.ListViewSyntaxErrorColor)
{

View File

@ -38,9 +38,9 @@
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Main));
Nikse.SubtitleEdit.Core.TimeCode timeCode11 = new Nikse.SubtitleEdit.Core.TimeCode();
Nikse.SubtitleEdit.Core.TimeCode timeCode10 = new Nikse.SubtitleEdit.Core.TimeCode();
Nikse.SubtitleEdit.Core.TimeCode timeCode12 = new Nikse.SubtitleEdit.Core.TimeCode();
Nikse.SubtitleEdit.Core.TimeCode timeCode1 = new Nikse.SubtitleEdit.Core.TimeCode();
Nikse.SubtitleEdit.Core.TimeCode timeCode2 = new Nikse.SubtitleEdit.Core.TimeCode();
Nikse.SubtitleEdit.Core.TimeCode timeCode3 = new Nikse.SubtitleEdit.Core.TimeCode();
this.statusStrip1 = new System.Windows.Forms.StatusStrip();
this.labelStatus = new System.Windows.Forms.ToolStripStatusLabel();
this.toolStripSelected = new System.Windows.Forms.ToolStripStatusLabel();
@ -325,6 +325,7 @@
this.colorDialog1 = new System.Windows.Forms.ColorDialog();
this.groupBoxVideo = new System.Windows.Forms.GroupBox();
this.labelNextWord = new System.Windows.Forms.Label();
this.audioVisualizer = new Nikse.SubtitleEdit.Controls.AudioVisualizer();
this.checkBoxSyncListViewWithVideoWhilePlaying = new System.Windows.Forms.CheckBox();
this.labelVideoInfo = new System.Windows.Forms.Label();
this.trackBarWaveformPosition = new System.Windows.Forms.TrackBar();
@ -360,6 +361,7 @@
this.buttonPlayCurrent = new System.Windows.Forms.Button();
this.buttonPlayNext = new System.Windows.Forms.Button();
this.tabPageCreate = new System.Windows.Forms.TabPage();
this.timeUpDownVideoPosition = new Nikse.SubtitleEdit.Controls.TimeUpDown();
this.buttonGotoSub = new System.Windows.Forms.Button();
this.buttonBeforeText = new System.Windows.Forms.Button();
this.buttonSetEnd = new System.Windows.Forms.Button();
@ -377,6 +379,7 @@
this.labelVideoPosition = new System.Windows.Forms.Label();
this.buttonSecBack1 = new System.Windows.Forms.Button();
this.tabPageAdjust = new System.Windows.Forms.TabPage();
this.timeUpDownVideoPositionAdjust = new Nikse.SubtitleEdit.Controls.TimeUpDown();
this.buttonAdjustSetEndTime = new System.Windows.Forms.Button();
this.buttonSetEndAndGoToNext = new System.Windows.Forms.Button();
this.buttonSetStartAndOffsetRest = new System.Windows.Forms.Button();
@ -425,6 +428,7 @@
this.tabControlSubtitle = new System.Windows.Forms.TabControl();
this.tabPage1 = new System.Windows.Forms.TabPage();
this.splitContainerListViewAndText = new System.Windows.Forms.SplitContainer();
this.SubtitleListview1 = new Nikse.SubtitleEdit.Controls.SubtitleListView();
this.imageListBookmarks = new System.Windows.Forms.ImageList(this.components);
this.groupBoxEdit = new System.Windows.Forms.GroupBox();
this.panelBookmark = new System.Windows.Forms.Panel();
@ -440,6 +444,7 @@
this.labelTextAlternateLineLengths = new System.Windows.Forms.Label();
this.labelAlternateText = new System.Windows.Forms.Label();
this.labelText = new System.Windows.Forms.Label();
this.textBoxListViewTextAlternate = new Nikse.SubtitleEdit.Controls.SETextBox();
this.contextMenuStripTextBoxListView = new System.Windows.Forms.ContextMenuStrip(this.components);
this.toolStripMenuItemWebVttVoice = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparatorWebVTT = new System.Windows.Forms.ToolStripSeparator();
@ -487,28 +492,25 @@
this.labelTextLineTotal = new System.Windows.Forms.Label();
this.labelCharactersPerSecond = new System.Windows.Forms.Label();
this.buttonUnBreak = new System.Windows.Forms.Button();
this.timeUpDownStartTime = new Nikse.SubtitleEdit.Controls.TimeUpDown();
this.numericUpDownDuration = new System.Windows.Forms.NumericUpDown();
this.buttonPrevious = new System.Windows.Forms.Button();
this.buttonNext = new System.Windows.Forms.Button();
this.labelStartTime = new System.Windows.Forms.Label();
this.textBoxListViewText = new Nikse.SubtitleEdit.Controls.SETextBox();
this.labelDuration = new System.Windows.Forms.Label();
this.labelAutoDuration = new System.Windows.Forms.Label();
this.tabPage2 = new System.Windows.Forms.TabPage();
this.textBoxSource = new System.Windows.Forms.TextBox();
this.panelVideoPlayer = new System.Windows.Forms.Panel();
this.mediaPlayer = new Nikse.SubtitleEdit.Controls.VideoPlayerContainer();
this.contextMenuStripEmpty = new System.Windows.Forms.ContextMenuStrip(this.components);
this.insertLineToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.imageListPlayRate = new System.Windows.Forms.ImageList(this.components);
this.timerTextUndo = new System.Windows.Forms.Timer(this.components);
this.timerAlternateTextUndo = new System.Windows.Forms.Timer(this.components);
this.SubtitleListview1 = new Nikse.SubtitleEdit.Controls.SubtitleListView();
this.textBoxListViewTextAlternate = new Nikse.SubtitleEdit.Controls.SETextBox();
this.timeUpDownStartTime = new Nikse.SubtitleEdit.Controls.TimeUpDown();
this.textBoxListViewText = new Nikse.SubtitleEdit.Controls.SETextBox();
this.mediaPlayer = new Nikse.SubtitleEdit.Controls.VideoPlayerContainer();
this.audioVisualizer = new Nikse.SubtitleEdit.Controls.AudioVisualizer();
this.timeUpDownVideoPosition = new Nikse.SubtitleEdit.Controls.TimeUpDown();
this.timeUpDownVideoPositionAdjust = new Nikse.SubtitleEdit.Controls.TimeUpDown();
this.labelSingleLinePixels = new System.Windows.Forms.Label();
this.labelAlternateSingleLinePixels = new System.Windows.Forms.Label();
this.statusStrip1.SuspendLayout();
this.toolStrip1.SuspendLayout();
this.menuStrip1.SuspendLayout();
@ -2919,6 +2921,47 @@
this.labelNextWord.Text = "Next: xxx";
this.labelNextWord.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// audioVisualizer
//
this.audioVisualizer.AllowDrop = true;
this.audioVisualizer.AllowNewSelection = true;
this.audioVisualizer.AllowOverlap = false;
this.audioVisualizer.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.audioVisualizer.BackColor = System.Drawing.Color.Black;
this.audioVisualizer.BackgroundColor = System.Drawing.Color.Black;
this.audioVisualizer.ClosenessForBorderSelection = 15;
this.audioVisualizer.Color = System.Drawing.Color.GreenYellow;
this.audioVisualizer.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F);
this.audioVisualizer.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(18)))));
this.audioVisualizer.InsertAtVideoPositionShortcut = System.Windows.Forms.Keys.Insert;
this.audioVisualizer.Location = new System.Drawing.Point(472, 32);
this.audioVisualizer.Margin = new System.Windows.Forms.Padding(0);
this.audioVisualizer.MouseWheelScrollUpIsForward = true;
this.audioVisualizer.Name = "audioVisualizer";
this.audioVisualizer.NewSelectionParagraph = null;
this.audioVisualizer.ParagraphColor = System.Drawing.Color.LimeGreen;
this.audioVisualizer.SceneChanges = ((System.Collections.Generic.List<double>)(resources.GetObject("audioVisualizer.SceneChanges")));
this.audioVisualizer.SelectedColor = System.Drawing.Color.Red;
this.audioVisualizer.ShowGridLines = true;
this.audioVisualizer.ShowSpectrogram = false;
this.audioVisualizer.ShowWaveform = true;
this.audioVisualizer.Size = new System.Drawing.Size(499, 229);
this.audioVisualizer.StartPositionSeconds = 0D;
this.audioVisualizer.TabIndex = 6;
this.audioVisualizer.TextBold = true;
this.audioVisualizer.TextColor = System.Drawing.Color.Gray;
this.audioVisualizer.TextSize = 9F;
this.audioVisualizer.VerticalZoomFactor = 1D;
this.audioVisualizer.WaveformNotLoadedText = "Click to add waveform";
this.audioVisualizer.WavePeaks = null;
this.audioVisualizer.ZoomFactor = 1D;
this.audioVisualizer.Click += new System.EventHandler(this.AudioWaveform_Click);
this.audioVisualizer.DragDrop += new System.Windows.Forms.DragEventHandler(this.AudioWaveformDragDrop);
this.audioVisualizer.DragEnter += new System.Windows.Forms.DragEventHandler(this.AudioWaveformDragEnter);
this.audioVisualizer.MouseEnter += new System.EventHandler(this.audioVisualizer_MouseEnter);
//
// checkBoxSyncListViewWithVideoWhilePlaying
//
this.checkBoxSyncListViewWithVideoWhilePlaying.AutoSize = true;
@ -3344,6 +3387,26 @@
this.tabPageCreate.Text = "Create";
this.tabPageCreate.UseVisualStyleBackColor = true;
//
// timeUpDownVideoPosition
//
this.timeUpDownVideoPosition.AutoSize = true;
this.timeUpDownVideoPosition.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.timeUpDownVideoPosition.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F);
this.timeUpDownVideoPosition.Location = new System.Drawing.Point(96, 191);
this.timeUpDownVideoPosition.Margin = new System.Windows.Forms.Padding(4);
this.timeUpDownVideoPosition.Name = "timeUpDownVideoPosition";
this.timeUpDownVideoPosition.Size = new System.Drawing.Size(111, 27);
this.timeUpDownVideoPosition.TabIndex = 12;
timeCode1.Hours = 0;
timeCode1.Milliseconds = 0;
timeCode1.Minutes = 0;
timeCode1.Seconds = 0;
timeCode1.TimeSpan = System.TimeSpan.Parse("00:00:00");
timeCode1.TotalMilliseconds = 0D;
timeCode1.TotalSeconds = 0D;
this.timeUpDownVideoPosition.TimeCode = timeCode1;
this.timeUpDownVideoPosition.UseVideoOffset = false;
//
// buttonGotoSub
//
this.buttonGotoSub.Location = new System.Drawing.Point(6, 58);
@ -3398,7 +3461,7 @@
this.buttonSetStartTime.UseVisualStyleBackColor = true;
this.buttonSetStartTime.Click += new System.EventHandler(this.buttonSetStartTime_Click);
this.buttonSetStartTime.MouseEnter += new System.EventHandler(this.buttonSetStartTime_MouseEnter);
//
//
// labelCreateF12
//
this.labelCreateF12.AutoSize = true;
@ -3564,6 +3627,26 @@
this.tabPageAdjust.Text = "Adjust";
this.tabPageAdjust.UseVisualStyleBackColor = true;
//
// timeUpDownVideoPositionAdjust
//
this.timeUpDownVideoPositionAdjust.AutoSize = true;
this.timeUpDownVideoPositionAdjust.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.timeUpDownVideoPositionAdjust.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F);
this.timeUpDownVideoPositionAdjust.Location = new System.Drawing.Point(96, 213);
this.timeUpDownVideoPositionAdjust.Margin = new System.Windows.Forms.Padding(4);
this.timeUpDownVideoPositionAdjust.Name = "timeUpDownVideoPositionAdjust";
this.timeUpDownVideoPositionAdjust.Size = new System.Drawing.Size(111, 27);
this.timeUpDownVideoPositionAdjust.TabIndex = 13;
timeCode2.Hours = 0;
timeCode2.Milliseconds = 0;
timeCode2.Minutes = 0;
timeCode2.Seconds = 0;
timeCode2.TimeSpan = System.TimeSpan.Parse("00:00:00");
timeCode2.TotalMilliseconds = 0D;
timeCode2.TotalSeconds = 0D;
this.timeUpDownVideoPositionAdjust.TimeCode = timeCode2;
this.timeUpDownVideoPositionAdjust.UseVideoOffset = false;
//
// buttonAdjustSetEndTime
//
this.buttonAdjustSetEndTime.Location = new System.Drawing.Point(6, 84);
@ -3608,7 +3691,6 @@
this.buttonAdjustSetStartTime.Click += new System.EventHandler(this.buttonSetStartTime_Click);
this.buttonAdjustSetStartTime.MouseEnter += new System.EventHandler(this.buttonAdjustSetStartTime_MouseEnter);
//
//
// labelAdjustF12
//
this.labelAdjustF12.AutoSize = true;
@ -4041,6 +4123,37 @@
this.splitContainerListViewAndText.SplitterDistance = 91;
this.splitContainerListViewAndText.TabIndex = 2;
//
// SubtitleListview1
//
this.SubtitleListview1.AllowColumnReorder = true;
this.SubtitleListview1.AllowDrop = true;
this.SubtitleListview1.ContextMenuStrip = this.contextMenuStripListview;
this.SubtitleListview1.Dock = System.Windows.Forms.DockStyle.Fill;
this.SubtitleListview1.FirstVisibleIndex = -1;
this.SubtitleListview1.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.SubtitleListview1.FullRowSelect = true;
this.SubtitleListview1.GridLines = true;
this.SubtitleListview1.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
this.SubtitleListview1.HideSelection = false;
this.SubtitleListview1.Location = new System.Drawing.Point(0, 0);
this.SubtitleListview1.Name = "SubtitleListview1";
this.SubtitleListview1.OwnerDraw = true;
this.SubtitleListview1.Size = new System.Drawing.Size(724, 91);
this.SubtitleListview1.StateImageList = this.imageListBookmarks;
this.SubtitleListview1.SubtitleFontBold = false;
this.SubtitleListview1.SubtitleFontName = "Tahoma";
this.SubtitleListview1.SubtitleFontSize = 8;
this.SubtitleListview1.TabIndex = 0;
this.SubtitleListview1.UseCompatibleStateImageBehavior = false;
this.SubtitleListview1.UseSyntaxColoring = true;
this.SubtitleListview1.View = System.Windows.Forms.View.Details;
this.SubtitleListview1.SelectedIndexChanged += new System.EventHandler(this.SubtitleListview1_SelectedIndexChanged);
this.SubtitleListview1.DragDrop += new System.Windows.Forms.DragEventHandler(this.SubtitleListview1_DragDrop);
this.SubtitleListview1.DragEnter += new System.Windows.Forms.DragEventHandler(this.SubtitleListview1_DragEnter);
this.SubtitleListview1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.SubtitleListview1KeyDown);
this.SubtitleListview1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.SubtitleListview1_MouseDoubleClick);
this.SubtitleListview1.MouseEnter += new System.EventHandler(this.SubtitleListview1_MouseEnter);
//
// imageListBookmarks
//
this.imageListBookmarks.ColorDepth = System.Windows.Forms.ColorDepth.Depth8Bit;
@ -4049,6 +4162,8 @@
//
// groupBoxEdit
//
this.groupBoxEdit.Controls.Add(this.labelAlternateSingleLinePixels);
this.groupBoxEdit.Controls.Add(this.labelSingleLinePixels);
this.groupBoxEdit.Controls.Add(this.panelBookmark);
this.groupBoxEdit.Controls.Add(this.pictureBoxBookmark);
this.groupBoxEdit.Controls.Add(this.labelSingleLine);
@ -4216,6 +4331,28 @@
this.labelText.TabIndex = 5;
this.labelText.Text = "Text";
//
// textBoxListViewTextAlternate
//
this.textBoxListViewTextAlternate.AllowDrop = true;
this.textBoxListViewTextAlternate.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.textBoxListViewTextAlternate.ContextMenuStrip = this.contextMenuStripTextBoxListView;
this.textBoxListViewTextAlternate.Enabled = false;
this.textBoxListViewTextAlternate.HideSelection = false;
this.textBoxListViewTextAlternate.Location = new System.Drawing.Point(946, 28);
this.textBoxListViewTextAlternate.Multiline = true;
this.textBoxListViewTextAlternate.Name = "textBoxListViewTextAlternate";
this.textBoxListViewTextAlternate.Size = new System.Drawing.Size(0, 63);
this.textBoxListViewTextAlternate.TabIndex = 33;
this.textBoxListViewTextAlternate.Visible = false;
this.textBoxListViewTextAlternate.MouseClick += new System.Windows.Forms.MouseEventHandler(this.TextBoxListViewTextAlternateMouseClick);
this.textBoxListViewTextAlternate.TextChanged += new System.EventHandler(this.textBoxListViewTextAlternate_TextChanged);
this.textBoxListViewTextAlternate.Enter += new System.EventHandler(this.TextBoxListViewTextAlternateEnter);
this.textBoxListViewTextAlternate.KeyDown += new System.Windows.Forms.KeyEventHandler(this.TextBoxListViewTextAlternateKeyDown);
this.textBoxListViewTextAlternate.KeyUp += new System.Windows.Forms.KeyEventHandler(this.TextBoxListViewTextAlternateKeyUp);
this.textBoxListViewTextAlternate.MouseMove += new System.Windows.Forms.MouseEventHandler(this.TextBoxListViewTextAlternateMouseMove);
//
// contextMenuStripTextBoxListView
//
this.contextMenuStripTextBoxListView.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
@ -4600,6 +4737,26 @@
this.buttonUnBreak.UseVisualStyleBackColor = true;
this.buttonUnBreak.Click += new System.EventHandler(this.ButtonUnBreakClick);
//
// timeUpDownStartTime
//
this.timeUpDownStartTime.AutoSize = true;
this.timeUpDownStartTime.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.timeUpDownStartTime.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F);
this.timeUpDownStartTime.Location = new System.Drawing.Point(8, 26);
this.timeUpDownStartTime.Margin = new System.Windows.Forms.Padding(4);
this.timeUpDownStartTime.Name = "timeUpDownStartTime";
this.timeUpDownStartTime.Size = new System.Drawing.Size(111, 27);
this.timeUpDownStartTime.TabIndex = 0;
timeCode3.Hours = 0;
timeCode3.Milliseconds = 0;
timeCode3.Minutes = 0;
timeCode3.Seconds = 0;
timeCode3.TimeSpan = System.TimeSpan.Parse("00:00:00");
timeCode3.TotalMilliseconds = 0D;
timeCode3.TotalSeconds = 0D;
this.timeUpDownStartTime.TimeCode = timeCode3;
this.timeUpDownStartTime.UseVideoOffset = false;
//
// numericUpDownDuration
//
this.numericUpDownDuration.DecimalPlaces = 3;
@ -4653,6 +4810,28 @@
this.labelStartTime.TabIndex = 3;
this.labelStartTime.Text = "Start time";
//
// textBoxListViewText
//
this.textBoxListViewText.AllowDrop = true;
this.textBoxListViewText.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.textBoxListViewText.ContextMenuStrip = this.contextMenuStripTextBoxListView;
this.textBoxListViewText.Enabled = false;
this.textBoxListViewText.HideSelection = false;
this.textBoxListViewText.Location = new System.Drawing.Point(236, 28);
this.textBoxListViewText.Multiline = true;
this.textBoxListViewText.Name = "textBoxListViewText";
this.textBoxListViewText.Size = new System.Drawing.Size(362, 63);
this.textBoxListViewText.TabIndex = 5;
this.textBoxListViewText.MouseClick += new System.Windows.Forms.MouseEventHandler(this.TextBoxListViewTextMouseClick);
this.textBoxListViewText.TextChanged += new System.EventHandler(this.TextBoxListViewTextTextChanged);
this.textBoxListViewText.Enter += new System.EventHandler(this.TextBoxListViewTextEnter);
this.textBoxListViewText.KeyDown += new System.Windows.Forms.KeyEventHandler(this.TextBoxListViewTextKeyDown);
this.textBoxListViewText.KeyUp += new System.Windows.Forms.KeyEventHandler(this.textBoxListViewText_KeyUp);
this.textBoxListViewText.Leave += new System.EventHandler(this.textBoxListViewText_Leave);
this.textBoxListViewText.MouseMove += new System.Windows.Forms.MouseEventHandler(this.textBoxListViewText_MouseMove);
//
// labelDuration
//
this.labelDuration.AutoSize = true;
@ -4714,6 +4893,34 @@
this.panelVideoPlayer.Size = new System.Drawing.Size(220, 246);
this.panelVideoPlayer.TabIndex = 5;
//
// mediaPlayer
//
this.mediaPlayer.AllowDrop = true;
this.mediaPlayer.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.mediaPlayer.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(18)))), ((int)(((byte)(18)))), ((int)(((byte)(18)))));
this.mediaPlayer.CurrentPosition = 0D;
this.mediaPlayer.FontSizeFactor = 1F;
this.mediaPlayer.LastParagraph = null;
this.mediaPlayer.Location = new System.Drawing.Point(0, 0);
this.mediaPlayer.Margin = new System.Windows.Forms.Padding(0);
this.mediaPlayer.Name = "mediaPlayer";
this.mediaPlayer.ShowFullscreenButton = true;
this.mediaPlayer.ShowMuteButton = true;
this.mediaPlayer.ShowStopButton = true;
this.mediaPlayer.Size = new System.Drawing.Size(219, 246);
this.mediaPlayer.SmpteMode = false;
this.mediaPlayer.SubtitleText = "";
this.mediaPlayer.TabIndex = 5;
this.mediaPlayer.TextRightToLeft = System.Windows.Forms.RightToLeft.No;
this.mediaPlayer.VideoHeight = 0;
this.mediaPlayer.VideoPlayer = null;
this.mediaPlayer.VideoWidth = 0;
this.mediaPlayer.Volume = 0D;
this.mediaPlayer.DragDrop += new System.Windows.Forms.DragEventHandler(this.mediaPlayer_DragDrop);
this.mediaPlayer.DragEnter += new System.Windows.Forms.DragEventHandler(this.mediaPlayer_DragEnter);
//
// contextMenuStripEmpty
//
this.contextMenuStripEmpty.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
@ -4745,209 +4952,25 @@
this.timerAlternateTextUndo.Interval = 700;
this.timerAlternateTextUndo.Tick += new System.EventHandler(this.TimerAlternateTextUndoTick);
//
// SubtitleListview1
// labelSingleLinePixels
//
this.SubtitleListview1.AllowColumnReorder = true;
this.SubtitleListview1.AllowDrop = true;
this.SubtitleListview1.ContextMenuStrip = this.contextMenuStripListview;
this.SubtitleListview1.Dock = System.Windows.Forms.DockStyle.Fill;
this.SubtitleListview1.FirstVisibleIndex = -1;
this.SubtitleListview1.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.SubtitleListview1.FullRowSelect = true;
this.SubtitleListview1.GridLines = true;
this.SubtitleListview1.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
this.SubtitleListview1.HideSelection = false;
this.SubtitleListview1.Location = new System.Drawing.Point(0, 0);
this.SubtitleListview1.Name = "SubtitleListview1";
this.SubtitleListview1.OwnerDraw = true;
this.SubtitleListview1.Size = new System.Drawing.Size(724, 91);
this.SubtitleListview1.StateImageList = this.imageListBookmarks;
this.SubtitleListview1.SubtitleFontBold = false;
this.SubtitleListview1.SubtitleFontName = "Tahoma";
this.SubtitleListview1.SubtitleFontSize = 8;
this.SubtitleListview1.TabIndex = 0;
this.SubtitleListview1.UseCompatibleStateImageBehavior = false;
this.SubtitleListview1.UseSyntaxColoring = true;
this.SubtitleListview1.View = System.Windows.Forms.View.Details;
this.SubtitleListview1.SelectedIndexChanged += new System.EventHandler(this.SubtitleListview1_SelectedIndexChanged);
this.SubtitleListview1.DragDrop += new System.Windows.Forms.DragEventHandler(this.SubtitleListview1_DragDrop);
this.SubtitleListview1.DragEnter += new System.Windows.Forms.DragEventHandler(this.SubtitleListview1_DragEnter);
this.SubtitleListview1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.SubtitleListview1KeyDown);
this.SubtitleListview1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.SubtitleListview1_MouseDoubleClick);
this.SubtitleListview1.MouseEnter += new System.EventHandler(this.SubtitleListview1_MouseEnter);
this.labelSingleLinePixels.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.labelSingleLinePixels.AutoSize = true;
this.labelSingleLinePixels.Location = new System.Drawing.Point(427, 94);
this.labelSingleLinePixels.Name = "labelSingleLinePixels";
this.labelSingleLinePixels.Size = new System.Drawing.Size(105, 13);
this.labelSingleLinePixels.TabIndex = 42;
this.labelSingleLinePixels.Text = "labelSingleLinePixels";
//
// textBoxListViewTextAlternate
// labelAlternateSingleLinePixels
//
this.textBoxListViewTextAlternate.AllowDrop = true;
this.textBoxListViewTextAlternate.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.textBoxListViewTextAlternate.ContextMenuStrip = this.contextMenuStripTextBoxListView;
this.textBoxListViewTextAlternate.Enabled = false;
this.textBoxListViewTextAlternate.HideSelection = false;
this.textBoxListViewTextAlternate.Location = new System.Drawing.Point(946, 28);
this.textBoxListViewTextAlternate.Multiline = true;
this.textBoxListViewTextAlternate.Name = "textBoxListViewTextAlternate";
this.textBoxListViewTextAlternate.Size = new System.Drawing.Size(0, 63);
this.textBoxListViewTextAlternate.TabIndex = 33;
this.textBoxListViewTextAlternate.Visible = false;
this.textBoxListViewTextAlternate.MouseClick += new System.Windows.Forms.MouseEventHandler(this.TextBoxListViewTextAlternateMouseClick);
this.textBoxListViewTextAlternate.TextChanged += new System.EventHandler(this.textBoxListViewTextAlternate_TextChanged);
this.textBoxListViewTextAlternate.Enter += new System.EventHandler(this.TextBoxListViewTextAlternateEnter);
this.textBoxListViewTextAlternate.KeyDown += new System.Windows.Forms.KeyEventHandler(this.TextBoxListViewTextAlternateKeyDown);
this.textBoxListViewTextAlternate.KeyUp += new System.Windows.Forms.KeyEventHandler(this.TextBoxListViewTextAlternateKeyUp);
this.textBoxListViewTextAlternate.MouseMove += new System.Windows.Forms.MouseEventHandler(this.TextBoxListViewTextAlternateMouseMove);
//
// timeUpDownStartTime
//
this.timeUpDownStartTime.AutoSize = true;
this.timeUpDownStartTime.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.timeUpDownStartTime.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F);
this.timeUpDownStartTime.Location = new System.Drawing.Point(8, 26);
this.timeUpDownStartTime.Margin = new System.Windows.Forms.Padding(4);
this.timeUpDownStartTime.Name = "timeUpDownStartTime";
this.timeUpDownStartTime.Size = new System.Drawing.Size(111, 27);
this.timeUpDownStartTime.TabIndex = 0;
timeCode11.Hours = 0;
timeCode11.Milliseconds = 0;
timeCode11.Minutes = 0;
timeCode11.Seconds = 0;
timeCode11.TimeSpan = System.TimeSpan.Parse("00:00:00");
timeCode11.TotalMilliseconds = 0D;
timeCode11.TotalSeconds = 0D;
this.timeUpDownStartTime.TimeCode = timeCode11;
this.timeUpDownStartTime.UseVideoOffset = false;
//
// textBoxListViewText
//
this.textBoxListViewText.AllowDrop = true;
this.textBoxListViewText.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.textBoxListViewText.ContextMenuStrip = this.contextMenuStripTextBoxListView;
this.textBoxListViewText.Enabled = false;
this.textBoxListViewText.HideSelection = false;
this.textBoxListViewText.Location = new System.Drawing.Point(236, 28);
this.textBoxListViewText.Multiline = true;
this.textBoxListViewText.Name = "textBoxListViewText";
this.textBoxListViewText.Size = new System.Drawing.Size(362, 63);
this.textBoxListViewText.TabIndex = 5;
this.textBoxListViewText.MouseClick += new System.Windows.Forms.MouseEventHandler(this.TextBoxListViewTextMouseClick);
this.textBoxListViewText.TextChanged += new System.EventHandler(this.TextBoxListViewTextTextChanged);
this.textBoxListViewText.Enter += new System.EventHandler(this.TextBoxListViewTextEnter);
this.textBoxListViewText.KeyDown += new System.Windows.Forms.KeyEventHandler(this.TextBoxListViewTextKeyDown);
this.textBoxListViewText.KeyUp += new System.Windows.Forms.KeyEventHandler(this.textBoxListViewText_KeyUp);
this.textBoxListViewText.Leave += new System.EventHandler(this.textBoxListViewText_Leave);
this.textBoxListViewText.MouseMove += new System.Windows.Forms.MouseEventHandler(this.textBoxListViewText_MouseMove);
//
// mediaPlayer
//
this.mediaPlayer.AllowDrop = true;
this.mediaPlayer.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.mediaPlayer.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(18)))), ((int)(((byte)(18)))), ((int)(((byte)(18)))));
this.mediaPlayer.CurrentPosition = 0D;
this.mediaPlayer.FontSizeFactor = 1F;
this.mediaPlayer.LastParagraph = null;
this.mediaPlayer.Location = new System.Drawing.Point(0, 0);
this.mediaPlayer.Margin = new System.Windows.Forms.Padding(0);
this.mediaPlayer.Name = "mediaPlayer";
this.mediaPlayer.ShowFullscreenButton = true;
this.mediaPlayer.ShowMuteButton = true;
this.mediaPlayer.ShowStopButton = true;
this.mediaPlayer.Size = new System.Drawing.Size(219, 246);
this.mediaPlayer.SmpteMode = false;
this.mediaPlayer.SubtitleText = "";
this.mediaPlayer.TabIndex = 5;
this.mediaPlayer.TextRightToLeft = System.Windows.Forms.RightToLeft.No;
this.mediaPlayer.VideoHeight = 0;
this.mediaPlayer.VideoPlayer = null;
this.mediaPlayer.VideoWidth = 0;
this.mediaPlayer.Volume = 0D;
this.mediaPlayer.DragDrop += new System.Windows.Forms.DragEventHandler(this.mediaPlayer_DragDrop);
this.mediaPlayer.DragEnter += new System.Windows.Forms.DragEventHandler(this.mediaPlayer_DragEnter);
//
// audioVisualizer
//
this.audioVisualizer.AllowDrop = true;
this.audioVisualizer.AllowNewSelection = true;
this.audioVisualizer.AllowOverlap = false;
this.audioVisualizer.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.audioVisualizer.BackColor = System.Drawing.Color.Black;
this.audioVisualizer.BackgroundColor = System.Drawing.Color.Black;
this.audioVisualizer.ClosenessForBorderSelection = 15;
this.audioVisualizer.Color = System.Drawing.Color.GreenYellow;
this.audioVisualizer.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F);
this.audioVisualizer.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(18)))));
this.audioVisualizer.InsertAtVideoPositionShortcut = System.Windows.Forms.Keys.Insert;
this.audioVisualizer.Location = new System.Drawing.Point(472, 32);
this.audioVisualizer.Margin = new System.Windows.Forms.Padding(0);
this.audioVisualizer.MouseWheelScrollUpIsForward = true;
this.audioVisualizer.Name = "audioVisualizer";
this.audioVisualizer.NewSelectionParagraph = null;
this.audioVisualizer.ParagraphColor = System.Drawing.Color.LimeGreen;
this.audioVisualizer.SceneChanges = ((System.Collections.Generic.List<double>)(resources.GetObject("audioVisualizer.SceneChanges")));
this.audioVisualizer.SelectedColor = System.Drawing.Color.Red;
this.audioVisualizer.ShowGridLines = true;
this.audioVisualizer.ShowSpectrogram = false;
this.audioVisualizer.ShowWaveform = true;
this.audioVisualizer.Size = new System.Drawing.Size(499, 229);
this.audioVisualizer.StartPositionSeconds = 0D;
this.audioVisualizer.TabIndex = 6;
this.audioVisualizer.TextBold = true;
this.audioVisualizer.TextColor = System.Drawing.Color.Gray;
this.audioVisualizer.TextSize = 9F;
this.audioVisualizer.VerticalZoomFactor = 1D;
this.audioVisualizer.WaveformNotLoadedText = "Click to add waveform";
this.audioVisualizer.WavePeaks = null;
this.audioVisualizer.ZoomFactor = 1D;
this.audioVisualizer.Click += new System.EventHandler(this.AudioWaveform_Click);
this.audioVisualizer.DragDrop += new System.Windows.Forms.DragEventHandler(this.AudioWaveformDragDrop);
this.audioVisualizer.DragEnter += new System.Windows.Forms.DragEventHandler(this.AudioWaveformDragEnter);
this.audioVisualizer.MouseEnter += new System.EventHandler(this.audioVisualizer_MouseEnter);
//
// timeUpDownVideoPosition
//
this.timeUpDownVideoPosition.AutoSize = true;
this.timeUpDownVideoPosition.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.timeUpDownVideoPosition.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F);
this.timeUpDownVideoPosition.Location = new System.Drawing.Point(96, 191);
this.timeUpDownVideoPosition.Margin = new System.Windows.Forms.Padding(4);
this.timeUpDownVideoPosition.Name = "timeUpDownVideoPosition";
this.timeUpDownVideoPosition.Size = new System.Drawing.Size(111, 27);
this.timeUpDownVideoPosition.TabIndex = 12;
timeCode10.Hours = 0;
timeCode10.Milliseconds = 0;
timeCode10.Minutes = 0;
timeCode10.Seconds = 0;
timeCode10.TimeSpan = System.TimeSpan.Parse("00:00:00");
timeCode10.TotalMilliseconds = 0D;
timeCode10.TotalSeconds = 0D;
this.timeUpDownVideoPosition.TimeCode = timeCode10;
this.timeUpDownVideoPosition.UseVideoOffset = false;
//
// timeUpDownVideoPositionAdjust
//
this.timeUpDownVideoPositionAdjust.AutoSize = true;
this.timeUpDownVideoPositionAdjust.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.timeUpDownVideoPositionAdjust.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F);
this.timeUpDownVideoPositionAdjust.Location = new System.Drawing.Point(96, 213);
this.timeUpDownVideoPositionAdjust.Margin = new System.Windows.Forms.Padding(4);
this.timeUpDownVideoPositionAdjust.Name = "timeUpDownVideoPositionAdjust";
this.timeUpDownVideoPositionAdjust.Size = new System.Drawing.Size(111, 27);
this.timeUpDownVideoPositionAdjust.TabIndex = 13;
timeCode12.Hours = 0;
timeCode12.Milliseconds = 0;
timeCode12.Minutes = 0;
timeCode12.Seconds = 0;
timeCode12.TimeSpan = System.TimeSpan.Parse("00:00:00");
timeCode12.TotalMilliseconds = 0D;
timeCode12.TotalSeconds = 0D;
this.timeUpDownVideoPositionAdjust.TimeCode = timeCode12;
this.timeUpDownVideoPositionAdjust.UseVideoOffset = false;
this.labelAlternateSingleLinePixels.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.labelAlternateSingleLinePixels.AutoSize = true;
this.labelAlternateSingleLinePixels.Location = new System.Drawing.Point(870, 94);
this.labelAlternateSingleLinePixels.Name = "labelAlternateSingleLinePixels";
this.labelAlternateSingleLinePixels.Size = new System.Drawing.Size(62, 13);
this.labelAlternateSingleLinePixels.TabIndex = 43;
this.labelAlternateSingleLinePixels.Text = "AltSinLinPix";
//
// Main
//
@ -5502,5 +5525,7 @@
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItemHorizontalDigits;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItemSetParagraphAsSelection;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItemRuby;
private System.Windows.Forms.Label labelSingleLinePixels;
private System.Windows.Forms.Label labelAlternateSingleLinePixels;
}
}

View File

@ -292,6 +292,7 @@ namespace Nikse.SubtitleEdit.Forms
labelAlternateCharactersPerSecond.Visible = false;
labelTextAlternateLineLengths.Visible = false;
labelAlternateSingleLine.Visible = false;
labelAlternateSingleLinePixels.Visible = false;
labelTextAlternateLineTotal.Visible = false;
labelNextWord.Visible = false;
@ -304,6 +305,7 @@ namespace Nikse.SubtitleEdit.Forms
labelDurationWarning.Text = string.Empty;
labelVideoInfo.Text = string.Empty;
labelSingleLine.Text = string.Empty;
labelSingleLinePixels.Text = string.Empty;
Text = Title;
timeUpDownStartTime.TimeCode = new TimeCode();
timeUpDownStartTime.UseVideoOffset = true;
@ -719,7 +721,7 @@ namespace Nikse.SubtitleEdit.Forms
if (_subtitleListViewIndex >= 0)
{
UpdateListViewTextInfo(labelTextLineLengths, labelSingleLine, labelTextLineTotal, labelCharactersPerSecond, _subtitle.Paragraphs[_subtitleListViewIndex], textBoxListViewText);
UpdateListViewTextInfo(labelTextLineLengths, labelSingleLine, labelSingleLinePixels, labelTextLineTotal, labelCharactersPerSecond, _subtitle.Paragraphs[_subtitleListViewIndex], textBoxListViewText);
}
else
{
@ -1595,9 +1597,9 @@ namespace Nikse.SubtitleEdit.Forms
labelStartTime.Text = _languageGeneral.StartTime;
labelDuration.Text = _languageGeneral.Duration;
labelText.Text = _languageGeneral.Text;
UpdateListViewTextInfo(labelTextLineLengths, labelSingleLine, labelTextLineTotal, labelCharactersPerSecond, _subtitle?.GetParagraphOrDefault(_subtitleListViewIndex), textBoxListViewText);
UpdateListViewTextInfo(labelTextLineLengths, labelSingleLine, labelSingleLinePixels, labelTextLineTotal, labelCharactersPerSecond, _subtitle?.GetParagraphOrDefault(_subtitleListViewIndex), textBoxListViewText);
labelAlternateText.Text = _languageGeneral.OriginalText;
UpdateListViewTextInfo(labelTextAlternateLineLengths, labelAlternateSingleLine, labelTextAlternateLineTotal, labelAlternateCharactersPerSecond, _subtitleAlternate?.GetParagraphOrDefault(_subtitleListViewIndex), textBoxListViewTextAlternate);
UpdateListViewTextInfo(labelTextAlternateLineLengths, labelAlternateSingleLine, labelAlternateSingleLinePixels, labelTextAlternateLineTotal, labelAlternateCharactersPerSecond, _subtitleAlternate?.GetParagraphOrDefault(_subtitleListViewIndex), textBoxListViewTextAlternate);
buttonPrevious.Text = _language.Controls.Previous;
buttonNext.Text = _language.Controls.Next;
buttonAutoBreak.Text = _language.Controls.AutoBreak;
@ -4022,6 +4024,7 @@ namespace Nikse.SubtitleEdit.Forms
Text = Title;
_oldSubtitleFormat = null;
labelSingleLine.Text = string.Empty;
labelSingleLinePixels.Text = string.Empty;
RemoveAlternate(true, false);
_splitDualSami = false;
@ -4634,6 +4637,7 @@ namespace Nikse.SubtitleEdit.Forms
labelAlternateCharactersPerSecond.Visible = true;
labelTextAlternateLineLengths.Visible = true;
labelAlternateSingleLine.Visible = true;
labelAlternateSingleLinePixels.Visible = true;
labelTextAlternateLineTotal.Visible = true;
}
@ -8118,10 +8122,12 @@ namespace Nikse.SubtitleEdit.Forms
labelTextLineTotal.Text = string.Empty;
textBoxListViewText.Enabled = false;
labelSingleLine.Text = string.Empty;
labelSingleLinePixels.Text = string.Empty;
timeUpDownStartTime.TimeCode = new TimeCode();
numericUpDownDuration.Value = 0;
ShowHideBookmark(new Paragraph());
labelAlternateSingleLine.Text = string.Empty;
labelAlternateSingleLinePixels.Text = string.Empty;
textBoxListViewTextAlternate.Enabled = false;
labelAlternateCharactersPerSecond.Text = string.Empty;
labelTextAlternateLineLengths.Text = string.Empty;
@ -8568,7 +8574,7 @@ namespace Nikse.SubtitleEdit.Forms
InitializeListViewEditBox(p);
_subtitleListViewIndex = firstSelectedIndex;
_oldSelectedParagraph = new Paragraph(p);
UpdateListViewTextInfo(labelTextLineLengths, labelSingleLine, labelTextLineTotal, labelCharactersPerSecond, p, textBoxListViewText);
UpdateListViewTextInfo(labelTextLineLengths, labelSingleLine, labelSingleLinePixels, labelTextLineTotal, labelCharactersPerSecond, p, textBoxListViewText);
FixVerticalScrollBars(textBoxListViewText, ref _lastNumberOfNewLines);
if (Configuration.Settings.General.AllowEditOfOriginalSubtitle && _subtitleAlternate != null && _subtitleAlternate.Paragraphs.Count > 0)
@ -8704,7 +8710,7 @@ namespace Nikse.SubtitleEdit.Forms
}
}
private void UpdateListViewTextInfo(Label lineLengths, Label singleLine, Label lineTotal, Label charactersPerSecond, Paragraph paragraph, TextBox textBox)
private void UpdateListViewTextInfo(Label lineLengths, Label singleLine, Label singleLinePixels, Label lineTotal, Label charactersPerSecond, Paragraph paragraph, TextBox textBox)
{
if (paragraph == null)
{
@ -8715,10 +8721,21 @@ namespace Nikse.SubtitleEdit.Forms
string text = paragraph.Text;
lineLengths.Text = _languageGeneral.SingleLineLengths.Trim();
singleLine.Left = lineLengths.Left + lineLengths.Width - 3;
singleLinePixels.Left = lineLengths.Left + lineLengths.Width + 50;
text = HtmlUtil.RemoveHtmlTags(text, true);
text = NetflixImsc11Japanese.RemoveTags(text);
UiUtil.GetLineLengths(singleLine, text);
if (Configuration.Settings.General.ShowLineWidths)
{
UiUtil.GetLinePixelWidths(singleLinePixels, text);
labelSingleLinePixels.Visible = true;
}
else
{
labelSingleLinePixels.Visible = false;
}
buttonSplitLine.Visible = false;
// remove unicode control characters
@ -8981,7 +8998,7 @@ namespace Nikse.SubtitleEdit.Forms
if (textBoxListViewText.Text == string.Empty)
{
_subtitle.Paragraphs[idx].Text = string.Empty;
UpdateListViewTextInfo(labelTextLineLengths, labelSingleLine, labelTextLineTotal, labelCharactersPerSecond, _subtitle.Paragraphs[idx], textBoxListViewText);
UpdateListViewTextInfo(labelTextLineLengths, labelSingleLine, labelSingleLinePixels, labelTextLineTotal, labelCharactersPerSecond, _subtitle.Paragraphs[idx], textBoxListViewText);
SubtitleListview1.SetText(idx, string.Empty);
_listViewTextUndoIndex = idx;
labelStatus.Text = string.Empty;
@ -9010,7 +9027,7 @@ namespace Nikse.SubtitleEdit.Forms
}
_subtitle.Paragraphs[idx].Text = text;
UpdateListViewTextInfo(labelTextLineLengths, labelSingleLine, labelTextLineTotal, labelCharactersPerSecond, _subtitle.Paragraphs[idx], textBoxListViewText);
UpdateListViewTextInfo(labelTextLineLengths, labelSingleLine, labelSingleLinePixels, labelTextLineTotal, labelCharactersPerSecond, _subtitle.Paragraphs[idx], textBoxListViewText);
SubtitleListview1.SetText(idx, text);
_listViewTextUndoIndex = _subtitleListViewIndex;
@ -9074,7 +9091,7 @@ namespace Nikse.SubtitleEdit.Forms
{
if (textBoxListViewTextAlternate.Text == string.Empty)
{
UpdateListViewTextInfo(labelTextAlternateLineLengths, labelAlternateSingleLine, labelTextAlternateLineTotal, labelAlternateCharactersPerSecond, original, textBoxListViewTextAlternate);
UpdateListViewTextInfo(labelTextAlternateLineLengths, labelAlternateSingleLine, labelAlternateSingleLinePixels, labelTextAlternateLineTotal, labelAlternateCharactersPerSecond, original, textBoxListViewTextAlternate);
SubtitleListview1.SetAlternateText(_subtitleListViewIndex, string.Empty);
_listViewTextUndoIndex = _subtitleListViewIndex;
labelStatus.Text = string.Empty;
@ -9095,7 +9112,7 @@ namespace Nikse.SubtitleEdit.Forms
}
original.Text = text;
UpdateListViewTextInfo(labelTextAlternateLineLengths, labelAlternateSingleLine, labelTextAlternateLineTotal, labelAlternateCharactersPerSecond, original, textBoxListViewTextAlternate);
UpdateListViewTextInfo(labelTextAlternateLineLengths, labelAlternateSingleLine, labelAlternateSingleLinePixels, labelTextAlternateLineTotal, labelAlternateCharactersPerSecond, original, textBoxListViewTextAlternate);
SubtitleListview1.SetAlternateText(_subtitleListViewIndex, text);
_listViewTextUndoIndex = _subtitleListViewIndex;
}
@ -15995,7 +16012,7 @@ namespace Nikse.SubtitleEdit.Forms
if (_subtitleListViewIndex >= 0)
{
UpdateListViewTextInfo(labelTextLineLengths, labelSingleLine, labelTextLineTotal, labelCharactersPerSecond, _subtitle.Paragraphs[_subtitleListViewIndex], textBoxListViewText);
UpdateListViewTextInfo(labelTextLineLengths, labelSingleLine, labelSingleLinePixels, labelTextLineTotal, labelCharactersPerSecond, _subtitle.Paragraphs[_subtitleListViewIndex], textBoxListViewText);
}
else
{
@ -17283,6 +17300,7 @@ namespace Nikse.SubtitleEdit.Forms
labelAlternateCharactersPerSecond.Visible = true;
labelTextAlternateLineLengths.Visible = true;
labelAlternateSingleLine.Visible = true;
labelAlternateSingleLinePixels.Visible = true;
labelTextAlternateLineTotal.Visible = true;
labelCharactersPerSecond.Left = textBoxListViewText.Left + (textBoxListViewText.Width - labelCharactersPerSecond.Width);
@ -17882,6 +17900,7 @@ namespace Nikse.SubtitleEdit.Forms
labelAlternateCharactersPerSecond.Left = tbOriginal.Left + (tbOriginal.Width - labelAlternateCharactersPerSecond.Width);
lbSingleLineOriginal.Left = tbOriginal.Left;
labelAlternateSingleLine.Left = labelTextAlternateLineLengths.Left + labelTextAlternateLineLengths.Width;
labelAlternateSingleLinePixels.Left = labelAlternateSingleLine.Left + labelAlternateSingleLine.Width + 10;
labelTextAlternateLineTotal.Left = tbOriginal.Left + (tbOriginal.Width - labelTextAlternateLineTotal.Width);
if (textBoxListViewText.Width / 2.1 < labelTextLineLengths.Width)
{
@ -21118,6 +21137,7 @@ namespace Nikse.SubtitleEdit.Forms
labelAlternateCharactersPerSecond.Visible = true;
labelTextAlternateLineLengths.Visible = true;
labelAlternateSingleLine.Visible = true;
labelAlternateSingleLinePixels.Visible = true;
labelTextAlternateLineTotal.Visible = true;
labelCharactersPerSecond.Left = textBoxListViewText.Left + (textBoxListViewText.Width - labelCharactersPerSecond.Width);
@ -22175,7 +22195,7 @@ namespace Nikse.SubtitleEdit.Forms
// update _subtitle + listview
original.Text = text;
UpdateListViewTextInfo(labelTextAlternateLineLengths, labelAlternateSingleLine, labelTextAlternateLineTotal, labelAlternateCharactersPerSecond, original, textBoxListViewTextAlternate);
UpdateListViewTextInfo(labelTextAlternateLineLengths, labelAlternateSingleLine, labelAlternateSingleLinePixels, labelTextAlternateLineTotal, labelAlternateCharactersPerSecond, original, textBoxListViewTextAlternate);
SubtitleListview1.SetAlternateText(_subtitleListViewIndex, text);
FixVerticalScrollBars(textBoxListViewTextAlternate, ref _lastNumberOfNewLinesAlternate);
}
@ -22412,6 +22432,7 @@ namespace Nikse.SubtitleEdit.Forms
labelAlternateCharactersPerSecond.Visible = false;
labelTextAlternateLineLengths.Visible = false;
labelAlternateSingleLine.Visible = false;
labelAlternateSingleLinePixels.Visible = false;
labelTextAlternateLineTotal.Visible = false;
textBoxListViewText.Width = (groupBoxEdit.Width - (textBoxListViewText.Left + 8 + buttonUnBreak.Width));
textBoxListViewText.Anchor = AnchorStyles.Left | AnchorStyles.Top | AnchorStyles.Right | AnchorStyles.Bottom;
@ -25882,7 +25903,7 @@ namespace Nikse.SubtitleEdit.Forms
SubtitleListview1.EndUpdate();
if (_subtitleListViewIndex >= 0)
{
UpdateListViewTextInfo(labelTextLineLengths, labelSingleLine, labelTextLineTotal, labelCharactersPerSecond, _subtitle.Paragraphs[_subtitleListViewIndex], textBoxListViewText);
UpdateListViewTextInfo(labelTextLineLengths, labelSingleLine, labelSingleLinePixels, labelTextLineTotal, labelCharactersPerSecond, _subtitle.Paragraphs[_subtitleListViewIndex], textBoxListViewText);
}
ShowLineInformationListView();

View File

@ -338,36 +338,36 @@
<data name="toolStripButtonFixCommonErrors.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
/wEfCUTMgsMrSwAAAABJRU5ErkJggg==
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
RGFPzKWfAAAAAElFTkSuQmCC
</value>
</data>
<data name="toolStripButtonRemoveTextForHi.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@ -596,9 +596,6 @@
<metadata name="toolStripWaveControls.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>650, 56</value>
</metadata>
<metadata name="toolStripWaveControls.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>650, 56</value>
</metadata>
<data name="toolStripButtonWaveformZoomOut.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
@ -708,7 +705,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAD2
CAAAAk1TRnQBSQFMAgEBAgEAATABJwEwAScBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
CAAAAk1TRnQBSQFMAgEBAgEAATgBJwE4AScBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA

View File

@ -372,6 +372,8 @@
this.labelStatus = new System.Windows.Forms.Label();
this.openFileDialogFFmpeg = new System.Windows.Forms.OpenFileDialog();
this.buttonReset = new System.Windows.Forms.Button();
this.checkBoxSyntaxColorTextTooWide = new System.Windows.Forms.CheckBox();
this.buttonLineWidthSettings = new System.Windows.Forms.Button();
this.tabControlSettings.SuspendLayout();
this.tabPageGeneral.SuspendLayout();
this.groupBoxMiscellaneous.SuspendLayout();
@ -1577,6 +1579,8 @@
this.groupBoxListViewSyntaxColoring.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.groupBoxListViewSyntaxColoring.Controls.Add(this.buttonLineWidthSettings);
this.groupBoxListViewSyntaxColoring.Controls.Add(this.checkBoxSyntaxColorTextTooWide);
this.groupBoxListViewSyntaxColoring.Controls.Add(this.checkBoxSyntaxColorGapTooSmall);
this.groupBoxListViewSyntaxColoring.Controls.Add(this.checkBoxSyntaxColorTextMoreThanTwoLines);
this.groupBoxListViewSyntaxColoring.Controls.Add(this.checkBoxSyntaxOverlap);
@ -1595,30 +1599,30 @@
// checkBoxSyntaxColorGapTooSmall
//
this.checkBoxSyntaxColorGapTooSmall.AutoSize = true;
this.checkBoxSyntaxColorGapTooSmall.Location = new System.Drawing.Point(20, 186);
this.checkBoxSyntaxColorGapTooSmall.Location = new System.Drawing.Point(20, 209);
this.checkBoxSyntaxColorGapTooSmall.Name = "checkBoxSyntaxColorGapTooSmall";
this.checkBoxSyntaxColorGapTooSmall.Size = new System.Drawing.Size(132, 17);
this.checkBoxSyntaxColorGapTooSmall.TabIndex = 6;
this.checkBoxSyntaxColorGapTooSmall.TabIndex = 7;
this.checkBoxSyntaxColorGapTooSmall.Text = "Gap - color if too small";
this.checkBoxSyntaxColorGapTooSmall.UseVisualStyleBackColor = true;
//
// checkBoxSyntaxColorTextMoreThanTwoLines
//
this.checkBoxSyntaxColorTextMoreThanTwoLines.AutoSize = true;
this.checkBoxSyntaxColorTextMoreThanTwoLines.Location = new System.Drawing.Point(20, 116);
this.checkBoxSyntaxColorTextMoreThanTwoLines.Location = new System.Drawing.Point(20, 139);
this.checkBoxSyntaxColorTextMoreThanTwoLines.Name = "checkBoxSyntaxColorTextMoreThanTwoLines";
this.checkBoxSyntaxColorTextMoreThanTwoLines.Size = new System.Drawing.Size(170, 17);
this.checkBoxSyntaxColorTextMoreThanTwoLines.TabIndex = 3;
this.checkBoxSyntaxColorTextMoreThanTwoLines.TabIndex = 5;
this.checkBoxSyntaxColorTextMoreThanTwoLines.Text = "Text - color if more than lines:";
this.checkBoxSyntaxColorTextMoreThanTwoLines.UseVisualStyleBackColor = true;
//
// checkBoxSyntaxOverlap
//
this.checkBoxSyntaxOverlap.AutoSize = true;
this.checkBoxSyntaxOverlap.Location = new System.Drawing.Point(20, 151);
this.checkBoxSyntaxOverlap.Location = new System.Drawing.Point(20, 174);
this.checkBoxSyntaxOverlap.Name = "checkBoxSyntaxOverlap";
this.checkBoxSyntaxOverlap.Size = new System.Drawing.Size(129, 17);
this.checkBoxSyntaxOverlap.TabIndex = 5;
this.checkBoxSyntaxOverlap.TabIndex = 6;
this.checkBoxSyntaxOverlap.Text = "Time - color if overlap";
this.checkBoxSyntaxOverlap.UseVisualStyleBackColor = true;
//
@ -1634,10 +1638,10 @@
//
// buttonListViewSyntaxColorError
//
this.buttonListViewSyntaxColorError.Location = new System.Drawing.Point(20, 224);
this.buttonListViewSyntaxColorError.Location = new System.Drawing.Point(20, 247);
this.buttonListViewSyntaxColorError.Name = "buttonListViewSyntaxColorError";
this.buttonListViewSyntaxColorError.Size = new System.Drawing.Size(112, 23);
this.buttonListViewSyntaxColorError.TabIndex = 7;
this.buttonListViewSyntaxColorError.TabIndex = 8;
this.buttonListViewSyntaxColorError.Text = "Error color";
this.buttonListViewSyntaxColorError.UseVisualStyleBackColor = true;
this.buttonListViewSyntaxColorError.Click += new System.EventHandler(this.buttonListViewSyntaxColorError_Click);
@ -1665,7 +1669,7 @@
// panelListViewSyntaxColorError
//
this.panelListViewSyntaxColorError.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.panelListViewSyntaxColorError.Location = new System.Drawing.Point(142, 224);
this.panelListViewSyntaxColorError.Location = new System.Drawing.Point(142, 247);
this.panelListViewSyntaxColorError.Name = "panelListViewSyntaxColorError";
this.panelListViewSyntaxColorError.Size = new System.Drawing.Size(21, 20);
this.panelListViewSyntaxColorError.TabIndex = 8;
@ -4512,6 +4516,26 @@
this.buttonReset.UseVisualStyleBackColor = true;
this.buttonReset.Click += new System.EventHandler(this.buttonReset_Click);
//
// checkBoxSyntaxColorTextTooWide
//
this.checkBoxSyntaxColorTextTooWide.AutoSize = true;
this.checkBoxSyntaxColorTextTooWide.Location = new System.Drawing.Point(20, 116);
this.checkBoxSyntaxColorTextTooWide.Name = "checkBoxSyntaxColorTextTooWide";
this.checkBoxSyntaxColorTextTooWide.Size = new System.Drawing.Size(134, 17);
this.checkBoxSyntaxColorTextTooWide.TabIndex = 3;
this.checkBoxSyntaxColorTextTooWide.Text = "Text - color if too wide";
this.checkBoxSyntaxColorTextTooWide.UseVisualStyleBackColor = true;
//
// buttonLineWidthSettings
//
this.buttonLineWidthSettings.Location = new System.Drawing.Point(160, 112);
this.buttonLineWidthSettings.Name = "buttonLineWidthSettings";
this.buttonLineWidthSettings.Size = new System.Drawing.Size(112, 23);
this.buttonLineWidthSettings.TabIndex = 4;
this.buttonLineWidthSettings.Text = "Settings...";
this.buttonLineWidthSettings.UseVisualStyleBackColor = true;
this.buttonLineWidthSettings.Click += new System.EventHandler(this.buttonLineWidthSettings_Click);
//
// Settings
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@ -4995,5 +5019,7 @@
private System.Windows.Forms.ComboBox comboBoxDialogStyle;
private System.Windows.Forms.ContextMenuStrip contextMenuStripShortcuts;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItemShortcutsCollapse;
private System.Windows.Forms.Button buttonLineWidthSettings;
private System.Windows.Forms.CheckBox checkBoxSyntaxColorTextTooWide;
}
}

View File

@ -316,6 +316,7 @@ namespace Nikse.SubtitleEdit.Forms
checkBoxSyntaxColorDurationTooSmall.Checked = Configuration.Settings.Tools.ListViewSyntaxColorDurationSmall;
checkBoxSyntaxColorDurationTooLarge.Checked = Configuration.Settings.Tools.ListViewSyntaxColorDurationBig;
checkBoxSyntaxColorTextTooLong.Checked = Configuration.Settings.Tools.ListViewSyntaxColorLongLines;
checkBoxSyntaxColorTextTooWide.Checked = Configuration.Settings.Tools.ListViewSyntaxColorWideLines;
checkBoxSyntaxColorTextMoreThanTwoLines.Checked = Configuration.Settings.Tools.ListViewSyntaxMoreThanXLines;
if (Configuration.Settings.General.MaxNumberOfLines >= numericUpDownMaxNumberOfLines.Minimum &&
Configuration.Settings.General.MaxNumberOfLines <= numericUpDownMaxNumberOfLines.Maximum)
@ -924,6 +925,8 @@ namespace Nikse.SubtitleEdit.Forms
checkBoxSyntaxColorDurationTooSmall.Text = language.SyntaxColorDurationIfTooSmall;
checkBoxSyntaxColorDurationTooLarge.Text = language.SyntaxColorDurationIfTooLarge;
checkBoxSyntaxColorTextTooLong.Text = language.SyntaxColorTextIfTooLong;
checkBoxSyntaxColorTextTooWide.Text = language.SyntaxColorTextIfTooWide;
buttonLineWidthSettings.Text = language.SyntaxLineWidthSettings;
checkBoxSyntaxColorTextMoreThanTwoLines.Text = string.Format(language.SyntaxColorTextMoreThanMaxLines, Configuration.Settings.General.MaxNumberOfLines);
checkBoxSyntaxOverlap.Text = language.SyntaxColorOverlap;
checkBoxSyntaxColorGapTooSmall.Text = language.SyntaxColorGap;
@ -938,6 +941,7 @@ namespace Nikse.SubtitleEdit.Forms
comboBoxShortcutKey.Left = labelShortcutKey.Left + labelShortcutKey.Width + 2;
buttonUpdateShortcut.Left = comboBoxShortcutKey.Left + comboBoxShortcutKey.Width + 15;
buttonClearShortcut.Left = buttonUpdateShortcut.Left + buttonUpdateShortcut.Width + 15;
buttonLineWidthSettings.Left = checkBoxSyntaxColorTextTooWide.Left + checkBoxSyntaxColorTextTooWide.Width + 9;
_oldVlcLocation = gs.VlcLocation;
_oldVlcLocationRelative = gs.VlcLocationRelative;
@ -1739,6 +1743,7 @@ namespace Nikse.SubtitleEdit.Forms
Configuration.Settings.Tools.ListViewSyntaxColorDurationSmall = checkBoxSyntaxColorDurationTooSmall.Checked;
Configuration.Settings.Tools.ListViewSyntaxColorDurationBig = checkBoxSyntaxColorDurationTooLarge.Checked;
Configuration.Settings.Tools.ListViewSyntaxColorLongLines = checkBoxSyntaxColorTextTooLong.Checked;
Configuration.Settings.Tools.ListViewSyntaxColorWideLines = checkBoxSyntaxColorTextTooWide.Checked;
Configuration.Settings.Tools.ListViewSyntaxMoreThanXLines = checkBoxSyntaxColorTextMoreThanTwoLines.Checked;
Configuration.Settings.Tools.ListViewSyntaxColorOverlap = checkBoxSyntaxOverlap.Checked;
Configuration.Settings.Tools.ListViewSyntaxColorGap = checkBoxSyntaxColorGapTooSmall.Checked;
@ -3222,5 +3227,16 @@ namespace Nikse.SubtitleEdit.Forms
}
}
}
private void buttonLineWidthSettings_Click(object sender, EventArgs e)
{
using (var form = new SettingsLineWidth())
{
if (form.ShowDialog(this) == DialogResult.OK)
{
}
}
}
}
}

227
src/Forms/SettingsLineWidth.Designer.cs generated Normal file
View File

@ -0,0 +1,227 @@
namespace Nikse.SubtitleEdit.Forms
{
partial class SettingsLineWidth
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.buttonCancel = new System.Windows.Forms.Button();
this.buttonOK = new System.Windows.Forms.Button();
this.labelMaximumLineWidth = new System.Windows.Forms.Label();
this.numericUpDownMaxLineWidth = new System.Windows.Forms.NumericUpDown();
this.labelPixelsSuffix = new System.Windows.Forms.Label();
this.comboBoxMeasureFontName = new System.Windows.Forms.ComboBox();
this.labelMeasureFont = new System.Windows.Forms.Label();
this.checkBoxMeasureFontBold = new System.Windows.Forms.CheckBox();
this.checkBoxShowLineWidths = new System.Windows.Forms.CheckBox();
this.numericUpDownMeasureFontSize = new System.Windows.Forms.NumericUpDown();
this.checkBoxGenerateLineWidthStatistics = new System.Windows.Forms.CheckBox();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownMaxLineWidth)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownMeasureFontSize)).BeginInit();
this.SuspendLayout();
//
// buttonCancel
//
this.buttonCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.buttonCancel.ImeMode = System.Windows.Forms.ImeMode.NoControl;
this.buttonCancel.Location = new System.Drawing.Point(374, 129);
this.buttonCancel.Name = "buttonCancel";
this.buttonCancel.Size = new System.Drawing.Size(75, 23);
this.buttonCancel.TabIndex = 8;
this.buttonCancel.Text = "C&ancel";
this.buttonCancel.UseVisualStyleBackColor = true;
this.buttonCancel.Click += new System.EventHandler(this.buttonCancel_Click);
//
// buttonOK
//
this.buttonOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonOK.ImeMode = System.Windows.Forms.ImeMode.NoControl;
this.buttonOK.Location = new System.Drawing.Point(293, 129);
this.buttonOK.Name = "buttonOK";
this.buttonOK.Size = new System.Drawing.Size(75, 23);
this.buttonOK.TabIndex = 7;
this.buttonOK.Text = "&OK";
this.buttonOK.UseVisualStyleBackColor = true;
this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click);
//
// labelMaximumLineWidth
//
this.labelMaximumLineWidth.AutoSize = true;
this.labelMaximumLineWidth.Location = new System.Drawing.Point(12, 14);
this.labelMaximumLineWidth.Name = "labelMaximumLineWidth";
this.labelMaximumLineWidth.Size = new System.Drawing.Size(101, 13);
this.labelMaximumLineWidth.TabIndex = 208;
this.labelMaximumLineWidth.Text = "Maximum line width:";
//
// numericUpDownMaxLineWidth
//
this.numericUpDownMaxLineWidth.Location = new System.Drawing.Point(119, 12);
this.numericUpDownMaxLineWidth.Maximum = new decimal(new int[] {
5000,
0,
0,
0});
this.numericUpDownMaxLineWidth.Name = "numericUpDownMaxLineWidth";
this.numericUpDownMaxLineWidth.Size = new System.Drawing.Size(56, 20);
this.numericUpDownMaxLineWidth.TabIndex = 1;
this.numericUpDownMaxLineWidth.Value = new decimal(new int[] {
576,
0,
0,
0});
//
// labelPixelsSuffix
//
this.labelPixelsSuffix.AutoSize = true;
this.labelPixelsSuffix.Location = new System.Drawing.Point(181, 14);
this.labelPixelsSuffix.Name = "labelPixelsSuffix";
this.labelPixelsSuffix.Size = new System.Drawing.Size(33, 13);
this.labelPixelsSuffix.TabIndex = 210;
this.labelPixelsSuffix.Text = "pixels";
//
// comboBoxMeasureFontName
//
this.comboBoxMeasureFontName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.comboBoxMeasureFontName.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBoxMeasureFontName.FormattingEnabled = true;
this.comboBoxMeasureFontName.Location = new System.Drawing.Point(119, 38);
this.comboBoxMeasureFontName.Name = "comboBoxMeasureFontName";
this.comboBoxMeasureFontName.Size = new System.Drawing.Size(205, 21);
this.comboBoxMeasureFontName.TabIndex = 2;
//
// labelMeasureFont
//
this.labelMeasureFont.AutoSize = true;
this.labelMeasureFont.Location = new System.Drawing.Point(12, 41);
this.labelMeasureFont.Name = "labelMeasureFont";
this.labelMeasureFont.Size = new System.Drawing.Size(72, 13);
this.labelMeasureFont.TabIndex = 213;
this.labelMeasureFont.Text = "Measure font:";
//
// checkBoxMeasureFontBold
//
this.checkBoxMeasureFontBold.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.checkBoxMeasureFontBold.AutoSize = true;
this.checkBoxMeasureFontBold.Location = new System.Drawing.Point(392, 40);
this.checkBoxMeasureFontBold.Name = "checkBoxMeasureFontBold";
this.checkBoxMeasureFontBold.Size = new System.Drawing.Size(47, 17);
this.checkBoxMeasureFontBold.TabIndex = 4;
this.checkBoxMeasureFontBold.Text = "Bold";
this.checkBoxMeasureFontBold.UseVisualStyleBackColor = true;
//
// checkBoxShowLineWidths
//
this.checkBoxShowLineWidths.AutoSize = true;
this.checkBoxShowLineWidths.Location = new System.Drawing.Point(15, 78);
this.checkBoxShowLineWidths.Name = "checkBoxShowLineWidths";
this.checkBoxShowLineWidths.Size = new System.Drawing.Size(212, 17);
this.checkBoxShowLineWidths.TabIndex = 5;
this.checkBoxShowLineWidths.Text = "Show line widths below subtitle text box";
this.checkBoxShowLineWidths.UseVisualStyleBackColor = true;
//
// numericUpDownMeasureFontSize
//
this.numericUpDownMeasureFontSize.Location = new System.Drawing.Point(330, 38);
this.numericUpDownMeasureFontSize.Maximum = new decimal(new int[] {
200,
0,
0,
0});
this.numericUpDownMeasureFontSize.Minimum = new decimal(new int[] {
1,
0,
0,
0});
this.numericUpDownMeasureFontSize.Name = "numericUpDownMeasureFontSize";
this.numericUpDownMeasureFontSize.Size = new System.Drawing.Size(56, 20);
this.numericUpDownMeasureFontSize.TabIndex = 3;
this.numericUpDownMeasureFontSize.Value = new decimal(new int[] {
24,
0,
0,
0});
//
// checkBoxGenerateLineWidthStatistics
//
this.checkBoxGenerateLineWidthStatistics.AutoSize = true;
this.checkBoxGenerateLineWidthStatistics.Location = new System.Drawing.Point(15, 101);
this.checkBoxGenerateLineWidthStatistics.Name = "checkBoxGenerateLineWidthStatistics";
this.checkBoxGenerateLineWidthStatistics.Size = new System.Drawing.Size(227, 17);
this.checkBoxGenerateLineWidthStatistics.TabIndex = 6;
this.checkBoxGenerateLineWidthStatistics.Text = "Show line width statistics in File > Statistics";
this.checkBoxGenerateLineWidthStatistics.UseVisualStyleBackColor = true;
//
// SettingsLineWidth
//
this.AcceptButton = this.buttonOK;
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.CancelButton = this.buttonCancel;
this.ClientSize = new System.Drawing.Size(461, 164);
this.Controls.Add(this.checkBoxGenerateLineWidthStatistics);
this.Controls.Add(this.numericUpDownMeasureFontSize);
this.Controls.Add(this.checkBoxShowLineWidths);
this.Controls.Add(this.checkBoxMeasureFontBold);
this.Controls.Add(this.labelMeasureFont);
this.Controls.Add(this.comboBoxMeasureFontName);
this.Controls.Add(this.labelPixelsSuffix);
this.Controls.Add(this.numericUpDownMaxLineWidth);
this.Controls.Add(this.labelMaximumLineWidth);
this.Controls.Add(this.buttonCancel);
this.Controls.Add(this.buttonOK);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "SettingsLineWidth";
this.ShowIcon = false;
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "SettingsLineWidth";
this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.SettingsLineWidth_KeyDown);
((System.ComponentModel.ISupportInitialize)(this.numericUpDownMaxLineWidth)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownMeasureFontSize)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Button buttonCancel;
private System.Windows.Forms.Button buttonOK;
private System.Windows.Forms.Label labelMaximumLineWidth;
private System.Windows.Forms.NumericUpDown numericUpDownMaxLineWidth;
private System.Windows.Forms.Label labelPixelsSuffix;
private System.Windows.Forms.ComboBox comboBoxMeasureFontName;
private System.Windows.Forms.Label labelMeasureFont;
private System.Windows.Forms.CheckBox checkBoxMeasureFontBold;
private System.Windows.Forms.CheckBox checkBoxShowLineWidths;
private System.Windows.Forms.NumericUpDown numericUpDownMeasureFontSize;
private System.Windows.Forms.CheckBox checkBoxGenerateLineWidthStatistics;
}
}

View File

@ -0,0 +1,91 @@
using Nikse.SubtitleEdit.Core;
using Nikse.SubtitleEdit.Logic;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Nikse.SubtitleEdit.Forms
{
public partial class SettingsLineWidth : Form
{
public SettingsLineWidth()
{
UiUtil.PreInitialize(this);
InitializeComponent();
UiUtil.FixFonts(this);
var language = Configuration.Settings.Language.Settings;
var settings = Configuration.Settings.General;
Text = language.LineWidthSettings;
labelMaximumLineWidth.Text = language.MaximumLineWidth;
labelPixelsSuffix.Text = language.Pixels;
labelMeasureFont.Text = language.MeasureFont;
checkBoxMeasureFontBold.Text = language.SubtitleBold;
checkBoxShowLineWidths.Text = language.ShowLineWidths;
checkBoxGenerateLineWidthStatistics.Text = language.GenerateLineWidthStatistics;
comboBoxMeasureFontName.BeginUpdate();
comboBoxMeasureFontName.Items.Clear();
var comboBoxFontNameList = new List<string>();
var comboBoxSubtitleFontList = new List<string>();
var comboBoxSubtitleFontIndex = 0;
foreach (var x in FontFamily.Families.OrderBy(p => p.Name))
{
comboBoxSubtitleFontList.Add(x.Name);
if (x.Name.Equals(settings.MeasureFontName, StringComparison.OrdinalIgnoreCase))
{
comboBoxSubtitleFontIndex = comboBoxSubtitleFontList.Count - 1;
}
}
comboBoxMeasureFontName.Items.AddRange(comboBoxSubtitleFontList.ToArray<object>());
comboBoxMeasureFontName.SelectedIndex = comboBoxSubtitleFontIndex;
comboBoxMeasureFontName.EndUpdate();
numericUpDownMaxLineWidth.Value = settings.SubtitleLineMaximumPixelWidth;
numericUpDownMeasureFontSize.Value = settings.MeasureFontSize;
checkBoxMeasureFontBold.Checked = settings.MeasureFontBold;
checkBoxShowLineWidths.Checked = settings.ShowLineWidths;
checkBoxGenerateLineWidthStatistics.Checked = settings.GenerateLineWidthStatistics;
numericUpDownMaxLineWidth.Left = labelMaximumLineWidth.Left + labelMaximumLineWidth.Width + 6;
labelPixelsSuffix.Left = numericUpDownMaxLineWidth.Left + numericUpDownMaxLineWidth.Width + 6;
checkBoxMeasureFontBold.Left = numericUpDownMeasureFontSize.Left + numericUpDownMeasureFontSize.Width + 6;
comboBoxMeasureFontName.Left = numericUpDownMaxLineWidth.Left;
comboBoxMeasureFontName.Width = numericUpDownMeasureFontSize.Left - numericUpDownMaxLineWidth.Left - 6;
buttonOK.Text = Configuration.Settings.Language.General.Ok;
buttonCancel.Text = Configuration.Settings.Language.General.Cancel;
UiUtil.FixLargeFonts(this, buttonOK);
}
private void buttonOK_Click(object sender, EventArgs e)
{
Configuration.Settings.General.SubtitleLineMaximumPixelWidth = Convert.ToInt32(numericUpDownMaxLineWidth.Value);
Configuration.Settings.General.MeasureFontName = comboBoxMeasureFontName.Text;
Configuration.Settings.General.MeasureFontSize = Convert.ToInt32(numericUpDownMeasureFontSize.Value);
Configuration.Settings.General.MeasureFontBold = checkBoxMeasureFontBold.Checked;
Configuration.Settings.General.ShowLineWidths = checkBoxShowLineWidths.Checked;
Configuration.Settings.General.GenerateLineWidthStatistics = checkBoxGenerateLineWidthStatistics.Checked;
DialogResult = DialogResult.OK;
}
private void buttonCancel_Click(object sender, EventArgs e)
{
DialogResult = DialogResult.Cancel;
}
private void SettingsLineWidth_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Escape)
{
DialogResult = DialogResult.Cancel;
}
}
}
}

View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -104,6 +104,9 @@ https://github.com/SubtitleEdit/subtitleedit
int maximumSingleLineLength = 0;
long totalSingleLineLength = 0;
long totalSingleLines = 0;
int minimumSingleLineWidth = 99999999;
int maximumSingleLineWidth = 0;
long totalSingleLineWidth = 0;
double minimumDuration = 100000000;
double maximumDuration = 0;
double totalDuration = 0;
@ -135,6 +138,15 @@ https://github.com/SubtitleEdit/subtitleedit
minimumSingleLineLength = Math.Min(l, minimumSingleLineLength);
maximumSingleLineLength = Math.Max(l, maximumSingleLineLength);
totalSingleLineLength += l;
if (Configuration.Settings.General.GenerateLineWidthStatistics)
{
var w = GetSingleLineWidth(line);
minimumSingleLineWidth = Math.Min(w, minimumSingleLineWidth);
maximumSingleLineWidth = Math.Max(w, maximumSingleLineWidth);
totalSingleLineWidth += w;
}
totalSingleLines++;
}
}
@ -164,6 +176,15 @@ https://github.com/SubtitleEdit/subtitleedit
sb.AppendLine(string.Format(_l.SingleLineLengthMaximum, maximumSingleLineLength) + " (" + GetIndicesWithSingleLineLength(maximumSingleLineLength) + ")");
sb.AppendLine(string.Format(_l.SingleLineLengthAverage, totalSingleLineLength / totalSingleLines));
sb.AppendLine();
if (Configuration.Settings.General.GenerateLineWidthStatistics)
{
sb.AppendLine(string.Format(_l.SingleLineWidthMinimum, minimumSingleLineWidth) + " (" + GetIndicesWithSingleLineWidth(minimumSingleLineWidth) + ")");
sb.AppendLine(string.Format(_l.SingleLineWidthMaximum, maximumSingleLineWidth) + " (" + GetIndicesWithSingleLineWidth(maximumSingleLineWidth) + ")");
sb.AppendLine(string.Format(_l.SingleLineWidthAverage, totalSingleLineWidth / totalSingleLines));
sb.AppendLine();
}
sb.AppendLine(string.Format(_l.DurationMinimum, minimumDuration / TimeCode.BaseUnit) + " (" + GetIndicesWithDuration(minimumDuration) + ")");
sb.AppendLine(string.Format(_l.DurationMaximum, maximumDuration / TimeCode.BaseUnit) + " (" + GetIndicesWithDuration(maximumDuration) + ")");
sb.AppendLine(string.Format(_l.DurationAverage, totalDuration / _subtitle.Paragraphs.Count / TimeCode.BaseUnit));
@ -185,6 +206,11 @@ https://github.com/SubtitleEdit/subtitleedit
return HtmlUtil.RemoveHtmlTags(s, true).Length;
}
private static int GetSingleLineWidth(string s)
{
return TextWidth.CalcPixelWidth(HtmlUtil.RemoveHtmlTags(s, true));
}
private const int NumberOfLinesToShow = 10;
private string GetIndicesWithDuration(double duration)
@ -267,6 +293,29 @@ https://github.com/SubtitleEdit/subtitleedit
return string.Join(", ", indices);
}
private string GetIndicesWithSingleLineWidth(int width)
{
var indices = new List<string>();
for (int i = 0; i < _subtitle.Paragraphs.Count; i++)
{
var p = _subtitle.Paragraphs[i];
foreach (var line in p.Text.SplitToLines())
{
if (GetSingleLineWidth(line) == width)
{
if (indices.Count >= NumberOfLinesToShow)
{
indices.Add("...");
return string.Join(", ", indices);
}
indices.Add("#" + (i + 1).ToString(CultureInfo.InvariantCulture));
break;
}
}
}
return string.Join(", ", indices);
}
private void Statistics_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Escape)

26
src/Logic/TextWidth.cs Normal file
View File

@ -0,0 +1,26 @@
using Nikse.SubtitleEdit.Core;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Drawing;
using System.Drawing.Imaging;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Nikse.SubtitleEdit.Logic
{
class TextWidth
{
public static int CalcPixelWidth(string text)
{
if (text != "")
{
Font measureFont = new Font(Configuration.Settings.General.MeasureFontName, Configuration.Settings.General.MeasureFontSize, Configuration.Settings.General.MeasureFontBold ? FontStyle.Bold : FontStyle.Regular);
return (int) Math.Round(TextRenderer.MeasureText(text, measureFont, Size.Empty, TextFormatFlags.NoPadding).Width * 0.969f /* Correction value to remove extra padding */) + 1 /* Border */;
}
return 0;
}
}
}

View File

@ -660,6 +660,38 @@ namespace Nikse.SubtitleEdit.Logic
label.Text = sb.ToString();
}
public static void GetLinePixelWidths(Label label, string text)
{
label.ForeColor = ForeColor;
var lines = text.SplitToLines();
const int max = 3;
var sb = new StringBuilder();
for (int i = 0; i < lines.Count; i++)
{
string line = lines[i];
if (i > 0)
{
sb.Append('/');
}
if (i > max)
{
label.ForeColor = Color.Red;
sb.Append("...");
label.Text = sb.ToString();
return;
}
int lineWidth = TextWidth.CalcPixelWidth(line);
sb.Append(lineWidth);
if (lineWidth > Configuration.Settings.General.SubtitleLineMaximumPixelWidth)
{
label.ForeColor = Color.Red;
}
}
label.Text = sb.ToString();
}
public static void InitializeSubtitleFormatComboBox(ToolStripComboBox comboBox, SubtitleFormat format)
{
InitializeSubtitleFormatComboBox(comboBox.ComboBox, format);

View File

@ -725,6 +725,12 @@
<Compile Include="Forms\Settings.Designer.cs">
<DependentUpon>Settings.cs</DependentUpon>
</Compile>
<Compile Include="Forms\SettingsLineWidth.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms\SettingsLineWidth.Designer.cs">
<DependentUpon>SettingsLineWidth.cs</DependentUpon>
</Compile>
<Compile Include="Forms\SettingsMpv.cs">
<SubType>Form</SubType>
</Compile>
@ -1038,6 +1044,7 @@
<Compile Include="Logic\SpellCheck\VoikkoSpellCheck.cs" />
<Compile Include="Logic\SpellCheck\WindowsHunspell.cs" />
<Compile Include="Logic\SyncContextExtensions.cs" />
<Compile Include="Logic\TextWidth.cs" />
<Compile Include="Logic\UiEbuSaveHelper.cs" />
<Compile Include="Logic\UiGetPacEncoding.cs" />
<Compile Include="Logic\UiGetYouTubeAnnotationStyles.cs" />
@ -1397,6 +1404,9 @@
<DependentUpon>Settings.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Forms\SettingsLineWidth.resx">
<DependentUpon>SettingsLineWidth.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\SettingsMpv.resx">
<DependentUpon>SettingsMpv.cs</DependentUpon>
</EmbeddedResource>