Added a setting that will make move-100ms/500ms-forward/back also play 99ms video/audio - thx Johan :)

git-svn-id: https://subtitleedit.googlecode.com/svn/trunk@1856 99eadd0c-20b8-1223-b5c4-2a2b2df33de2
This commit is contained in:
niksedk 2013-06-01 18:02:20 +00:00
parent 5bf9303da6
commit 086e39ccb1
2 changed files with 64 additions and 9 deletions

View File

@ -9648,22 +9648,71 @@ namespace Nikse.SubtitleEdit.Forms
} }
else if (mediaPlayer != null && mediaPlayer.VideoPlayer != null && e.KeyData == _video100MsLeft) else if (mediaPlayer != null && mediaPlayer.VideoPlayer != null && e.KeyData == _video100MsLeft)
{ {
mediaPlayer.CurrentPosition -= 0.1; if (mediaPlayer.IsPaused && Configuration.Settings.General.MoveVideo100Or500MsPlaySmallSample)
{
double p = mediaPlayer.CurrentPosition - 0.1;
mediaPlayer.CurrentPosition = p;
mediaPlayer.Play();
System.Threading.Thread.Sleep(99);
mediaPlayer.Stop();
mediaPlayer.CurrentPosition = p;
}
else
{
mediaPlayer.CurrentPosition -= 0.1;
}
e.SuppressKeyPress = true; e.SuppressKeyPress = true;
} }
else if (mediaPlayer != null && mediaPlayer.VideoPlayer != null && e.KeyData == _video100MsRight) else if (mediaPlayer != null && mediaPlayer.VideoPlayer != null && e.KeyData == _video100MsRight)
{ {
mediaPlayer.CurrentPosition += 0.1; if (mediaPlayer.IsPaused && Configuration.Settings.General.MoveVideo100Or500MsPlaySmallSample)
{
double p = mediaPlayer.CurrentPosition + 0.1;
mediaPlayer.CurrentPosition = p;
mediaPlayer.Play();
System.Threading.Thread.Sleep(99);
mediaPlayer.Stop();
mediaPlayer.CurrentPosition = p;
}
else
{
mediaPlayer.CurrentPosition += 0.1;
}
e.SuppressKeyPress = true; e.SuppressKeyPress = true;
} }
else if (mediaPlayer != null && mediaPlayer.VideoPlayer != null && e.KeyData == _video500MsLeft) else if (mediaPlayer != null && mediaPlayer.VideoPlayer != null && e.KeyData == _video500MsLeft)
{ {
mediaPlayer.CurrentPosition -= 0.5; if (mediaPlayer.IsPaused && Configuration.Settings.General.MoveVideo100Or500MsPlaySmallSample)
{
double p = mediaPlayer.CurrentPosition - 0.5;
mediaPlayer.CurrentPosition = p;
mediaPlayer.Play();
System.Threading.Thread.Sleep(99);
mediaPlayer.Stop();
mediaPlayer.CurrentPosition = p;
}
else
{
mediaPlayer.CurrentPosition -= 0.5;
}
e.SuppressKeyPress = true; e.SuppressKeyPress = true;
} }
else if (mediaPlayer != null && mediaPlayer.VideoPlayer != null && e.KeyData == _video500MsRight) else if (mediaPlayer != null && mediaPlayer.VideoPlayer != null && e.KeyData == _video500MsRight)
{ {
mediaPlayer.CurrentPosition += 0.5; if (mediaPlayer.IsPaused && Configuration.Settings.General.MoveVideo100Or500MsPlaySmallSample)
{
double p = mediaPlayer.CurrentPosition + 0.5;
mediaPlayer.CurrentPosition = p;
mediaPlayer.Play();
System.Threading.Thread.Sleep(99);
mediaPlayer.Stop();
mediaPlayer.CurrentPosition = p;
}
else
{
mediaPlayer.CurrentPosition += 0.5;
}
e.SuppressKeyPress = true; e.SuppressKeyPress = true;
} }
else if (_mainToolsBeamer == e.KeyData) else if (_mainToolsBeamer == e.KeyData)

View File

