Just the Best Parts: Open Sound Control - Chapter 2.06

The finished, cleaned-up, copy-edited version of this book is available for purchase in PDF, mobi, and epub formats. You get all three formats when you buy the book. Plus, the paid version is where updates are made and contains content not available in the Web version.

Buy it now and get the most recent content. »

Geeky Tech Summary

OSC messages are typically sent over a computer network.

That network may be from a program on one device (e.g. your phone, or a laptop) to some application on another device, or it may be a network connection between two applications on the same device.

When setting up a device or program to send or receive OSC messages you need to know the IP address of the recipient or sender as well as the port number to use. If both sender and receiver are on the same computer then you can use the IP address 127.0.0.1, which is pre-defined address that always refers back to the same machine.

OSC messages have two parts: The address pattern, which looks muck like a directory path or part of Web site address (/some/address/pattern, and any values to be sent with the message.

OSC message do not have to be sent with values; an OSC message all by itself might be enough to convey a desired action (for example, the Renoise OSC message /renoise/transport/stop).

The OSC specification defines what essential kinds of values messages can send: Integers, floating-point numbers, text, and the OSC blob.

However, the specification also describes additional kinds of data that an OSC system may optionally handle. These include Boolean (i.e true or false) values, MIDI values, and timestamps.

When people are describing the OSC message their system uses they generally indicate what kinds of values each message requires by using type tag notation. This means using a single character describing the kind of data for each argument. For example:

/some/address/pattern ii

is a message that must include two integer values

If you are creating your own program that handles OSC then you are pretty much free to use whatever address patterns you like. However, for the sake of sanity you should think about using a sensible hierarchy in the patterns so that naming is more intuitive.

Next up: Some practical examples and suggested practices.


comments powered by Disqus

The finished, cleaned-up, copy-edited version of this book is available for purchase in PDF, mobi, and epub formats. You get all three formats when you buy the book.

The paid version is also more current and has additional content not available in the Web version.

Buy it now and get the most recent content. »