Overview

JavaOSC is a library for talking the OSC protocol in Java. It is not,
in itself, a usable program. Rather, it is a library designed for building
programs that need to communicate over OSC (e.g., SuperCollider,
Max/MSP, Reaktor, etc.).

This is the 20060402 (April 2, 2006) release. The latest version of javaosc is available at:

	http://www.illposed.com/software/javaosc.html



Manifest

build/ 		-- where ant puts the .class files
build-support/ 	-- a MainClass.mf for the build
doc/ 		-- javadoc
lib/ 		-- Libs used and generated by JavaOSC
  javaosc.jar 		-- the JavaOSC library
  javaoscfull.jar 	-- above plus tests and examples
  junit.jar 		-- test framework
puredata/	-- PureData file for the PD example
src/ 		-- JavaOSC source
supercollider/ 	-- SuperCollider files for the examples.



To Run -- SuperCollider

JavaOSC is not a standalone application -- it is designed to be used in other applications. But, there is a very basic app, created by John Thompson, for demonstration purposes.

To run the demo app, you can either double click on the library "lib/javaoscfull.jar", or you can execute the "run" ant task by typing "ant run".

Next launch SuperCollider. Open the file located in the "supercollider/" directory and load the synthdef into SuperCollider. Start the SC local server running. 

Click the "All On" button an start moving the sliders. You should hear the sounds change.

To see what messages the UI is sending, run either the CNMAT dumpOSC, or turn on dumpOSC in SuperCollider.



To Run -- PD

There is also a Pure Data patch created by Alexandre Quessy <http://www.sourcelibre.com/puredata/>.

To try the demo app with Pure Data, launch Pure Data and open the file 
"javaosc.pd".

Turn down the volume a bit at first, as it might be very loud. Click 
the "All On" button an start moving the sliders. You should hear the 
sounds change.

To see what messages the UI is sending, just look in the Pd window or 
in the terminal.



Orientation

Open Sound Control (OSC) is a UDP-based protocol for transmission of musical control data over an IP network. Applications like SuperCollider, Max/MSP, and Reaktor (among others) use OSC for network communication.

JavaOSC is a class library that gives Java programs the capability of sending and receiving OSC. 

The classes that deal with sending OSC data are located in the com.illposed.osc package. The core classes are com.illposed.osc.OSCPort{In,  Out} and com.illposed.osc.OSCMessage and com.illposed.osc.OSCBundle.

There are some associated JUnit tests for the OSC classes. These tests are in com.illposed.osc.test. These can be run from the "test" ant task.



Use

The way to use the library is to instantiate an OSCPort connected to the receiving machine and then call the send() message on the port with the packet to send as the argument.

To see examples, look at the tests or the simple UI located in com.illposed.osc.ui.OscUI



Thanks

Thanks to John Thompson for writing the Java demo app, Alexandre Quessy for the PD demo, and to Martin Kaltenbrunner and Alex Potsides for their contributions.

http://www.illposed.com/software/javaosc.html

