Expose Go to previous/next subtitle to waveform contextmenu

This commit is contained in:
Martijn van Berkel (Flitskikker) 2020-04-01 00:38:59 +02:00
parent 80d9176a04
commit 8889744edb
7 changed files with 188 additions and 120 deletions

View File

@ -2555,6 +2555,8 @@ Keep changes?</KeepChangesMessage>
<AddParagraphHereAndPasteText>Add text from clipboard here</AddParagraphHereAndPasteText>
<SetParagraphAsSelection>Set current as new selection</SetParagraphAsSelection>
<FocusTextBox>Focus text box</FocusTextBox>
<GoToPrevious>Go to previous subtitle</GoToPrevious>
<GoToNext>Go to next subtitle</GoToNext>
<DeleteParagraph>Delete text</DeleteParagraph>
<Split>Split</Split>
<SplitAtCursor>Split at cursor</SplitAtCursor>

View File

@ -2904,6 +2904,8 @@ Keep changes?",
AddParagraphHereAndPasteText = "Add text from clipboard here",
SetParagraphAsSelection = "Set current as new selection",
FocusTextBox = "Focus text box",
GoToPrevious = "Go to previous subtitle",
GoToNext = "Go to next subtitle",
DeleteParagraph = "Delete text",
Split = "Split",
SplitAtCursor = "Split at cursor",

View File

@ -6907,6 +6907,12 @@ namespace Nikse.SubtitleEdit.Core
case "Waveform/FocusTextBox":
language.Waveform.FocusTextBox = reader.Value;
break;
case "Waveform/GoToPrevious":
language.Waveform.GoToPrevious = reader.Value;
break;
case "Waveform/GoToNext":
language.Waveform.GoToNext = reader.Value;
break;
case "Waveform/DeleteParagraph":
language.Waveform.DeleteParagraph = reader.Value;
break;

View File

@ -2771,6 +2771,8 @@
public string AddParagraphHereAndPasteText { get; set; }
public string SetParagraphAsSelection { get; set; }
public string FocusTextBox { get; set; }
public string GoToPrevious { get; set; }
public string GoToNext { get; set; }
public string DeleteParagraph { get; set; }
public string Split { get; set; }
public string SplitAtCursor { get; set; }

View File

