 _____               __        ______       _
|_   _|   _ _ __   __\ \      / /  _ \ ___ | |_ ___  _ __
  | || | | | '_ \ / _ \ \ /\ / /| |_) / _ \| __/ _ \| '__|
  | || |_| | |_) |  __/\ V  V / |  _ < (_) | || (_) | |
  |_| \__, | .__/ \___| \_/\_/  |_| \_\___/ \__\___/|_|
      |___/|_|   Time Based Text                      v0.4
               http://tbt.dyne.org


  finger[k].start = j+2^{o+1} % (2^y);
  finger[k].interval = finger[k+1].flick - finger[k].flick;



Record and playback keystrokes with performance time emphasis.

This software permits to carry more information in written text by
saving the time delta beween keypresses and offering a way to
reproduce it.

This reference implementation is written in POSIX C, portable to most
platforms, GNU/Linux and Apple/OSX binaries are provided for download,
along the open source code.




::::: TRY IT (for text terminal beginners)

This is an Command Line Interface based program,
still the following instructions are user friendly:

- download from http://typewrotor.dyne.org

- unpack the tar.gz compressed archive

- open a Terminal

- type:
$ cd typewrotor
$ ./rectext.osx         # or ./rectext on GNU/Linux

= have phun with monkey typing and/or write your poetry

- press Ctrl-c (the Control key and the C key at same time)

- type:
$ ./playtext.osx        # or ./playtext on GNU/Linux

= read yourself again while typing





::::: COMPILE THE SOURCE

If you have a sane GNU/GCC compile environment[*] cd into the
sourcecode directory and type:

$ make

requirements are:

- C++ compiler
- C++ Standard Template Library
- S-Lang libraries (text console handling)

[*] GNU/Linux, BSD, Apple/OSX with XCode, CygWin with GCC




::::: VISIONS (so far)

- Mail client plugin (editor and viewer)
- ASCII Art, Poetry, Empathy
- TeleText (the next generation)
- Educational purposes
- go Pallotron, go! :)



::::: PROTOCOL

In the .tbt format, text is saved with a timestamp for each letter:

         ________ _________ _____________
        |  uint  |  uint   |    uint     |
        |  64bit |  32bit  |    32bit    |
         -------- --------- -------------
....    |  char  | seconds | nanoseconds |    ....
         -------- --------- -------------
        |    Total: 128bit / 16 byte     |
         --------------------------------

However export to different formats is planned including generation of
web-ready code in HTML and Javascript, a daemon to provide timed input
thru a socket on the network (TCP/IP) and what not.

Input is captured from the console, but can be extended to intercept
any application using some h4x0r keylogging technique on different OS.




::::: DISCLAIMER

TBT is Copyleft 2006 by Jaromil & Jodi
commissioned by the Impakt.nl festival

This source code is free software; you can redistribute it and/or
modify it under the terms of the GNU Public License as published 
by the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.

This source code is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Please refer to the GNU Public License for more details.

You should have received a copy of the GNU Public License along with
this source code; if not, write to:
Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
