Jamba  3.0.2
pongasoft::VST::RT::RTVstParam< T > Class Template Reference

#include <RTParameter.h>

Public Member Functions

tresult addToOutput (ProcessData &oData)
 
ParamType denormalize (ParamValue iNormalizedValue) const
 
ParamID getParamID () const
 
T const & getValue () const
 
bool hasChanged () const
 
ParamValue normalize (ParamType const &iValue) const
 
 operator ParamType const & () const
 
ParamType const * operator-> () const
 
ParamType const & previous () const
 
 RTVstParam (RTVstParameter< T > *iPtr)
 
void update (ParamType const &iNewValue)
 
void update (ParamType const &iNewValue, ProcessData &oData)
 
T const & value () const
 

Private Types

using ParamType = T
 

Private Attributes

RTVstParameter< T > * fPtr
 

Detailed Description

template<typename T>
class pongasoft::VST::RT::RTVstParam< 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

Member Typedef Documentation

◆ ParamType

template<typename T>
using pongasoft::VST::RT::RTVstParam< T >::ParamType = T
private

Constructor & Destructor Documentation

◆ RTVstParam()

template<typename T>
pongasoft::VST::RT::RTVstParam< T >::RTVstParam ( RTVstParameter< T > *  iPtr)
inline

Member Function Documentation

◆ addToOutput()

template<typename T>
tresult pongasoft::VST::RT::RTVstParam< T >::addToOutput ( ProcessData &  oData)
inline

Add the current normalized value as an output parameter changes which propagates the change to the vst sdk

◆ denormalize()

template<typename T>
ParamType pongasoft::VST::RT::RTVstParam< T >::denormalize ( ParamValue  iNormalizedValue) const
inline

◆ getParamID()

template<typename T>
ParamID pongasoft::VST::RT::RTVstParam< T >::getParamID ( ) const
inline

◆ getValue()

template<typename T>
T const& pongasoft::VST::RT::RTVstParam< T >::getValue ( ) const
inline

◆ hasChanged()

template<typename T>
bool pongasoft::VST::RT::RTVstParam< T >::hasChanged ( ) const
inline
Returns
true if the parameter has changed within the frame (previous and current are different)

◆ normalize()

template<typename T>
ParamValue pongasoft::VST::RT::RTVstParam< T >::normalize ( ParamType const &  iValue) const
inline

◆ operator ParamType const &()

template<typename T>
pongasoft::VST::RT::RTVstParam< T >::operator ParamType const & ( ) const
inline

◆ operator->()

template<typename T>
ParamType const* pongasoft::VST::RT::RTVstParam< T >::operator-> ( ) const
inline

◆ previous()

template<typename T>
ParamType const& pongasoft::VST::RT::RTVstParam< T >::previous ( ) const
inline

◆ update() [1/2]

template<typename T>
void pongasoft::VST::RT::RTVstParam< T >::update ( ParamType const &  iNewValue)
inline

This method is typically called during the processing method when the plugin needs to update the value. In general the change needs to be propagated to the VST sdk (using addToOutput). Use this version of the call if you want to control when the update actually happens.

◆ update() [2/2]

template<typename T>
void pongasoft::VST::RT::RTVstParam< T >::update ( ParamType const &  iNewValue,
ProcessData &  oData 
)
inline

This method is typically called during the processing method when the plugin needs to update the value. This version will automatically propagate the change to the the VST sdk.

◆ value()

template<typename T>
T const& pongasoft::VST::RT::RTVstParam< T >::value ( ) const
inline

Member Data Documentation

◆ fPtr

template<typename T>
RTVstParameter<T>* pongasoft::VST::RT::RTVstParam< T >::fPtr
private

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