X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=src%2Fkaka%2Fcakelight%2FConfiguration.java;h=a24f41143fa4dd74148e7173e964fc01002d1869;hb=fa9808cd57e32f096495ad06689f7d23878f5217;hp=4f1525c9b2caf51ec2a459b629f63c040e38e075;hpb=2d8ddb23fc7f3ead7114314704319fff4dcce1a8;p=kaka%2Fcakelight.git diff --git a/src/kaka/cakelight/Configuration.java b/src/kaka/cakelight/Configuration.java index 4f1525c..a24f411 100644 --- a/src/kaka/cakelight/Configuration.java +++ b/src/kaka/cakelight/Configuration.java @@ -53,7 +53,9 @@ public class Configuration { public int height; public int bpp; public int format; + public double saturation; public CropConfiguration crop; + public ListConfiguration list; private VideoConfiguration(Properties prop) { width = Integer.parseInt(get(prop, "video.width", "720")); @@ -69,7 +71,9 @@ public class Configuration { 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); } public class CropConfiguration { @@ -82,6 +86,17 @@ public class Configuration { bottom = Integer.parseInt(get(prop, "video.crop.bottom", "0")); } } + + public class ListConfiguration { + public boolean top, bottom, left, right; + + private ListConfiguration(Properties prop) { + top = get(prop, "video.list.top", "on").equals("on"); + bottom = get(prop, "video.list.bottom", "on").equals("on"); + left = get(prop, "video.list.left", "on").equals("on"); + right = get(prop, "video.list.right", "on").equals("on"); + } + } } public class LedConfiguration { @@ -93,7 +108,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; @@ -112,4 +127,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; + } }