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;
110 double t0,
double t1,
117 bool backwards =
false);
121 void PlayCurrentRegion(
122 bool newDefault =
false,
123 bool cutpreview =
false);
129 void Stop(
bool stopStream =
true);
133 bool DoPlayStopSelect(
bool click,
bool shift );
134 void DoPlayStopSelect( );
149 void CancelRecording();
167 bool mTimerRecordCanceled{
false };
171 std::atomic<int> mPaused{ 0 };
173 bool mAppending{
false };
174 bool mLooping{
false };
175 bool mCutting{
false };
176 bool mStopping{
false };
178 int mDisplayedRate{ 0 };
179 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 OnAudioIONewBlocks()=0
virtual void OnAudioIOStartRecording()=0
virtual void OnCommitRecording()=0
An explicitly nonlocalized string, not meant for the user to see.
An object that sends messages to an open-ended list of subscribed callbacks.
A move-only handle representing a connection to a Publisher.
AudacityProject & mProject
void SetLooping(bool value)
ProjectAudioManager(const ProjectAudioManager &)=delete
void SetAppending(bool value)
void SetStopping(bool value)
bool IsTimerRecordCancelled()
PlayMode GetLastPlayMode() const
void SetTimerRecordCancelled()
ProjectAudioManager & operator=(const ProjectAudioManager &)=delete
~ProjectAudioManager() override
void ResetTimerRecordCancelled()
void SetCutting(bool value)
Observer::Subscription mCheckpointFailureSubscription
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