29 auto &project = context.
project;
34 double t1 = playRegion.GetEnd();
36 projectAudioManager.PlayCurrentRegion(newDefault, cutpreview);
38 if (project.mBatchMode > 0 && t0 != t1 && !newDefault) {
46 while (projectAudioManager.Playing()) {
49 projectAudioManager.Stop();
50 if (result != ProgressResult::Stopped) {
51 context.
Error(
wxT(
"Playing interrupted"));
56 using namespace std::chrono;
57 std::this_thread::sleep_for(100ms);
61 projectAudioManager.Stop();
72 auto &project = context.
project;
75 double t0 = selectedRegion.
t0();
76 double t1 = selectedRegion.
t1();
78 projectAudioManager.PlayPlayRegion(selectedRegion, options, mode);
80 if (project.mBatchMode > 0) {
88 while (projectAudioManager.Playing()) {
91 projectAudioManager.Stop();
92 if (result != ProgressResult::Stopped) {
93 context.
Error(
wxT(
"Playing interrupted"));
98 using namespace std::chrono;
99 std::this_thread::sleep_for(100ms);
103 projectAudioManager.Stop();
111 auto &project = context.
project;
115 double t0 = selectedRegion.
t0();
116 double t1 = selectedRegion.t1();
118 projectAudioManager.OnRecord(altAppearance);
120 if (project.mBatchMode > 0 && t1 != t0) {
128 while (projectAudioManager.Recording()) {
131 projectAudioManager.Stop();
132 if (result != ProgressResult::Stopped) {
133 context.
Error(
wxT(
"Recording interrupted"));
138 using namespace std::chrono;
139 std::this_thread::sleep_for(100ms);
143 projectAudioManager.Stop();
152 auto &project = context.
project;
159 if (gAudioIO->IsStreamActive(token)) {
161 projectAudioManager.Stop();
168 if (gAudioIO->IsStreamActive()) {
172 iter = std::find_if(start, finish,
174 return gAudioIO->IsStreamActive(
178 if (iter != finish) {
179 auto otherProject = *iter;
181 auto &otherProjectAudioManager =
183 otherToolbar.SetStop();
184 otherProjectAudioManager.Stop();
193 auto &project = context.
project;
196 if (!gAudioIO->IsBusy()) {
const_iterator end() const
Container::value_type value_type
const_iterator begin() const
static AudioIOBase * Get()
CommandContext provides additional information to an 'Apply()' command. It provides the project,...
virtual void Error(const wxString &message) const
AudacityProject & project
ProgressResult Update(int value, const TranslatableString &message={})
int GetAudioIOToken() const
static ProjectAudioIO & Get(AudacityProject &project)
static ProjectAudioManager & Get(AudacityProject &project)
Defines a selected portion of a project.
NotifyingSelectedRegion selectedRegion
static ViewInfo & Get(AudacityProject &project)
struct holding stream options, including a pointer to the time warp info and AudioIOListener and whet...
static void PlayPlayRegionAndWait(const CommandContext &context, const SelectedRegion &selectedRegion, const AudioIOStartStreamOptions &options, PlayMode mode)
static bool DoStopPlaying(const CommandContext &context)
static void PlayCurrentRegionAndWait(const CommandContext &context, bool newDefault=false, bool cutpreview=false)
static void RecordAndWait(const CommandContext &context, bool altAppearance)
static void DoStartPlaying(const CommandContext &context, bool newDefault=false)