Jamba  3.0.2
pongasoft::VST::GUI::Params::IGUIJmbParameter Class Referenceabstract

#include <GUIJmbParameter.h>

Inherits pongasoft::VST::IMessageHandler.

Inherited by pongasoft::VST::GUI::Params::GUIJmbParameter< UTF8String >, and pongasoft::VST::GUI::Params::GUIJmbParameter< T >.

Public Member Functions

tresult broadcast () const
 
IJmbParamDef const * getParamDef () const
 
ParamID getParamID () const
 
tresult handleMessage (Message const &iMessage) override
 
 IGUIJmbParameter (std::shared_ptr< IJmbParamDef > iParamDef)
 
virtual tresult readFromMessage (Message const &iMessage)=0
 
virtual tresult readFromStream (IBStreamer &iStreamer)=0
 
void setMessageProducer (IMessageProducer *iMessageProducer)
 
virtual tresult writeToMessage (Message &oMessage) const =0
 
virtual tresult writeToStream (IBStreamer &oStreamer) const =0
 
virtual void writeToStream (std::ostream &oStream) const =0
 
- Public Member Functions inherited from pongasoft::VST::IMessageHandler
virtual ~IMessageHandler ()=default
 

Protected Attributes

IMessageProducerfMessageProducer {}
 
std::shared_ptr< IJmbParamDeffParamDef
 

Detailed Description

Base class for a Jamba (Jmb) GUI parameter. This type of parameter is used when it cannot be mapped to a Vst parameter whose internal representation must be a value in the range [0.0, 1.0]. For example a string (like a user input label to name a component) does not fit in the Vst parameter category. By implementing the serializable api (readFromStream/writeToStream), any type can be part of the state.

Constructor & Destructor Documentation

◆ IGUIJmbParameter()

pongasoft::VST::GUI::Params::IGUIJmbParameter::IGUIJmbParameter ( std::shared_ptr< IJmbParamDef iParamDef)
inlineexplicit

Member Function Documentation

◆ broadcast()

tresult pongasoft::VST::GUI::Params::IGUIJmbParameter::broadcast ( ) const

◆ getParamDef()

IJmbParamDef const* pongasoft::VST::GUI::Params::IGUIJmbParameter::getParamDef ( ) const
inline

◆ getParamID()

ParamID pongasoft::VST::GUI::Params::IGUIJmbParameter::getParamID ( ) const
inline

◆ handleMessage()

tresult pongasoft::VST::GUI::Params::IGUIJmbParameter::handleMessage ( Message const &  iMessage)
inlineoverridevirtual

◆ readFromMessage()

virtual tresult pongasoft::VST::GUI::Params::IGUIJmbParameter::readFromMessage ( Message const &  iMessage)
pure virtual

◆ readFromStream()

virtual tresult pongasoft::VST::GUI::Params::IGUIJmbParameter::readFromStream ( IBStreamer &  iStreamer)
pure virtual

◆ setMessageProducer()

void pongasoft::VST::GUI::Params::IGUIJmbParameter::setMessageProducer ( IMessageProducer iMessageProducer)
inline

◆ writeToMessage()

virtual tresult pongasoft::VST::GUI::Params::IGUIJmbParameter::writeToMessage ( Message oMessage) const
pure virtual

◆ writeToStream() [1/2]

virtual tresult pongasoft::VST::GUI::Params::IGUIJmbParameter::writeToStream ( IBStreamer &  oStreamer) const
pure virtual

◆ writeToStream() [2/2]

virtual void pongasoft::VST::GUI::Params::IGUIJmbParameter::writeToStream ( std::ostream &  oStream) const
pure virtual

Member Data Documentation

◆ fMessageProducer

IMessageProducer* pongasoft::VST::GUI::Params::IGUIJmbParameter::fMessageProducer {}
protected

◆ fParamDef

std::shared_ptr<IJmbParamDef> pongasoft::VST::GUI::Params::IGUIJmbParameter::fParamDef
protected

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