11#ifndef __AUDACITY_PROJECT_AUDIO_MANAGER__
12#define __AUDACITY_PROJECT_AUDIO_MANAGER__
32 std::vector< std::shared_ptr< WritableSampleTrack > >;
63 ,
public std::enable_shared_from_this< ProjectAudioManager >
75 static bool UseDuplex();
92 bool Recording()
const;
103 bool CanStopAudioStream ()
const;
109 double t0,
double t1,
116 bool backwards =
false);
120 void PlayCurrentRegion(
121 bool newDefault =
false,
122 bool cutpreview =
false);
128 void Stop(
bool stopStream =
true);
132 bool DoPlayStopSelect(
bool click,
bool shift );
133 void DoPlayStopSelect( );
148 void CancelRecording();
166 bool mTimerRecordCanceled{
false };
170 std::atomic<int> mPaused{ 0 };
172 bool mAppending{
false };
173 bool mLooping{
false };
174 bool mCutting{
false };
175 bool mStopping{
false };
177 int mDisplayedRate{ 0 };
178 static std::pair< TranslatableStrings, unsigned >
Utility ClientData::Site to register hooks into a host class that attach client data.
std::vector< std::shared_ptr< WritableSampleTrack > > WritableSampleTrackArray
AudioIOStartStreamOptions DefaultSpeedPlayOptions(AudacityProject &project)
AUDACITY_DLL_API const ReservedCommandFlag & CanStopAudioStreamFlag()
AUDACITY_DLL_API PropertiesOfSelected GetPropertiesOfSelected(const AudacityProject &proj)
constexpr int RATE_NOT_SELECTED
ProjectFileIOMessage
Subscribe to ProjectFileIO to receive messages; always in idle time.
The top-level handle to an Audacity project. It serves as a source of events that other objects can b...
Monitors record play start/stop and new sample blocks. Has callbacks for these events.
virtual void OnAudioIORate(int rate)=0
virtual void OnSoundActivationThreshold()=0
virtual void OnAudioIOStopRecording()=0
virtual void OnAudioIOStartRecording()=0
virtual void OnCommitRecording()=0
virtual void OnAudioIONewBlocks(const WritableSampleTrackArray *tracks)=0
An object that sends messages to an open-ended list of subscribed callbacks.
A move-only handle representing a connection to a Publisher.
Observer::Subscription mCheckpointFailureSubcription
AudacityProject & mProject
void SetLooping(bool value)
void SetAppending(bool value)
void SetStopping(bool value)
bool IsTimerRecordCancelled()
PlayMode GetLastPlayMode() const
ProjectAudioManager(const ProjectAudioManager &) PROHIBITED
void SetTimerRecordCancelled()
~ProjectAudioManager() override
ProjectAudioManager & operator=(const ProjectAudioManager &) PROHIBITED
void ResetTimerRecordCancelled()
void SetCutting(bool value)
Defines a selected portion of a project.
A flat linked list of tracks supporting Add, Remove, Clear, and Contains, serialization of the list o...
Services * Get()
Fetch the global instance, or nullptr if none is yet installed.
struct holding stream options, including a pointer to the time warp info and AudioIOListener and whet...
A convenient default parameter for class template Site.
Notification, after recording has stopped, when dropouts have been detected.
const Intervals & intervals
Disjoint and sorted increasingly.
std::pair< double, double > Interval
Start time and duration.
RecordingDropoutEvent(const Intervals &intervals)
std::vector< Interval > Intervals