bunti/bunti_server/src/main/java/de/ctdo/bunti/model/BuntiDMXDevice.java

100 lines
2.1 KiB
Java
Raw Normal View History

2012-03-02 21:09:43 +00:00
package de.ctdo.bunti.model;
import java.util.*;
import de.ctdo.bunti.dmx.*;
public class BuntiDMXDevice extends BuntiDevice {
int startAddress;
List<DMXChannel> dmxValues = new ArrayList<DMXChannel>();
public DMXChannel getDMXChannelByName(String channel) {
for (DMXChannel dx : dmxValues) {
if(channel.equals(dx.description)) {
return dx;
}
}
return null;
}
public DMXChannel getDMXChannelByOffset(int offset) {
for (DMXChannel dx : dmxValues) {
if(offset == dx.offset) {
return dx;
}
}
return null;
}
// public DMXChannel getDMXChannelByAddress(int address) {
// int offset = address - startAddress;
// return getDMXChannelByOffset(offset);
// }
public void setChannelValueByName(String name, int value) {
DMXChannel dx = getDMXChannelByName(name);
if(dx != null) {
dx.value = DMX.sanitizeDMXValue(value);
}
}
// public void setChannelValueByOffset(int offsetChannel, int value) {
// DMXChannel dx = getDMXChannelByOffset(offsetChannel);
// if(dx != null) {
// dx.value = DMX.sanitizeDMXValue(value);
// }
// }
// public void setChannelValueByAddress(int address, int value) {
// DMXChannel dx = getDMXChannelByAddress(address);
// if(dx != null) {
// dx.value = DMX.sanitizeDMXValue(value);
// }
// }
public int getChannelValueByName(String name) {
DMXChannel dx = getDMXChannelByName(name);
if(dx != null) {
return dx.value;
}
return 0;
}
// public int getChannelValueByOffset(int offsetChannel) {
// DMXChannel dx = getDMXChannelByOffset(offsetChannel)
// if(dx != null) {
// return dx.value;
// }
// return 0;
// }
// public int getChannelValueByAddress(int address) {
// DMXChannel dx = getDMXChannelByAddress(address);
// if(dx != null) {
// return dx.value;
// }
// return 0;
// }
public int getStartAddress() {
return startAddress;
}
public void setStartAddress(int startAddress) {
this.startAddress = startAddress;
}
public void addChannel(DMXChannel channel) {
dmxValues.add(channel);
}
public void removeChannel(int offset) {
DMXChannel dx = getDMXChannelByOffset(offset);
if(dx != null) {
dmxValues.remove(offset);
}
}
}