« proceedings | Home | thesis »

video 1


Trackbacks & Pingbacks


  1. * Pawel Solyga says:

    Really nice. Thanks for posting the video. I would like to use it for NUI Group GSoC Summary blog post πŸ™‚

    | Reply Posted 9 years, 8 months ago
  2. * Delsa says:

    sei bravissimo….
    sono anchio di pisa…un giorno mi devi far vedere il tuo multitouch…lo voglio fare anchio…

    | Reply Posted 9 years, 7 months ago
  3. * Sandor says:

    Hey Alessandro,

    it is looking very nice on the video. I have downloaded your source and also your binaries from the google page. Having problems with both. The mono project will not compile – it is giving me a few errors. The binary is giving me following errors:

    Last login: Mon Nov 3 17:06:11 on ttys000
    Sandor-Rozsa-Mac-Pro:~ Local_01$ /Users/Local_01/Downloads/GrafitiDemo\ bin\ macos/GrafitiDemo ; exit;
    dyld: Library not loaded: /Library/Frameworks/Mono.framework/Versions/1.9.1/lib/libgthread-
    Referenced from: /Users/Local_01/Downloads/GrafitiDemo bin macos/GrafitiDemo
    Reason: image not found
    Trace/BPT trap

    I am running OSX 1.5.5. and installed the latest Mono version from the mono-webpage. Would love to have a look at Grafiti on my table…

    Any ideas?



    | Reply Posted 9 years, 7 months ago
  4. * Alessandro says:

    Hello Sandor,

    I thought to have merged all the dependencies (including mono) in the executable, as in my friend’s computer who hasn’t mono it did work. I’ll try to make another binary with the file you’re missing (but not today, sorry). By the way I have tiger not leopard.

    About the source, the program is composed by two projects: GrafitiFramework and GrafitiDemo. To compile them you need to have the Tao Framework and reference Tao.OpenGL.dll and Tao.FreeGlut.dll (search them in the framework’s folders).

    Please let me know if you still have problems.



    P.S. The current published code is not up to date. There have been changes in both the framework and the demo. So for example you won’t find the calculator of the video. In a couple of months I’ll have published the new code and documentation.

    | Reply Posted 9 years, 7 months ago
  5. * Sandor says:

    Hi Alessandro,

    >>To compile them you need to have the Tao Framework and reference
    >>Tao.OpenGL.dll and Tao.FreeGlut.dll (search them in the framework’s folders).

    Well it seems that i have some more problems. The mono version that i have downloaded (i am a completly novice in this things!) is v.2 – it seems that you are using 1.9…

    Also: i have no clue how to reference the Tao framework components…

    Anyhow if you have the time (no hurry) to manyge a new bin, it would be nice… Will check back regulary your site… πŸ™‚



    | Reply Posted 9 years, 7 months ago
  6. * Alessandro says:

    Hi Sandor,

    You’re right, mono 2 has recently been released πŸ™‚ but that shoudn’t be a problem.
    Just look for those Tao’s dlls with the finder. Then in the grafiti framework project you have to “add reference”. A 3-tabbed window will open. The last tab is to select a reference from a file, and is where you have to specify those freeglut and opengl files.
    Sorry but I’m really very busy with my thesis so I think I won’t upload a new binary soon (also because the project is still in the alpha state). It already took me some time to make that one!

    Let me know if you still can’t compile.




    Thank you guys for your comments!!!

    | Reply Posted 9 years, 7 months ago
  7. * Alessandro says:

    I answer lagerkoller that left a comment on NUI group’s site:

    You’re right, the video doesn’t show the lines of code…
    You can register gesture event handlers like this for example:

    GestureEventManager.RegisterHandler(typeof(BasicMultiFingerGR), "Tap", OnTap);

    Where OnTap is defined for every object associated with a tangible.

    Another more complex example.
    To link two tangibles I first set a priority number (2) for the relative gesture recognizer.

    GestureEventManager.SetPriorityNumber(typeof(MultiTraceGR), 2);

    Then I set the handler for the relative event

    GestureEventManager.RegisterHandler(typeof(MultiTraceGR), "MultiTraceFromTo", OnMultiTraceFromTo);

    For the remove link gesture (in a drag) I first
    create an object to configure the gesture recognizer. It will be used as a resource to have access to the set of links between the tangibles.
    (In the previous examples the configurator is the default one).

    RemovingLinkGRConfigurator removingLinkGRConf = new RemovingLinkGRConfigurator(this);

    Then I set again a priority number, 1 in this case (higher priority than 2), for this GR with this configuration.

    GestureEventManager.SetPriorityNumber(typeof(RemovingLinkGR), removingLinkGRConf, 1);

    Now register the handler

    GestureEventManager.RegisterHandler(typeof(RemovingLinkGR), removingLinkGRConf, "RemoveLinks", OnRemoveLinks);

    When you’ll “remove a link” with a drag, there’s no way that this drag can also be interpreted as a “make a link” (although the “make a link” GR could successfully recognize that gesture), because of the priority of the GRs and because, by default, GRs are exclusive, so that only one can be “armed” to raise events.

    Hope this clears.


    | Reply Posted 9 years, 7 months ago
  8. * Johannes says:

    (i’m lagerkoller)
    hi alessandro
    thank you very much for your comprehensive answer.

    i’ve tested Grafiti on my multi-touch table under windows xp with my mac mini. everything looked quite impressive and worked well.

    i couldn’t precisely calibrate grafiti. that is something i have not understood: i have calibrated Touchlib (or i have calibrated reactivision). so why do i have to configure Grafiti?

    what i actually wanted to know from you if you have any application ideas with Grafiti. i think the current version of Grafiti is more a framework than an application isn’t it?

    | Reply Posted 9 years, 7 months ago
  9. * Alessandro says:

    Hi Johannes,

    the calibration is needed for example if you want to use a projector placed under the MT table. Ehmm.. sorry, I left the default calibration as the one I was using. Just press ‘C’ and then the arrow keys, possibly holding SHIFT or ALT.

    Grafiti is clearly a framework. The demo application of the video is just a proof of concept (and possibly a ready-to-use test environment). Maybe one day reactable will use the framework and for a better integration Grafiti may be translated in C++ (instead of embedding Mono).
    Currently there aren’t other precise ideas.


    | Reply Posted 9 years, 7 months ago
  10. * Sandor says:

    Hey Alessandro,

    finaly i had some time to play around with mono – thanks for your help. It is working now with mono also under OSX… Very nice ideas for GR! I think that the MT-community should have something like this as a framework – ideally as cross-platform. But since we are going for OSX, i will discuss that with Ben the next few days…

    Thanks for the good work!

    | Reply Posted 9 years, 7 months ago
  11. * Alessandro says:

    by the way, I would like to know if someone has successfully run the demo under Linux.

    | Reply Posted 9 years, 7 months ago
  12. * Lode says:

    It runs fine on Linux (Ubuntu Karmic 9.10).
    Nice work!

    | Reply Posted 8 years, 7 months ago
    • * Alessandro says:

      Thank you for your comment πŸ™‚

      | Reply Posted 8 years, 7 months ago

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: