22 #include <public.sdk/source/vst/vsteditcontroller.h> 23 #include <vstgui4/vstgui/lib/cframe.h> 29 #include <vstgui4/vstgui/plugin-bindings/vst3editor.h> 34 using namespace Params;
45 explicit GUIController(
char const *iXmlFileName =
"Views.uidesc",
46 char const *iMainViewName =
"view");
60 IUIDescription
const *iDescription,
61 IController *iBaseController) {
return nullptr; };
65 tresult PLUGIN_API initialize(FUnknown *context)
override;
68 tresult PLUGIN_API terminate()
override;
71 IPlugView *PLUGIN_API createView(
const char *name)
override;
74 void didOpen(VST3Editor *editor)
override;
77 void willClose(VST3Editor *editor)
override;
80 tresult PLUGIN_API setComponentState(IBStream *state)
override;
83 tresult PLUGIN_API setState(IBStream *state)
override;
86 tresult PLUGIN_API getState(IBStream *state)
override;
89 tresult PLUGIN_API notify(IMessage *message) SMTG_OVERRIDE;
92 IController *createSubController(UTF8StringPtr iName,
93 const IUIDescription *iDescription,
94 VST3Editor *iEditor)
override;
97 void registerParameters(
ParamAware *iParamAware);
115 virtual bool switchToView(
char const *iViewName);
123 bool maybeShowDialog();
127 IPtr<IMessage> allocateMessage()
override;
130 tresult sendMessage(IPtr<IMessage> iMessage)
override;
134 bool showDialog(std::string iTemplateName)
override;
138 bool dismissDialog()
override;
145 VSTGUI::CKnobMode fDefaultKnobMode{VSTGUI::CKnobMode::kLinearMode};
158 SharedPointer<UIDescription> fUIDescription{};
161 std::string fDialogTemplateName{};
164 Optional<ModalViewSessionID> fModalViewSession{};
167 VSTGUI::VST3Editor *fVST3Editor{};
std::string fCurrentViewName
Definition: GUIController.h:155
This class is inherited by classes who want to be aware of parameters and be notified when they chang...
Definition: ParamAware.h:63
Definition: GUIState.h:41
virtual bool switchToMainView()
Switch back to the main view.
Definition: GUIController.h:120
Base class from which the actual controller inherits from.
Definition: GUIController.h:41
Abstraction for allocating and sending a message.
Definition: MessageProducer.h:33
std::string fMainViewName
Definition: GUIController.h:152
Definition: DrawContext.cpp:24
char const *const fXmlFileName
Definition: GUIController.h:142
Custom view factory to give access to vst parameters.
Definition: CustomViewFactory.h:30
virtual IController * createCustomController(UTF8StringPtr iName, IUIDescription const *iDescription, IController *iBaseController)
Subclasses should override this method to return the custom controller or nullptr if doesn't match th...
Definition: GUIController.h:59
Defines the interface to show or dismiss a modal/dialog window which is a window that captures all ev...
Definition: IDialogHandler.h:45