From 90c2b503eafce2945dde53122c4177bc6e89e886 Mon Sep 17 00:00:00 2001 From: David Bailes Date: Thu, 23 Apr 2015 10:13:11 +0100 Subject: [PATCH] added commands PlayBeforeAndAfterSelectionStart and PlayBeforeAndAfterSelectionEnd. Useful for checking the joins after pasting or aligning. --- src/Menus.cpp | 43 +++++++++++++++++++++++++++++++++++++++++++ src/Menus.h | 2 ++ win/resetPrefs.txt | 4 ---- 3 files changed, 45 insertions(+), 4 deletions(-) delete mode 100644 win/resetPrefs.txt diff --git a/src/Menus.cpp b/src/Menus.cpp index f1eb33077..038ea5159 100644 --- a/src/Menus.cpp +++ b/src/Menus.cpp @@ -1114,6 +1114,8 @@ void AudacityProject::CreateMenusAndCommands() c->AddCommand(wxT("PlayAfterSelectionStart"),_("Play After Selection Start"), FN(OnPlayAfterSelectionStart), wxT("Shift+F6")); c->AddCommand(wxT("PlayBeforeSelectionEnd"),_("Play Before Selection End"), FN(OnPlayBeforeSelectionEnd), wxT("Shift+F7")); c->AddCommand(wxT("PlayAfterSelectionEnd"),_("Play After Selection End"), FN(OnPlayAfterSelectionEnd), wxT("Shift+F8")); + c->AddCommand(wxT("PlayBeforeAndAfterSelectionStart"),_("Play Before and After Selection Start"), FN(OnPlayBeforeAndAfterSelectionStart), wxT("Ctrl+Shift+F5")); + c->AddCommand(wxT("PlayBeforeAndAfterSelectionEnd"),_("Play Before and After Selection End"), FN(OnPlayBeforeAndAfterSelectionEnd), wxT("Ctrl+Shift+F7")); c->AddCommand(wxT("PlayCutPreview"), _("Play Cut Preview"), FN(OnPlayCutPreview), wxT("C")); c->AddCommand(wxT("SelStart"), _("Selection to Start"), FN(OnSelToStart), wxT("Shift+Home")); @@ -2145,6 +2147,47 @@ void AudacityProject::OnPlayAfterSelectionEnd() GetControlToolBar()->PlayPlayRegion(SelectedRegion(t1, t1 + afterLen), GetDefaultPlayOptions()); } +void AudacityProject::OnPlayBeforeAndAfterSelectionStart() +{ + if (!MakeReadyToPlay()) + return; + + double t0 = mViewInfo.selectedRegion.t0(); + double t1 = mViewInfo.selectedRegion.t1(); + double beforeLen; + gPrefs->Read(wxT("/AudioIO/CutPreviewBeforeLen"), &beforeLen, 2.0); + double afterLen; + gPrefs->Read(wxT("/AudioIO/CutPreviewAfterLen"), &afterLen, 1.0); + + mLastPlayMode = oneSecondPlay; // this disables auto scrolling, as in OnPlayToSelection() + + if ( t1 - t0 > 0.0 && t1 - t0 < afterLen ) + GetControlToolBar()->PlayPlayRegion(SelectedRegion(t0 - beforeLen, t1), GetDefaultPlayOptions()); + else + GetControlToolBar()->PlayPlayRegion(SelectedRegion(t0 - beforeLen, t0 + afterLen), GetDefaultPlayOptions()); +} + +void AudacityProject::OnPlayBeforeAndAfterSelectionEnd() +{ + if (!MakeReadyToPlay()) + return; + + double t0 = mViewInfo.selectedRegion.t0(); + double t1 = mViewInfo.selectedRegion.t1(); + double beforeLen; + gPrefs->Read(wxT("/AudioIO/CutPreviewBeforeLen"), &beforeLen, 2.0); + double afterLen; + gPrefs->Read(wxT("/AudioIO/CutPreviewAfterLen"), &afterLen, 1.0); + + mLastPlayMode = oneSecondPlay; // this disables auto scrolling, as in OnPlayToSelection() + + if ( t1 - t0 > 0.0 && t1 - t0 < beforeLen ) + GetControlToolBar()->PlayPlayRegion(SelectedRegion(t0, t1 + afterLen), GetDefaultPlayOptions()); + else + GetControlToolBar()->PlayPlayRegion(SelectedRegion(t1 - beforeLen, t1 + afterLen), GetDefaultPlayOptions()); +} + + void AudacityProject::OnPlayLooped() { if( !MakeReadyToPlay(true) ) diff --git a/src/Menus.h b/src/Menus.h index d5531d574..59ad15f0d 100644 --- a/src/Menus.h +++ b/src/Menus.h @@ -83,6 +83,8 @@ void OnPlayBeforeSelectionStart(); void OnPlayAfterSelectionStart(); void OnPlayBeforeSelectionEnd(); void OnPlayAfterSelectionEnd(); +void OnPlayBeforeAndAfterSelectionStart(); +void OnPlayBeforeAndAfterSelectionEnd(); void OnPlayLooped(); void OnPlayCutPreview(); diff --git a/win/resetPrefs.txt b/win/resetPrefs.txt deleted file mode 100644 index 619f05e63..000000000 --- a/win/resetPrefs.txt +++ /dev/null @@ -1,4 +0,0 @@ -resetPrefs.txt - - -The contents of this file are not used, but its existence is checked and if it exists, the prefs are reset.