
playftap.c is a program for playing ftap output files (with a .abs suffix);
it has a bunch of arguments for playing certain subcomponents of the 
file. Specifically, according to the source as of 9/4/00,:

*******************************************************************************

  
   playtap.c: This is a playback program for FTAP output files, making
   it possible to listen to the data files (including
   things one didn't hear when running the experiment, like the keystrokes
   themselves!).  Various aspects of what you hear can be specified by
   command line arguments. It currently requires that the input file have
   the .abs suffix created by FTAP.  It defaults to playing keystrokes if 
   nothing else is specified.

   This code has not been kept up to date, but should work. The accuracy
   of the program argument descriptions needs to be verified.

   USAGE: there are a bunch of command line arguments which allow choosing 
	exactly what to listen to. It will not be possible to listen to "junk" 
	events (masking noise), however, you may want to listen to trigger 
	events (to know where things changed). You certain want to listen to 
	keystroke events, which on the original run did not (in and of 
	themselves) make any noise. This means that it may be necessary to
	allow specifying MIDI channel for keystokes, since the input keystroke
	value may not be suitable for the tone generator.

	playftap usage is as follows, where all arguments (except filename)
	are optional.  This program currently only plays one file at
	a time.

	playtap -kmft -R<ratio> -T<tchan> -U<tnote> -C<keystrokechan>
		-K<keystrokeadd> -S<startpoint> filename

	The "k", "m", "f", and "t" turn on playback of keystrokes, metronome, 
	feedback, and trigger events respectively; you can play these 
	simultaneously in any combination. Since trigger events in the
	file  don't have a MIDI channel or note, the "T" and "U" arguments
	allow overriding the built-in defaults of 1 and 120 for channel and 
	note, respectively. (The sounding time of 75 ms and velocity of
	100 for trigger playback are hardwired).
	Since keyboard midi channel input doesn't necessarily correspond to a 
	reasonable sound, "C" allows overriding the MIDI channel in the
	input file (perhaps a note should be added, at least
	for tapping (vs musical) experiments), and "K" provides a value you
	can add to keystroke velocity values (to make them louder); its use
	automatically turns on keystroke audio ouptut. The "S" flag
	allows for a millisecond time (from file start) for when playback 
	of the file should begin. The "R" flag allows for altering the
	rate of playback (slowing down in sometimes useful); 2.0 will play
	at half speed, .5 will play at double speed.
	
*************************************************************************

playftap.c uses a bunch of FTAP code in a not-very-well-designed way.

playftap can behave in a counterintuitive fashion. The flags allow you to
choose what to hear (e.g., only feedback events). If there is nothing to
play, playftap will return "immediately". However, the default if Keystroke
only, so if for some reason you had a file composed of only Feedback
events, playftap on that file would return immediately, playing nothing.
See, e.g., the files "feedonly.abs" and "mixed.abs" in the test
subdirectory.
