LMMS
Loading...
Searching...
No Matches
juce::MidiEventList Class Reference

#include <juce_VST3Common.h>

Inheritance diagram for juce::MidiEventList:
Steinberg::Vst::IEventList Steinberg::FUnknown

Classes

struct  Vst3MidiControlEvent

Public Member Functions

 MidiEventList ()=default
virtual ~MidiEventList ()=default
JUCE_DECLARE_VST3_COM_REF_METHODS JUCE_DECLARE_VST3_COM_QUERY_METHODS void clear ()
Steinberg::int32 PLUGIN_API getEventCount () override
Steinberg::tresult PLUGIN_API getEvent (Steinberg::int32 index, Steinberg::Vst::Event &e) override
Steinberg::tresult PLUGIN_API addEvent (Steinberg::Vst::Event &e) override
Public Member Functions inherited from Steinberg::FUnknown
virtual tresult PLUGIN_API queryInterface (const TUID _iid, void **obj)=0
virtual uint32 PLUGIN_API addRef ()=0
virtual uint32 PLUGIN_API release ()=0

Static Public Member Functions

static void toMidiBuffer (MidiBuffer &result, Steinberg::Vst::IEventList &eventList)
template<typename Callback>
static void hostToPluginEventList (Steinberg::Vst::IEventList &result, MidiBuffer &midiBuffer, StoredMidiMapping &mapping, Callback &&callback)
static void pluginToHostEventList (Steinberg::Vst::IEventList &result, MidiBuffer &midiBuffer)

Private Types

enum class  EventConversionKind { hostToPlugin , pluginToHost }

Static Private Member Functions

template<typename Callback>
static bool sendMappedParameter (const MidiMessage &msg, StoredMidiMapping *midiMapping, Callback &&callback)
template<typename Callback>
static void processMidiMessage (Steinberg::Vst::IEventList &result, const MidiMessageMetadata metadata, StoredMidiMapping *midiMapping, Callback &&callback)
template<typename Callback>
static void toEventList (Steinberg::Vst::IEventList &result, MidiBuffer &midiBuffer, StoredMidiMapping *midiMapping, Callback &&callback)
static Steinberg::int16 createSafeChannel (int channel) noexcept
static int createSafeChannel (Steinberg::int16 channel) noexcept
static Steinberg::int16 createSafeNote (int note) noexcept
static int createSafeNote (Steinberg::int16 note) noexcept
static float normaliseMidiValue (int value) noexcept
static int denormaliseToMidiValue (float value) noexcept
static Steinberg::Vst::Event createNoteOnEvent (const MidiMessage &msg) noexcept
static Steinberg::Vst::Event createNoteOffEvent (const MidiMessage &msg) noexcept
static Steinberg::Vst::Event createSysExEvent (const MidiMessage &msg, const uint8 *midiEventData) noexcept
static Steinberg::Vst::Event createLegacyMIDIEvent (int channel, int controlNumber, int value, int value2=0)
static Steinberg::Vst::Event createPolyPressureEvent (const MidiMessage &msg)
static Steinberg::Vst::Event createChannelPressureEvent (const MidiMessage &msg) noexcept
static Steinberg::Vst::Event createControllerEvent (const MidiMessage &msg) noexcept
static Steinberg::Vst::Event createCtrlPolyPressureEvent (const MidiMessage &msg) noexcept
static Steinberg::Vst::Event createPitchWheelEvent (const MidiMessage &msg) noexcept
static Steinberg::Vst::Event createProgramChangeEvent (const MidiMessage &msg) noexcept
static Steinberg::Vst::Event createCtrlQuarterFrameEvent (const MidiMessage &msg) noexcept
static Optional< Steinberg::Vst::EventcreateVstEvent (const MidiMessage &msg, const uint8 *midiEventData, EventConversionKind kind) noexcept
static Optional< MidiMessagetoMidiMessage (const Steinberg::Vst::LegacyMIDICCOutEvent &e)
static Optional< MidiMessagetoMidiMessage (const Steinberg::Vst::Event &e)
static Optional< Vst3MidiControlEventtoVst3ControlEvent (const MidiMessage &msg)

Private Attributes

Array< Steinberg::Vst::Event, CriticalSectionevents
Atomic< intrefCount

Additional Inherited Members

Static Public Attributes inherited from Steinberg::Vst::IEventList
static const FUID iid
Static Public Attributes inherited from Steinberg::FUnknown
static const FUID iid

Member Enumeration Documentation

◆ EventConversionKind

enum class juce::MidiEventList::EventConversionKind
strongprivate
Enumerator
hostToPlugin 
pluginToHost 

Constructor & Destructor Documentation

◆ MidiEventList()

juce::MidiEventList::MidiEventList ( )
default

◆ ~MidiEventList()

virtual juce::MidiEventList::~MidiEventList ( )
virtualdefault

Member Function Documentation

◆ addEvent()

Steinberg::tresult PLUGIN_API juce::MidiEventList::addEvent ( Steinberg::Vst::Event & e)
inlineoverridevirtual

Adds a new event.

Implements Steinberg::Vst::IEventList.

◆ clear()

◆ createChannelPressureEvent()

Steinberg::Vst::Event juce::MidiEventList::createChannelPressureEvent ( const MidiMessage & msg)
inlinestaticprivatenoexcept

◆ createControllerEvent()

Steinberg::Vst::Event juce::MidiEventList::createControllerEvent ( const MidiMessage & msg)
inlinestaticprivatenoexcept

◆ createCtrlPolyPressureEvent()

Steinberg::Vst::Event juce::MidiEventList::createCtrlPolyPressureEvent ( const MidiMessage & msg)
inlinestaticprivatenoexcept

◆ createCtrlQuarterFrameEvent()

Steinberg::Vst::Event juce::MidiEventList::createCtrlQuarterFrameEvent ( const MidiMessage & msg)
inlinestaticprivatenoexcept

◆ createLegacyMIDIEvent()

Steinberg::Vst::Event juce::MidiEventList::createLegacyMIDIEvent ( int channel,
int controlNumber,
int value,
int value2 = 0 )
inlinestaticprivate

◆ createNoteOffEvent()

Steinberg::Vst::Event juce::MidiEventList::createNoteOffEvent ( const MidiMessage & msg)
inlinestaticprivatenoexcept

◆ createNoteOnEvent()

Steinberg::Vst::Event juce::MidiEventList::createNoteOnEvent ( const MidiMessage & msg)
inlinestaticprivatenoexcept

◆ createPitchWheelEvent()

Steinberg::Vst::Event juce::MidiEventList::createPitchWheelEvent ( const MidiMessage & msg)
inlinestaticprivatenoexcept

◆ createPolyPressureEvent()

Steinberg::Vst::Event juce::MidiEventList::createPolyPressureEvent ( const MidiMessage & msg)
inlinestaticprivate

◆ createProgramChangeEvent()

Steinberg::Vst::Event juce::MidiEventList::createProgramChangeEvent ( const MidiMessage & msg)
inlinestaticprivatenoexcept

◆ createSafeChannel() [1/2]

Steinberg::int16 juce::MidiEventList::createSafeChannel ( int channel)
inlinestaticprivatenoexcept

◆ createSafeChannel() [2/2]

int juce::MidiEventList::createSafeChannel ( Steinberg::int16 channel)
inlinestaticprivatenoexcept

◆ createSafeNote() [1/2]

Steinberg::int16 juce::MidiEventList::createSafeNote ( int note)
inlinestaticprivatenoexcept

◆ createSafeNote() [2/2]

int juce::MidiEventList::createSafeNote ( Steinberg::int16 note)
inlinestaticprivatenoexcept

◆ createSysExEvent()

Steinberg::Vst::Event juce::MidiEventList::createSysExEvent ( const MidiMessage & msg,
const uint8 * midiEventData )
inlinestaticprivatenoexcept

◆ createVstEvent()

Optional< Steinberg::Vst::Event > juce::MidiEventList::createVstEvent ( const MidiMessage & msg,
const uint8 * midiEventData,
EventConversionKind kind )
inlinestaticprivatenoexcept

◆ denormaliseToMidiValue()

int juce::MidiEventList::denormaliseToMidiValue ( float value)
inlinestaticprivatenoexcept

◆ getEvent()

Steinberg::tresult PLUGIN_API juce::MidiEventList::getEvent ( Steinberg::int32 index,
Steinberg::Vst::Event & e )
inlineoverridevirtual

Gets parameter by index.

Implements Steinberg::Vst::IEventList.

◆ getEventCount()

Steinberg::int32 PLUGIN_API juce::MidiEventList::getEventCount ( )
inlineoverridevirtual

Returns the count of events.

Implements Steinberg::Vst::IEventList.

◆ hostToPluginEventList()

template<typename Callback>
void juce::MidiEventList::hostToPluginEventList ( Steinberg::Vst::IEventList & result,
MidiBuffer & midiBuffer,
StoredMidiMapping & mapping,
Callback && callback )
inlinestatic

◆ normaliseMidiValue()

float juce::MidiEventList::normaliseMidiValue ( int value)
inlinestaticprivatenoexcept

◆ pluginToHostEventList()

void juce::MidiEventList::pluginToHostEventList ( Steinberg::Vst::IEventList & result,
MidiBuffer & midiBuffer )
inlinestatic

◆ processMidiMessage()

template<typename Callback>
void juce::MidiEventList::processMidiMessage ( Steinberg::Vst::IEventList & result,
const MidiMessageMetadata metadata,
StoredMidiMapping * midiMapping,
Callback && callback )
inlinestaticprivate

◆ sendMappedParameter()

template<typename Callback>
bool juce::MidiEventList::sendMappedParameter ( const MidiMessage & msg,
StoredMidiMapping * midiMapping,
Callback && callback )
inlinestaticprivate

◆ toEventList()

template<typename Callback>
void juce::MidiEventList::toEventList ( Steinberg::Vst::IEventList & result,
MidiBuffer & midiBuffer,
StoredMidiMapping * midiMapping,
Callback && callback )
inlinestaticprivate

◆ toMidiBuffer()

void juce::MidiEventList::toMidiBuffer ( MidiBuffer & result,
Steinberg::Vst::IEventList & eventList )
inlinestatic

◆ toMidiMessage() [1/2]

Optional< MidiMessage > juce::MidiEventList::toMidiMessage ( const Steinberg::Vst::Event & e)
inlinestaticprivate

◆ toMidiMessage() [2/2]

Optional< MidiMessage > juce::MidiEventList::toMidiMessage ( const Steinberg::Vst::LegacyMIDICCOutEvent & e)
inlinestaticprivate

◆ toVst3ControlEvent()

Optional< Vst3MidiControlEvent > juce::MidiEventList::toVst3ControlEvent ( const MidiMessage & msg)
inlinestaticprivate

Member Data Documentation

◆ events

Array<Steinberg::Vst::Event, CriticalSection> juce::MidiEventList::events
private

◆ refCount

Atomic<int> juce::MidiEventList::refCount
private

The documentation for this class was generated from the following file: