front_processing/extern/TUIO_JAVA/src/com/illposed/osc/OSCPacket.java
author bastiena
Tue, 20 Mar 2012 18:00:55 +0100
changeset 7 8a21bec5d45f
parent 0 6fefd4afe506
child 9 0f44b7360c8d
permissions -rw-r--r--
Middleware : No proximity bugs anymore. The skeleton disappear if a tracked person is too close or not tracked anymore. Processing : There are no laggs anymore when an user stay too long moving his hands and drawing tons of ellipses. (TUIO Cursors are not taken by their vectors, only the last position of the cursors are caught to be drawn).

/**
 * @author cramakrishnan
 *
 * Copyright (C) 2003, C. Ramakrishnan / Illposed Software
 * All rights reserved.
 * 
 * See license.txt (or license.rtf) for license information.
 * 
 * 
 * OscPacket is the abstract superclass for the various
 * kinds of OSC Messages. Its direct subclasses are:
 *  OscMessage, OscBundle
 *
 * Subclasses need to know how to produce a byte array
 * in the format specified by the OSC spec (or SuperCollider
 * documentation, as the case may be).
 *
 * This implementation is based on Markus Gaelli and
 * Iannis Zannos' OSC implementation in Squeak:
 * http://www.emergent.de/Goodies/
 */

package com.illposed.osc;

import com.illposed.osc.utility.*;

public abstract class OSCPacket {

	protected byte[] byteArray;

	public OSCPacket() {
		super();
	}

	protected void computeByteArray() {
		OSCJavaToByteArrayConverter stream = new OSCJavaToByteArrayConverter();
		computeByteArray(stream);
	}

	/**
	 * @param stream OscPacketByteArrayConverter
	 *
	 * Subclasses should implement this method to product a byte array
	 * formatted according to the OSC/SuperCollider specification.
	 */
	protected abstract void computeByteArray(OSCJavaToByteArrayConverter stream);

	/**
	 * @return byte[]
	 */
	public byte[] getByteArray() {
		computeByteArray();
		return byteArray;
	}

	protected void init() {
		
	}

}