X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=src%2Fkaka%2Fcakelight%2FConfiguration.java;h=755586fd986905024a5ab5a11bce50743b6ec634;hb=eba8feca754a0875f30b8284dab67c8c01f85ef6;hp=a68bb393f9a468bc4a95d5c33b877d781e0243bd;hpb=6a03452e2520ad9d3b2a9d7e1932bb93e696380d;p=kaka%2Fcakelight.git diff --git a/src/kaka/cakelight/Configuration.java b/src/kaka/cakelight/Configuration.java index a68bb39..755586f 100644 --- a/src/kaka/cakelight/Configuration.java +++ b/src/kaka/cakelight/Configuration.java @@ -53,6 +53,10 @@ public class Configuration { public int height; public int bpp; public int format; + public boolean mjpg; + public double saturation; + public String device; + public boolean deviceIsAutomatic; public CropConfiguration crop; public ListConfiguration list; @@ -60,6 +64,8 @@ public class Configuration { width = Integer.parseInt(get(prop, "video.width", "720")); height = Integer.parseInt(get(prop, "video.height", "576")); bpp = Integer.parseInt(get(prop, "video.bpp", "2")); + device = get(prop, "video.device", "auto"); + deviceIsAutomatic = "auto".equals(device); switch (get(prop, "video.format", "").toUpperCase()) { case "YUYV": format = Imgproc.COLOR_YUV2BGR_YUYV; @@ -67,9 +73,13 @@ public class Configuration { case "YVYU": format = Imgproc.COLOR_YUV2BGR_YVYU; break; + case "MJPG": + format = 0; + mjpg = true; default: format = Imgproc.COLOR_YUV2BGR_UYVY; } + saturation = inRange(Double.parseDouble(get(prop, "video.saturation", "0.5")), 0, 1); crop = new CropConfiguration(prop); list = new ListConfiguration(prop); } @@ -106,7 +116,7 @@ public class Configuration { private LedConfiguration(Properties prop) { cols = Integer.parseInt(get(prop, "leds.cols")); rows = Integer.parseInt(get(prop, "leds.rows")); - brightness = Math.max(1, Math.min(31, Integer.parseInt(get(prop, "leds.brightness", "31")))); + brightness = (int) inRange(Integer.parseInt(get(prop, "leds.brightness", "31")), 1, 31); switch (get(prop, "leds.type", "").toUpperCase()) { case "WS2801": type = LedType.WS2801; @@ -125,4 +135,10 @@ public class Configuration { public enum LedType { WS2801, APA102 } + + private double inRange(double value, double lower, double upper) { + return value < lower ? lower + : value > upper ? upper + : value; + } }