+package kaka.cakelight;
+
+public class SmoothVideoMode extends VideoMode {
+ private LedFrame frame;
+ private int ledCount;
+
+ @Override
+ public void enter(Configuration config) {
+ super.enter(config);
+ frame = LedFrame.from(config);
+ ledCount = config.leds.getCount();
+ }
+
+ @Override
+ public void updateWithFrame(LedFrame frame) {
+ super.updateWithFrame(smooth(frame));
+ }
+
+ private LedFrame smooth(LedFrame f) {
+ for (int i = 0; i < ledCount; i++) {
+ Color c = frame.getLedColor(i).interpolate(f.getLedColor(i), 0.5);
+ frame.setLedColor(i, c);
+ }
+ return frame;
+ }
+}