VST 3 Examples: Controller Class Reference
Author: Steinberg

VST 3 Examples VST 3.8 SDK for developing VST plug-in

Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
Controller Class Reference

Example Note Expression Edit Controller. More...

`#include <note_expression_synth_controller.h>`

Inheritance diagram for Controller:

## Public Types
enum | NoteExpressionTypeIds { kNoiseVolumeTypeID = kCustomStart , kFilterFreqModTypeID , kFilterQModTypeID , kSinusVolumeTypeID , kTriangleVolumeTypeID , kFilterTypeTypeID , kTriangleSlopeTypeID , kSinusDetuneTypeID , kReleaseTimeModTypeID , kTextInputTypeID , kSquareVolumeTypeID }
enum class | CCType : uint8 { CC , RPN , NRPN }
using | CCIndex = uint16
using | CCKey = std::pair<CCType, CCIndex>
using | CCMap = std::map<CCKey, ParamID>

## Public Member Functions
tresult | initialize (FUnknown *context) SMTG_OVERRIDE
tresult | terminate () SMTG_OVERRIDE
tresult | setComponentState (IBStream *state) SMTG_OVERRIDE
tresult | setParamNormalized (ParamID tag, ParamValue value) SMTG_OVERRIDE
tresult | getMidiControllerAssignment (int32 busIndex, int16 channel, CtrlNumber midiControllerNumber, ParamID &id) SMTG_OVERRIDE
uint32 | getNumMidi2ControllerAssignments (BusDirections direction) SMTG_OVERRIDE
tresult | getMidi2ControllerAssignments (BusDirections direction, const Midi2ControllerParamIDAssignmentList &list) SMTG_OVERRIDE
uint32 | getNumMidi1ControllerAssignments (BusDirections direction) SMTG_OVERRIDE
tresult | getMidi1ControllerAssignments (BusDirections direction, const Midi1ControllerParamIDAssignmentList &list) SMTG_OVERRIDE
int32 | getNoteExpressionCount (int32 busIndex, int16 channel) SMTG_OVERRIDE
tresult | getNoteExpressionInfo (int32 busIndex, int16 channel, int32 noteExpressionIndex, NoteExpressionTypeInfo &info) SMTG_OVERRIDE
tresult | getNoteExpressionStringByValue (int32 busIndex, int16 channel, NoteExpressionTypeID id, NoteExpressionValue valueNormalized, String128 string) SMTG_OVERRIDE
tresult | getNoteExpressionValueByString (int32 busIndex, int16 channel, NoteExpressionTypeID id, const TChar *string, NoteExpressionValue &valueNormalized) SMTG_OVERRIDE
tresult | getPhysicalUIMapping (int32 busIndex, int16 channel, PhysicalUIMapList &list) SMTG_OVERRIDE
uint32 | getNumMidiControllerAssignments (BusDirections direction, bool midi1)
tresult | getMidiControllerAssignments (BusDirections direction, std::variant< Midi2ControllerParamIDAssignmentList, Midi1ControllerParamIDAssignmentList > list)
bool | hasMatchingCCType (bool midi1, CCType type) const
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)
virtual tresult | performEdit (ParamID tag, ParamValue valueNormalized)
virtual tresult | endEdit (ParamID tag)
virtual tresult | startGroupEdit ()
virtual tresult | finishGroupEdit ()
virtual void | editorDestroyed (EditorView *)
virtual void | editorAttached (EditorView *)
virtual void | editorRemoved (EditorView *)
virtual Parameter * | getParameterObject (ParamID tag)
virtual tresult | getParameterInfoByTag (ParamID tag, ParameterInfo &info)
virtual tresult | setDirty (TBool state)
virtual tresult | requestOpenEditor (FIDString name=ViewType::kEditor)
IComponentHandler * | getComponentHandler () const
Public Member Functions inherited from ComponentBase
| ComponentBase ()
| ~ComponentBase () override
FUnknown * | getHostContext () const
IConnectionPoint * | getPeer () const
IMessage * | allocateMessage () const
tresult | sendMessage (IMessage *message) const
tresult | sendTextMessage (const char8 *text) const
tresult | sendMessageID (const char8 *messageID) const
virtual tresult | receiveText (const char8 *text)
tresult | connect (IConnectionPoint *other) SMTG_OVERRIDE
tresult | disconnect (IConnectionPoint *other) SMTG_OVERRIDE
tresult | notify (IMessage *message) SMTG_OVERRIDE
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 Member Functions
static FUnknown * | createInstance (void *)
Static Public Member Functions inherited from EditController
static KnobMode | getHostKnobMode ()

## Public Attributes
CCMap | midiCCMapping
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

## Static Public Attributes
static FUID | cid
Static Public Attributes inherited from EditController
static KnobMode | hostKnobMode
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 INoteExpressionController
static const FUID | iid
Static Public Attributes inherited from IMidiMapping
static const FUID | iid
Static Public Attributes inherited from IMidiMapping2
static const FUID | iid
Static Public Attributes inherited from INoteExpressionPhysicalUIMapping
static const FUID | iid

