Arduino MIDI Library  Version 4.3
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 40 of file midi_Message.h.

Constructor & Destructor Documentation

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

Default constructor
Initializes the attributes with their default values.

Definition at line 45 of file midi_Message.h.

46  : channel(0)
48  , data1(0)
49  , data2(0)
50  , valid(false)
51  {
52  memset(sysexArray, 0, sSysExMaxSize * sizeof(DataByte));
53  }
bool valid
Definition: midi_Message.h:90
DataByte sysexArray[sSysExMaxSize]
Definition: midi_Message.h:84
Channel channel
Definition: midi_Message.h:62
DataByte data2
Definition: midi_Message.h:78
MidiType type
Definition: midi_Message.h:67
DataByte data1
Definition: midi_Message.h:72
For notifying errors.
Definition: midi_Defs.h:68
static const unsigned sSysExMaxSize
Definition: midi_Message.h:57
byte DataByte
Definition: midi_Defs.h:59

Member Function Documentation

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

Definition at line 92 of file midi_Message.h.

93  {
94  const unsigned size = unsigned(data2) << 8 | data1;
95  return size > sSysExMaxSize ? sSysExMaxSize : size;
96  }
DataByte data2
Definition: midi_Message.h:78
DataByte data1
Definition: midi_Message.h:72
static const unsigned sSysExMaxSize
Definition: midi_Message.h:57

Member Data Documentation

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 62 of file midi_Message.h.

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

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

Definition at line 72 of file midi_Message.h.

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 78 of file midi_Message.h.

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

The maximum size for the System Exclusive array.

Definition at line 57 of file midi_Message.h.

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 84 of file midi_Message.h.

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

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

Definition at line 67 of file midi_Message.h.

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 90 of file midi_Message.h.


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