VST 3 SDK  VST 3.7
SDK for developing VST plug-in
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Macros Groups Pages
ParameterContainer Class Reference

Collection of parameters. More...

#include <vstparameters.h>

Public Member Functions

 ParameterContainer ()
 
 ~ParameterContainer ()
 
void init (int32 initialSize=10, int32 resizeDelta=100)
 Init param array.
 
Parameter * addParameter (const ParameterInfo &info)
 Creates and adds a new parameter from a ParameterInfo.
 
Parameter * addParameter (const TChar *title, const TChar *units=nullptr, int32 stepCount=0, ParamValue defaultValueNormalized=0., int32 flags=ParameterInfo::kCanAutomate, int32 tag=-1, UnitID unitID=kRootUnitId, const TChar *shortTitle=nullptr)
 Creates and adds a new parameter with given properties.
 
Parameter * addParameter (Parameter *p)
 Adds a given parameter.
 
int32 getParameterCount () const
 Returns the count of parameters.
 
Parameter * getParameterByIndex (int32 index) const
 Gets parameter by index.
 
void removeAll ()
 Removes all parameters.
 
Parameter * getParameter (ParamID tag) const
 Gets parameter by ID.
 
bool removeParameter (ParamID tag)
 Remove a specific parameter by ID.
 

Protected Types

using ParameterPtrVector = std::vector< IPtr< Parameter >>
 
using IndexMap = std::map< ParamID, ParameterPtrVector::size_type >
 

Protected Attributes

ParameterPtrVector * params {nullptr}
 
IndexMap id2index
 

Detailed Description

Collection of parameters.

Member Typedef Documentation

using ParameterPtrVector = std::vector<IPtr<Parameter>>
protected
using IndexMap = std::map<ParamID, ParameterPtrVector::size_type>
protected

Constructor & Destructor Documentation

Member Function Documentation

void init ( int32  initialSize = 10,
int32  resizeDelta = 100 
)

Init param array.

Parameter * addParameter ( const ParameterInfo &  info)

Creates and adds a new parameter from a ParameterInfo.

Parameter * addParameter ( const TChar *  title,
const TChar *  units = nullptr,
int32  stepCount = 0,
ParamValue  defaultValueNormalized = 0.,
int32  flags = ParameterInfo::kCanAutomate,
int32  tag = -1,
UnitID  unitID = kRootUnitId,
const TChar *  shortTitle = nullptr 
)

Creates and adds a new parameter with given properties.

Parameter * addParameter ( Parameter *  p)

Adds a given parameter.

int32 getParameterCount ( ) const
inline

Returns the count of parameters.

Parameter * getParameterByIndex ( int32  index) const

Gets parameter by index.

void removeAll ( )
inline

Removes all parameters.

Parameter * getParameter ( ParamID  tag) const

Gets parameter by ID.

bool removeParameter ( ParamID  tag)

Remove a specific parameter by ID.

Member Data Documentation

ParameterPtrVector* params {nullptr}
protected
IndexMap id2index
protected
Empty

Copyright ©2024 Steinberg Media Technologies GmbH. All Rights Reserved. This documentation is under this license.