ASPiK SDK
Loading...
Searching...
No Matches
Steinberg::Vst::ASPiK::GUIPluginConnector Class Reference

The GUIPluginConnector interface creates a safe message mechanism for the GUI to issue requests to the plugin shell. The following messages are processed via functions: More...

#include <vst3plugin.h>

Inheritance diagram for Steinberg::Vst::ASPiK::GUIPluginConnector:
IGUIPluginConnector

Public Member Functions

 GUIPluginConnector (PluginCore *_pluginCore, VST3Plugin *_editController)
 
virtual ~GUIPluginConnector ()
 
virtual void parameterChanged (int32_t controlID, double actualValue, double normalizedValue)
 
virtual double getNormalizedPluginParameter (int32_t controlID)
 
virtual double getActualPluginParameter (int32_t controlID)
 
virtual bool registerSubcontroller (std::string subcontrollerName, ICustomView *customViewConnector)
 
virtual bool deRregisterSubcontroller (ICustomView *customViewConnector)
 
virtual bool registerCustomView (std::string customViewName, ICustomView *customViewConnector)
 
virtual bool deRegisterCustomView (ICustomView *customViewConnector)
 
virtual bool guiDidOpen ()
 
virtual bool guiWillClose ()
 
virtual bool guiTimerPing ()
 
virtual bool checkNonBoundValueChange (int tag, float normalizedValue)
 
- Public Member Functions inherited from IGUIPluginConnector
virtual bool registerCustomView (std::string customViewName, ICustomView *customViewConnector)=0
 
virtual bool deRegisterCustomView (ICustomView *customViewConnector)=0
 
virtual bool guiDidOpen ()=0
 
virtual bool guiWillClose ()=0
 
virtual bool guiTimerPing ()=0
 
virtual bool registerSubcontroller (std::string subcontrollerName, ICustomView *customViewConnector)
 
virtual bool deRregisterSubcontroller (ICustomView *customViewConnector)
 
virtual uint32_t getNonBoundVariableCount ()
 
virtual uint32_t getNextNonBoundVariableTag (int startTag)
 
virtual bool checkNonBoundValueChange (int tag, float normalizedValue)
 
virtual void checkSendUpdateGUI (int tag, float actualValue, bool loadingPreset, void *data1=0, void *data2=0)
 
virtual void parameterChanged (int32_t controlID, double actualValue, double normalizedValue)
 
virtual double getNormalizedPluginParameter (int32_t controlID)
 
virtual void setNormalizedPluginParameter (int32_t controlID, double value)
 
virtual double getActualPluginParameter (int32_t controlID)
 
virtual void setActualPluginParameter (int32_t controlID, double value)
 
virtual void beginParameterChangeGesture (int controlTag)
 
virtual void endParameterChangeGesture (int controlTag)
 

Protected Types

typedef std::map< std::string, CustomViewController * > customViewControllerMap
 map of custom view controllers
 

Protected Member Functions

CustomViewControllergetCustomViewController (ICustomView *customViewConnector)
 
CustomViewControllergetCustomSubController (ICustomView *customViewConnector)
 

Protected Attributes

PluginCorepluginCore = nullptr
 the core object
 
VST3PlugineditController = nullptr
 the VST3
 
customViewControllerMap customViewMap
 
customViewControllerMap customSubControllerMap
 map of custom sub-controllers
 

Detailed Description

The GUIPluginConnector interface creates a safe message mechanism for the GUI to issue requests to the plugin shell. The following messages are processed via functions:

  • tell core that a parameter has changed (asynchronous)
  • get the AU parameter value (thread-safe via AU instance)
  • get the AU parameter value in normalized form (thread-safe via AU instance)
  • register and de-register sub-controllers (normally not used, but here for future expansion)
  • register and de-register custom-views
  • send plugin core messages about current GUI states (did open, will close, timer ping)
Author
Will Pirkle http://www.willpirkle.com
Remarks
This object is included in Designing Audio Effects Plugins in C++ 2nd Ed. by Will Pirkle
Version
Revision : 1.0
Date
Date : 2018 / 09 / 7

