From 79b224d348326b8e762f0f018a4da224cec3b59b Mon Sep 17 00:00:00 2001 From: niksedk Date: Wed, 20 Nov 2013 20:43:26 +0000 Subject: [PATCH] A fix for using time code HHMMSSFF git-svn-id: https://subtitleedit.googlecode.com/svn/trunk@2216 99eadd0c-20b8-1223-b5c4-2a2b2df33de2 --- src/Controls/TimeUpDown.cs | 11 ----------- src/Forms/BatchConvert.Designer.cs | 1 - src/Forms/DCinemaPropertiesSmpte.Designer.cs | 3 +-- src/Forms/DCinemaPropertiesSmpte.cs | 2 +- src/Forms/Main.Designer.cs | 3 --- src/Forms/Main.cs | 9 +++++++++ 6 files changed, 11 insertions(+), 18 deletions(-) diff --git a/src/Controls/TimeUpDown.cs b/src/Controls/TimeUpDown.cs index 5d65e6a1b..8b9d62f0f 100644 --- a/src/Controls/TimeUpDown.cs +++ b/src/Controls/TimeUpDown.cs @@ -17,21 +17,10 @@ namespace Nikse.SubtitleEdit.Controls public EventHandler TimeCodeChanged; - private TimeMode? _mode = null; public TimeMode Mode { - set - { - _mode = value; - if (Mode == TimeMode.HHMMSSMS) - maskedTextBox1.Mask = "00:00:00.000"; - else - maskedTextBox1.Mask = "00:00:00:00"; - } get { - if (_mode != null) - return _mode.Value; if (Configuration.Settings == null) return TimeMode.HHMMSSMS; if (Configuration.Settings.General.UseTimeFormatHHMMSSFF) diff --git a/src/Forms/BatchConvert.Designer.cs b/src/Forms/BatchConvert.Designer.cs index 587697ad7..c3aa8758e 100644 --- a/src/Forms/BatchConvert.Designer.cs +++ b/src/Forms/BatchConvert.Designer.cs @@ -309,7 +309,6 @@ this.timeUpDownAdjust.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; this.timeUpDownAdjust.Location = new System.Drawing.Point(7, 37); this.timeUpDownAdjust.Margin = new System.Windows.Forms.Padding(4); - this.timeUpDownAdjust.Mode = Nikse.SubtitleEdit.Controls.TimeUpDown.TimeMode.HHMMSSMS; this.timeUpDownAdjust.Name = "timeUpDownAdjust"; this.timeUpDownAdjust.Size = new System.Drawing.Size(96, 24); this.timeUpDownAdjust.TabIndex = 1; diff --git a/src/Forms/DCinemaPropertiesSmpte.Designer.cs b/src/Forms/DCinemaPropertiesSmpte.Designer.cs index 73445ff70..6c37799c6 100644 --- a/src/Forms/DCinemaPropertiesSmpte.Designer.cs +++ b/src/Forms/DCinemaPropertiesSmpte.Designer.cs @@ -547,8 +547,7 @@ this.timeUpDownStartTime.AutoSize = true; this.timeUpDownStartTime.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; this.timeUpDownStartTime.Location = new System.Drawing.Point(241, 263); - this.timeUpDownStartTime.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); - this.timeUpDownStartTime.Mode = Nikse.SubtitleEdit.Controls.TimeUpDown.TimeMode.HHMMSSMS; + this.timeUpDownStartTime.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.timeUpDownStartTime.Name = "timeUpDownStartTime"; this.timeUpDownStartTime.Size = new System.Drawing.Size(123, 27); this.timeUpDownStartTime.TabIndex = 8; diff --git a/src/Forms/DCinemaPropertiesSmpte.cs b/src/Forms/DCinemaPropertiesSmpte.cs index ecb8989e2..16e56b7ff 100644 --- a/src/Forms/DCinemaPropertiesSmpte.cs +++ b/src/Forms/DCinemaPropertiesSmpte.cs @@ -69,7 +69,7 @@ namespace Nikse.SubtitleEdit.Forms textBoxEditRate.Text = ss.CurrentDCinemaEditRate; comboBoxTimeCodeRate.Text = ss.CurrentDCinemaTimeCodeRate; - timeUpDownStartTime.Mode = SubtitleEdit.Controls.TimeUpDown.TimeMode.HHMMSSFF; + //timeUpDownStartTime.Mode = SubtitleEdit.Controls.TimeUpDown.TimeMode.HHMMSSFF; if (string.IsNullOrEmpty(ss.CurrentDCinemaStartTime)) ss.CurrentDCinemaStartTime = "00:00:00:00"; timeUpDownStartTime.MaskedTextBox.Text = ss.CurrentDCinemaStartTime; diff --git a/src/Forms/Main.Designer.cs b/src/Forms/Main.Designer.cs index baf6335f9..3c2b2a571 100644 --- a/src/Forms/Main.Designer.cs +++ b/src/Forms/Main.Designer.cs @@ -2996,7 +2996,6 @@ this.timeUpDownVideoPosition.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; this.timeUpDownVideoPosition.Location = new System.Drawing.Point(96, 191); this.timeUpDownVideoPosition.Margin = new System.Windows.Forms.Padding(4); - this.timeUpDownVideoPosition.Mode = Nikse.SubtitleEdit.Controls.TimeUpDown.TimeMode.HHMMSSMS; this.timeUpDownVideoPosition.Name = "timeUpDownVideoPosition"; this.timeUpDownVideoPosition.Size = new System.Drawing.Size(96, 25); this.timeUpDownVideoPosition.TabIndex = 12; @@ -3441,7 +3440,6 @@ this.timeUpDownVideoPositionAdjust.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; this.timeUpDownVideoPositionAdjust.Location = new System.Drawing.Point(96, 213); this.timeUpDownVideoPositionAdjust.Margin = new System.Windows.Forms.Padding(4); - this.timeUpDownVideoPositionAdjust.Mode = Nikse.SubtitleEdit.Controls.TimeUpDown.TimeMode.HHMMSSMS; this.timeUpDownVideoPositionAdjust.Name = "timeUpDownVideoPositionAdjust"; this.timeUpDownVideoPositionAdjust.Size = new System.Drawing.Size(96, 25); this.timeUpDownVideoPositionAdjust.TabIndex = 13; @@ -4088,7 +4086,6 @@ this.timeUpDownStartTime.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; this.timeUpDownStartTime.Location = new System.Drawing.Point(9, 26); this.timeUpDownStartTime.Margin = new System.Windows.Forms.Padding(4); - this.timeUpDownStartTime.Mode = Nikse.SubtitleEdit.Controls.TimeUpDown.TimeMode.HHMMSSMS; this.timeUpDownStartTime.Name = "timeUpDownStartTime"; this.timeUpDownStartTime.Size = new System.Drawing.Size(96, 25); this.timeUpDownStartTime.TabIndex = 0; diff --git a/src/Forms/Main.cs b/src/Forms/Main.cs index 7b23b787a..1a606fcae 100644 --- a/src/Forms/Main.cs +++ b/src/Forms/Main.cs @@ -246,6 +246,9 @@ namespace Nikse.SubtitleEdit.Forms { InitializeComponent(); + //if (Configuration.Settings.General.UseTimeFormatHHMMSSFF) nixe harboe + // timeUpDownStartTime.Mode = Configuration.Settings. + textBoxListViewTextAlternate.Visible = false; labelAlternateText.Visible = false; labelAlternateCharactersPerSecond.Visible = false; @@ -1235,6 +1238,12 @@ namespace Nikse.SubtitleEdit.Forms if (_subtitleAlternate != null && SubtitleListview1.IsAlternateTextColumnVisible) original = Utilities.GetOriginalParagraph(index, beforeParagraph, _subtitleAlternate.Paragraphs); + if (Configuration.Settings.General.UseTimeFormatHHMMSSFF) + { // so we don't get weird rounds we'll use whole frames when moving start time + double fr = 1000.0 / Configuration.Settings.General.CurrentFrameRate; + paragraph.StartTime.TotalMilliseconds = ((int)Math.Round(paragraph.StartTime.TotalMilliseconds / fr)) * fr; + } + timeUpDownStartTime.TimeCode = paragraph.StartTime; decimal durationInSeconds = (decimal) (paragraph.Duration.TotalSeconds); if (durationInSeconds >= numericUpDownDuration.Minimum && durationInSeconds <= numericUpDownDuration.Maximum)