Libraries used by midiTemperament21.ino (not the commented out ones):

#include <MIDI.h>

// #include <LiquidCrystal440.h>

#include <LiquidCrystal.h>

// #include <LcdBarGraph.h> used by midiTranslator

#include <limits.h>

#include <Bounce.h>


limits.h is built into C++. It provides constants INT_MIN and INT_MAX in aStringToInt(String inString), used to range-check Terminal input. In C++ you have to convert strings to longs and then convert the longs to ints.


You may need to find a different Liquid Crystal Display library if these ones aren't compatible with your display (you don't need a display if you do everything via the Terminal.

The app was developed from midiTranslator.ino, which used LcdBarGraph.h.


MIDI.h has been modified as instructed. You can't easily change its name to show that it no longer has the default settings.

* http://www.arduino.cc/playground/Main/MIDILibrary with settings:



* #define COMPILE_MIDI_THRU       0    // Set this setting to 1 to use the MIDI Soft Thru feature


* #define USE_SERIAL_PORT         Serial1      // Serial(0) needed too; use Mega and snip two Serial pins of MIDI shield/breakout and leave shield/breakout switch in run position


* #define USE_RUNNING_STATUS		0	// Running status enables short messages when sending multiple values
 of the same type and channel. Set to 0 [2012-09-24]if you have troubles with controlling you hardware.


* #define USE_CALLBACKS           1           // Set this to 1 if you want to use callback handlers

* #define USE_1BYTE_PARSING       0           // [set to 0 2012-11-25] Each call to MIDI.read will only parse one byte (might be faster).

*