       case NEXT_PART:
         handleNextPart(decoded + 4);
         break;
+      case SONG_SIGNATURE:
+        handleSongSignature(decoded + 4);
+        break;
     }
   }
 }

  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print(message);
}

void clearLine(byte line) {

boolean startedMidiNoteSending = false;

boolean playing = false;
byte numerator;
byte denominator;
byte bars;
double fullDenominator;

boolean nextPartScheduled = false;

boolean repeat = false;
elapsedMillis repeatEllapsed = 0;

void OnNoteOn(byte channel, byte note, byte velocity) {
  digitalWrite(ledPin, HIGH);
