Audacity 3.2.0
|
Mediator of two-way inter-thread communication of changes of settings. More...
Classes | |
struct | CounterAndOutputs |
struct | FromMainSlot |
struct | ToMainSlot |
Public Member Functions | |
AccessState (const EffectSettingsManager &effect, RealtimeEffectState &state) | |
void | Initialize (const EffectSettings &settings, const EffectInstance::Message *pMessage, const EffectOutputs *pOutputs) |
void | MainRead () |
void | MainWrite (SettingsAndCounter &&settings, std::unique_ptr< EffectInstance::Message > pMessage) |
void | MainWrite (SettingsAndCounter::Counter counter, std::unique_ptr< EffectInstance::Message > pMessage) |
void | WorkerRead () |
void | WorkerWrite () |
Public Attributes | |
const EffectSettingsManager & | mEffect |
RealtimeEffectState & | mState |
MessageBuffer< FromMainSlot > | mChannelFromMain |
Response::Counter | mCounter |
SettingsAndCounter | mLastSettings |
MessageBuffer< ToMainSlot > | mChannelToMain |
std::mutex | mLockForCV |
std::condition_variable | mCV |
std::thread::id | mMainThreadId |
Mediator of two-way inter-thread communication of changes of settings.
Definition at line 24 of file RealtimeEffectState.cpp.
|
inline |
Definition at line 26 of file RealtimeEffectState.cpp.
References Initialize(), RealtimeEffectState::mMainSettings, RealtimeEffectState::mMessage, and RealtimeEffectState::mMovedOutputs.
|
inline |
Definition at line 36 of file RealtimeEffectState.cpp.
References EffectOutputs::Clone(), mChannelFromMain, mChannelToMain, mLastSettings, mMainThreadId, and settings().
Referenced by AccessState().
|
inline |
Definition at line 52 of file RealtimeEffectState.cpp.
References mChannelToMain, mCounter, RealtimeEffectState::mMovedOutputs, and mState.
|
inline |
Definition at line 56 of file RealtimeEffectState.cpp.
References mChannelFromMain, and settings().
|
inline |
Definition at line 62 of file RealtimeEffectState.cpp.
References mChannelFromMain.
|
inline |
Definition at line 72 of file RealtimeEffectState.cpp.
References mChannelFromMain, mEffect, and mState.
|
inline |
Definition at line 76 of file RealtimeEffectState.cpp.
References mChannelToMain, mCV, mLockForCV, RealtimeEffectState::mOutputs, mState, and RealtimeEffectState::mWorkerSettings.
MessageBuffer<FromMainSlot> RealtimeEffectState::AccessState::mChannelFromMain |
Definition at line 179 of file RealtimeEffectState.cpp.
Referenced by Initialize(), MainWrite(), and WorkerRead().
MessageBuffer<ToMainSlot> RealtimeEffectState::AccessState::mChannelToMain |
Definition at line 183 of file RealtimeEffectState.cpp.
Referenced by Initialize(), MainRead(), and WorkerWrite().
Response::Counter RealtimeEffectState::AccessState::mCounter |
Definition at line 180 of file RealtimeEffectState.cpp.
Referenced by MainRead().
std::condition_variable RealtimeEffectState::AccessState::mCV |
Definition at line 186 of file RealtimeEffectState.cpp.
Referenced by WorkerWrite().
const EffectSettingsManager& RealtimeEffectState::AccessState::mEffect |
Definition at line 176 of file RealtimeEffectState.cpp.
Referenced by WorkerRead().
SettingsAndCounter RealtimeEffectState::AccessState::mLastSettings |
Definition at line 181 of file RealtimeEffectState.cpp.
Referenced by Initialize().
std::mutex RealtimeEffectState::AccessState::mLockForCV |
Definition at line 185 of file RealtimeEffectState.cpp.
Referenced by WorkerWrite().
std::thread::id RealtimeEffectState::AccessState::mMainThreadId |
Definition at line 188 of file RealtimeEffectState.cpp.
Referenced by Initialize().
RealtimeEffectState& RealtimeEffectState::AccessState::mState |
Definition at line 177 of file RealtimeEffectState.cpp.
Referenced by MainRead(), WorkerRead(), and WorkerWrite().