VST 3 SDK: Handler Struct Reference
Author: Steinberg

VST 3 SDK VST 3.7 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 | List of all members
Handler Struct Referenceabstract

`#include <mpeprocessor.h>`

## Public Member Functions
virtual bool | generateNewNoteID (NoteID &outNoteID)=0
| Generate a new noteID.
virtual void | releaseNoteID (NoteID noteID)=0
| Release a noteID.
virtual void | onMPENoteOn (NoteID noteID, Pitch pitch, Velocity velocity)=0
| A note on was transmitted.
virtual void | onMPENoteOff (NoteID noteID, Pitch pitch, Velocity velocity)=0
| A note off was transmitted.
virtual void | onMPEControllerChange (NoteID noteID, Controller cc, NormalizedValue value)=0
| A new per note controller change was transmitted.
virtual void | onOtherInput (const uint8_t *data, size_t dataSize)=0
| Non MPE MIDI input data was transmitted.
virtual void | onSysexInput (const uint8_t *data, size_t dataSize)=0
| Sysex MIDI data was transmitted.
virtual void | errorNoteDroppedBecauseNoNoteID (Pitch pitch)=0
| called when the handler did not return a new note ID
virtual void | errorNoteDroppedBecauseNoteStackFull (Channel channel, Pitch pitch)=0
| the internal note stack for this channel is full, happens on too many note ons per channel
virtual void | errorNoteForNoteOffNotFound (Channel channel, Pitch pitch)=0
| called when the internal data has no reference to this note off
virtual void | errorProgramChangeReceivedInMPEZone ()=0
| called when a program change was received inside the MPE zone which is a protocol violation

## Member Function Documentation

virtual bool generateNewNoteID | ( | NoteID & | outNoteID | ) |
| pure virtual

Generate a new noteID.

called by the processor for a new NoteID. The handler has to make sure that the noteID is not used again until the releaseNoteID method is called.

Parameters

  outNoteID | on return contains the new noteID if this call succeed

Returns
  true if outNoteID was filled with a new noteID

virtual void releaseNoteID | ( | NoteID | noteID | ) |
| pure virtual

Release a noteID.

called by the processor when the NoteID is no longer used.

Parameters

  noteID | the noteID not longer in use

virtual void onMPENoteOn | ( | NoteID | noteID,
|  | Pitch | pitch,
|  | Velocity | velocity
| ) |  |
| pure virtual

A note on was transmitted.

Parameters

  noteID | unique note identifier
  pitch | note pitch
  velocity | note on velocity

virtual void onMPENoteOff | ( | NoteID | noteID,
|  | Pitch | pitch,
|  | Velocity | velocity
| ) |  |
| pure virtual

A note off was transmitted.

Parameters

  noteID | unique note identifier
  pitch | note pitch
  velocity | note off velocity

virtual void onMPEControllerChange | ( | NoteID | noteID,
|  | Controller | cc,
|  | NormalizedValue | value
| ) |  |
| pure virtual

A new per note controller change was transmitted.

Parameters

  noteID | unique note identifier
  cc | the MIDI controller which changed
  value | the value of the change in the range [0..1]

virtual void onOtherInput | ( | const uint8_t * | data,
|  | size_t | dataSize
| ) |  |
| pure virtual

Non MPE MIDI input data was transmitted.

Parameters

  data | MIDI data buffer
  dataSize | size of the MIDI data buffer in bytes

virtual void onSysexInput | ( | const uint8_t * | data,
|  | size_t | dataSize
| ) |  |
| pure virtual

Sysex MIDI data was transmitted.

Parameters

  data | Sysex data buffer
  dataSize | size of sysex data buffer in bytes

virtual void errorNoteDroppedBecauseNoNoteID | ( | Pitch | pitch | ) |
| pure virtual

called when the handler did not return a new note ID

virtual void errorNoteDroppedBecauseNoteStackFull | ( | Channel | channel,
|  | Pitch | pitch
| ) |  |
| pure virtual

the internal note stack for this channel is full, happens on too many note ons per channel

virtual void errorNoteForNoteOffNotFound | ( | Channel | channel,
|  | Pitch | pitch
| ) |  |
| pure virtual

called when the internal data has no reference to this note off

virtual void errorProgramChangeReceivedInMPEZone | ( |  | ) |
| pure virtual

called when a program change was received inside the MPE zone which is a protocol violation

Empty

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