X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=_PandaDriver.pde;h=5e4776455e23f11f52a02c955e577c0ee1855d60;hb=79ae8245d084fe7901933b22a44b404f9d68b925;hp=2350928e8c2f8fd78029a50a6a079d4eb80bbe8a;hpb=cdb88d5d665ad144719ed382d345be43750af88e;p=SugarCubes.git diff --git a/_PandaDriver.pde b/_PandaDriver.pde index 2350928..5e47764 100644 --- a/_PandaDriver.pde +++ b/_PandaDriver.pde @@ -16,9 +16,15 @@ import oscP5.*; */ public class PandaDriver { + // IP address + public final String ip; + // Address to send to private final NetAddress address; + // Whether board output is enabled + private boolean enabled = false; + // OSC message private final OscMessage message; @@ -34,8 +40,9 @@ public class PandaDriver { // Packet data private final byte[] packet = new byte[4*352]; // TODO: de-magic-number, UDP related? - public PandaDriver(NetAddress address, Model model, int[][] channelList) { - this.address = address; + public PandaDriver(String ip, Model model, int[][] channelList) { + this.ip = ip; + this.address = new NetAddress(ip, 9001); message = new OscMessage("/shady/pointbuffer"); List pointList = buildMappedList(model, channelList); points = new int[pointList.size()]; @@ -44,6 +51,11 @@ public class PandaDriver { points[i++] = value; } } + + public void toggle() { + enabled = !enabled; + println("PandaBoard/" + ip + " Output: " + (enabled ? "ON" : "OFF")); + } private ArrayList buildMappedList(Model model, int[][] channelList) { ArrayList points = new ArrayList(); @@ -76,6 +88,9 @@ public class PandaDriver { } public final void send(int[] colors) { + if (!enabled) { + return; + } int len = 0; int packetNum = 0; for (int index : points) {