Personal Mirror
Go to file
lathoub 0d596066b4 added support for receiving SysEx command segments
Very long SysEx mesaages are cut in to multiple command segments
Where a normal SysEx starts with F0 and ends with F7, the first segment will start with F0 and end with F0, the middle section (optional) start with F7 and ends with F7 - the last segments starts with F7 and ends with F0
2020-02-10 15:04:45 +01:00
.vscode chore: Config file update 2018-11-07 12:09:47 +01:00
builder feat: Increase warning level for sources 2018-03-10 17:44:16 +01:00
doc doc: Note the importance of Running Status being disabled for USB 2018-11-04 14:17:30 +01:00
examples feat: Add MIDI USB test sketches 2018-11-06 16:55:51 +01:00
external stuff to ignore list 2019-08-18 11:38:46 +02:00
res Added library manager screenshot 2017-08-25 15:29:07 +02:00
src added support for receiving SysEx command segments 2020-02-10 15:04:45 +01:00
test cleanup: Dedupe RingBuffer implementation in mocks 2018-11-07 12:08:12 +01:00
.editorconfig chore: Add VSCode config files & editor settings 2018-10-11 10:32:26 +02:00
.gitignore added support for ActiveSensing 2020-01-26 11:05:10 +01:00
.gitmodules fix: Point back to original MIDIUSB repo 2018-11-06 12:47:26 +01:00
.travis.yml fix: Test examples in CI 2018-11-06 16:58:05 +01:00
CMakeLists.txt Moved stuff to builder. Added code coverage. 2016-10-08 02:36:15 +02:00
CONTRIBUTING.md fix: correct sequence of commands for submodules 2017-10-08 09:49:36 +02:00
LICENSE Added badges and license file. 2016-10-03 12:04:44 -07:00
README.md doc: Update Readme 2018-11-07 12:09:37 +01:00
ReleaseNotes.md Updated readme. 2016-11-02 10:01:33 +01:00
keywords.txt Use correct separator in keywords.txt 2017-12-13 14:56:35 -08:00
library.json chore: Bump version to 4.4.0 2018-03-10 15:44:46 +01:00
library.properties chore: Bump version to 4.4.0 2018-03-10 15:44:46 +01:00

README.md

Arduino MIDI Library

Build Status Coveralls GitHub release License

This library adds MIDI I/O communications to an Arduino board.

Features

  • New : USB MIDI Device support with MIDIUSB.
  • Compatible with all Arduino boards (and clones with an AVR processor).
  • Simple and fast way to send and receive every kind of MIDI message (including all System messages, SysEx, Clock, etc..).
  • OMNI input reading (read all channels).
  • Software Thru, with message filtering.
  • Callbacks to handle input messages more easily.
  • Last received message is saved until a new one arrives.
  • Configurable: overridable template-based settings.
  • Create more than one MIDI interface for mergers/splitters applications.
  • Use any serial port, hardware or software.

Getting Started

  1. Use the Arduino Library Manager to install the library. Type "MIDI" in the Arduino IDE Library Manager

  2. Start coding:

#include <MIDI.h>

// Create and bind the MIDI interface to the default hardware Serial port
MIDI_CREATE_DEFAULT_INSTANCE();

void setup()
{
    MIDI.begin(MIDI_CHANNEL_OMNI);  // Listen to all incoming messages
}

void loop()
{
    // Send note 42 with velocity 127 on channel 1
    MIDI.sendNoteOn(42, 127, 1);

    // Read incoming messages
    MIDI.read();
}
  1. Read the documentation or watch the awesome video tutorials from Notes & Volts.

Documentation

Contact

To report a bug, contribute, discuss on usage, or simply request support, please create an issue here.

You can also contact me on Twitter: @fortysevenfx.

License

MIT © 2009 - present Francois Best