1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-08-16 08:34:10 +02:00

StopIfPaused is now a member function of ProjectAudioManager

This commit is contained in:
Paul Licameli 2019-07-03 10:27:58 -04:00
parent 2c840a75c5
commit ca8740b510
4 changed files with 13 additions and 12 deletions

View File

@ -1009,19 +1009,19 @@ TransportTracks ProjectAudioManager::GetAllPlaybackTracks(
return result; return result;
} }
// Stop playing or recording, if paused.
void ProjectAudioManager::StopIfPaused()
{
if( AudioIOBase::Get()->IsPaused() )
Stop();
}
#include "widgets/AudacityMessageBox.h" #include "widgets/AudacityMessageBox.h"
namespace TransportActions { namespace TransportActions {
// exported helper functions // exported helper functions
// Stop playing or recording, if paused.
void StopIfPaused( AudacityProject &project )
{
if( AudioIOBase::Get()->IsPaused() )
ProjectAudioManager::Get( project ).Stop();
}
bool DoPlayStopSelect bool DoPlayStopSelect
(AudacityProject &project, bool click, bool shift) (AudacityProject &project, bool click, bool shift)
{ {
@ -1106,6 +1106,6 @@ static RegisteredMenuItemEnabler stopIfPaused{{
return MenuManager::Get( project ).mStopIfWasPaused; }, return MenuManager::Get( project ).mStopIfWasPaused; },
[]( AudacityProject &project, CommandFlag ){ []( AudacityProject &project, CommandFlag ){
if ( MenuManager::Get( project ).mStopIfWasPaused ) if ( MenuManager::Get( project ).mStopIfWasPaused )
TransportActions::StopIfPaused( project ); ProjectAudioManager::Get( project ).StopIfPaused();
} }
}}; }};

View File

@ -108,6 +108,8 @@ public:
// Stop playing or recording // Stop playing or recording
void Stop(bool stopStream = true); void Stop(bool stopStream = true);
void StopIfPaused();
PlayMode GetLastPlayMode() const { return mLastPlayMode; } PlayMode GetLastPlayMode() const { return mLastPlayMode; }
private: private:
@ -163,7 +165,6 @@ extern const ReservedCommandFlag
/// Namespace for functions for Transport menu /// Namespace for functions for Transport menu
namespace TransportActions { namespace TransportActions {
void StopIfPaused( AudacityProject &project );
bool DoPlayStopSelect( AudacityProject &project, bool click, bool shift ); bool DoPlayStopSelect( AudacityProject &project, bool click, bool shift );
void DoPlayStopSelect( AudacityProject &project ); void DoPlayStopSelect( AudacityProject &project );
} }

View File

@ -667,7 +667,7 @@ void ControlToolBar::OnRewind(wxCommandEvent & WXUNUSED(evt))
AudacityProject *p = &mProject; AudacityProject *p = &mProject;
{ {
TransportActions::StopIfPaused( *p ); ProjectAudioManager::Get( *p ).StopIfPaused();
ProjectWindow::Get( *p ).Rewind(mRewind->WasShiftDown()); ProjectWindow::Get( *p ).Rewind(mRewind->WasShiftDown());
} }
} }
@ -680,7 +680,7 @@ void ControlToolBar::OnFF(wxCommandEvent & WXUNUSED(evt))
AudacityProject *p = &mProject; AudacityProject *p = &mProject;
{ {
TransportActions::StopIfPaused( *p ); ProjectAudioManager::Get( *p ).StopIfPaused();
ProjectWindow::Get( *p ).SkipEnd(mFF->WasShiftDown()); ProjectWindow::Get( *p ).SkipEnd(mFF->WasShiftDown());
} }
} }

View File

@ -155,7 +155,7 @@ UIHandle::Result CloseButtonHandle::CommitChanges
if (pTrack) if (pTrack)
{ {
auto toRemove = pTrack->SubstitutePendingChangedTrack(); auto toRemove = pTrack->SubstitutePendingChangedTrack();
TransportActions::StopIfPaused( *pProject ); ProjectAudioManager::Get( *pProject ).StopIfPaused();
if (!ProjectAudioIO::Get( *pProject ).IsAudioActive()) { if (!ProjectAudioIO::Get( *pProject ).IsAudioActive()) {
// This pushes an undo item: // This pushes an undo item:
TrackUtilities::DoRemoveTrack(*pProject, toRemove.get()); TrackUtilities::DoRemoveTrack(*pProject, toRemove.get());