Audacity 3.2.0
VST3Editor.h
Go to the documentation of this file.
1#pragma once
2
3#include <pluginterfaces/base/smartpointer.h>
4
5#include "../EffectEditor.h"
6
8class VST3Wrapper;
9enum EffectType : int;
10
11namespace Steinberg
12{
13 class IPlugView;
14 class IPlugFrame;
15}
16
17class NumericTextCtrl;
19
21 : public wxEvtHandler
22 , public EffectEditor
23{
25 //Used if provided by the plugin and enabled in the settings
26 Steinberg::IPtr<Steinberg::IPlugView> mPlugView;
27 Steinberg::IPtr<Steinberg::IPlugFrame> mPlugFrame;
28 wxWindow* mParent { nullptr };
30 //Used if graphical plugin interface is disabled in the settings, or not provided by the plugin
32
33public:
34 VST3Editor(wxWindow* parent, VST3Wrapper& wrapper,
35 const EffectUIServices &effect, EffectType type,
37 bool useNativeUI);
38 ~VST3Editor() override;
39
40 bool IsGraphicalUI() override;
41 bool UpdateUI() override;
42 bool ValidateUI() override;
43 void OnClose() override;
44
45private:
46 void OnIdle(wxIdleEvent&);
47
48 bool TryLoadNativeUI(wxWindow* parent);
49};
EffectType
Simply the union of PerTrackEffect and StatelessEffectUIServices.
bool ValidateUI() override
Get settings data from the panel; may make error dialogs and return false.
Definition: VST3Editor.cpp:139
bool UpdateUI() override
Update appearance of the panel for changes in settings.
Definition: VST3Editor.cpp:186
bool TryLoadNativeUI(wxWindow *parent)
Definition: VST3Editor.cpp:95
VST3ParametersWindow * mPlainUI
Definition: VST3Editor.h:31
void OnClose() override
Definition: VST3Editor.cpp:152
VST3Wrapper & mWrapper
Definition: VST3Editor.h:24
Steinberg::IPtr< Steinberg::IPlugFrame > mPlugFrame
Definition: VST3Editor.h:27
void OnIdle(wxIdleEvent &)
Definition: VST3Editor.cpp:78
Steinberg::IPtr< Steinberg::IPlugView > mPlugView
Definition: VST3Editor.h:26
~VST3Editor() override
Definition: VST3Editor.cpp:73
bool IsGraphicalUI() override
Definition: VST3Editor.cpp:134
NumericTextCtrl * mDuration
Definition: VST3Editor.h:29
wxWindow * mParent
Definition: VST3Editor.h:28
VST3Editor(wxWindow *parent, VST3Wrapper &wrapper, const EffectUIServices &effect, EffectType type, EffectSettingsAccess &access, bool useNativeUI)
Definition: VST3Editor.cpp:16
"Plain" plugin UI, contains a list of parameter controls and values.