     switch (state) {
       case PLAY_SELECTED:
       case PLAY_PAUSED:
-        Serial.print("Stopped #"); Serial.println(playingAlbum);
+        Serial.print(F("Stopped #")); Serial.println(playingAlbum);
         blinkLED(BLUE_LED_PIN);
         stopPlaying();
         onStopPlaying();

  blinkSelected(playingAlbum);
  openNewAlbum(playingAlbum);
  if (playNextTrack()) {
    Serial.print("Playing album #"); Serial.println(playingAlbum);
    state = PLAY_SELECTED;
  } else {
    Serial.print("Failed album #"); Serial.println(playingAlbum);
    onStopPlaying();
  }
}

void onTryNextTrack() {
  if (playNextTrack()) {
    Serial.print("Playing next track album #"); Serial.println(playingAlbum);
    blinkSelected(playingAlbum);
    state = PLAY_SELECTED;
  } else {
    Serial.print("Ended album #"); Serial.println(playingAlbum);
    onStopPlaying();
  }
}

void onPause(bool pause) {
  if (pause) {
    Serial.println("Pause");
    trellis.blinkRate(HT16K33_BLINK_HALFHZ);
    player.pausePlaying(true);
    enableAmplifier(false);
    nextTimeoutTick = millis() + PAUSE_TIMEOUT;
    state = PLAY_PAUSED;
  } else {
    Serial.println("Resume");
    trellis.blinkRate(HT16K33_BLINK_1HZ);
    enableAmplifier(!headphone);
    player.pausePlaying(false);


boolean openNewAlbum(byte index) {
  int albumNr = index + 1;
  String albumTemplate = F("ALBUM");
  String albumName = albumTemplate + albumNr;
  if (album && album.isDirectory()) album.close();
  album = SD.open(albumName);
