Jamba  3.0.2
pongasoft::VST::GUI::Params::GUIParamCxMgr Class Reference

#include <GUIParamCxMgr.h>

Public Member Functions

bool existsJmb (ParamID iParamID) const
 
bool existsVst (ParamID iParamID) const
 
GUIStategetGUIState () const
 
void invokeAll ()
 
template<typename T >
GUIJmbParam< T > registerJmbCallback (GUIJmbParam< T > &iParamDef, Parameters::ChangeCallback iChangeCallback, bool iInvokeCallback)
 
template<typename T >
void registerJmbCallback (GUIJmbParam< T > &iParamDef, Parameters::ChangeCallback1< GUIJmbParam< T >> iChangeCallback, bool iInvokeCallback)
 
template<typename T >
GUIJmbParam< T > registerJmbCallback (ParamID iParamID, Parameters::ChangeCallback iChangeCallback, bool iInvokeCallback)
 
template<typename T >
GUIJmbParam< T > registerJmbParam (GUIJmbParam< T > &iParamDef, Parameters::IChangeListener *iChangeListener)
 
template<typename T >
GUIJmbParam< T > registerJmbParam (ParamID iParamID, Parameters::IChangeListener *iChangeListener=nullptr)
 
GUIRawVstParam registerRawVstCallback (ParamID iParamID, Parameters::ChangeCallback iChangeCallback, bool iInvokeCallback)
 
GUIRawVstParam registerRawVstParam (ParamID iParamID, Parameters::IChangeListener *iChangeListener=nullptr)
 
template<typename T >
GUIVstParam< T > registerVstCallback (ParamID iParamID, Parameters::ChangeCallback iChangeCallback, bool iInvokeCallback)
 
template<typename T >
GUIVstParam< T > registerVstCallback (VstParam< T > const &iParamDef, Parameters::ChangeCallback iChangeCallback, bool iInvokeCallback)
 
template<typename T >
bool registerVstCallback (VstParam< T > iParamDef, Parameters::ChangeCallback1< GUIVstParam< T >> iChangeCallback, bool iInvokeCallback)
 
template<typename T >
GUIVstParam< T > registerVstParam (ParamID iParamID, Parameters::IChangeListener *iChangeListener=nullptr)
 
template<typename T >
GUIVstParam< T > registerVstParam (VstParam< T > const &iParamDef, Parameters::IChangeListener *iChangeListener=nullptr)
 
void unregisterAll ()
 
bool unregisterParam (ParamID iParamID)
 

Protected Member Functions

template<typename T , typename Listener >
GUIJmbParam< T > __registerJmbParam (ParamID iParamID, Listener iListener)
 
template<typename Listener >
GUIRawVstParam __registerRawVstParam (ParamID iParamID, Listener iListener)
 
template<typename Listener >
std::unique_ptr< GUIRawVstParameter__registerRawVstParameter (ParamID iParamID, Listener iListener)
 
template<typename T , typename Listener >
GUIVstParam< T > __registerVstParam (ParamID iParamID, Listener iListener)
 
template<typename T , typename Listener >
GUIVstParam< T > __registerVstParam (VstParam< T > const &iParamDef, Listener iListener)
 
 GUIParamCxMgr (GUIState *iGUIState)
 
template<typename TParam >
TParam && maybeInvokeCallback (TParam &&iParam, Parameters::ChangeCallback &iCallback, bool iInvokeCallback)
 

Private Attributes

GUIStatefGUIState
 
std::unordered_map< ParamID, std::unique_ptr< FObjectCx > > fParamCxs
 

Friends

class GUI::GUIState
 

Constructor & Destructor Documentation

◆ GUIParamCxMgr()

pongasoft::VST::GUI::Params::GUIParamCxMgr::GUIParamCxMgr ( GUIState iGUIState)
inlineexplicitprotected

Member Function Documentation

◆ __registerJmbParam()

