X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=src%2Fkaka%2Fcakelight%2FConsole.java;h=caf8195780bbe62ebf1cc958a881ad908fb6b234;hb=67b0a75891f19e91cc35e23fa56915cfd7cd52de;hp=00a126924b09740a314e5c5956c8ae17e862551c;hpb=034031f37f834564ce179cd7526dab1014872d24;p=kaka%2Fcakelight.git diff --git a/src/kaka/cakelight/Console.java b/src/kaka/cakelight/Console.java index 00a1269..caf8195 100644 --- a/src/kaka/cakelight/Console.java +++ b/src/kaka/cakelight/Console.java @@ -1,5 +1,9 @@ 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; @@ -25,17 +29,37 @@ public class Console extends Thread { System.out.print("> "); try { String input = reader.readLine(); - if (input.equals("0") || input.equals("1") || input.equals("2") || input.equals("3") || input.equals("4")) { + if (input.matches("[0-5]")) { cakelight.setMode(new AmbientMode(new String[] {input})); System.out.println("setting ambient mode to " + input); + } else if (input.matches("v|video")) { + cakelight.setMode(new VideoMode()); } else if (input.matches("(b|brightness)\\s+[0-9]+")) { String[] split = input.split("\\s+"); config.leds.brightness = Integer.parseInt(split[1]); - System.out.println("setting brightness to " + split[1]); + System.out.println("setting brightness to " + config.leds.brightness); } else if (input.matches("q|quit")) { - cakelight.cleanup(); + cakelight.turnOff(); System.out.println("stopping cakelight"); break; + } else if (input.matches("(c|col|color)(\\s+[0-9]+){3}")) { + String[] split = input.split("\\s+"); + Color c = Color.rgb( + Integer.parseInt(split[1]), + Integer.parseInt(split[2]), + Integer.parseInt(split[3]) + ); + cakelight.setMode(new SingleColorMode(c)); + System.out.println("setting color to " + c); + } else if (input.matches("(g|gamma)\\s+[0-9.]+")) { + String[] split = input.split("\\s+"); + config.gamma = Double.parseDouble(split[1]); + Color.calculateGammaCorrection(config.gamma); + System.out.println("setting gamma to " + config.gamma); + } else if (input.matches("(s|saturation)\\s+[0-9.]+")) { + String[] split = input.split("\\s+"); + config.video.saturation = Double.parseDouble(split[1]); + System.out.println("setting saturation to " + config.video.saturation); } } catch (IOException e) { System.out.println("Error reading from command line"); @@ -43,5 +67,4 @@ public class Console extends Thread { } } } - }