Jamba  3.1.0
pongasoft::VST Namespace Reference

Namespaces

 Clock
 
 Debug
 
 GUI
 
 IBStreamHelper
 
 RT
 

Classes

class  AudioBuffers
 
class  AutoReleaseTimer
 
class  BooleanParamConverter
 
class  BufferStream
 
class  CStringParamSerializer
 
class  DiscreteValueParamConverter
 
class  DoubleParamSerializer
 
class  EnumParamConverter
 
class  FObjectCx
 
class  FObjectCxCallback
 
class  IJmbParamDef
 
class  IMessageHandler
 
class  IMessageProducer
 
class  IParamConverter
 
class  IParamDef
 
class  IParamSerializer
 
class  JmbParamDef
 
class  Message
 
class  MessageHandler
 
class  NormalizedState
 
class  Parameters
 
class  PercentParamConverter
 
class  RawParamConverter
 
class  RawParamSerializer
 
class  RawVstParamDef
 
class  SampleRateBasedClock
 
class  VstParamDef
 
class  VstParameterImpl
 

Typedefs

typedef AudioBuffers< Sample32 > AudioBuffers32
 
typedef AudioBuffers< Sample64 > AudioBuffers64
 
template<typename T >
using JmbParam = std::shared_ptr< JmbParamDef< T > >
 
using MessageID = int
 
using Percent = double
 
using RawVstParam = std::shared_ptr< RawVstParamDef >
 
template<typename T >
using VstParam = std::shared_ptr< VstParamDef< T > >
 
using VstString16 = std::basic_string< Steinberg::char16 >
 

Functions

uint16 __readStateVersion (IBStreamer &iStreamer)
 
template<typename IntType = int>
static ParamValue convertDiscreteValueToNormalizedValue (int32 iStepCount, IntType iDiscreteValue)
 
template<typename IntType = int>
static IntType convertNormalizedValueToDiscreteValue (int32 iStepCount, ParamValue iNormalizedValue)
 
template<typename SampleType >
SampleType dbToSample (double valueInDb)
 
template<typename SampleType >
SampleType getSampleSilentThreshold () noexcept
 
template<>
Sample32 getSampleSilentThreshold< Sample32 > () noexcept
 
template<>
Sample64 getSampleSilentThreshold< Sample64 > () noexcept
 
bool isSilent (Sample32 value)
 
bool isSilent (Sample64 value)
 
template<typename SampleType >
double sampleToDb (SampleType valueInSample)
 

Variables

static const auto ATTR_MSG_ID = "ATTR_MSG_ID"
 
constexpr int32 DEFAULT_LEFT_CHANNEL = 0
 
constexpr int32 DEFAULT_RIGHT_CHANNEL = 1
 
constexpr Sample32 Sample32SilentThreshold = ((Sample32)2.0e-8)
 
constexpr Sample64 Sample64SilentThreshold = ((Sample64)2.0e-8)
 

Typedef Documentation

◆ AudioBuffers32

◆ AudioBuffers64

◆ JmbParam

template<typename T >
using pongasoft::VST::JmbParam = typedef std::shared_ptr<JmbParamDef<T> >

◆ MessageID

using pongasoft::VST::MessageID = typedef int

◆ Percent

using pongasoft::VST::Percent = typedef double

Percent type represented by a double

◆ RawVstParam

using pongasoft::VST::RawVstParam = typedef std::shared_ptr<RawVstParamDef>

◆ VstParam

template<typename T >
using pongasoft::VST::VstParam = typedef std::shared_ptr<VstParamDef<T> >

◆ VstString16

using pongasoft::VST::VstString16 = typedef std::basic_string<Steinberg::char16>

Strings made of char16 characters are represented by the native C++11 type std::basic_string<Steinberg::char16> and properly converted to what is required by the VST classes. The Steinberg::String class can be used to generate a formatted string like this:

int pad = 3;
String title;
title.printf(STR16("Pad [%d]", pad);
// because std::basic_string<Steinberg::char16> can be created from a char16 const *, then you can simply
// use title.text16() wherever a VstString16 is requested
myParam = vst<BooleanParamConverter>(id, title.text16()).add();

Function Documentation

◆ __readStateVersion()

uint16 pongasoft::VST::__readStateVersion ( IBStreamer &  iStreamer)

◆ convertDiscreteValueToNormalizedValue()

template<typename IntType = int>
static ParamValue pongasoft::VST::convertDiscreteValueToNormalizedValue ( int32  iStepCount,
IntType  iDiscreteValue 
)
inlinestatic

Implements the algorithm described in the VST documentation on how to interpret a discrete value into a normalized value

◆ convertNormalizedValueToDiscreteValue()

template<typename IntType = int>
static IntType pongasoft::VST::convertNormalizedValueToDiscreteValue ( int32  iStepCount,
ParamValue  iNormalizedValue 
)
inlinestatic

Implements the algorithm described in the VST documentation on how to interpret a normalized value as a discrete value

◆ dbToSample()

template<typename SampleType >
SampleType pongasoft::VST::dbToSample ( double  valueInDb)
inline

◆ getSampleSilentThreshold()

template<typename SampleType >
SampleType pongasoft::VST::getSampleSilentThreshold ( )
noexcept

◆ getSampleSilentThreshold< Sample32 >()

template<>
Sample32 pongasoft::VST::getSampleSilentThreshold< Sample32 > ( )
inlinenoexcept

◆ getSampleSilentThreshold< Sample64 >()

template<>
Sample64 pongasoft::VST::getSampleSilentThreshold< Sample64 > ( )
inlinenoexcept

◆ isSilent() [1/2]

bool pongasoft::VST::isSilent ( Sample32  value)
inline

◆ isSilent() [2/2]

bool pongasoft::VST::isSilent ( Sample64  value)
inline

◆ sampleToDb()

template<typename SampleType >
double pongasoft::VST::sampleToDb ( SampleType  valueInSample)
inline

Variable Documentation

◆ ATTR_MSG_ID

const auto pongasoft::VST::ATTR_MSG_ID = "ATTR_MSG_ID"
static

◆ DEFAULT_LEFT_CHANNEL

constexpr int32 pongasoft::VST::DEFAULT_LEFT_CHANNEL = 0

◆ DEFAULT_RIGHT_CHANNEL

constexpr int32 pongasoft::VST::DEFAULT_RIGHT_CHANNEL = 1

◆ Sample32SilentThreshold

constexpr Sample32 pongasoft::VST::Sample32SilentThreshold = ((Sample32)2.0e-8)

◆ Sample64SilentThreshold

constexpr Sample64 pongasoft::VST::Sample64SilentThreshold = ((Sample64)2.0e-8)