Constructor & Destructor Documentation

◆ GUIPluginConnector()

Steinberg::Vst::ASPiK::GUIPluginConnector::GUIPluginConnector ( PluginCore _pluginCore,
VST3Plugin _editController 
)
inline

construct with two pointers

◆ ~GUIPluginConnector()

virtual Steinberg::Vst::ASPiK::GUIPluginConnector::~GUIPluginConnector ( )
inlinevirtual

destroy subcontroller and custom view container objects

Member Function Documentation

◆ checkNonBoundValueChange()

virtual bool Steinberg::Vst::ASPiK::GUIPluginConnector::checkNonBoundValueChange ( int  tag,
float  normalizedValue 
)
inlinevirtual

send message to core: a non-bound variable has changed (NOT implemented or needed, but may be added for your own customization)

Reimplemented from IGUIPluginConnector.

◆ deRegisterCustomView()

virtual bool Steinberg::Vst::ASPiK::GUIPluginConnector::deRegisterCustomView ( ICustomView customViewConnector)
inlinevirtual

remove custom view's ICustomView and send message to core

Implements IGUIPluginConnector.

◆ deRregisterSubcontroller()

virtual bool Steinberg::Vst::ASPiK::GUIPluginConnector::deRregisterSubcontroller ( ICustomView customViewConnector)
inlinevirtual

remove sub-controller's ICustomView and send message to core

Reimplemented from IGUIPluginConnector.

◆ getActualPluginParameter()

virtual double Steinberg::Vst::ASPiK::GUIPluginConnector::getActualPluginParameter ( int32_t  controlID)
inlinevirtual

get plugin parameter as actual value

Reimplemented from IGUIPluginConnector.

◆ getCustomSubController()

CustomViewController * Steinberg::Vst::ASPiK::GUIPluginConnector::getCustomSubController ( ICustomView customViewConnector)
inlineprotected

get a sub-controller controller object (internal use only)

◆ getCustomViewController()

CustomViewController * Steinberg::Vst::ASPiK::GUIPluginConnector::getCustomViewController ( ICustomView customViewConnector)
inlineprotected

get a custom view controller object (internal use only)

◆ getNormalizedPluginParameter()

virtual double Steinberg::Vst::ASPiK::GUIPluginConnector::getNormalizedPluginParameter ( int32_t  controlID)
inlinevirtual

get VST parameter in normalized form

Reimplemented from IGUIPluginConnector.

◆ guiDidOpen()

virtual bool Steinberg::Vst::ASPiK::GUIPluginConnector::guiDidOpen ( )
inlinevirtual

send message to core: GUI has been opened and all VISIBLE controls are active

Implements IGUIPluginConnector.

◆ guiTimerPing()

virtual bool Steinberg::Vst::ASPiK::GUIPluginConnector::guiTimerPing ( )
inlinevirtual

send message to core: repaint timer

Implements IGUIPluginConnector.

◆ guiWillClose()

virtual bool Steinberg::Vst::ASPiK::GUIPluginConnector::guiWillClose ( )
inlinevirtual

send message to core: GUI will close; all controls active but will vanish

Implements IGUIPluginConnector.

◆ parameterChanged()

virtual void Steinberg::Vst::ASPiK::GUIPluginConnector::parameterChanged ( int32_t  controlID,
double  actualValue,
double  normalizedValue 
)
inlinevirtual

inform core that parameter has changed (NOT to be used to alter plugin states!)

Reimplemented from IGUIPluginConnector.

◆ registerCustomView()

virtual bool Steinberg::Vst::ASPiK::GUIPluginConnector::registerCustomView ( std::string  customViewName,
ICustomView customViewConnector 
)
inlinevirtual

store custom view's ICustomView and send message to core

Implements IGUIPluginConnector.

◆ registerSubcontroller()

virtual bool Steinberg::Vst::ASPiK::GUIPluginConnector::registerSubcontroller ( std::string  subcontrollerName,
ICustomView customViewConnector 
)
inlinevirtual

store sub-controller's ICustomView and send message to core

Reimplemented from IGUIPluginConnector.


The documentation for this class was generated from the following file: