diff --git a/src/ChangeLog.txt b/src/ChangeLog.txt
index 66d8feee9..148f560cb 100644
--- a/src/ChangeLog.txt
+++ b/src/ChangeLog.txt
@@ -3,6 +3,7 @@ Subtitle Edit Changelog
3.2 (not yet released)
* NEW:
+ * Can now display spectrogram (as well as waveform)
* Subtitle formats: D-Cinema, Cavena890, Timed Text 1.0, Captionate, Flash xml
* Most important shortcuts in Options -> Settings
* Export bdn-xml/images + import/ocr bdn-xml/images
@@ -21,7 +22,7 @@ Subtitle Edit Changelog
* Merge short lines can now also merge lines ending with ".", "?", or "!" (optional)
* Can now read Adobe Encore files starting with line numbers (thx Pier)
* FIXED:
- * Adjust all times did not work for MicroDvd
+ * Adjust all times did not work for MicroDvd (thx Wolf)
* Now removes empty white spaces from Google translate
* Crash when entering invalid text in source view (thx Frédéric)
* Fixed a few bugs in DVD Architect format + added another two new variants (thx Jacob)
diff --git a/src/Forms/AddWareForm.cs b/src/Forms/AddWareForm.cs
index 07df99a0a..b81d606c8 100644
--- a/src/Forms/AddWareForm.cs
+++ b/src/Forms/AddWareForm.cs
@@ -130,7 +130,7 @@ namespace Nikse.SubtitleEdit.Forms
this.Refresh();
waveFile.GeneratePeakSamples(sampleRate); // samples per second - SampleRate
- if (Configuration.Settings.General.GenerateSpectrogram)
+ if (Configuration.Settings.VideoControls.GenerateSpectrogram)
{
labelProgress.Text = Configuration.Settings.Language.AddWaveForm.GeneratingSpectrogram;
this.Refresh();
diff --git a/src/Forms/Main.Designer.cs b/src/Forms/Main.Designer.cs
index 0ffd89609..d25de4457 100644
--- a/src/Forms/Main.Designer.cs
+++ b/src/Forms/Main.Designer.cs
@@ -223,6 +223,7 @@
this.toolStripMenuItemPlayRateNormal = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItemPlayRateFast = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItemPlayRateVeryFast = new System.Windows.Forms.ToolStripMenuItem();
+ this.AudioWaveForm = new Nikse.SubtitleEdit.Controls.WaveForm();
this.tabControlButtons = new System.Windows.Forms.TabControl();
this.tabPageTranslate = new System.Windows.Forms.TabPage();
this.labelTranslateTip = new System.Windows.Forms.Label();
@@ -244,6 +245,7 @@
this.buttonPlayCurrent = new System.Windows.Forms.Button();
this.buttonPlayNext = new System.Windows.Forms.Button();
this.tabPageCreate = new System.Windows.Forms.TabPage();
+ this.timeUpDownVideoPosition = new Nikse.SubtitleEdit.Controls.TimeUpDown();
this.buttonGotoSub = new System.Windows.Forms.Button();
this.buttonBeforeText = new System.Windows.Forms.Button();
this.buttonSetEnd = new System.Windows.Forms.Button();
@@ -262,6 +264,7 @@
this.labelVideoPosition = new System.Windows.Forms.Label();
this.buttonSecBack1 = new System.Windows.Forms.Button();
this.tabPageAdjust = new System.Windows.Forms.TabPage();
+ this.timeUpDownVideoPositionAdjust = new Nikse.SubtitleEdit.Controls.TimeUpDown();
this.buttonAdjustSetEndTime = new System.Windows.Forms.Button();
this.buttonSetEndAndGoToNext = new System.Windows.Forms.Button();
this.buttonSetStartAndOffsetRest = new System.Windows.Forms.Button();
@@ -293,6 +296,10 @@
this.mergeWithNextToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator11 = new System.Windows.Forms.ToolStripSeparator();
this.toolStripMenuItemWaveFormPlaySelection = new System.Windows.Forms.ToolStripMenuItem();
+ this.toolStripSeparator24 = new System.Windows.Forms.ToolStripSeparator();
+ this.showWaveformAndSpectrogramToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.showOnlyWaveformToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.showOnlySpectrogramToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.splitContainerMain = new System.Windows.Forms.SplitContainer();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.tabControlSubtitle = new System.Windows.Forms.TabControl();
@@ -327,6 +334,7 @@
this.labelTextLineTotal = new System.Windows.Forms.Label();
this.labelCharactersPerSecond = new System.Windows.Forms.Label();
this.buttonUnBreak = new System.Windows.Forms.Button();
+ this.timeUpDownStartTime = new Nikse.SubtitleEdit.Controls.TimeUpDown();
this.buttonUndoListViewChanges = new System.Windows.Forms.Button();
this.labelStartTimeWarning = new System.Windows.Forms.Label();
this.labelDurationWarning = new System.Windows.Forms.Label();
@@ -337,22 +345,14 @@
this.textBoxListViewText = new System.Windows.Forms.TextBox();
this.labelDuration = new System.Windows.Forms.Label();
this.labelAutoDuration = new System.Windows.Forms.Label();
+ this.SubtitleListview1 = new Nikse.SubtitleEdit.Controls.SubtitleListView();
this.tabPage2 = new System.Windows.Forms.TabPage();
this.textBoxSource = new System.Windows.Forms.TextBox();
this.panelVideoPlayer = new System.Windows.Forms.Panel();
+ this.mediaPlayer = new Nikse.SubtitleEdit.Controls.VideoPlayerContainer();
this.contextMenuStripEmpty = new System.Windows.Forms.ContextMenuStrip(this.components);
this.insertLineToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.imageListPlayRate = new System.Windows.Forms.ImageList(this.components);
- this.toolStripSeparator24 = new System.Windows.Forms.ToolStripSeparator();
- this.showWaveformAndSpectrogramToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.showOnlyWaveformToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.showOnlySpectrogramToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.timeUpDownStartTime = new Nikse.SubtitleEdit.Controls.TimeUpDown();
- this.SubtitleListview1 = new Nikse.SubtitleEdit.Controls.SubtitleListView();
- this.mediaPlayer = new Nikse.SubtitleEdit.Controls.VideoPlayerContainer();
- this.AudioWaveForm = new Nikse.SubtitleEdit.Controls.WaveForm();
- this.timeUpDownVideoPosition = new Nikse.SubtitleEdit.Controls.TimeUpDown();
- this.timeUpDownVideoPositionAdjust = new Nikse.SubtitleEdit.Controls.TimeUpDown();
this.statusStrip1.SuspendLayout();
this.toolStrip1.SuspendLayout();
this.menuStrip1.SuspendLayout();
@@ -2023,6 +2023,36 @@
this.toolStripMenuItemPlayRateVeryFast.Text = "Very fast";
this.toolStripMenuItemPlayRateVeryFast.Click += new System.EventHandler(this.veryFastToolStripMenuItem_Click);
//
+ // AudioWaveForm
+ //
+ this.AudioWaveForm.AllowDrop = true;
+ this.AudioWaveForm.AllowNewSelection = true;
+ this.AudioWaveForm.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.AudioWaveForm.BackColor = System.Drawing.Color.Black;
+ this.AudioWaveForm.BackgroundColor = System.Drawing.Color.Black;
+ this.AudioWaveForm.Color = System.Drawing.Color.GreenYellow;
+ this.AudioWaveForm.DrawGridLines = true;
+ this.AudioWaveForm.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(18)))));
+ this.AudioWaveForm.Location = new System.Drawing.Point(472, 32);
+ this.AudioWaveForm.Margin = new System.Windows.Forms.Padding(0);
+ this.AudioWaveForm.Name = "AudioWaveForm";
+ this.AudioWaveForm.NewSelectionParagraph = null;
+ this.AudioWaveForm.SelectedColor = System.Drawing.Color.Red;
+ this.AudioWaveForm.ShowSpectrogram = false;
+ this.AudioWaveForm.ShowWaveform = true;
+ this.AudioWaveForm.Size = new System.Drawing.Size(768, 229);
+ this.AudioWaveForm.StartPositionSeconds = 0D;
+ this.AudioWaveForm.TabIndex = 6;
+ this.AudioWaveForm.TextColor = System.Drawing.Color.Gray;
+ this.AudioWaveForm.WaveFormNotLoadedText = "Click to add wave form";
+ this.AudioWaveForm.WavePeaks = null;
+ this.AudioWaveForm.ZoomFactor = 1D;
+ this.AudioWaveForm.Click += new System.EventHandler(this.AudioWaveForm_Click);
+ this.AudioWaveForm.DragDrop += new System.Windows.Forms.DragEventHandler(this.AudioWaveForm_DragDrop);
+ this.AudioWaveForm.DragEnter += new System.Windows.Forms.DragEventHandler(this.AudioWaveForm_DragEnter);
+ //
// tabControlButtons
//
this.tabControlButtons.Controls.Add(this.tabPageTranslate);
@@ -2298,6 +2328,16 @@
this.tabPageCreate.Text = "Create";
this.tabPageCreate.UseVisualStyleBackColor = true;
//
+ // timeUpDownVideoPosition
+ //
+ this.timeUpDownVideoPosition.AutoSize = true;
+ this.timeUpDownVideoPosition.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
+ this.timeUpDownVideoPosition.Location = new System.Drawing.Point(86, 192);
+ this.timeUpDownVideoPosition.Margin = new System.Windows.Forms.Padding(4);
+ this.timeUpDownVideoPosition.Name = "timeUpDownVideoPosition";
+ this.timeUpDownVideoPosition.Size = new System.Drawing.Size(92, 25);
+ this.timeUpDownVideoPosition.TabIndex = 12;
+ //
// buttonGotoSub
//
this.buttonGotoSub.Location = new System.Drawing.Point(6, 58);
@@ -2523,6 +2563,16 @@
this.tabPageAdjust.Text = "Adjust";
this.tabPageAdjust.UseVisualStyleBackColor = true;
//
+ // timeUpDownVideoPositionAdjust
+ //
+ this.timeUpDownVideoPositionAdjust.AutoSize = true;
+ this.timeUpDownVideoPositionAdjust.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
+ this.timeUpDownVideoPositionAdjust.Location = new System.Drawing.Point(87, 214);
+ this.timeUpDownVideoPositionAdjust.Margin = new System.Windows.Forms.Padding(4);
+ this.timeUpDownVideoPositionAdjust.Name = "timeUpDownVideoPositionAdjust";
+ this.timeUpDownVideoPositionAdjust.Size = new System.Drawing.Size(92, 25);
+ this.timeUpDownVideoPositionAdjust.TabIndex = 13;
+ //
// buttonAdjustSetEndTime
//
this.buttonAdjustSetEndTime.Location = new System.Drawing.Point(6, 84);
@@ -2819,6 +2869,32 @@
this.toolStripMenuItemWaveFormPlaySelection.Text = "Play selection";
this.toolStripMenuItemWaveFormPlaySelection.Click += new System.EventHandler(this.toolStripMenuItemWaveFormPlaySelection_Click);
//
+ // toolStripSeparator24
+ //
+ this.toolStripSeparator24.Name = "toolStripSeparator24";
+ this.toolStripSeparator24.Size = new System.Drawing.Size(249, 6);
+ //
+ // showWaveformAndSpectrogramToolStripMenuItem
+ //
+ this.showWaveformAndSpectrogramToolStripMenuItem.Name = "showWaveformAndSpectrogramToolStripMenuItem";
+ this.showWaveformAndSpectrogramToolStripMenuItem.Size = new System.Drawing.Size(252, 22);
+ this.showWaveformAndSpectrogramToolStripMenuItem.Text = "Show waveform and spectrogram";
+ this.showWaveformAndSpectrogramToolStripMenuItem.Click += new System.EventHandler(this.showWaveformAndSpectrogramToolStripMenuItem_Click);
+ //
+ // showOnlyWaveformToolStripMenuItem
+ //
+ this.showOnlyWaveformToolStripMenuItem.Name = "showOnlyWaveformToolStripMenuItem";
+ this.showOnlyWaveformToolStripMenuItem.Size = new System.Drawing.Size(252, 22);
+ this.showOnlyWaveformToolStripMenuItem.Text = "Show only waveform";
+ this.showOnlyWaveformToolStripMenuItem.Click += new System.EventHandler(this.showOnlyWaveformToolStripMenuItem_Click);
+ //
+ // showOnlySpectrogramToolStripMenuItem
+ //
+ this.showOnlySpectrogramToolStripMenuItem.Name = "showOnlySpectrogramToolStripMenuItem";
+ this.showOnlySpectrogramToolStripMenuItem.Size = new System.Drawing.Size(252, 22);
+ this.showOnlySpectrogramToolStripMenuItem.Text = "Show only spectrogram";
+ this.showOnlySpectrogramToolStripMenuItem.Click += new System.EventHandler(this.showOnlySpectrogramToolStripMenuItem_Click);
+ //
// splitContainerMain
//
this.splitContainerMain.Dock = System.Windows.Forms.DockStyle.Fill;
@@ -3184,6 +3260,16 @@
this.buttonUnBreak.UseVisualStyleBackColor = true;
this.buttonUnBreak.Click += new System.EventHandler(this.ButtonUnBreakClick);
//
+ // timeUpDownStartTime
+ //
+ this.timeUpDownStartTime.AutoSize = true;
+ this.timeUpDownStartTime.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
+ this.timeUpDownStartTime.Location = new System.Drawing.Point(9, 27);
+ this.timeUpDownStartTime.Margin = new System.Windows.Forms.Padding(4);
+ this.timeUpDownStartTime.Name = "timeUpDownStartTime";
+ this.timeUpDownStartTime.Size = new System.Drawing.Size(92, 25);
+ this.timeUpDownStartTime.TabIndex = 0;
+ //
// buttonUndoListViewChanges
//
this.buttonUndoListViewChanges.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
@@ -3305,6 +3391,31 @@
this.labelAutoDuration.TabIndex = 30;
this.labelAutoDuration.Text = "Auto";
//
+ // SubtitleListview1
+ //
+ this.SubtitleListview1.AllowDrop = true;
+ this.SubtitleListview1.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.SubtitleListview1.ContextMenuStrip = this.contextMenuStripListview;
+ this.SubtitleListview1.FirstVisibleIndex = -1;
+ this.SubtitleListview1.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.SubtitleListview1.FullRowSelect = true;
+ this.SubtitleListview1.GridLines = true;
+ this.SubtitleListview1.HideSelection = false;
+ this.SubtitleListview1.Location = new System.Drawing.Point(1, 3);
+ this.SubtitleListview1.Name = "SubtitleListview1";
+ this.SubtitleListview1.Size = new System.Drawing.Size(932, 148);
+ this.SubtitleListview1.SmallImageList = this.imageList1;
+ this.SubtitleListview1.TabIndex = 0;
+ this.SubtitleListview1.UseCompatibleStateImageBehavior = false;
+ this.SubtitleListview1.View = System.Windows.Forms.View.Details;
+ this.SubtitleListview1.SelectedIndexChanged += new System.EventHandler(this.SubtitleListview1_SelectedIndexChanged);
+ this.SubtitleListview1.DragDrop += new System.Windows.Forms.DragEventHandler(this.SubtitleListview1_DragDrop);
+ this.SubtitleListview1.DragEnter += new System.Windows.Forms.DragEventHandler(this.SubtitleListview1_DragEnter);
+ this.SubtitleListview1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.SubtitleListview1_KeyDown);
+ this.SubtitleListview1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.SubtitleListview1_MouseDoubleClick);
+ //
// tabPage2
//
this.tabPage2.Controls.Add(this.textBoxSource);
@@ -3349,88 +3460,6 @@
this.panelVideoPlayer.Size = new System.Drawing.Size(282, 278);
this.panelVideoPlayer.TabIndex = 5;
//
- // contextMenuStripEmpty
- //
- this.contextMenuStripEmpty.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.insertLineToolStripMenuItem});
- this.contextMenuStripEmpty.Name = "contextMenuStripEmpty";
- this.contextMenuStripEmpty.Size = new System.Drawing.Size(126, 26);
- //
- // insertLineToolStripMenuItem
- //
- this.insertLineToolStripMenuItem.Name = "insertLineToolStripMenuItem";
- this.insertLineToolStripMenuItem.Size = new System.Drawing.Size(125, 22);
- this.insertLineToolStripMenuItem.Text = "Insert line";
- this.insertLineToolStripMenuItem.Click += new System.EventHandler(this.insertLineToolStripMenuItem_Click);
- //
- // imageListPlayRate
- //
- this.imageListPlayRate.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageListPlayRate.ImageStream")));
- this.imageListPlayRate.TransparentColor = System.Drawing.Color.Transparent;
- this.imageListPlayRate.Images.SetKeyName(0, "FastForward.png");
- this.imageListPlayRate.Images.SetKeyName(1, "FastForwardHighLight.png");
- //
- // toolStripSeparator24
- //
- this.toolStripSeparator24.Name = "toolStripSeparator24";
- this.toolStripSeparator24.Size = new System.Drawing.Size(249, 6);
- //
- // showWaveformAndSpectrogramToolStripMenuItem
- //
- this.showWaveformAndSpectrogramToolStripMenuItem.Name = "showWaveformAndSpectrogramToolStripMenuItem";
- this.showWaveformAndSpectrogramToolStripMenuItem.Size = new System.Drawing.Size(252, 22);
- this.showWaveformAndSpectrogramToolStripMenuItem.Text = "Show waveform and spectrogram";
- this.showWaveformAndSpectrogramToolStripMenuItem.Click += new System.EventHandler(this.showWaveformAndSpectrogramToolStripMenuItem_Click);
- //
- // showOnlyWaveformToolStripMenuItem
- //
- this.showOnlyWaveformToolStripMenuItem.Name = "showOnlyWaveformToolStripMenuItem";
- this.showOnlyWaveformToolStripMenuItem.Size = new System.Drawing.Size(252, 22);
- this.showOnlyWaveformToolStripMenuItem.Text = "Show only waveform";
- this.showOnlyWaveformToolStripMenuItem.Click += new System.EventHandler(this.showOnlyWaveformToolStripMenuItem_Click);
- //
- // showOnlySpectrogramToolStripMenuItem
- //
- this.showOnlySpectrogramToolStripMenuItem.Name = "showOnlySpectrogramToolStripMenuItem";
- this.showOnlySpectrogramToolStripMenuItem.Size = new System.Drawing.Size(252, 22);
- this.showOnlySpectrogramToolStripMenuItem.Text = "Show only spectrogram";
- this.showOnlySpectrogramToolStripMenuItem.Click += new System.EventHandler(this.showOnlySpectrogramToolStripMenuItem_Click);
- //
- // timeUpDownStartTime
- //
- this.timeUpDownStartTime.AutoSize = true;
- this.timeUpDownStartTime.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
- this.timeUpDownStartTime.Location = new System.Drawing.Point(9, 27);
- this.timeUpDownStartTime.Margin = new System.Windows.Forms.Padding(4);
- this.timeUpDownStartTime.Name = "timeUpDownStartTime";
- this.timeUpDownStartTime.Size = new System.Drawing.Size(92, 25);
- this.timeUpDownStartTime.TabIndex = 0;
- //
- // SubtitleListview1
- //
- this.SubtitleListview1.AllowDrop = true;
- this.SubtitleListview1.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.SubtitleListview1.ContextMenuStrip = this.contextMenuStripListview;
- this.SubtitleListview1.FirstVisibleIndex = -1;
- this.SubtitleListview1.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.SubtitleListview1.FullRowSelect = true;
- this.SubtitleListview1.GridLines = true;
- this.SubtitleListview1.HideSelection = false;
- this.SubtitleListview1.Location = new System.Drawing.Point(1, 3);
- this.SubtitleListview1.Name = "SubtitleListview1";
- this.SubtitleListview1.Size = new System.Drawing.Size(932, 148);
- this.SubtitleListview1.SmallImageList = this.imageList1;
- this.SubtitleListview1.TabIndex = 0;
- this.SubtitleListview1.UseCompatibleStateImageBehavior = false;
- this.SubtitleListview1.View = System.Windows.Forms.View.Details;
- this.SubtitleListview1.SelectedIndexChanged += new System.EventHandler(this.SubtitleListview1_SelectedIndexChanged);
- this.SubtitleListview1.DragDrop += new System.Windows.Forms.DragEventHandler(this.SubtitleListview1_DragDrop);
- this.SubtitleListview1.DragEnter += new System.Windows.Forms.DragEventHandler(this.SubtitleListview1_DragEnter);
- this.SubtitleListview1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.SubtitleListview1_KeyDown);
- this.SubtitleListview1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.SubtitleListview1_MouseDoubleClick);
- //
// mediaPlayer
//
this.mediaPlayer.AllowDrop = true;
@@ -3451,55 +3480,26 @@
this.mediaPlayer.DragDrop += new System.Windows.Forms.DragEventHandler(this.mediaPlayer_DragDrop);
this.mediaPlayer.DragEnter += new System.Windows.Forms.DragEventHandler(this.mediaPlayer_DragEnter);
//
- // AudioWaveForm
+ // contextMenuStripEmpty
//
- this.AudioWaveForm.AllowDrop = true;
- this.AudioWaveForm.AllowNewSelection = true;
- this.AudioWaveForm.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.AudioWaveForm.BackColor = System.Drawing.Color.Black;
- this.AudioWaveForm.BackgroundColor = System.Drawing.Color.Black;
- this.AudioWaveForm.Color = System.Drawing.Color.GreenYellow;
- this.AudioWaveForm.DrawGridLines = true;
- this.AudioWaveForm.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(18)))));
- this.AudioWaveForm.Location = new System.Drawing.Point(472, 32);
- this.AudioWaveForm.Margin = new System.Windows.Forms.Padding(0);
- this.AudioWaveForm.Name = "AudioWaveForm";
- this.AudioWaveForm.NewSelectionParagraph = null;
- this.AudioWaveForm.SelectedColor = System.Drawing.Color.Red;
- this.AudioWaveForm.ShowSpectrogram = false;
- this.AudioWaveForm.ShowWaveform = false;
- this.AudioWaveForm.Size = new System.Drawing.Size(768, 229);
- this.AudioWaveForm.StartPositionSeconds = 0D;
- this.AudioWaveForm.TabIndex = 6;
- this.AudioWaveForm.TextColor = System.Drawing.Color.Gray;
- this.AudioWaveForm.WaveFormNotLoadedText = "Click to add wave form";
- this.AudioWaveForm.WavePeaks = null;
- this.AudioWaveForm.ZoomFactor = 1D;
- this.AudioWaveForm.Click += new System.EventHandler(this.AudioWaveForm_Click);
- this.AudioWaveForm.DragDrop += new System.Windows.Forms.DragEventHandler(this.AudioWaveForm_DragDrop);
- this.AudioWaveForm.DragEnter += new System.Windows.Forms.DragEventHandler(this.AudioWaveForm_DragEnter);
+ this.contextMenuStripEmpty.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.insertLineToolStripMenuItem});
+ this.contextMenuStripEmpty.Name = "contextMenuStripEmpty";
+ this.contextMenuStripEmpty.Size = new System.Drawing.Size(126, 26);
//
- // timeUpDownVideoPosition
+ // insertLineToolStripMenuItem
//
- this.timeUpDownVideoPosition.AutoSize = true;
- this.timeUpDownVideoPosition.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
- this.timeUpDownVideoPosition.Location = new System.Drawing.Point(86, 192);
- this.timeUpDownVideoPosition.Margin = new System.Windows.Forms.Padding(4);
- this.timeUpDownVideoPosition.Name = "timeUpDownVideoPosition";
- this.timeUpDownVideoPosition.Size = new System.Drawing.Size(92, 25);
- this.timeUpDownVideoPosition.TabIndex = 12;
+ this.insertLineToolStripMenuItem.Name = "insertLineToolStripMenuItem";
+ this.insertLineToolStripMenuItem.Size = new System.Drawing.Size(125, 22);
+ this.insertLineToolStripMenuItem.Text = "Insert line";
+ this.insertLineToolStripMenuItem.Click += new System.EventHandler(this.insertLineToolStripMenuItem_Click);
//
- // timeUpDownVideoPositionAdjust
+ // imageListPlayRate
//
- this.timeUpDownVideoPositionAdjust.AutoSize = true;
- this.timeUpDownVideoPositionAdjust.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
- this.timeUpDownVideoPositionAdjust.Location = new System.Drawing.Point(87, 214);
- this.timeUpDownVideoPositionAdjust.Margin = new System.Windows.Forms.Padding(4);
- this.timeUpDownVideoPositionAdjust.Name = "timeUpDownVideoPositionAdjust";
- this.timeUpDownVideoPositionAdjust.Size = new System.Drawing.Size(92, 25);
- this.timeUpDownVideoPositionAdjust.TabIndex = 13;
+ this.imageListPlayRate.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageListPlayRate.ImageStream")));
+ this.imageListPlayRate.TransparentColor = System.Drawing.Color.Transparent;
+ this.imageListPlayRate.Images.SetKeyName(0, "FastForward.png");
+ this.imageListPlayRate.Images.SetKeyName(1, "FastForwardHighLight.png");
//
// Main
//
diff --git a/src/Forms/Main.cs b/src/Forms/Main.cs
index ca8670369..f69704107 100644
--- a/src/Forms/Main.cs
+++ b/src/Forms/Main.cs
@@ -958,6 +958,9 @@ namespace Nikse.SubtitleEdit.Forms
mergeWithPreviousToolStripMenuItem.Text = Configuration.Settings.Language.WaveForm.MergeWithPrevious;
mergeWithNextToolStripMenuItem.Text = Configuration.Settings.Language.WaveForm.MergeWithNext;
toolStripMenuItemWaveFormPlaySelection.Text = Configuration.Settings.Language.WaveForm.PlaySelection;
+ showWaveformAndSpectrogramToolStripMenuItem.Text = Configuration.Settings.Language.WaveForm.ShowWaveformAndSpectrogram;
+ showOnlyWaveformToolStripMenuItem.Text = Configuration.Settings.Language.WaveForm.ShowWaveformOnly;
+ showOnlySpectrogramToolStripMenuItem.Text = Configuration.Settings.Language.WaveForm.ShowSpectrogramOnly;
toolStripButtonWaveFormZoomOut.ToolTipText = Configuration.Settings.Language.WaveForm.ZoomOut;
toolStripButtonWaveFormZoomIn.ToolTipText = Configuration.Settings.Language.WaveForm.ZoomIn;
diff --git a/src/Forms/Main.resx b/src/Forms/Main.resx
index d0b1c0501..468e94252 100644
--- a/src/Forms/Main.resx
+++ b/src/Forms/Main.resx
@@ -577,9 +577,6 @@
208, 56
-
- 208, 56
-
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
@@ -687,7 +684,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAD2
- CAAAAk1TRnQBSQFMAgEBAgEAAdgBBgHYAQYBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
+ CAAAAk1TRnQBSQFMAgEBAgEAAeABBgHgAQYBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
diff --git a/src/Forms/Settings.Designer.cs b/src/Forms/Settings.Designer.cs
index e230fe870..a7170e501 100644
--- a/src/Forms/Settings.Designer.cs
+++ b/src/Forms/Settings.Designer.cs
@@ -33,6 +33,7 @@
this.tabControlSettings = new System.Windows.Forms.TabControl();
this.tabPageGenerel = new System.Windows.Forms.TabPage();
this.groupBoxMiscellaneous = new System.Windows.Forms.GroupBox();
+ this.checkBoxPromptDeleteLines = new System.Windows.Forms.CheckBox();
this.checkBoxAutoWrapWhileTyping = new System.Windows.Forms.CheckBox();
this.labelMergeShortLines = new System.Windows.Forms.Label();
this.comboBoxMergeShortLineLength = new System.Windows.Forms.ComboBox();
@@ -209,7 +210,8 @@
this.colorDialogSSAStyle = new System.Windows.Forms.ColorDialog();
this.fontDialogSSAStyle = new System.Windows.Forms.FontDialog();
this.labelStatus = new System.Windows.Forms.Label();
- this.checkBoxPromptDeleteLines = new System.Windows.Forms.CheckBox();
+ this.groupBoxSpectrogram = new System.Windows.Forms.GroupBox();
+ this.checkBoxGenerateSpectrogram = new System.Windows.Forms.CheckBox();
this.tabControlSettings.SuspendLayout();
this.tabPageGenerel.SuspendLayout();
this.groupBoxMiscellaneous.SuspendLayout();
@@ -250,6 +252,7 @@
this.groupBoxProxyAuthentication.SuspendLayout();
this.tabPageShortcuts.SuspendLayout();
this.groupBoxShortcuts.SuspendLayout();
+ this.groupBoxSpectrogram.SuspendLayout();
this.SuspendLayout();
//
// buttonOK
@@ -347,6 +350,16 @@
this.groupBoxMiscellaneous.TabStop = false;
this.groupBoxMiscellaneous.Text = "Miscellaneous";
//
+ // checkBoxPromptDeleteLines
+ //
+ this.checkBoxPromptDeleteLines.AutoSize = true;
+ this.checkBoxPromptDeleteLines.Location = new System.Drawing.Point(436, 319);
+ this.checkBoxPromptDeleteLines.Name = "checkBoxPromptDeleteLines";
+ this.checkBoxPromptDeleteLines.Size = new System.Drawing.Size(142, 17);
+ this.checkBoxPromptDeleteLines.TabIndex = 40;
+ this.checkBoxPromptDeleteLines.Text = "Prompt for deleting lines";
+ this.checkBoxPromptDeleteLines.UseVisualStyleBackColor = true;
+ //
// checkBoxAutoWrapWhileTyping
//
this.checkBoxAutoWrapWhileTyping.AutoSize = true;
@@ -730,7 +743,7 @@
this.checkBoxShowFrameRate.AutoSize = true;
this.checkBoxShowFrameRate.Location = new System.Drawing.Point(16, 29);
this.checkBoxShowFrameRate.Name = "checkBoxShowFrameRate";
- this.checkBoxShowFrameRate.Size = new System.Drawing.Size(149, 17);
+ this.checkBoxShowFrameRate.Size = new System.Drawing.Size(154, 17);
this.checkBoxShowFrameRate.TabIndex = 34;
this.checkBoxShowFrameRate.Text = "Show frame rate in toolbar";
this.checkBoxShowFrameRate.UseVisualStyleBackColor = true;
@@ -796,7 +809,7 @@
this.checkBoxHelp.AutoSize = true;
this.checkBoxHelp.Location = new System.Drawing.Point(596, 80);
this.checkBoxHelp.Name = "checkBoxHelp";
- this.checkBoxHelp.Size = new System.Drawing.Size(56, 17);
+ this.checkBoxHelp.Size = new System.Drawing.Size(55, 17);
this.checkBoxHelp.TabIndex = 31;
this.checkBoxHelp.Text = "Visible";
this.checkBoxHelp.UseVisualStyleBackColor = true;
@@ -823,7 +836,7 @@
this.checkBoxSettings.AutoSize = true;
this.checkBoxSettings.Location = new System.Drawing.Point(532, 80);
this.checkBoxSettings.Name = "checkBoxSettings";
- this.checkBoxSettings.Size = new System.Drawing.Size(56, 17);
+ this.checkBoxSettings.Size = new System.Drawing.Size(55, 17);
this.checkBoxSettings.TabIndex = 28;
this.checkBoxSettings.Text = "Visible";
this.checkBoxSettings.UseVisualStyleBackColor = true;
@@ -850,7 +863,7 @@
this.checkBoxSpellCheck.AutoSize = true;
this.checkBoxSpellCheck.Location = new System.Drawing.Point(464, 80);
this.checkBoxSpellCheck.Name = "checkBoxSpellCheck";
- this.checkBoxSpellCheck.Size = new System.Drawing.Size(56, 17);
+ this.checkBoxSpellCheck.Size = new System.Drawing.Size(55, 17);
this.checkBoxSpellCheck.TabIndex = 26;
this.checkBoxSpellCheck.Text = "Visible";
this.checkBoxSpellCheck.UseVisualStyleBackColor = true;
@@ -877,7 +890,7 @@
this.checkBoxVisualSync.AutoSize = true;
this.checkBoxVisualSync.Location = new System.Drawing.Point(398, 80);
this.checkBoxVisualSync.Name = "checkBoxVisualSync";
- this.checkBoxVisualSync.Size = new System.Drawing.Size(56, 17);
+ this.checkBoxVisualSync.Size = new System.Drawing.Size(55, 17);
this.checkBoxVisualSync.TabIndex = 19;
this.checkBoxVisualSync.Text = "Visible";
this.checkBoxVisualSync.UseVisualStyleBackColor = true;
@@ -904,7 +917,7 @@
this.checkBoxReplace.AutoSize = true;
this.checkBoxReplace.Location = new System.Drawing.Point(335, 80);
this.checkBoxReplace.Name = "checkBoxReplace";
- this.checkBoxReplace.Size = new System.Drawing.Size(56, 17);
+ this.checkBoxReplace.Size = new System.Drawing.Size(55, 17);
this.checkBoxReplace.TabIndex = 16;
this.checkBoxReplace.Text = "Visible";
this.checkBoxReplace.UseVisualStyleBackColor = true;
@@ -931,7 +944,7 @@
this.checkBoxToolbarFind.AutoSize = true;
this.checkBoxToolbarFind.Location = new System.Drawing.Point(272, 80);
this.checkBoxToolbarFind.Name = "checkBoxToolbarFind";
- this.checkBoxToolbarFind.Size = new System.Drawing.Size(56, 17);
+ this.checkBoxToolbarFind.Size = new System.Drawing.Size(55, 17);
this.checkBoxToolbarFind.TabIndex = 13;
this.checkBoxToolbarFind.Text = "Visible";
this.checkBoxToolbarFind.UseVisualStyleBackColor = true;
@@ -958,7 +971,7 @@
this.checkBoxToolbarSaveAs.AutoSize = true;
this.checkBoxToolbarSaveAs.Location = new System.Drawing.Point(209, 80);
this.checkBoxToolbarSaveAs.Name = "checkBoxToolbarSaveAs";
- this.checkBoxToolbarSaveAs.Size = new System.Drawing.Size(56, 17);
+ this.checkBoxToolbarSaveAs.Size = new System.Drawing.Size(55, 17);
this.checkBoxToolbarSaveAs.TabIndex = 10;
this.checkBoxToolbarSaveAs.Text = "Visible";
this.checkBoxToolbarSaveAs.UseVisualStyleBackColor = true;
@@ -985,7 +998,7 @@
this.checkBoxToolbarSave.AutoSize = true;
this.checkBoxToolbarSave.Location = new System.Drawing.Point(146, 80);
this.checkBoxToolbarSave.Name = "checkBoxToolbarSave";
- this.checkBoxToolbarSave.Size = new System.Drawing.Size(56, 17);
+ this.checkBoxToolbarSave.Size = new System.Drawing.Size(55, 17);
this.checkBoxToolbarSave.TabIndex = 7;
this.checkBoxToolbarSave.Text = "Visible";
this.checkBoxToolbarSave.UseVisualStyleBackColor = true;
@@ -1012,7 +1025,7 @@
this.checkBoxToolbarOpen.AutoSize = true;
this.checkBoxToolbarOpen.Location = new System.Drawing.Point(83, 80);
this.checkBoxToolbarOpen.Name = "checkBoxToolbarOpen";
- this.checkBoxToolbarOpen.Size = new System.Drawing.Size(56, 17);
+ this.checkBoxToolbarOpen.Size = new System.Drawing.Size(55, 17);
this.checkBoxToolbarOpen.TabIndex = 4;
this.checkBoxToolbarOpen.Text = "Visible";
this.checkBoxToolbarOpen.UseVisualStyleBackColor = true;
@@ -1039,7 +1052,7 @@
this.checkBoxToolbarNew.AutoSize = true;
this.checkBoxToolbarNew.Location = new System.Drawing.Point(20, 80);
this.checkBoxToolbarNew.Name = "checkBoxToolbarNew";
- this.checkBoxToolbarNew.Size = new System.Drawing.Size(56, 17);
+ this.checkBoxToolbarNew.Size = new System.Drawing.Size(55, 17);
this.checkBoxToolbarNew.TabIndex = 1;
this.checkBoxToolbarNew.Text = "Visible";
this.checkBoxToolbarNew.UseVisualStyleBackColor = true;
@@ -1150,7 +1163,7 @@
this.checkBoxVideoPlayerShowStopButton.AutoSize = true;
this.checkBoxVideoPlayerShowStopButton.Location = new System.Drawing.Point(9, 19);
this.checkBoxVideoPlayerShowStopButton.Name = "checkBoxVideoPlayerShowStopButton";
- this.checkBoxVideoPlayerShowStopButton.Size = new System.Drawing.Size(109, 17);
+ this.checkBoxVideoPlayerShowStopButton.Size = new System.Drawing.Size(111, 17);
this.checkBoxVideoPlayerShowStopButton.TabIndex = 10;
this.checkBoxVideoPlayerShowStopButton.Text = "Show stop button";
this.checkBoxVideoPlayerShowStopButton.UseVisualStyleBackColor = true;
@@ -1217,7 +1230,7 @@
this.radioButtonVideoPlayerVLC.AutoSize = true;
this.radioButtonVideoPlayerVLC.Location = new System.Drawing.Point(10, 46);
this.radioButtonVideoPlayerVLC.Name = "radioButtonVideoPlayerVLC";
- this.radioButtonVideoPlayerVLC.Size = new System.Drawing.Size(45, 17);
+ this.radioButtonVideoPlayerVLC.Size = new System.Drawing.Size(43, 17);
this.radioButtonVideoPlayerVLC.TabIndex = 4;
this.radioButtonVideoPlayerVLC.TabStop = true;
this.radioButtonVideoPlayerVLC.Text = "VLC";
@@ -1273,7 +1286,7 @@
this.radioButtonVideoPlayerDirectShow.AutoSize = true;
this.radioButtonVideoPlayerDirectShow.Location = new System.Drawing.Point(10, 23);
this.radioButtonVideoPlayerDirectShow.Name = "radioButtonVideoPlayerDirectShow";
- this.radioButtonVideoPlayerDirectShow.Size = new System.Drawing.Size(83, 17);
+ this.radioButtonVideoPlayerDirectShow.Size = new System.Drawing.Size(82, 17);
this.radioButtonVideoPlayerDirectShow.TabIndex = 1;
this.radioButtonVideoPlayerDirectShow.TabStop = true;
this.radioButtonVideoPlayerDirectShow.Text = "DirectShow ";
@@ -1284,7 +1297,7 @@
this.radioButtonVideoPlayerManagedDirectX.AutoSize = true;
this.radioButtonVideoPlayerManagedDirectX.Location = new System.Drawing.Point(10, 90);
this.radioButtonVideoPlayerManagedDirectX.Name = "radioButtonVideoPlayerManagedDirectX";
- this.radioButtonVideoPlayerManagedDirectX.Size = new System.Drawing.Size(108, 17);
+ this.radioButtonVideoPlayerManagedDirectX.Size = new System.Drawing.Size(106, 17);
this.radioButtonVideoPlayerManagedDirectX.TabIndex = 6;
this.radioButtonVideoPlayerManagedDirectX.TabStop = true;
this.radioButtonVideoPlayerManagedDirectX.Text = "Managed DirectX";
@@ -1293,22 +1306,23 @@
//
// tabPageWaveForm
//
+ this.tabPageWaveForm.Controls.Add(this.groupBoxSpectrogram);
this.tabPageWaveForm.Controls.Add(this.groupBox1);
this.tabPageWaveForm.Controls.Add(this.groupBoxWaveFormAppearence);
this.tabPageWaveForm.Location = new System.Drawing.Point(4, 22);
this.tabPageWaveForm.Name = "tabPageWaveForm";
this.tabPageWaveForm.Size = new System.Drawing.Size(798, 411);
this.tabPageWaveForm.TabIndex = 6;
- this.tabPageWaveForm.Text = "Wave form";
+ this.tabPageWaveForm.Text = "Waveform/spectrogram";
this.tabPageWaveForm.UseVisualStyleBackColor = true;
//
// groupBox1
//
this.groupBox1.Controls.Add(this.buttonWaveFormsFolderEmpty);
this.groupBox1.Controls.Add(this.labelWaveFormsFolderInfo);
- this.groupBox1.Location = new System.Drawing.Point(6, 216);
+ this.groupBox1.Location = new System.Drawing.Point(6, 325);
this.groupBox1.Name = "groupBox1";
- this.groupBox1.Size = new System.Drawing.Size(786, 192);
+ this.groupBox1.Size = new System.Drawing.Size(786, 77);
this.groupBox1.TabIndex = 3;
this.groupBox1.TabStop = false;
//
@@ -1484,7 +1498,7 @@
this.checkBoxSpellCheckAutoChangeNames.AutoSize = true;
this.checkBoxSpellCheckAutoChangeNames.Location = new System.Drawing.Point(15, 20);
this.checkBoxSpellCheckAutoChangeNames.Name = "checkBoxSpellCheckAutoChangeNames";
- this.checkBoxSpellCheckAutoChangeNames.Size = new System.Drawing.Size(209, 17);
+ this.checkBoxSpellCheckAutoChangeNames.Size = new System.Drawing.Size(216, 17);
this.checkBoxSpellCheckAutoChangeNames.TabIndex = 0;
this.checkBoxSpellCheckAutoChangeNames.Text = "Auto fix names where only casing differ";
this.checkBoxSpellCheckAutoChangeNames.UseVisualStyleBackColor = true;
@@ -1508,7 +1522,7 @@
this.checkBoxFixCommonOcrErrorsUsingHardcodedRules.AutoSize = true;
this.checkBoxFixCommonOcrErrorsUsingHardcodedRules.Location = new System.Drawing.Point(15, 115);
this.checkBoxFixCommonOcrErrorsUsingHardcodedRules.Name = "checkBoxFixCommonOcrErrorsUsingHardcodedRules";
- this.checkBoxFixCommonOcrErrorsUsingHardcodedRules.Size = new System.Drawing.Size(264, 17);
+ this.checkBoxFixCommonOcrErrorsUsingHardcodedRules.Size = new System.Drawing.Size(268, 17);
this.checkBoxFixCommonOcrErrorsUsingHardcodedRules.TabIndex = 2;
this.checkBoxFixCommonOcrErrorsUsingHardcodedRules.Text = "Fix common OCR errors - also use hardcoded rules";
this.checkBoxFixCommonOcrErrorsUsingHardcodedRules.UseVisualStyleBackColor = true;
@@ -1791,7 +1805,7 @@
this.checkBoxNamesEtcOnline.AutoSize = true;
this.checkBoxNamesEtcOnline.Location = new System.Drawing.Point(7, 22);
this.checkBoxNamesEtcOnline.Name = "checkBoxNamesEtcOnline";
- this.checkBoxNamesEtcOnline.Size = new System.Drawing.Size(162, 17);
+ this.checkBoxNamesEtcOnline.Size = new System.Drawing.Size(163, 17);
this.checkBoxNamesEtcOnline.TabIndex = 26;
this.checkBoxNamesEtcOnline.Text = "Use online names etc xml file";
this.checkBoxNamesEtcOnline.UseVisualStyleBackColor = true;
@@ -2175,7 +2189,7 @@
this.checkBoxShortcutsShift.Enabled = false;
this.checkBoxShortcutsShift.Location = new System.Drawing.Point(243, 366);
this.checkBoxShortcutsShift.Name = "checkBoxShortcutsShift";
- this.checkBoxShortcutsShift.Size = new System.Drawing.Size(47, 17);
+ this.checkBoxShortcutsShift.Size = new System.Drawing.Size(48, 17);
this.checkBoxShortcutsShift.TabIndex = 3;
this.checkBoxShortcutsShift.Text = "Shift";
this.checkBoxShortcutsShift.UseVisualStyleBackColor = true;
@@ -2186,7 +2200,7 @@
this.checkBoxShortcutsAlt.Enabled = false;
this.checkBoxShortcutsAlt.Location = new System.Drawing.Point(174, 366);
this.checkBoxShortcutsAlt.Name = "checkBoxShortcutsAlt";
- this.checkBoxShortcutsAlt.Size = new System.Drawing.Size(38, 17);
+ this.checkBoxShortcutsAlt.Size = new System.Drawing.Size(39, 17);
this.checkBoxShortcutsAlt.TabIndex = 2;
this.checkBoxShortcutsAlt.Text = "Alt";
this.checkBoxShortcutsAlt.UseVisualStyleBackColor = true;
@@ -2197,7 +2211,7 @@
this.checkBoxShortcutsControl.Enabled = false;
this.checkBoxShortcutsControl.Location = new System.Drawing.Point(87, 367);
this.checkBoxShortcutsControl.Name = "checkBoxShortcutsControl";
- this.checkBoxShortcutsControl.Size = new System.Drawing.Size(59, 17);
+ this.checkBoxShortcutsControl.Size = new System.Drawing.Size(61, 17);
this.checkBoxShortcutsControl.TabIndex = 1;
this.checkBoxShortcutsControl.Text = "Control";
this.checkBoxShortcutsControl.UseVisualStyleBackColor = true;
@@ -2240,15 +2254,25 @@
this.labelStatus.TabIndex = 3;
this.labelStatus.Text = "labelStatus";
//
- // checkBoxPromptDeleteLines
+ // groupBoxSpectrogram
//
- this.checkBoxPromptDeleteLines.AutoSize = true;
- this.checkBoxPromptDeleteLines.Location = new System.Drawing.Point(436, 319);
- this.checkBoxPromptDeleteLines.Name = "checkBoxPromptDeleteLines";
- this.checkBoxPromptDeleteLines.Size = new System.Drawing.Size(142, 17);
- this.checkBoxPromptDeleteLines.TabIndex = 40;
- this.checkBoxPromptDeleteLines.Text = "Prompt for deleting lines";
- this.checkBoxPromptDeleteLines.UseVisualStyleBackColor = true;
+ this.groupBoxSpectrogram.Controls.Add(this.checkBoxGenerateSpectrogram);
+ this.groupBoxSpectrogram.Location = new System.Drawing.Point(6, 216);
+ this.groupBoxSpectrogram.Name = "groupBoxSpectrogram";
+ this.groupBoxSpectrogram.Size = new System.Drawing.Size(786, 103);
+ this.groupBoxSpectrogram.TabIndex = 4;
+ this.groupBoxSpectrogram.TabStop = false;
+ this.groupBoxSpectrogram.Text = "Spectrogram";
+ //
+ // checkBoxGenerateSpectrogram
+ //
+ this.checkBoxGenerateSpectrogram.AutoSize = true;
+ this.checkBoxGenerateSpectrogram.Location = new System.Drawing.Point(10, 20);
+ this.checkBoxGenerateSpectrogram.Name = "checkBoxGenerateSpectrogram";
+ this.checkBoxGenerateSpectrogram.Size = new System.Drawing.Size(134, 17);
+ this.checkBoxGenerateSpectrogram.TabIndex = 11;
+ this.checkBoxGenerateSpectrogram.Text = "Generate spectrogram";
+ this.checkBoxGenerateSpectrogram.UseVisualStyleBackColor = true;
//
// Settings
//
@@ -2327,6 +2351,8 @@
this.tabPageShortcuts.ResumeLayout(false);
this.groupBoxShortcuts.ResumeLayout(false);
this.groupBoxShortcuts.PerformLayout();
+ this.groupBoxSpectrogram.ResumeLayout(false);
+ this.groupBoxSpectrogram.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
@@ -2516,5 +2542,7 @@
private System.Windows.Forms.CheckBox checkBoxShortcutsAlt;
private System.Windows.Forms.CheckBox checkBoxShortcutsControl;
private System.Windows.Forms.CheckBox checkBoxPromptDeleteLines;
+ private System.Windows.Forms.GroupBox groupBoxSpectrogram;
+ private System.Windows.Forms.CheckBox checkBoxGenerateSpectrogram;
}
}
\ No newline at end of file
diff --git a/src/Forms/Settings.cs b/src/Forms/Settings.cs
index a6304e706..59c1772b6 100644
--- a/src/Forms/Settings.cs
+++ b/src/Forms/Settings.cs
@@ -146,7 +146,7 @@ namespace Nikse.SubtitleEdit.Forms
Text = language.Title;
tabPageGenerel.Text = language.General;
tabPageVideoPlayer.Text = language.VideoPlayer;
- tabPageWaveForm.Text = language.WaveForm;
+ tabPageWaveForm.Text = language.WaveformAndSpectrogram;
tabPageWordLists.Text = language.WordLists;
tabPageTools.Text = language.Tools;
tabPageSsaStyle.Text = language.SsaStyle;
@@ -236,6 +236,8 @@ namespace Nikse.SubtitleEdit.Forms
buttonWaveFormSelectedColor.Text = language.WaveFormSelectedColor;
buttonWaveFormTextColor.Text = language.WaveFormTextColor;
buttonWaveFormBackgroundColor.Text = language.WaveFormBackgroundColor;
+ groupBoxSpectrogram.Text = language.Spectrogram;
+ checkBoxGenerateSpectrogram.Text = language.GenerateSpectrogram;
buttonWaveFormsFolderEmpty.Text = language.WaveFormsFolderEmpty;
InitializeWaveFormsFolderEmpty(language);
@@ -404,7 +406,7 @@ namespace Nikse.SubtitleEdit.Forms
panelWaveFormColor.BackColor = Configuration.Settings.VideoControls.WaveFormColor;
panelWaveFormBackgroundColor.BackColor = Configuration.Settings.VideoControls.WaveFormBackgroundColor;
panelWaveFormTextColor.BackColor = Configuration.Settings.VideoControls.WaveFormTextColor;
-
+ checkBoxGenerateSpectrogram.Checked = Configuration.Settings.VideoControls.GenerateSpectrogram;
//Control+N
//Control+O
@@ -507,6 +509,26 @@ namespace Nikse.SubtitleEdit.Forms
long bytes = 0;
int count = 0;
DirectoryInfo di = new DirectoryInfo(waveFormsFolder);
+
+ // spectrum data
+ foreach (DirectoryInfo dir in di.GetDirectories())
+ {
+ DirectoryInfo spectrogramDir = new DirectoryInfo(dir.FullName);
+ foreach (FileInfo fi in spectrogramDir.GetFiles("*.gif"))
+ {
+ bytes += fi.Length;
+ count++;
+ }
+ string xmlFileName = Path.Combine(dir.FullName, "Info.xml");
+ if (File.Exists(xmlFileName))
+ {
+ FileInfo fi = new FileInfo(xmlFileName);
+ bytes += fi.Length;
+ count++;
+ }
+ }
+
+ // waveform data
foreach (FileInfo fi in di.GetFiles("*.wav"))
{
bytes += fi.Length;
@@ -742,7 +764,7 @@ namespace Nikse.SubtitleEdit.Forms
Configuration.Settings.VideoControls.WaveFormColor = panelWaveFormColor.BackColor;
Configuration.Settings.VideoControls.WaveFormBackgroundColor = panelWaveFormBackgroundColor.BackColor;
Configuration.Settings.VideoControls.WaveFormTextColor = panelWaveFormTextColor.BackColor;
-
+ Configuration.Settings.VideoControls.GenerateSpectrogram = checkBoxGenerateSpectrogram.Checked;
//Main File
foreach (TreeNode node in treeViewShortcuts.Nodes[0].Nodes)
@@ -1512,6 +1534,20 @@ namespace Nikse.SubtitleEdit.Forms
if (Directory.Exists(waveFormsFolder))
{
DirectoryInfo di = new DirectoryInfo(waveFormsFolder);
+
+ foreach (DirectoryInfo dir in di.GetDirectories())
+ {
+ DirectoryInfo spectrogramDir = new DirectoryInfo(dir.FullName);
+ foreach (FileInfo fileName in spectrogramDir.GetFiles("*.gif"))
+ {
+ File.Delete(fileName.FullName);
+ }
+ string xmlFileName = Path.Combine(dir.FullName, "Info.xml");
+ if (File.Exists(xmlFileName))
+ File.Delete(xmlFileName);
+ Directory.Delete(dir.FullName);
+ }
+
foreach (FileInfo fileName in di.GetFiles("*.wav"))
{
try
diff --git a/src/Logic/Language.cs b/src/Logic/Language.cs
index 43fce16d4..aeb3352b2 100644
--- a/src/Logic/Language.cs
+++ b/src/Logic/Language.cs
@@ -1092,7 +1092,7 @@ can edit in same subtitle file (collaboration)",
General = "General",
Toolbar = "Toolbar",
VideoPlayer = "Video player",
- WaveForm = "Wave form",
+ WaveformAndSpectrogram = "Waveform/spectrogram",
Tools = "Tools",
WordLists = "Word lists",
SsaStyle = "SSA Style",
@@ -1162,6 +1162,8 @@ can edit in same subtitle file (collaboration)",
WaveFormTextColor = "Text color",
WaveFormsFolderEmpty = "Empty 'WaveForms' folder",
WaveFormsFolderInfo = "'WaveForms' folder contains {0} files ({1:0.00} MB)",
+ Spectrogram = "Spectrogram",
+ GenerateSpectrogram = "Generate spectrogram",
SubStationAlphaStyle = "Sub Station Alpha style",
ChooseFont = "Choose font",
ChooseColor = "Choose color",
@@ -1414,6 +1416,9 @@ can edit in same subtitle file (collaboration)",
MergeWithPrevious = "Merge with previous",
MergeWithNext = "Merge with next",
PlaySelection = "Play selection",
+ ShowWaveformAndSpectrogram = "Show waveform and spectrogram",
+ ShowWaveformOnly = "Show waveform only",
+ ShowSpectrogramOnly = "Show spectrogram only",
};
}
diff --git a/src/Logic/LanguageStructure.cs b/src/Logic/LanguageStructure.cs
index 8593e1774..ae0c16927 100644
--- a/src/Logic/LanguageStructure.cs
+++ b/src/Logic/LanguageStructure.cs
@@ -1026,7 +1026,7 @@
public string General { get; set; }
public string Toolbar { get; set; }
public string VideoPlayer { get; set; }
- public string WaveForm { get; set; }
+ public string WaveformAndSpectrogram { get; set; }
public string Tools { get; set; }
public string WordLists { get; set; }
public string SsaStyle { get; set; }
@@ -1096,6 +1096,8 @@
public string WaveFormTextColor { get; set; }
public string WaveFormsFolderEmpty { get; set; }
public string WaveFormsFolderInfo { get; set; }
+ public string Spectrogram { get; set; }
+ public string GenerateSpectrogram { get; set; }
public string SubStationAlphaStyle { get; set; }
public string ChooseFont { get; set; }
public string ChooseColor { get; set; }
@@ -1348,6 +1350,9 @@
public string MergeWithPrevious { get; set; }
public string MergeWithNext { get; set; }
public string PlaySelection { get; set; }
+ public string ShowWaveformAndSpectrogram { get; set; }
+ public string ShowWaveformOnly { get; set; }
+ public string ShowSpectrogramOnly { get; set; }
}
}
diff --git a/src/Logic/Settings.cs b/src/Logic/Settings.cs
index 5dcca73b4..b1ebb650a 100644
--- a/src/Logic/Settings.cs
+++ b/src/Logic/Settings.cs
@@ -259,7 +259,6 @@ namespace Nikse.SubtitleEdit.Logic
public int SmallDelayMilliseconds { get; set; }
public int LargeDelayMilliseconds { get; set; }
public bool ShowOriginalAsPreviewIfAvailable { get; set; }
- public bool GenerateSpectrogram { get; set; }
public GeneralSettings()
{
@@ -337,7 +336,8 @@ namespace Nikse.SubtitleEdit.Logic
public Color WaveFormTextColor { get; set; }
public string WaveFormDoubleClickOnNonParagraphAction { get; set; }
public string WaveFormRightClickOnNonParagraphAction { get; set; }
- public bool WaveFormMouseWheelScrollUpIsForward { get; set; }
+ public bool WaveFormMouseWheelScrollUpIsForward { get; set; }
+ public bool GenerateSpectrogram { get; set; }
public VideoControlsSettings()
{
@@ -783,9 +783,6 @@ namespace Nikse.SubtitleEdit.Logic
subNode = node.SelectSingleNode("ShowOriginalAsPreviewIfAvailable");
if (subNode != null)
settings.General.ShowOriginalAsPreviewIfAvailable = Convert.ToBoolean(subNode.InnerText);
- subNode = node.SelectSingleNode("GenerateSpectrogram");
- if (subNode != null)
- settings.General.GenerateSpectrogram = Convert.ToBoolean(subNode.InnerText);
settings.Tools = new Nikse.SubtitleEdit.Logic.ToolsSettings();
node = doc.DocumentElement.SelectSingleNode("Tools");
@@ -977,7 +974,10 @@ namespace Nikse.SubtitleEdit.Logic
settings.VideoControls.WaveFormRightClickOnNonParagraphAction = subNode.InnerText;
subNode = node.SelectSingleNode("WaveFormMouseWheelScrollUpIsForward");
if (subNode != null)
- settings.VideoControls.WaveFormMouseWheelScrollUpIsForward = Convert.ToBoolean(subNode.InnerText);
+ settings.VideoControls.WaveFormMouseWheelScrollUpIsForward = Convert.ToBoolean(subNode.InnerText);
+ subNode = node.SelectSingleNode("GenerateSpectrogram");
+ if (subNode != null)
+ settings.VideoControls.GenerateSpectrogram = Convert.ToBoolean(subNode.InnerText);
settings.NetworkSettings = new NetworkSettings();
node = doc.DocumentElement.SelectSingleNode("NetworkSettings");
@@ -1198,7 +1198,6 @@ namespace Nikse.SubtitleEdit.Logic
textWriter.WriteElementString("SmallDelayMilliseconds", settings.General.SmallDelayMilliseconds.ToString());
textWriter.WriteElementString("LargeDelayMilliseconds", settings.General.LargeDelayMilliseconds.ToString());
textWriter.WriteElementString("ShowOriginalAsPreviewIfAvailable", settings.General.ShowOriginalAsPreviewIfAvailable.ToString());
- textWriter.WriteElementString("GenerateSpectrogram", settings.General.GenerateSpectrogram.ToString());
textWriter.WriteEndElement();
textWriter.WriteStartElement("Tools", "");
@@ -1274,8 +1273,8 @@ namespace Nikse.SubtitleEdit.Logic
textWriter.WriteElementString("WaveFormTextColor", settings.VideoControls.WaveFormTextColor.ToArgb().ToString());
textWriter.WriteElementString("WaveFormDoubleClickOnNonParagraphAction", settings.VideoControls.WaveFormDoubleClickOnNonParagraphAction);
textWriter.WriteElementString("WaveFormRightClickOnNonParagraphAction", settings.VideoControls.WaveFormRightClickOnNonParagraphAction);
- textWriter.WriteElementString("WaveFormMouseWheelScrollUpIsForward", settings.VideoControls.WaveFormMouseWheelScrollUpIsForward.ToString());
-
+ textWriter.WriteElementString("WaveFormMouseWheelScrollUpIsForward", settings.VideoControls.WaveFormMouseWheelScrollUpIsForward.ToString());
+ textWriter.WriteElementString("GenerateSpectrogram", settings.VideoControls.GenerateSpectrogram.ToString());
textWriter.WriteEndElement();
textWriter.WriteStartElement("NetworkSettings", "");
diff --git a/src/SubtitleEdit.csproj b/src/SubtitleEdit.csproj
index 7e2633061..8a51877a3 100644
--- a/src/SubtitleEdit.csproj
+++ b/src/SubtitleEdit.csproj
@@ -46,7 +46,7 @@
prompt
4
true
- x86
+ x64
pdbonly
@@ -58,6 +58,7 @@
true
x86
true
+ Off
false