Oscar 1.0 released!

8 April 2009 by
The Oscar user interface.

The Oscar user interface.

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.

Tags: , ,

62 Responses to “Oscar 1.0 released!”

  1. benchun says:

    nice work! this looks great.

  2. 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

  3. Nam Chu Hoai says:

    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

  4. 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/

  5. Pablo says:

    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?

  6. Fabio Cionini says:

    @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.

  7. Fabio Cionini says:

    @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…

  8. adrock says:

    it would be nice if communications could go both ways. it’s just flosc in a coca app right? Works a charm though. sankie

  9. Fabio Cionini says:

    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

  10. [...] I just came across Oscar, via Momo the Monster’s excellent [...]

  11. Fabio – any chance of integrating MIDI into Oscar?

  12. Og2t says:

    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.

  13. Fabio Cionini says:

    @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.

  14. Mudo says:

    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.

  15. RvdF says:

    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:

  16. RvdF says:

    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>

  17. Fabio Cionini says:

    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! :)

  18. Ric says:

    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.

  19. 1ndivisible says:

    Hi,

    There is something wrong with the download link. Download starts, but stalls immediately.

  20. Fabio Cionini says:

    @1ndivisible: Just tried and it downloads correctly. Still having problems? Someone else is having this issue?

  21. 1ndivisible says:

    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.

  22. enrico says:

    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

  23. juli says:

    che que onda esta todo en ingles

  24. Carol says:

    Hi!

    It´s a nice and useful app!

    Thanks for sharing it.

  25. Thor says:

    Hi, I am unable to download Oscar after a few days of trying. It tries to download but then it does not work.

  26. Thor says:

    Also, today is Feb. 25, not Feb 02 like it says on the timestamp of my previous comment.

  27. Fabio Cionini says:

    Hello Thor,
    I don’t know what the problem could be. Downloading works fine here…

  28. Fabio Cionini says:

    There seems to be a problem in wordpress with the comments timestamp… they are always set to 02 Feb… wtf?

  29. Thor says:

    It still does not download for me, it stops at 214kb

  30. Fabio Cionini says:

    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

  31. Thor says:

    Thank you Fabio! That link works fine.

  32. Saverio says:

    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

  33. Hugh Elliott says:

    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.

  34. Roger says:

    Hello!
    Oscar is just what I was looking for!
    But I just miss a Flash example.
    How will Flash receive the messages?
    Thanks,
    Roger

  35. Hugh Elliott says:

    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.

  36. [...] 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 [...]

  37. [...] 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/ [...]

  38. Sergio says:

    Hi folks,

    I have a simple question here, how do i receive and parse the messages from flash? Can someone please help me here?

  39. Dan says:

    I’m looking forward to seeing how the Flash -> OSC implementation comes out. I’m looking for a way to convert RSS feeds into OSC messages and it seems like Oscar might be a valuable way of helping to do that.

  40. Oliver says:

    Hi, is there a tutorial how to work with the data in Flash … I mean how to parse it? I am getting crazy with this, all code examples I have seen, seem not to work for me.

  41. Oliver says:

    when I trace the data like:

    protected function onXml (e:DataEvent) : void {
    try {

    trace (’1′,typeof(e),e);
    trace (’2′,typeof(e.data),e.data );

    }

    I get Data from TochOSC like the following … how should I handle the date?

    ——- trace ——

    1 object [DataEvent type="data" bubbles=false cancelable=false eventPhase=2 data="/1/fader1"]
    2 string /1/fader1
    1 object [DataEvent type="data" bubbles=false cancelable=false eventPhase=2 data=""]
    2 string
    1 object [DataEvent type="data" bubbles=false cancelable=false eventPhase=2 data=""]
    2 string
    1 object [DataEvent type="data" bubbles=false cancelable=false eventPhase=2 data=",f"]
    2 string ,f
    1 object [DataEvent type="data" bubbles=false cancelable=false eventPhase=2 data=""]
    2 string
    1 object [DataEvent type="data" bubbles=false cancelable=false eventPhase=2 data="?u2Å/1/fader1"]
    2 string ?u2Å/1/fader1
    1 object [DataEvent type="data" bubbles=false cancelable=false eventPhase=2 data=""]
    2 string
    1 object [DataEvent type="data" bubbles=false cancelable=false eventPhase=2 data=""]
    2 string
    1 object [DataEvent type="data" bubbles=false cancelable=false eventPhase=2 data=",f"]
    2 string ,f
    1 object [DataEvent type="data" bubbles=false cancelable=false eventPhase=2 data=""]
    2 string
    1 object [DataEvent type="data" bubbles=false cancelable=false eventPhase=2 data="?jïÌ/ping"]
    2 string ?jïÌ/ping
    1 object [DataEvent type="data" bubbles=false cancelable=false eventPhase=2 data=""]
    2 string
    1 object [DataEvent type="data" bubbles=false cancelable=false eventPhase=2 data=""]
    2 string
    1 object [DataEvent type="data" bubbles=false cancelable=false eventPhase=2 data=","]
    2 string ,
    1 object [DataEvent type="data" bubbles=false cancelable=false eventPhase=2 data=""]
    2 string
    1 object [DataEvent type="data" bubbles=false cancelable=false eventPhase=2 data=""]
    2 string
    1 object [DataEvent type="data" bubbles=false cancelable=false eventPhase=2 data="/1/fader1"]

  42. Marcello says:

    Hi all!
    Here is my problem:
    I have a problem of security policies.
    I have a linux machine on which it runs firefox with a SWF who tries to connect to a minimac with Oscar.
    If I connect from FlashBuilder as adobeAir app in the browser or the Flash Player to be launched filesystem, it works great.
    But both my pc with wamp, that from linux, if I run the swf in the browser via localhost, violation occurs in the sandbox.

    On the linux machine is present in the root directory, the file crossdomain.xml configured as follows:

    Hope someone can help me…
    tanx!

  43. [...] night I stumbled across Oscar (via Ben Chun, the creator of flosc). It’s a simple Cocoa app that listens for OSC messages [...]

  44. Hi, I desire to subscribe for this website to take hottest updates, so
    where can i do it please assist.

  45. Good addition! Yet I’m more interested in the grand theme you’re using, mind sharing the title?

Leave a Reply