com.illposed.osc
Class OSCSerialPort

java.lang.Object
  extended by com.illposed.osc.OSCSerialPort
All Implemented Interfaces:
java.lang.Runnable, java.util.EventListener, javax.comm.SerialPortEventListener

public class OSCSerialPort
extends java.lang.Object
implements java.lang.Runnable, javax.comm.SerialPortEventListener

Serial input/output of OSC messages. Uses Pascal Stang's OSC serial format: [0xBE = header byte][size byte][...message...][8bit checksum]

This software is distributed under the BSD License.

Author:
Bjoern Hartmann ( bjoern(AT)stanford.edu )

Constructor Summary
OSCSerialPort(java.lang.String portName)
           
 
Method Summary
 void addListener(java.lang.String anAddress, OSCListener listener)
          Register the listener for incoming OSCPackets addressed to an Address
 boolean changeListenerAddress(java.lang.String oldAddress, java.lang.String newAddress)
           
 void close()
          Close the socket and free-up resources.
 OSCListener getListener(java.lang.String anAddress)
           
 void removeAllListeners()
          Un-register all existing listeners
 boolean removeListener(java.lang.String anAddress)
           
 void run()
           
 void send(OSCPacket aPacket)
          Send an OSC packet out our open serial port
 void serialEvent(javax.comm.SerialPortEvent event)
          Handles incoming serial data.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OSCSerialPort

public OSCSerialPort(java.lang.String portName)
Method Detail

run

public void run()
Specified by:
run in interface java.lang.Runnable

serialEvent

public void serialEvent(javax.comm.SerialPortEvent event)
Handles incoming serial data. Passes bytes one by one to buildOSCByteBuffer(). Ignores all other serial events.

Specified by:
serialEvent in interface javax.comm.SerialPortEventListener

send

public void send(OSCPacket aPacket)
          throws java.io.IOException
Send an OSC packet out our open serial port

Parameters:
aPacket - The OSC packet that should be sent
Throws:
java.io.IOException

addListener

public void addListener(java.lang.String anAddress,
                        OSCListener listener)
Register the listener for incoming OSCPackets addressed to an Address

Parameters:
anAddress - the address to listen for
listener - the object to invoke when a message comes in

removeAllListeners

public void removeAllListeners()
Un-register all existing listeners


removeListener

public boolean removeListener(java.lang.String anAddress)

changeListenerAddress

public boolean changeListenerAddress(java.lang.String oldAddress,
                                     java.lang.String newAddress)

getListener

public OSCListener getListener(java.lang.String anAddress)

close

public void close()
Close the socket and free-up resources. It's recommended that clients call this when they are done with the port.