parent
2b31380ba8
commit
3d06d8fde5
82
README.md
82
README.md
|
|
@ -6,9 +6,6 @@
|
||||||
[](LICENSE)
|
[](LICENSE)
|
||||||
|
|
||||||
This library enables MIDI I/O communications on the Arduino serial ports.
|
This library enables MIDI I/O communications on the Arduino serial ports.
|
||||||
The purpose of this library is not to make a big synthesizer out of an Arduino board, the application remains yours. However, it will help you interfacing it with other MIDI devices.
|
|
||||||
|
|
||||||
Download the latest version [here](https://github.com/FortySevenEffects/arduino_midi_library/releases/latest).
|
|
||||||
|
|
||||||
### Features
|
### Features
|
||||||
* Compatible with all Arduino boards (and clones with an AVR processor).
|
* Compatible with all Arduino boards (and clones with an AVR processor).
|
||||||
|
|
@ -17,73 +14,48 @@ Download the latest version [here](https://github.com/FortySevenEffects/arduino_
|
||||||
* Software Thru, with message filtering.
|
* Software Thru, with message filtering.
|
||||||
* [Callbacks](http://playground.arduino.cc/Main/MIDILibraryCallbacks) to handle input messages more easily.
|
* [Callbacks](http://playground.arduino.cc/Main/MIDILibraryCallbacks) to handle input messages more easily.
|
||||||
* Last received message is saved until a new one arrives.
|
* Last received message is saved until a new one arrives.
|
||||||
* Configurable: [overridable template-based settings](http://arduinomidilib.fortyseveneffects.com/a00013.html#details).
|
* Configurable: [overridable template-based settings](https://github.com/FortySevenEffects/arduino_midi_library/wiki/Using-custom-Settings).
|
||||||
* Create more than one MIDI port for mergers/splitters applications.
|
* Create more than one MIDI port for mergers/splitters applications.
|
||||||
* Use any serial port, hardware or software.
|
* Use any serial port, hardware or software.
|
||||||
|
|
||||||
|
### Getting Started
|
||||||
|
|
||||||
#### Changelog
|
1. Use Arduino's Library Manager to install the library.
|
||||||
* 11/06/2014 : Version 4.2 released. Bug fix for SysEx, overridable template settings.
|
2. Start coding:
|
||||||
* 16/04/2014 : Version 4.1 released. Bug fixes regarding running status.
|
```c++
|
||||||
* 13/02/2014 : Version 4.0 released. Moved to GitHub, added multiple instances & software serial support, and a few bug fixes.
|
#include <MIDI.h>
|
||||||
* 29/01/2012 : Version 3.2 released. Release notes are [here](http://sourceforge.net/news/?group_id=265194).
|
|
||||||
* 06/05/2011 : Version 3.1 released. Added [callback](http://playground.arduino.cc/Main/MIDILibraryCallbacks) support.
|
|
||||||
* 06/03/2011 : Version 3.0 released. Project is now hosted on [SourceForge](http://sourceforge.net/projects/arduinomidilib).
|
|
||||||
* 14/12/2009 : Version 2.5 released.
|
|
||||||
* 28/07/2009 : Version 2.0 released.
|
|
||||||
* 28/03/2009 : Simplified version of MIDI.begin, Fast mode is now on by default.
|
|
||||||
* 08/03/2009 : Thru method operational. Added some features to enable thru.
|
|
||||||
|
|
||||||
|
// 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
|
||||||
|
}
|
||||||
|
|
||||||
**__Warning: this library requires Arduino 1.0 or more recent versions.__**
|
void loop()
|
||||||
|
{
|
||||||
|
// Send note 42 with velocity 127 on channel 1
|
||||||
|
MIDI.sendNoteOn(42, 127, 1);
|
||||||
|
|
||||||
|
// Read incoming messages
|
||||||
|
MIDI.read();
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
### What do I need to do?
|
3. Read the [documentation](#documentation) or watch the awesome video tutorials from [Notes & Volts](https://www.youtube.com/playlist?list=PL4_gPbvyebyH2xfPXePHtx8gK5zPBrVkg).
|
||||||
|
|
||||||
* Download the library ([link](https://github.com/FortySevenEffects/arduino_midi_library/releases/latest)).
|
## Documentation
|
||||||
* Follow the installation instructions - http://arduino.cc/en/Guide/Libraries.
|
|
||||||
* Include the library in your sketch using the menu in the IDE, or type `#include <MIDI.h>`
|
|
||||||
* Create the MIDI instance using `MIDI_CREATE_DEFAULT_INSTANCE();` or take a look at the documentation for custom serial port, settings etc..
|
|
||||||
|
|
||||||
You are now ready to use the library. Look at the documentation to learn how to use it, or checkout the examples installed with the Library.
|
|
||||||
You can also watch the awesome video tutorials from [Notes & Volts](https://www.youtube.com/playlist?list=PL4_gPbvyebyH2xfPXePHtx8gK5zPBrVkg).
|
|
||||||
|
|
||||||
|
|
||||||
##Documentation
|
|
||||||
|
|
||||||
See the extended documentation [here](http://arduinomidilib.fortyseveneffects.com) ([Mirror](http://fortyseveneffects.github.io/arduino_midi_library/)).
|
|
||||||
|
|
||||||
### Using MIDI.begin
|
|
||||||
|
|
||||||
In the `setup()` function of the Arduino, you must call the `MIDI.begin()` method. If you don't give any argument to this method, the input channel for MIDI in will be set to 1 (channels are going from 1 to 16, plus `MIDI_CHANNEL_OMNI to listen to all channels at the same time).
|
|
||||||
|
|
||||||
This method will:
|
|
||||||
* Start the serial port at the MIDI baudrate (31250).
|
|
||||||
* Set the input channel at the argument given (if any, else 1).
|
|
||||||
* Enable Soft Thru, without filtering (everything at the input is sent back).
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### MIDI Thru
|
|
||||||
|
|
||||||
The MIDI Thru allows you to redirect your incoming messages to the MIDI output. It replaces the need of a MIDI Thru connector, as it copies every valid incoming message from the input. For good performance, you might want to call read() in a fast loop, for low latency.
|
|
||||||
|
|
||||||
Incoming unread bytes/messages are kept in the Arduino serial buffer, in order not to flood it, check regularily with MIDI.read. See the documentation for Thru explanations.
|
|
||||||
|
|
||||||
Thru is enabled by default, you can turn it off using appropriate methods.
|
|
||||||
|
|
||||||
|
|
||||||
### Hardware
|
|
||||||
|
|
||||||
Take a look at [the MIDI.org schematic](http://www.midi.org/techspecs/electrispec.php).
|
|
||||||
|
|
||||||
|
- [Doxygen Extended Documentation](http://arduinomidilib.fortyseveneffects.com) ([Mirror](http://fortyseveneffects.github.io/arduino_midi_library/)).
|
||||||
|
- [GitHub wiki](https://github.com/FortySevenEffects/arduino_midi_library/wiki).
|
||||||
|
|
||||||
## Contact
|
## Contact
|
||||||
if you have any comment or support request to make, feel free to contact me: francois.best@fortyseveneffects.com
|
|
||||||
|
To report a bug, contribute, discuss on usage, or simply request support, please [create an issue here](https://github.com/FortySevenEffects/arduino_midi_library/issues/new).
|
||||||
|
|
||||||
You can also get informations about bug fixes and updates on my twitter account: [@fortysevenfx](http://twitter.com/fortysevenfx).
|
You can also get informations about bug fixes and updates on my twitter account: [@fortysevenfx](http://twitter.com/fortysevenfx).
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
MIT © 2015 [Francois Best](http://fortyseveneffects.com)
|
MIT © 2016 [Francois Best](http://fortyseveneffects.com)
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
#### Changelog
|
||||||
|
* 11/06/2014 : Version 4.2 released. Bug fix for SysEx, overridable template settings.
|
||||||
|
* 16/04/2014 : Version 4.1 released. Bug fixes regarding running status.
|
||||||
|
* 13/02/2014 : Version 4.0 released. Moved to GitHub, added multiple instances & software serial support, and a few bug fixes.
|
||||||
|
* 29/01/2012 : Version 3.2 released. Release notes are [here](http://sourceforge.net/news/?group_id=265194).
|
||||||
|
* 06/05/2011 : Version 3.1 released. Added [callback](http://playground.arduino.cc/Main/MIDILibraryCallbacks) support.
|
||||||
|
* 06/03/2011 : Version 3.0 released. Project is now hosted on [SourceForge](http://sourceforge.net/projects/arduinomidilib).
|
||||||
|
* 14/12/2009 : Version 2.5 released.
|
||||||
|
* 28/07/2009 : Version 2.0 released.
|
||||||
|
* 28/03/2009 : Simplified version of MIDI.begin, Fast mode is now on by default.
|
||||||
|
* 08/03/2009 : Thru method operational. Added some features to enable thru.
|
||||||
Loading…
Reference in New Issue