          _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_

          This file announces the release of wavplay 1.0.

                       Warren W. Gay VE3WWG
             wwg@ica.net, bx249@freenet.toronto.on.ca

		    GNU GENERAL PUBLIC LICENSE
		       Version 2, June 1991

		        (See file COPYING)

          -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-


At  long  last, is a new version of wavplay to correct many of the evils
of the  old version of the same.

This version represents almost a total rewrite. Some of my original code
survived  (most  notably  the  locks.c  module), but not much else.  The
original sources by  Andre Fuechsel  have been  completely replaced with
code  from  myself and code  kindly  provided by  Erik  de  Castro  Lopo
(erikd@zip.com.au) that  reads  and  writes  the WAV header files.  This
combination  resulted  in fixing many outstanding  problems, including a
stereo  play bug  and  the  elimination of most WAV header file problems
that were being reported.

The  current version should play almost all existing WAV files, with the
exception of those rare files that may contain SLNT or LIST chunks. This
may be addressed at a later version, if samples of these rare beasts can
be provided by someone, and they prove to be less than rare.


------------------------------------------------------------------------
WHAT'S NOT INCLUDED :
------------------------------------------------------------------------

Some of you have asked about compressed formats. Sadly this is still not
supported,  since I do not have any documentation or example software to
code  from.  If  someone  can  scare  up  documentation,  postscript  or
otherwise,  or even readable sample code, then perhaps this can be added
in  a future version.  Send all documentation to wwg@ica.net, or if that
account   should  cease  to  exist,  then  use  my  standby  account  at
bx249@freenet.toronto.on.ca.


------------------------------------------------------------------------
CURRENT FEATURE SET :
------------------------------------------------------------------------

The  current version comes to you as a result of numerous email requests
for fixes  and  feature  enhancements.  Given the apparent importance of
this  program  I  also  decided  to  provide an  X  based front  end  to
complement wavplay, in client/server fashion.

Client/Server  mode  was  adopted to allow better WAV play or WAV record
operation  on  a non-real time operating system.  At the same time, this
simplifies the X based side of things and gives it the freedom to act as
a  normal MOTIF based program.  This works because LINUX can efficiently
schedule  CPU  cycles for the server when they are needed by the server.
Also the client gets CPU when it needs it also. My testing was done on a
snail  like  486DX  33Mhz  CPU, and most of the time it works just dandy
(sometimes  the  _first_  play  of  a  wav file gets a gap glitch as the
shared libraries get snapped etc.)

Since  LessTif  is  maturing, this seemed to be the interface of choice,
and  so xltwavplay  client  program was created using it.  If you have a
real MOTIF 1.2+ library, then this should also work (better in fact, for
the moment).

The xltwavplay program starts up as a X based client, and then forks and
execs  a  copy  of  a wavplay process to act as a server. The client and
server communicate by a  very  efficient  message  queue mechanism (this
means your kernel must have message queue IPC support configured -- most
of you will have this turned on already)

The  xltwavplay  program  now allows the user to point and click his way
through  the  playing  of  selected  wav  files, changing of options and
performing  recordings. One nice  feature for entertaining your kids (or
guests, or perhaps your dog) is the ability to change the sampling rate,
thus raising or lowering the recorded persons voice.

The  basic  wavplay  and  wavrec  programs have been retained, since not
everyone  is running X  on LINUX and wavplay is particularly useful from
shell scripts.

The  ideas from the latest 0.22 release were imported, though Per Harald
Myrvang's  code was not used.  The -Q option was reimplemented as the -q
option,  which implements a quiet mode.  The -i mode option to implement
an  informational  display only was also incorporated into the new code.
Finally,  a more consistantly named -x option was added to implement the
debug option (vs the -D option in the 0.22 release).

The locking features have from 0.21w1 have been maintained. In fact, the
xltwavplay  program  also  makes  use of these automatically so that the
client's  use won't interfere with other system use of the same resource
(from  shell  scripts,  cron jobs etc.)  As a safeguard, xltwavplay will
timeout  with a  message box  if  the resource  remains  locked too long
(default 3  seconds).  This  prevents hanging up the client GUI due to a
locking problem. The xltwavplay program also supports a menu option that
will reset the semaphores upon demand.

xltwavplay is also editres compatible, so that those of you that like to
poke  around  in  the resource files can try different colours and fonts
etc.