template<typename T , typename Listener >
GUIJmbParam< T > pongasoft::VST::GUI::Params::GUIParamCxMgr::__registerJmbParam ( ParamID  iParamID,
Listener  iListener 
)
protected

◆ __registerRawVstParam()

template<typename Listener >
GUIRawVstParam pongasoft::VST::GUI::Params::GUIParamCxMgr::__registerRawVstParam ( ParamID  iParamID,
Listener  iListener 
)
protected

◆ __registerRawVstParameter()

template<typename Listener >
std::unique_ptr< GUIRawVstParameter > pongasoft::VST::GUI::Params::GUIParamCxMgr::__registerRawVstParameter ( ParamID  iParamID,
Listener  iListener 
)
protected

Registers a raw parameter (no conversion)

◆ __registerVstParam() [1/2]

template<typename T , typename Listener >
GUIVstParam< T > pongasoft::VST::GUI::Params::GUIParamCxMgr::__registerVstParam ( ParamID  iParamID,
Listener  iListener 
)
protected

◆ __registerVstParam() [2/2]

template<typename T , typename Listener >
GUIVstParam< T > pongasoft::VST::GUI::Params::GUIParamCxMgr::__registerVstParam ( VstParam< T > const &  iParamDef,
Listener  iListener 
)
protected

◆ existsJmb()

bool pongasoft::VST::GUI::Params::GUIParamCxMgr::existsJmb ( ParamID  iParamID) const
inline
Returns
true if the param actually exists

◆ existsVst()

bool pongasoft::VST::GUI::Params::GUIParamCxMgr::existsVst ( ParamID  iParamID) const
inline
Returns
true if the param actually exists

◆ getGUIState()

GUIState* pongasoft::VST::GUI::Params::GUIParamCxMgr::getGUIState ( ) const
inline

◆ invokeAll()

void pongasoft::VST::GUI::Params::GUIParamCxMgr::invokeAll ( )

Invoke all registered callbacks and listeners

◆ maybeInvokeCallback()

template<typename TParam >
TParam&& pongasoft::VST::GUI::Params::GUIParamCxMgr::maybeInvokeCallback ( TParam &&  iParam,
Parameters::ChangeCallback iCallback,
bool  iInvokeCallback 
)
inlineprotected

◆ registerJmbCallback() [1/3]

template<typename T >
GUIJmbParam<T> pongasoft::VST::GUI::Params::GUIParamCxMgr::registerJmbCallback ( GUIJmbParam< T > &  iParamDef,
Parameters::ChangeCallback  iChangeCallback,
bool  iInvokeCallback 
)
inline

This method registers a callback to be invoked on GUIJmbParam changes.

Returns
a copy of iParamDef for convenience and symmetry of the APIs

◆ registerJmbCallback() [2/3]

template<typename T >
void pongasoft::VST::GUI::Params::GUIParamCxMgr::registerJmbCallback ( GUIJmbParam< T > &  iParamDef,
Parameters::ChangeCallback1< GUIJmbParam< T >>  iChangeCallback,
bool  iInvokeCallback 
)
inline

This method registers a callback to be invoked on GUIJmbParam changes.

◆ registerJmbCallback() [3/3]

template<typename T >
GUIJmbParam<T> pongasoft::VST::GUI::Params::GUIParamCxMgr::registerJmbCallback ( ParamID  iParamID,
Parameters::ChangeCallback  iChangeCallback,
bool  iInvokeCallback 
)
inline

Registers the ser param only given its id and return the wrapper to the param.

Returns
the wrapper which may be empty if the param does not exists or is of wrong type (use .exists)

◆ registerJmbParam() [1/2]

template<typename T >
GUIJmbParam<T> pongasoft::VST::GUI::Params::GUIParamCxMgr::registerJmbParam ( GUIJmbParam< T > &  iParamDef,
Parameters::IChangeListener iChangeListener 
)
inline

This method registers the listener to be notified of the GUIJmbParam changes. Note that GUIJmbParam is already a wrapper directly accessible from the view and as a result there is no need to call this method unless a listener is provided, hence the listener is required.

