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