TPLAY 0.6.1 is a buffered audio player for Linux 2.0 or newer, Solaris and BSD's. RIFF/WAVE (WAV) and Sun audio (AU) file headers are recognized.

Screenshot of tplay in work and top of it.


CHANGES

Version 0.1, 2.4.1997:

	- the first released version

Version 0.1.1, 5.4.1997:

	- audio sync added before changing parameters.

Version 0.2, 9.4.1997:

	- it was useless to start producer as a thread;
          it was made that way just for historical reasons.
          only consumer is threaded now. this may result
	  as more robust behaviour.

	- there are min and max sizes for block now. i'm
	  not sure yet what size for a block and the audio
	  buffer would be good. needs more research.

	- fill_buffer function. fills the audio buffer 
	  before use.

Version 0.2.1, 15.4.1997:

	- signal() seems to be a bad idea in a threaded
	  application like this. causes kernel oops in
	  the sound driver function audio_write (sometimes). 
	  let's have faith on the kernel and remove it.

Version 0.2.2, 17.4.1997 morning:

	- the last block was written from very wrong point.	

	- block counting added. this makes stream ending
	  simpler and (hopefully) more robust.

	- first lines for handling underflow (buffer empty)
	  situation

Version 0.3, 17.4.1997 afternoon:

	- underflow handling should work now.

	- function buffer_usage added. returns buffer usage
	  in percentage. nowhere used yet.

	- minimum block size increased to 16k.

Version 0.3.1, 19.4.1997:

	- GNU style options.

	- option -v (or --version) added.

	- buffer usage option -u (or --usage) added.

Version 0.4, 2.5.1997:

        - support for RIFF/WAVE (WAV) and Sun audio
          (AU) files.

        - swap endianness flag -x (or --swap) added.

        - verbose mode flag -V (or --verbose) added.

        - force raw flag -r (or --raw) added. WAV- or
          AU-file headers are ignored if this flag is set.

Version 0.4.1, 3.5.1997:

	- sun header gives odd aligned starting point
	  for sample. temporary fix.

	- read_big_endian_long returned wrong value if
	  sampling rate was 44100. this caused tplay
	  not to work with that speed when playing sun
	  audio or wav file. fixed now.

Version 0.4.2, 7.5.1997:

	- read_big_endian_long and similar functions:
	  parameter's type was char* and that was a bug.
	  changed to byte* (unsigned char *). conversion
	  should also be saner now.

	- force playing -f (or --force) flag added. this
	  makes tplay to ignore sound driver's results
	  when changing parameters.

Version 0.4.3, 12.5.1997:

	- binary is statically linked to LinuxThreads 
	  version 0.6 now.

	- print sun header comment if verbose is requested.

	- sun audio file's data stream starting pointer
	  is read and set from the header.

	- to avoid rounding errors when playing 16bit
	  and/or stereo (au or wav) sample, data section	
	  is moved now to the beginning of buffer before
	  playing.

Version 0.5, 23.10.1997:

        - set_audio_parameters() partly rewritten and 
          changes to open_audio().

        - in some WAV-files, data-portion is not started
          with 'data'-magic but 'INFO' instead. some
          players don't even check that so tplay prints
          just a warning message now if neither of these
          magics exists.

Version 0.5.1, 25.10.1997:

        - printing of buffer usage changed from producer
          to consumer. this makes this silly feature a bit 
          more informative as it is still active after the
          producer has stopped. underflow situation (when
          the big buffer needs to be refilled) is also
          possible to show now. 

Version 0.5.2, 9.5.1998:

        - Jerko Golubovic kindly modified the code to support 
          those soundcards that may result slightly different 
          sampling rate than requested. he also provided RPM of tplay.

        - added -D (or --device=DEVICE) flag for setting
          audio device to be used.

        - added feature to -B (or --buffer-size=SIZE) flag.
          buffer size can be given in seconds now, too.

Version 0.5.3, 11.5.1998:

        - rewrite of playing routine to support multiple 
          sound samples from command line.

Version 0.5.4, 19.5.1998:

        - added -l (or --loop) flag to support looping sound
          samples.

        - sun port.

Version 0.5.5, 24.5.1998:

        - added environment variable TPLAYDEV, which sets the 
          audio device to be used. decoding of command line
          options is moved from main() to another function.

Version 0.5.6, 20.1.1999:

	- sun/sparc port fixes: recognize u-law sun audio. 
	  {sync,reset,post}_audio functions implemented for
	  sun. recognize sun AUDIODEV environment variable.
	  etc etc. thanks to Derrick.

Version 0.6.0, 15.8.2001:

        - GNU configure
        - BSD audio (via "Linux emulation" soundcard.h)
        - Solaris audio device should work
        - major changes to buffering: previously, sound blocks
          were counted to keep track of read/write positions but
          now only difference of them is stored. problems when
          playing huge audio samples (like over 2TB) are thus avoided.

Version 0.6.1, 14.8.2002:

	- Richard Wilson modified WAV-file stuff to detect copyright
	  text in the end of a sample. usleep() is also replaced with
	  select().


Loading Linux...
[...]
Mounting remote filesystems...
Found an unallocated partition (Microsoft VFAT filesystem) on /dev/sda4
Starting mke2fs...
[...]
Writing inode tables: done     
Writing superblocks and filesystem accounting information: done
Mounting new 1694826 free blocks for ext2 filesystem on /dev/sda4

SourceForge Logo
1995-2002 ilkka karvinen
Last update: Fri Apr 12 12:51:19 EET DST 2002