Jamba  3.2.0
pongasoft::VST::JmbParamDef< T > Class Template Reference

#include <ParamDef.h>

Inherits pongasoft::VST::IJmbParamDef, and pongasoft::VST::IParamSerializer< T >.

Public Types

using ParamType = T
 
- Public Types inherited from pongasoft::VST::IParamDef
enum  Owner { Owner::kRT, Owner::kGUI }
 

Public Member Functions

std::string computeMessageAttrID () const
 
 JmbParamDef (ParamID const iParamID, VstString16 iTitle, Owner const iOwner, bool const iTransient, bool const iShared, ParamType const &iDefaultValue, std::shared_ptr< IParamSerializer< ParamType >> iSerializer)
 
tresult readFromMessage (Message const &iMessage, ParamType &oValue) const
 
tresult readFromStream (IBStreamer &iStreamer, ParamType &oValue) const override
 
ParamType readFromStream (IBStreamer &iStreamer) const
 
void writeDefaultValue (std::ostream &oStreamer) const override
 
tresult writeToMessage (ParamType const &iValue, Message &oMessage) const
 
tresult writeToStream (ParamType const &iValue, IBStreamer &oStreamer) const override
 
void writeToStream (ParamType const &iValue, std::ostream &oStreamer) const override
 
- Public Member Functions inherited from pongasoft::VST::IJmbParamDef
 IJmbParamDef (const ParamID iParamID, VstString16 iTitle, Owner const iOwner, bool const iTransient, bool const iShared)
 
virtual ~IJmbParamDef ()=default
 
- Public Member Functions inherited from pongasoft::VST::IParamDef
 IParamDef (ParamID const iParamID, VstString16 iTitle, Owner const iOwner, bool const iTransient)
 

Public Attributes

const ParamType fDefaultValue
 
const std::shared_ptr< IParamSerializer< ParamType > > fSerializer
 
- Public Attributes inherited from pongasoft::VST::IJmbParamDef
bool const fShared
 
- Public Attributes inherited from pongasoft::VST::IParamDef
const Owner fOwner
 
const ParamID fParamID
 
const VstString16 fTitle
 
const bool fTransient
 

Additional Inherited Members

- Private Types inherited from pongasoft::VST::IParamSerializer< T >
using ParamType = T
 
- Private Member Functions inherited from pongasoft::VST::IParamSerializer< T >
virtual std::string toString (ParamType const &iValue, int32 iPrecision) const
 

Detailed Description

template<typename T>
class pongasoft::VST::JmbParamDef< T >

Base class for all non vst parameters (need to provide serialization/deserialization)

Template Parameters
Tthe underlying type of the param

Member Typedef Documentation

◆ ParamType

template<typename T >
using pongasoft::VST::JmbParamDef< T >::ParamType = T

Constructor & Destructor Documentation

◆ JmbParamDef()

template<typename T >
pongasoft::VST::JmbParamDef< T >::JmbParamDef ( ParamID const  iParamID,
VstString16  iTitle,
Owner const  iOwner,
bool const  iTransient,
bool const  iShared,
ParamType const &  iDefaultValue,
std::shared_ptr< IParamSerializer< ParamType >>  iSerializer 
)
inline

Member Function Documentation

◆ computeMessageAttrID()

template<typename T >
std::string pongasoft::VST::JmbParamDef< T >::computeMessageAttrID ( ) const
inline

◆ readFromMessage()

template<typename T >
tresult pongasoft::VST::JmbParamDef< T >::readFromMessage ( Message const &  iMessage,
ParamType oValue 
) const

◆ readFromStream() [1/2]

template<typename T >
tresult pongasoft::VST::JmbParamDef< T >::readFromStream ( IBStreamer &  iStreamer,
ParamType oValue 
) const
overridevirtual

◆ readFromStream() [2/2]

template<typename T >
T pongasoft::VST::JmbParamDef< T >::readFromStream ( IBStreamer &  iStreamer) const

◆ writeDefaultValue()

template<typename T >
void pongasoft::VST::JmbParamDef< T >::writeDefaultValue ( std::ostream &  oStreamer) const
overridevirtual

◆ writeToMessage()

template<typename T >
tresult pongasoft::VST::JmbParamDef< T >::writeToMessage ( ParamType const &  iValue,
Message oMessage 
) const

◆ writeToStream() [1/2]

template<typename T >
tresult pongasoft::VST::JmbParamDef< T >::writeToStream ( ParamType const &  iValue,
IBStreamer &  oStreamer 
) const
overridevirtual

◆ writeToStream() [2/2]

template<typename T >
void pongasoft::VST::JmbParamDef< T >::writeToStream ( ParamType const &  iValue,
std::ostream &  oStreamer 
) const
overridevirtual

Member Data Documentation

◆ fDefaultValue

template<typename T >
const ParamType pongasoft::VST::JmbParamDef< T >::fDefaultValue

◆ fSerializer

template<typename T >
const std::shared_ptr<IParamSerializer<ParamType> > pongasoft::VST::JmbParamDef< T >::fSerializer

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