All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.illposed.osc.OSCPacket Maven / Gradle / Ivy

The newest version!
/**
 * @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() {
		
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy