FTAP RELEASE NOTES: Version 2.1.05
----------------------------------------------------------------------

Revision Notes: 
2.1.03: First public release
2.1.04: Version that (finally, I hope) fixes all problems with keystroke 
	triggers that change feedback parameters not properly sending a
 	note termination event if they occur between a key press and a key
	release. Big change to map.c, small change to ftap.c. The documentation
	has not been updated (e.g., Reference Manual section 4.7.1). NOTE:
	this fix seems to work, but really needs more testing to see if
	there are subtle issues with controllers or multiple feedback
	channels.
2.1.05: Minor bug fix in check_soundnote() (map.c); controllers were not 
	handled correctly. Update documentation.

---------------------------------------------------------------------- 
FTAP is a Linux-based, MIDI-based program for running tapping and music
experiments, available in source code form under the GNU Public License
Agreement. If you're reading this, you hopefully already know why you're
interested in it, so I will not convince you that you should be. 
See the User's Guide for some description.


It is probably the case that for this first release of FTAP, some
minimal knowledge of Linux and programming will be useful. This version
should probably best be viewed as a "beta" release, as only one person
besides myself has actively used FTAP, and no one has ever tried
to work with it straight from this distribution.  However, I've done a 
lot of testing, and do not know of any unknown bugs :-) ).

The 'bin' directory contains a 'ftap' binary which can be installed
wherever you want it (your personal 'bin' directory for initial evaluation,
perhaps /usr/local/bin later). There are no required auxiliary files.
This binary has been run on a Pentium II machine running a Redhat 6.1 
or 6.2 distribution (Linux 2.2 kernel). To get reliable millisecond
timing FTAP should be run as setuid 'root'; this allows use of
the sched_setscheduler() system call  SCHED_FIFO mode, and sub-millisecond 
use of the "/dev/rtc ". However, evaluation and most testing 
can be done  with normal user permissions. You will need root permission
to configure FTAP as setuid 'root'. If your system is administered by
someone else, they will have to do this for you.  If you choose to run
as setuid root, you should certainly consider compiling from the source
code if you have not already done so.

See the User's Guide and Reference Manual for fuller installation comments.

Comments/questions/bug reports to sf@csml.som.ohio-state.edu. Or see the web
page at "http://csml.som.ohio-state.edu/ftap" for current contact 
information.

Steve Finney

----------------------------------------------------------------------------
Distribution hierarchy:

src/: FTAP sources (in C).  

bin/: Intel binary for FTAP compiled on my system.

params/:  A bunch of parameter files to demonstrate some of FTAP's capabilities,
	and to get you started. The "demo" subdirectory is probably the best
	place to start.

doc/: Rough draft forms of FTAP documentation, both a User's Manual and
	a Reference Manual. These should be accurate and complete, but may
	not yet be well organized, written, or proofread. There is currently
	no man page.  The docs will improve with time; feel free to volunteer!

utils/: a directory containing subdirectories with potentially useful 
	auxiliary  C source (not all of which is  currently being maintained 
	or likely to work). See the README there.


-----------------------------------------------------------------------------

Currently, there is no makefile in the src directory. The "makeftap" script 
will compile ftap, and "installftap" is what I use for installation (look 
at this, it may not suit your configuration!).  Running as setuid root
is what I recommend for data collection, but it may not be necessary
for evaluation. You should know exactly what this means before you 
configure it this way.

In general, I suggest you do the recompile on your own system. This is
partly for my benefit: I would like to know about problems compiling FTAP 
on other systems, e.g., include files, compilers, libraries. This is also
for your benefit; I recommend that you run FTAP as setuid() root, and
running an unknown setuid binary is not generally a good idea. Compiling will
all least verify that your binary matches the sources (which you can
then look at if you want to).
