package kaka.cakelight;
+import kaka.cakelight.mode.Mode;
import org.jnativehook.GlobalScreen;
import org.jnativehook.NativeHookException;
import org.jnativehook.keyboard.NativeKeyAdapter;
package kaka.cakelight;
+import kaka.cakelight.mode.AmbientMode;
+import kaka.cakelight.mode.SingleColorMode;
+import kaka.cakelight.mode.VideoMode;
+
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import javafx.scene.paint.Color;
import javafx.scene.paint.Paint;
import javafx.stage.Stage;
+import kaka.cakelight.mode.AmbientMode;
import org.opencv.core.Core;
import org.opencv.core.Mat;
package kaka.cakelight;
+import kaka.cakelight.mode.AmbientMode;
+import kaka.cakelight.mode.SmoothVideoMode;
import org.opencv.core.Core;
import java.io.FileOutputStream;
-package kaka.cakelight;
+package kaka.cakelight.mode;
+import kaka.cakelight.Color;
+import kaka.cakelight.Configuration;
+import kaka.cakelight.LedFrame;
import kaka.cakelight.util.SimplexNoise3D;
public class AmbientMode extends Mode { // TODO split into DynamicAmbient and StaticAmbient?
-package kaka.cakelight;
+package kaka.cakelight.mode;
+
+import kaka.cakelight.Configuration;
+import kaka.cakelight.LedFrame;
import java.util.function.Consumer;
-package kaka.cakelight;
+package kaka.cakelight.mode;
+
+import kaka.cakelight.Color;
+import kaka.cakelight.Configuration;
+import kaka.cakelight.LedFrame;
public class SingleColorMode extends Mode {
private Color color;
-package kaka.cakelight;
+package kaka.cakelight.mode;
+
+import kaka.cakelight.Color;
+import kaka.cakelight.Configuration;
+import kaka.cakelight.LedFrame;
public class SmoothVideoMode extends VideoMode {
private LedFrame frame;
-package kaka.cakelight;
+package kaka.cakelight.mode;
+
+import kaka.cakelight.Configuration;
+import kaka.cakelight.FrameGrabber;
+import kaka.cakelight.VideoDeviceListener;
+import kaka.cakelight.VideoFrame;
import java.io.File;
import java.io.IOException;