diff --git a/src/ProjectAudioManager.cpp b/src/ProjectAudioManager.cpp index de943e476..b974e7af0 100644 --- a/src/ProjectAudioManager.cpp +++ b/src/ProjectAudioManager.cpp @@ -1009,19 +1009,19 @@ TransportTracks ProjectAudioManager::GetAllPlaybackTracks( return result; } +// Stop playing or recording, if paused. +void ProjectAudioManager::StopIfPaused() +{ + if( AudioIOBase::Get()->IsPaused() ) + Stop(); +} + #include "widgets/AudacityMessageBox.h" namespace TransportActions { // exported helper functions -// Stop playing or recording, if paused. -void StopIfPaused( AudacityProject &project ) -{ - if( AudioIOBase::Get()->IsPaused() ) - ProjectAudioManager::Get( project ).Stop(); -} - bool DoPlayStopSelect (AudacityProject &project, bool click, bool shift) { @@ -1106,6 +1106,6 @@ static RegisteredMenuItemEnabler stopIfPaused{{ return MenuManager::Get( project ).mStopIfWasPaused; }, []( AudacityProject &project, CommandFlag ){ if ( MenuManager::Get( project ).mStopIfWasPaused ) - TransportActions::StopIfPaused( project ); + ProjectAudioManager::Get( project ).StopIfPaused(); } }}; diff --git a/src/ProjectAudioManager.h b/src/ProjectAudioManager.h index 3752bfd4f..a450af063 100644 --- a/src/ProjectAudioManager.h +++ b/src/ProjectAudioManager.h @@ -108,6 +108,8 @@ public: // Stop playing or recording void Stop(bool stopStream = true); + void StopIfPaused(); + PlayMode GetLastPlayMode() const { return mLastPlayMode; } private: @@ -163,7 +165,6 @@ extern const ReservedCommandFlag /// Namespace for functions for Transport menu namespace TransportActions { -void StopIfPaused( AudacityProject &project ); bool DoPlayStopSelect( AudacityProject &project, bool click, bool shift ); void DoPlayStopSelect( AudacityProject &project ); } diff --git a/src/toolbars/ControlToolBar.cpp b/src/toolbars/ControlToolBar.cpp index b4ae9c929..7a3cd31d9 100644 --- a/src/toolbars/ControlToolBar.cpp +++ b/src/toolbars/ControlToolBar.cpp @@ -667,7 +667,7 @@ void ControlToolBar::OnRewind(wxCommandEvent & WXUNUSED(evt)) AudacityProject *p = &mProject; { - TransportActions::StopIfPaused( *p ); + ProjectAudioManager::Get( *p ).StopIfPaused(); ProjectWindow::Get( *p ).Rewind(mRewind->WasShiftDown()); } } @@ -680,7 +680,7 @@ void ControlToolBar::OnFF(wxCommandEvent & WXUNUSED(evt)) AudacityProject *p = &mProject; { - TransportActions::StopIfPaused( *p ); + ProjectAudioManager::Get( *p ).StopIfPaused(); ProjectWindow::Get( *p ).SkipEnd(mFF->WasShiftDown()); } } diff --git a/src/tracks/ui/TrackButtonHandles.cpp b/src/tracks/ui/TrackButtonHandles.cpp index 9947f8b7e..78980901b 100644 --- a/src/tracks/ui/TrackButtonHandles.cpp +++ b/src/tracks/ui/TrackButtonHandles.cpp @@ -155,7 +155,7 @@ UIHandle::Result CloseButtonHandle::CommitChanges if (pTrack) { auto toRemove = pTrack->SubstitutePendingChangedTrack(); - TransportActions::StopIfPaused( *pProject ); + ProjectAudioManager::Get( *pProject ).StopIfPaused(); if (!ProjectAudioIO::Get( *pProject ).IsAudioActive()) { // This pushes an undo item: TrackUtilities::DoRemoveTrack(*pProject, toRemove.get());