--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/front_processing/extern/TUIO_JAVA/src/com/illposed/osc/OSCMessage.java Fri Mar 09 14:52:11 2012 +0100
@@ -0,0 +1,118 @@
+/**
+ * @author cramakrishnan
+ *
+ * Copyright (C) 2003, C. Ramakrishnan / Illposed Software
+ * All rights reserved.
+ *
+ * See license.txt (or license.rtf) for license information.
+ *
+ *
+ * An simple (non-bundle) OSC message. An OSC message is made up of
+ * an address (who is this message sent to)
+ * and arguments (what is the contents of this message).
+ */
+
+package com.illposed.osc;
+
+import java.util.Enumeration;
+import java.util.Vector;
+
+import com.illposed.osc.utility.*;
+
+public class OSCMessage extends OSCPacket {
+
+ protected String address;
+ protected Vector<Object> arguments;
+
+ /**
+ * Create an empty OSC Message
+ * In order to send this osc message, you need to set the address
+ * and, perhaps, some arguments.
+ */
+ public OSCMessage() {
+ super();
+ arguments = new Vector<Object>();
+ }
+
+ /**
+ * Create an OSCMessage with an address already initialized
+ * @param newAddress The recepient of this OSC message
+ */
+ public OSCMessage(String newAddress) {
+ this(newAddress, null);
+ }
+
+ /**
+ * Create an OSCMessage with an address and arguments already initialized
+ * @param newAddress The recepient of this OSC message
+ * @param newArguments The data sent to the receiver
+ */
+ public OSCMessage(String newAddress, Object[] newArguments) {
+ super();
+ address = newAddress;
+ if (null != newArguments) {
+ arguments = new Vector<Object>(newArguments.length);
+ for (int i = 0; i < newArguments.length; i++) {
+ arguments.add(newArguments[i]);
+ }
+ } else
+ arguments = new Vector<Object>();
+ init();
+ }
+
+ /**
+ * @return the address of this OSC Message
+ */
+ public String getAddress() {
+ return address;
+ }
+
+ /**
+ * Set the address of this messsage
+ * @param anAddress
+ */
+ public void setAddress(String anAddress) {
+ address = anAddress;
+ }
+
+ public void addArgument(Object argument) {
+ arguments.add(argument);
+ }
+
+ public Object[] getArguments() {
+ return arguments.toArray();
+ }
+
+ /**
+ * @param stream OscPacketByteArrayConverter
+ */
+ protected void computeAddressByteArray(OSCJavaToByteArrayConverter stream) {
+ stream.write(address);
+ }
+
+ /**
+ * @param stream OscPacketByteArrayConverter
+ */
+ protected void computeArgumentsByteArray(OSCJavaToByteArrayConverter stream) {
+ // SC starting at version 2.2.10 wants a comma at the beginning
+ // of the arguments array.
+ stream.write(',');
+ if (null == arguments)
+ return;
+ stream.writeTypes(arguments);
+ Enumeration enm = arguments.elements();
+ while (enm.hasMoreElements()) {
+ stream.write(enm.nextElement());
+ }
+ }
+
+ /**
+ * @param stream OscPacketByteArrayConverter
+ */
+ protected void computeByteArray(OSCJavaToByteArrayConverter stream) {
+ computeAddressByteArray(stream);
+ computeArgumentsByteArray(stream);
+ byteArray = stream.toByteArray();
+ }
+
+}
\ No newline at end of file