3
- the first released version
7
- audio sync added before changing parameters
11
- it was useless to start producer as a thread;
12
it was made that way just for historical reasons.
13
only consumer is threaded now. this may result
14
as more robust behaviour.
16
- there are min and max sizes for block now. i'm
17
not sure yet what size for a block and the audio
18
buffer would be good. needs more research.
20
- fill_buffer function. fills the audio buffer
23
Version 0.2.1, 15.4.1997:
25
- signal() seems to be a bad idea in a threaded
26
application like this. causes kernel oops in
27
the sound driver function audio_write (sometimes).
28
let's have faith on the kernel and remove it.
30
Version 0.2.2, 17.4.1997 morning:
32
- the last block was written from very wrong point.
34
- block counting added. this makes stream ending
35
simpler and (hopefully) more robust.
37
- first lines for handling underflow (buffer empty)
40
Version 0.3, 17.4.1997 afternoon:
42
- underflow handling should work now.
44
- function buffer_usage added. returns buffer usage
45
in percents. nowhere used yet.
47
- minimum block size increased to 16k.
49
Version 0.3.1, 19.4.1997:
53
- option -v (or --version) added.
55
- buffer usage option -u (or --usage) added.
57
Version 0.4, 2.5.1997:
59
- support for RIFF/WAVE (WAV) and Sun audio
62
- swap endianness flag -x (or --swap) added.
64
- verbose mode flag -V (or --verbose) added.
66
- force raw flag -r (or --raw) added. WAV- or
67
AU-file headers are ignored if this flag is set.
69
Version 0.4.1, 3.5.1997:
71
- sun header gives odd aligned starting point
72
for sample. temporary fix.
74
- read_big_endian_long returned wrong value if
75
sampling rate was 44100. this caused tplay
76
not to work with that speed when playing sun
77
audio or wav file. fixed now.
79
Version 0.4.2, 7.5.1997:
81
- read_big_endian_long and similar functions:
82
parameter's type was char* and that was a bug.
83
changed to byte* (unsigned char *). conversion
84
should also be saner now.
86
- force playing -f (or --force) flag added. this
87
makes tplay to ignore sound driver's results
88
when changing parameters.
90
Version 0.4.3, 12.5.1997:
92
- binary is statically linked to LinuxThreads
95
- print sun header comment if verbose is requested.
97
- sun audio file's data stream starting pointer
98
is read and set from the header.
100
- to avoid rounding errors when playing 16bit
101
and/or stereo (au or wav) sample, data section
102
is moved now to the beginning of buffer before
105
Version 0.5, 23.10.1997:
107
- set_audio_parameters() partly rewritten and
108
changes to open_audio().
110
- in some WAV-files, data-portion is not started
111
with 'data'-magic but 'INFO' instead. some
112
players don't even check that so tplay prints
113
just a warning message now if neither of these
116
Version 0.5.1, 25.10.1997:
118
- printing of buffer usage changed from producer
119
to consumer. this makes this silly feature a bit
120
more informative as it is still active after the
121
producer has stopped. underflow situation (when
122
the big buffer needs to be refilled) is also
123
possible to show now.
125
Version 0.5.2, 9.5.1998:
127
- Jerko Golubovic <jerko.golubovic@public.srce.hr>
128
kindly modified the code to support those soundcards
129
that may result slightly different sampling rate
130
than requested. he also provided RPM of tplay.
132
- added -D (or --device=DEVICE) flag for setting
133
audio device to be used.
135
- added feature to -B (or --buffer-size=SIZE) flag.
136
buffer size can be given in seconds now, too.
138
Version 0.5.3, 11.5.1998:
140
- rewrite of playing routine to support multiple
141
sound samples from command line.
143
Version 0.5.4, 19.5.1998:
145
- added -l (or --loop) flag to support looping sound
150
Version 0.5.5, 24.5.1998:
152
- added environment variable TPLAYDEV, which sets the
153
audio device to be used. decoding of command line
154
options is moved from main() to another function.