Frameworks and Libraries

From NUI Group Community Wiki

Jump to: navigation, search

This wiki list all the frameworks, libraries, software and other resources to create multi-touch applications. If you know a framework or library that could be used to create multi-touch applications, but has a more generic usage, such as OpenCV and VVVV, please go to Software Resources

NUIGroup Thread Mirror: http://nuigroup.com/forums/viewthread/3823/

Contents

Format

Framework or Library name

Programming Language:
Status: active | inactive
Source code: yes | no
License:
Page:
Description:

The Frameworks and libraries are sorted alphabetically. There is also five categories based on the purpose of the framework or software resource: Vision, Gateway, Client, Simulator and Other.

Vision

ReacTIVision

Programming Language: C++
Status: active
Source code: yes
License: GPL license
Page: http://reactivision.sourceforge.net/
Description: reacTIVision is an open source, cross-platform computer vision framework for the fast and robust tracking of fiducial markers attached onto physical objects, as well as for multi-touch finger tracking. It was mainly designed as a toolkit for the rapid development of table-based tangible user interfaces (TUI) and multi-touch interactive surfaces.

tBeta

Programming Language: C++
Status: active
Source code: not yet
License: MPL or MIT (not defined)
Page: http://tbeta.nuigroup.com/
Description: The Beta, tbeta for short, is a open source/cross-platform solution for computer vision and multi-touch sensing. It takes an video input stream and outputs tracking data (e.g. coordinates and blob size) and touch events (e.g. finger down, moved and released) that are used in building multi-touch applications. tbeta can interface with various web cameras and video devices as well as connect to various TUIO/OSC enabled applications and supports many multi-touch lighting techniques including: FTIR, DI, DSI, and LLP with expansion planned for the future (custom modules/filters).

Touché

Programming Language: Cocoa (Mac)
Status: active
Source code: yes
License: LGPLv3
Page: http://gkaindl.com/software/touche http://code.google.com/p/touche/
Description: Touché is a free, open-source tracking environment for optical multitouch tables. It has been written for MacOS X Leopard and uses many of its core technologies, such as QuickTime, Core Animation, Core Image and the Accelerate framework, but also high-quality open-source libraries such as libdc1394 and OpenCV, in order to achieve good tracking performance.

Touchlib

Programming Language: C++
Status: inactive
Source code: yes
License: New BSD License
Page: http://nuigroup.com/touchlib/ http://code.google.com/p/touchlib/
Description: Touchlib is a library for creating multi-touch interaction surfaces. It handles tracking blobs of infrared light, and sends your programs these multi-touch events, such as 'finger down', 'finger moved', and 'finger released'. It includes a configuration app and a few demos to get you started, and will interace with most types of webcams and video capture devices. It currently works only under Windows but efforts are being made to port it to other platforms.

Gateway

FLOSC

Programming Language: Java
Status: inactive
Source code: yes
License: MIT
Page: http://code.google.com/p/flosc/
Description:

Client

Creative multi-touching

Programming Language: Actionscript 3 (Adobe Air)
Status: active
Source code: yes
License: not specified
Page: http://www.multitouching.nl/page.asp?page=148
Description: Creative Multitouching is a tool on a multi-touch environment to enhance creative projects together. Things to do are drawing, simple writing and search for photo's and video's on Flickr and Youtube and combining them together into a creative collage.

fid_abs

Programming Language: Pure Data
Status: active
Source code:
License:
Page: http://jy.gratius.free.fr/?q=node/82
Description: TUIO framework for bulding applications in Pure Data

Multi-Touch Vista

Programming Language: C#
Status: active
Source code: yes
License: GNU General Public License (GPL) v2
Page: http://www.codeplex.com/MultiTouchVista
Description: Multi-Touch Vista is a user input management layer that handles input from various devices (touchlib, multiple mice, wii remotes etc.) and normalises it against the scale and rotation of the target window. It will allow standard applications to be scaled and rotated in a multi-touch style and receive standardised input. It will also provide a framework on which to build multi-input WPF applications. It supports Windows Vista and XP.

MT4j

Programming Language: Java
Status: Active
Source code: yes
License: GPL v3
Page: http://www.mt4j.org/
Description: MT4j - Multi-Touch for Java™ - is an open source Java™ development platform, created for rapid developement of graphically rich applications. MT4j is designed to support different kinds of input devices with a special focus on multi touch support. Most well known multitouch gestures are already built in and can be accessed as simple as listening to mouse events. It allows hardware accelerated 2D or 3D graphics using a scene graph based on Processing.

PyMT

Programming Language: Python
Status: Active
Source code: yes
License: GPL v3
Page: http://pymt.txzone.net/
Description: PyMT is a python module for developing multi-touch enabled media rich OpenGL applications based on pyglet. Currently the aim is to allow for quick and easy interaction design and rapid prototype development. There is also a focus on logging tasks or sessions of user interaction to quantitative data and the analysis/visualization of such data.

TouchAPI

Programming Language: Action Script 3
Status: ???
Source code: ???
License: ???
Page: ???
Description:

Simulator

SimTouch

Programming Language: Action Script 3 (Adobe Air)
Status: active
Source code: yes
License: MIT License
Page: http://code.google.com/p/simtouch/
Description: SimTouch is another TUIO simulator build using the Adobe Air runtime. The core benefit to using SimTouch is the transparent background allowing the application developer to have a better grasp of what he/she is 'touching'.

TUIO Simulator

Programming Language: Java
Status: active
Source code: yes
License: GNU General Public License
Page: http://reactivision.sourceforge.net/#files
Description: The TUIO Simulator is part of the reactivision toolkit.

Other