VST 3 Interfaces: IEditController Class Reference
Author: Steinberg

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

- Main Page
- 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 | Static Public Attributes | List of all members
IEditController Class Referenceabstract

Edit controller component interface: Vst::IEditController. More...

`#include <ivsteditcontroller.h>`

Inheritance diagram for IEditController:

## Public Member Functions
virtual tresult | setComponentState (IBStream *state)=0
| Receives the component state.
virtual tresult | setState (IBStream *state)=0
| Sets the controller state.
virtual tresult | getState (IBStream *state)=0
| Gets the controller state.
virtual int32 | getParameterCount ()=0
| Returns the number of parameters exported.
virtual tresult | getParameterInfo (int32 paramIndex, ParameterInfo &info)=0
| Gets for a given index the parameter information.
virtual tresult | getParamStringByValue (ParamID id, ParamValue valueNormalized, String128 string)=0
| Gets for a given paramID and normalized value its associated string representation.
virtual tresult | getParamValueByString (ParamID id, TChar *string, ParamValue &valueNormalized)=0
| Gets for a given paramID and string its normalized value.
virtual ParamValue | normalizedParamToPlain (ParamID id, ParamValue valueNormalized)=0
| Returns for a given paramID and a normalized value its plain representation (for example -6 for -6dB - see vst3AutomationIntro).
virtual ParamValue | plainParamToNormalized (ParamID id, ParamValue plainValue)=0
| Returns for a given paramID and a plain value its normalized value.
virtual ParamValue | getParamNormalized (ParamID id)=0
| Returns the normalized value of the parameter associated to the paramID.
virtual tresult | setParamNormalized (ParamID id, ParamValue value)=0
| Sets the normalized value to the parameter associated to the paramID.
virtual tresult | setComponentHandler (IComponentHandler *handler)=0
| Gets from host a handler which allows the Plugin-in to communicate with the host.
virtual IPlugView * | createView (FIDString name)=0
| Creates the editor view of the plug-in, currently only "editor" is supported, see ViewType.
Public Member Functions inherited from IPluginBase
virtual tresult | initialize (FUnknown *context)=0
virtual tresult | terminate ()=0
Public Member Functions inherited from FUnknown
virtual tresult | queryInterface (const TUID _iid, void **obj)=0
virtual uint32 | addRef ()=0
virtual uint32 | release ()=0

## Static Public Attributes
static const FUID | iid
Static Public Attributes inherited from IPluginBase
static const FUID | iid
Static Public Attributes inherited from FUnknown
static const FUID | iid

## Detailed Description

Edit controller component interface: Vst::IEditController.

- [plug imp]
- [released: 3.0.0]
- [mandatory]

The controller part of an effect or instrument with parameter handling (export, definition, conversion...).

See Also
  IComponent::getControllerClassId, IMidiMapping

## Member Function Documentation

virtual tresult setComponentState | ( | IBStream * | state | ) |
| pure virtual

Receives the component state.

Implemented in EditController.

virtual tresult setState | ( | IBStream * | state | ) |
| pure virtual

Sets the controller state.

Implemented in EditController.

virtual tresult getState | ( | IBStream * | state | ) |
| pure virtual

Gets the controller state.

Implemented in EditController.

virtual int32 getParameterCount | ( |  | ) |
| pure virtual

Returns the number of parameters exported.

Implemented in EditController.

virtual tresult getParameterInfo | ( | int32 | paramIndex,
|  | ParameterInfo & | info
| ) |  |
| pure virtual

Gets for a given index the parameter information.

Implemented in EditController.

virtual tresult getParamStringByValue | ( | ParamID | id,
|  | ParamValue | valueNormalized,
|  | String128 | string
| ) |  |
| pure virtual

Gets for a given paramID and normalized value its associated string representation.

Implemented in EditController.

virtual tresult getParamValueByString | ( | ParamID | id,
|  | TChar * | string,
|  | ParamValue & | valueNormalized
| ) |  |
| pure virtual

Gets for a given paramID and string its normalized value.

Implemented in EditController.

virtual ParamValue normalizedParamToPlain | ( | ParamID | id,
|  | ParamValue | valueNormalized
| ) |  |
| pure virtual

Returns for a given paramID and a normalized value its plain representation (for example -6 for -6dB - see vst3AutomationIntro).

Implemented in EditController.

virtual ParamValue plainParamToNormalized | ( | ParamID | id,
|  | ParamValue | plainValue
| ) |  |
| pure virtual

Returns for a given paramID and a plain value its normalized value.

(see vst3AutomationIntro)

Implemented in EditController.

virtual ParamValue getParamNormalized | ( | ParamID | id | ) |
| pure virtual

Returns the normalized value of the parameter associated to the paramID.

Implemented in EditController.

virtual tresult setParamNormalized | ( | ParamID | id,
|  | ParamValue | value
| ) |  |
| pure virtual

Sets the normalized value to the parameter associated to the paramID.

The controller must never pass this value-change back to the host via the IComponentHandler. It should update the according GUI element(s) only!

Implemented in EditController.

virtual tresult setComponentHandler | ( | IComponentHandler * | handler | ) |
| pure virtual

Gets from host a handler which allows the Plugin-in to communicate with the host.

Note: This is mandatory if the host is using the IEditController!

Implemented in EditController.

virtual IPlugView* createView | ( | FIDString | name | ) |
| pure virtual

Creates the editor view of the plug-in, currently only "editor" is supported, see ViewType.

The life time of the editor view will never exceed the life time of this controller instance.

Implemented in EditController.

## Member Data Documentation

const FUID iid
| static

Empty

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