|
5 | 5 | [](https://github.com/FortySevenEffects/arduino_midi_library/releases/latest) |
6 | 6 | [](LICENSE) |
7 | 7 |
|
8 | | -This library enables MIDI I/O communications on the Arduino serial ports. |
| 8 | +This library adds MIDI I/O communications to an Arduino board. |
9 | 9 |
|
10 | 10 | ### Features |
11 | 11 |
|
| 12 | +- **New** : USB MIDI Device support with [`MIDIUSB`](https://github.com/arduino-libraries/MIDIUSB). |
12 | 13 | - Compatible with all Arduino boards (and clones with an AVR processor). |
13 | 14 | - Simple and fast way to send and receive every kind of MIDI message (including all System messages, SysEx, Clock, etc..). |
14 | 15 | - OMNI input reading (read all channels). |
15 | 16 | - Software Thru, with message filtering. |
16 | 17 | - [Callbacks](https://github.com/FortySevenEffects/arduino_midi_library/wiki/Using-Callbacks) to handle input messages more easily. |
17 | 18 | - Last received message is saved until a new one arrives. |
18 | 19 | - Configurable: [overridable template-based settings](https://github.com/FortySevenEffects/arduino_midi_library/wiki/Using-custom-Settings). |
19 | | -- Create more than one MIDI port for mergers/splitters applications. |
| 20 | +- Create more than one MIDI interface for mergers/splitters applications. |
20 | 21 | - Use any serial port, hardware or software. |
21 | 22 |
|
22 | 23 | ### Getting Started |
23 | 24 |
|
24 | | -1. Use Arduino's Library Manager to install the library. |
| 25 | +1. Use the Arduino Library Manager to install the library. |
25 | 26 |  |
26 | 27 |
|
27 | 28 | 2. Start coding: |
28 | 29 |
|
29 | | - ```c++ |
30 | | - #include <MIDI.h> |
| 30 | +```c++ |
| 31 | +#include <MIDI.h> |
31 | 32 |
|
32 | | - // Created and binds the MIDI interface to the default hardware Serial port |
33 | | - MIDI_CREATE_DEFAULT_INSTANCE(); |
| 33 | +// Create and bind the MIDI interface to the default hardware Serial port |
| 34 | +MIDI_CREATE_DEFAULT_INSTANCE(); |
34 | 35 |
|
35 | | - void setup() |
36 | | - { |
37 | | - MIDI.begin(MIDI_CHANNEL_OMNI); // Listen to all incoming messages |
38 | | - } |
| 36 | +void setup() |
| 37 | +{ |
| 38 | + MIDI.begin(MIDI_CHANNEL_OMNI); // Listen to all incoming messages |
| 39 | +} |
39 | 40 |
|
40 | | - void loop() |
41 | | - { |
42 | | - // Send note 42 with velocity 127 on channel 1 |
43 | | - MIDI.sendNoteOn(42, 127, 1); |
| 41 | +void loop() |
| 42 | +{ |
| 43 | + // Send note 42 with velocity 127 on channel 1 |
| 44 | + MIDI.sendNoteOn(42, 127, 1); |
44 | 45 |
|
45 | | - // Read incoming messages |
46 | | - MIDI.read(); |
47 | | - } |
48 | | - ``` |
| 46 | + // Read incoming messages |
| 47 | + MIDI.read(); |
| 48 | +} |
| 49 | +``` |
49 | 50 |
|
50 | 51 | 3. Read the [documentation](#documentation) or watch the awesome video tutorials from [Notes & Volts](https://www.youtube.com/playlist?list=PL4_gPbvyebyH2xfPXePHtx8gK5zPBrVkg). |
51 | 52 |
|
|
0 commit comments