Jamba  3.0.2
pongasoft::VST::GUI::Params::GUIJmbParam< T > Class Template Reference

#include <GUIJmbParameter.h>

Public Member Functions

tresult broadcast () const
 
void broadcast (T const &iValue)
 
void broadcast (T &&iValue)
 
std::unique_ptr< FObjectCxconnect (Parameters::IChangeListener *iChangeListener)
 
std::unique_ptr< FObjectCxconnect (Parameters::ChangeCallback iChangeCallback)
 
bool exists () const
 
ParamID getParamID () const
 
T const & getValue () const
 
 GUIJmbParam (GUIJmbParameter< T > *iPtr=nullptr)
 
 operator T const & () const
 
T const * operator-> () const
 
void setValue (T const &iNewValue)
 
void setValue (T &&iNewValue)
 
bool update (T const &iNewValue)
 
template<class ValueModifier >
bool updateIf (ValueModifier const &iValueModifier)
 

Private Attributes

GUIJmbParameter< T > * fPtr
 

Detailed Description

template<typename T>
class pongasoft::VST::GUI::Params::GUIJmbParam< T >

This is the main class that the plugin should use as it exposes only the necessary methods of the param as well as redefine a couple of operators which helps in writing simpler and natural code (the param behaves like T in many ways).

Template Parameters
Tthe underlying type of the param

Constructor & Destructor Documentation

◆ GUIJmbParam()

template<typename T>
pongasoft::VST::GUI::Params::GUIJmbParam< T >::GUIJmbParam ( GUIJmbParameter< T > *  iPtr = nullptr)
inline

Member Function Documentation

◆ broadcast() [1/3]

template<typename T>
tresult pongasoft::VST::GUI::Params::GUIJmbParam< T >::broadcast ( ) const
inline

◆ broadcast() [2/3]

template<typename T>
void pongasoft::VST::GUI::Params::GUIJmbParam< T >::broadcast ( T const &  iValue)
inline

◆ broadcast() [3/3]

template<typename T>
void pongasoft::VST::GUI::Params::GUIJmbParam< T >::broadcast ( T &&  iValue)
inline

◆ connect() [1/2]

template<typename T>
std::unique_ptr<FObjectCx> pongasoft::VST::GUI::Params::GUIJmbParam< T >::connect ( Parameters::IChangeListener iChangeListener)
inline

◆ connect() [2/2]

template<typename T>
std::unique_ptr<FObjectCx> pongasoft::VST::GUI::Params::GUIJmbParam< T >::connect ( Parameters::ChangeCallback  iChangeCallback)
inline

◆ exists()

template<typename T>
bool pongasoft::VST::GUI::Params::GUIJmbParam< T >::exists ( ) const
inline

◆ getParamID()

template<typename T>
ParamID pongasoft::VST::GUI::Params::GUIJmbParam< T >::getParamID ( ) const
inline

◆ getValue()

template<typename T>
T const& pongasoft::VST::GUI::Params::GUIJmbParam< T >::getValue ( ) const
inline

◆ operator T const &()

template<typename T>
pongasoft::VST::GUI::Params::GUIJmbParam< T >::operator T const & ( ) const
inline

◆ operator->()

template<typename T>
T const* pongasoft::VST::GUI::Params::GUIJmbParam< T >::operator-> ( ) const
inline

◆ setValue() [1/2]

template<typename T>
void pongasoft::VST::GUI::Params::GUIJmbParam< T >::setValue ( T const &  iNewValue)
inline

The difference with update is that it does not check for equality (case when T is not comparable)

◆ setValue() [2/2]

template<typename T>
void pongasoft::VST::GUI::Params::GUIJmbParam< T >::setValue ( T &&  iNewValue)
inline

The difference with update is that it does not check for equality (case when T is not comparable)

◆ update()

template<typename T>
bool pongasoft::VST::GUI::Params::GUIJmbParam< T >::update ( T const &  iNewValue)
inline

This method is typically called by a view to change the value of the parameter. Listeners will be notified of the changes.

◆ updateIf()

template<typename T>
template<class ValueModifier >
bool pongasoft::VST::GUI::Params::GUIJmbParam< T >::updateIf ( ValueModifier const &  iValueModifier)
inline

Use this flavor of update if you want to modify the value itself. ValueModifier will be called back with &fValue. The callback should return true when the value was updated, false otherwise

Member Data Documentation

◆ fPtr

template<typename T>
GUIJmbParameter<T>* pongasoft::VST::GUI::Params::GUIJmbParam< T >::fPtr
private

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