VST 3 SDK VST 3.7
SDK for developing VST plug-in
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
 
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
 

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.