   sd.ls();
 
   nextFile();
+}
+
+#ifdef DEBUG
+void printSettingsIfDebug()
+{
+  Serial.print(F("\nMode: "));
+  Serial.print(Mode);
+  Serial.print(F(" Brightness: max "));
+  Serial.print(brightness);
+  Serial.print(F(" r "));
+  Serial.print(r_intensity.floor);
+  Serial.print(F("-"));
+  Serial.print(r_intensity.ceil);
+  Serial.print(F(" g "));
+  Serial.print(g_intensity.floor);
+  Serial.print(F("-"));
+  Serial.print(g_intensity.ceil);
+  Serial.print(F(" b "));
+  Serial.print(b_intensity.floor);
+  Serial.print(F("-"));
+  Serial.print(b_intensity.ceil);
+  Serial.print(F(" neg "));
+  Serial.print(negative);
+}
+#else
+inline void printSettingsIfDebug()
+{
+}
+#endif
+
+void resetDefaultSettings()
+{
+  r_intensity.reset();
+  g_intensity.reset();
+  b_intensity.reset();
+  brightness = 255;
+  negative = 0;
 }
 
 void handleRfRemoteButtons()

#include <SdFat.h>
#include <FAB_LED.h>

#define DEBUG 1

// ports used:
// digital 4 - SD card chip select

  }
}

bool readFrame()
{
  return infile.read(frame, sizeof(frame)) == sizeof(frame);
}

void adjustFrameColors()
{
  const uint8_t r_min_brightness = r_intensity.minBrightness();
  const uint8_t g_min_brightness = g_intensity.minBrightness();
  const uint8_t b_min_brightness = b_intensity.minBrightness();

  const uint8_t r_max_brightness = r_intensity.maxBrightness();
  const uint8_t g_max_brightness = g_intensity.maxBrightness();
  const uint8_t b_max_brightness = b_intensity.maxBrightness();

  for (auto & f : frame) {
    f.r = map(f.r, 0, 255, r_min_brightness, r_max_brightness);
    f.g = map(f.g, 0, 255, g_min_brightness, g_max_brightness);
    f.b = map(f.b, 0, 255, b_min_brightness, b_max_brightness);
  }
}

void loop()
{
  handleRfRemoteButtons();

  if (!readFrame()) {
    nextFile();
    return;
  }

  handleRfRemoteButtons();

  adjustFrameColors();

  while (millis() - startMillis < 49UL) {
    handleRfRemoteButtons();
  }

  while (millis() - startMillis < 50UL) {
