front_idill/extern/fajran-npTuioClient/README.md
author bastiena
Fri, 06 Apr 2012 10:44:54 +0200
changeset 21 e4e5f02787a1
permissions -rw-r--r--
Front IDILL : Added Communication extern named fajran-npTuioClient It contains the project generating a dll used as a browser plugin.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
21
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
     1
npTuioClient
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
     2
============
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
     3
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
     4
npTuioClient is a TUIO Client implemented as an NPAPI-based browser
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
     5
plugin. It uses [reacTIVision's](http://reactivision.sourceforge.net/)
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
     6
TUIO Client as a base.
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
     7
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
     8
The plugin constantly calls a javascript function `tuio_callback`
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
     9
whenever a new touch event arrives. Having this function called, you
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    10
can start using javascript to manipulate HTML, Canvas, SVG, etc in
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    11
order to create a multi-touch application!
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    12
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    13
Check the included examples to see how to use this plugin. Check also
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    14
[TUIOjs](http://github.com/fajran/tuiojs/tree/master) to see more
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    15
examples.
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    16
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    17
The plugin has been tested and works on
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    18
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    19
* Windows XP: Firefox 3.0.10, Google Chrome 2.0.172.33, and Safari 4.0.
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    20
* Linux (Ubuntu 8.04): Firefox 3.0.11
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    21
* Mac OS X 10.4.11: Firefox 3.5rc3 and Safari 4.0
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    22
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    23
It doesn't work on Opera 9.64 on Windows XP nor Internet Explorer.
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    24
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    25
To make the plugin works on Internet Explorer, the plugin has to be
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    26
ported (or wrapped) to an ActiveX-based plugin first. This is needed
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    27
since Internet Explorer doesn't support NPAPI-based plugin.
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    28
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    29
Download
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    30
--------
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    31
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    32
* [Windows](http://cloud.github.com/downloads/fajran/npTuioClient/npTuioClient-0.2-win.zip)
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    33
* [Linux](http://cloud.github.com/downloads/fajran/npTuioClient/npTuioClient-0.2-linux.tar.gz) (Ubuntu 8.04 i386)
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    34
* [Mac OS X](http://cloud.github.com/downloads/fajran/npTuioClient/npTuioClient-0.2-mac.zip)
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    35
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    36
Compilation
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    37
-----------
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    38
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    39
### Windows
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    40
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    41
Open the Visual C++ project/solution file and build. I use Visual C++
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    42
2008 Express Edition.
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    43
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    44
### Linux
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    45
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    46
Go to the project directory and type `make`.
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    47
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    48
### Mac OS X
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    49
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    50
Open the Xcode project and build. I use Xcode 2.5 under Mac OS X 10.4.11.
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    51
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    52
Installation
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    53
------------
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    54
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    55
### Windows
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    56
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    57
Put the plugin file `npTuioClient.dll` under Firefox'/Mozilla's
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    58
`plugin` directory. Mine is `C:\Program Files\Mozilla
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    59
Firefox\Plugins`.
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    60
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    61
If you are using Google Chrome, put the plugin under
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    62
`C:\Users\<user>\AppData\Local\Google\Chrome\Application\Plugins`. Create the
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    63
directory if necessary.
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    64
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    65
### Linux
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    66
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    67
Put the plugin file `npTuioClient.so` under `~/.mozilla/plugins`.
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    68
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    69
### Mac OS X
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    70
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    71
Put the plugin bundle `npTuioClient.plugin` under `~/Library/Internet Plug-Ins/`.
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    72
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    73
Usage
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    74
-----
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    75
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    76
Install the plugin, open one of the example files on your browser and
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    77
start using your multi-touch display!
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    78
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    79
You can open multiple tabs or windows as long as they belong to the
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    80
same browser instance. The plugin can't be used from multiple browsers
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    81
at a time. This is because the TUIO Client library can only be started
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    82
once at a time.
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    83
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    84
Issues
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    85
------
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    86
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    87
* Firefox on Mac OS X crashes when the plugin is unloaded (all pages
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    88
  that use the plugin are closed). This doesn't happen on Safari 4.0.
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    89
  
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    90
  TODO: check plugin's shutfown and bundle unloading.
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    91
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    92
* Firefox on Linux can't cleanly close the TUIO connection. So, the
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    93
  browser has to be restarted if the plugin want to be loaded again.
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    94
  
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    95
  TODO: check TUIO Client's stop function.
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    96
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    97
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    98