Friday, April 1, 2011

6. THE SOFTWARE BEHIND VERSUM

http://www.myspace.com/dhlxstudios

On a software level, Versum consists of four separate
pieces of software written in different programming
languages, working together as one.
First of all, there is the graphical user interface,
visible in the form of the Control- and Navigator
Window. This interface is written in Java with heavy use
of the Processing library1.
Secondly, there is the core program, also written in
Java. Messages are sent from the interface to this core
and back by use of the User Datagram network Protocol
(UDP). The core program calculates the time, it keeps
track of all the positions of the entities, it determines the
exact speed at which the actor moves, it writes and opens
files, etc.
1See www.processing.org
For the three-dimensional graphical output I use a
third program made in the Max/MSP/Jitter environment.
Via the “mxj” object in Max, messages are sent from the
core to the graphical objects within Max, producing the
moving images that are presented in the Actor Window.
Finally, for calculating the sounds and sending them
to the computer’s sound card there is a fourth program
written in Supercollider. The core program sends
messages to this program via the Open Sound Control
network protocol (OSC), telling it what kind of sounds to
produce at any moment.
Thanks to the UDP and OSC protocols for the
exchange of messages it was easily possible to split the
Versum software into these separate specialized pieces of
software. Making the software modular in this way has
had the great advantage of being able to employ all these
programming languages (Java, Supercollider, Max/MSP)
specifically for what they do best. None of these
languages by themselves would have been sufficient for
producing the end result so efficiently.

No comments:

Top Stories - Google News