10 const static char NoteOff[] PROGMEM = 
"Note Off        ";
 
   11 const static char NoteOn[] PROGMEM = 
"Note On         ";
 
   16 const static char PitchBend[] PROGMEM = 
"Pitch Bend      ";
 
   19     reinterpret_cast<const __FlashStringHelper *>(
NoteOff),
 
   20     reinterpret_cast<const __FlashStringHelper *>(
NoteOn),
 
   21     reinterpret_cast<const __FlashStringHelper *>(
KeyPressure),
 
   25     reinterpret_cast<const __FlashStringHelper *>(
PitchBend),
 
   31     "Note Off\t",       
"Note On\t\t",      
"Key Pressure\t",
 
   32     "Control Change\t", 
"Program Change\t", 
"Channel Pressure",
 
   41     while (
stream.available() > 0) {
 
   62         } 
else if (!isxdigit(data) && 
firstChar) {
 
   78                                          uint8_t d2, uint8_t cn) {
 
   79     uint8_t messageType = (m >> 4) - 8;
 
   83            << 
F(
"\tChannel: ") << (c + 1) << 
F(
"\tData 1: 0x") << 
hex << d1
 
   84            << 
F(
"\tData 2: 0x") << d2 << 
dec << 
F(
"\tCable: ") << cn << 
endl;
 
   90     uint8_t messageType = (m >> 4) - 8;
 
   94            << 
F(
"\tChannel: ") << (c + 1) << 
F(
"\tData 1: 0x") << 
hex << d1
 
   95            << 
dec << 
F(
"\tCable: ") << cn << 
endl;
 
  103         stream << (*data++) << 
' ';
 
  104     stream << 
dec << 
F(
"\tCable: ") << cn << 
"\r\n";
 
  109     stream << 
F(
"Real-Time: 0x") << 
hex << rt << 
dec << 
F(
"\tCable: ") << cn