Improved OSC Send/Receive

How about improved OSC patches?

Ideally, I'd like the ability to programmatically set port numbers for Sent and Receive patches, and the IP address for the sent patch.

Also, the ability to automatically create output ports on the Receive patch from detected signals from an OSC transmitting device would be very handy.

Finally, it might be cool to somehow implement structure inputs and/or outputs to keep cable spaghetti at bay, and maybe so that you could automatically create outgoing messages from a JavaScript, rather than having to have a load of static input ports to the Send patch. You could also have a structure output from the Receive patch containing all received OSC messages on the specified port.

Anyone with me on this one?

a|x http://machinesdontcare.wordpress.com

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

monobrau's picture
Re: Improved OSC Send/Receive

Would love this. Maybe you already know this one http://hexler.net/quartz-composer-love from Hexler, it already handles the automatic output node generation.

toneburst's picture
Re: Improved OSC Send/Receive

Yeah, I knew about that one. It's only a receiver though.

a|x

waxtastic's picture
Re: Improved OSC Send/Receive

Yeah, I would like to see that too.

I thought about doing that while working on my Animata OSC plugin, but it's much more difficult to do an all-in-one OSC plugin than something that is designed for a specific purpose. I'm still looking into it.

In any case, I think that the VVOSC framework might be the easiest way to do this. http://www.vidvox.net/rays_oddsnends/vvosc_doc/index.html

Although there might be something like this coming in Snow Leopard.

.lov.'s picture
Re: Improved OSC Send/Receive

i think the "solve" for this solution is building a new osc sender/receiver plugin with VVOSC framework, too. But Snow Leopard is coming, maybe we'll get a better osc patch.

toneburst's picture
Re: Improved OSC Send/Receive

vvosc looks like the way to go to me, too.

a|x

waxtastic's picture
Re: Improved OSC Send/Receive

I started messing with this and I've got a plugin going on where you can change the namespace with an input port. And you can also select what data type you are sending.

No IP and port change yet, but I'll work on this some more.

toneburst's picture
Re: Improved OSC Send/Receive

Wow, great!

Keep us in the loop.

a|x

waxtastic's picture
Re: Improved OSC Send/Receive

OK. I Think I've got this. I mean the sender. I find the receiver more difficult.

Port change works. IP change might work. Need to test it when I get home.

The only thing still missing is support for structures.

waxtastic's picture
Re: Improved OSC Send/Receive

Seems to work fine with multiple instances and no other problems after a quick testing.

I have one issue though. Can someone tell me how do I set labeled indices to my input port. One input selects the data type that the patch is sending (0=float, 1=Index, 2=String) I would like to name these with the appropriate names like you can do with an input splitter. How can I do that?

I would imagine that I need to do it somehow in + (NSDictionary) attributesForPropertyPortWithKey:(NSString)key Is this even possible? I couldn't find any official API example plugins that would use this.

.lov.'s picture
Re: Improved OSC Send/Receive

Hope this helps:

[NSDictionary dictionaryWithObjectsAndKeys:
@"Input Name", QCPortAttributeNameKey,
[NSNumber numberWithUnsignedInteger:2], QCPortAttributeMaximumValueKey, [NSArray arrayWithObjects:@"Item1", @"Item2", @"Item3", nil], QCPortAttributeMenuItemsKey, nil]];

waxtastic's picture
Re: Improved OSC Send/Receive

Thanks!

You had one extra ] there, but it worked perfectly.

I'll get you guys a link to the plugin once I get home and test the IP stuff.

.lov.'s picture
Re: Improved OSC Send/Receive

you're welcome ;)

waxtastic's picture
Re: Improved OSC Send/Receive

toneburst's picture
Re: Improved OSC Send/Receive

I didn't make the connection between the 'vv' in the 'vvosc' and Vidvox. Doh! I've been using Vidvox' VDMX for ages....

Anyway, looking forward to getting home and testing this plugin out.

Great work!

a|x

.lov.'s picture
Re: Improved OSC Send/Receive

nice job ;)

toneburst's picture
Re: Improved OSC Send/Receive

Nice work waxtastic!

Any chance of an improved Receiver, too?

Also, support for booleans would be really cool (I've been attempting to make a step-sequencer to work in conjunction with TouchOSC on the iPhone/iPod Touch, so bools are quite important for that).

Sorry to be so demanding. It's great you've been working on this.

a|x

waxtastic's picture
Re: Improved OSC Send/Receive

Booleans are not a problem. I'll add them as soon as possible. I honestly just forgot the existence of booleans while trying to get the structure thing working. :)

Yeah I'm working on the receiver thing, but having some problems with it.

waxtastic's picture
Re: Improved OSC Send/Receive

In fact, had to add booleans straight away. Can't believe I forgot about them. http://mansteri.com/download/software/monsterioscsender/MonsteriOSCPlugi...

That's what you get for releasing a plugin 2 hours after it was requested. ;)

riviera's picture
Re: Improved OSC Send/Receive

would it be possible to make a version of this plugin to 'listen' to OSC coming from 'serialosc'? (from Monome)

http://docs.monome.org/doku.php?id=tech:protocol:osc

http://docs.monome.org/doku.php?id=app:serialosc

  • I don't need to send OSC back to the Monome.
  • I just want to use the incoming OSC from the monome/serialosc, to trigger QC compositions.

  • Any help would be most appreciated!