Jamba C++ API
5.1.1
|
Base class for all non vst parameters (need to provide serialization/deserialization) More...
#include <ParamDef.h>
Inherits IJmbParamDef, and IParamSerializer< T >.
Public Types | |
using | ParamType = T |
Public Types inherited from IParamDef | |
enum | Owner { kRT, kGUI } |
Who owns the parameter (mostly for state saving purposes) More... | |
Public Member Functions | |
std::string | computeMessageAttrID () const |
std::shared_ptr< IDiscreteConverter< T > > | getDiscreteConverter () const |
bool | isSerializable () const override |
JmbParamDef (ParamID const iParamID, VstString16 iTitle, Owner const iOwner, bool const iTransient, int16 const iDeprecatedSince, bool const iShared, ParamType const &iDefaultValue, std::shared_ptr< IParamSerializer< ParamType >> iSerializer) | |
std::shared_ptr< GUI::Params::IGUIJmbParameter > | newGUIParam () override |
Create a new IGUIJmbParameter of the proper subtype. More... | |
tresult | readFromMessage (Message const &iMessage, ParamType &oValue) const |
tresult | readFromStream (IBStreamer &iStreamer, ParamType &oValue) const override |
This method should read from the stream and populate oValue accordingly (aka deserialization) More... | |
ParamType | readFromStream (IBStreamer &iStreamer) const |
std::string | toUTF8String (ParamType const &iValue, int32 iPrecision) const |
Return the value as a utf-8 string. More... | |
void | writeDefaultValue (std::ostream &oStreamer) const override |
tresult | writeToMessage (ParamType const &iValue, Message &oMessage) const |
tresult | writeToStream (ParamType const &iValue, IBStreamer &oStreamer) const override |
This method should write iValue to the stream (aka serialization) More... | |
void | writeToStream (ParamType const &iValue, std::ostream &oStreamer) const override |
By default, this implementation simply writes the value to the stream IF it is possible (determined at compilation time). More... | |
Public Member Functions inherited from IJmbParamDef | |
IJmbParamDef (const ParamID iParamID, VstString16 iTitle, Owner const iOwner, bool const iTransient, int16 const iDeprecatedSince, bool const iShared) | |
~IJmbParamDef () override=default | |
Public Member Functions inherited from IParamDef | |
IParamDef (ParamID const iParamID, VstString16 iTitle, Owner const iOwner, bool const iTransient, int16 const iDeprecatedSince) | |
bool | isDeprecated () const |
Returns true if the parameter is deprecated (meaning it can only be used to upgrade to latest version) More... | |
virtual | ~IParamDef ()=default |
Public Attributes | |
const ParamType | fDefaultValue |
const std::shared_ptr< IParamSerializer< ParamType > > | fSerializer |
Public Attributes inherited from IJmbParamDef | |
bool const | fShared |
Public Attributes inherited from IParamDef | |
const int16 | fDeprecatedSince |
const Owner | fOwner |
const ParamID | fParamID |
const VstString16 | fTitle |
const bool | fTransient |
Additional Inherited Members | |
Static Public Attributes inherited from IParamDef | |
static constexpr int16 | kVersionNotDeprecated = -1 |
Special version indicating the parameter is not deprecated. More... | |
Private Types inherited from IParamSerializer< T > | |
using | ParamType = T |
Private Member Functions inherited from IParamSerializer< T > | |
virtual std::string | toString (ParamType const &iValue, int32 iPrecision) const |
Base class for all non vst parameters (need to provide serialization/deserialization)
T | the underlying type of the param |
using ParamType = T |
|
inline |
|
inline |
|
inline |
nullptr
if there isn't one.
|
inlineoverridevirtual |
true
if a serializer was provided Implements IJmbParamDef.
|
overridevirtual |
Create a new IGUIJmbParameter
of the proper subtype.
Implementation note: because IGUIJmbParameter
depends on ParamDef
the implementation of this templated method is defined in GUIState.h
.
Implements IJmbParamDef.
|
overridevirtual |
This method should read from the stream and populate oValue
accordingly (aka deserialization)
kResultOk
if reading was successful, kResultFalse
otherwise (or kNotImplemented
if not supported) Reimplemented from IParamSerializer< T >.
T readFromStream | ( | IBStreamer & | iStreamer | ) | const |
|
inline |
Return the value as a utf-8 string.
iValue | the value to process |
iPrecision | if < 0 uses fPrecision otherwise use the one provided |
|
overridevirtual |
Implements IJmbParamDef.
|
overridevirtual |
This method should write iValue
to the stream (aka serialization)
kResultOk
if writing was successful, kResultFalse
otherwise (or kNotImplemented
if not supported) Reimplemented from IParamSerializer< T >.
|
overridevirtual |
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 from IParamSerializer< T >.
const ParamType fDefaultValue |
const std::shared_ptr<IParamSerializer<ParamType> > fSerializer |