|
virtual void | afterCreate (IUIDescription const *iDescription, IController *iController) |
|
int32_t | getSwitchControlTag () const |
|
const std::vector< std::string > & | getTemplateNames () const |
|
void | onParameterChange (ParamID iParamID) override |
|
void | registerParameters () override |
|
virtual void | setSwitchControlTag (int32_t iTag) |
|
void | setTemplateNames (const std::vector< std::string > &iNames) |
|
| SwitchViewContainer (const CRect &iSize) |
|
| ~SwitchViewContainer () override |
|
| CustomViewAdapter (const CRect &iSize, Args... args) |
|
int32_t | getCustomViewTag () const |
|
void | markDirty () |
|
void | onParameterChange (ParamID iParamID) override |
|
void | setCustomViewTag (int32_t iTag) |
|
bool | __internal__registerRawVstControl (int32_t iParamID, ParamValue &oControlValue, GUIRawVstParam &oGUIRawVstParam) |
|
template<typename T > |
bool | __internal__registerVstControl (int32_t iParamID, T &oControlValue, GUIVstParam< T > &oParam) |
|
bool | __internal__registerVstControl (int32_t iParamID, ParamValue &oControlValue, GUIRawVstParam &oParam) |
|
virtual void | initState (GUIState *iGUIState) |
|
void | invokeAll () |
|
GUIRawVstParam | registerCallback (RawVstParam const &iParamDef, Parameters::ChangeCallback iChangeCallback, bool iInvokeCallback=false) |
|
template<typename T > |
GUIVstParam< T > | registerCallback (VstParam< T > const &iParamDef, Parameters::ChangeCallback iChangeCallback, bool iInvokeCallback=false) |
|
template<typename T > |
bool | registerCallback (VstParam< T > const &iParamDef, Parameters::ChangeCallback1< GUIVstParam< T >> iChangeCallback, bool iInvokeCallback=false) |
|
template<typename T > |
GUIJmbParam< T > | registerCallback (GUIJmbParam< T > &iParamDef, Parameters::ChangeCallback iChangeCallback, bool iInvokeCallback=false) |
|
template<typename T > |
bool | registerCallback (GUIJmbParam< T > &iParamDef, Parameters::ChangeCallback1< GUIJmbParam< T >> iChangeCallback, bool iInvokeCallback=false) |
|
template<typename T > |
GUIJmbParam< T > | registerJmbCallback (ParamID iParamID, Parameters::ChangeCallback iChangeCallback, bool iInvokeCallback=false) |
|
template<typename T > |
GUIJmbParam< T > | registerJmbParam (ParamID iParamID, bool iSubscribeToChanges=true) |
|
bool | registerParam (int32_t iParamID, GUIRawVstParam &oGUIRawVstParam) |
|
GUIRawVstParam | registerParam (RawVstParam const &iParamDef, bool iSubscribeToChanges=true) |
|
template<typename T > |
GUIVstParam< T > | registerParam (VstParam< T > const &iParamDef, bool iSubscribeToChanges=true) |
|
template<typename T > |
GUIJmbParam< T > | registerParam (GUIJmbParam< T > &iParamDef) |
|
GUIRawVstParam | registerRawVstCallback (ParamID iParamID, Parameters::ChangeCallback iChangeCallback, bool iInvokeCallback=false) |
|
GUIRawVstParam | registerRawVstParam (ParamID iParamID, bool iSubscribeToChanges=true) |
|
GUIVstParam< bool > | registerVstBooleanParam (ParamID iParamID, bool iSubscribeToChanges=true) |
|
template<typename T > |
GUIVstParam< T > | registerVstCallback (ParamID iParamID, Parameters::ChangeCallback iChangeCallback, bool iInvokeCallback=false) |
|
template<typename T > |
GUIVstParam< T > | registerVstParam (ParamID iParamID, bool iSubscribeToChanges=true) |
|
GUIVstParam< Percent > | registerVstPercentParam (ParamID iParamID, bool iSubscribeToChanges=true) |
|
void | unregisterAll () |
|
bool | unregisterParam (ParamID iParamID) |
|
GUIRawVstParam | unregisterParam (GUIRawVstParam const &iParam) |
|
template<typename T > |
GUIVstParam< T > | unregisterParam (GUIVstParam< T > const &iParam) |
|
template<typename T > |
GUIJmbParam< T > | unregisterParam (GUIJmbParam< T > const &iParam) |
|
virtual | ~GUIParamCxAware () |
|
This view offers dynamic switching between multiple views based on the value of a discrete vst parameter (the control switch as defined by switch-control-tag
). The multiple views come from the list of template names (comma separated list of names template-names
).
The VST SDK comes with a similar implementation which a) is buggy, b) requires an actual control tied to a vst parameter (so for example does not work with StepButtonView or cannot be changed by the RT). This implementation uses a VST parameter directly so has none of these restrictions.
- Note
- When editing the layout using the editor, and saving the xml file, unfortunately the editor will save the children of this class (in this case, the one that was added dynamically). Although the code handles this case, it is recommended (for production) to manually edit the xml file to remove any child of this entry (otherwise objects will be created to be destroyed right away).