VST 3 Interfaces: INoteExpressionPhysicalUIMapping Class Reference
Author: Steinberg

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

Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes | List of all members
INoteExpressionPhysicalUIMapping Class Referenceabstract

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

`#include <ivstphysicalui.h>`

Inheritance diagram for INoteExpressionPhysicalUIMapping:

## Public Member Functions
virtual tresult | getPhysicalUIMapping (int32 busIndex, int16 channel, PhysicalUIMapList &list)=0
| Fills the list of mapped [physical UI (in) - note expression (out)] for a given bus index and channel.
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::INoteExpressionPhysicalUIMapping.

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

With this plug-in interface, the host can retrieve the preferred physical mapping associated to note expression supported by the plug-in. When the mapping changes (for example when switching presets) the plug-in needs to inform the host about it via restartComponent (kNoteExpressionChanged).

# Example

//------------------------------------------------------------------------
// here an example of how a VST3 plug-in could support this INoteExpressionPhysicalUIMapping interface.
// we need to define somewhere the iids:
//in MyController class declaration
class MyController : public Vst::EditController, public Vst::INoteExpressionPhysicalUIMapping
{
// ...
//--- INoteExpressionPhysicalUIMapping ---------------------------------
tresult PLUGIN_API getPhysicalUIMapping (int32 busIndex, int16 channel, PhysicalUIMapList& list) SMTG_OVERRIDE;
// ...
OBJ_METHODS (MyController, Vst::EditController)
DEFINE_INTERFACES
// ...
DEF_INTERFACE (Vst::INoteExpressionPhysicalUIMapping)
END_DEFINE_INTERFACES (Vst::EditController)
//...
}
// In mycontroller.cpp
#include "pluginterfaces/vst/ivstnoteexpression.h"
namespace Steinberg {
namespace Vst {
DEF_CLASS_IID (INoteExpressionPhysicalUIMapping)
}
}
//------------------------------------------------------------------------
tresult PLUGIN_API MyController::getPhysicalUIMapping (int32 busIndex, int16 channel, PhysicalUIMapList& list)
{
if (busIndex == 0 && channel == 0)
{
for (uint32 i = 0; i < list.count; ++i)
{
NoteExpressionTypeID type = kInvalidTypeID;
if (kPUIXMovement == list.map[i].physicalUITypeID)
list.map[i].noteExpressionTypeID = kCustomStart + 1;
else if (kPUIYMovement == list.map[i].physicalUITypeID)
list.map[i].noteExpressionTypeID = kCustomStart + 2;
}
return kResultTrue;
}
return kResultFalse;
}
Steinberg::Vst::EditController
Steinberg::Vst::INoteExpressionPhysicalUIMapping
Extended plug-in interface IEditController for note expression event support: Vst::INoteExpressionPhy...
Definition ivstphysicalui.h:149
Steinberg::Vst::INoteExpressionPhysicalUIMapping::getPhysicalUIMapping
virtual tresult getPhysicalUIMapping(int32 busIndex, int16 channel, PhysicalUIMapList &list)=0
Fills the list of mapped [physical UI (in) - note expression (out)] for a given bus index and channel...
SMTG_OVERRIDE
#define SMTG_OVERRIDE
DEF_CLASS_IID
#define DEF_CLASS_IID(ClassName)
ivstnoteexpression.h
Steinberg::Vst
All VST specific interfaces are located in Vst namespace.
Steinberg
Steinberg::kResultTrue
kResultTrue
Steinberg::kResultFalse
kResultFalse
Steinberg::tresult
int32 tresult
Steinberg::int16
int16_t int16
Steinberg::int32
int32_t int32
Steinberg::Vst::PhysicalUIMapList
PhysicalUIMapList describes a list of PhysicalUIMap.
Definition ivstphysicalui.h:77

## Member Function Documentation

## ◆ getPhysicalUIMapping()

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

Fills the list of mapped [physical UI (in) - note expression (out)] for a given bus index and channel.

Note
  [UI-thread & Connected]

## Member Data Documentation

## ◆ iid

const FUID iid
| static

Empty

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