Audacity 3.2.0
Public Member Functions | Public Attributes | Private Attributes | List of all members
RealtimeEffects::InitializationScope Class Reference

Brackets processing setup and cleanup in the main thread. More...

#include <RealtimeEffectManager.h>

Collaboration diagram for RealtimeEffects::InitializationScope:
[legend]

Public Member Functions

 InitializationScope ()
 
 InitializationScope (std::weak_ptr< AudacityProject > wProject, double sampleRate, unsigned numPlaybackChannels)
 
 InitializationScope (InitializationScope &&other)=default
 
InitializationScopeoperator= (InitializationScope &&other)=default
 
 ~InitializationScope ()
 
void AddTrack (Track &track, unsigned chans, float rate)
 

Public Attributes

std::vector< std::shared_ptr< EffectInstance > > mInstances
 
double mSampleRate
 
unsigned mNumPlaybackChannels
 

Private Attributes

std::weak_ptr< AudacityProjectmwProject
 

Detailed Description

Brackets processing setup and cleanup in the main thread.

Definition at line 202 of file RealtimeEffectManager.h.

Constructor & Destructor Documentation

◆ InitializationScope() [1/3]

RealtimeEffects::InitializationScope::InitializationScope ( )
inline

Definition at line 204 of file RealtimeEffectManager.h.

204{}

◆ InitializationScope() [2/3]

RealtimeEffects::InitializationScope::InitializationScope ( std::weak_ptr< AudacityProject wProject,
double  sampleRate,
unsigned  numPlaybackChannels 
)
inlineexplicit

Definition at line 205 of file RealtimeEffectManager.h.

208 : mSampleRate{ sampleRate }
209 , mwProject{ move(wProject) }
210 , mNumPlaybackChannels{ numPlaybackChannels }
211 {
212 if (auto pProject = mwProject.lock())
213 RealtimeEffectManager::Get(*pProject).Initialize(*this, sampleRate);
214 }
static RealtimeEffectManager & Get(AudacityProject &project)
void Initialize(RealtimeEffects::InitializationScope &scope, double sampleRate)
Main thread begins to define a set of tracks for playback.
std::weak_ptr< AudacityProject > mwProject

References RealtimeEffectManager::Get(), RealtimeEffectManager::Initialize(), and mwProject.

Here is the call graph for this function:

◆ InitializationScope() [3/3]

RealtimeEffects::InitializationScope::InitializationScope ( InitializationScope &&  other)
default

◆ ~InitializationScope()

RealtimeEffects::InitializationScope::~InitializationScope ( )
inline

Definition at line 217 of file RealtimeEffectManager.h.

218 {
219 if (auto pProject = mwProject.lock())
221 }
void Finalize() noexcept
Main thread cleans up after playback.

References RealtimeEffectManager::Finalize(), RealtimeEffectManager::Get(), and mwProject.

Here is the call graph for this function:

Member Function Documentation

◆ AddTrack()

void RealtimeEffects::InitializationScope::AddTrack ( Track track,
unsigned  chans,
float  rate 
)
inline

Definition at line 223 of file RealtimeEffectManager.h.

224 {
225 if (auto pProject = mwProject.lock())
227 .AddTrack(*this, track, chans, rate);
228 }
void AddTrack(RealtimeEffects::InitializationScope &scope, Track &track, unsigned chans, float rate)

References RealtimeEffectManager::AddTrack(), RealtimeEffectManager::Get(), and mwProject.

Here is the call graph for this function:

◆ operator=()

InitializationScope & RealtimeEffects::InitializationScope::operator= ( InitializationScope &&  other)
default

Member Data Documentation

◆ mInstances

std::vector<std::shared_ptr<EffectInstance> > RealtimeEffects::InitializationScope::mInstances

Definition at line 230 of file RealtimeEffectManager.h.

Referenced by RealtimeEffectManager::MakeNewState().

◆ mNumPlaybackChannels

unsigned RealtimeEffects::InitializationScope::mNumPlaybackChannels

Definition at line 232 of file RealtimeEffectManager.h.

Referenced by RealtimeEffectManager::MakeNewState().

◆ mSampleRate

double RealtimeEffects::InitializationScope::mSampleRate

Definition at line 231 of file RealtimeEffectManager.h.

Referenced by RealtimeEffectManager::MakeNewState().

◆ mwProject

std::weak_ptr<AudacityProject> RealtimeEffects::InitializationScope::mwProject
private

Definition at line 235 of file RealtimeEffectManager.h.

Referenced by AddTrack(), InitializationScope(), and ~InitializationScope().


The documentation for this class was generated from the following file: