Jamba C++ API  4.0.0
GUIJmbParam< T > Class Template Reference

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). More...

#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 (std::shared_ptr< GUIJmbParameter< T >> iPtr=nullptr)
 
 operator T const & () const
 
T const * operator-> () const
 
GUIJmbParam< T > & operator= (GUIJmbParam< T > const &iOther)=default
 Assignment operator: fMyParam = registerParam(...); More...
 
void resetToDefault ()
 Resets the param to its default value. More...
 
void setValue (T const &iNewValue)
 The difference with update is that it does not check for equality (case when T is not comparable) More...
 
void setValue (T &&iNewValue)
 The difference with update is that it does not check for equality (case when T is not comparable) More...
 
bool update (T const &iNewValue)
 This method is typically called by a view to change the value of the parameter. More...
 
template<class ValueModifier >
bool updateIf (ValueModifier const &iValueModifier)
 Use this flavor of update if you want to modify the value itself. More...
 

Private Attributes

std::shared_ptr< 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()

GUIJmbParam ( std::shared_ptr< GUIJmbParameter< T >>  iPtr = nullptr)
inline

Member Function Documentation

◆ broadcast() [1/3]

tresult broadcast ( ) const
inline

◆ broadcast() [2/3]

void broadcast ( T const &  iValue)
inline

◆ broadcast() [3/3]

void broadcast ( T &&  iValue)
inline

◆ connect() [1/2]

std::unique_ptr<FObjectCx> connect ( Parameters::IChangeListener iChangeListener)
inline

◆ connect() [2/2]

std::unique_ptr<FObjectCx> connect ( Parameters::ChangeCallback  iChangeCallback)
inline

◆ exists()

bool exists ( ) const
inline

◆ getParamID()

ParamID getParamID ( ) const
inline

◆ getValue()

T const& getValue ( ) const
inline

◆ operator T const &()

operator T const & ( ) const
inline

◆ operator->()

T const* operator-> ( ) const
inline

◆ operator=()

GUIJmbParam<T>& operator= ( GUIJmbParam< T > const &  iOther)
default

Assignment operator: fMyParam = registerParam(...);

◆ resetToDefault()

void resetToDefault ( )
inline

Resets the param to its default value.

◆ setValue() [1/2]

void 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]

void setValue ( T &&  iNewValue)
inline

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

◆ update()

bool 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()

bool 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

std::shared_ptr<GUIJmbParameter<T> > fPtr
private

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