@ -425,8 +425,9 @@ namespace Nikse.SubtitleEdit.Logic
public string VlcLocation { get; set; } public string VlcLocation { get; set; }
public bool UseTimeFormatHHMMSSFF { get; set; } public bool UseTimeFormatHHMMSSFF { get; set; }
public int ClearStatusBarAfterSeconds { get; set; } public int ClearStatusBarAfterSeconds { get; set; }
public bool ShowBetaStuff { get; set; }
public string Company { get; set; } public string Company { get; set; }
public bool MoveVideo100Or500MsPlaySmallSample { get; set; }
public bool ShowBetaStuff { get; set; }
public GeneralSettings() public GeneralSettings()
{ {
@ -500,6 +501,7 @@ namespace Nikse.SubtitleEdit.Logic
VlcWaveTranscodeSettings = "acodec=s16l"; // "acodec=s16l,channels=1,ab=64,samplerate=8000"; VlcWaveTranscodeSettings = "acodec=s16l"; // "acodec=s16l,channels=1,ab=64,samplerate=8000";
UseTimeFormatHHMMSSFF = false; UseTimeFormatHHMMSSFF = false;
ClearStatusBarAfterSeconds = 10; ClearStatusBarAfterSeconds = 10;
MoveVideo100Or500MsPlaySmallSample = false;
ShowBetaStuff = false; ShowBetaStuff = false;
} }
@ -1251,12 +1253,15 @@ namespace Nikse.SubtitleEdit.Logic
subNode = node.SelectSingleNode("ClearStatusBarAfterSeconds"); subNode = node.SelectSingleNode("ClearStatusBarAfterSeconds");
if (subNode != null) if (subNode != null)
settings.General.ClearStatusBarAfterSeconds = Convert.ToInt32(subNode.InnerText.Trim()); settings.General.ClearStatusBarAfterSeconds = Convert.ToInt32(subNode.InnerText.Trim());
subNode = node.SelectSingleNode("ShowBetaStuff");
if (subNode != null)
settings.General.ShowBetaStuff = Convert.ToBoolean(subNode.InnerText.Trim());
subNode = node.SelectSingleNode("Company"); subNode = node.SelectSingleNode("Company");
if (subNode != null) if (subNode != null)
settings.General.Company = subNode.InnerText; settings.General.Company = subNode.InnerText;
subNode = node.SelectSingleNode("ShowBetaStuff");
if (subNode != null)
settings.General.ShowBetaStuff = Convert.ToBoolean(subNode.InnerText.Trim());
subNode = node.SelectSingleNode("MoveVideo100Or500MsPlaySmallSample");
if (subNode != null)
settings.General.MoveVideo100Or500MsPlaySmallSample = Convert.ToBoolean(subNode.InnerText.Trim());
settings.Tools = new ToolsSettings(); settings.Tools = new ToolsSettings();
node = doc.DocumentElement.SelectSingleNode("Tools"); node = doc.DocumentElement.SelectSingleNode("Tools");
@ -2247,8 +2252,9 @@ namespace Nikse.SubtitleEdit.Logic
textWriter.WriteElementString("VlcLocation", settings.General.VlcLocation); textWriter.WriteElementString("VlcLocation", settings.General.VlcLocation);
textWriter.WriteElementString("UseTimeFormatHHMMSSFF", settings.General.UseTimeFormatHHMMSSFF.ToString(CultureInfo.InvariantCulture)); textWriter.WriteElementString("UseTimeFormatHHMMSSFF", settings.General.UseTimeFormatHHMMSSFF.ToString(CultureInfo.InvariantCulture));
textWriter.WriteElementString("ClearStatusBarAfterSeconds", settings.General.ClearStatusBarAfterSeconds.ToString(CultureInfo.InvariantCulture)); textWriter.WriteElementString("ClearStatusBarAfterSeconds", settings.General.ClearStatusBarAfterSeconds.ToString(CultureInfo.InvariantCulture));
textWriter.WriteElementString("ShowBetaStuff", settings.General.ShowBetaStuff.ToString());
textWriter.WriteElementString("Company", settings.General.Company); textWriter.WriteElementString("Company", settings.General.Company);
textWriter.WriteElementString("MoveVideo100Or500MsPlaySmallSample", settings.General.MoveVideo100Or500MsPlaySmallSample.ToString());
textWriter.WriteElementString("ShowBetaStuff", settings.General.ShowBetaStuff.ToString());
textWriter.WriteEndElement(); textWriter.WriteEndElement();