Jamba  3.2.0
pongasoft::VST::Parameters::JmbParamDefBuilder< T > Struct Template Reference

#include <Parameters.h>

Public Member Functions

JmbParam< T > add () const
 
JmbParamDefBuilderdefaultValue (T const &iDefaultValue)
 
JmbParamDefBuilderguiOwned ()
 
JmbParamDefBuilderrtOwned ()
 
JmbParamDefBuilderserializer (std::shared_ptr< IParamSerializer< T >> iSerializer)
 
template<typename ParamSerializer , typename... Args>
JmbParamDefBuilderserializer (Args... iArgs)
 
JmbParamDefBuildershared (bool iShared=true)
 
JmbParamDefBuildertransient (bool iTransient=true)
 

Public Attributes

fDefaultValue {}
 
IParamDef::Owner fOwner = IParamDef::Owner::kGUI
 
ParamID fParamID
 
std::shared_ptr< IParamSerializer< T > > fSerializer {}
 
bool fShared = false
 
VstString16 fTitle
 
bool fTransient = false
 

Protected Member Functions

 JmbParamDefBuilder (Parameters *iParameters, ParamID iParamID, VstString16 iTitle)
 

Private Attributes

ParametersfParameters
 

Friends

class Parameters
 

Detailed Description

template<typename T>
struct pongasoft::VST::Parameters::JmbParamDefBuilder< T >

Implements the builder pattern for ease of build.

Template Parameters
Tthe underlying type of the param

Constructor & Destructor Documentation

◆ JmbParamDefBuilder()

template<typename T>
pongasoft::VST::Parameters::JmbParamDefBuilder< T >::JmbParamDefBuilder ( Parameters iParameters,
ParamID  iParamID,
VstString16  iTitle 
)
inlineprotected

Member Function Documentation

◆ add()

template<typename T >
JmbParam< T > pongasoft::VST::Parameters::JmbParamDefBuilder< T >::add ( ) const

◆ defaultValue()

template<typename T>
JmbParamDefBuilder& pongasoft::VST::Parameters::JmbParamDefBuilder< T >::defaultValue ( T const &  iDefaultValue)
inline

◆ guiOwned()

template<typename T>
JmbParamDefBuilder& pongasoft::VST::Parameters::JmbParamDefBuilder< T >::guiOwned ( )
inline

◆ rtOwned()

template<typename T>
JmbParamDefBuilder& pongasoft::VST::Parameters::JmbParamDefBuilder< T >::rtOwned ( )
inline

◆ serializer() [1/2]

template<typename T>
JmbParamDefBuilder& pongasoft::VST::Parameters::JmbParamDefBuilder< T >::serializer ( std::shared_ptr< IParamSerializer< T >>  iSerializer)
inline

◆ serializer() [2/2]

template<typename T>
template<typename ParamSerializer , typename... Args>
JmbParamDefBuilder& pongasoft::VST::Parameters::JmbParamDefBuilder< T >::serializer ( Args...  iArgs)
inline

◆ shared()

template<typename T>
JmbParamDefBuilder& pongasoft::VST::Parameters::JmbParamDefBuilder< T >::shared ( bool  iShared = true)
inline

◆ transient()

template<typename T>
JmbParamDefBuilder& pongasoft::VST::Parameters::JmbParamDefBuilder< T >::transient ( bool  iTransient = true)
inline

Friends And Related Function Documentation

◆ Parameters

template<typename T>
friend class Parameters
friend

Member Data Documentation

◆ fDefaultValue

template<typename T>
T pongasoft::VST::Parameters::JmbParamDefBuilder< T >::fDefaultValue {}

◆ fOwner

◆ fParameters

template<typename T>
Parameters* pongasoft::VST::Parameters::JmbParamDefBuilder< T >::fParameters
private

◆ fParamID

template<typename T>
ParamID pongasoft::VST::Parameters::JmbParamDefBuilder< T >::fParamID

◆ fSerializer

template<typename T>
std::shared_ptr<IParamSerializer<T> > pongasoft::VST::Parameters::JmbParamDefBuilder< T >::fSerializer {}

◆ fShared

template<typename T>
bool pongasoft::VST::Parameters::JmbParamDefBuilder< T >::fShared = false

◆ fTitle

◆ fTransient

template<typename T>
bool pongasoft::VST::Parameters::JmbParamDefBuilder< T >::fTransient = false

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