Jamba C++ API  4.1.0
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 123456]
 Npongasoft
 Npongasoft
 NUtils
 NCollection
 CCircularBuffer
 NConcurrent
 NLockFree
 NWithSpinLockThe purpose of this namespace is to emphasize the fact that the implementation is using a spinlock
 Ncpp17
 NexperimentalThe code here is copied from <experimental/type_traits> because it is not implemented with Visual studio build tools 17
 NOperators
 CDereferenceableImplements all the various equality and relational operators for the type T which is assumed to encapsulate some value that can be accessed by dereferencing T or in other words T::operator*() returns the underlying value
 CCastDynamic_cast<U *>(x) does not compile if x is not polymorphic
 CDisposableClasses who can release resources can implement this interface
 CLerpUtil class to compute linear interpolation
 CRangeDefines a range of values
 NVST
 NDebug
 CParamDisplayThis helper class is used to display the parameters (vst/jmb) WARNING: this class is allocating memory and as a result should be used in RT only during development!
 CParamLineThis helper class is used to display the parameters (vst/jmb) in a line WARNING: this class is allocating memory and as a result should be used in RT only during development!
 CParamTableThis helper class is used to display the parameters (vst/jmb) in a table WARNING: this class is allocating memory and as a result should be used in RT only during development!
 NGUI
 NParams
 NViews
 CGUIControllerBase class from which the actual controller inherits from
 CGUIPluginStateSimple templated extension to expose the plugin parameters as its real type
 CGUIState
 CIJmbParamDefBase class for jamba parameters (non templated)
 CIParamDefBase class for all ParamDef
 CJmbParamDefBase class for all non vst parameters (need to provide serialization/deserialization)
 CMarginMargin is a similar concept to css: used to create space around elements, outside of any defined borders
 CParamAwareViewsThis class manages the views that have been made "param aware"
 CRawVstParamDefBase class for a raw vst parameter definition
 CRelativeDrawContextEncapsulates the draw context provided by VSTGUI to reason in relative coordinates (0,0) is top,left
 CRelativeView
 CStringDrawContext
 CVstParamDefTyped parameter definition
 NRT
 CIRTJmbInParameterBase (non templated) class for RT Jamba (Inbound) parameters
 CIRTJmbOutParameterBase (non templated) class for RT Jamba (Outbound) parameters
 CRTJmbInParamThis is the main class that the plugin should use as it exposes only the necessary methods of the param as well as redefine a couple of operators which helps in writing simpler and natural code (the param behaves like T in many ways)
 CRTJmbInParameterTemplated class for RT Jamba Inbound parameter
 CRTJmbOutParamThis is the main class that the plugin should use as it exposes only the necessary methods of the param
 CRTJmbOutParameterTemplated class for RT Jamba parameter
 CRTProcessorBase class from which the actual processor inherits from
 CRTRawVstParamThis is the main class that the plugin should use as it exposes only the necessary methods of the param as well as redefine a couple of operators which helps in writing simpler and natural code (the param behaves like T in many ways)
 CRTRawVstParameterBase class which deals with the "raw"/untyped parameter and keep the normalized value (ParamValue in the range [0.0,1.0])
 CRTStateManages the state used by the processor: you add all the parameters that the state manages using the add method
 CRTVstParamThis is the main class that the plugin should use as it exposes only the necessary methods of the param as well as redefine a couple of operators which helps in writing simpler and natural code (the param behaves like T in many ways)
 CRTVstParameterThe typed version
 CAudioBuffersRepresents all the buffers (example for a stereo channel there is 2 underlying sample buffers)
 CAbsoluteMaxOpUnary operator adapter for computing the absolute max
 CChannelRepresents a single channel (for example left audio channel)
 CAutoReleaseTimerSimple wrapper class around Steinberg::Timer which will automatically release the timer on delete
 CBooleanParamConverterManages the very common case when a param represents a boolean value
 CBooleanParamSerializerThis parameter handles serializing a bool parameter
 CBufferStreamInternal class to override the BufferStream class and give access to the buffer
 CCStringParamSerializerA parameter backed by a C type string (char[size])
 CDiscreteTypeParamConverterThis converters maps a list of values of type T to discrete values
 CDiscreteTypeParamSerializerThis converters maps a list of values of type T to discrete values
 CDiscreteValueParamConverterA converter to deal with a discrete value which has StepCount steps
 CDoubleParamSerializerThis parameter handles serializing a double parameter
 CEnumParamConverterA 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)
 CFObjectCxWrapper class which maintains a connection between the target and this object
 CFObjectCxCallbackWrapper class which will invoke the callback when the target is changed
 CIDiscreteConverterInterface that defines a converter from a type T to an int32 given a number of steps (provided by getStepCount)
 CIMessageHandlerInterface defining a message handler
 CIMessageProducerAbstraction for allocating and sending a message
 CInt32ParamSerializerThis parameter handles serializing a int32 parameter
 CInt64ParamSerializerThis parameter handles serializing a int64 parameter
 CIParamConverterA vst parameter is represented by a ParamValue type which is a double in the range [0,1]
 CIParamSerializerA vst parameter is represented by a ParamValue type which is a double in the range [0,1]
 CMessageSimple wrapper class with better api
 CMessageHandlerSimple implementation of IMessageHandler which will delegate the message handling based on MessageID
 CNormalizedStateUsed to communicate the state between the UI and the RT and read/write to stream
 CSaveOrderMaintains the order used to save/restore the RT and GUI state
 CParametersThis is the class which maintains all the registered parameters
 CIChangeListenerInterface to implement to receive parameter changes
 CJmbParamDefBuilderImplements the builder pattern for ease of build
 CRawVstParamDefBuilderImplements the builder pattern for ease of build
 CVstParamDefBuilderImplements the builder pattern for ease of build
 CPercentParamConverterA trivial percent converter
 CRawParamConverterThis parameter is just a no-op wrapper to the ParamValue to adapt it to the use of the ParamConverter concept
 CRawParamSerializerThis parameter handles serializing a raw parameter (ParamValue)
 CSampleRateBasedClockThe purpose of this class is to deal with timing based on the sample rate and do the proper conversions
 CRateLimiterKeeps track of the time in number of samples processed vs sample rate
 CStaticCastDiscreteConverterThis implementation simply cast T to an int32 (and vice-versa)
 CVstParameterImplInternal class which extends the Vst::Parameter to override toString and delegate to the param def
 CSpinLockA simple implementation of a spin lock using the std::atomic_flag which is guaranteed to be atomic and lock free
 CLock