diff --git a/bunti_server/src/main/java/de/ctdo/dmx/DMXMixer.java b/bunti_server/src/main/java/de/ctdo/dmx/DMXMixer.java deleted file mode 100644 index f4dfa91..0000000 --- a/bunti_server/src/main/java/de/ctdo/dmx/DMXMixer.java +++ /dev/null @@ -1,103 +0,0 @@ -package de.ctdo.dmx; - -import java.net.SocketException; -import java.util.ArrayList; -import java.util.List; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import artnet4j.ArtNet; -import artnet4j.ArtNetException; -import artnet4j.ArtNetNode; -import artnet4j.packets.ArtDmxPacket; - -public class DMXMixer { - - final int TICKS_BETWEEN_DMX_SEND = 20; - final int DMX_MIN_CHANNEL = 0; - final int DMX_MAX_CHANNEL = 512; - final String ARTNET_DEVICE_ADDRESS = "192.168.0.90"; - - Logger logger = LoggerFactory.getLogger(DMXMixer.class); - int[] dmx512databuffer = new int[512]; - static int sequenceID = 0; - ArtNet artnet = new ArtNet(); - ArtNetNode firstNodeFound = null; - ArtDmxPacket artnetDmxPacket = null; - long ticksLastBufferFlush = 0; - - - - protected final List listeners = new ArrayList(); - - - public void addListener(DMXDataChangedListener l) { - synchronized (listeners) { - listeners.add(l); - } - } - public void removeListener(DMXDataChangedListener l) { - synchronized (listeners) { - listeners.remove(l); - } - } - - - public DMXMixer() { - - artnetDmxPacket = new ArtDmxPacket(); - artnetDmxPacket.setUniverse(0, 0); - - try { - artnet.start(); - } - catch (ArtNetException e) { - logger.error("ArtNetException... " + e.toString()); - } - catch (SocketException e) { - logger.error("SocketException... " + e.toString()); - } - - - } - - private void sendOutDMXBuffer() { - - byte[] arr = new byte[dmx512databuffer.length]; - for (int i = 0; i < dmx512databuffer.length; i++) { - arr[i] = (byte)dmx512databuffer[i]; - } - artnetDmxPacket.setSequenceID(sequenceID % 255); - artnetDmxPacket.setDMX(arr, arr.length); - artnet.unicastPacket(artnetDmxPacket, ARTNET_DEVICE_ADDRESS); - - sequenceID++; - - ticksLastBufferFlush = System.currentTimeMillis(); - } - - public void sendOutDMXBufferIfNeeded() { - if(ticksLastBufferFlush + TICKS_BETWEEN_DMX_SEND < System.currentTimeMillis()) { - sendOutDMXBuffer(); - } - } - - public void setDMX512Channel(int channel, int value) { - if(channel < DMX_MIN_CHANNEL || channel > DMX_MAX_CHANNEL) { - return; - } - if(value < 0) value = 0; - if(value > 255) value = 255; - - dmx512databuffer[channel-1] = value; - - - sendOutDMXBufferIfNeeded(); - - for (DMXDataChangedListener l : this.listeners) { - l.DMXDataChanged(dmx512databuffer); - } - } - -}