Personal Mirror
Go to file
Francois Best 3a31a366e4 Changed def to match updates to cake library (FortySevenEffects/cake) 2017-01-07 14:40:27 +01:00
.vscode Enabled CMake target debugging. 2016-10-07 09:12:48 +02:00
builder Set warnings for all build modes. 2016-10-27 08:11:03 +02:00
doc Updated doc and tag URL. 2016-11-04 10:53:54 +01:00
examples Add dep to MidiUSB for specific example & guards for non-usb boards. 2016-11-02 00:05:27 +01:00
external Added MIDIUSB Arduino lib as a submodule. 2016-10-10 16:57:15 +02:00
res Reworked packaging script. 2016-10-13 19:35:01 +02:00
src Changed def to match updates to cake library (FortySevenEffects/cake) 2017-01-07 14:40:27 +01:00
test Fix tests. 2016-11-02 09:13:11 +01:00
.gitignore This file is generated when CMake config changes. 2016-10-03 21:40:21 -07:00
.gitmodules Added MIDIUSB Arduino lib as a submodule. 2016-10-10 16:57:15 +02:00
.travis.yml Teensy does not handle Arduino's USB api. 2016-11-02 09:17:39 +01:00
CMakeLists.txt Moved stuff to builder. Added code coverage. 2016-10-08 02:36:15 +02:00
CONTRIBUTING.md Added contributing guidelines (wip). 2016-10-08 02:36:24 +02:00
LICENSE Added badges and license file. 2016-10-03 12:04:44 -07:00
README.md Maintaining only one doc location. 2016-11-02 20:22:23 +01:00
ReleaseNotes.md Updated readme. 2016-11-02 10:01:33 +01:00
keywords.txt Added Thru definition. 2016-11-02 20:12:04 +01:00
library.json Fix library manifest for @PlatformIO 2016-11-04 13:45:47 +02:00
library.properties Bumped version to 4.3.1, fixing Arduino lib file. 2016-11-04 10:53:18 +01:00

README.md

Arduino MIDI Library

Build Status Coveralls GitHub release License

This library enables MIDI I/O communications on the Arduino serial ports.

Features

  • 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 port for mergers/splitters applications.
  • Use any serial port, hardware or software.

Getting Started

  1. Use Arduino's Library Manager to install the library.

  2. Start coding:

     #include <MIDI.h>
    
     // Created and binds 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();
     }
    
  3. 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 get informations about bug fixes and updates on my twitter account: @fortysevenfx.

License

MIT © 2016 Francois Best