Previous page - Next page

EyeCon and the OSC protocol

A typical Eyecon setup now often involves controlling external media system like Max/MSP or pd, Macromedia Director and Flash, Reaktor, Isadora and similar. Communication between systems has become an essential step in creating interactive work. There are not many universal ways for doing this besides MIDI and DMX protocols, but a very universal and appropriate is using the OpenSoundControl (OSC) protocol. It allows you to transfer information between Eyecon and the other involved systems either on the same computer or on different ones. External communication is usually done via the computers built in network ports. It is even easy to communicate between different operating systems, be it on Windows, Mac-OS or Linux.

 

How to prepare for an OSC connection:

The main preparation is to get the involved computers connected. Let's imagine you want to send Eyecon motion sensing data to a Max/MSP patch, running on a Macintosh. If you already on an existing network with both machines, you probably don't need to change your setup. All you need to find out, which IP address the receiving computer has. In our example you would check for the IP address on the Mac-OS network control panel. IP addresses are in the form of a set of 4 numbers, separated with dots. Often they will start with the numbers 192.168.

If you are usually using your computers in a network, but now just having them setup to communicate between themselves, you will probably have to change the network settings on both of them. All you actually need is a network cable between the two computers. A so called 'cross-link' cable is good to have for that setup, but with many modern computers a normal network cable will also work.

What you need to do for the direct connection between two computers is assigning them fixed ip addresses. This needs to be done on both computers, on the Windows computer check and set the properties of the TCP/IP settings for your LAN-connection. Select manual addresses and type in 192.168.1.1 On the Macintosh side, select manual settings on the network control panel and assign it the address 192.168.1.2 These numbers are a usable example, although the actual rule is only that the first 3 numbers be the same, while the last number has to be different. You will also be asked to type in a subnet mask, which will always be 255.255.255.0

How to setup OSC communication in Eyecon:

After assigning and checking the computers IP addresses you have to tell Eyecon where to send the information to. Open the address setup dialog from the menu entry Window-UDP-Hosts, by pressing 'Ctrl-F9' or by clicking on the button above the UDP-host entry field on the 'OSC' page.

You can setup a list of computers and assign symbolic names for each of them, distinguished by the IP address and a port number. This information must reflect the settings in the connected computers and systems. The port is a number between 1 and 65535 which is used as an extension to the addressing with the IP-address. Imagine you would want to send information to two different programs on one computer. You would set them up for data exchange on different port numbers. The field 'Options' is usually preset with the option 'Bundle' which means, that multiple numeric informations are sent in one UDP datagram. You usually dont have to change this option.

The field 'Own IP Addresses' is for information only.

 

 

Connecting via OSC - step by step

To configure information exchange between EyeCon and a connected computer you have to perform the following steps:

1. Create an EyeCon element, for example a touchline

2. Switch to the OSC page in the properties section of the element.

3. Enable OSC 'Use' Checkbox

4. Select a Host from the dropdown combobox 'Host'. It holds all entries that have been defined in the 'UDP-Hosts' dialog box.

5. Enter an OSC parameter specification in the 'Value' field. The first part of the line is always an address string which addresses the specific function in the receiver.

6. Check the 'Each cycle' checkbox, if you want the information be sent in every processing cycle, even if the information is not changed.

 

 

The 'Compose' button opens a dialog box which assists you in setting up the message. The available Parameters depend on the type of the element. For touchlines you have Position (Pos) and Width (Wid) as possible parameters. The value range for an element parameter is usually 0.0 to 1.0 in floating point notation.