Jamba C++ API  6.0.0
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 123456]
 C_DETECTOR< _Default, _AlwaysVoid, _Op, _Args >
 C_DETECTOR< _Default, void_t< _Op< _Args... > >, _Op, _Args... >
 CAudioBuffers< SampleType >::AbsoluteMaxOpUnary operator adapter for computing the absolute max
 CAtomicValue< T >This class encapsulates a single atomic value
 CAudioBuffers< SampleType >Represents all the buffers (example for a stereo channel there is 2 underlying sample buffers)
 CAudioEffect
 CAutoReleaseTimerSimple wrapper class around Steinberg::Timer which will automatically release the timer on delete
 CCast< U >Dynamic_cast<U *>(x) does not compile if x is not polymorphic
 CAudioBuffers< SampleType >::ChannelRepresents a single channel (for example left audio channel)
 CCircularBuffer< T >
 CCParamDisplay
 CCTextButton
 CCTextEdit
 CCView
 CCViewContainer
 CDelegationController
 CDereferenceable< T >Implements 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
 CDereferenceable< GUIJmbParam< T > >
 CDereferenceable< GUIJmbParam< UTF8String > >
 CDereferenceable< GUIOptionalParam< int32 > >
 CDereferenceable< GUIOptionalParam< ParamValue > >
 CDereferenceable< GUIOptionalParam< T > >
 CDereferenceable< GUIRawVstParam >
 CDereferenceable< GUIVstParam< T > >
 CDereferenceable< RTRawVstParam >
 CDereferenceable< RTVstParam< T > >
 CDisposableClasses who can release resources can implement this interface
 CEditController
 CIGUIParameter::EditorDefines the basic and common API of all parameter editors (allow to commit/rollback)
 CEditorType
 CSingleElementStorage< T >::Element
 Cenable_shared_from_this
 CFObject
 CGUIParamCxMgrMaintains the connections established between parameters and its listeners/callbacks
 CIBStream
 CParameters::IChangeListenerInterface to implement to receive parameter changes
 CIControlListener
 CICustomViewLifecycleThis interface defines some methods that are important in the lifecycle of a custom view
 CIDialogHandlerDefines the interface to show or dismiss a modal/dialog window which is a window that captures all events and must be dismissed (by calling IDialogHandler::dismissDialog)
 CIDiscreteConverter< T >Interface that defines a converter from a type T to an int32 given a number of steps (provided by getStepCount)
 CIDiscreteConverter< bool >
 CIGUIParamWrapper instance returned by ParamAware::registerBaseParam() methods
 CIKeyboardHook
 CIMessageHandlerInterface defining a message handler
 CIMessageProducerAbstraction for allocating and sending a message
 CIParamConverter< T >A vst parameter is represented by a ParamValue type which is a double in the range [0,1]
 CIParamConverter< bool >
 CIParamConverter< Enum >
 CIParamConverter< int32 >
 CIParamConverter< IntType >
 CIParamConverter< ParamValue >
 CIParamConverter< Percent >
 CIParamSerializer< T >A vst parameter is represented by a ParamValue type which is a double in the range [0,1]
 CIParamSerializer< bool >
 CIParamSerializer< char[size]>
 CIParamSerializer< double >
 CIParamSerializer< int32 >
 CIParamSerializer< int64 >
 CIParamSerializer< ParamValue >
 CIParamSerializer< UTF8String >
 CIRTJmbOutParameterBase (non templated) class for RT Jamba (Outbound) parameters
 CITimerCallback
 CJambaPluginFactoryThe purpose of this class is to make it easier and safer to create the plugin factory
 CParameters::JmbParamDefBuilder< T >Implements the builder pattern for ease of build
 CLerp< TFloat, X, Y >Util class to compute linear interpolation
 CSpinLock::Lock
 CMarginMargin is a similar concept to css: used to create space around elements, outside of any defined borders
 CMessageSimple wrapper class with better api
 Cnonesuch
 CNormalizedStateUsed to communicate the state between the UI and the RT and read/write to stream
 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!
 CParameter
 CParametersThis is the class which maintains all the registered parameters
 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!
 CRange< T >Defines a range of values
 CRange< CCoord >
 CSampleRateBasedClock::RateLimiterKeeps track of the time in number of samples processed vs sample rate
 CParameters::RawVstParamDefBuilderImplements the builder pattern for ease of build
 CRelativeView
 CRTJmbInParam< T >This 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)
 CRTJmbOutParam< T >This is the main class that the plugin should use as it exposes only the necessary methods of the param
 CRTRawVstParameterBase class which deals with the "raw"/untyped parameter and keep the normalized value (ParamValue in the range [0.0,1.0])
 CSampleRateBasedClockThe purpose of this class is to deal with timing based on the sample rate and do the proper conversions
 CNormalizedState::SaveOrderMaintains the order used to save/restore the RT and GUI state
 CSingleElementQueue< T >This class implements a queue which has at most 1 element (0 or 1)
 CSingleElementStorage< T >This (internal) class stores a single element
 CSingleElementStorage< pongasoft::VST::NormalizedState >
 CSpinLockA simple implementation of a spin lock using the std::atomic_flag which is guaranteed to be atomic and lock free
 CStateAware< TGUIState >This class is used to get access to the GUI state and parameters of the plugin with their actual type
 CStringDrawContextThe context which contains the details on how the string should be drawn
 CUIViewFactory
 CGUIVstParam< T >::ValueThe purpose of this class is to copy the value so that it can be accessed via -> thus allowing to write param->x to access the underlying type (T) when it is a struct or a class
 CGUIOptionalParam< T >::ValueThe purpose of this class is to copy the value so that it can be accessed via -> thus allowing to write param->x to access the underlying type (T) when it is a struct or a class
 CViewAttributeBase abstract class for an attribute of a view
 CViewContainerListenerAdapter
 CViewCreatorAdapter
 CViewListenerAdapter
 CVST3EditorDelegate
 CParameters::VstParamDefBuilder< T >Implements the builder pattern for ease of build
 CVstParametersThis class acts as a facade/proxy to the vst parameters managed by the host daw
 CScrollbarView::ZoomBoxRepresents the box (dimension and position point of view) containing the zoom handles and scrollbar
 CTView