VST 3 Interfaces VST 3.6.11 SDK for developing VST Plug-in

- Main Page
- Related Pages
- 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
IMidiMapping Class Referenceabstract
VST 3 Interfaces to be implemented by the Plug-in | VST 3 Interfaces defined in version 3.0.1

MIDI Mapping Interface. More...

`#include <ivsteditcontroller.h>`

Inheritance diagram for IMidiMapping:

## Public Member Functions
virtual tresult | getMidiControllerAssignment (int32 busIndex, int16 channel, CtrlNumber midiControllerNumber, ParamID &id)=0
| Gets an (preferred) associated ParamID for a given Input Event Bus index, channel and MIDI Controller. 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

MIDI Mapping Interface.

- [plug imp]
- [extends IEditController]
- [released: 3.0.1]

MIDI controllers are not transmitted directly to a VST component. MIDI as hardware protocol has restrictions that can be avoided in software. Controller data in particular come along with unclear and often ignored semantics. On top of this they can interfere with regular parameter automation and the host is unaware of what happens in the Plug-in when passing MIDI controllers directly.

So any functionality that is to be controlled by MIDI controllers must be exported as regular parameter. The host will transform incoming MIDI controller data using this interface and transmit them as normal parameter change. This allows the host to automate them in the same way as other parameters. CtrlNumber could be typical MIDI controller value extended to some others values like pitch bend or after touch (see ControllerNumbers). If the mapping has changed, the Plug-in should call IComponentHandler::restartComponent (kMidiCCAssignmentChanged) to inform the host about this change.

## Member Function Documentation

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

Gets an (preferred) associated ParamID for a given Input Event Bus index, channel and MIDI Controller.

Parameters

  [in] | busIndex | - index of Input Event Bus
  [in] | channel | - channel of the bus
  [in] | midiControllerNumber | - see ControllerNumbers for expected values (could be bigger than 127)
  [in] | id | - return the associated ParamID to the given midiControllerNumber

## Member Data Documentation

const FUID iid
| static

Empty

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