Download Latest Version libtisch2-2.0.2.zip (1.9 MB)
Email in envelope

Get an email when there's a new version of TISCH

Name Modified Size InfoDownloads / Week
Parent folder
README 2011-11-08 5.1 kB
libtisch2-2.0.2.zip 2011-11-08 1.9 MB
libtisch2-2.0.2.tar.gz 2011-11-08 1.6 MB
Totals: 3 Items   3.5 MB 0
TISCH Framework - Release 2.0 "Better Late Than Never"
======================================================

"Tangible Interactive Surfaces for Collaboration between Humans"

The TISCH framework supports cross-platform development of multitouch
applications. For details on the underlying architecture and source 
code documentation, please visit the Sourceforge website:

http://tisch.sourceforge.net/


Highlights
----------

- ready-to-use multitouch widgets based on OpenGL
- reconfigurable, hardware-independent gesture recognition engine
- support for widely used (move, scale, rotate..) as well as custom gestures

- hardware drivers for FTIR, DI, Wiimote, Kinect..
- native use of popular TUIO 2.0 transport format

- cross-platform: Linux, MacOS X, Windows (32 and 64 bit)
- cross-language: C++ with bindings for C#, Java, Python


Directory Layout
----------------

libtisch2-2.0/
	calibd/      Calibration Layer
	drivers/     Hardware Abstraction Layer (HAL)
	gestured/    Generic Gesture Recognition Layer
	libs/        various helper libraries & wrappers for C#, Java, Python
	scripts/     build scripts
	widgets/     OpenGL-based Widget Layer


Quick Start
-----------

If you only have a mouse and want to give it a try:

	1. run "demo -m" (enables mouse emulation mode)

If you have a camera-based input device, e.g. an FTIR table or a Kinect:

	1. run "touchd -V -c example.xml" (this is the most basic mode, just tracks bright blobs)
	2. run "calibtool -f" and follow the instructions (this is necessary only once)
	3. run "calibd", if not already running
	4. run "demo"


Notes about demo programs
-------------------------

All of the demo programs (picview, slideshow, graph, demo) accept '-m' as first
parameter, switching them to mouse emulation mode. picview and slideshow take a
list of PNG images to display as additional parameters.

In mouse emulation mode, you can move elements with click-and-drag. Rotate them
by clicking any mouse button and scrolling the mouse wheel. Scale them by
additionally pressing CTRL while using the wheel.

NOTE: if you are running an X server with XInput2 support (commonly known as MPX),
you can actually use multiple mice to emulate multitouch fairly well.


Building & Requirements
-----------------------

Windows (tested with Visual Studio 2008 on Windows XP and Windows 7)

	Requirements:
	- Windows SDK 6.1 or greater (for DirectShow camera input)
	- freeglut 2.4.0 or greater (preferably 2.6.0)

	You need to have the Windows SDK & freeglut 2.4.0 or greater installed. By
	default, the include paths point to a "freeglut" directory in the same parent
	folder as the "libtisch-1.0" directory and to the default Windows SDK install
	directory.

	If you installed your libraries somewhere else, you may need to adjust these
	paths. To do so,
	- open libtisch.sln in Visual Studio. 
	- Go to "Property Explorer".
	- Expand the tree until	you see the "common" property page and open it.
	- Click on "User Macros" and enter the correct path for "freeglut".

	The same applies to "winsdk", which should point to the location where your
	Windows SDK (formerly Platform SDK) is installed.

	Then, just select the Debug or Release config and build the solution. All libs 
	and binaries should be created in the appropriate output directory.

Linux   (tested with gcc 4.4.4 on Ubuntu 10.10 and gcc 4.5.2 on Ubuntu 11.04)
MacOS X (tested with gcc 4.0 on MacOS X 10.5 and gcc 4.2 on MacOS X 10.6)

	Requirements:
	- freeglut 2.4.0 or greater (Linux only - use "apt-get install freeglut3-dev")
	- libdc1394 2.0.0 or greater (optional - for Firewire cameras)

	If you want to use a Firewire camera, install libdc1394 v2.0.0 or greater
	first. Take care that pkg-config knows about it. For Linux, you should also
	have installed a GLUT library (preferably freeglut 2.6.0 or greater) in your
	system include/library paths.

	Then, simply run "make all && make install" to build all binaries and put 
	them into build/{bin,lib}/. Don't forget to add the lib directory to the 
	library path (LD_LIBRARY_PATH on Linux, DYLD_LIBRARY_PATH on MacOS X). You 
	can also run "make" without arguments to review the other available parameters.

	If you wish to install the binaries to a system directory such as /usr/local,
	set the DESTDIR (installation directory) and PREFIX (runtime prefix) variables
	when running make, e.g. as "make DESTDIR=/tmp/ PREFIX=/usr/local/ install".

	The default method for camera access is through libdc1394 with Video4Linux as
	fallback. Note that camera access has been tested with several different types
	of Logitech QuickCams (both PWC- and UVC-based USB types) and with Pointgrey
	FireflyMV Firewire cameras.


Known Issues
------------

- Documentation is lacking - check the Sourceforge Wiki for more information.
- The example configuration files are rather convoluted.
- The graphical frontends also accept TUIO 1.0 data, but the object types may
  or may not match. Check the Wiki at www.tuio.org for details.

Source: README, updated 2011-11-08