Jamba
3.0.2
|
#include <Parameters.h>
Classes | |
class | IChangeListener |
struct | JmbParamDefBuilder |
struct | RawVstParamDefBuilder |
struct | VstParamDefBuilder |
Public Types | |
using | ChangeCallback = std::function< void()> |
template<typename Param > | |
using | ChangeCallback1 = std::function< void(Param &)> |
template<typename TView , typename Param > | |
using | ChangeCallback2 = std::function< void(TView *, Param &)> |
Public Member Functions | |
std::vector< ParamID > const & | getAllRegistrationOrder () const |
NormalizedState::SaveOrder const & | getGUISaveStateOrder () const |
std::shared_ptr< IJmbParamDef > | getJmbParamDef (ParamID iParamID) const |
std::shared_ptr< RawVstParamDef > | getRawVstParamDef (ParamID iParamID) const |
NormalizedState::SaveOrder const & | getRTSaveStateOrder () const |
std::vector< ParamID > const & | getVstRegistrationOrder () const |
template<typename ParamSerializer , typename... Args> | |
JmbParamDefBuilder< typename ParamSerializer::ParamType > | jmb (ParamID iParamID, const TChar *iTitle, Args... iSerializerArgs) |
template<typename T > | |
JmbParamDefBuilder< T > | jmbFromType (ParamID iParamID, const TChar *iTitle) |
virtual std::unique_ptr< NormalizedState > | newRTState () const |
Parameters ()=default | |
RawVstParamDefBuilder | raw (ParamID iParamID, const TChar *iTitle) |
virtual ParamValue | readNormalizedValue (ParamID iParamID, IBStreamer &iStreamer) const |
virtual tresult | readRTState (IBStreamer &iStreamer, NormalizedState *oNormalizedState) const |
void | registerVstParameters (Vst::ParameterContainer &iParameterContainer) const |
template<typename... Args> | |
tresult | setGUISaveStateOrder (int16 iVersion, Args... args) |
tresult | setGUISaveStateOrder (NormalizedState::SaveOrder const &iSaveOrder) |
template<typename... Args> | |
tresult | setRTSaveStateOrder (int16 iVersion, Args... args) |
tresult | setRTSaveStateOrder (NormalizedState::SaveOrder const &iSaveOrder) |
template<typename ParamConverter , typename... Args> | |
VstParamDefBuilder< typename ParamConverter::ParamType > | vst (ParamID iParamID, const TChar *iTitle, Args... iConverterArgs) |
template<typename T > | |
VstParamDefBuilder< T > | vstFromType (ParamID iParamID, const TChar *iTitle) |
virtual tresult | writeRTState (NormalizedState const *iNormalizedState, IBStreamer &oStreamer) const |
virtual | ~Parameters ()=default |
Protected Member Functions | |
RawVstParam | add (RawVstParamDefBuilder const &iBuilder) |
template<typename T > | |
VstParam< T > | add (VstParamDefBuilder< T > const &iBuilder) |
template<typename T > | |
JmbParam< T > | add (JmbParamDefBuilder< T > const &iBuilder) |
tresult | addJmbParamDef (std::shared_ptr< IJmbParamDef > iParamDef) |
tresult | addVstParamDef (std::shared_ptr< RawVstParamDef > iParamDef) |
Private Member Functions | |
tresult | buildParamIDs (std::vector< ParamID > &iParamIDs) |
template<typename... Args> | |
tresult | buildParamIDs (std::vector< ParamID > &iParamIDs, ParamID id, Args... args) |
template<typename... Args> | |
tresult | buildParamIDs (std::vector< ParamID > &iParamIDs, std::shared_ptr< IJmbParamDef > &iParamDef, Args... args) |
template<typename T , typename... Args> | |
tresult | buildParamIDs (std::vector< ParamID > &iParamIDs, std::shared_ptr< JmbParamDef< T >> &iParamDef, Args... args) |
template<typename ParamConverver , typename... Args> | |
tresult | buildParamIDs (std::vector< ParamID > &iParamIDs, std::shared_ptr< VstParamDef< ParamConverver >> &iParamDef, Args... args) |
template<typename... Args> | |
tresult | buildParamIDs (std::vector< ParamID > &iParamIDs, std::shared_ptr< RawVstParamDef > &iParamDef, Args... args) |
Private Attributes | |
std::vector< ParamID > | fAllRegistrationOrder {} |
NormalizedState::SaveOrder | fGUISaveStateOrder {} |
std::map< ParamID, std::shared_ptr< IJmbParamDef > > | fJmbParams {} |
NormalizedState::SaveOrder | fRTSaveStateOrder {} |
std::map< ParamID, std::shared_ptr< RawVstParamDef > > | fVstParams {} |
std::vector< ParamID > | fVstRegistrationOrder {} |
Friends | |
class | Debug::ParamDisplay |
This is the class which maintains all the registered parameters
using pongasoft::VST::Parameters::ChangeCallback = std::function<void()> |
A callback that will be invoked for changes. Note that unlike the IChangeListener, there is no parameter since it is expected to be used like this:
fMyParam = registerVstParam(myParamId, [this]() { .... ; });
using pongasoft::VST::Parameters::ChangeCallback1 = std::function<void(Param &)> |
A callback which will be invoked for changes with the param as an argument.
using pongasoft::VST::Parameters::ChangeCallback2 = std::function<void(TView *, Param &)> |
A callback which will be invoked for changes with the view and param as arguments.
|
explicitdefault |
|
virtualdefault |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
inlineprivate |
|
private |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inline |
|
inline |
std::shared_ptr< IJmbParamDef > pongasoft::VST::Parameters::getJmbParamDef | ( | ParamID | iParamID | ) | const |
std::shared_ptr< RawVstParamDef > pongasoft::VST::Parameters::getRawVstParamDef | ( | ParamID | iParamID | ) | const |
|
inline |
|
inline |
Parameters::JmbParamDefBuilder< typename ParamSerializer::ParamType > pongasoft::VST::Parameters::jmb | ( | ParamID | iParamID, |
const TChar * | iTitle, | ||
Args... | iSerializerArgs | ||
) |
Used from derived classes to build a non vst parameter (not convertible to a ParamValue)
Parameters::JmbParamDefBuilder< T > pongasoft::VST::Parameters::jmbFromType | ( | ParamID | iParamID, |
const TChar * | iTitle | ||
) |
Used from derived classes to build a non vst parameter (not convertible to a ParamValue). Use this version if you want to provide a different serializer.
|
virtual |
Parameters::RawVstParamDefBuilder pongasoft::VST::Parameters::raw | ( | ParamID | iParamID, |
const TChar * | iTitle | ||
) |
Used from derived classes to build a parameter backed by a raw VST parameter
|
virtual |
|
virtual |
This method is called to read the RTState from the stream
void pongasoft::VST::Parameters::registerVstParameters | ( | Vst::ParameterContainer & | iParameterContainer | ) | const |
This method is called from the GUI controller to register all the parameters to the ParameterContainer class which is the class managing the parameters in the vst sdk
tresult pongasoft::VST::Parameters::setGUISaveStateOrder | ( | int16 | iVersion, |
Args... | args | ||
) |
Used to change the default order (registration order) used when saving the GUI state (getState/setState in the controller)
iVersion | should be a >= 0 number. If negative it will be ignored |
args | can be any combination of ParamID , RawVstParamDef, VstParamDef, JmbParamDef |
tresult pongasoft::VST::Parameters::setGUISaveStateOrder | ( | NormalizedState::SaveOrder const & | iSaveOrder | ) |
Used to change the default order (registration order) used when saving the GUI state (getState/setState in the controller)
tresult pongasoft::VST::Parameters::setRTSaveStateOrder | ( | int16 | iVersion, |
Args... | args | ||
) |
Used to change the default order (registration order) used when saving the RT state (getState/setState in the processor, setComponentState in the controller)
iVersion | should be a >= 0 number. If negative it will be ignored |
args | can be any combination of ParamID , RawVstParamDef, VstParamDef, JmbParamDef |
tresult pongasoft::VST::Parameters::setRTSaveStateOrder | ( | NormalizedState::SaveOrder const & | iSaveOrder | ) |
Used to change the default order (registration order) used when saving the RT state (getState/setState in the processor, setComponentState in the controller)
Parameters::VstParamDefBuilder< typename ParamConverter::ParamType > pongasoft::VST::Parameters::vst | ( | ParamID | iParamID, |
const TChar * | iTitle, | ||
Args... | iConverterArgs | ||
) |
Used from derived classes to build a parameter backed by a VST parameter
Parameters::VstParamDefBuilder< T > pongasoft::VST::Parameters::vstFromType | ( | ParamID | iParamID, |
const TChar * | iTitle | ||
) |
Used from derived classes to build a parameter backed by a VST parameter. Use this version if you want to provide a different converter.
|
virtual |
This method is called to write the NormalizedState to the stream
|
friend |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |