|
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 | |
| __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__)) |