![]() |
Audacity 3.2.0
|
#include <EffectInterface.h>
Public Member Functions | |
virtual | ~EffectSettingsAccess () |
virtual const EffectSettings & | Get ()=0 |
virtual void | Set (EffectSettings &&settings)=0 |
template<typename Function > | |
void | ModifySettings (Function &&function) |
Do a correct read-modify-write of settings. More... | |
Interface for accessing an EffectSettings that may change asynchronously in another thread; to be used in the main thread, only.
Updates are communicated atomically both ways. The address of Get() should not be relied on as unchanging between calls.
Definition at line 125 of file EffectInterface.h.
|
virtualdefault |
|
pure virtual |
Implemented in SimpleEffectSettingsAccess, and RealtimeEffectState::Access.
Referenced by AudioUnitValidator::AudioUnitValidator(), LV2Effect::BuildPlain(), VSTEffect::BuildPlain(), EffectDtmf::PopulateOrExchange(), EffectEcho::PopulateOrExchange(), EffectNoise::PopulateOrExchange(), EffectReverb::PopulateOrExchange(), EffectSilence::PopulateOrExchange(), EffectToneGen::PopulateOrExchange(), EffectWahwah::PopulateOrExchange(), VST3Effect::PopulateUI(), EffectBase::Preview(), EffectTimeScale::Preview(), and AudioUnitValidator::UpdateUI().
|
inline |
Do a correct read-modify-write of settings.
function | takes EffectSettings & and its return is ignored. If it throws an exception, then the settings will not be updated. Thus, a strong exception safety guarantee. |
Definition at line 139 of file EffectInterface.h.
References BasicUI::Get(), and settings().
Referenced by EffectEqualization::PopulateOrExchange(), VST3Effect::PopulateUI(), EffectBase::Preview(), NyquistEffect::ShowHostInterface(), DefaultEffectUIValidator::ValidateUI(), AudioUnitValidator::ValidateUI(), EffectReverb::Validator::ValidateUI(), and EffectWahwah::Validator::ValidateUI().
|
pure virtual |
Implemented in SimpleEffectSettingsAccess, and RealtimeEffectState::Access.