Arduino MIDI Library  Version 4.3.1
Message< SysExMaxSize > Struct Template Reference

#include <midi_Message.h>

Public Member Functions

 Message ()
 
unsigned getSysExSize () const
 

Public Attributes

Channel channel
 
MidiType type
 
DataByte data1
 
DataByte data2
 
DataByte sysexArray [sSysExMaxSize]
 
bool valid
 

Static Public Attributes

static const unsigned sSysExMaxSize = SysExMaxSize
 

Detailed Description

template<unsigned SysExMaxSize>
struct Message< SysExMaxSize >

The Message structure contains decoded data of a MIDI message read from the serial port with read()

Definition at line 39 of file midi_Message.h.

Constructor & Destructor Documentation

§ Message()

template<unsigned SysExMaxSize>
Message< SysExMaxSize >::Message ( )
inline

Default constructor
Initializes the attributes with their default values.

Definition at line 44 of file midi_Message.h.

45  : channel(0)
47  , data1(0)
48  , data2(0)
49  , valid(false)
50  {
51  memset(sysexArray, 0, sSysExMaxSize * sizeof(DataByte));
52  }
DataByte data1
Definition: midi_Message.h:71
static const unsigned sSysExMaxSize
Definition: midi_Message.h:56
DataByte data2
Definition: midi_Message.h:77
MidiType type
Definition: midi_Message.h:66
DataByte sysexArray[sSysExMaxSize]
Definition: midi_Message.h:83
For notifying errors.
Definition: midi_Defs.h:67
byte DataByte
Definition: midi_Defs.h:58
bool valid
Definition: midi_Message.h:89
Channel channel
Definition: midi_Message.h:61

Member Function Documentation

§ getSysExSize()

template<unsigned SysExMaxSize>
unsigned Message< SysExMaxSize >::getSysExSize ( ) const
inline

Definition at line 91 of file midi_Message.h.

92  {
93  const unsigned size = unsigned(data2) << 8 | data1;
94  return size > sSysExMaxSize ? sSysExMaxSize : size;
95  }
DataByte data1
Definition: midi_Message.h:71
static const unsigned sSysExMaxSize
Definition: midi_Message.h:56
DataByte data2
Definition: midi_Message.h:77

Member Data Documentation

§ channel

template<unsigned SysExMaxSize>
Channel Message< SysExMaxSize >::channel

The MIDI channel on which the message was recieved.
Value goes from 1 to 16.

Definition at line 61 of file midi_Message.h.

§ data1

template<unsigned SysExMaxSize>
DataByte Message< SysExMaxSize >::data1

The first data byte.
Value goes from 0 to 127.

Definition at line 71 of file midi_Message.h.

§ data2

template<unsigned SysExMaxSize>
DataByte Message< SysExMaxSize >::data2

The second data byte. If the message is only 2 bytes long, this one is null.
Value goes from 0 to 127.

Definition at line 77 of file midi_Message.h.

§ sSysExMaxSize

template<unsigned SysExMaxSize>
const unsigned Message< SysExMaxSize >::sSysExMaxSize = SysExMaxSize
static

The maximum size for the System Exclusive array.

Definition at line 56 of file midi_Message.h.

§ sysexArray

template<unsigned SysExMaxSize>
DataByte Message< SysExMaxSize >::sysexArray[sSysExMaxSize]

System Exclusive dedicated byte array.
Array length is stocked on 16 bits, in data1 (LSB) and data2 (MSB)

Definition at line 83 of file midi_Message.h.

§ type

template<unsigned SysExMaxSize>
MidiType Message< SysExMaxSize >::type

The type of the message (see the MidiType enum for types reference)

Definition at line 66 of file midi_Message.h.

§ valid

template<unsigned SysExMaxSize>
bool Message< SysExMaxSize >::valid

This boolean indicates if the message is valid or not. There is no channel consideration here, validity means the message respects the MIDI norm.

Definition at line 89 of file midi_Message.h.


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