Oscar 1.0 released!

8 April 2009 by Fabio Cionini
The Oscar user interface.

The Oscar user interface.

ToDo is happy to release its first free, open-source Mac Os X application.

You can download it here!

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.

Bookmark and Share

Tags: , ,

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

Leave a Reply