Skip to content

IMidiOutput

#include "crosspad/midi/IMidiOutput.hpp"

Generated from crosspad/midi/IMidiOutput.hpp in crosspad-core. Edit the header’s doxygen comments to change this page.

Recipes that use it: MIDI out, Motion and vibration

IMidiOutput & getMidiOutput()

Platform-injected singleton (same pattern as getEventBus())

Used in MIDI out, Motion and vibration.

Declared in crosspad/midi/IMidiOutput.hpp:56.

Abstract MIDI output interface.

Platform implementations inject callbacks via EspMidiOutput::setCallbacks() or provide a concrete subclass.

The 2-param sendNoteOn/Off are the required pure-virtual methods. The 3-param velocity-aware overloads and the additional message types have default implementations, so a subclass overrides only what it sends.

Used in MIDI out, Motion and vibration.

Members

MemberDescription
sendNoteOn
sendNoteOff
sendNoteOn
sendNoteOff
sendControlChange
sendAftertouch
sendProgramChange
sendPitchBend
sendSysExWhole frame including F0 and F7.

Methods

virtual void sendNoteOn(uint8_t note, uint8_t channel) = 0

Used in MIDI out.

virtual void sendNoteOff(uint8_t note, uint8_t channel) = 0

Used in MIDI out.

virtual void sendNoteOn(uint8_t note, uint8_t velocity, uint8_t channel)

Used in MIDI out.

virtual void sendNoteOff(uint8_t note, uint8_t velocity, uint8_t channel)

Used in MIDI out.

virtual void sendControlChange(uint8_t controller, uint8_t value, uint8_t channel)

Used in MIDI out, Motion and vibration.

virtual void sendAftertouch(uint8_t note, uint8_t pressure, uint8_t channel)
virtual void sendProgramChange(uint8_t program, uint8_t channel)
virtual void sendPitchBend(int16_t value, uint8_t channel)

Used in MIDI out.

virtual void sendSysEx(const uint8_t *frame, size_t len)

Whole frame including F0 and F7.

Default drops it: only the USB output talks to a host that speaks the CrossPad SysEx catalog.

Declared in crosspad/midi/IMidiOutput.hpp:17.