@ -285,6 +285,9 @@
this.toolStripMenuItemMergeDialog = new System.Windows.Forms.ToolStripMenuItem();
this.mergeBeforeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.mergeAfterToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator();
this.extendBeforeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.extendAfterToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator8 = new System.Windows.Forms.ToolStripSeparator();
this.removeFormattinglToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.removeAllFormattingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@ -412,6 +415,9 @@
this.mergeWithPreviousToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.mergeWithNextToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator11 = new System.Windows.Forms.ToolStripSeparator();
this.extendToPreviousToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.extendToNextToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator6 = 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();
@ -511,12 +517,8 @@
this.imageListPlayRate = new System.Windows.Forms.ImageList(this.components);
this.timerTextUndo = new System.Windows.Forms.Timer(this.components);
this.timerAlternateTextUndo = new System.Windows.Forms.Timer(this.components);
this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator();
this.extendAfterToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.extendBeforeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator();
this.extendToNextToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.extendToPreviousToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.goToPreviousSubtitleStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.goToNextSubtitleStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.statusStrip1.SuspendLayout();
this.toolStrip1.SuspendLayout();
this.menuStrip1.SuspendLayout();
@ -2445,7 +2447,7 @@
this.changeCasingForSelectedLinesToolStripMenuItem,
this.toolStripMenuItemSaveSelectedLines});
this.contextMenuStripListview.Name = "contextMenuStripListview";
this.contextMenuStripListview.Size = new System.Drawing.Size(285, 964);
this.contextMenuStripListview.Size = new System.Drawing.Size(285, 942);
this.contextMenuStripListview.Closed += new System.Windows.Forms.ToolStripDropDownClosedEventHandler(this.MenuClosed);
this.contextMenuStripListview.Opening += new System.ComponentModel.CancelEventHandler(this.ContextMenuStripListviewOpening);
this.contextMenuStripListview.Opened += new System.EventHandler(this.MenuOpened);
@ -2651,6 +2653,25 @@
this.mergeAfterToolStripMenuItem.Text = "Merge with line after";
this.mergeAfterToolStripMenuItem.Click += new System.EventHandler(this.MergeAfterToolStripMenuItemClick);
//
// toolStripSeparator4
//
this.toolStripSeparator4.Name = "toolStripSeparator4";
this.toolStripSeparator4.Size = new System.Drawing.Size(281, 6);
//
// extendBeforeToolStripMenuItem
//
this.extendBeforeToolStripMenuItem.Name = "extendBeforeToolStripMenuItem";
this.extendBeforeToolStripMenuItem.Size = new System.Drawing.Size(284, 22);
this.extendBeforeToolStripMenuItem.Text = "Extend to line before";
this.extendBeforeToolStripMenuItem.Click += new System.EventHandler(this.ExtendBeforeToolStripMenuItemClick);
//
// extendAfterToolStripMenuItem
//
this.extendAfterToolStripMenuItem.Name = "extendAfterToolStripMenuItem";
this.extendAfterToolStripMenuItem.Size = new System.Drawing.Size(284, 22);
this.extendAfterToolStripMenuItem.Text = "Extend to line after";
this.extendAfterToolStripMenuItem.Click += new System.EventHandler(this.ExtendAfterToolStripMenuItemClick);
//
// toolStripSeparator8
//
this.toolStripSeparator8.Name = "toolStripSeparator8";
@ -3892,6 +3913,8 @@
this.addParagraphAndPasteToolStripMenuItem,
this.toolStripMenuItemSetParagraphAsSelection,
this.toolStripMenuItemFocusTextbox,
this.goToPreviousSubtitleStripMenuItem,
this.goToNextSubtitleStripMenuItem,
this.deleteParagraphToolStripMenuItem,
this.splitToolStripMenuItem1,
this.mergeWithPreviousToolStripMenuItem,
@ -3912,7 +3935,7 @@
this.seekSilenceToolStripMenuItem,
this.insertSubtitleHereToolStripMenuItem});
this.contextMenuStripWaveform.Name = "contextMenuStripWaveform";
this.contextMenuStripWaveform.Size = new System.Drawing.Size(275, 446);
this.contextMenuStripWaveform.Size = new System.Drawing.Size(275, 512);
this.contextMenuStripWaveform.Closing += new System.Windows.Forms.ToolStripDropDownClosingEventHandler(this.contextMenuStripWaveform_Closing);
this.contextMenuStripWaveform.Opening += new System.ComponentModel.CancelEventHandler(this.ContextMenuStripWaveformOpening);
//
@ -3977,6 +4000,25 @@
this.toolStripSeparator11.Name = "toolStripSeparator11";
this.toolStripSeparator11.Size = new System.Drawing.Size(271, 6);
//
// extendToPreviousToolStripMenuItem
//
this.extendToPreviousToolStripMenuItem.Name = "extendToPreviousToolStripMenuItem";
this.extendToPreviousToolStripMenuItem.Size = new System.Drawing.Size(274, 22);
this.extendToPreviousToolStripMenuItem.Text = "Extend to previous";
this.extendToPreviousToolStripMenuItem.Click += new System.EventHandler(this.extendToPreviousToolStripMenuItem_Click);
//
// extendToNextToolStripMenuItem
//
this.extendToNextToolStripMenuItem.Name = "extendToNextToolStripMenuItem";
this.extendToNextToolStripMenuItem.Size = new System.Drawing.Size(274, 22);
this.extendToNextToolStripMenuItem.Text = "Extend to next";
this.extendToNextToolStripMenuItem.Click += new System.EventHandler(this.extendToNextToolStripMenuItem_Click);
//
// toolStripSeparator6
//
this.toolStripSeparator6.Name = "toolStripSeparator6";
this.toolStripSeparator6.Size = new System.Drawing.Size(271, 6);
//
// toolStripMenuItemWaveformPlaySelection
//
this.toolStripMenuItemWaveformPlaySelection.Name = "toolStripMenuItemWaveformPlaySelection";
@ -4984,43 +5026,19 @@
this.timerAlternateTextUndo.Interval = 700;
this.timerAlternateTextUndo.Tick += new System.EventHandler(this.TimerAlternateTextUndoTick);
//
// toolStripSeparator4
// goToPreviousSubtitleStripMenuItem
//
this.toolStripSeparator4.Name = "toolStripSeparator4";
this.toolStripSeparator4.Size = new System.Drawing.Size(281, 6);
this.goToPreviousSubtitleStripMenuItem.Name = "goToPreviousSubtitleStripMenuItem";
this.goToPreviousSubtitleStripMenuItem.Size = new System.Drawing.Size(274, 22);
this.goToPreviousSubtitleStripMenuItem.Text = "Go to previous subtitle";
this.goToPreviousSubtitleStripMenuItem.Click += new System.EventHandler(this.goToPreviousSubtitleToolStripMenuItem_Click);
//
// extendAfterToolStripMenuItem
// goToNextSubtitleStripMenuItem
//
this.extendAfterToolStripMenuItem.Name = "extendAfterToolStripMenuItem";
this.extendAfterToolStripMenuItem.Size = new System.Drawing.Size(284, 22);
this.extendAfterToolStripMenuItem.Text = "Extend to line after";
this.extendAfterToolStripMenuItem.Click += new System.EventHandler(this.ExtendAfterToolStripMenuItemClick);
//
// extendBeforeToolStripMenuItem
//
this.extendBeforeToolStripMenuItem.Name = "extendBeforeToolStripMenuItem";
this.extendBeforeToolStripMenuItem.Size = new System.Drawing.Size(284, 22);
this.extendBeforeToolStripMenuItem.Text = "Extend to line before";
this.extendBeforeToolStripMenuItem.Click += new System.EventHandler(this.ExtendBeforeToolStripMenuItemClick);
//
// toolStripSeparator6
//
this.toolStripSeparator6.Name = "toolStripSeparator6";
this.toolStripSeparator6.Size = new System.Drawing.Size(271, 6);
//
// extendToNextToolStripMenuItem
//
this.extendToNextToolStripMenuItem.Name = "extendToNextToolStripMenuItem";
this.extendToNextToolStripMenuItem.Size = new System.Drawing.Size(274, 22);
this.extendToNextToolStripMenuItem.Text = "Extend to next";
this.extendToNextToolStripMenuItem.Click += new System.EventHandler(this.extendToNextToolStripMenuItem_Click);
//
// extendToPreviousToolStripMenuItem
//
this.extendToPreviousToolStripMenuItem.Name = "extendToPreviousToolStripMenuItem";
this.extendToPreviousToolStripMenuItem.Size = new System.Drawing.Size(274, 22);
this.extendToPreviousToolStripMenuItem.Text = "Extend to previous";
this.extendToPreviousToolStripMenuItem.Click += new System.EventHandler(this.extendToPreviousToolStripMenuItem_Click);
this.goToNextSubtitleStripMenuItem.Name = "goToNextSubtitleStripMenuItem";
this.goToNextSubtitleStripMenuItem.Size = new System.Drawing.Size(274, 22);
this.goToNextSubtitleStripMenuItem.Text = "Go to next subtitle";
this.goToNextSubtitleStripMenuItem.Click += new System.EventHandler(this.goToNextSubtitleToolStripMenuItem_Click);
//
// Main
//
@ -5583,5 +5601,7 @@
private System.Windows.Forms.ToolStripMenuItem extendToPreviousToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem extendToNextToolStripMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator6;
private System.Windows.Forms.ToolStripMenuItem goToPreviousSubtitleStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem goToNextSubtitleStripMenuItem;
}
}

