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
	
	 Francois Best
						Francois Best