Returns
a copy of iParamDef for convenience and symmetry of the APIs

◆ registerJmbParam() [2/2]

template<typename T >
GUIJmbParam<T> pongasoft::VST::GUI::Params::GUIParamCxMgr::registerJmbParam ( ParamID  iParamID,
Parameters::IChangeListener iChangeListener = nullptr 
)
inline

Registers the ser param only given its id and return the wrapper to the param.

Returns
the wrapper which may be empty if the param does not exists or is of wrong type (use .exists)

◆ registerRawVstCallback()

GUIRawVstParam pongasoft::VST::GUI::Params::GUIParamCxMgr::registerRawVstCallback ( ParamID  iParamID,
Parameters::ChangeCallback  iChangeCallback,
bool  iInvokeCallback 
)
inline

Registers a raw parameter (no conversion)

◆ registerRawVstParam()

GUIRawVstParam pongasoft::VST::GUI::Params::GUIParamCxMgr::registerRawVstParam ( ParamID  iParamID,
Parameters::IChangeListener iChangeListener = nullptr 
)
inline

Registers a raw parameter (no conversion)

◆ registerVstCallback() [1/3]

template<typename T >
GUIVstParam<T> pongasoft::VST::GUI::Params::GUIParamCxMgr::registerVstCallback ( ParamID  iParamID,
Parameters::ChangeCallback  iChangeCallback,
bool  iInvokeCallback 
)
inline

Register a vst parameter simply given its id

Returns
nullptr if not found or not proper type

◆ registerVstCallback() [2/3]

template<typename T >
GUIVstParam<T> pongasoft::VST::GUI::Params::GUIParamCxMgr::registerVstCallback ( VstParam< T > const &  iParamDef,
Parameters::ChangeCallback  iChangeCallback,
bool  iInvokeCallback 
)
inline

Convenient call to register a Vst param simply by using its description. Takes care of the type due to method API

Returns
nullptr if not found or not proper type

◆ registerVstCallback() [3/3]

template<typename T >
bool pongasoft::VST::GUI::Params::GUIParamCxMgr::registerVstCallback ( VstParam< T >  iParamDef,
Parameters::ChangeCallback1< GUIVstParam< T >>  iChangeCallback,
bool  iInvokeCallback 
)

Convenient call to register a Vst param simply by using its description. Takes care of the type due to method API

Returns
false if not found or not proper type

◆ registerVstParam() [1/2]

template<typename T >
GUIVstParam<T> pongasoft::VST::GUI::Params::GUIParamCxMgr::registerVstParam ( ParamID  iParamID,
Parameters::IChangeListener iChangeListener = nullptr 
)
inline

Register a vst parameter simply given its id

Returns
nullptr if not found or not proper type

◆ registerVstParam() [2/2]

template<typename T >
GUIVstParam<T> pongasoft::VST::GUI::Params::GUIParamCxMgr::registerVstParam ( VstParam< T > const &  iParamDef,
Parameters::IChangeListener iChangeListener = nullptr 
)
inline

Convenient call to register a Vst param simply by using its description. Takes care of the type due to method API

Returns
nullptr if not found or not proper type

◆ unregisterAll()

void pongasoft::VST::GUI::Params::GUIParamCxMgr::unregisterAll ( )

Unregisters all parameters

◆ unregisterParam()

bool pongasoft::VST::GUI::Params::GUIParamCxMgr::unregisterParam ( ParamID  iParamID)

Removes the registration of the provided param (closing the connection/stopping to listen)

Returns
true if the param was present, false otherwise

Friends And Related Function Documentation

◆ GUI::GUIState

friend class GUI::GUIState
friend

Member Data Documentation

◆ fGUIState

GUIState* pongasoft::VST::GUI::Params::GUIParamCxMgr::fGUIState
private

◆ fParamCxs

std::unordered_map<ParamID, std::unique_ptr<FObjectCx> > pongasoft::VST::GUI::Params::GUIParamCxMgr::fParamCxs
private

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