From e85d51d95d047bfee7355661fcc9d60927459f26 Mon Sep 17 00:00:00 2001 From: Nikolaj Olsson Date: Sun, 21 Apr 2024 14:20:10 +0200 Subject: [PATCH] Add outpt file settings - thx David/Leon :) Work #8210 --- src/libse/Common/Settings.cs | 25 + .../GenerateVideoWithHardSubs.Designer.cs | 1000 ++++++++--------- src/ui/Forms/GenerateVideoWithHardSubs.cs | 25 +- ...nerateVideoWithHardSubsOutFile.Designer.cs | 183 +++ .../Forms/GenerateVideoWithHardSubsOutFile.cs | 130 +++ .../GenerateVideoWithHardSubsOutFile.resx | 123 ++ src/ui/SubtitleEdit.csproj | 9 + 7 files changed, 984 insertions(+), 511 deletions(-) create mode 100644 src/ui/Forms/GenerateVideoWithHardSubsOutFile.Designer.cs create mode 100644 src/ui/Forms/GenerateVideoWithHardSubsOutFile.cs create mode 100644 src/ui/Forms/GenerateVideoWithHardSubsOutFile.resx diff --git a/src/libse/Common/Settings.cs b/src/libse/Common/Settings.cs index a6d6ac868..480f57244 100644 --- a/src/libse/Common/Settings.cs +++ b/src/libse/Common/Settings.cs @@ -481,6 +481,9 @@ namespace Nikse.SubtitleEdit.Core.Common public string GenVideoEmbedOutputSuffix { get; set; } public string GenVideoEmbedOutputReplace { get; set; } public bool GenVideoDeleteInputVideoFile { get; set; } + public bool GenVideoUseOutputFolder { get; set; } + public string GenVideoOutputFolder { get; set; } + public string GenVideoOutputFileSuffix { get; set; } public bool VoskPostProcessing { get; set; } public string VoskModel { get; set; } @@ -734,6 +737,7 @@ namespace Nikse.SubtitleEdit.Core.Common GenVideoNonAssaTextColor = Color.White; GenVideoEmbedOutputSuffix = "embed"; GenVideoEmbedOutputReplace = "embed" + Environment.NewLine + "SoftSub" + Environment.NewLine + "SoftSubbed"; + GenVideoOutputFileSuffix = "_new"; VoskPostProcessing = true; WhisperChoice = Configuration.IsRunningOnWindows ? AudioToText.WhisperChoice.PurfviewFasterWhisper : AudioToText.WhisperChoice.OpenAi; WhisperDeleteTempFiles = true; @@ -7183,6 +7187,24 @@ $HorzAlign = Center settings.Tools.GenVideoDeleteInputVideoFile = Convert.ToBoolean(subNode.InnerText, CultureInfo.InvariantCulture); } + subNode = node.SelectSingleNode("GenVideoUseOutputFolder"); + if (subNode != null) + { + settings.Tools.GenVideoUseOutputFolder = Convert.ToBoolean(subNode.InnerText, CultureInfo.InvariantCulture); + } + + subNode = node.SelectSingleNode("GenVideoOutputFolder"); + if (subNode != null) + { + settings.Tools.GenVideoOutputFolder = subNode.InnerText; + } + + subNode = node.SelectSingleNode("GenVideoOutputFileSuffix"); + if (subNode != null) + { + settings.Tools.GenVideoOutputFileSuffix = subNode.InnerText; + } + subNode = node.SelectSingleNode("VoskPostProcessing"); if (subNode != null) @@ -12283,6 +12305,9 @@ $HorzAlign = Center textWriter.WriteElementString("GenVideoEmbedOutputSuffix", settings.Tools.GenVideoEmbedOutputSuffix); textWriter.WriteElementString("GenVideoEmbedOutputReplace", settings.Tools.GenVideoEmbedOutputReplace); textWriter.WriteElementString("GenVideoDeleteInputVideoFile", settings.Tools.GenVideoDeleteInputVideoFile.ToString(CultureInfo.InvariantCulture)); + textWriter.WriteElementString("GenVideoUseOutputFolder", settings.Tools.GenVideoUseOutputFolder.ToString(CultureInfo.InvariantCulture)); + textWriter.WriteElementString("GenVideoOutputFileSuffix", settings.Tools.GenVideoOutputFolder); + textWriter.WriteElementString("GenVideoOutputFileSuffix", settings.Tools.GenVideoOutputFileSuffix); textWriter.WriteElementString("VoskPostProcessing", settings.Tools.VoskPostProcessing.ToString(CultureInfo.InvariantCulture)); textWriter.WriteElementString("VoskModel", settings.Tools.VoskModel); textWriter.WriteElementString("WhisperChoice", settings.Tools.WhisperChoice); diff --git a/src/ui/Forms/GenerateVideoWithHardSubs.Designer.cs b/src/ui/Forms/GenerateVideoWithHardSubs.Designer.cs index 6d768312e..9645427b6 100644 --- a/src/ui/Forms/GenerateVideoWithHardSubs.Designer.cs +++ b/src/ui/Forms/GenerateVideoWithHardSubs.Designer.cs @@ -44,20 +44,57 @@ namespace Nikse.SubtitleEdit.Forms this.buttonAddFile = new System.Windows.Forms.Button(); this.panelOutlineColor = new System.Windows.Forms.Panel(); this.buttonOutlineColor = new System.Windows.Forms.Button(); + this.videoPlayerContainer1 = new Nikse.SubtitleEdit.Controls.VideoPlayerContainer(); this.groupBoxCut = new System.Windows.Forms.GroupBox(); this.buttonCutTo = new System.Windows.Forms.Button(); this.buttonCutFrom = new System.Windows.Forms.Button(); + this.numericUpDownCutToSeconds = new Nikse.SubtitleEdit.Controls.NikseUpDown(); + this.numericUpDownCutToMinutes = new Nikse.SubtitleEdit.Controls.NikseUpDown(); + this.numericUpDownCutToHours = new Nikse.SubtitleEdit.Controls.NikseUpDown(); + this.numericUpDownCutFromSeconds = new Nikse.SubtitleEdit.Controls.NikseUpDown(); + this.numericUpDownCutFromMinutes = new Nikse.SubtitleEdit.Controls.NikseUpDown(); + this.numericUpDownCutFromHours = new Nikse.SubtitleEdit.Controls.NikseUpDown(); + this.labelCutTo = new Nikse.SubtitleEdit.Controls.NikseLabel(); + this.labelCutFrom = new Nikse.SubtitleEdit.Controls.NikseLabel(); this.checkBoxCut = new System.Windows.Forms.CheckBox(); + this.labelVideoBitrate = new Nikse.SubtitleEdit.Controls.NikseLabel(); this.checkBoxBox = new System.Windows.Forms.CheckBox(); this.checkBoxAlignRight = new System.Windows.Forms.CheckBox(); + this.labelInfo = new Nikse.SubtitleEdit.Controls.NikseLabel(); this.checkBoxRightToLeft = new System.Windows.Forms.CheckBox(); + this.comboBoxSubtitleFont = new Nikse.SubtitleEdit.Controls.NikseComboBox(); + this.labelSubtitleFont = new Nikse.SubtitleEdit.Controls.NikseLabel(); this.groupBoxVideo = new System.Windows.Forms.GroupBox(); + this.labelCrfHint = new Nikse.SubtitleEdit.Controls.NikseLabel(); this.buttonVideoChooseStandardRes = new System.Windows.Forms.Button(); + this.labelResolution = new Nikse.SubtitleEdit.Controls.NikseLabel(); + this.numericUpDownWidth = new Nikse.SubtitleEdit.Controls.NikseUpDown(); + this.numericUpDownHeight = new Nikse.SubtitleEdit.Controls.NikseUpDown(); + this.labelX = new Nikse.SubtitleEdit.Controls.NikseLabel(); + this.labelPreset = new Nikse.SubtitleEdit.Controls.NikseLabel(); + this.comboBoxTune = new Nikse.SubtitleEdit.Controls.NikseComboBox(); + this.comboBoxPreset = new Nikse.SubtitleEdit.Controls.NikseComboBox(); + this.labelTune = new Nikse.SubtitleEdit.Controls.NikseLabel(); + this.labelCRF = new Nikse.SubtitleEdit.Controls.NikseLabel(); + this.comboBoxVideoEncoding = new Nikse.SubtitleEdit.Controls.NikseComboBox(); + this.comboBoxCrf = new Nikse.SubtitleEdit.Controls.NikseComboBox(); + this.labelVideoEncoding = new Nikse.SubtitleEdit.Controls.NikseLabel(); this.groupBoxAudio = new System.Windows.Forms.GroupBox(); this.listViewAudioTracks = new System.Windows.Forms.ListView(); this.columnHeaderAudioTrack = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.labelAudioEnc = new Nikse.SubtitleEdit.Controls.NikseLabel(); + this.comboBoxAudioBitRate = new Nikse.SubtitleEdit.Controls.NikseComboBox(); + this.comboBoxAudioEnc = new Nikse.SubtitleEdit.Controls.NikseComboBox(); + this.labelAudioBitRate = new Nikse.SubtitleEdit.Controls.NikseLabel(); this.checkBoxMakeStereo = new System.Windows.Forms.CheckBox(); + this.labelAudioSampleRate = new Nikse.SubtitleEdit.Controls.NikseLabel(); + this.comboBoxAudioSampleRate = new Nikse.SubtitleEdit.Controls.NikseComboBox(); + this.numericUpDownTargetFileSize = new Nikse.SubtitleEdit.Controls.NikseUpDown(); + this.labelFileSize = new Nikse.SubtitleEdit.Controls.NikseLabel(); this.checkBoxTargetFileSize = new System.Windows.Forms.CheckBox(); + this.labelFileName = new Nikse.SubtitleEdit.Controls.NikseLabel(); + this.numericUpDownFontSize = new Nikse.SubtitleEdit.Controls.NikseUpDown(); + this.labelFontSize = new Nikse.SubtitleEdit.Controls.NikseLabel(); this.listViewBatch = new System.Windows.Forms.ListView(); this.columnHeaderVideoFile = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.columnHeaderResolution = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); @@ -75,6 +112,7 @@ namespace Nikse.SubtitleEdit.Forms this.buttonPreview = new System.Windows.Forms.Button(); this.linkLabelHelp = new System.Windows.Forms.LinkLabel(); this.contextMenuStripRes = new System.Windows.Forms.ContextMenuStrip(this.components); + this.useSourceResoluton0x0ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.x2160ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.uHD3840x2160ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.k2048x1080ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -90,51 +128,12 @@ namespace Nikse.SubtitleEdit.Forms this.x352ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.x272ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.buttonMode = new System.Windows.Forms.Button(); - this.useSourceResoluton0x0ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.labelPreviewPleaseWait = new Nikse.SubtitleEdit.Controls.NikseLabel(); - this.videoPlayerContainer1 = new Nikse.SubtitleEdit.Controls.VideoPlayerContainer(); - this.numericUpDownCutToSeconds = new Nikse.SubtitleEdit.Controls.NikseUpDown(); - this.numericUpDownCutToMinutes = new Nikse.SubtitleEdit.Controls.NikseUpDown(); - this.numericUpDownCutToHours = new Nikse.SubtitleEdit.Controls.NikseUpDown(); - this.numericUpDownCutFromSeconds = new Nikse.SubtitleEdit.Controls.NikseUpDown(); - this.numericUpDownCutFromMinutes = new Nikse.SubtitleEdit.Controls.NikseUpDown(); - this.numericUpDownCutFromHours = new Nikse.SubtitleEdit.Controls.NikseUpDown(); - this.labelCutTo = new Nikse.SubtitleEdit.Controls.NikseLabel(); - this.labelCutFrom = new Nikse.SubtitleEdit.Controls.NikseLabel(); - this.labelVideoBitrate = new Nikse.SubtitleEdit.Controls.NikseLabel(); - this.labelInfo = new Nikse.SubtitleEdit.Controls.NikseLabel(); - this.comboBoxSubtitleFont = new Nikse.SubtitleEdit.Controls.NikseComboBox(); - this.labelSubtitleFont = new Nikse.SubtitleEdit.Controls.NikseLabel(); - this.labelCrfHint = new Nikse.SubtitleEdit.Controls.NikseLabel(); - this.labelResolution = new Nikse.SubtitleEdit.Controls.NikseLabel(); - this.numericUpDownWidth = new Nikse.SubtitleEdit.Controls.NikseUpDown(); - this.numericUpDownHeight = new Nikse.SubtitleEdit.Controls.NikseUpDown(); - this.labelX = new Nikse.SubtitleEdit.Controls.NikseLabel(); - this.labelPreset = new Nikse.SubtitleEdit.Controls.NikseLabel(); - this.comboBoxTune = new Nikse.SubtitleEdit.Controls.NikseComboBox(); - this.comboBoxPreset = new Nikse.SubtitleEdit.Controls.NikseComboBox(); - this.labelTune = new Nikse.SubtitleEdit.Controls.NikseLabel(); - this.labelCRF = new Nikse.SubtitleEdit.Controls.NikseLabel(); - this.comboBoxVideoEncoding = new Nikse.SubtitleEdit.Controls.NikseComboBox(); - this.comboBoxCrf = new Nikse.SubtitleEdit.Controls.NikseComboBox(); - this.labelVideoEncoding = new Nikse.SubtitleEdit.Controls.NikseLabel(); - this.labelAudioEnc = new Nikse.SubtitleEdit.Controls.NikseLabel(); - this.comboBoxAudioBitRate = new Nikse.SubtitleEdit.Controls.NikseComboBox(); - this.comboBoxAudioEnc = new Nikse.SubtitleEdit.Controls.NikseComboBox(); - this.labelAudioBitRate = new Nikse.SubtitleEdit.Controls.NikseLabel(); - this.labelAudioSampleRate = new Nikse.SubtitleEdit.Controls.NikseLabel(); - this.comboBoxAudioSampleRate = new Nikse.SubtitleEdit.Controls.NikseComboBox(); - this.numericUpDownTargetFileSize = new Nikse.SubtitleEdit.Controls.NikseUpDown(); - this.labelFileSize = new Nikse.SubtitleEdit.Controls.NikseLabel(); - this.labelFileName = new Nikse.SubtitleEdit.Controls.NikseLabel(); - this.numericUpDownFontSize = new Nikse.SubtitleEdit.Controls.NikseUpDown(); - this.labelFontSize = new Nikse.SubtitleEdit.Controls.NikseLabel(); this.labelPass = new Nikse.SubtitleEdit.Controls.NikseLabel(); this.labelProgress = new Nikse.SubtitleEdit.Controls.NikseLabel(); this.labelPleaseWait = new Nikse.SubtitleEdit.Controls.NikseLabel(); this.textBoxLog = new Nikse.SubtitleEdit.Controls.NikseTextBox(); - this.nikseLabelSuffix = new Nikse.SubtitleEdit.Controls.NikseLabel(); - this.nikseTextBoxSuffix = new Nikse.SubtitleEdit.Controls.NikseTextBox(); + this.buttonOutputFileSettings = new System.Windows.Forms.Button(); this.contextMenuStripGenerate.SuspendLayout(); this.groupBoxSettings.SuspendLayout(); this.groupBoxCut.SuspendLayout(); @@ -204,8 +203,7 @@ namespace Nikse.SubtitleEdit.Forms this.groupBoxSettings.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.groupBoxSettings.Controls.Add(this.nikseTextBoxSuffix); - this.groupBoxSettings.Controls.Add(this.nikseLabelSuffix); + this.groupBoxSettings.Controls.Add(this.buttonOutputFileSettings); this.groupBoxSettings.Controls.Add(this.buttonClear); this.groupBoxSettings.Controls.Add(this.panelForeColor); this.groupBoxSettings.Controls.Add(this.buttonRemoveFile); @@ -309,6 +307,31 @@ namespace Nikse.SubtitleEdit.Forms this.buttonOutlineColor.UseVisualStyleBackColor = true; this.buttonOutlineColor.Click += new System.EventHandler(this.buttonOutlineColor_Click); // + // videoPlayerContainer1 + // + this.videoPlayerContainer1.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.videoPlayerContainer1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(18)))), ((int)(((byte)(18)))), ((int)(((byte)(18))))); + this.videoPlayerContainer1.Chapters = null; + this.videoPlayerContainer1.CurrentPosition = 0D; + this.videoPlayerContainer1.FontSizeFactor = 1F; + this.videoPlayerContainer1.LastParagraph = null; + this.videoPlayerContainer1.Location = new System.Drawing.Point(430, 313); + this.videoPlayerContainer1.Name = "videoPlayerContainer1"; + this.videoPlayerContainer1.ShowFullscreenButton = true; + this.videoPlayerContainer1.ShowMuteButton = true; + this.videoPlayerContainer1.ShowStopButton = true; + this.videoPlayerContainer1.Size = new System.Drawing.Size(431, 226); + this.videoPlayerContainer1.SubtitleText = ""; + this.videoPlayerContainer1.TabIndex = 110; + this.videoPlayerContainer1.TextRightToLeft = System.Windows.Forms.RightToLeft.No; + this.videoPlayerContainer1.UsingFrontCenterAudioChannelOnly = false; + this.videoPlayerContainer1.VideoHeight = 0; + this.videoPlayerContainer1.VideoPlayer = null; + this.videoPlayerContainer1.VideoWidth = 0; + this.videoPlayerContainer1.Volume = 0D; + // // groupBoxCut // this.groupBoxCut.Controls.Add(this.buttonCutTo); @@ -348,451 +371,6 @@ namespace Nikse.SubtitleEdit.Forms this.buttonCutFrom.UseVisualStyleBackColor = true; this.buttonCutFrom.Click += new System.EventHandler(this.buttonCutFrom_Click); // - // checkBoxCut - // - this.checkBoxCut.AutoSize = true; - this.checkBoxCut.Location = new System.Drawing.Point(12, 36); - this.checkBoxCut.Name = "checkBoxCut"; - this.checkBoxCut.Size = new System.Drawing.Size(42, 17); - this.checkBoxCut.TabIndex = 0; - this.checkBoxCut.Text = "Cut"; - this.checkBoxCut.UseVisualStyleBackColor = true; - this.checkBoxCut.CheckedChanged += new System.EventHandler(this.checkBoxCut_CheckedChanged); - // - // checkBoxBox - // - this.checkBoxBox.AutoSize = true; - this.checkBoxBox.Location = new System.Drawing.Point(226, 27); - this.checkBoxBox.Name = "checkBoxBox"; - this.checkBoxBox.Size = new System.Drawing.Size(44, 17); - this.checkBoxBox.TabIndex = 2; - this.checkBoxBox.Text = "Box"; - this.checkBoxBox.UseVisualStyleBackColor = true; - this.checkBoxBox.CheckedChanged += new System.EventHandler(this.checkBoxBox_CheckedChanged); - // - // checkBoxAlignRight - // - this.checkBoxAlignRight.AutoSize = true; - this.checkBoxAlignRight.Location = new System.Drawing.Point(217, 114); - this.checkBoxAlignRight.Name = "checkBoxAlignRight"; - this.checkBoxAlignRight.Size = new System.Drawing.Size(72, 17); - this.checkBoxAlignRight.TabIndex = 10; - this.checkBoxAlignRight.Text = "Align right"; - this.checkBoxAlignRight.UseVisualStyleBackColor = true; - this.checkBoxAlignRight.CheckedChanged += new System.EventHandler(this.checkBoxAlignRight_CheckedChanged); - // - // checkBoxRightToLeft - // - this.checkBoxRightToLeft.AutoSize = true; - this.checkBoxRightToLeft.Location = new System.Drawing.Point(120, 114); - this.checkBoxRightToLeft.Name = "checkBoxRightToLeft"; - this.checkBoxRightToLeft.Size = new System.Drawing.Size(80, 17); - this.checkBoxRightToLeft.TabIndex = 9; - this.checkBoxRightToLeft.Text = "Right to left"; - this.checkBoxRightToLeft.UseVisualStyleBackColor = true; - this.checkBoxRightToLeft.CheckedChanged += new System.EventHandler(this.checkBoxRightToLeft_CheckedChanged); - // - // groupBoxVideo - // - this.groupBoxVideo.Controls.Add(this.labelCrfHint); - this.groupBoxVideo.Controls.Add(this.buttonVideoChooseStandardRes); - this.groupBoxVideo.Controls.Add(this.labelResolution); - this.groupBoxVideo.Controls.Add(this.numericUpDownWidth); - this.groupBoxVideo.Controls.Add(this.numericUpDownHeight); - this.groupBoxVideo.Controls.Add(this.labelX); - this.groupBoxVideo.Controls.Add(this.labelPreset); - this.groupBoxVideo.Controls.Add(this.comboBoxTune); - this.groupBoxVideo.Controls.Add(this.comboBoxPreset); - this.groupBoxVideo.Controls.Add(this.labelTune); - this.groupBoxVideo.Controls.Add(this.labelCRF); - this.groupBoxVideo.Controls.Add(this.comboBoxVideoEncoding); - this.groupBoxVideo.Controls.Add(this.comboBoxCrf); - this.groupBoxVideo.Controls.Add(this.labelVideoEncoding); - this.groupBoxVideo.Location = new System.Drawing.Point(6, 141); - this.groupBoxVideo.Name = "groupBoxVideo"; - this.groupBoxVideo.Size = new System.Drawing.Size(406, 166); - this.groupBoxVideo.TabIndex = 70; - this.groupBoxVideo.TabStop = false; - this.groupBoxVideo.Text = "Video"; - // - // buttonVideoChooseStandardRes - // - this.buttonVideoChooseStandardRes.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.buttonVideoChooseStandardRes.Location = new System.Drawing.Point(257, 15); - this.buttonVideoChooseStandardRes.Name = "buttonVideoChooseStandardRes"; - this.buttonVideoChooseStandardRes.Size = new System.Drawing.Size(69, 23); - this.buttonVideoChooseStandardRes.TabIndex = 3; - this.buttonVideoChooseStandardRes.Text = "..."; - this.buttonVideoChooseStandardRes.UseVisualStyleBackColor = true; - this.buttonVideoChooseStandardRes.Click += new System.EventHandler(this.buttonVideoChooseStandardRes_Click); - // - // groupBoxAudio - // - this.groupBoxAudio.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.groupBoxAudio.Controls.Add(this.listViewAudioTracks); - this.groupBoxAudio.Controls.Add(this.labelAudioEnc); - this.groupBoxAudio.Controls.Add(this.comboBoxAudioBitRate); - this.groupBoxAudio.Controls.Add(this.comboBoxAudioEnc); - this.groupBoxAudio.Controls.Add(this.labelAudioBitRate); - this.groupBoxAudio.Controls.Add(this.checkBoxMakeStereo); - this.groupBoxAudio.Controls.Add(this.labelAudioSampleRate); - this.groupBoxAudio.Controls.Add(this.comboBoxAudioSampleRate); - this.groupBoxAudio.Location = new System.Drawing.Point(430, 141); - this.groupBoxAudio.Name = "groupBoxAudio"; - this.groupBoxAudio.Size = new System.Drawing.Size(425, 166); - this.groupBoxAudio.TabIndex = 90; - this.groupBoxAudio.TabStop = false; - this.groupBoxAudio.Text = "Audio"; - // - // listViewAudioTracks - // - this.listViewAudioTracks.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.listViewAudioTracks.CheckBoxes = true; - this.listViewAudioTracks.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { - this.columnHeaderAudioTrack}); - this.listViewAudioTracks.HideSelection = false; - this.listViewAudioTracks.Location = new System.Drawing.Point(229, 29); - this.listViewAudioTracks.Name = "listViewAudioTracks"; - this.listViewAudioTracks.Size = new System.Drawing.Size(190, 122); - this.listViewAudioTracks.TabIndex = 45; - this.listViewAudioTracks.UseCompatibleStateImageBehavior = false; - this.listViewAudioTracks.View = System.Windows.Forms.View.Details; - // - // columnHeaderAudioTrack - // - this.columnHeaderAudioTrack.Text = "Audio tracks"; - this.columnHeaderAudioTrack.Width = 160; - // - // checkBoxMakeStereo - // - this.checkBoxMakeStereo.AutoSize = true; - this.checkBoxMakeStereo.Checked = true; - this.checkBoxMakeStereo.CheckState = System.Windows.Forms.CheckState.Checked; - this.checkBoxMakeStereo.Location = new System.Drawing.Point(91, 58); - this.checkBoxMakeStereo.Name = "checkBoxMakeStereo"; - this.checkBoxMakeStereo.Size = new System.Drawing.Size(57, 17); - this.checkBoxMakeStereo.TabIndex = 2; - this.checkBoxMakeStereo.Text = "Stereo"; - this.checkBoxMakeStereo.UseVisualStyleBackColor = true; - // - // checkBoxTargetFileSize - // - this.checkBoxTargetFileSize.AutoSize = true; - this.checkBoxTargetFileSize.Location = new System.Drawing.Point(22, 327); - this.checkBoxTargetFileSize.Name = "checkBoxTargetFileSize"; - this.checkBoxTargetFileSize.Size = new System.Drawing.Size(192, 17); - this.checkBoxTargetFileSize.TabIndex = 100; - this.checkBoxTargetFileSize.Text = "Target file size (two pass encoding)"; - this.checkBoxTargetFileSize.UseVisualStyleBackColor = true; - this.checkBoxTargetFileSize.CheckedChanged += new System.EventHandler(this.checkBoxTargetFileSize_CheckedChanged); - // - // listViewBatch - // - this.listViewBatch.AllowDrop = true; - this.listViewBatch.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.listViewBatch.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { - this.columnHeaderVideoFile, - this.columnHeaderResolution, - this.columnHeaderSize, - this.columnHeaderSubtitleFile, - this.columnHeaderStatus}); - this.listViewBatch.ContextMenuStrip = this.contextMenuStripBatch; - this.listViewBatch.FullRowSelect = true; - this.listViewBatch.HideSelection = false; - this.listViewBatch.Location = new System.Drawing.Point(6, 316); - this.listViewBatch.Name = "listViewBatch"; - this.listViewBatch.Size = new System.Drawing.Size(852, 191); - this.listViewBatch.TabIndex = 3; - this.listViewBatch.UseCompatibleStateImageBehavior = false; - this.listViewBatch.View = System.Windows.Forms.View.Details; - this.listViewBatch.DragDrop += new System.Windows.Forms.DragEventHandler(this.listViewBatch_DragDrop); - this.listViewBatch.DragEnter += new System.Windows.Forms.DragEventHandler(this.listViewBatch_DragEnter); - this.listViewBatch.KeyDown += new System.Windows.Forms.KeyEventHandler(this.listViewBatch_KeyDown); - // - // columnHeaderVideoFile - // - this.columnHeaderVideoFile.Text = "Video file"; - this.columnHeaderVideoFile.Width = 420; - // - // columnHeaderResolution - // - this.columnHeaderResolution.Text = "Resolution"; - this.columnHeaderResolution.Width = 80; - // - // columnHeaderSize - // - this.columnHeaderSize.Text = "Size"; - this.columnHeaderSize.Width = 80; - // - // columnHeaderSubtitleFile - // - this.columnHeaderSubtitleFile.Text = "Subtitle file"; - this.columnHeaderSubtitleFile.Width = 180; - // - // columnHeaderStatus - // - this.columnHeaderStatus.Text = "Status"; - this.columnHeaderStatus.Width = 80; - // - // contextMenuStripBatch - // - this.contextMenuStripBatch.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.addFilesToolStripMenuItem, - this.toolStripSeparator2, - this.pickSubtitleFileToolStripMenuItem, - this.removeSubtitleFileToolStripMenuItem, - this.toolStripSeparator1, - this.deleteToolStripMenuItem, - this.clearToolStripMenuItem}); - this.contextMenuStripBatch.Name = "contextMenuStripBatch"; - this.contextMenuStripBatch.Size = new System.Drawing.Size(179, 126); - this.contextMenuStripBatch.Opening += new System.ComponentModel.CancelEventHandler(this.contextMenuStripBatch_Opening); - // - // addFilesToolStripMenuItem - // - this.addFilesToolStripMenuItem.Name = "addFilesToolStripMenuItem"; - this.addFilesToolStripMenuItem.Size = new System.Drawing.Size(178, 22); - this.addFilesToolStripMenuItem.Text = "Add video files..."; - this.addFilesToolStripMenuItem.Click += new System.EventHandler(this.addFilesToolStripMenuItem_Click); - // - // toolStripSeparator2 - // - this.toolStripSeparator2.Name = "toolStripSeparator2"; - this.toolStripSeparator2.Size = new System.Drawing.Size(175, 6); - // - // pickSubtitleFileToolStripMenuItem - // - this.pickSubtitleFileToolStripMenuItem.Name = "pickSubtitleFileToolStripMenuItem"; - this.pickSubtitleFileToolStripMenuItem.Size = new System.Drawing.Size(178, 22); - this.pickSubtitleFileToolStripMenuItem.Text = "Pick subtitle file..."; - this.pickSubtitleFileToolStripMenuItem.Click += new System.EventHandler(this.pickSubtitleFileToolStripMenuItem_Click); - // - // removeSubtitleFileToolStripMenuItem - // - this.removeSubtitleFileToolStripMenuItem.Name = "removeSubtitleFileToolStripMenuItem"; - this.removeSubtitleFileToolStripMenuItem.Size = new System.Drawing.Size(178, 22); - this.removeSubtitleFileToolStripMenuItem.Text = "Remove subtitle file"; - this.removeSubtitleFileToolStripMenuItem.Click += new System.EventHandler(this.removeSubtitleFileToolStripMenuItem_Click); - // - // toolStripSeparator1 - // - this.toolStripSeparator1.Name = "toolStripSeparator1"; - this.toolStripSeparator1.Size = new System.Drawing.Size(175, 6); - // - // deleteToolStripMenuItem - // - this.deleteToolStripMenuItem.Name = "deleteToolStripMenuItem"; - this.deleteToolStripMenuItem.Size = new System.Drawing.Size(178, 22); - this.deleteToolStripMenuItem.Text = "Delete"; - this.deleteToolStripMenuItem.Click += new System.EventHandler(this.deleteToolStripMenuItem_Click); - // - // clearToolStripMenuItem - // - this.clearToolStripMenuItem.Name = "clearToolStripMenuItem"; - this.clearToolStripMenuItem.Size = new System.Drawing.Size(178, 22); - this.clearToolStripMenuItem.Text = "Clear"; - this.clearToolStripMenuItem.Click += new System.EventHandler(this.clearToolStripMenuItem_Click); - // - // buttonPreview - // - this.buttonPreview.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.buttonPreview.Location = new System.Drawing.Point(621, 586); - this.buttonPreview.Name = "buttonPreview"; - this.buttonPreview.Size = new System.Drawing.Size(121, 23); - this.buttonPreview.TabIndex = 130; - this.buttonPreview.Text = "Preview"; - this.buttonPreview.UseVisualStyleBackColor = true; - this.buttonPreview.Click += new System.EventHandler(this.buttonPreview_Click); - // - // linkLabelHelp - // - this.linkLabelHelp.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.linkLabelHelp.AutoSize = true; - this.linkLabelHelp.Location = new System.Drawing.Point(844, 563); - this.linkLabelHelp.Name = "linkLabelHelp"; - this.linkLabelHelp.Size = new System.Drawing.Size(29, 13); - this.linkLabelHelp.TabIndex = 120; - this.linkLabelHelp.TabStop = true; - this.linkLabelHelp.Text = "Help"; - this.linkLabelHelp.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabelHelp_LinkClicked); - // - // contextMenuStripRes - // - this.contextMenuStripRes.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.useSourceResoluton0x0ToolStripMenuItem, - this.x2160ToolStripMenuItem, - this.uHD3840x2160ToolStripMenuItem, - this.k2048x1080ToolStripMenuItem, - this.dCI2KScope2048x858ToolStripMenuItem, - this.dCI2KFlat1998x1080ToolStripMenuItem, - this.p1920x1080ToolStripMenuItem, - this.x1080ToolStripMenuItem, - this.p1280x720ToolStripMenuItem, - this.x720ToolStripMenuItem, - this.p848x480ToolStripMenuItem, - this.pAL720x576ToolStripMenuItem, - this.nTSC720x480ToolStripMenuItem, - this.x352ToolStripMenuItem, - this.x272ToolStripMenuItem}); - this.contextMenuStripRes.Name = "contextMenuStripRes"; - this.contextMenuStripRes.Size = new System.Drawing.Size(214, 334); - // - // x2160ToolStripMenuItem - // - this.x2160ToolStripMenuItem.Name = "x2160ToolStripMenuItem"; - this.x2160ToolStripMenuItem.Size = new System.Drawing.Size(213, 22); - this.x2160ToolStripMenuItem.Text = "4K (4096x2160)"; - this.x2160ToolStripMenuItem.Click += new System.EventHandler(this.ResolutionPickClick); - // - // uHD3840x2160ToolStripMenuItem - // - this.uHD3840x2160ToolStripMenuItem.Name = "uHD3840x2160ToolStripMenuItem"; - this.uHD3840x2160ToolStripMenuItem.Size = new System.Drawing.Size(213, 22); - this.uHD3840x2160ToolStripMenuItem.Text = "UHD (3840x2160)"; - this.uHD3840x2160ToolStripMenuItem.Click += new System.EventHandler(this.ResolutionPickClick); - // - // k2048x1080ToolStripMenuItem - // - this.k2048x1080ToolStripMenuItem.Name = "k2048x1080ToolStripMenuItem"; - this.k2048x1080ToolStripMenuItem.Size = new System.Drawing.Size(213, 22); - this.k2048x1080ToolStripMenuItem.Text = "2K (2048x1080)"; - this.k2048x1080ToolStripMenuItem.Click += new System.EventHandler(this.ResolutionPickClick); - // - // dCI2KScope2048x858ToolStripMenuItem - // - this.dCI2KScope2048x858ToolStripMenuItem.Name = "dCI2KScope2048x858ToolStripMenuItem"; - this.dCI2KScope2048x858ToolStripMenuItem.Size = new System.Drawing.Size(213, 22); - this.dCI2KScope2048x858ToolStripMenuItem.Text = "DCI 2K Scope (2048x858)"; - this.dCI2KScope2048x858ToolStripMenuItem.Click += new System.EventHandler(this.ResolutionPickClick); - // - // dCI2KFlat1998x1080ToolStripMenuItem - // - this.dCI2KFlat1998x1080ToolStripMenuItem.Name = "dCI2KFlat1998x1080ToolStripMenuItem"; - this.dCI2KFlat1998x1080ToolStripMenuItem.Size = new System.Drawing.Size(213, 22); - this.dCI2KFlat1998x1080ToolStripMenuItem.Text = "DCI 2K Flat (1998x1080)"; - this.dCI2KFlat1998x1080ToolStripMenuItem.Click += new System.EventHandler(this.ResolutionPickClick); - // - // p1920x1080ToolStripMenuItem - // - this.p1920x1080ToolStripMenuItem.Name = "p1920x1080ToolStripMenuItem"; - this.p1920x1080ToolStripMenuItem.Size = new System.Drawing.Size(213, 22); - this.p1920x1080ToolStripMenuItem.Text = "1080p (1920x1080)"; - this.p1920x1080ToolStripMenuItem.Click += new System.EventHandler(this.ResolutionPickClick); - // - // x1080ToolStripMenuItem - // - this.x1080ToolStripMenuItem.Name = "x1080ToolStripMenuItem"; - this.x1080ToolStripMenuItem.Size = new System.Drawing.Size(213, 22); - this.x1080ToolStripMenuItem.Text = "1440x1080"; - this.x1080ToolStripMenuItem.Click += new System.EventHandler(this.ResolutionPickClick); - // - // p1280x720ToolStripMenuItem - // - this.p1280x720ToolStripMenuItem.Name = "p1280x720ToolStripMenuItem"; - this.p1280x720ToolStripMenuItem.Size = new System.Drawing.Size(213, 22); - this.p1280x720ToolStripMenuItem.Text = "720p (1280x720)"; - this.p1280x720ToolStripMenuItem.Click += new System.EventHandler(this.ResolutionPickClick); - // - // x720ToolStripMenuItem - // - this.x720ToolStripMenuItem.Name = "x720ToolStripMenuItem"; - this.x720ToolStripMenuItem.Size = new System.Drawing.Size(213, 22); - this.x720ToolStripMenuItem.Text = "960x720"; - this.x720ToolStripMenuItem.Click += new System.EventHandler(this.ResolutionPickClick); - // - // p848x480ToolStripMenuItem - // - this.p848x480ToolStripMenuItem.Name = "p848x480ToolStripMenuItem"; - this.p848x480ToolStripMenuItem.Size = new System.Drawing.Size(213, 22); - this.p848x480ToolStripMenuItem.Text = "480p (848x480)"; - this.p848x480ToolStripMenuItem.Click += new System.EventHandler(this.ResolutionPickClick); - // - // pAL720x576ToolStripMenuItem - // - this.pAL720x576ToolStripMenuItem.Name = "pAL720x576ToolStripMenuItem"; - this.pAL720x576ToolStripMenuItem.Size = new System.Drawing.Size(213, 22); - this.pAL720x576ToolStripMenuItem.Text = "PAL (720x576)"; - this.pAL720x576ToolStripMenuItem.Click += new System.EventHandler(this.ResolutionPickClick); - // - // nTSC720x480ToolStripMenuItem - // - this.nTSC720x480ToolStripMenuItem.Name = "nTSC720x480ToolStripMenuItem"; - this.nTSC720x480ToolStripMenuItem.Size = new System.Drawing.Size(213, 22); - this.nTSC720x480ToolStripMenuItem.Text = "NTSC (720x480)"; - this.nTSC720x480ToolStripMenuItem.Click += new System.EventHandler(this.ResolutionPickClick); - // - // x352ToolStripMenuItem - // - this.x352ToolStripMenuItem.Name = "x352ToolStripMenuItem"; - this.x352ToolStripMenuItem.Size = new System.Drawing.Size(213, 22); - this.x352ToolStripMenuItem.Text = "640x352"; - this.x352ToolStripMenuItem.Click += new System.EventHandler(this.ResolutionPickClick); - // - // x272ToolStripMenuItem - // - this.x272ToolStripMenuItem.Name = "x272ToolStripMenuItem"; - this.x272ToolStripMenuItem.Size = new System.Drawing.Size(213, 22); - this.x272ToolStripMenuItem.Text = "640x272"; - this.x272ToolStripMenuItem.Click += new System.EventHandler(this.ResolutionPickClick); - // - // buttonMode - // - this.buttonMode.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.buttonMode.ImeMode = System.Windows.Forms.ImeMode.NoControl; - this.buttonMode.Location = new System.Drawing.Point(748, 586); - this.buttonMode.Name = "buttonMode"; - this.buttonMode.Size = new System.Drawing.Size(125, 23); - this.buttonMode.TabIndex = 143; - this.buttonMode.Text = "Batch mode"; - this.buttonMode.UseVisualStyleBackColor = true; - this.buttonMode.Click += new System.EventHandler(this.buttonMode_Click); - // - // useSourceResoluton0x0ToolStripMenuItem - // - this.useSourceResoluton0x0ToolStripMenuItem.Name = "useSourceResoluton0x0ToolStripMenuItem"; - this.useSourceResoluton0x0ToolStripMenuItem.Size = new System.Drawing.Size(213, 22); - this.useSourceResoluton0x0ToolStripMenuItem.Text = "Use source resoluton (0x0)"; - // - // labelPreviewPleaseWait - // - this.labelPreviewPleaseWait.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.labelPreviewPleaseWait.AutoSize = true; - this.labelPreviewPleaseWait.Location = new System.Drawing.Point(668, 570); - this.labelPreviewPleaseWait.Name = "labelPreviewPleaseWait"; - this.labelPreviewPleaseWait.Size = new System.Drawing.Size(70, 13); - this.labelPreviewPleaseWait.TabIndex = 48; - this.labelPreviewPleaseWait.Text = "Please wait..."; - // - // videoPlayerContainer1 - // - this.videoPlayerContainer1.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.videoPlayerContainer1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(18)))), ((int)(((byte)(18)))), ((int)(((byte)(18))))); - this.videoPlayerContainer1.Chapters = null; - this.videoPlayerContainer1.CurrentPosition = 0D; - this.videoPlayerContainer1.FontSizeFactor = 1F; - this.videoPlayerContainer1.LastParagraph = null; - this.videoPlayerContainer1.Location = new System.Drawing.Point(430, 313); - this.videoPlayerContainer1.Name = "videoPlayerContainer1"; - this.videoPlayerContainer1.ShowFullscreenButton = true; - this.videoPlayerContainer1.ShowMuteButton = true; - this.videoPlayerContainer1.ShowStopButton = true; - this.videoPlayerContainer1.Size = new System.Drawing.Size(431, 226); - this.videoPlayerContainer1.SubtitleText = ""; - this.videoPlayerContainer1.TabIndex = 110; - this.videoPlayerContainer1.TextRightToLeft = System.Windows.Forms.RightToLeft.No; - this.videoPlayerContainer1.UsingFrontCenterAudioChannelOnly = false; - this.videoPlayerContainer1.VideoHeight = 0; - this.videoPlayerContainer1.VideoPlayer = null; - this.videoPlayerContainer1.VideoWidth = 0; - this.videoPlayerContainer1.Volume = 0D; - // // numericUpDownCutToSeconds // this.numericUpDownCutToSeconds.BackColor = System.Drawing.SystemColors.Window; @@ -1033,6 +611,17 @@ namespace Nikse.SubtitleEdit.Forms this.labelCutFrom.TabIndex = 14; this.labelCutFrom.Text = "From"; // + // checkBoxCut + // + this.checkBoxCut.AutoSize = true; + this.checkBoxCut.Location = new System.Drawing.Point(12, 36); + this.checkBoxCut.Name = "checkBoxCut"; + this.checkBoxCut.Size = new System.Drawing.Size(42, 17); + this.checkBoxCut.TabIndex = 0; + this.checkBoxCut.Text = "Cut"; + this.checkBoxCut.UseVisualStyleBackColor = true; + this.checkBoxCut.CheckedChanged += new System.EventHandler(this.checkBoxCut_CheckedChanged); + // // labelVideoBitrate // this.labelVideoBitrate.AutoSize = true; @@ -1042,6 +631,28 @@ namespace Nikse.SubtitleEdit.Forms this.labelVideoBitrate.TabIndex = 14; this.labelVideoBitrate.Text = "labelVideoBitrate"; // + // checkBoxBox + // + this.checkBoxBox.AutoSize = true; + this.checkBoxBox.Location = new System.Drawing.Point(226, 27); + this.checkBoxBox.Name = "checkBoxBox"; + this.checkBoxBox.Size = new System.Drawing.Size(44, 17); + this.checkBoxBox.TabIndex = 2; + this.checkBoxBox.Text = "Box"; + this.checkBoxBox.UseVisualStyleBackColor = true; + this.checkBoxBox.CheckedChanged += new System.EventHandler(this.checkBoxBox_CheckedChanged); + // + // checkBoxAlignRight + // + this.checkBoxAlignRight.AutoSize = true; + this.checkBoxAlignRight.Location = new System.Drawing.Point(217, 114); + this.checkBoxAlignRight.Name = "checkBoxAlignRight"; + this.checkBoxAlignRight.Size = new System.Drawing.Size(72, 17); + this.checkBoxAlignRight.TabIndex = 10; + this.checkBoxAlignRight.Text = "Align right"; + this.checkBoxAlignRight.UseVisualStyleBackColor = true; + this.checkBoxAlignRight.CheckedChanged += new System.EventHandler(this.checkBoxAlignRight_CheckedChanged); + // // labelInfo // this.labelInfo.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); @@ -1052,6 +663,17 @@ namespace Nikse.SubtitleEdit.Forms this.labelInfo.TabIndex = 1; this.labelInfo.Text = "Info"; // + // checkBoxRightToLeft + // + this.checkBoxRightToLeft.AutoSize = true; + this.checkBoxRightToLeft.Location = new System.Drawing.Point(120, 114); + this.checkBoxRightToLeft.Name = "checkBoxRightToLeft"; + this.checkBoxRightToLeft.Size = new System.Drawing.Size(80, 17); + this.checkBoxRightToLeft.TabIndex = 9; + this.checkBoxRightToLeft.Text = "Right to left"; + this.checkBoxRightToLeft.UseVisualStyleBackColor = true; + this.checkBoxRightToLeft.CheckedChanged += new System.EventHandler(this.checkBoxRightToLeft_CheckedChanged); + // // comboBoxSubtitleFont // this.comboBoxSubtitleFont.BackColor = System.Drawing.SystemColors.Window; @@ -1085,6 +707,29 @@ namespace Nikse.SubtitleEdit.Forms this.labelSubtitleFont.TabIndex = 7; this.labelSubtitleFont.Text = "Subtitle font"; // + // groupBoxVideo + // + this.groupBoxVideo.Controls.Add(this.labelCrfHint); + this.groupBoxVideo.Controls.Add(this.buttonVideoChooseStandardRes); + this.groupBoxVideo.Controls.Add(this.labelResolution); + this.groupBoxVideo.Controls.Add(this.numericUpDownWidth); + this.groupBoxVideo.Controls.Add(this.numericUpDownHeight); + this.groupBoxVideo.Controls.Add(this.labelX); + this.groupBoxVideo.Controls.Add(this.labelPreset); + this.groupBoxVideo.Controls.Add(this.comboBoxTune); + this.groupBoxVideo.Controls.Add(this.comboBoxPreset); + this.groupBoxVideo.Controls.Add(this.labelTune); + this.groupBoxVideo.Controls.Add(this.labelCRF); + this.groupBoxVideo.Controls.Add(this.comboBoxVideoEncoding); + this.groupBoxVideo.Controls.Add(this.comboBoxCrf); + this.groupBoxVideo.Controls.Add(this.labelVideoEncoding); + this.groupBoxVideo.Location = new System.Drawing.Point(6, 141); + this.groupBoxVideo.Name = "groupBoxVideo"; + this.groupBoxVideo.Size = new System.Drawing.Size(406, 166); + this.groupBoxVideo.TabIndex = 70; + this.groupBoxVideo.TabStop = false; + this.groupBoxVideo.Text = "Video"; + // // labelCrfHint // this.labelCrfHint.AutoSize = true; @@ -1096,6 +741,18 @@ namespace Nikse.SubtitleEdit.Forms this.labelCrfHint.TabIndex = 32; this.labelCrfHint.Text = "Hint"; // + // buttonVideoChooseStandardRes + // + this.buttonVideoChooseStandardRes.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.buttonVideoChooseStandardRes.Location = new System.Drawing.Point(257, 15); + this.buttonVideoChooseStandardRes.Name = "buttonVideoChooseStandardRes"; + this.buttonVideoChooseStandardRes.Size = new System.Drawing.Size(69, 23); + this.buttonVideoChooseStandardRes.TabIndex = 3; + this.buttonVideoChooseStandardRes.Text = "..."; + this.buttonVideoChooseStandardRes.UseVisualStyleBackColor = true; + this.buttonVideoChooseStandardRes.Click += new System.EventHandler(this.buttonVideoChooseStandardRes_Click); + // // labelResolution // this.labelResolution.AutoSize = true; @@ -1356,6 +1013,45 @@ namespace Nikse.SubtitleEdit.Forms this.labelVideoEncoding.TabIndex = 3; this.labelVideoEncoding.Text = "Video enc"; // + // groupBoxAudio + // + this.groupBoxAudio.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupBoxAudio.Controls.Add(this.listViewAudioTracks); + this.groupBoxAudio.Controls.Add(this.labelAudioEnc); + this.groupBoxAudio.Controls.Add(this.comboBoxAudioBitRate); + this.groupBoxAudio.Controls.Add(this.comboBoxAudioEnc); + this.groupBoxAudio.Controls.Add(this.labelAudioBitRate); + this.groupBoxAudio.Controls.Add(this.checkBoxMakeStereo); + this.groupBoxAudio.Controls.Add(this.labelAudioSampleRate); + this.groupBoxAudio.Controls.Add(this.comboBoxAudioSampleRate); + this.groupBoxAudio.Location = new System.Drawing.Point(430, 141); + this.groupBoxAudio.Name = "groupBoxAudio"; + this.groupBoxAudio.Size = new System.Drawing.Size(425, 166); + this.groupBoxAudio.TabIndex = 90; + this.groupBoxAudio.TabStop = false; + this.groupBoxAudio.Text = "Audio"; + // + // listViewAudioTracks + // + this.listViewAudioTracks.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.listViewAudioTracks.CheckBoxes = true; + this.listViewAudioTracks.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.columnHeaderAudioTrack}); + this.listViewAudioTracks.HideSelection = false; + this.listViewAudioTracks.Location = new System.Drawing.Point(229, 29); + this.listViewAudioTracks.Name = "listViewAudioTracks"; + this.listViewAudioTracks.Size = new System.Drawing.Size(190, 122); + this.listViewAudioTracks.TabIndex = 45; + this.listViewAudioTracks.UseCompatibleStateImageBehavior = false; + this.listViewAudioTracks.View = System.Windows.Forms.View.Details; + // + // columnHeaderAudioTrack + // + this.columnHeaderAudioTrack.Text = "Audio tracks"; + this.columnHeaderAudioTrack.Width = 160; + // // labelAudioEnc // this.labelAudioEnc.AutoSize = true; @@ -1431,6 +1127,18 @@ namespace Nikse.SubtitleEdit.Forms this.labelAudioBitRate.TabIndex = 4; this.labelAudioBitRate.Text = "Bit rate"; // + // checkBoxMakeStereo + // + this.checkBoxMakeStereo.AutoSize = true; + this.checkBoxMakeStereo.Checked = true; + this.checkBoxMakeStereo.CheckState = System.Windows.Forms.CheckState.Checked; + this.checkBoxMakeStereo.Location = new System.Drawing.Point(91, 58); + this.checkBoxMakeStereo.Name = "checkBoxMakeStereo"; + this.checkBoxMakeStereo.Size = new System.Drawing.Size(57, 17); + this.checkBoxMakeStereo.TabIndex = 2; + this.checkBoxMakeStereo.Text = "Stereo"; + this.checkBoxMakeStereo.UseVisualStyleBackColor = true; + // // labelAudioSampleRate // this.labelAudioSampleRate.AutoSize = true; @@ -1516,6 +1224,17 @@ namespace Nikse.SubtitleEdit.Forms this.labelFileSize.TabIndex = 12; this.labelFileSize.Text = "File size in MB"; // + // checkBoxTargetFileSize + // + this.checkBoxTargetFileSize.AutoSize = true; + this.checkBoxTargetFileSize.Location = new System.Drawing.Point(22, 327); + this.checkBoxTargetFileSize.Name = "checkBoxTargetFileSize"; + this.checkBoxTargetFileSize.Size = new System.Drawing.Size(192, 17); + this.checkBoxTargetFileSize.TabIndex = 100; + this.checkBoxTargetFileSize.Text = "Target file size (two pass encoding)"; + this.checkBoxTargetFileSize.UseVisualStyleBackColor = true; + this.checkBoxTargetFileSize.CheckedChanged += new System.EventHandler(this.checkBoxTargetFileSize_CheckedChanged); + // // labelFileName // this.labelFileName.AutoSize = true; @@ -1572,6 +1291,285 @@ namespace Nikse.SubtitleEdit.Forms this.labelFontSize.TabIndex = 0; this.labelFontSize.Text = "Font size"; // + // listViewBatch + // + this.listViewBatch.AllowDrop = true; + this.listViewBatch.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.listViewBatch.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.columnHeaderVideoFile, + this.columnHeaderResolution, + this.columnHeaderSize, + this.columnHeaderSubtitleFile, + this.columnHeaderStatus}); + this.listViewBatch.ContextMenuStrip = this.contextMenuStripBatch; + this.listViewBatch.FullRowSelect = true; + this.listViewBatch.HideSelection = false; + this.listViewBatch.Location = new System.Drawing.Point(6, 316); + this.listViewBatch.Name = "listViewBatch"; + this.listViewBatch.Size = new System.Drawing.Size(852, 191); + this.listViewBatch.TabIndex = 3; + this.listViewBatch.UseCompatibleStateImageBehavior = false; + this.listViewBatch.View = System.Windows.Forms.View.Details; + this.listViewBatch.DragDrop += new System.Windows.Forms.DragEventHandler(this.listViewBatch_DragDrop); + this.listViewBatch.DragEnter += new System.Windows.Forms.DragEventHandler(this.listViewBatch_DragEnter); + this.listViewBatch.KeyDown += new System.Windows.Forms.KeyEventHandler(this.listViewBatch_KeyDown); + // + // columnHeaderVideoFile + // + this.columnHeaderVideoFile.Text = "Video file"; + this.columnHeaderVideoFile.Width = 420; + // + // columnHeaderResolution + // + this.columnHeaderResolution.Text = "Resolution"; + this.columnHeaderResolution.Width = 80; + // + // columnHeaderSize + // + this.columnHeaderSize.Text = "Size"; + this.columnHeaderSize.Width = 80; + // + // columnHeaderSubtitleFile + // + this.columnHeaderSubtitleFile.Text = "Subtitle file"; + this.columnHeaderSubtitleFile.Width = 180; + // + // columnHeaderStatus + // + this.columnHeaderStatus.Text = "Status"; + this.columnHeaderStatus.Width = 80; + // + // contextMenuStripBatch + // + this.contextMenuStripBatch.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.addFilesToolStripMenuItem, + this.toolStripSeparator2, + this.pickSubtitleFileToolStripMenuItem, + this.removeSubtitleFileToolStripMenuItem, + this.toolStripSeparator1, + this.deleteToolStripMenuItem, + this.clearToolStripMenuItem}); + this.contextMenuStripBatch.Name = "contextMenuStripBatch"; + this.contextMenuStripBatch.Size = new System.Drawing.Size(179, 126); + this.contextMenuStripBatch.Opening += new System.ComponentModel.CancelEventHandler(this.contextMenuStripBatch_Opening); + // + // addFilesToolStripMenuItem + // + this.addFilesToolStripMenuItem.Name = "addFilesToolStripMenuItem"; + this.addFilesToolStripMenuItem.Size = new System.Drawing.Size(178, 22); + this.addFilesToolStripMenuItem.Text = "Add video files..."; + this.addFilesToolStripMenuItem.Click += new System.EventHandler(this.addFilesToolStripMenuItem_Click); + // + // toolStripSeparator2 + // + this.toolStripSeparator2.Name = "toolStripSeparator2"; + this.toolStripSeparator2.Size = new System.Drawing.Size(175, 6); + // + // pickSubtitleFileToolStripMenuItem + // + this.pickSubtitleFileToolStripMenuItem.Name = "pickSubtitleFileToolStripMenuItem"; + this.pickSubtitleFileToolStripMenuItem.Size = new System.Drawing.Size(178, 22); + this.pickSubtitleFileToolStripMenuItem.Text = "Pick subtitle file..."; + this.pickSubtitleFileToolStripMenuItem.Click += new System.EventHandler(this.pickSubtitleFileToolStripMenuItem_Click); + // + // removeSubtitleFileToolStripMenuItem + // + this.removeSubtitleFileToolStripMenuItem.Name = "removeSubtitleFileToolStripMenuItem"; + this.removeSubtitleFileToolStripMenuItem.Size = new System.Drawing.Size(178, 22); + this.removeSubtitleFileToolStripMenuItem.Text = "Remove subtitle file"; + this.removeSubtitleFileToolStripMenuItem.Click += new System.EventHandler(this.removeSubtitleFileToolStripMenuItem_Click); + // + // toolStripSeparator1 + // + this.toolStripSeparator1.Name = "toolStripSeparator1"; + this.toolStripSeparator1.Size = new System.Drawing.Size(175, 6); + // + // deleteToolStripMenuItem + // + this.deleteToolStripMenuItem.Name = "deleteToolStripMenuItem"; + this.deleteToolStripMenuItem.Size = new System.Drawing.Size(178, 22); + this.deleteToolStripMenuItem.Text = "Delete"; + this.deleteToolStripMenuItem.Click += new System.EventHandler(this.deleteToolStripMenuItem_Click); + // + // clearToolStripMenuItem + // + this.clearToolStripMenuItem.Name = "clearToolStripMenuItem"; + this.clearToolStripMenuItem.Size = new System.Drawing.Size(178, 22); + this.clearToolStripMenuItem.Text = "Clear"; + this.clearToolStripMenuItem.Click += new System.EventHandler(this.clearToolStripMenuItem_Click); + // + // buttonPreview + // + this.buttonPreview.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonPreview.Location = new System.Drawing.Point(621, 586); + this.buttonPreview.Name = "buttonPreview"; + this.buttonPreview.Size = new System.Drawing.Size(121, 23); + this.buttonPreview.TabIndex = 130; + this.buttonPreview.Text = "Preview"; + this.buttonPreview.UseVisualStyleBackColor = true; + this.buttonPreview.Click += new System.EventHandler(this.buttonPreview_Click); + // + // linkLabelHelp + // + this.linkLabelHelp.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.linkLabelHelp.AutoSize = true; + this.linkLabelHelp.Location = new System.Drawing.Point(844, 563); + this.linkLabelHelp.Name = "linkLabelHelp"; + this.linkLabelHelp.Size = new System.Drawing.Size(29, 13); + this.linkLabelHelp.TabIndex = 120; + this.linkLabelHelp.TabStop = true; + this.linkLabelHelp.Text = "Help"; + this.linkLabelHelp.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabelHelp_LinkClicked); + // + // contextMenuStripRes + // + this.contextMenuStripRes.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.useSourceResoluton0x0ToolStripMenuItem, + this.x2160ToolStripMenuItem, + this.uHD3840x2160ToolStripMenuItem, + this.k2048x1080ToolStripMenuItem, + this.dCI2KScope2048x858ToolStripMenuItem, + this.dCI2KFlat1998x1080ToolStripMenuItem, + this.p1920x1080ToolStripMenuItem, + this.x1080ToolStripMenuItem, + this.p1280x720ToolStripMenuItem, + this.x720ToolStripMenuItem, + this.p848x480ToolStripMenuItem, + this.pAL720x576ToolStripMenuItem, + this.nTSC720x480ToolStripMenuItem, + this.x352ToolStripMenuItem, + this.x272ToolStripMenuItem}); + this.contextMenuStripRes.Name = "contextMenuStripRes"; + this.contextMenuStripRes.Size = new System.Drawing.Size(214, 334); + // + // useSourceResoluton0x0ToolStripMenuItem + // + this.useSourceResoluton0x0ToolStripMenuItem.Name = "useSourceResoluton0x0ToolStripMenuItem"; + this.useSourceResoluton0x0ToolStripMenuItem.Size = new System.Drawing.Size(213, 22); + this.useSourceResoluton0x0ToolStripMenuItem.Text = "Use source resoluton (0x0)"; + // + // x2160ToolStripMenuItem + // + this.x2160ToolStripMenuItem.Name = "x2160ToolStripMenuItem"; + this.x2160ToolStripMenuItem.Size = new System.Drawing.Size(213, 22); + this.x2160ToolStripMenuItem.Text = "4K (4096x2160)"; + this.x2160ToolStripMenuItem.Click += new System.EventHandler(this.ResolutionPickClick); + // + // uHD3840x2160ToolStripMenuItem + // + this.uHD3840x2160ToolStripMenuItem.Name = "uHD3840x2160ToolStripMenuItem"; + this.uHD3840x2160ToolStripMenuItem.Size = new System.Drawing.Size(213, 22); + this.uHD3840x2160ToolStripMenuItem.Text = "UHD (3840x2160)"; + this.uHD3840x2160ToolStripMenuItem.Click += new System.EventHandler(this.ResolutionPickClick); + // + // k2048x1080ToolStripMenuItem + // + this.k2048x1080ToolStripMenuItem.Name = "k2048x1080ToolStripMenuItem"; + this.k2048x1080ToolStripMenuItem.Size = new System.Drawing.Size(213, 22); + this.k2048x1080ToolStripMenuItem.Text = "2K (2048x1080)"; + this.k2048x1080ToolStripMenuItem.Click += new System.EventHandler(this.ResolutionPickClick); + // + // dCI2KScope2048x858ToolStripMenuItem + // + this.dCI2KScope2048x858ToolStripMenuItem.Name = "dCI2KScope2048x858ToolStripMenuItem"; + this.dCI2KScope2048x858ToolStripMenuItem.Size = new System.Drawing.Size(213, 22); + this.dCI2KScope2048x858ToolStripMenuItem.Text = "DCI 2K Scope (2048x858)"; + this.dCI2KScope2048x858ToolStripMenuItem.Click += new System.EventHandler(this.ResolutionPickClick); + // + // dCI2KFlat1998x1080ToolStripMenuItem + // + this.dCI2KFlat1998x1080ToolStripMenuItem.Name = "dCI2KFlat1998x1080ToolStripMenuItem"; + this.dCI2KFlat1998x1080ToolStripMenuItem.Size = new System.Drawing.Size(213, 22); + this.dCI2KFlat1998x1080ToolStripMenuItem.Text = "DCI 2K Flat (1998x1080)"; + this.dCI2KFlat1998x1080ToolStripMenuItem.Click += new System.EventHandler(this.ResolutionPickClick); + // + // p1920x1080ToolStripMenuItem + // + this.p1920x1080ToolStripMenuItem.Name = "p1920x1080ToolStripMenuItem"; + this.p1920x1080ToolStripMenuItem.Size = new System.Drawing.Size(213, 22); + this.p1920x1080ToolStripMenuItem.Text = "1080p (1920x1080)"; + this.p1920x1080ToolStripMenuItem.Click += new System.EventHandler(this.ResolutionPickClick); + // + // x1080ToolStripMenuItem + // + this.x1080ToolStripMenuItem.Name = "x1080ToolStripMenuItem"; + this.x1080ToolStripMenuItem.Size = new System.Drawing.Size(213, 22); + this.x1080ToolStripMenuItem.Text = "1440x1080"; + this.x1080ToolStripMenuItem.Click += new System.EventHandler(this.ResolutionPickClick); + // + // p1280x720ToolStripMenuItem + // + this.p1280x720ToolStripMenuItem.Name = "p1280x720ToolStripMenuItem"; + this.p1280x720ToolStripMenuItem.Size = new System.Drawing.Size(213, 22); + this.p1280x720ToolStripMenuItem.Text = "720p (1280x720)"; + this.p1280x720ToolStripMenuItem.Click += new System.EventHandler(this.ResolutionPickClick); + // + // x720ToolStripMenuItem + // + this.x720ToolStripMenuItem.Name = "x720ToolStripMenuItem"; + this.x720ToolStripMenuItem.Size = new System.Drawing.Size(213, 22); + this.x720ToolStripMenuItem.Text = "960x720"; + this.x720ToolStripMenuItem.Click += new System.EventHandler(this.ResolutionPickClick); + // + // p848x480ToolStripMenuItem + // + this.p848x480ToolStripMenuItem.Name = "p848x480ToolStripMenuItem"; + this.p848x480ToolStripMenuItem.Size = new System.Drawing.Size(213, 22); + this.p848x480ToolStripMenuItem.Text = "480p (848x480)"; + this.p848x480ToolStripMenuItem.Click += new System.EventHandler(this.ResolutionPickClick); + // + // pAL720x576ToolStripMenuItem + // + this.pAL720x576ToolStripMenuItem.Name = "pAL720x576ToolStripMenuItem"; + this.pAL720x576ToolStripMenuItem.Size = new System.Drawing.Size(213, 22); + this.pAL720x576ToolStripMenuItem.Text = "PAL (720x576)"; + this.pAL720x576ToolStripMenuItem.Click += new System.EventHandler(this.ResolutionPickClick); + // + // nTSC720x480ToolStripMenuItem + // + this.nTSC720x480ToolStripMenuItem.Name = "nTSC720x480ToolStripMenuItem"; + this.nTSC720x480ToolStripMenuItem.Size = new System.Drawing.Size(213, 22); + this.nTSC720x480ToolStripMenuItem.Text = "NTSC (720x480)"; + this.nTSC720x480ToolStripMenuItem.Click += new System.EventHandler(this.ResolutionPickClick); + // + // x352ToolStripMenuItem + // + this.x352ToolStripMenuItem.Name = "x352ToolStripMenuItem"; + this.x352ToolStripMenuItem.Size = new System.Drawing.Size(213, 22); + this.x352ToolStripMenuItem.Text = "640x352"; + this.x352ToolStripMenuItem.Click += new System.EventHandler(this.ResolutionPickClick); + // + // x272ToolStripMenuItem + // + this.x272ToolStripMenuItem.Name = "x272ToolStripMenuItem"; + this.x272ToolStripMenuItem.Size = new System.Drawing.Size(213, 22); + this.x272ToolStripMenuItem.Text = "640x272"; + this.x272ToolStripMenuItem.Click += new System.EventHandler(this.ResolutionPickClick); + // + // buttonMode + // + this.buttonMode.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonMode.ImeMode = System.Windows.Forms.ImeMode.NoControl; + this.buttonMode.Location = new System.Drawing.Point(748, 586); + this.buttonMode.Name = "buttonMode"; + this.buttonMode.Size = new System.Drawing.Size(125, 23); + this.buttonMode.TabIndex = 143; + this.buttonMode.Text = "Batch mode"; + this.buttonMode.UseVisualStyleBackColor = true; + this.buttonMode.Click += new System.EventHandler(this.buttonMode_Click); + // + // labelPreviewPleaseWait + // + this.labelPreviewPleaseWait.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.labelPreviewPleaseWait.AutoSize = true; + this.labelPreviewPleaseWait.Location = new System.Drawing.Point(668, 570); + this.labelPreviewPleaseWait.Name = "labelPreviewPleaseWait"; + this.labelPreviewPleaseWait.Size = new System.Drawing.Size(70, 13); + this.labelPreviewPleaseWait.TabIndex = 48; + this.labelPreviewPleaseWait.Text = "Please wait..."; + // // labelPass // this.labelPass.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); @@ -1612,23 +1610,16 @@ namespace Nikse.SubtitleEdit.Forms this.textBoxLog.Size = new System.Drawing.Size(188, 26); this.textBoxLog.TabIndex = 31; // - // nikseLabelSuffix + // buttonOutputFileSettings // - this.nikseLabelSuffix.AutoSize = true; - this.nikseLabelSuffix.Location = new System.Drawing.Point(260, 518); - this.nikseLabelSuffix.Name = "nikseLabelSuffix"; - this.nikseLabelSuffix.Size = new System.Drawing.Size(33, 13); - this.nikseLabelSuffix.TabIndex = 147; - this.nikseLabelSuffix.Text = "Suffix"; - // - // nikseTextBoxSuffix - // - this.nikseTextBoxSuffix.FocusedColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(120)))), ((int)(((byte)(215))))); - this.nikseTextBoxSuffix.Location = new System.Drawing.Point(299, 515); - this.nikseTextBoxSuffix.Name = "nikseTextBoxSuffix"; - this.nikseTextBoxSuffix.Size = new System.Drawing.Size(100, 20); - this.nikseTextBoxSuffix.TabIndex = 148; - this.nikseTextBoxSuffix.Text = "_input"; + this.buttonOutputFileSettings.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.buttonOutputFileSettings.Location = new System.Drawing.Point(245, 513); + this.buttonOutputFileSettings.Name = "buttonOutputFileSettings"; + this.buttonOutputFileSettings.Size = new System.Drawing.Size(167, 23); + this.buttonOutputFileSettings.TabIndex = 148; + this.buttonOutputFileSettings.Text = "Output file/folder..."; + this.buttonOutputFileSettings.UseVisualStyleBackColor = true; + this.buttonOutputFileSettings.Click += new System.EventHandler(this.buttonOutputFileSettings_Click); // // GenerateVideoWithHardSubs // @@ -1779,7 +1770,6 @@ namespace Nikse.SubtitleEdit.Forms private System.Windows.Forms.ToolStripMenuItem removeSubtitleFileToolStripMenuItem; private System.Windows.Forms.ColumnHeader columnHeaderResolution; private System.Windows.Forms.ToolStripMenuItem useSourceResoluton0x0ToolStripMenuItem; - private Controls.NikseLabel nikseLabelSuffix; - private Controls.NikseTextBox nikseTextBoxSuffix; + private System.Windows.Forms.Button buttonOutputFileSettings; } } \ No newline at end of file diff --git a/src/ui/Forms/GenerateVideoWithHardSubs.cs b/src/ui/Forms/GenerateVideoWithHardSubs.cs index 1aa902015..d60ba234e 100644 --- a/src/ui/Forms/GenerateVideoWithHardSubs.cs +++ b/src/ui/Forms/GenerateVideoWithHardSubs.cs @@ -314,8 +314,7 @@ namespace Nikse.SubtitleEdit.Forms buttonRemoveFile.Visible = BatchMode; buttonClear.Visible = BatchMode; buttonAddFile.Visible = BatchMode; - nikseLabelSuffix.Visible = BatchMode; - nikseTextBoxSuffix.Visible = BatchMode; + buttonOutputFileSettings.Visible = BatchMode; var audioTracks = _mediaInfo.Tracks.Where(p => p.TrackType == FfmpegTrackType.Audio).ToList(); useSourceResoluton0x0ToolStripMenuItem.Visible = BatchMode; @@ -468,14 +467,21 @@ namespace Nikse.SubtitleEdit.Forms } var path = Path.GetDirectoryName(videoAndSub.VideoFileName); + if (Configuration.Settings.Tools.GenVideoUseOutputFolder && + !string.IsNullOrEmpty(Configuration.Settings.Tools.GenVideoOutputFolder) && + Directory.Exists(Configuration.Settings.Tools.GenVideoOutputFolder)) + { + path = Configuration.Settings.Tools.GenVideoOutputFolder; + } + var nameNoExt = Path.GetFileNameWithoutExtension(videoAndSub.VideoFileName); var ext = Path.GetExtension(videoAndSub.VideoFileName); - VideoFileName = Path.Combine(path, $"{nameNoExt.TrimEnd('.', '.')}{nikseTextBoxSuffix.Text}{ext}"); + VideoFileName = Path.Combine(path, $"{nameNoExt.TrimEnd('.', '.')}{Configuration.Settings.Tools.GenVideoOutputFileSuffix}{ext}"); if (File.Exists(VideoFileName)) { for (var i = 2; i < int.MaxValue; i++) { - VideoFileName = Path.Combine(path, $"{nameNoExt.TrimEnd('.', '.')}{nikseTextBoxSuffix.Text}_{i}{ext}"); + VideoFileName = Path.Combine(path, $"{nameNoExt.TrimEnd('.', '.')}{Configuration.Settings.Tools.GenVideoOutputFileSuffix}_{i}{ext}"); if (!File.Exists(VideoFileName)) { break; @@ -2001,8 +2007,7 @@ namespace Nikse.SubtitleEdit.Forms buttonAddFile.Visible = BatchMode; buttonRemoveFile.Visible = BatchMode; buttonClear.Visible = BatchMode; - nikseLabelSuffix.Visible = BatchMode; - nikseTextBoxSuffix.Visible = BatchMode; + buttonOutputFileSettings.Visible = BatchMode; buttonMode.Text = BatchMode ? LanguageSettings.Current.Split.Basic : LanguageSettings.Current.AudioToText.BatchMode; @@ -2249,5 +2254,13 @@ namespace Nikse.SubtitleEdit.Forms _batchVideoAndSubList[i].SubtitleFileName = null; } } + + private void buttonOutputFileSettings_Click(object sender, EventArgs e) + { + using (var form = new GenerateVideoWithHardSubsOutFile()) + { + form.ShowDialog(this); + } + } } } diff --git a/src/ui/Forms/GenerateVideoWithHardSubsOutFile.Designer.cs b/src/ui/Forms/GenerateVideoWithHardSubsOutFile.Designer.cs new file mode 100644 index 000000000..ea4625633 --- /dev/null +++ b/src/ui/Forms/GenerateVideoWithHardSubsOutFile.Designer.cs @@ -0,0 +1,183 @@ +namespace Nikse.SubtitleEdit.Forms +{ + partial class GenerateVideoWithHardSubsOutFile + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.radioButtonSaveInOutputFolder = new System.Windows.Forms.RadioButton(); + this.linkLabelOpenOutputFolder = new System.Windows.Forms.LinkLabel(); + this.buttonChooseFolder = new System.Windows.Forms.Button(); + this.textBoxOutputFolder = new Nikse.SubtitleEdit.Controls.NikseTextBox(); + this.radioButtonSaveInSourceFolder = new System.Windows.Forms.RadioButton(); + this.labelSuffix = new System.Windows.Forms.Label(); + this.textBoxSuffix = new Nikse.SubtitleEdit.Controls.NikseTextBox(); + this.buttonCancel = new System.Windows.Forms.Button(); + this.buttonOK = new System.Windows.Forms.Button(); + this.folderBrowserDialog1 = new System.Windows.Forms.FolderBrowserDialog(); + this.SuspendLayout(); + // + // radioButtonSaveInOutputFolder + // + this.radioButtonSaveInOutputFolder.AutoSize = true; + this.radioButtonSaveInOutputFolder.Location = new System.Drawing.Point(21, 54); + this.radioButtonSaveInOutputFolder.Name = "radioButtonSaveInOutputFolder"; + this.radioButtonSaveInOutputFolder.Size = new System.Drawing.Size(154, 17); + this.radioButtonSaveInOutputFolder.TabIndex = 6; + this.radioButtonSaveInOutputFolder.Text = "Save in output folder below"; + this.radioButtonSaveInOutputFolder.UseVisualStyleBackColor = true; + this.radioButtonSaveInOutputFolder.CheckedChanged += new System.EventHandler(this.radioButtonSaveInOutputFolder_CheckedChanged); + // + // linkLabelOpenOutputFolder + // + this.linkLabelOpenOutputFolder.AutoSize = true; + this.linkLabelOpenOutputFolder.Location = new System.Drawing.Point(368, 83); + this.linkLabelOpenOutputFolder.Name = "linkLabelOpenOutputFolder"; + this.linkLabelOpenOutputFolder.Size = new System.Drawing.Size(42, 13); + this.linkLabelOpenOutputFolder.TabIndex = 9; + this.linkLabelOpenOutputFolder.TabStop = true; + this.linkLabelOpenOutputFolder.Text = "Open..."; + this.linkLabelOpenOutputFolder.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabelOpenOutputFolder_LinkClicked); + // + // buttonChooseFolder + // + this.buttonChooseFolder.Enabled = false; + this.buttonChooseFolder.Location = new System.Drawing.Point(336, 78); + this.buttonChooseFolder.Name = "buttonChooseFolder"; + this.buttonChooseFolder.Size = new System.Drawing.Size(26, 23); + this.buttonChooseFolder.TabIndex = 8; + this.buttonChooseFolder.Text = "..."; + this.buttonChooseFolder.UseVisualStyleBackColor = true; + this.buttonChooseFolder.Click += new System.EventHandler(this.buttonChooseFolder_Click); + // + // textBoxOutputFolder + // + this.textBoxOutputFolder.Enabled = false; + this.textBoxOutputFolder.FocusedColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(120)))), ((int)(((byte)(215))))); + this.textBoxOutputFolder.Location = new System.Drawing.Point(28, 81); + this.textBoxOutputFolder.Name = "textBoxOutputFolder"; + this.textBoxOutputFolder.Size = new System.Drawing.Size(302, 20); + this.textBoxOutputFolder.TabIndex = 7; + // + // radioButtonSaveInSourceFolder + // + this.radioButtonSaveInSourceFolder.AutoSize = true; + this.radioButtonSaveInSourceFolder.Checked = true; + this.radioButtonSaveInSourceFolder.Location = new System.Drawing.Point(21, 23); + this.radioButtonSaveInSourceFolder.Name = "radioButtonSaveInSourceFolder"; + this.radioButtonSaveInSourceFolder.Size = new System.Drawing.Size(141, 17); + this.radioButtonSaveInSourceFolder.TabIndex = 5; + this.radioButtonSaveInSourceFolder.TabStop = true; + this.radioButtonSaveInSourceFolder.Text = "Save in source file folder"; + this.radioButtonSaveInSourceFolder.UseVisualStyleBackColor = true; + this.radioButtonSaveInSourceFolder.CheckedChanged += new System.EventHandler(this.radioButtonSaveInSourceFolder_CheckedChanged); + // + // labelSuffix + // + this.labelSuffix.AutoSize = true; + this.labelSuffix.Location = new System.Drawing.Point(21, 135); + this.labelSuffix.Name = "labelSuffix"; + this.labelSuffix.Size = new System.Drawing.Size(79, 13); + this.labelSuffix.TabIndex = 11; + this.labelSuffix.Text = "File name suffix"; + // + // textBoxSuffix + // + this.textBoxSuffix.FocusedColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(120)))), ((int)(((byte)(215))))); + this.textBoxSuffix.Location = new System.Drawing.Point(21, 151); + this.textBoxSuffix.Name = "textBoxSuffix"; + this.textBoxSuffix.Size = new System.Drawing.Size(309, 20); + this.textBoxSuffix.TabIndex = 12; + // + // 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(349, 214); + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.Size = new System.Drawing.Size(75, 23); + this.buttonCancel.TabIndex = 105; + 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.DialogResult = System.Windows.Forms.DialogResult.OK; + this.buttonOK.ImeMode = System.Windows.Forms.ImeMode.NoControl; + this.buttonOK.Location = new System.Drawing.Point(268, 214); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 23); + this.buttonOK.TabIndex = 104; + this.buttonOK.Text = "&OK"; + this.buttonOK.UseVisualStyleBackColor = true; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // GenerateVideoWithHardSubsOutFile + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(436, 249); + this.Controls.Add(this.buttonCancel); + this.Controls.Add(this.buttonOK); + this.Controls.Add(this.labelSuffix); + this.Controls.Add(this.textBoxSuffix); + this.Controls.Add(this.radioButtonSaveInOutputFolder); + this.Controls.Add(this.linkLabelOpenOutputFolder); + this.Controls.Add(this.buttonChooseFolder); + this.Controls.Add(this.textBoxOutputFolder); + this.Controls.Add(this.radioButtonSaveInSourceFolder); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; + this.KeyPreview = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "GenerateVideoWithHardSubsOutFile"; + this.ShowIcon = false; + this.ShowInTaskbar = false; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "GenerateVideoWithHardSubsOutFile"; + this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.GenerateVideoWithHardSubsOutFile_KeyDown); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.RadioButton radioButtonSaveInOutputFolder; + private System.Windows.Forms.LinkLabel linkLabelOpenOutputFolder; + private System.Windows.Forms.Button buttonChooseFolder; + private Controls.NikseTextBox textBoxOutputFolder; + private System.Windows.Forms.RadioButton radioButtonSaveInSourceFolder; + private System.Windows.Forms.Label labelSuffix; + private Controls.NikseTextBox textBoxSuffix; + private System.Windows.Forms.Button buttonCancel; + private System.Windows.Forms.Button buttonOK; + private System.Windows.Forms.FolderBrowserDialog folderBrowserDialog1; + } +} \ No newline at end of file diff --git a/src/ui/Forms/GenerateVideoWithHardSubsOutFile.cs b/src/ui/Forms/GenerateVideoWithHardSubsOutFile.cs new file mode 100644 index 000000000..e877d7955 --- /dev/null +++ b/src/ui/Forms/GenerateVideoWithHardSubsOutFile.cs @@ -0,0 +1,130 @@ +using Nikse.SubtitleEdit.Logic; +using System; +using System.IO; +using System.Windows.Forms; +using Nikse.SubtitleEdit.Core.Common; + +namespace Nikse.SubtitleEdit.Forms +{ + public partial class GenerateVideoWithHardSubsOutFile : Form + { + public GenerateVideoWithHardSubsOutFile() + { + UiUtil.PreInitialize(this); + InitializeComponent(); + UiUtil.FixFonts(this); + + labelSuffix.Text = LanguageSettings.Current.Settings.Suffix; + buttonOK.Text = LanguageSettings.Current.General.Ok; + buttonCancel.Text = LanguageSettings.Current.General.Cancel; + + if (string.IsNullOrEmpty(Configuration.Settings.Tools.GenVideoOutputFolder) || !Directory.Exists(Configuration.Settings.Tools.GenVideoOutputFolder)) + { + textBoxOutputFolder.Text = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "Output"); + } + else + { + textBoxOutputFolder.Text = Configuration.Settings.Tools.GenVideoOutputFolder; + } + + textBoxSuffix.Text = Configuration.Settings.Tools.GenVideoOutputFileSuffix; + if (Configuration.Settings.Tools.GenVideoUseOutputFolder) + { + radioButtonSaveInOutputFolder.Checked = true; + } + else + { + radioButtonSaveInSourceFolder.Checked = true; + } + + radioButtonSaveInSourceFolder_CheckedChanged(null, null); + } + + private void GenerateVideoWithHardSubsOutFile_KeyDown(object sender, KeyEventArgs e) + { + if (e.KeyCode == Keys.Escape) + { + DialogResult = DialogResult.Cancel; + } + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (radioButtonSaveInOutputFolder.Checked && string.IsNullOrWhiteSpace(textBoxOutputFolder.Text)) + { + MessageBox.Show("Please choose output folder"); + return; + } + + + try + { + if (!Directory.Exists(textBoxOutputFolder.Text)) + { + Directory.CreateDirectory(textBoxOutputFolder.Text); + } + } + catch (Exception exception) + { + MessageBox.Show("Please choose output folder" + Environment.NewLine + exception.Message); + return; + } + + Configuration.Settings.Tools.GenVideoOutputFolder = textBoxOutputFolder.Text; + Configuration.Settings.Tools.GenVideoOutputFileSuffix = textBoxSuffix.Text; + Configuration.Settings.Tools.GenVideoUseOutputFolder = radioButtonSaveInOutputFolder.Checked; + + DialogResult = DialogResult.OK; + } + + private void buttonCancel_Click(object sender, EventArgs e) + { + DialogResult = DialogResult.Cancel; + } + + private void buttonChooseFolder_Click(object sender, EventArgs e) + { + folderBrowserDialog1.ShowNewFolderButton = true; + if (folderBrowserDialog1.ShowDialog() == DialogResult.OK) + { + textBoxOutputFolder.Text = folderBrowserDialog1.SelectedPath; + } + } + + private void linkLabelOpenOutputFolder_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) + { + if (!Directory.Exists(textBoxOutputFolder.Text)) + { + try + { + Directory.CreateDirectory(textBoxOutputFolder.Text); + } + catch + { + // ignore + } + } + + if (Directory.Exists(textBoxOutputFolder.Text)) + { + UiUtil.OpenFolder(textBoxOutputFolder.Text); + } + else + { + MessageBox.Show(string.Format(LanguageSettings.Current.SplitSubtitle.FolderNotFoundX, textBoxOutputFolder.Text)); + } + } + + private void radioButtonSaveInSourceFolder_CheckedChanged(object sender, EventArgs e) + { + textBoxOutputFolder.Enabled = !radioButtonSaveInSourceFolder.Checked; + buttonChooseFolder.Enabled = !radioButtonSaveInSourceFolder.Checked; + } + + private void radioButtonSaveInOutputFolder_CheckedChanged(object sender, EventArgs e) + { + textBoxOutputFolder.Enabled = !radioButtonSaveInSourceFolder.Checked; + buttonChooseFolder.Enabled = !radioButtonSaveInSourceFolder.Checked; + } + } +} diff --git a/src/ui/Forms/GenerateVideoWithHardSubsOutFile.resx b/src/ui/Forms/GenerateVideoWithHardSubsOutFile.resx new file mode 100644 index 000000000..69f943da9 --- /dev/null +++ b/src/ui/Forms/GenerateVideoWithHardSubsOutFile.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + \ No newline at end of file diff --git a/src/ui/SubtitleEdit.csproj b/src/ui/SubtitleEdit.csproj index c388c26fe..d8eb752d0 100644 --- a/src/ui/SubtitleEdit.csproj +++ b/src/ui/SubtitleEdit.csproj @@ -385,6 +385,12 @@ VoskModelDownload.cs + + Form + + + GenerateVideoWithHardSubsOutFile.cs + Form @@ -1834,6 +1840,9 @@ GenerateVideoFFmpegPrompt.cs + + GenerateVideoWithHardSubsOutFile.cs + GenerateVideoWithSoftSubs.cs