X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=src%2Fkaka%2Fcakelight%2FConfiguration.java;h=51b2a00b450bda3f77896cd99b10501a68d5062d;hb=a80ebf3ee72e48244d0c6ed78857cfa2fbb6a881;hp=21c2072dee6f44a07384dd6d8f8c1e1ef25ba341;hpb=aa9e49c2a448c4fa4c16d2afe373ea52eefdffd2;p=kaka%2Fcakelight.git diff --git a/src/kaka/cakelight/Configuration.java b/src/kaka/cakelight/Configuration.java index 21c2072..51b2a00 100644 --- a/src/kaka/cakelight/Configuration.java +++ b/src/kaka/cakelight/Configuration.java @@ -21,24 +21,13 @@ public class Configuration { } public static Configuration from(String propertiesFile) { - InputStream input = null; - try { - input = new FileInputStream(propertiesFile); - Properties prop = new Properties(); + Properties prop = new Properties(); + try (InputStream input = new FileInputStream(propertiesFile)) { prop.load(input); - return new Configuration(prop); } catch (IOException ex) { ex.printStackTrace(); - } finally { - if (input != null) { - try { - input.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } } - return null; + return new Configuration(prop); } private String get(Properties prop, String name) { @@ -64,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")); @@ -80,7 +71,9 @@ public class Configuration { default: format = Imgproc.COLOR_YUV2BGR_UYVY; } + saturation = Double.parseDouble(get(prop, "video.saturation", "0.5")); crop = new CropConfiguration(prop); + list = new ListConfiguration(prop); } public class CropConfiguration { @@ -93,16 +86,29 @@ 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 { public int cols; public int rows; + public int brightness; public LedType type; 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")))); switch (get(prop, "leds.type", "").toUpperCase()) { case "WS2801": type = LedType.WS2801;