ToDo is happy to release its first free, open-source Mac Os X application.
Download it here:
Mac Os X Leopard (10.5) version
Mac Os X Snow Leopard (10.6) version (beta)
Who is Oscar?
Oscar is an OSC-to-Flash bridge, much like flosc.
Its purpose is to make Flash based applications communicate with other OSC (and TUIO) enabled devices and applications in the same network.
Oscar is made up with Cocoa and Python (you can easily access the code inside the application package).
Some features:
- You can filter messages, reducing network overload (this is particularly useful when using a minimal TUIO setup, thus not needing the source tag, for instance).
- The interface keeps track of the network activity on both sides, and shows the number of Flash clients connected (either on main window or as a badge on the application icon on the Dock).
- The app updates itself automatically like many other famous apps (thanks to the Sparkle framework).
- You can choose whether to filter or not general OSC tags (by specifying them in the “OSC filtering” preference panel) and/or specific TUIO messages (by specifying them in the “TUIO filtering” preference panel).
- You can choose to start the bridge automatically at application launch (useful for automated installations where oscar could even be added to startup items), or start and stop the server manually.
Technically speaking, Oscar receives data from an UDP socket (which is the OSC/TUIO transmission protocol), translates it to XML-based messages that Flash can understand and forwards them via a TCP socket to all the Flash app clients connected (both on the local machine and/or on the network).
Software/hardware requirements
- Mac Os X 10.5 or later, on Intel or PowerPC processors (the application is Universal Binary).
To-do list
- Two-way communication (Flash-to-OSC).
Credits
This software uses the following external libraries:
+ Open SoundControl for Python, Copyright (C) 2002 Daniel Holth, Clinton McChesney, licensed under LGPL.
+ Twisted Module for Python (integrated into Mac Os X 10.5 Python Release).
This software is released under the GNU General Public License, version 2.

