#include <GUIController.h>
Inherits EditController, VST3EditorDelegate, and pongasoft::VST::IMessageProducer.
Base class from which the actual controller inherits from. Handles most of the "framework" logic, (state loading/saving in a thread safe manner, registering VST parameters...) so that the actual controller code deals mostly with business logic.
◆ GUIController()
| pongasoft::VST::GUI::GUIController::GUIController |
( |
char const * |
iXmlFileName = "Views.uidesc", |
|
|
char const * |
iMainViewName = "view" |
|
) |
| |
|
explicit |
◆ ~GUIController()
| pongasoft::VST::GUI::GUIController::~GUIController |
( |
| ) |
|
|
override |
◆ allocateMessage()
| IPtr< IMessage > pongasoft::VST::GUI::GUIController::allocateMessage |
( |
| ) |
|
|
overridevirtual |
◆ createCustomController()
| virtual IController* pongasoft::VST::GUI::GUIController::createCustomController |
( |
UTF8StringPtr |
iName, |
|
|
IUIDescription const * |
iDescription, |
|
|
IController * |
iBaseController |
|
) |
| |
|
inlinevirtual |
Subclasses should override this method to return the custom controller or nullptr if doesn't match the name
◆ createSubController()
| IController * pongasoft::VST::GUI::GUIController::createSubController |
( |
UTF8StringPtr |
iName, |
|
|
const IUIDescription * |
iDescription, |
|
|
VST3Editor * |
iEditor |
|
) |
| |
|
overrideprotected |
Called when a sub controller needs to be created
◆ createView()
| IPlugView * pongasoft::VST::GUI::GUIController::createView |
( |
const char * |
name | ) |
|
|
overrideprotected |
◆ didOpen()
| void pongasoft::VST::GUI::GUIController::didOpen |
( |
VST3Editor * |
editor | ) |
|
|
overrideprotected |
◆ getGUIState()
| virtual GUIState* pongasoft::VST::GUI::GUIController::getGUIState |
( |
| ) |
|
|
pure virtual |
Subclasses must implement this method to return the state
◆ getState()
| tresult pongasoft::VST::GUI::GUIController::getState |
( |
IBStream * |
state | ) |
|
|
overrideprotected |
Called to save the state (UI only!) (before saving a preset or project)
◆ initialize()
| tresult pongasoft::VST::GUI::GUIController::initialize |
( |
FUnknown * |
context | ) |
|
|
overrideprotected |
Called at first after constructor
◆ notify()
| tresult pongasoft::VST::GUI::GUIController::notify |
( |
IMessage * |
message | ) |
|
|
protected |
Called to handle a message (coming from RT)
◆ registerParameters()
| void pongasoft::VST::GUI::GUIController::registerParameters |
( |
GUIParamCxAware * |
iGUIParamCxAware | ) |
|
|
protected |
◆ sendMessage()
| tresult pongasoft::VST::GUI::GUIController::sendMessage |
( |
IPtr< IMessage > |
iMessage | ) |
|
|
overridevirtual |
◆ setComponentState()
| tresult pongasoft::VST::GUI::GUIController::setComponentState |
( |
IBStream * |
state | ) |
|
|
overrideprotected |
Sets the component state (after setting the processor) or after restore
◆ setState()
| tresult pongasoft::VST::GUI::GUIController::setState |
( |
IBStream * |
state | ) |
|
|
overrideprotected |
Restore the state (UI only!) (ex: after loading preset or project)
◆ switchToMainView()
| virtual bool pongasoft::VST::GUI::GUIController::switchToMainView |
( |
| ) |
|
|
inlineprotectedvirtual |
Switch back to the main view
◆ switchToView()
| bool pongasoft::VST::GUI::GUIController::switchToView |
( |
char const * |
iViewName | ) |
|
|
protectedvirtual |
This method should be called to display a totally different (root) view.
Example: with xxx.uidesc like this one, you would call switchToView("compact_view");
<vstgui-ui-description version="1">
<!-- Main view opened on creation -->
<template class="CViewContainer" name="view" ...>
</template>
<!-- Secondary view you can switch to -->
<template class="CViewContainer" name="compact_view" ...>
</template>
<vstgui-ui-description
- Returns
true if switching worked
◆ terminate()
| tresult pongasoft::VST::GUI::GUIController::terminate |
( |
| ) |
|
|
overrideprotected |
Called at the end before destructor
◆ willClose()
| void pongasoft::VST::GUI::GUIController::willClose |
( |
VST3Editor * |
editor | ) |
|
|
overrideprotected |
◆ fCurrentViewName
| std::string pongasoft::VST::GUI::GUIController::fCurrentViewName |
|
private |
◆ fDefaultKnobMode
| VSTGUI::CKnobMode pongasoft::VST::GUI::GUIController::fDefaultKnobMode {VSTGUI::CKnobMode::kLinearMode} |
|
protected |
◆ fMainViewName
| std::string pongasoft::VST::GUI::GUIController::fMainViewName |
|
private |
◆ fViewFactory
◆ fVST3Editor
| VSTGUI::VST3Editor* pongasoft::VST::GUI::GUIController::fVST3Editor {} |
|
private |
◆ fXmlFileName
| char const* const pongasoft::VST::GUI::GUIController::fXmlFileName |
|
protected |
The documentation for this class was generated from the following files: