[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [microsound] Open Sound Control
Hallo,
David Powers hat gesagt: // David Powers wrote:
> I tried Google, I found the specifications, and lots of technical
> information, but I can't find any simple explanation of how it works. So,
> 1. What would be the simplest two programs to test on? and
Pd and Pd.
> 2. How do I set it up, and what do I need to know? I know I can send OSC
> "messages" from one program to another, but don't even understand the
> nature of these messages, or what I can control with them.
The nature is very simple: A basic OSC message consists of a "name"
and "data". The name is the part with the slashes, it looks like a
path in a URL or in the filesystem:
/some/OSC/name
The name part usually is referred to as a "OSC target" or just a
"target". Why? Because you can send the "data" to this target, usually
through a network connection. Example:
/the_target was hit by data
Here "/the_target" is the OSC target, the data that was sent there is:
"was hit by data".
As you see from these fully legal examples: Target and data are almost
totally free form. You can basically send *everything*: numbers,
strings, lists of numbers and strings, big numbers, small letters,
whatever. That's what makes OSC so powerful for people who want more
than Midi. Or who want to do unusual things, as many here on this list
do.
Now in a modular software like Pd you are really free to define the
target names and the expected data. Other software has predefined
targets or even only accepts a single target. It really depends, so
you should consult the software's manual for possible target names.
Anyway in Pd you create a target using the [OSCroute] object:
[OSCroute /frequency /volume]
will create two such targets using two popular words. To actually
receive messages through a network, you also need the [dumpOSC]
object. Connect both and you have built your first OSC-capable Pd
patch. Or just open the help file for OSC, if you're the lazy kind.
Sending is similar: You use [sendOSC] and construct messages like
"/frequency 440" to send through this object. (In Pd you need to
prepend this message with "send", to make [sendOSC] actually send it.)
Targets also can be built as trees like: /synth1/freq and /synth2/freq
and you can send messages to many in one step using wildcards:
"/synth*/freq 440" will do as expected.
You see, OSC actually is *very* simple, because it doesn't have many
rules at all. Unless you want to do more advanced stuff (like
timestamps and message bundles), understanding the thing with the
target/data pairs will be all you need to know about OSC for quite
some time.
Ciao
--
Frank Barknecht _ ______footils.org_ __goto10.org__
---------------------------------------------------------------------
To unsubscribe, e-mail: microsound-unsubscribe@xxxxxxxxxxxxx
For additional commands, e-mail: microsound-help@xxxxxxxxxxxxx
website: http://www.microsound.org