Jamba  3.0.2
pongasoft::VST::RT::RTJmbInParameter< T > Class Template Reference

#include <RTJmbInParameter.h>

Inherits pongasoft::VST::RT::IRTJmbInParameter.

Public Types

using ParamType = T
 

Public Member Functions

JmbParamDef< T > const * getParamDefT () const
 
bool hasUpdate () const override
 
ParamType const * last () const
 
ParamTypepop ()
 
ParamType const * popOrLast ()
 
tresult readFromMessage (Message const &iMessage) override
 
 RTJmbInParameter (std::shared_ptr< JmbParamDef< T >> iParamDef)
 
void writeToStream (std::ostream &oStream) const override
 
- Public Member Functions inherited from pongasoft::VST::RT::IRTJmbInParameter
IJmbParamDef const * getParamDef () const
 
ParamID getParamID () const
 
tresult handleMessage (Message const &iMessage) override
 
 IRTJmbInParameter (std::shared_ptr< IJmbParamDef > iParamDef)
 
 ~IRTJmbInParameter () override=default
 
- Public Member Functions inherited from pongasoft::VST::IMessageHandler
virtual ~IMessageHandler ()=default
 

Private Attributes

Concurrent::LockFree::SingleElementQueue< T > fUpdateQueue {}
 

Additional Inherited Members

- Protected Attributes inherited from pongasoft::VST::RT::IRTJmbInParameter
std::shared_ptr< IJmbParamDeffParamDef
 

Detailed Description

template<typename T>
class pongasoft::VST::RT::RTJmbInParameter< T >

Templated class for RT Jamba Inbound parameter. The GUI thread calls readFromMessage to extract the value and store it in the queue. The RT thread will later extract the value from the queue and store it locally.

Template Parameters
T

Member Typedef Documentation

◆ ParamType

template<typename T>
using pongasoft::VST::RT::RTJmbInParameter< T >::ParamType = T

Constructor & Destructor Documentation

◆ RTJmbInParameter()

template<typename T>
pongasoft::VST::RT::RTJmbInParameter< T >::RTJmbInParameter ( std::shared_ptr< JmbParamDef< T >>  iParamDef)
inlineexplicit

Member Function Documentation

◆ getParamDefT()

template<typename T>
JmbParamDef<T> const* pongasoft::VST::RT::RTJmbInParameter< T >::getParamDefT ( ) const
inline

◆ hasUpdate()

template<typename T>
bool pongasoft::VST::RT::RTJmbInParameter< T >::hasUpdate ( ) const
inlineoverridevirtual

◆ last()

template<typename T>
ParamType const* pongasoft::VST::RT::RTJmbInParameter< T >::last ( ) const
inline

◆ pop()

template<typename T>
ParamType* pongasoft::VST::RT::RTJmbInParameter< T >::pop ( )
inline

◆ popOrLast()

template<typename T>
ParamType const* pongasoft::VST::RT::RTJmbInParameter< T >::popOrLast ( )
inline

◆ readFromMessage()

template<typename T >
tresult pongasoft::VST::RT::RTJmbInParameter< T >::readFromMessage ( Message const &  iMessage)
overridevirtual

◆ writeToStream()

template<typename T >
void pongasoft::VST::RT::RTJmbInParameter< T >::writeToStream ( std::ostream &  oStream) const
overridevirtual

Member Data Documentation

◆ fUpdateQueue

template<typename T>
Concurrent::LockFree::SingleElementQueue<T> pongasoft::VST::RT::RTJmbInParameter< T >::fUpdateQueue {}
private

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