Only pass console to command on activate
authorTomas Wenström <tomas.wenstrom@gmail.com>
Mon, 25 Nov 2019 21:02:30 +0000 (22:02 +0100)
committerTomas Wenström <tomas.wenstrom@gmail.com>
Mon, 25 Nov 2019 21:02:30 +0000 (22:02 +0100)
src/kaka/cakelight/Console.java
src/kaka/cakelight/mode/TwoColorNoiseMode.java

index 7f8b8ee..422b7a3 100644 (file)
@@ -22,6 +22,14 @@ public class Console extends Thread {
         this.cakelight = cakelight;
        this.config = config;
        reader = new BufferedReader(new InputStreamReader(System.in));
+
+    public CakeLight getCakelight() {
+       return cakelight;
+    }
+
+    public Configuration getConfig() {
+       return config;
+    }
     }
 
     @Override
@@ -62,7 +70,7 @@ public class Console extends Thread {
                    config.video.saturation = Double.parseDouble(split[1]);
                    System.out.println("setting saturation to " + config.video.saturation);
                } else if (input.matches("(n|noise)(\\s+[a-z0-9]+){2}")) {
-                   TwoColorNoiseMode.getCommand().activate(cakelight, config, input.split("\\s+"));
+                   TwoColorNoiseMode.getCommand().activate(this, input.split("\\s+"));
                    System.out.println("setting two-color noise mode");
                }
             } catch (IOException e) {
@@ -74,6 +82,6 @@ public class Console extends Thread {
 
     public interface Command {
         String[] getNames();
-        void activate(CakeLight cakelight, Configuration config, String[] args);
+        void activate(Console console, String[] args);
     }
 }
index 6d2dabe..7577f66 100644 (file)
@@ -1,6 +1,8 @@
 package kaka.cakelight.mode;
 
-import kaka.cakelight.*;
+import kaka.cakelight.Color;
+import kaka.cakelight.Console;
+import kaka.cakelight.LedFrame;
 import kaka.cakelight.util.SimplexNoise3D;
 
 public class TwoColorNoiseMode extends AmbientMode {
@@ -13,9 +15,9 @@ public class TwoColorNoiseMode extends AmbientMode {
                 return new String[] {"n", "noise"};
             }
 
-            public void activate(CakeLight cakelight, Configuration config, String[] args) {
+            public void activate(Console console, String[] args) {
                 if (args.length == 3) { // cmd + col1 + col2
-                    cakelight.setMode(new TwoColorNoiseMode(
+                    console.getCakelight().setMode(new TwoColorNoiseMode(
                             parseColor(args[1]),
                             parseColor(args[2])
                     ));