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

Public Types | Public Member Functions | Public Attributes | List of all members
EditControllerEx1 Class Reference
VST Implementation Helper Classes

Advanced implementation (support IUnitInfo) for a VST 3 edit controller. More...

`#include <vsteditcontroller.h>`

Inheritance diagram for EditControllerEx1:

## Public Types
using | ProgramIndexMap = (EditControllerEx1, EditController) DEFINE_INTERFACES DEF_INTERFACE(IUnitInfo) END_DEFINE_INTERFACES(EditController) REFCOUNT_METHODS(EditController) protected std::map< ProgramListID, ProgramListVector::size_type >
using | UnitVector = std::vector< IPtr< Unit > >

## Public Member Functions
| EditControllerEx1 ()
| ~EditControllerEx1 () override
tresult | terminate () SMTG_OVERRIDE
bool | addUnit (Unit *unit)
| Adds a given unit. More...
bool | addProgramList (ProgramList *list)
| Adds a given program list. More...
ProgramList * | getProgramList (ProgramListID listId) const
| Returns the ProgramList associated to a given listId. More...
tresult | notifyProgramListChange (ProgramListID listId, int32 programIndex=kAllProgramInvalid)
| Notifies the host about program list changes. More...
int32 | getUnitCount () SMTG_OVERRIDE
tresult | getUnitInfo (int32 unitIndex, UnitInfo &info) SMTG_OVERRIDE
int32 | getProgramListCount () SMTG_OVERRIDE
tresult | getProgramListInfo (int32 listIndex, ProgramListInfo &info) SMTG_OVERRIDE
tresult | getProgramName (ProgramListID listId, int32 programIndex, String128 name) SMTG_OVERRIDE
tresult | getProgramInfo (ProgramListID listId, int32 programIndex, CString attributeId, String128 attributeValue) SMTG_OVERRIDE
tresult | hasProgramPitchNames (ProgramListID listId, int32 programIndex) SMTG_OVERRIDE
tresult | getProgramPitchName (ProgramListID listId, int32 programIndex, int16 midiPitch, String128 name) SMTG_OVERRIDE
virtual tresult | setProgramName (ProgramListID listId, int32 programIndex, const String128 name)
UnitID | getSelectedUnit () SMTG_OVERRIDE
tresult | selectUnit (UnitID unitId) SMTG_OVERRIDE
tresult | getUnitByBus (MediaType, BusDirection, int32, int32, UnitID &) SMTG_OVERRIDE
tresult | setUnitProgramData (int32, int32, IBStream *) SMTG_OVERRIDE
virtual tresult | notifyUnitSelection ()
| Notifies the host about the selected Unit. More...
void | update (FUnknown *changedUnknown, int32 message) SMTG_OVERRIDE
Public Member Functions inherited from EditController
| EditController ()
tresult | setComponentState (IBStream *state) SMTG_OVERRIDE
tresult | setState (IBStream *state) SMTG_OVERRIDE
tresult | getState (IBStream *state) SMTG_OVERRIDE
int32 | getParameterCount () SMTG_OVERRIDE
tresult | getParameterInfo (int32 paramIndex, ParameterInfo &info) SMTG_OVERRIDE
tresult | getParamStringByValue (ParamID tag, ParamValue valueNormalized, String128 string) SMTG_OVERRIDE
tresult | getParamValueByString (ParamID tag, TChar *string, ParamValue &valueNormalized) SMTG_OVERRIDE
ParamValue | normalizedParamToPlain (ParamID tag, ParamValue valueNormalized) SMTG_OVERRIDE
ParamValue | plainParamToNormalized (ParamID tag, ParamValue plainValue) SMTG_OVERRIDE
ParamValue | getParamNormalized (ParamID tag) SMTG_OVERRIDE
tresult | setParamNormalized (ParamID tag, ParamValue value) SMTG_OVERRIDE
tresult | setComponentHandler (IComponentHandler *handler) SMTG_OVERRIDE
IPlugView * | createView (FIDString) SMTG_OVERRIDE
tresult | setKnobMode (KnobMode mode) SMTG_OVERRIDE
tresult | openHelp (TBool) SMTG_OVERRIDE
tresult | openAboutBox (TBool) SMTG_OVERRIDE
tresult | initialize (FUnknown *context) SMTG_OVERRIDE
tresult | terminate () SMTG_OVERRIDE
virtual tresult | beginEdit (ParamID tag)
| to be called before a serie of performEdit More...
virtual tresult | performEdit (ParamID tag, ParamValue valueNormalized)
| will inform the host about the value change More...
virtual tresult | endEdit (ParamID tag)
| to be called after a serie of performEdit More...
virtual tresult | startGroupEdit ()
| calls IComponentHandler2::startGroupEdit() if host supports it More...
virtual tresult | finishGroupEdit ()
| calls IComponentHandler2::finishGroupEdit() if host supports it More...
virtual void | editorDestroyed (EditorView *)
| called from EditorView if it was destroyed More...
virtual void | editorAttached (EditorView *)
| called from EditorView if it was attached to a parent More...
virtual void | editorRemoved (EditorView *)
| called from EditorView if it was removed from a parent More...
virtual Parameter * | getParameterObject (ParamID tag)
| Gets for a given tag the parameter object. More...
virtual tresult | getParameterInfoByTag (ParamID tag, ParameterInfo &info)
| Gets for a given tag the parameter information. More...
virtual tresult | setDirty (TBool state)
| Calls IComponentHandler2::setDirty (state) if host supports it. More...
virtual tresult | requestOpenEditor (FIDString name=ViewType::kEditor)
| Calls IComponentHandler2::requestOpenEditor (name) if host supports it. More...
IComponentHandler * | getComponentHandler () const
Public Member Functions inherited from ComponentBase
| ComponentBase ()
| ~ComponentBase () override
FUnknown * | getHostContext () const
| Returns the hostContext (set by the host during initialize call). More...
IConnectionPoint * | getPeer () const
| Returns the peer for the messaging communication (you can only use IConnectionPoint::notify for communicate between peers, do not try to cast peerConnection. More...
IMessage * | allocateMessage () const
| Allocates a message instance (do not forget to release it). More...
tresult | sendMessage (IMessage *message) const
| Sends the given message to the peer. More...
tresult | sendTextMessage (const char8 *text) const
| Sends a simple text message to the peer (max 255 characters). More...
tresult | sendMessageID (const char8 *messageID) const
| Sends a message with a given ID without any other payload. More...
virtual tresult | receiveText (const char8 *text)
| Receives a simple text message from the peer (max 255 characters). More...
tresult | initialize (FUnknown *context) SMTG_OVERRIDE
tresult | terminate () SMTG_OVERRIDE
tresult | connect (IConnectionPoint *other) SMTG_OVERRIDE
tresult | disconnect (IConnectionPoint *other) SMTG_OVERRIDE
tresult | notify (IMessage *message) SMTG_OVERRIDE
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
virtual tresult | connect (IConnectionPoint *other)=0
virtual tresult | disconnect (IConnectionPoint *other)=0
virtual tresult | notify (IMessage *message)=0
virtual tresult | setComponentState (IBStream *state)=0
virtual tresult | setState (IBStream *state)=0
virtual tresult | getState (IBStream *state)=0
virtual int32 | getParameterCount ()=0
virtual tresult | getParameterInfo (int32 paramIndex, ParameterInfo &info)=0
virtual tresult | getParamStringByValue (ParamID id, ParamValue valueNormalized, String128 string)=0
virtual tresult | getParamValueByString (ParamID id, TChar *string, ParamValue &valueNormalized)=0
virtual ParamValue | normalizedParamToPlain (ParamID id, ParamValue valueNormalized)=0
virtual ParamValue | plainParamToNormalized (ParamID id, ParamValue plainValue)=0
virtual ParamValue | getParamNormalized (ParamID id)=0
virtual tresult | setParamNormalized (ParamID id, ParamValue value)=0
virtual tresult | setComponentHandler (IComponentHandler *handler)=0
virtual IPlugView * | createView (FIDString name)=0
virtual tresult | setKnobMode (KnobMode mode)=0
virtual tresult | openHelp (TBool onlyCheck)=0
virtual tresult | openAboutBox (TBool onlyCheck)=0
virtual int32 | getUnitCount ()=0
virtual tresult | getUnitInfo (int32 unitIndex, UnitInfo &info)=0
virtual int32 | getProgramListCount ()=0
virtual tresult | getProgramListInfo (int32 listIndex, ProgramListInfo &info)=0
virtual tresult | getProgramName (ProgramListID listId, int32 programIndex, String128 name)=0
virtual tresult | getProgramInfo (ProgramListID listId, int32 programIndex, CString attributeId, String128 attributeValue)=0
virtual tresult | hasProgramPitchNames (ProgramListID listId, int32 programIndex)=0
virtual tresult | getProgramPitchName (ProgramListID listId, int32 programIndex, int16 midiPitch, String128 name)=0
virtual UnitID | getSelectedUnit ()=0
virtual tresult | selectUnit (UnitID unitId)=0
virtual tresult | getUnitByBus (MediaType type, BusDirection dir, int32 busIndex, int32 channel, UnitID &unitId)=0
virtual tresult | setUnitProgramData (int32 listOrUnitId, int32 programIndex, IBStream *data)=0

## Public Attributes
UnitVector | units
ProgramListVector | programLists
ProgramIndexMap | programIndexMap
UnitID | selectedUnit {kRootUnitId}
Public Attributes inherited from EditController
OBJ_METHODS(EditController, ComponentBase) DEFINE_INTERFACES DEF_INTERFACE(IEditController) DEF_INTERFACE(IEditController2) END_DEFINE_INTERFACES(ComponentBase) REFCOUNT_METHODS(ComponentBase) protected IPtr< IComponentHandler2 > | componentHandler2
ParameterContainer | parameters
Public Attributes inherited from ComponentBase
OBJ_METHODS(ComponentBase, FObject) DEFINE_INTERFACES DEF_INTERFACE(IPluginBase) DEF_INTERFACE(IConnectionPoint) END_DEFINE_INTERFACES(FObject) REFCOUNT_METHODS(FObject) protected IPtr< IConnectionPoint > | peerConnection

## Additional Inherited Members
Static Public Member Functions inherited from EditController
static KnobMode | getHostKnobMode ()
| return host knob mode More...
Static Public Attributes inherited from EditController
static KnobMode | hostKnobMode = kCircularMode
Static Public Attributes inherited from IPluginBase
static const FUID | iid
Static Public Attributes inherited from FUnknown
static const FUID | iid
Static Public Attributes inherited from IConnectionPoint
static const FUID | iid
Static Public Attributes inherited from IEditController
static const FUID | iid
Static Public Attributes inherited from IEditController2
static const FUID | iid
Static Public Attributes inherited from IUnitInfo
static const FUID | iid

## Detailed Description

Advanced implementation (support IUnitInfo) for a VST 3 edit controller.

- [extends EditController]

## Member Typedef Documentation

## ◆ ProgramIndexMap

using ProgramIndexMap = (EditControllerEx1, EditController) DEFINE_INTERFACES DEF_INTERFACE (IUnitInfo) END_DEFINE_INTERFACES (EditController) REFCOUNT_METHODS (EditController) protected std::map<ProgramListID, ProgramListVector::size_type>

## ◆ UnitVector

using UnitVector = std::vector<IPtr<Unit> >

## Constructor & Destructor Documentation

## ◆ EditControllerEx1()

EditControllerEx1 | ( |  | ) |

## ◆ ~EditControllerEx1()

~EditControllerEx1 | ( |  | ) |
| override

## Member Function Documentation

## ◆ terminate()

tresult terminate | ( |  | ) |
| virtual

Reimplemented from EditController.

Reimplemented in SingleComponentEffect.

## ◆ addUnit()

bool addUnit | ( | Unit * | unit | ) |

Adds a given unit.

## ◆ addProgramList()

bool addProgramList | ( | ProgramList * | list | ) |

Adds a given program list.

## ◆ getProgramList()

ProgramList * getProgramList | ( | ProgramListID | listId | ) | const

Returns the ProgramList associated to a given listId.

## ◆ notifyProgramListChange()

tresult notifyProgramListChange | ( | ProgramListID | listId,
|  | int32 | programIndex = `kAllProgramInvalid`
| ) |  |

Notifies the host about program list changes.

## ◆ getUnitCount()

int32 getUnitCount | ( |  | ) |
| inline virtual

Implements IUnitInfo.

## ◆ getUnitInfo()

tresult getUnitInfo | ( | int32 | unitIndex,
|  | UnitInfo & | info
| ) |  |
| virtual

Implements IUnitInfo.

## ◆ getProgramListCount()

int32 getProgramListCount | ( |  | ) |
| virtual

Implements IUnitInfo.

## ◆ getProgramListInfo()

tresult getProgramListInfo | ( | int32 | listIndex,
|  | ProgramListInfo & | info
| ) |  |
| virtual

Implements IUnitInfo.

## ◆ getProgramName()

tresult getProgramName | ( | ProgramListID | listId,
|  | int32 | programIndex,
|  | String128 | name
| ) |  |
| virtual

Implements IUnitInfo.

## ◆ getProgramInfo()

tresult getProgramInfo | ( | ProgramListID | listId,
|  | int32 | programIndex,
|  | CString | attributeId,
|  | String128 | attributeValue
| ) |  |
| virtual

Implements IUnitInfo.

## ◆ hasProgramPitchNames()

tresult hasProgramPitchNames | ( | ProgramListID | listId,
|  | int32 | programIndex
| ) |  |
| virtual

Implements IUnitInfo.

## ◆ getProgramPitchName()

tresult getProgramPitchName | ( | ProgramListID | listId,
|  | int32 | programIndex,
|  | int16 | midiPitch,
|  | String128 | name
| ) |  |
| virtual

Implements IUnitInfo.

## ◆ setProgramName()

tresult setProgramName | ( | ProgramListID | listId,
|  | int32 | programIndex,
|  | const String128 | name
| ) |  |
| virtual

## ◆ getSelectedUnit()

UnitID getSelectedUnit | ( |  | ) |
| inline virtual

Implements IUnitInfo.

## ◆ selectUnit()

tresult selectUnit | ( | UnitID | unitId | ) |
| inline virtual

Implements IUnitInfo.

## ◆ getUnitByBus()

tresult getUnitByBus | ( | MediaType | ,
|  | BusDirection | ,
|  | int32 | ,
|  | int32 | ,
|  | UnitID & |
| ) |  |
| inline virtual

Implements IUnitInfo.

## ◆ setUnitProgramData()

tresult setUnitProgramData | ( | int32 | ,
|  | int32 | ,
|  | IBStream * |
| ) |  |
| inline virtual

Implements IUnitInfo.

## ◆ notifyUnitSelection()

tresult notifyUnitSelection | ( |  | ) |
| virtual

Notifies the host about the selected Unit.

## ◆ update()

void update | ( | FUnknown * | changedUnknown,
|  | int32 | message
| ) |  |

## Member Data Documentation

## ◆ units

UnitVector units

## ◆ programLists

ProgramListVector programLists

## ◆ programIndexMap

ProgramIndexMap programIndexMap

## ◆ selectedUnit

UnitID selectedUnit {kRootUnitId}

Empty

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