Control Surface new-input
MIDI Control Surface library for Arduino
Public Member Functions | Public Attributes | List of all members
MIDIMessage Struct Reference

#include <MIDI_Parsers/MIDI_MessageTypes.hpp>

Detailed Description

Definition at line 85 of file MIDI_MessageTypes.hpp.

+ Inheritance diagram for MIDIMessage:
+ Collaboration diagram for MIDIMessage:

Public Member Functions

 MIDIMessage (uint8_t header, uint8_t data1, uint8_t data2, Cable cable=CABLE_1)
 Constructor.
 
 MIDIMessage (MIDIMessageType header, uint8_t data1, uint8_t data2, Cable cable=CABLE_1)
 Constructor.
 
bool operator== (MIDIMessage other) const
 Check for equality.
 
bool operator!= (MIDIMessage other) const
 Check for inequality.
 
MIDIMessageType getMessageType () const
 Get the MIDI message type.
 
void setMessageType (MIDIMessageType type)
 Set the MIDI message type. More...
 
uint8_t getData1 () const
 Get the first data byte.
 
uint8_t getData2 () const
 Get the second data byte.
 
void setData1 (uint8_t data)
 Set the first data byte.
 
void setData2 (uint8_t data)
 Set the second data byte.
 
Cable getCable () const
 Get the MIDI USB cable number of the message.
 
void setCable (Cable cable)
 Set the MIDI USB cable number of the message.
 
bool hasValidChannelMessageHeader () const
 Check whether the header is a valid header for a channel message.
 
bool hasValidSystemCommonHeader () const
 Check whether the header is a valid header for a System Common message. More...
 
uint16_t getData14bit () const
 If Data 1 and Data 2 represent a single 14-bit number, you can use this method to retrieve that number.
 
void setData14bit (uint16_t data)
 If Data 1 and Data 2 represent a single 14-bit number, you can use this method to set that number.
 
void sanitize ()
 Make sure that the status byte has the most significant bit set and the data bytes have the most significant bits cleared.
 

Public Attributes

uint8_t header
 MIDI status byte (message type and channel).
 
uint8_t data1
 First MIDI data byte.
 
uint8_t data2
 First MIDI data byte.
 
Cable cable
 USB MIDI cable number;.
 

Member Function Documentation

◆ setMessageType()

void setMessageType ( MIDIMessageType  type)
inline

Set the MIDI message type.

Note
Do not use this version for Channel Messages, it doesn't correctly handle the channel.

Definition at line 121 of file MIDI_MessageTypes.hpp.

◆ hasValidSystemCommonHeader()

bool hasValidSystemCommonHeader ( ) const
inline

Check whether the header is a valid header for a System Common message.

Note
SysExEnd is considered a System Common message by the MIDI Standard, SysExStart is not.
Reserved System Common messages are also considered valid System Common messages.

Definition at line 150 of file MIDI_MessageTypes.hpp.


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