Skip to content

Arduino MIDI Library v4.2

Choose a tag to compare
@franky47 franky47 released this 11 Jun 09:09
· 289 commits to master since this release


  • Fix bug when receiving large SysEx messages - Issue #22
  • Fix Thru bug - Issue #13
  • Removed preprocessor-based settings, replaced by an overridable template-based struct. This allows to change settings without editing the library code.



The default MIDI object has been removed, so you will need to create it using one of the following macros:

For straightforward compatibility with sketches written with v4.1 and older:


To specify which serial port to use:

MIDI_CREATE_INSTANCE(HardwareSerial, Serial2, MIDI);

To override settings - see

struct MySettings : public midi::DefaultSettings
   static const bool UseRunningStatus = false; // Messes with my old equipment!

MIDI_CREATE_CUSTOM_INSTANCE(HardwareSerial, Serial, MIDI, MySettings);

SysEx Callback

The SysEx callback has a new signature:

void handleSysEx(byte* data, unsigned size);

This fixes a bug when receiving SysEx messages larger than 255 bytes.