------------------------------------------------------------------------
SUMMARY OF NEW FEATURES SINCE 0.21W1 :
------------------------------------------------------------------------

	-wavrec actually works now :)

	-many  wav  header  bug  fixes  (thanks to Erik de Castro Lopo's
	 erikd@zip.com.au WAV header code)

	-rewritten sound driver code (fixes bad stereo handling)

	-q quiet option (inspired by release 0.22)

	-i information option (inspired by release 0.22)

	-x debug option (inspired by release 0.22)

	-client program xltwavplay now provided

	-xltwavplay is MOTIF/LessTif based

	-xltwavplay allows interactive recording sessions

	-xltwavplay is editres ready

	-wavplay  runs  in  server  mode  for xltwavplay client to allow
	almost realtime of WAV file play and record functions (buffering
	in the /dev/dsp allows this to work most of the time)

	--help option is now supported (wavplay/wavrec)

	--version option is now supported (wavplay/wavrec)

	-make of xltwavplay is optional (some users don't/can't run X)

	-xltwavplay  has similar look and feel to the xltmix program for
	the  Soundblaster-16  (if  you  have the SB16/32, you might want to
	consider getting xltmix as well from sunsite to complement your
	tools)


------------------------------------------------------------------------
WAVPLAY/WAVREC REQUIREMENTS :
------------------------------------------------------------------------

	- Probably any kernel released as 1.2.13 or later is a safe bet.
	- Requires appropriate and working sound drivers installed
	- GCC 2.7.2 was used for development and testing
	- C libraries (no g++ libraries required)

------------------------------------------------------------------------
XLTWAVPLAY *ADDITIONAL* REQUIREMENTS :
------------------------------------------------------------------------

	- Mouse
	- Working X Server
	- X based libraries (X, Xt etc.)
	- libXmu.so (unless you uncomment NO_EDITRES option in Makefile)
	- libXm.so (LessTif/or MOTIF)

------------------------------------------------------------------------
HISTORY :
------------------------------------------------------------------------

1.0	The  current release, which includes:

	wavplay				Improved
	recplay				Improved
	xltwavplay			MOTIF/LessTif client (new)

0.22	A modification release by Per Harald Myrvang (perm@bigfoot.com)

	In  this  release,  patched  a  few fixes to the problematic WAV
	header  code,  as  well as added options -Q, -i and -D for quiet
	mode, information display only mode, and debug modes.

0.21w1	A   modification   release   by   myself   of  Andre  Fuechsel's
	(af1@irz.inf.tu-dresden.de) work.

	For  the  most part, this release did not change the WAV aspects
	of  the  program,  but merely added semaphore locking facilities
	and made the  program  more shell friendly.  The executable name
	was changed from the original 'play' to 'wavplay'.

	Andre's  Xplay  was  dropped  from  this  release,  since it was
	available in his original work.

0.21	Andre Fuechsel (af1@irz.inf.tu-dresden.de)

	Apparently  a bug fix release for Xplay.  This appears to be the
	first public release.

0.2	Andre Fuechsel (af1@irz.inf.tu-dresden.de)

	According  to  Andre's  README, it was "(not announced)".  Andre
	also notes that:

	"Some  code  comes  from  the  recplay.c written by Liam Corner,
	posted in the 'Audio Utilities for Linux 2.0' - Package."

------------------------------------------------------------------------
WAVPLAY USAGE :
------------------------------------------------------------------------

Usage:	wavplay [options] [files...]

Options:
	-h	This info (or use --help)
	-q	Quiet mode (no messages)
	-s rate	Sampling rate
	-S	Stereo (undoes -M)
	-M	Mono (undoes -S)
	-b bits	Set number of bits (8/16)
	-k key	Set IPC Key for lock
	-R	Remove and recreate semaphore locks.
	-l	Lock for play.
	-u	Unlock for play.
	-L	Lock for record.
	-U	Unlock for record.
	-i	Display info about wav file(s) only

	-V	Display version and Copyright info (or use --version)

WAV parameters are normally taken from the input file(s),
but command line options can override them if required.

------------------------------------------------------------------------
WAVREC USAGE :
------------------------------------------------------------------------

Usage:	wavrec [options] output_file

Options:
	-h	This info (or use --help)
	-q	Quiet mode (no messages)
	-s rate	Sampling rate
	-S	Stereo (undoes -M)
	-M	Mono (undoes -S)
	-t secs	Set time limit
	-b bits	Set number of bits (8/16)
	-k key	Set IPC Key for lock
	-R	Remove and recreate semaphore locks.
	-l	Lock for play.
	-u	Unlock for play.
	-L	Lock for record.
	-U	Unlock for record.

	-V	Display version and Copyright info (or use --version)

------------------------------------------------------------------------
XLTWAVPLAY USAGE :
------------------------------------------------------------------------

	xltwavplay &


------------------------------------------------------------------------
INSTALLATION :
------------------------------------------------------------------------

See the included file INSTALL for details about installation.

End of README.
