kwx_logo

Realizer manual

Configuring

All the Realizer its configuration files are located inside the application bundle. Browse the bundle its contents by "right clicking" on the Realizer icon and selection "Show Package Contents" from the popup menu. All configuration files are in XML and can at this moment only be edited by hand. N.B. Editing XML should be done very carefully, because invalid XML might make the Realizer fail to launch.

config file

The main configuration file is located here : "Contents/Resources/config.xml" :

<?xml version="1.0"?>
<realizer>
	<image>
		<output nr="1">
			<window name="Window1" hsize="640" vsize="480" hpos="100" vpos="100" fullscreen="false"/>
		</output>
		<output nr="2">
			<window name="Window2" hsize="640" vsize="480" hpos="500" vpos="500" />
		</output>	
		<output nr="3">	
			<window name="Window3" hsize="640" vsize="480" hpos="500" vpos="500" />
		</output>
		<output nr="4">	
			<window name="Window4" hsize="640" vsize="480" hpos="500" vpos="500" />
		</output>
		<output nr="x">	
			<window name="Window4" hsize="640" vsize="480" hpos="500" vpos="500" />
		</output>
		<size hor="320" ver="240"/>
		<maxfps>61</maxfps>
	</image>
	<audio active="true">
		<device name="EDIROL FA-66 (3219)"/>
		<samplerate>44100</samplerate>
		<buffersize>64</buffersize>
		<channels>2</channels>
	</audio>
	<network>
		<osc port="5000"/>
		<control port="1234"/>
	</network>
	<log level="message"/>
</realizer>

network

image

audio

Later on a system for mapping outputs, similar to that of the image outputs, will be implemented.

open sound control

Inside the Resources map you'll find a map named "osc-module" , which contains definitions for OSC receving modules. You can define your own OSC receiving module here. OSC modules are the only modules that can be defined by just adding an XML definition, without writing code, since they are all mostly the same. You can make your own to be able to receive OSC from a specific device or just to create your own address space.
The easiest way to do this is by copying an existing definition, for example "my_osc-mod.xml" and renaming the file to the "your_osc_mod.xml" . Then open the file in an text editor , like BBedit or TextEdit, it will look like this:

<?xml version="1.0" encoding="UTF-8"?>
<module type="my_osc_mod">
	<attribute name="X-Axis" type="string" default="/joystick/X-Axis" />
	<attribute name="Y-Axis" type="string" default="/joystick/Y-Axis" />
	<attribute name="Button1" type="string" default="/mouse/Button1" />
	<attribute name="any-name-you-like" type="string" default="/any-name-you-like" />	
	<output name="X-Axis" type="abstract"/>
	<output name="Y-Axis" type="abstract"/>
	<output name="Button1" type="abstract"/>
	<output name="any-name-you-like" type="abstract"/>
</module>


First replace the module its type "my_osc_mod" by "your_osc_mod" . Then define an "attribute" element for each OSC message you want to receive. The my_osc_mod module receives at four different addresses, but you can define as many as you want as long as their names are unique and of course the address must meet the syntax for OSC addresses. Put the exact OSC message in "default" and define in "name" to which output the data should be mapped. Finally make sure you define an "output" element for each "attribute" element. The "name" specified here must match the name of the according attribute.
You will now be able to send osc to the specified addresses and when you will instanciate the module it will output the values through the right outputs ... duh.

Connecting with a Patcher

Sending xml messages via telnet can be considered as the lowest level interface to the realizer. Although it is a very user unfriendly interface it proves itself handy for "debug" purposes, because all response messages of the realizer are directly visible. The next listing shows an example telnet session to a realizer running on "the same" machine:
lolo:~/ lodewijk$ telnet 127.0.0.1 1234
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
<patch>
	<make-module-req type="MoviePlayer" id="mp1" />
</patch>
<patch>
	<make-module-rsp />
</patch>
<patch>
	<set-attribute-req moduleid="mp1" name="file" value="file:///Users/lodewijk/Movies/movie.mov" />
</patch>
<patch>
	<set-attribute-rsp />
</patch>
<patch>
	<connect-req frommodule="mp1" output="image out" tomodule="OutputWindow1" input="image in" />
</patch>
<patch>
	<connect-rsp />
</patch>
A full listing of the xml protocol can be found in the Realizer protocol section
Generated on Wed Feb 8 18:14:12 2006 by  doxygen 1.4.5