Jamba C++ API  4.3.0
IParamSerializer< T > Class Template Referenceabstract

A vst parameter is represented by a ParamValue type which is a double in the range [0,1]. More...

#include <ParamSerializers.h>

Inherited by DiscreteTypeParamSerializer< T, Compare >, and JmbParamDef< T > [private].

Public Types

using ParamType = T
 

Public Member Functions

virtual tresult readFromStream (IBStreamer &iStreamer, ParamType &oValue) const =0
 
virtual std::string toString (ParamType const &iValue, int32 iPrecision) const
 
virtual tresult writeToStream (const ParamType &iValue, IBStreamer &oStreamer) const =0
 
virtual void writeToStream (ParamType const &iValue, std::ostream &oStream) const
 By default, this implementation simply writes the value to the stream IF it is possible (determined at compilation time). More...
 

Detailed Description

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

A vst parameter is represented by a ParamValue type which is a double in the range [0,1].

This interface represents a way to extend the concept of parameter by allowing any type that cannot be converted to ParamValue (for example a string). The parameter simply needs to provide an implementation of this interface which represents a way to serialize/deserialize the type to the stream.

Template Parameters
Tthe actual type that the parameter represents

Member Typedef Documentation

◆ ParamType

using ParamType = T

Member Function Documentation

◆ readFromStream()

◆ toString()

virtual std::string toString ( ParamType const &  iValue,
int32  iPrecision 
) const
inlinevirtual

◆ writeToStream() [1/2]

virtual tresult writeToStream ( const ParamType iValue,
IBStreamer &  oStreamer 
) const
pure virtual

◆ writeToStream() [2/2]

virtual void writeToStream ( ParamType const &  iValue,
std::ostream &  oStream 
) const
inlinevirtual

By default, this implementation simply writes the value to the stream IF it is possible (determined at compilation time).

Doesn't do anything if not. Subclasses can redefine this behavior.

Reimplemented in DiscreteTypeParamSerializer< T, Compare >, JmbParamDef< T >, BooleanParamSerializer, and UTF8StringParamSerializer< size >.


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