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 AddGroup (const ChannelGroup &group, 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 212 of file RealtimeEffectManager.h.

Constructor & Destructor Documentation

◆ InitializationScope() [1/3]

RealtimeEffects::InitializationScope::InitializationScope ( )
inline

Definition at line 214 of file RealtimeEffectManager.h.

214{}

◆ InitializationScope() [2/3]

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

Definition at line 215 of file RealtimeEffectManager.h.

219 , mwProject{ move(wProject) }
220 , mNumPlaybackChannels{ numPlaybackChannels }
221 {
222 if (const auto pProject = mwProject.lock())
223 {
225 *this,
226 numPlaybackChannels,
228 );
229 }
230 }
void Initialize(RealtimeEffects::InitializationScope &scope, unsigned numPlaybackChannels, double sampleRate)
Main thread begins to define a set of groups for playback.
static RealtimeEffectManager & Get(AudacityProject &project)
std::weak_ptr< AudacityProject > mwProject

References RealtimeEffectManager::Get(), RealtimeEffectManager::Initialize(), mwProject, and anonymous_namespace{ClipSegmentTest.cpp}::sampleRate.

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 233 of file RealtimeEffectManager.h.

234 {
235 if (auto pProject = mwProject.lock())
237 }
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

◆ AddGroup()

void RealtimeEffects::InitializationScope::AddGroup ( const ChannelGroup group,
unsigned  chans,
float  rate 
)
inline

Definition at line 239 of file RealtimeEffectManager.h.

241 {
242 if (auto pProject = mwProject.lock())
244 .AddGroup(*this, group, chans, rate);
245 }
void AddGroup(RealtimeEffects::InitializationScope &scope, const ChannelGroup &group, unsigned chans, float rate)

References RealtimeEffectManager::AddGroup(), 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 247 of file RealtimeEffectManager.h.

Referenced by RealtimeEffectManager::MakeNewState().

◆ mNumPlaybackChannels

unsigned RealtimeEffects::InitializationScope::mNumPlaybackChannels

Definition at line 249 of file RealtimeEffectManager.h.

Referenced by RealtimeEffectManager::MakeNewState().

◆ mSampleRate

double RealtimeEffects::InitializationScope::mSampleRate

Definition at line 248 of file RealtimeEffectManager.h.

Referenced by RealtimeEffectManager::MakeNewState().

◆ mwProject

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

Definition at line 252 of file RealtimeEffectManager.h.

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


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