14#ifndef __AUDACITY_EFFECTUI_H__
15#define __AUDACITY_EFFECTUI_H__
54 std::shared_ptr<EffectInstance> &pInstance,
56 const std::shared_ptr<RealtimeEffectState> &pPriorState = {});
82 void OnErase(wxEraseEvent & evt);
83 void OnPaint(wxPaintEvent & evt);
84 void OnClose(wxCloseEvent & evt);
85 void OnApply(wxCommandEvent & evt);
88 void OnDebug(wxCommandEvent & evt);
89 void OnMenu(wxCommandEvent & evt);
91 void OnPlay(wxCommandEvent & evt);
102 void OnIdle(wxIdleEvent &evt);
108 wxBitmap
CreateBitmap(
const char *
const xpm[],
bool up,
bool pusher);
159 bool mClosed{
false };
167 DECLARE_EVENT_TABLE()
197 int flags = wxDEFAULT_DIALOG_STYLE,
198 int additionalButtons = 0);
202 bool TransferDataToWindow()
override;
203 bool TransferDataFromWindow()
override;
204 bool Validate()
override;
208 virtual void OnPreview(wxCommandEvent & evt);
209 virtual void OnOk(wxCommandEvent & evt);
215 DECLARE_EVENT_TABLE()
std::vector< RegistryPath > RegistryPaths
Base class for command in Audacity.
The top-level handle to an Audacity project. It serves as a source of events that other objects can b...
CommandContext provides additional information to an 'Apply()' command. It provides the project,...
Hold values to send to effect output meters.
Factory of instances of an effect and of dialogs to control them.
std::shared_ptr< EffectSettingsAccess > EffectSettingsAccessPtr
EffectUIClientInterface is an abstract base class to populate a UI and validate UI values....
EffectPlugin & mEffectUIHost
void OnEnable(wxCommandEvent &evt)
void OnFactoryPreset(wxCommandEvent &evt)
RegistryPaths mUserPresets
void OnDefaults(wxCommandEvent &evt)
Observer::Subscription mAudioIOSubscription
bool HandleCommandKeystrokes() override
const EffectPlugin::EffectSettingsAccessPtr mpGivenAccess
wxPanel * BuildButtonBar(wxWindow *parent, bool graphicalUI)
EffectUIValidator * GetValidator() const
std::unique_ptr< EffectUIValidator > mpValidator
void OnErase(wxEraseEvent &evt)
void OnPlayback(AudioIOEvent)
AudacityProject & mProject
std::shared_ptr< RealtimeEffectState > mpTempProjectState
bool TransferDataToWindow() override
EffectPlugin::EffectSettingsAccessPtr mpAccess
const EffectOutputs *const mpOutputs
void OnUserPreset(wxCommandEvent &evt)
void OnDeletePreset(wxCommandEvent &evt)
void OnIdle(wxIdleEvent &evt)
wxButton * mPlayToggleBtn
Observer::Subscription mEffectStateSubscription
EffectUIClientInterface & mClient
void OnCapture(AudioIOEvent)
void OnClose(wxCloseEvent &evt)
void OnExport(wxCommandEvent &evt)
void OnSaveAs(wxCommandEvent &evt)
const bool mHadPriorState
void OnOptions(wxCommandEvent &evt)
void OnInitDialog(wxInitDialogEvent &evt)
EffectUIHost(wxWindow *parent, AudacityProject &project, EffectPlugin &effect, EffectUIClientInterface &client, std::shared_ptr< EffectInstance > &pInstance, EffectSettingsAccess &access, const std::shared_ptr< RealtimeEffectState > &pPriorState={})
void OnMenu(wxCommandEvent &evt)
void OnDebug(wxCommandEvent &evt)
void OnCharHook(wxKeyEvent &evt)
EffectPlugin::EffectSettingsAccessPtr mpAccess2
void OnImport(wxCommandEvent &evt)
std::shared_ptr< EffectInstance > InitializeInstance()
void OnApply(wxCommandEvent &evt)
const bool mSupportsRealtime
void OnPlay(wxCommandEvent &evt)
const std::shared_ptr< EffectInstance > mpInstance
void OnCancel(wxCommandEvent &evt)
std::weak_ptr< RealtimeEffectState > mwState
wxBitmap CreateBitmap(const char *const xpm[], bool up, bool pusher)
bool IsOpenedFromEffectPanel() const
bool TransferDataFromWindow() override
wxBitmap mRealtimeDisabledBM
void OnPaint(wxPaintEvent &evt)
wxBitmap mRealtimeEnabledBM
Interface for transferring values from a panel of effect controls.
A move-only handle representing a connection to a Publisher.
Defines a selected portion of a project.
Derived from ShuttleGuiBase, an Audacity specific class for shuttling data to and from GUI.
Holds a msgid for the translation catalog; may also bind format arguments.
AUDACITY_DLL_API bool DoEffect(const PluginID &ID, const CommandContext &context, unsigned flags)
'Repeat Last Effect'.
AUDACITY_DLL_API DialogFactoryResults DialogFactory(wxWindow &parent, EffectPlugin &host, EffectUIClientInterface &client, EffectSettingsAccess &access)