diff --git a/src/toolbars/ControlToolBar.cpp b/src/toolbars/ControlToolBar.cpp index 3b091538e..e72006ca8 100644 --- a/src/toolbars/ControlToolBar.cpp +++ b/src/toolbars/ControlToolBar.cpp @@ -56,8 +56,6 @@ #include #include -#include "TranscriptionToolBar.h" - #include "../AColor.h" #include "../AdornedRulerPanel.h" #include "../AllThemeResources.h" @@ -487,12 +485,6 @@ void ControlToolBar::EnableDisableButtons() // Only interested in audio type tracks bool tracks = p && TrackList::Get( *p ).Any(); // PRL: PlayableTrack ? - if (p) { - const auto playAtSpeedTB = &TranscriptionToolBar::Get( *p ); - if (playAtSpeedTB) - playAtSpeedTB->SetEnabled(CanStopAudioStream() && tracks && !recording); - } - mPlay->SetEnabled(CanStopAudioStream() && tracks && !recording); mRecord->SetEnabled( CanStopAudioStream() && diff --git a/src/toolbars/TranscriptionToolBar.cpp b/src/toolbars/TranscriptionToolBar.cpp index 082702ddc..1ddc31f53 100644 --- a/src/toolbars/TranscriptionToolBar.cpp +++ b/src/toolbars/TranscriptionToolBar.cpp @@ -35,7 +35,7 @@ #include "ControlToolBar.h" #include "../AllThemeResources.h" -#include "../AudioIOBase.h" +#include "../AudioIO.h" #include "../ImageManipulation.h" #include "../KeyboardCapture.h" #include "../Project.h" @@ -288,6 +288,18 @@ void TranscriptionToolBar::Populate() void TranscriptionToolBar::EnableDisableButtons() { + AudacityProject *p = GetActiveProject(); + + auto gAudioIO = AudioIO::Get(); + bool canStopAudioStream = (!gAudioIO->IsStreamActive() || + gAudioIO->IsMonitoring() || + gAudioIO->GetOwningProject() == p ); + bool recording = gAudioIO->GetNumCaptureChannels() > 0; + + // Only interested in audio type tracks + bool tracks = p && TrackList::Get( *p ).Any(); // PRL: PlayableTrack ? + SetEnabled( canStopAudioStream && tracks && !recording ); + #ifdef EXPERIMENTAL_VOICE_DETECTION AudacityProject *p = GetActiveProject(); if (!p) return;