| VST 3 SDK VST 3.7
    SDK for developing VST plug-in | 
#include <array>#include <cassert>#include <cstdint>| Classes | |
| struct | IUniversalMidiPacketHandler | 
| struct | UMPMessage | 
| struct | UMPMessage2 | 
| struct | UMPMessage4 | 
| struct | UMPMessageUtility | 
| struct | UMPMessageSystem | 
| struct | UMPMessageChannelVoice1 | 
| struct | UMPMessageSysEx | 
| struct | UMPMessageChannelVoice2 | 
| struct | UMPMessageData128 | 
| struct | UniversalMidiPacketHandlerAdapter | 
| Namespaces | |
| namespace | Steinberg | 
| namespace | Steinberg::Vst | 
| namespace | Steinberg::Vst::UMP | 
| namespace | Steinberg::Vst::UMP::Detail | 
| Macros | |
| #define | SMTG_ALWAYS_INLINE __inline__ __attribute__ ((__always_inline__)) | 
| Typedefs | |
| using | Status = UMPMessageUtility::Status | 
| using | SystemRealtime = IUniversalMidiPacketHandler::SystemRealtime | 
| Enumerations | |
| enum | ParseSections : uint8_t { Utility = 1 << 0 , System = 1 << 1 , ChannelVoice1 = 1 << 2 , SysEx = 1 << 3 , ChannelVoice2 = 1 << 3 , Data128 = 1 << 4 , All = 0xff } | 
| the parse sections control which messages to process of UMP  More... | |
| enum class | ParsingAction : uint32_t { Break , Continue } | 
| enum class | MessageType : uint8_t { Utility = 0x0 , System = 0x1 , ChannelVoice1 = 0x2 , SysEx = 0x3 , ChannelVoice2 = 0x4 , Data128 = 0x5 , Unknown6 = 0x6 , Unknown7 = 0x7 , Unknown8 = 0x8 , Unknown9 = 0x9 , UnknownA = 0xa , UnknownB = 0xb , UnknownC = 0xc , UnknownD = 0xd , UnknownE = 0xe , UnknownF = 0xf } | 
| Functions | |
| template<ParseSections sections = ParseSections::All> | |
| size_t | parsePackets (const size_t numWords, const uint32_t *words, const IUniversalMidiPacketHandler &handler) | 
| stateless parsing universal MIDI packets  More... | |
| __inline__ | __attribute__ ((__always_inline__)) bool onUtilityMessage(const UMPMessageUtility &msg | 
| switch (status) | |
| switch (msg.status()) | |
| template<uint32_t Sections> | |
| __inline__ | __attribute__ ((__always_inline__)) size_t parse(const size_t numWords | 
| for (size_t index=0;index< numWords;) | |
| template<ParseSections Sections> | |
| __inline__ | __attribute__ ((__always_inline__)) size_t parsePackets(const size_t numWords | 
| Variables | |
| __inline__ const IUniversalMidiPacketHandler & | handler | 
| return | true | 
| auto | status = msg.status () | 
| auto | channel = msg.channel () | 
| __inline__ const uint32_t * | words | 
| return | numWords | 
| __inline__ const uint32_t * | words | 
| __inline__ const uint32_t const IUniversalMidiPacketHandler & | handler | 
| #define SMTG_ALWAYS_INLINE __inline__ __attribute__ ((__always_inline__)) |