Jamba C++ API
5.0.0
|
Namespaces | |
Clock | |
Debug | |
GUI | |
IBStreamHelper | |
IBStreamHelper - Helper functions. | |
RT | |
VstUtils | |
Classes | |
class | AudioBuffers |
Represents all the buffers (example for a stereo channel there is 2 underlying sample buffers) More... | |
class | AutoReleaseTimer |
Simple wrapper class around Steinberg::Timer which will automatically release the timer on delete. More... | |
class | BooleanParamConverter |
Manages the very common case when a param represents a boolean value. More... | |
class | BooleanParamSerializer |
This parameter handles serializing a bool parameter. More... | |
class | CStringParamSerializer |
A parameter backed by a C type string (char[size]). More... | |
class | DiscreteTypeParamConverter |
This converters maps a list of values of type T to discrete values. More... | |
class | DiscreteTypeParamSerializer |
This converters maps a list of values of type T to discrete values. More... | |
class | DiscreteValueParamConverter |
A converter to deal with a discrete value which has StepCount steps. More... | |
class | DoubleParamSerializer |
This parameter handles serializing a double parameter. More... | |
class | EnumParamConverter |
A converter to deal with an enum (assumes that the enum is contiguous, starts at 0 and that MaxValue is the latest value in the enum). More... | |
class | FObjectCx |
Wrapper class which maintains a connection between the target and this object. More... | |
class | FObjectCxCallback |
Wrapper class which will invoke the callback when the target is changed. More... | |
class | IDiscreteConverter |
Interface that defines a converter from a type T to an int32 given a number of steps (provided by getStepCount ). More... | |
class | IMessageHandler |
Interface defining a message handler. More... | |
class | IMessageProducer |
Abstraction for allocating and sending a message. More... | |
class | Int32ParamSerializer |
This parameter handles serializing a int32 parameter. More... | |
class | Int64ParamSerializer |
This parameter handles serializing a int64 parameter. More... | |
class | IParamConverter |
A vst parameter is represented by a ParamValue type which is a double in the range [0,1]. More... | |
class | IParamSerializer |
A vst parameter is represented by a ParamValue type which is a double in the range [0,1]. More... | |
class | JambaPluginFactory |
The purpose of this class is to make it easier and safer to create the plugin factory. More... | |
class | Message |
Simple wrapper class with better api. More... | |
class | MessageHandler |
Simple implementation of IMessageHandler which will delegate the message handling based on MessageID. More... | |
class | NormalizedState |
Used to communicate the state between the UI and the RT and read/write to stream. More... | |
class | Parameters |
This is the class which maintains all the registered parameters. More... | |
class | PercentParamConverter |
A trivial percent converter. More... | |
class | RawParamConverter |
This parameter is just a no-op wrapper to the ParamValue to adapt it to the use of the ParamConverter concept. More... | |
class | RawParamSerializer |
This parameter handles serializing a raw parameter (ParamValue) More... | |
class | SampleRateBasedClock |
The purpose of this class is to deal with timing based on the sample rate and do the proper conversions. More... | |
class | StaticCastDiscreteConverter |
This implementation simply cast T to an int32 (and vice-versa). More... | |
class | VstParameterImpl |
Internal class which extends the Vst::Parameter to override toString and delegate to the param def. More... | |
Typedefs | |
typedef AudioBuffers< Sample32 > | AudioBuffers32 |
typedef AudioBuffers< Sample64 > | AudioBuffers64 |
using | MessageID = int |
using | Percent = double |
Percent type represented by a double. More... | |
using | TagID = ParamID |
Defining a type for tags. More... | |
using | VstString16 = 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. More... | |
Functions | |
uint16 | __readStateVersion (IBStreamer &iStreamer) |
template<typename T > | |
constexpr T | bitClear (T a, int bit) |
Clears bit bit in a More... | |
template<typename T > | |
constexpr T | bitSet (T a, int bit) |
Sets bit bit in a More... | |
template<typename T > | |
constexpr bool | bitTest (T a, int bit) |
Test if bit bit is set in a More... | |
static int32 | computeNextDiscreteValue (int32 iValue, int32 iStepCount, int32 iIncrement, bool iWrap) |
Implements a standard behavior for what it means to increment (resp. More... | |
static ParamValue | convertDiscreteValueToNormalizedValue (int32 iStepCount, int32 iDiscreteValue) |
Implements the algorithm described in the VST documentation on how to interpret a discrete value into a normalized value. More... | |
static int32 | convertNormalizedValueToDiscreteValue (int32 iStepCount, ParamValue iNormalizedValue) |
Implements the algorithm described in the VST documentation on how to interpret a normalized value as a discrete value. More... | |
template<typename SampleType > | |
SampleType | dbToSample (double valueInDb) |
template<typename SampleType > | |
SampleType | getSampleSilentThreshold () noexcept |
template<> | |
constexpr Sample32 | getSampleSilentThreshold< Sample32 > () noexcept |
template<> | |
constexpr 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) |
constexpr ParamID | UNDEFINED_PARAM_ID = static_cast<ParamID>(-1) |
Constant used throughout the code to test whether the ParamID represents a valid id or an undefined one. More... | |
constexpr TagID | UNDEFINED_TAG_ID = UNDEFINED_PARAM_ID |
Constant used to test whether the TagID represents a valid id or an undefined one. More... | |
typedef AudioBuffers<Sample32> AudioBuffers32 |
typedef AudioBuffers<Sample64> AudioBuffers64 |
using MessageID = int |
using Percent = double |
Percent type represented by a double.
using TagID = ParamID |
Defining a type for tags.
ParamID
throughout and is mapped to an uint32
but the VSTGUI layer uses int32_t
for what they call tags (ex: CControl::getTag()
) but is in fact a parameter ID, hence a uint32
(essentially this is a mess...). So reverting to use what the VST SDK deals with: uint32
using VstString16 = 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:
uint16 pongasoft::VST::__readStateVersion | ( | IBStreamer & | iStreamer | ) |
constexpr T pongasoft::VST::bitClear | ( | T | a, |
int | bit | ||
) |
Clears bit bit
in a
constexpr T pongasoft::VST::bitSet | ( | T | a, |
int | bit | ||
) |
Sets bit bit
in a
constexpr bool pongasoft::VST::bitTest | ( | T | a, |
int | bit | ||
) |
Test if bit bit
is set in a
|
inlinestatic |
Implements a standard behavior for what it means to increment (resp.
decrement if iIncrement
is negative) a discrete value.
iValue | the current value from which we want to compute the "next" one |
iStepCount | the number of steps for the discrete property (no action if <= 0 ) |
iIncrement | how much to increment (if positive) or decrement (if negative) the current value |
iWrap | if true wraps the property around if it goes beyond the limit after increment (resp. decrement) or stay at the limit if false |
|
inlinestatic |
Implements the algorithm described in the VST documentation on how to interpret a discrete value into a normalized value.
|
inlinestatic |
Implements the algorithm described in the VST documentation on how to interpret a normalized value as a discrete value.
|
inline |
|
noexcept |
|
noexcept |
|
noexcept |
|
inline |
|
inline |
|
inline |
|
static |
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) |
constexpr ParamID UNDEFINED_PARAM_ID = static_cast<ParamID>(-1) |
Constant used throughout the code to test whether the ParamID
represents a valid id or an undefined one.
constexpr TagID UNDEFINED_TAG_ID = UNDEFINED_PARAM_ID |
Constant used to test whether the TagID
represents a valid id or an undefined one.