VST 3 SDK: ump.h File Reference
Author: Steinberg

VST 3 SDK VST 3.8 SDK for developing VST plug-in

Loading...
Searching...
No Matches
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions | Variables
ump.h File Reference
`#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
| A replacement for InitModule and DeinitModule.
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
__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

## Macro Definition Documentation

## ◆ SMTG_ALWAYS_INLINE

#define SMTG_ALWAYS_INLINE __inline__ __attribute__ ((__always_inline__))

Empty

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