Audacity 3.2.0
Public Member Functions | Public Attributes | List of all members
RealtimeEffectManager::AllListsLock Struct Reference
Collaboration diagram for RealtimeEffectManager::AllListsLock:
[legend]

Public Member Functions

 AllListsLock (RealtimeEffectManager *pManager=nullptr)
 
 AllListsLock (AllListsLock &&other)
 
AllListsLockoperator= (AllListsLock &&other)
 
void Reset ()
 
 ~AllListsLock ()
 

Public Attributes

RealtimeEffectManagermpManager {}
 

Detailed Description

Definition at line 138 of file RealtimeEffectManager.h.

Constructor & Destructor Documentation

◆ AllListsLock() [1/2]

RealtimeEffectManager::AllListsLock::AllListsLock ( RealtimeEffectManager pManager = nullptr)

Definition at line 196 of file RealtimeEffectManager.cpp.

198 : mpManager{ pManager }
199{
200 if (mpManager) {
201 // Paralleling VisitAll
203 // And all track lists
204 for (auto leader : mpManager->mGroupLeaders)
206 }
207}
static RealtimeEffectList & Get(AudacityProject &project)
Lock & GetLock() const
std::vector< const Track * > mGroupLeaders
all are non-null
void lock()
Definition: spinlock.h:27

References RealtimeEffectList::Get(), RealtimeEffectList::GetLock(), spinlock::lock(), RealtimeEffectManager::mGroupLeaders, mpManager, and RealtimeEffectManager::mProject.

Here is the call graph for this function:

◆ AllListsLock() [2/2]

RealtimeEffectManager::AllListsLock::AllListsLock ( AllListsLock &&  other)

Definition at line 209 of file RealtimeEffectManager.cpp.

210 : mpManager{ other.mpManager }
211{
212 other.mpManager = nullptr;
213}

◆ ~AllListsLock()

RealtimeEffectManager::AllListsLock::~AllListsLock ( )
inline

Member Function Documentation

◆ operator=()

RealtimeEffectManager::AllListsLock & RealtimeEffectManager::AllListsLock::operator= ( AllListsLock &&  other)

Definition at line 216 of file RealtimeEffectManager.cpp.

217{
218 if (this != &other) {
219 Reset();
220 mpManager = other.mpManager;
221 other.mpManager = nullptr;
222 }
223 return *this;
224}

◆ Reset()

void RealtimeEffectManager::AllListsLock::Reset ( )

Definition at line 226 of file RealtimeEffectManager.cpp.

227{
228 if (mpManager) {
229 // Paralleling VisitAll
231 // And all track lists
232 for (auto leader : mpManager->mGroupLeaders)
234 mpManager = nullptr;
235 }
236}
void unlock()
Definition: spinlock.h:33

References RealtimeEffectList::Get(), RealtimeEffectList::GetLock(), and spinlock::unlock().

Here is the call graph for this function:

Member Data Documentation

◆ mpManager

RealtimeEffectManager* RealtimeEffectManager::AllListsLock::mpManager {}

Definition at line 139 of file RealtimeEffectManager.h.

Referenced by AllListsLock().


The documentation for this struct was generated from the following files: