29 {
return std::make_unique<RealtimeEffectStateUI>(state); }
39 : mRealtimeEffectState(state)
63 const auto effectPlugin =
66 if (effectPlugin ==
nullptr)
72 if (client ==
nullptr)
77 std::shared_ptr<EffectInstance> pInstance;
83 &projectWindow,
project, *effectPlugin, *client, pInstance, *access,
86 if (!dlg->Initialize())
94 client->ShowClientInterface(*effectPlugin,
169 if (effectPlugin !=
nullptr)
170 mEffectName = effectPlugin->GetDefinition().GetName();
190 auto next = GetNextHandler();
199 next->ProcessEvent(evt);
std::unique_ptr< T, Destroyer< T > > Destroy_ptr
a convenience for using Destroyer
The top-level handle to an Audacity project. It serves as a source of events that other objects can b...
Subclass & Get(const RegisteredFactory &key)
Get reference to an attachment, creating on demand if not present, down-cast it to Subclass.
Base class for many of the effects in Audacity.
EffectPlugin * GetEffect(const PluginID &ID)
static EffectManager & Get()
static result_type Call(Arguments &&...arguments)
Null check of the installed function is done for you.
static ProjectWindow & Get(AudacityProject &project)
std::shared_ptr< EffectSettingsAccess > GetAccess()
const PluginID & GetID() const noexcept
UI state for realtime effect.
Observer::Subscription mParameterChangedSubscription
TranslatableString mEffectName
bool IsShown() const noexcept
Observer::Subscription mProjectWindowDestroyedSubscription
void OnClose(wxCloseEvent &evt)
RealtimeEffectState & mRealtimeEffectState
void SetTargetName(const wxString &name)
~RealtimeEffectStateUI() override
void Show(AudacityProject &project)
void Toggle(AudacityProject &project)
wxWeakRef< EffectUIHost > mEffectUIHost
AudacityProject * mpProject
static RealtimeEffectStateUI & Get(RealtimeEffectState &state)
void Hide(AudacityProject *project=nullptr)
void AutoSave(AudacityProject &project)
static UndoManager & Get(AudacityProject &project)
const RealtimeEffectState::RegisteredFactory realtimeEffectStateUIFactory
Message sent when the project window is closed.