From 6947faeba27b036e9d508b76f373d66376a78782 Mon Sep 17 00:00:00 2001 From: Nikolaj Olsson Date: Mon, 29 Apr 2024 06:35:25 +0200 Subject: [PATCH] Work on #8272 --- .../GenerateVideoWithHardSubs.Designer.cs | 952 +++++++++--------- src/ui/Forms/GenerateVideoWithHardSubs.cs | 58 +- 2 files changed, 529 insertions(+), 481 deletions(-) diff --git a/src/ui/Forms/GenerateVideoWithHardSubs.Designer.cs b/src/ui/Forms/GenerateVideoWithHardSubs.Designer.cs index 533731909..160dea6aa 100644 --- a/src/ui/Forms/GenerateVideoWithHardSubs.Designer.cs +++ b/src/ui/Forms/GenerateVideoWithHardSubs.Designer.cs @@ -48,17 +48,53 @@ namespace Nikse.SubtitleEdit.Forms 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())); @@ -73,6 +109,7 @@ namespace Nikse.SubtitleEdit.Forms this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); this.deleteToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.clearToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.videoPlayerContainer1 = new Nikse.SubtitleEdit.Controls.VideoPlayerContainer(); this.buttonOutputFileSettings = new System.Windows.Forms.Button(); this.buttonPreview = new System.Windows.Forms.Button(); this.linkLabelHelp = new System.Windows.Forms.LinkLabel(); @@ -94,43 +131,6 @@ 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.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.videoPlayerContainer1 = new Nikse.SubtitleEdit.Controls.VideoPlayerContainer(); this.labelPreviewPleaseWait = new Nikse.SubtitleEdit.Controls.NikseLabel(); this.labelPass = new Nikse.SubtitleEdit.Controls.NikseLabel(); this.labelProgress = new Nikse.SubtitleEdit.Controls.NikseLabel(); @@ -268,7 +268,6 @@ namespace Nikse.SubtitleEdit.Forms this.nikseLabelOutputFileFolder.Size = new System.Drawing.Size(90, 13); this.nikseLabelOutputFileFolder.TabIndex = 144; this.nikseLabelOutputFileFolder.Text = "Use source folder"; - this.nikseLabelOutputFileFolder.Click += new System.EventHandler(this.nikseLabelOutputFileFolder_Click); // // buttonRemoveFile // @@ -360,437 +359,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); - // - // buttonOutputFileSettings - // - this.buttonOutputFileSettings.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.buttonOutputFileSettings.Location = new System.Drawing.Point(255, 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); - // - // 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.useSourceResolutionToolStripMenuItem, - this.x2160ToolStripMenuItem, - this.uHD3840x2160ToolStripMenuItem, - this.k2048x1080ToolStripMenuItem, - this.dCI2KScope2048x858ToolStripMenuItem, - this.dCI2KFlat1998x1080ToolStripMenuItem, - this.toolStripMenuItemYouTubeShort, - 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(221, 356); - this.contextMenuStripRes.Opening += new System.ComponentModel.CancelEventHandler(this.contextMenuStripRes_Opening); - // - // useSourceResolutionToolStripMenuItem - // - this.useSourceResolutionToolStripMenuItem.Name = "useSourceResolutionToolStripMenuItem"; - this.useSourceResolutionToolStripMenuItem.Size = new System.Drawing.Size(220, 22); - this.useSourceResolutionToolStripMenuItem.Text = "Use source resoluton"; - this.useSourceResolutionToolStripMenuItem.Click += new System.EventHandler(this.useSourceResolutionToolStripMenuItem_Click); - // - // x2160ToolStripMenuItem - // - this.x2160ToolStripMenuItem.Name = "x2160ToolStripMenuItem"; - this.x2160ToolStripMenuItem.Size = new System.Drawing.Size(220, 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(220, 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(220, 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(220, 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(220, 22); - this.dCI2KFlat1998x1080ToolStripMenuItem.Text = "DCI 2K Flat (1998x1080)"; - this.dCI2KFlat1998x1080ToolStripMenuItem.Click += new System.EventHandler(this.ResolutionPickClick); - // - // toolStripMenuItemYouTubeShort - // - this.toolStripMenuItemYouTubeShort.Name = "toolStripMenuItemYouTubeShort"; - this.toolStripMenuItemYouTubeShort.Size = new System.Drawing.Size(220, 22); - this.toolStripMenuItemYouTubeShort.Text = "YouTube shorts (1080x1920)"; - this.toolStripMenuItemYouTubeShort.Click += new System.EventHandler(this.ResolutionPickClick); - // - // p1920x1080ToolStripMenuItem - // - this.p1920x1080ToolStripMenuItem.Name = "p1920x1080ToolStripMenuItem"; - this.p1920x1080ToolStripMenuItem.Size = new System.Drawing.Size(220, 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(220, 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(220, 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(220, 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(220, 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(220, 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(220, 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(220, 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(220, 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); - // // numericUpDownCutToSeconds // this.numericUpDownCutToSeconds.BackColor = System.Drawing.SystemColors.Window; @@ -1031,6 +599,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; @@ -1040,6 +619,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))); @@ -1050,6 +651,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; @@ -1083,6 +695,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; @@ -1094,6 +729,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; @@ -1210,7 +857,7 @@ namespace Nikse.SubtitleEdit.Forms this.comboBoxTune.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.comboBoxTune.DropDownWidth = 121; this.comboBoxTune.FormattingEnabled = true; - this.comboBoxTune.Items.AddRange(new object[] { + this.comboBoxTune.Items.AddRange(new string[] { "", "film", "animation", @@ -1238,7 +885,7 @@ namespace Nikse.SubtitleEdit.Forms this.comboBoxPreset.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.comboBoxPreset.DropDownWidth = 121; this.comboBoxPreset.FormattingEnabled = true; - this.comboBoxPreset.Items.AddRange(new object[] { + this.comboBoxPreset.Items.AddRange(new string[] { "ultrafast", "superfast", "veryfast", @@ -1289,7 +936,7 @@ namespace Nikse.SubtitleEdit.Forms this.comboBoxVideoEncoding.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.comboBoxVideoEncoding.DropDownWidth = 121; this.comboBoxVideoEncoding.FormattingEnabled = true; - this.comboBoxVideoEncoding.Items.AddRange(new object[] { + this.comboBoxVideoEncoding.Items.AddRange(new string[] { "libx264", "libx265", "libvpx-vp9", @@ -1322,7 +969,7 @@ namespace Nikse.SubtitleEdit.Forms this.comboBoxCrf.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.comboBoxCrf.DropDownWidth = 121; this.comboBoxCrf.FormattingEnabled = true; - this.comboBoxCrf.Items.AddRange(new object[] { + this.comboBoxCrf.Items.AddRange(new string[] { "17", "18", "19", @@ -1354,6 +1001,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; @@ -1376,7 +1062,7 @@ namespace Nikse.SubtitleEdit.Forms this.comboBoxAudioBitRate.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.comboBoxAudioBitRate.DropDownWidth = 121; this.comboBoxAudioBitRate.FormattingEnabled = true; - this.comboBoxAudioBitRate.Items.AddRange(new object[] { + this.comboBoxAudioBitRate.Items.AddRange(new string[] { "64k", "128k", "160k", @@ -1406,7 +1092,7 @@ namespace Nikse.SubtitleEdit.Forms this.comboBoxAudioEnc.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.comboBoxAudioEnc.DropDownWidth = 121; this.comboBoxAudioEnc.FormattingEnabled = true; - this.comboBoxAudioEnc.Items.AddRange(new object[] { + this.comboBoxAudioEnc.Items.AddRange(new string[] { "copy", "aac"}); this.comboBoxAudioEnc.Location = new System.Drawing.Point(91, 29); @@ -1429,6 +1115,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; @@ -1451,7 +1149,7 @@ namespace Nikse.SubtitleEdit.Forms this.comboBoxAudioSampleRate.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.comboBoxAudioSampleRate.DropDownWidth = 121; this.comboBoxAudioSampleRate.FormattingEnabled = true; - this.comboBoxAudioSampleRate.Items.AddRange(new object[] { + this.comboBoxAudioSampleRate.Items.AddRange(new string[] { "44100 Hz", "48000 Hz", "88200 Hz", @@ -1514,6 +1212,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; @@ -1570,6 +1279,116 @@ 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.ColumnClick += new System.Windows.Forms.ColumnClickEventHandler(this.listViewBatch_ColumnClick); + 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); + // // videoPlayerContainer1 // this.videoPlayerContainer1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) @@ -1595,6 +1414,187 @@ namespace Nikse.SubtitleEdit.Forms this.videoPlayerContainer1.VideoWidth = 0; this.videoPlayerContainer1.Volume = 0D; // + // buttonOutputFileSettings + // + this.buttonOutputFileSettings.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.buttonOutputFileSettings.Location = new System.Drawing.Point(255, 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); + // + // 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.useSourceResolutionToolStripMenuItem, + this.x2160ToolStripMenuItem, + this.uHD3840x2160ToolStripMenuItem, + this.k2048x1080ToolStripMenuItem, + this.dCI2KScope2048x858ToolStripMenuItem, + this.dCI2KFlat1998x1080ToolStripMenuItem, + this.toolStripMenuItemYouTubeShort, + 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(221, 356); + this.contextMenuStripRes.Opening += new System.ComponentModel.CancelEventHandler(this.contextMenuStripRes_Opening); + // + // useSourceResolutionToolStripMenuItem + // + this.useSourceResolutionToolStripMenuItem.Name = "useSourceResolutionToolStripMenuItem"; + this.useSourceResolutionToolStripMenuItem.Size = new System.Drawing.Size(220, 22); + this.useSourceResolutionToolStripMenuItem.Text = "Use source resoluton"; + this.useSourceResolutionToolStripMenuItem.Click += new System.EventHandler(this.useSourceResolutionToolStripMenuItem_Click); + // + // x2160ToolStripMenuItem + // + this.x2160ToolStripMenuItem.Name = "x2160ToolStripMenuItem"; + this.x2160ToolStripMenuItem.Size = new System.Drawing.Size(220, 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(220, 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(220, 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(220, 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(220, 22); + this.dCI2KFlat1998x1080ToolStripMenuItem.Text = "DCI 2K Flat (1998x1080)"; + this.dCI2KFlat1998x1080ToolStripMenuItem.Click += new System.EventHandler(this.ResolutionPickClick); + // + // toolStripMenuItemYouTubeShort + // + this.toolStripMenuItemYouTubeShort.Name = "toolStripMenuItemYouTubeShort"; + this.toolStripMenuItemYouTubeShort.Size = new System.Drawing.Size(220, 22); + this.toolStripMenuItemYouTubeShort.Text = "YouTube shorts (1080x1920)"; + this.toolStripMenuItemYouTubeShort.Click += new System.EventHandler(this.ResolutionPickClick); + // + // p1920x1080ToolStripMenuItem + // + this.p1920x1080ToolStripMenuItem.Name = "p1920x1080ToolStripMenuItem"; + this.p1920x1080ToolStripMenuItem.Size = new System.Drawing.Size(220, 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(220, 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(220, 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(220, 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(220, 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(220, 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(220, 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(220, 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(220, 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))); diff --git a/src/ui/Forms/GenerateVideoWithHardSubs.cs b/src/ui/Forms/GenerateVideoWithHardSubs.cs index 4458db121..93432fa1d 100644 --- a/src/ui/Forms/GenerateVideoWithHardSubs.cs +++ b/src/ui/Forms/GenerateVideoWithHardSubs.cs @@ -42,6 +42,7 @@ namespace Nikse.SubtitleEdit.Forms public bool BatchMode { get; set; } public string BatchInfo { get; set; } private readonly List _batchVideoAndSubList; + private const int ListViewBatchSubItemIndexColumnVideoSize = 2; private const int ListViewBatchSubItemIndexColumnSubtitleFile = 3; private const int ListViewBatchSubItemIndexColumnStatus = 4; @@ -2109,9 +2110,23 @@ namespace Nikse.SubtitleEdit.Forms return; } - foreach (var fileName in openFileDialog1.FileNames) + try { - AddInputFile(fileName); + Cursor = Cursors.WaitCursor; + Application.DoEvents(); + for (var i = 0; i < listViewBatch.Columns.Count; i++) + { + ListViewSorter.SetSortArrow(listViewBatch.Columns[i], SortOrder.None); + } + + foreach (var fileName in openFileDialog1.FileNames) + { + AddInputFile(fileName); + } + } + finally + { + Cursor = Cursors.Default; } } } @@ -2163,9 +2178,9 @@ namespace Nikse.SubtitleEdit.Forms item.SubtitleFileFileSizeInBytes = new FileInfo(subFileName).Length; } - var width = 0; - var height = 0; var mediaInfo = FfmpegMediaInfo.Parse(fileName); + int width; + int height; if (mediaInfo.VideoWidth > 0 && mediaInfo.VideoHeight > 0) { width = mediaInfo.VideoWidth; @@ -2390,9 +2405,42 @@ namespace Nikse.SubtitleEdit.Forms useSourceResolutionToolStripMenuItem.Visible = BatchMode; } - private void nikseLabelOutputFileFolder_Click(object sender, EventArgs e) + private void listViewBatch_ColumnClick(object sender, ColumnClickEventArgs e) { + if (_converting || listViewBatch.Items.Count == 0) + { + return; + } + var lv = (ListView)sender; + if (!(lv.ListViewItemSorter is ListViewSorter sorter)) + { + sorter = new ListViewSorter + { + ColumnNumber = e.Column, + IsDisplayFileSize = e.Column == ListViewBatchSubItemIndexColumnVideoSize, + }; + lv.ListViewItemSorter = sorter; + } + + if (e.Column == sorter.ColumnNumber) + { + sorter.Descending = !sorter.Descending; // inverse sort direction + } + else + { + sorter.ColumnNumber = e.Column; + } + + lv.Sort(); + + ListViewSorter.SetSortArrow(listViewBatch.Columns[e.Column], sorter.Descending ? SortOrder.Descending : SortOrder.Ascending); + + _batchVideoAndSubList.Clear(); + foreach (ListViewItem item in listViewBatch.Items) + { + _batchVideoAndSubList.Add((BatchVideoAndSub)item.Tag); + } } } }