The VST GUI for the plugin. This is needed because VST3 requires an IPlugView GUI, which is VST3 specific (involves VST3 SDK files)
More...
|
| PluginEditor (VSTGUI::UTF8StringPtr _xmlFile, PluginCore *_pluginCore, GUIPluginConnector *_guiPluginConnector, PluginHostConnector *_pluginHostConnector, VST3Plugin *editController) |
| ASPiK support VST3 GUI - this wraps the ASPiK GUI so that it conforms to the IPlugView interface.
|
|
virtual | ~PluginEditor () |
| ASPiK support VST3 GUI - this wraps the ASPiK GUI so that it conforms to the IPlugView interface.
|
|
const ViewRect & | getRect () const |
|
void | setRect (const ViewRect &r) |
|
bool | isAttached () const |
|
virtual void | attachedToParent () override |
|
virtual void | removedFromParent () override |
|
virtual tresult PLUGIN_API | attached (void *parent, FIDString type) override |
| ASPiK support VST3 GUI - this wraps the ASPiK GUI so that it conforms to the IPlugView interface.
|
|
virtual tresult PLUGIN_API | removed () override |
| ASPiK support VST3 GUI - this wraps the ASPiK GUI so that it conforms to the IPlugView interface.
|
|
virtual tresult PLUGIN_API | onWheel (float distance) override |
|
virtual tresult PLUGIN_API | isPlatformTypeSupported (FIDString type) override |
| ASPiK support VST3 GUI - this wraps the ASPiK GUI so that it conforms to the IPlugView interface.
|
|
virtual tresult PLUGIN_API | onSize (ViewRect *newSize) override |
| ASPiK support VST3 GUI - this wraps the ASPiK GUI so that it conforms to the IPlugView interface.
|
|
virtual tresult PLUGIN_API | getSize (ViewRect *size) override |
| ASPiK support VST3 GUI - this wraps the ASPiK GUI so that it conforms to the IPlugView interface.
|
|
virtual tresult PLUGIN_API | onFocus (TBool) override |
|
virtual tresult PLUGIN_API | setFrame (IPlugFrame *frame) override |
| ASPiK support VST3 GUI - this wraps the ASPiK GUI so that it conforms to the IPlugView interface.
|
|
virtual tresult PLUGIN_API | canResize () override |
|
virtual tresult PLUGIN_API | checkSizeConstraint (ViewRect *rect) override |
|
virtual bool | setWindowFrameSize (double left=0, double top=0, double right=0, double bottom=0) override |
|
virtual bool | getWindowFrameSize (double &left, double &top, double &right, double &bottom) override |
|
| PluginGUI (UTF8StringPtr _xmlFile) |
| PluginGUI constructor; note that this maintains both Mac and Windows contexts, the bundle ref for Mac and the external void* for Windows.
|
|
virtual | ~PluginGUI () |
| PluginGUI destructor.
|
|
bool | open (UTF8StringPtr _viewName, void *parent, const std::vector< PluginParameter * > *pluginParameterPtr, const PlatformType &platformType=PlatformType::kDefaultNative, IGUIPluginConnector *_guiPluginConnector=nullptr, void *data=nullptr) |
| creates the GUI control objects, creates outer frame, inserts contents into window
|
|
void | close () |
| prepares the GUI control objects for destruction, cleans up
|
|
void | syncGUIControl (uint32_t controlID) |
| safely sets the GUI control value based on the plugin parameter value
|
|
void | getSize (float &width, float &height) |
| returns the size into the pass-by-reference variables
|
|
void | scaleGUISize (uint32_t controlValue) |
| scales the GUI; this is the handler for the special scaling GUI control
|
|
void | writeToPresetFile () |
| writes the current state of all GUI controls into a text file so that yuu can simply cut and paste the C++ code into the core object file.
|
|
void | clearGUIPluginConnector () |
|
void | setAAXViewContainer (AAX_IViewContainer *_aaxViewContainer) |
| AAX ONLY: plugin shell GUI object sets this after creation.
|
|
void | setAAXParameterFromGUIControl (CControl *control, int tag, float actualValue, float normalizedValue) |
| set the plugin shelll parameter from GUI control using thread-safe mechanism
|
|
void | updateGUIControlAAX (int tag, float actualPluginValue, float normalizedValue=0.f, bool useNormalized=false) |
| set the GUI control from the plugin shell GUI object (thread-safe)
|
|
void | dispatchAUControlChange (int tag, float actualPluginValue, int message=-1, bool fromEventListener=false) |
| set the GUI control from the AU event generator; this is part of the thread-safe event system. This gets called when automation is running.
|
|
void | setAU (AudioUnit inAU) |
|
CMessageResult | notify (CBaseObject *sender, IdStringPtr message) override |
| incoming VSTGUI4 message handler
|
|
virtual void | valueChanged (VSTGUI::CControl *pControl) override |
| THE function that all controls pour their control changes into. The result of this function is to push the GUI control change safely into the plugin shell owner.
|
|
virtual int32_t | controlModifierClicked (VSTGUI::CControl *pControl, VSTGUI::CButtonState button) override |
| return 1 if you want the control to not handle it, otherwise 0
|
|
virtual void | controlBeginEdit (VSTGUI::CControl *pControl) override |
| start of control/auomation notification
|
|
virtual void | controlEndEdit (VSTGUI::CControl *pControl) override |
| end of control/auomation notification
|
|
virtual void | controlTagWillChange (VSTGUI::CControl *pControl) override |
| called when a control is being removed from the GUI, or when it is being created (step 1)
|
|
virtual void | controlTagDidChange (VSTGUI::CControl *pControl) override |
| called when a control is being created on the GUI (step 2)
|
|
CView * | createUserCustomView (std::string viewname, const CRect rect, IControlListener *listener, int32_t tag) |
| add your custom views here; this is where you can create and register the views outside of the createView( ) method below.
|
|
CView * | createView (const UIAttributes &attributes, const IUIDescription *description) override |
| this is called for every view obeject in the XML file that will be visible to check and see if you want to supply your own object, that you create with the new operator; that object takes the place of the stock GUI object, allowing you to customize the view behavior. This is called the "Custom View" paradigm and along with the sub-controller make VSTGUI4 extremely powerful.
|
|
IController * | createSubController (UTF8StringPtr name, const IUIDescription *description) override |
| for advanced users: you can create and even register sub-controllers here
|
|
ControlUpdateReceiver * | getControlUpdateReceiver (int32_t tag) const |
| find the receiver for a given tag; there can be only one receiver for any tag
|
|
void | onViewAdded (CFrame *frame, CView *view) override |
|
void | onViewRemoved (CFrame *frame, CView *view) override |
| called before GUI control is removed from the view
|
|
void | onMouseEntered (CView *view, CFrame *frame) override |
|
void | onMouseExited (CView *view, CFrame *frame) override |
|
CMouseEventResult | onMouseDown (CFrame *frame, const CPoint &where, const CButtonState &buttons) override |
| message handler for mouse down event
|
|
CMouseEventResult | onMouseMoved (CFrame *frame, const CPoint &where, const CButtonState &buttons) override |
| message handler for mouse move event
|
|
virtual bool | validateCommandMenuItem (CCommandMenuItem *item) override |
| validates menu item selections to prevent crashing
|
|
virtual bool | onCommandMenuItemSelected (CCommandMenuItem *item) override |
| message handler for GUI Designer menu
|
|
virtual void | setGUIWindowFrame (IGUIWindowFrame *frame) override |
| set the interface pointer for resizing from the GUI
|
|
bool | hasWriteableControl (CControl *control) |
| check to see if we already store this meter control
|
|
void | checkAddWriteableControl (PluginParameter *piParam, CControl *control) |
| check to see if we already store this meter control and add it if we don't
|
|
void | checkRemoveWriteableControl (CControl *control) |
| check to see if we already store this meter control and remove it if we do
|
|
void | deleteControlUpdateReceivers () |
| delete all reciever objects
|
|
void | forgetWriteableControls () |
| forget all writeable (neter) controls
|
|
bool | hasICustomView (CView *view) |
| simple helper function to test view for ICustomView
|
|
bool | hasICustomView (IController *subController) |
| simple helper function to test sub-controller for ICustomView
|
|
virtual void | setGUIWindowFrame (IGUIWindowFrame *frame)=0 |
|
virtual bool | setWindowFrameSize (double left=0, double top=0, double right=0, double bottom=0)=0 |
|
virtual bool | getWindowFrameSize (double &left, double &top, double &right, double &bottom)=0 |
|
virtual void | enableGUIDesigner (bool enable) |
|
|
static void | initVSTGUILib (void *hInstance) |
| VSTGUI4 Library Initializer for AAX/Windows only.
|
|
static void | exitVSTGUILib () |
|
static bool | parseSize (const std::string &str, CPoint &point) |
| simple helper function to get size from string
|
|
virtual void | idle () |
| perform idling operation; called directly from timer thread
|
|
void | preCreateGUI () |
| one-time pre-create init, currently used for AU only
|
|
bool | createGUI (bool bShowGUIEditor) |
| creates either the GUI or the GUI Designer
|
|
void | save (bool saveAs=false) |
| save GUI state in XML file
|
|
virtual int32_t | getKnobMode () const override |
| returns mode
|
|
void | deleteGUIControlList () |
|
PluginParameter * | getGuiControlWithTag (int tag) |
| find the local PluginParameter that is connected to the same control ID
|
|
std::string | getGUIDesignerSize () |
| get size string
|
|
int | getControlID_WithMouseCoords (const CPoint &where) |
| control finder, for AAX only, part of Pro Tools automation keyboard shortcut
|
|
CControl * | getControl_WithMouseCoords (const CPoint &where) |
| control finder, for AAX only, part of Pro Tools automation keyboard shortcut
|
|
CMouseEventResult | sendAAXMouseDown (int controlID, const CButtonState &buttons) |
| mouse down handler for Pro Tools keyboard shortcuts
|
|
CMouseEventResult | sendAAXMouseMoved (int controlID, const CButtonState &buttons, const CPoint &where) |
| mouse moved handler for Pro Tools keyboard shortcuts
|
|
CMouseEventResult | sendAUMouseDown (CControl *control, const CButtonState &buttons) |
| mouse down handler for AU automation
|
|
CMouseEventResult | sendAUMouseMoved (CControl *control, const CButtonState &buttons, const CPoint &where) |
|
void | setPluginParameterFromGUIControl (CControl *control, int tag, float actualValue, float normalizedValue) |
| safely set a plugin shell parameter with a GUI control
|
|
void | setAUEventFromGUIControl (CControl *control, int tag, float normalizedValue) |
| set the AU event from the GUI congrol; this is part of the thread-safe event system. This is called to safely set the GUI control value on the plugin shell's parameter list.
|
|
void | setVSTParameterFromGUIControl (CControl *control, int tag, float actualValue, float normalizedValue) |
| set the VST parameter from the GUI control
|
|
void | updateGUIControlVST (int tag, float normalizedValue) |
| set the GUI control from the VST parameter
|
|
void | setRAFXParameterFromGUIControl (CControl *control, int tag, float actualValue, float normalizedValue) |
| set the RAFX2 parameter from the GUI control
|
|
void | updateGUIControlRAFX (int tag, float normalizedValue) |
| set the GUI control from the RAFX2 parameter
|
|
The VST GUI for the plugin. This is needed because VST3 requires an IPlugView GUI, which is VST3 specific (involves VST3 SDK files)
- Author
- Will Pirkle http://www.willpirkle.com
- Version
- Revision : 1.0
- Date
- Date : 2018 / 09 / 7