View File

@ -1681,6 +1681,8 @@ namespace Nikse.SubtitleEdit.Forms
toolStripMenuItemSetParagraphAsSelection.Text = languageWaveform.SetParagraphAsSelection;
deleteParagraphToolStripMenuItem.Text = languageWaveform.DeleteParagraph;
toolStripMenuItemFocusTextbox.Text = languageWaveform.FocusTextBox;
goToPreviousSubtitleStripMenuItem.Text = languageWaveform.GoToPrevious;
goToNextSubtitleStripMenuItem.Text = languageWaveform.GoToNext;
splitToolStripMenuItem1.Text = languageWaveform.Split;
mergeWithPreviousToolStripMenuItem.Text = languageWaveform.MergeWithPrevious;
@ -14204,58 +14206,12 @@ namespace Nikse.SubtitleEdit.Forms
}
else if (e.KeyData == _shortcuts.VideoGoToPrevSubtitle)
{
var cp = mediaPlayer.CurrentPosition * TimeCode.BaseUnit;
var found = false;
foreach (var p in _subtitle.Paragraphs)
{
if (p.StartTime.TotalMilliseconds > cp - 1)
{
var prev = _subtitle.GetParagraphOrDefault(_subtitle.Paragraphs.IndexOf(p) - 1);
if (prev == null)
{
break;
}
mediaPlayer.CurrentPosition = prev.StartTime.TotalSeconds;
SubtitleListview1.SelectIndexAndEnsureVisible(_subtitle.Paragraphs.IndexOf(prev), true);
if (audioVisualizer.WavePeaks != null && p.StartTime.TotalSeconds > audioVisualizer.EndPositionSeconds + 0.2)
{
audioVisualizer.StartPositionSeconds = mediaPlayer.CurrentPosition - 0.2;
}
found = true;
break;
}
}
if (!found && _subtitle.Paragraphs.Count > 0 && _subtitle.Paragraphs[_subtitle.Paragraphs.Count - 1].StartTime.TotalMilliseconds < cp)
{
var p = _subtitle.Paragraphs[_subtitle.Paragraphs.Count - 1];
mediaPlayer.CurrentPosition = p.StartTime.TotalSeconds;
SubtitleListview1.SelectIndexAndEnsureVisible(_subtitle.Paragraphs.Count - 1, true);
if (audioVisualizer.WavePeaks != null && p.StartTime.TotalSeconds > audioVisualizer.EndPositionSeconds + 0.2)
{
audioVisualizer.StartPositionSeconds = mediaPlayer.CurrentPosition - 0.2;
}
}
GoToPreviousSubtitle(mediaPlayer.CurrentPosition * TimeCode.BaseUnit);
e.SuppressKeyPress = true;
}
else if (e.KeyData == _shortcuts.VideoGoToNextSubtitle)
{
var cp = mediaPlayer.CurrentPosition * TimeCode.BaseUnit;
foreach (var p in _subtitle.Paragraphs)
{
if (p.StartTime.TotalMilliseconds > cp)
{
mediaPlayer.CurrentPosition = p.StartTime.TotalSeconds;
SubtitleListview1.SelectIndexAndEnsureVisible(_subtitle.Paragraphs.IndexOf(p), true);
if (audioVisualizer.WavePeaks != null && p.StartTime.TotalSeconds > audioVisualizer.EndPositionSeconds + 0.2)
{
audioVisualizer.StartPositionSeconds = mediaPlayer.CurrentPosition - 0.2;
}
break;
}
}
GoToNextSubtitle(mediaPlayer.CurrentPosition * TimeCode.BaseUnit);
e.SuppressKeyPress = true;
}
else if (e.KeyData == _shortcuts.VideoSelectNextSubtitle)
@ -14849,6 +14805,59 @@ namespace Nikse.SubtitleEdit.Forms
}
}
private void GoToPreviousSubtitle(double currentPosition)
{
var found = false;
foreach (var p in _subtitle.Paragraphs)
{
if (p.StartTime.TotalMilliseconds > currentPosition - 1)
{
var prev = _subtitle.GetParagraphOrDefault(_subtitle.Paragraphs.IndexOf(p) - 1);
if (prev == null)
{
break;
}
mediaPlayer.CurrentPosition = prev.StartTime.TotalSeconds;
SubtitleListview1.SelectIndexAndEnsureVisible(_subtitle.Paragraphs.IndexOf(prev), true);
if (audioVisualizer.WavePeaks != null && p.StartTime.TotalSeconds > audioVisualizer.EndPositionSeconds + 0.2)
{
audioVisualizer.StartPositionSeconds = mediaPlayer.CurrentPosition - 0.2;
}
found = true;
break;
}
}
if (!found && _subtitle.Paragraphs.Count > 0 && _subtitle.Paragraphs[_subtitle.Paragraphs.Count - 1].StartTime.TotalMilliseconds < currentPosition)
{
var p = _subtitle.Paragraphs[_subtitle.Paragraphs.Count - 1];
mediaPlayer.CurrentPosition = p.StartTime.TotalSeconds;
SubtitleListview1.SelectIndexAndEnsureVisible(_subtitle.Paragraphs.Count - 1, true);
if (audioVisualizer.WavePeaks != null && p.StartTime.TotalSeconds > audioVisualizer.EndPositionSeconds + 0.2)
{
audioVisualizer.StartPositionSeconds = mediaPlayer.CurrentPosition - 0.2;
}
}
}
private void GoToNextSubtitle(double currentPosition)
{
foreach (var p in _subtitle.Paragraphs)
{
if (p.StartTime.TotalMilliseconds > currentPosition)
{
mediaPlayer.CurrentPosition = p.StartTime.TotalSeconds;
SubtitleListview1.SelectIndexAndEnsureVisible(_subtitle.Paragraphs.IndexOf(p), true);
if (audioVisualizer.WavePeaks != null && p.StartTime.TotalSeconds > audioVisualizer.EndPositionSeconds + 0.2)
{
audioVisualizer.StartPositionSeconds = mediaPlayer.CurrentPosition - 0.2;
}
break;
}
}
}
private void AutoGuessStartTime(int index)
{
var p = _subtitle.GetParagraphOrDefault(index);
@ -20715,6 +20724,30 @@ namespace Nikse.SubtitleEdit.Forms
audioVisualizer.Invalidate();
}
private void goToPreviousSubtitleToolStripMenuItem_Click(object sender, EventArgs e)
{
if (audioVisualizer.RightClickedParagraph != null)
{
GoToPreviousSubtitle(audioVisualizer.RightClickedParagraph.StartTime.TotalMilliseconds);
}
else
{
GoToPreviousSubtitle(mediaPlayer.CurrentPosition * TimeCode.BaseUnit);
}
}
private void goToNextSubtitleToolStripMenuItem_Click(object sender, EventArgs e)
{
if (audioVisualizer.RightClickedParagraph != null)
{
GoToNextSubtitle(audioVisualizer.RightClickedParagraph.StartTime.TotalMilliseconds);
}
else
{
GoToNextSubtitle(mediaPlayer.CurrentPosition * TimeCode.BaseUnit);
}
}
private void buttonWaveformZoomIn_Click(object sender, EventArgs e)
{
if (audioVisualizer.WavePeaks != null && audioVisualizer.Visible)

View File

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