## Detailed Description

Example Note Expression Edit Controller.

See also
  Steinberg::Vst::INoteExpressionController
  Steinberg::Vst::NoteExpressionTypeContainer
  Steinberg::Vst::NoteExpressionType

## Member Typedef Documentation

## ◆ CCIndex

using CCIndex = uint16

## ◆ CCKey

using CCKey = std::pair<CCType, CCIndex>

## ◆ CCMap

using CCMap = std::map<CCKey, ParamID>

## Member Enumeration Documentation

## ◆ NoteExpressionTypeIds

enum NoteExpressionTypeIds

Enumerator
kNoiseVolumeTypeID |
kFilterFreqModTypeID |
kFilterQModTypeID |
kSinusVolumeTypeID |
kTriangleVolumeTypeID |
kFilterTypeTypeID |
kTriangleSlopeTypeID |
kSinusDetuneTypeID |
kReleaseTimeModTypeID |
kTextInputTypeID |
kSquareVolumeTypeID |

## ◆ CCType

enum class CCType : uint8
| strong

Enumerator
CC |
RPN |
NRPN |

## Member Function Documentation

## ◆ initialize()

tresult initialize | ( | FUnknown * | context | ) |
| virtual

Reimplemented from ComponentBase.

Reimplemented in ControllerWithUI.

## ◆ terminate()

tresult terminate | ( |  | ) |
| virtual

Reimplemented from ComponentBase.

Reimplemented in ControllerWithUI.

## ◆ setComponentState()

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

Implements IEditController.

## ◆ setParamNormalized()

tresult setParamNormalized | ( | ParamID | tag,
|  | ParamValue | value )
| virtual

Implements IEditController.

## ◆ getMidiControllerAssignment()

tresult getMidiControllerAssignment | ( | int32 | busIndex,
|  | int16 | channel,
|  | CtrlNumber | midiControllerNumber,
|  | ParamID & | id )
| virtual

Implements IMidiMapping.

## ◆ getNumMidi2ControllerAssignments()

uint32 getNumMidi2ControllerAssignments | ( | BusDirections | direction | ) |
| virtual

Implements IMidiMapping2.

## ◆ getMidi2ControllerAssignments()

tresult getMidi2ControllerAssignments | ( | BusDirections | direction,
|  | const Midi2ControllerParamIDAssignmentList & | list )
| virtual

Implements IMidiMapping2.

## ◆ getNumMidi1ControllerAssignments()

uint32 getNumMidi1ControllerAssignments | ( | BusDirections | direction | ) |
| virtual

Implements IMidiMapping2.

## ◆ getMidi1ControllerAssignments()

tresult getMidi1ControllerAssignments | ( | BusDirections | direction,
|  | const Midi1ControllerParamIDAssignmentList & | list )
| virtual

Implements IMidiMapping2.

## ◆ getNoteExpressionCount()

int32 getNoteExpressionCount | ( | int32 | busIndex,
|  | int16 | channel )
| virtual

Implements INoteExpressionController.

## ◆ getNoteExpressionInfo()

tresult getNoteExpressionInfo | ( | int32 | busIndex,
|  | int16 | channel,
|  | int32 | noteExpressionIndex,
|  | NoteExpressionTypeInfo & | info )
| virtual

Implements INoteExpressionController.

## ◆ getNoteExpressionStringByValue()

tresult getNoteExpressionStringByValue | ( | int32 | busIndex,
|  | int16 | channel,
|  | NoteExpressionTypeID | id,
|  | NoteExpressionValue | valueNormalized,
|  | String128 | string )
| virtual

Implements INoteExpressionController.

## ◆ getNoteExpressionValueByString()

tresult getNoteExpressionValueByString | ( | int32 | busIndex,
|  | int16 | channel,
|  | NoteExpressionTypeID | id,
|  | const TChar * | string,
|  | NoteExpressionValue & | valueNormalized )
| virtual

Implements INoteExpressionController.

## ◆ getPhysicalUIMapping()

tresult getPhysicalUIMapping | ( | int32 | busIndex,
|  | int16 | channel,
|  | PhysicalUIMapList & | list )
| virtual

Implements INoteExpressionPhysicalUIMapping.

## ◆ createInstance()

static FUnknown * createInstance | ( | void * |  | ) |
| inlinestatic

## ◆ getNumMidiControllerAssignments()

uint32 getNumMidiControllerAssignments | ( | BusDirections | direction,
|  | bool | midi1 )

## ◆ getMidiControllerAssignments()

tresult getMidiControllerAssignments | ( | BusDirections | direction,
|  | std::variant< Midi2ControllerParamIDAssignmentList, Midi1ControllerParamIDAssignmentList > | list )

## ◆ hasMatchingCCType()

bool hasMatchingCCType | ( | bool | midi1,
|  | CCType | type ) const

## Member Data Documentation

## ◆ cid

FUID cid
| static

## ◆ midiCCMapping

CCMap midiCCMapping

Empty

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