SwingOSC -- version 0.50 (built 09-feb-07) --

statement

SwingOSC is an OpenSoundControl (OSC) server intended for scripting Java(tm), such as to create graphical user interfaces with AWT or Swing classes. It uses the reflection and beans mechanism to dynamically create instances of java classes and control them. A separate set of SuperCollider language classes is included to allow the building of GUIs from within sclang.

SwingOSC is (C)opyright 2005–2006 by Hanns Holger Rutz. All rights reserved. SwingOSC is released under the GNU General Public License and comes with absolutely no warranties. To contact the author, send an email to contact at sciss.de

For project status, API and current version, visit www.sciss.de/swingOSC.

For OSC communication, SwingOSC uses the NetUtil library, which is licensed under the GNU Lesser General Public License (LGPL). The compiled library is included, for sourcecode and details visit www.sciss.de/netutil.

security note

SwingOSC uses UDP and TCP network protocols. It allows to create and execute almost any kind of java code on your machine. Therefore, running SwingOSC in a network that can be accessed from outside is a severe security problem, allowing hijacking, information retrieval and massive damage on your machine. You have been warned!

It is strongly advised to launch SwingOSC with the -L option which limits communication to the local computer. Alternatively, make sure your firewall settings are appropriate.

download

The current version can be downloaded here:

The SuperCollider for Windows built maintained by the IEM Graz already comes with a preconfigured SwingOSC installation (however not always the newest):

requirements / installation

SwingOSC is written in Java(tm) and requires a Java runtime environment (JRE) version 1.4 or better. On Mac OS X you already have this runtime. On other platforms you may need to download and install a recent runtime from java.sun.com. You can verify your current java version by opening a terminal and executing the command java -version.

There are other free implementations for the Java standard platform, like Apache Harmony and GNU Classpath. Kaffe.org has a list of related things. I have tested SwingOSC only with Sun's and Apple's VM and I don't know whether it runs with those alternatives.

To use MovieView.java (i.e. JSCMovieView), you will need the Java Media Framework (JMF) classes from Sun (on Mac OS X use the cross-platform download). Put jmf.jar in your system's classpath, e.g. on Mac OS X that can be /Library/Java/Extensions. I'm hoping to find a better solution for movie playback in the future.

launching the server

Open a terminal and cd into the SwingOSC folder. Either run the default script by typing sh SwingOSC.sh, or launch with custom options:

   > java [java-VM-options] -jar build/SwingOSC.jar [swing-osc-options]

where the VM options are:

and the SwingOSC options are:

if you wish to include custom java classes or libraries, you can either

documentation / usage

Please read the DevelopersNeeded note.

compilation

As of v0.35, I'm using Eclipse 3 to compile the project which makes cross-platform compliation easier. As I'm new to Eclipse, some stuff may still look strange. Choose the main SwingOSC folder as Eclipse's workspace. It contains the invisible file .project and the invisible folder .settings that are read by Eclipse. After a fresh install, you may need to select the project in Eclipse's package explorer and choose "Refresh" from the context menu.

Since I didn't manage to configure a .jar exporter to include all the files that are necessary and automatically exclude others, I've included a custom shell script makejar.sh which you can run after all classes have been compiled. This script will overwrite the file build/SwingOSC.jar which includes all classes, the NetUtil library and all resources (images).

Without any IDE you can easily make a clean build by opening a terminal, cd'ing into the SwingOSC folder and executing the following lines:

> chmod u+x *.sh
> ./clean.sh
> ./compile.sh
> ./makejar.sh

(the chmod is only necessary once after a fresh SwingOSC installation).

To compile MovieView.java, you will need to have jmf.jar in your classpath (see requirements sections above). Otherwise remove MovieView.java and the compiler won't complain.

known issues

to-do list

change history

v0.50 (feb 2007)

v0.44 (dec 2006)

v0.43 (oct 2006)

v0.42 (oct 2006)

v0.41 (aug 2006)

v0.40 (apr 2006)

v0.39 (mar 2006)

v0.38 (feb 2006)

v0.37 (feb 2006)

v0.36 (dec 2005)

v0.35 (dec 2005)

v0.3 (nov 2005)

v0.2 (aug 2005)


java is a trademark of sun microsystems
i think mac os and xcode are trademarks of apple inc
windows is one of microsoft corp
jever is a trademark of some west german beer factory

lastmod: 09-feb-07