1
0
mirror of https://github.com/cookiengineer/audacity synced 2026-02-09 13:12:17 +01:00

Move CanStopAudioStream into ProjectAudioManager

This commit is contained in:
Paul Licameli
2019-06-30 15:30:01 -04:00
parent a470ba00b0
commit 977b46cda2
5 changed files with 55 additions and 36 deletions

View File

@@ -202,7 +202,7 @@ bool ProjectAudioManager::Playing() const
auto gAudioIO = AudioIO::Get();
return
gAudioIO->IsBusy() &&
ControlToolBar::Get( mProject ).CanStopAudioStream() &&
CanStopAudioStream() &&
// ... and not merely monitoring
!gAudioIO->IsMonitoring() &&
// ... and not punch-and-roll recording
@@ -214,10 +214,27 @@ bool ProjectAudioManager::Recording() const
auto gAudioIO = AudioIO::Get();
return
gAudioIO->IsBusy() &&
ControlToolBar::Get( mProject).CanStopAudioStream() &&
CanStopAudioStream() &&
gAudioIO->GetNumCaptureChannels() > 0;
}
bool ProjectAudioManager::CanStopAudioStream() const
{
auto gAudioIO = AudioIO::Get();
return (!gAudioIO->IsStreamActive() ||
gAudioIO->IsMonitoring() ||
gAudioIO->GetOwningProject() == &mProject );
}
const ReservedCommandFlag
CanStopAudioStreamFlag{
[](const AudacityProject &project){
auto &projectAudioManager = ProjectAudioManager::Get( project );
bool canStop = projectAudioManager.CanStopAudioStream();
return canStop;
}
};
AudioIOStartStreamOptions
DefaultPlayOptions( AudacityProject &project )
{