front_processing/extern/TUIO_JAVA/src/com/illposed/osc/OSCPacket.java
author bastiena
Fri, 23 Mar 2012 16:24:36 +0100
changeset 10 925b7ee746e3
parent 9 0f44b7360c8d
child 28 9ccef81f02ab
permissions -rw-r--r--
Front Processing : Changed utf-8 to utf-8 without BOM
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
     1
/**
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
     2
 * @author cramakrishnan
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
     3
 *
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
     4
 * Copyright (C) 2003, C. Ramakrishnan / Illposed Software
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
     5
 * All rights reserved.
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
     6
 * 
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
     7
 * See license.txt (or license.rtf) for license information.
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
     8
 * 
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
     9
 * 
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    10
 * OscPacket is the abstract superclass for the various
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    11
 * kinds of OSC Messages. Its direct subclasses are:
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    12
 *  OscMessage, OscBundle
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    13
 *
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    14
 * Subclasses need to know how to produce a byte array
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    15
 * in the format specified by the OSC spec (or SuperCollider
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    16
 * documentation, as the case may be).
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    17
 *
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    18
 * This implementation is based on Markus Gaelli and
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    19
 * Iannis Zannos' OSC implementation in Squeak:
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    20
 * http://www.emergent.de/Goodies/
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    21
 */
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    22
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    23
package com.illposed.osc;
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    24
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    25
import com.illposed.osc.utility.*;
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    26
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    27
public abstract class OSCPacket {
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    28
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    29
    protected byte[] byteArray;
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    30
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    31
    public OSCPacket() {
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    32
        super();
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    33
    }
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    34
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    35
    protected void computeByteArray() {
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    36
        OSCJavaToByteArrayConverter stream = new OSCJavaToByteArrayConverter();
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    37
        computeByteArray(stream);
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    38
    }
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    39
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    40
    /**
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    41
     * @param stream OscPacketByteArrayConverter
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    42
     *
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    43
     * Subclasses should implement this method to product a byte array
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    44
     * formatted according to the OSC/SuperCollider specification.
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    45
     */
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    46
    protected abstract void computeByteArray(OSCJavaToByteArrayConverter stream);
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    47
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    48
    /**
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    49
     * @return byte[]
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    50
     */
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    51
    public byte[] getByteArray() {
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    52
        computeByteArray();
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    53
        return byteArray;
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    54
    }
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    55
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    56
    protected void init() {
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    57
        
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    58
    }
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
    59
0
6fefd4afe506 First Import
bastiena
parents:
diff changeset
    60
}