Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::midi::MidiControlBus Class Reference

#include <midi_control_bus.hpp>

Public Member Functions

bool send (const MidiEvent &event)
 UI thread: queue a MIDI event for the audio thread to emit.
bool send_cc (uint8_t channel, uint8_t cc, uint8_t value)
 Convenience senders (UI thread).
bool send_note_on (uint8_t channel, uint8_t note, uint8_t velocity)
bool send_note_off (uint8_t channel, uint8_t note)
void drain_into (MidiBuffer &out)
 Audio thread: drain every queued event into out (sample offset 0).
template<typename Fn>
void drain (Fn &&sink)
 Audio thread: drain into an arbitrary sink void(const MidiEvent&).

Member Function Documentation

◆ drain()

template<typename Fn>
void pulp::midi::MidiControlBus::drain ( Fn && sink)
inline

Audio thread: drain into an arbitrary sink void(const MidiEvent&).

◆ drain_into()

void pulp::midi::MidiControlBus::drain_into ( MidiBuffer & out)
inline

Audio thread: drain every queued event into out (sample offset 0).

Call once at the top of process(). RT-safe.

◆ send()

bool pulp::midi::MidiControlBus::send ( const MidiEvent & event)
inline

UI thread: queue a MIDI event for the audio thread to emit.

Returns false if the queue is momentarily full (event dropped).

◆ send_cc()

bool pulp::midi::MidiControlBus::send_cc ( uint8_t channel,
uint8_t cc,
uint8_t value )
inline

Convenience senders (UI thread).

◆ send_note_off()

bool pulp::midi::MidiControlBus::send_note_off ( uint8_t channel,
uint8_t note )
inline

◆ send_note_on()

bool pulp::midi::MidiControlBus::send_note_on ( uint8_t channel,
uint8_t note,
uint8_t velocity )
inline

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