VST 3 SDK  VST 3.7
SDK for developing VST plug-in
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. More...
 
ParameteraddParameter (const ParameterInfo &info)
 Creates and adds a new parameter from a ParameterInfo. More...
 
ParameteraddParameter (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. More...
 
ParameteraddParameter (Parameter *p)
 Adds a given parameter. More...
 
int32 getParameterCount () const
 Returns the count of parameters. More...
 
ParametergetParameterByIndex (int32 index) const
 Gets parameter by index. More...
 
void removeAll ()
 Removes all parameters. More...
 
ParametergetParameter (ParamID tag) const
 Gets parameter by ID. More...
 
bool removeParameter (ParamID tag)
 Remove a specific parameter by ID. More...
 

Protected Types

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

Protected Attributes

ParameterPtrVectorparams
 
IndexMap id2index
 

Detailed Description

Collection of parameters.

Member Typedef Documentation

◆ ParameterPtrVector

using ParameterPtrVector = std::vector<IPtr<Parameter> >
protected

◆ IndexMap

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

Constructor & Destructor Documentation

◆ ParameterContainer()

◆ ~ParameterContainer()

Member Function Documentation

◆ init()

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

Init param array.

◆ addParameter() [1/3]

Parameter * addParameter ( const ParameterInfo info)

Creates and adds a new parameter from a ParameterInfo.

◆ addParameter() [2/3]

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.

◆ addParameter() [3/3]

Parameter * addParameter ( Parameter p)

Adds a given parameter.

◆ getParameterCount()

int32 getParameterCount ( ) const
inline

Returns the count of parameters.

◆ getParameterByIndex()

Parameter* getParameterByIndex ( int32  index) const
inline

Gets parameter by index.

◆ removeAll()

void removeAll ( )
inline

Removes all parameters.

◆ getParameter()

Parameter * getParameter ( ParamID  tag) const

Gets parameter by ID.

◆ removeParameter()

bool removeParameter ( ParamID  tag)

Remove a specific parameter by ID.

Member Data Documentation

◆ params

ParameterPtrVector* params
protected

◆ id2index

IndexMap id2index
protected
Empty

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