VST 3 Interfaces: INoteExpressionController 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
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.
virtual tresult | getNoteExpressionInfo (int32 busIndex, int16 channel, int32 noteExpressionIndex, NoteExpressionTypeInfo &info)=0
| Returns note change type info.
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.
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.
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.

- [plug imp]
- [extends IEditController]
- [released: 3.5.0]
- [optional]

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

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

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

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

Returns note change type info.

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.

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

const FUID iid
| static

Empty

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