nice work! this looks great.
Thanks for the update – do you mind writing down a few sentences and give links for your application in NUI Group wiki? (wiki.nuigroup.com), at least on:
http://wiki.nuigroup.com/Links_and_resources
and
http://wiki.nuigroup.com/Applications_and_libraries
Thanks.
Görkem
This is so awesome.
I just used my wiimote in conjunction with my iR pens to do some tuio.
It would be cool if you would have some resources to begin with with Tuio
Thanks so much for developing and releasing this, Fabio!
It’s just what I needed to bridge my Monome into Flash:
http://mmmlabs.com/b/2009/04/monome-controlling-flash-first-results/
Is there any way to make a server-based version that would accept UDP requests from device using a public IP Address? any advice on this type of solution?
@Pablo: if Oscar is running on a server with a public ip address, it will accept UDP data from the Internet.
But I think it’s not a good idea since the UDP protocol is not reliable as TCP: the receiver would not know if a packet is lost. Due to the nature of the Internet, this could happen more frequently than on a local network.
By the way, it could be converted to accept TCP packets, that are far more reliable when sent through the internet.
@benchun, nam, momo: thank you! It’s so nice to hear that our software is useful for you… we released it hoping it could have been useful for someone else just like it has been for us…
it would be nice if communications could go both ways. it’s just flosc in a coca app right? Works a charm though. sankie
Hi adrock,
well it’s not flosc. It works like flosc but I wrote all code myself using python and cocoa, while flosc is java-based.
Regarding two-ways communication… I’ll work on it soon ;)
Bye
[...] http://www.todo.to.it/blog/oscar/ [...]
cool
[...] Oscar [...]
[...] I just came across Oscar, via Momo the Monster’s excellent [...]
Fabio – any chance of integrating MIDI into Oscar?
Thanks for this very nice tool, I just got it working with iPod touch (using MSA remote) and Flash! There’s one thing I don’t quite understand yet, when I move my fingers away (so they don’t touch the screen) the touch areas remain (they don’t disappear like in MSA remote). It might be the Flash touch library I am using, need to investigate it a bit more.
@Momo:
MIDI is completely another protocol, very different from OSC both in hardware and software. Moreover, I don’t know much of MIDI so I don’t think I could implement it soon. But who knows…
Or maybe someone else will take the task and add it!
@Og2t:
I’m glad you liked it! I think you issue could have little to do with Oscar itself, being it a simple bridge between what comes from the OSC source (in your case it’s the MSA Remote app) to Flash, so every time it receives something, it’s being forwarded to the Flash socket. I think it’s more likely an issue of your Flash library, as you noted. Maybe the library keeps the last value received if it doesn’t receive values anymore, keeping your touch areas even if they are not there. Try to set a timeout in your Flash app, so if nothing is received in a given time, the touch objects are automatically deleted.
…
NICE APP!
about midi… why do you not use it with maxmsp?
take a look at this wiki from hangar.org (barcelona)
http://www.hangar.org/wikis/lab/doku.php?id=start:software
this is for arduinome rgb clone (octint) but maybe you could find useful the octintmidipress patch (as standalone app) it works recieving OSC from octint router (both at the page).
If you couldn’t enter, register yourself.
Cheers.
…
[...] SERVERS http://www.benchun.net/flosc/ http://www.todo.to.it/blog/oscar/ WIKIPEDIA http://en.wikipedia.org/wiki/Multi-touch [...]
Cool app indeed.
I have one question: it seems to generate invalid TUIO XML messages; as far as I can tell the app sends the individual message parts as separate packages, but it should adhere to the TUIO (1.1?) standards for OSC packages and have at least an fseq and alive component in the same package/message, should it not?
E.g. the app sends:
Where I would expect to see:
hmmm
XML got deleted from the comment, another attempt… with HTML entities;
The app sends:
<OSCPACKET ADDRESS=”127.0.0.1″ PORT=”58560″ TIME=”0″>
<MESSAGE NAME=”/tuio/2Dcur”>
<ARGUMENT TYPE=”s” VALUE=”fseq” />
<ARGUMENT TYPE=”i” VALUE=”348″ />
</MESSAGE>
</OSCPACKET>
<OSCPACKET ADDRESS=”127.0.0.1″ PORT=”58560″ TIME=”0″>
<MESSAGE NAME=”/tuio/2Dobj”>
<ARGUMENT TYPE=”s” VALUE=”alive” />
</MESSAGE>
</OSCPACKET>
Where I would expect to see:
<OSCPACKET ADDRESS=”127.0.0.1″ PORT=”58560″ TIME=”0″>
<MESSAGE NAME=”/tuio/2Dcur”>
<ARGUMENT TYPE=”s” VALUE=”fseq” />
<ARGUMENT TYPE=”i” VALUE=”348″ />
</MESSAGE>
<MESSAGE NAME=”/tuio/2Dobj”>
<ARGUMENT TYPE=”s” VALUE=”alive” />
</MESSAGE>
</OSCPACKET>
Thank you RdvF, you are correct.
It will be fixed in the upcoming 1.1 release, together with new features: choice between xml and binary flash socket (faster and smaller footprint), bi-directionality, and a fix for a small interface bug on snow leopard.
Stay tuned! :)
Thanks for making Oscar! It’s vastly better than the other tools I’ve tried, and I’m really excited to hear that you’re updating to binary sockets for 1.1.
Hi,
There is something wrong with the download link. Download starts, but stalls immediately.
@1ndivisible: Just tried and it downloads correctly. Still having problems? Someone else is having this issue?
Hi Fabio,
Stalls at 214.7 kB in FF 3.0.5, Safari 4.0.2 & Chrome Beta (All Mac). 2 machines. Will try from a different location later, but have no problem w/ other files.
Hi, very nice and useful app!
Thanks for sharing it.
I was wondering if there is any documentation to understand better the xml structure that flash receive as imput.
We are trying to figure out the x&y coordinates of IR points using the java wiimote whiteboard as TUIO sender.
thx,
enrico
che que onda esta todo en ingles
Hi!
It´s a nice and useful app!
Thanks for sharing it.
Hi, I am unable to download Oscar after a few days of trying. It tries to download but then it does not work.
Also, today is Feb. 25, not Feb 02 like it says on the timestamp of my previous comment.
Hello Thor,
I don’t know what the problem could be. Downloading works fine here…
There seems to be a problem in wordpress with the comments timestamp… they are always set to 02 Feb… wtf?
It still does not download for me, it stops at 214kb
That’s definitely crazy…
Anyway, I just setup an alternate download location.
try to download from here: http://madseason.todo.to.it/downloads/Oscar.dmg
Thank you Fabio! That link works fine.
Salve, ho un problema con flash credo, da flash a maxmsp, nessun problema, da max msp a flash non arriva nulla..mi dareste una mano, la funzione che io trovo qui http://www.transmote.com/flosc/flosc-max.zip per la ricezione di messaggi dovrebbe farmi vedere qualcosa?ringrazio anticipatamente…saw
[...] Oscar 1.0 [...]
Is there a way to have separate flash instances cross-communicate through Oscar? I am having a real problem getting it to work. The messaging is being sent to Oscar fine, it seems.
Hello!
Oscar is just what I was looking for!
But I just miss a Flash example.
How will Flash receive the messages?
Thanks,
Roger
I figured out my own question by sending my OSCPacket from flash using the IP of the intended AIR instance and the OSC port. Love this little server you built.
[...] Until I was able to get into the actual environment, I used a XML socket server in the form of Oscar and controlled it from my iPhone using TouchOSC. This was thanks to Dr. Woohoo who had used [...]
[...] You can use the data in anything that speaks OSC, or use Flosc (Mac/PC/Linux) or Oscar (Mac) to get OSC into Flash: http://www.benchun.net/flosc/ http://www.todo.to.it/blog/oscar/ [...]
Hi folks,
I have a simple question here, how do i receive and parse the messages from flash? Can someone please help me here?