VST 3 Interfaces VST 3.7
SDK for developing VST plug-in
INoteExpressionController Class Referenceabstract

Extended plug-in interface IEditController for note expression event support: Vst::INoteExpressionController. More...

#include <ivstnoteexpression.h>

+ Inheritance diagram for INoteExpressionController:

Public Member Functions

virtual int32 getNoteExpressionCount (int32 busIndex, int16 channel)=0
 Returns number of supported note change types for event bus index and channel. More...
 
virtual tresult getNoteExpressionInfo (int32 busIndex, int16 channel, int32 noteExpressionIndex, NoteExpressionTypeInfo &info)=0
 Returns note change type info. More...
 
virtual tresult getNoteExpressionStringByValue (int32 busIndex, int16 channel, NoteExpressionTypeID id, NoteExpressionValue valueNormalized, String128 string)=0
 Gets a user readable representation of the normalized note change value. More...
 
virtual tresult getNoteExpressionValueByString (int32 busIndex, int16 channel, NoteExpressionTypeID id, const TChar *string, NoteExpressionValue &valueNormalized)=0
 Converts the user readable representation to the normalized note change value. More...
 
- 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 FUnknown
static const FUID iid
 

Detailed Description

Extended plug-in interface IEditController for note expression event support: Vst::INoteExpressionController.

With this plug-in interface, the host can retrieve all necessary note expression information supported by the plug-in. Note expression information (NoteExpressionTypeInfo) are specific for given channel and event bus.

Note that there is only one NoteExpressionTypeID per given channel of an event bus.

The method getNoteExpressionStringByValue allows conversion from a normalized value to a string representation and the getNoteExpressionValueByString method from a string to a normalized value.

When the note expression state changes (for example when switching presets) the plug-in needs to inform the host about it via IComponentHandler::restartComponent (kNoteExpressionChanged).

Member Function Documentation

◆ getNoteExpressionCount()

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

Returns number of supported note change types for event bus index and channel.

◆ getNoteExpressionInfo()

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

Returns note change type info.

◆ getNoteExpressionStringByValue()

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

Gets a user readable representation of the normalized note change value.

◆ getNoteExpressionValueByString()

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

Converts the user readable representation to the normalized note change value.

Member Data Documentation

◆ iid

const FUID iid
static
Empty

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