VST 3 SDK: ParameterContainer Class Reference
Author: Steinberg

VST 3 SDK VST 3.7 SDK for developing VST plug-in

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Macros Groups Pages
Public Member Functions | Protected Types | Protected Attributes | List of all members
ParameterContainer Class Reference
VST Implementation Helper Classes

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

ParameterContainer | ( |  | ) |

~ParameterContainer | ( |  | ) |

## 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 ©2023 Steinberg Media Technologies GmbH. All Rights Reserved. This documentation is under this license.