ASPiK SDK
Loading...
Searching...
No Matches
AAXPluginGUI Class Reference

The AAXPluginGUI is the GUI object for AAX. It creates and destroys the ASPiK GUI. It also synchronizes GUI and parameters as described in detail in the book source below. More...

#include <AAXPluginGUI.h>

Inheritance diagram for AAXPluginGUI:
IGUIWindowFrame

Public Member Functions

 AAXPluginGUI (void)
 object constructor
 
 ~AAXPluginGUI (void)
 object destructor
 
virtual void CreateViewContainer ()
 AAX_CEffectGUI override.
 
virtual void DeleteViewContainer ()
 AAX_CEffectGUI override.
 
virtual void CreateViewContents ()
 AAX_CEffectGUI override.
 
virtual AAX_Result ParameterUpdated (const char *iParameterID)
 AAX_CEffectGUI override.
 
virtual AAX_Result Draw (AAX_Rect *iDrawRect)
 AAX_CEffectGUI override.
 
virtual AAX_Result TimerWakeup (void)
 AAX_CEffectGUI override.
 
virtual AAX_Result GetViewSize (AAX_Point *oEffectViewSize) const
 for sizing the GUI
 
virtual bool setWindowFrameSize (double left=0, double top=0, double right=0, double bottom=0)
 
virtual bool getWindowFrameSize (double &left, double &top, double &right, double &bottom)
 
- Public Member Functions inherited from IGUIWindowFrame
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 Public Member Functions

static AAX_IEffectGUI *AAX_CALLBACK Create (void)
 creation mechanism for this object
 

Protected Attributes

int guiWidth = 100
 size parameter
 
int guiHeight = 100
 size parameter
 
pluginCustomData customData
 custom data struct used for moving information from parameters during early construction phase
 
VSTGUI::PluginGUIpluginGUI
 the ASPiK GUI - NOTE that this is maintained only for constructing and destroying the GUI
 
bool pureCustomGUI = false
 not used
 

Detailed Description

The AAXPluginGUI is the GUI object for AAX. It creates and destroys the ASPiK GUI. It also synchronizes GUI and parameters as described in detail in the book source below.

NOTES:

  • implements the ASPiK IGUIWindowFrame inteface by simply subclassing from it
  • AAX GUI binding is specific to the monolithic plugin parameter paradigm as described in detail in the book source below.
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

◆ AAXPluginGUI()

AAXPluginGUI::AAXPluginGUI ( void  )

object constructor

NOTES:

  • see Designing Audio Effects in C++ 2nd Ed. by Will Pirkle for more information and an AAX Programming Guide
  • see AAX SDK for more information on this function and its parameters

◆ ~AAXPluginGUI()

AAXPluginGUI::~AAXPluginGUI ( void  )

object destructor

NOTES:

  • see Designing Audio Effects in C++ 2nd Ed. by Will Pirkle for more information and an AAX Programming Guide
  • see AAX SDK for more information on this function and its parameters

Member Function Documentation

◆ Create()

AAX_IEffectGUI *AAX_CALLBACK AAXPluginGUI::Create ( void  )
static

creation mechanism for this object

creation mechanism

NOTES:

  • see Designing Audio Effects in C++ 2nd Ed. by Will Pirkle for more information and an AAX Programming Guide
  • see AAX SDK for more information on this function and its parameters

◆ CreateViewContainer()

void AAXPluginGUI::CreateViewContainer ( )
virtual

AAX_CEffectGUI override.

called when user opens the GUI

NOTES:

  • this creates the ASPiK-GUI object
  • slightly different between Windows and MacOS versions
  • see Designing Audio Effects in C++ 2nd Ed. by Will Pirkle for more information and an AAX Programming Guide
  • see AAX SDK for more information on this function and its parameters

◆ CreateViewContents()

void AAXPluginGUI::CreateViewContents ( )
virtual

AAX_CEffectGUI override.

unused; will be removed in future

◆ DeleteViewContainer()

void AAXPluginGUI::DeleteViewContainer ( )
virtual

AAX_CEffectGUI override.

called when user closes GUI

NOTES:

  • this destroys the ASPiK-GUI object
  • see Designing Audio Effects in C++ 2nd Ed. by Will Pirkle for more information and an AAX Programming Guide
  • see AAX SDK for more information on this function and its parameters

◆ Draw()

AAX_Result AAXPluginGUI::Draw ( AAX_Rect *  iDrawRect)
virtual

AAX_CEffectGUI override.

unused

◆ GetViewSize()

AAX_Result AAXPluginGUI::GetViewSize ( AAX_Point *  oEffectViewSize) const
virtual

for sizing the GUI

returns size of view container

for sizing the GUI

NOTES:

  • see Designing Audio Effects in C++ 2nd Ed. by Will Pirkle for more information and an AAX Programming Guide
  • see AAX SDK for more information on this function and its parameters

◆ getWindowFrameSize()

virtual bool AAXPluginGUI::getWindowFrameSize ( double &  left,
double &  top,
double &  right,
double &  bottom 
)
inlinevirtual

for sizing the GUI

Implements IGUIWindowFrame.

◆ ParameterUpdated()

AAX_Result AAXPluginGUI::ParameterUpdated ( const char *  iParameterID)
virtual

AAX_CEffectGUI override.

part of massive parameter update callback loop for the monolithic parameter; this will be called once the parameter has actually made it to the audio processing and keeps things looking tightly bound

NOTES:

  • this creates the ASPiK-GUI object
  • slightly different between Windows and MacOS versions
  • see Designing Audio Effects in C++ 2nd Ed. by Will Pirkle for more information and an AAX Programming Guide
  • see AAX SDK for more information on this function and its parameters

◆ setWindowFrameSize()

virtual bool AAXPluginGUI::setWindowFrameSize ( double  left = 0,
double  top = 0,
double  right = 0,
double  bottom = 0 
)
inlinevirtual

IGUIWindowFrame - this allows us to set the view size for the GUI designer (only)

Implements IGUIWindowFrame.

◆ TimerWakeup()

AAX_Result AAXPluginGUI::TimerWakeup ( void  )
virtual

AAX_CEffectGUI override.

unused


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