22 #include <public.sdk/source/vst/vsteditcontroller.h> 23 #include <vstgui4/vstgui/lib/cframe.h> 29 #include <vstgui4/vstgui/plugin-bindings/vst3editor.h> 33 using namespace Params;
44 explicit GUIController(
char const *iXmlFileName =
"Views.uidesc",
45 char const *iMainViewName =
"view");
59 IUIDescription
const *iDescription,
60 IController *iBaseController) {
return nullptr; };
64 tresult PLUGIN_API initialize(FUnknown *context)
override;
67 tresult PLUGIN_API terminate()
override;
70 IPlugView *PLUGIN_API createView(
const char *name)
override;
73 void didOpen(VST3Editor *editor)
override;
76 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);
124 IPtr<IMessage> allocateMessage()
override;
127 tresult sendMessage(IPtr<IMessage> iMessage)
override;
134 VSTGUI::CKnobMode fDefaultKnobMode{VSTGUI::CKnobMode::kLinearMode};
147 VSTGUI::VST3Editor *fVST3Editor{};
std::string fCurrentViewName
Definition: GUIController.h:144
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:40
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:40
Abstraction for allocating and sending a message.
Definition: MessageProducer.h:33
std::string fMainViewName
Definition: GUIController.h:141
Definition: DrawContext.cpp:24
char const *const fXmlFileName
Definition: GUIController.h:131
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:58