r622: Fixes misplacement of the mask when resizing track and misplacement of the
[cinelerra_cv/mob.git] / libsndfile / ChangeLog
blob58278032f96b8ee20aa9a1227f4ee791ca2076f8
1 2003-05-03  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3     * src/file_io.c
4     More stuffing about working around PLAIN OLD-FASHIONED **BUGS** in Win32.
6     * examples/sndfile-info.c
7     Applied patch from Conrad Parker to add "--help" and "-h" options as
8     well as an improved usage message.
10 2003-05-02  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
12     * src/au.c
13     Added embedded file support.
15     * tests/multi_file_test.c
16     Added tests for embedded AU files.
17     Added verbose testing mode.
19     * src/common.h src/sndfile.c
20     Added an embedded AU specific error code and message.
22     * src/wav.c
23     Added patch from Conrad Parker which filled in a little more information
24     about ACIDized WAV files.
26 2003-04-30  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
28     * src/file_io.c
29     Fixed Win32 version of psf_fseek() which was calling psf_get_filelen()
30     which was in turn calling psf_fseek() which in the end blew the stack.
31     Now of course this would have been easy to find on Linux, but this blow
32     up was happening in kernel32.dll and the fscking MSVC++ debugger couldn't
33     figure out what call caused this (it couldn't even tell me the stack had
34     overflowed) and was absolutley useless for this debugging exercise.
35     On top of that, the reason I got into this mess was that windoze doesn't
36     have a working fstat() function which can return file lengths > 2 Gig. It
37     HAS a fscking _fstati64() but the file length value is only updated AFTER
38     the bloody file is closed. That makes it completely useless.
39     How the hell do people stand working on this crap excuse of an OS?
41 2003-04-29  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
43     * Win32/unistd.h src/file_io.c
44     Moved definitions of S_IGRP etc from file_io.c to unistd.h so that these
45     can be used in the test programs.
47     * Win32/libsndfile.def
48     Added sf_open_fd.
50     * Win32/sndfile.h
51     Updated to match src/sndfile.h.in.
53     * Win32/Makefile.msvc
54     Added dither.c and htk.c to libsndfile.dll target.
56 2003-04-28  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
58     * src/file_io.c
59     First attempt at getting the Win32 versions of the these functions working.
60     They still need to be tested.
62 2003-04-27  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
64     * src/strings.c
65     Found and fixed a bug which was causing psf_store_string() to fail on
66     Motorola 68k processors. Many thanks fo Joshua Haberman (Debian maintainer
67     of libsndfile) for compiling and running debug code to help me debug the
68     problem.
70 2003-04-26  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
72     * src/sndfile.c src/file_io.c src/wav.c src/aiff.c
73     Much hacking to get reading and writing of embedded files working (ie sound
74     files at a non-zero files offset).
76     * doc/embedded_files.html
77     First pass atempt at documenting reading/writing embedded files.
79 2003-04-21  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
81     * doc/FAQ.html
82     Updated answer to "Why doesn't libsndfile do interleaving/de-interleaving?"
84 2003-04-19  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
86     * src/wav.c src/aiff.c
87     Fix retrieving and storing of string data from files. Need to be careful
88     about using psf->buffer for strings.
90 2003-04-18  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
92     * src/file_io.c
93     Fix psf_fseek() for seeks withing embedded files.
95 2003-04-15  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
97     * src/sndfile.h.in
98     Changed the definition of SNDFILE slightly to produce warnings when it isn't
99     used correctly. This should have zero affect in code which uses the SNDFILE
100     type correctly.
102     * src/sndfile.c
103     Fixed a few compiler warnings cause by the changes to the SNDFILE type.
105 2003-04-12  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
107     * doc/FAQ.html
108     Added question and answer to the question "How about adding the ability
109     to write/read sound files to/from memory buffers?".
111 2003-04-08  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
113     * tests/write_read_test.tpl
114     Removed un-needed enums declaring TRUE and FALSE and replaced usage of
115     these with SF_TRUE and SF_FALSE.
117     * tests/multi_file_test.c
118     New test program to test sf_open_fd() on files containing data other than
119     a single sound file.
121 2003-04-06  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
123     * src/file_io.c
124     When creating files, set the readable by others flag. This still allows
125     further restrictions to be enforced by use of the user's umask. Fix
126     suggested by Eric Lyon.
128 2003-04-05  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
130     * src/sndfile.h.in src/sndfile.c
131     Changed sf_open_fd(). Dropped offset parameter and added a close_desc
132     parameter. If close desc is TRUE, the file descritpor passed into the
133     library will be closed when sf_close() is called.
135     * tests/utils.tpl
136     Modified call to sf_open_fd() to set close_desc parameter to SF_TRUE.
138 2003-04-04  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
140     * tests/write_read_test.tpl
141     Add a string (using sf_set_string() function) before and after data section
142     of all files. This will make sure that if string data can be added, it
143     doesn't overwrite real audio data.
145 2003-04-02  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
147     * src/sndfile.c
148     Started work on supporting a non-zero offset parameter for sf_open_fd ().
150     * src/<file header parsers>.c
151     Removed many uses of psf_fseek (SEEK_END) which to allow for future use of
152     sf_open_fd() with non-zero offset.
153     Associated refactoring.
155     * src/aiff.c
156     Implemented functionality required to get sf_get_string() and
157     sf_set_string() working for AIFF files.
159 2003-04-01  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
161     * tests/utils.tpl
162     Modified test_open_file_or_die() to alternately use sf_open() and
163     sf_open_fd().
165     * src/svx.c
166     Fixed a bug which occurred when openning an existing file for read/write
167     using sf_open_fd(). In this case, the existing NAME chunk needs to be
168     read into psf->filename.
169     Fixed printing of sf_count_t types to logbuffer.
171 2003-03-31  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
173     * src/sndfile.h.in
174     Added prototype for new function sf_open_fd().
176     * src/sndfile.c
177     Moved most of the code in sf_open() to a new function psf_open_file().
178     Created new function sf_open_fd() which also uses psf_open_file() but
179     does not currently support the offset parameter.
181     * doc/api.html
182     Document sf_open_fd().
184 2003-03-09  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
186     * src/sndfile.c
187     Fixed a memory leak reported by Evgeny Karpov. Memory leak only occurred
188     when an attempt was made to read and the open() call fails.
190 2003-03-08  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
192     * tests/open_fail_test.c
193     New test program to check for memory leaks when sf_open fails on a valid
194     file. Currently this must be run manually under valgrid.
196     * tests/Makefile.am
197     Hook new test program into build.
199 2003-03-03  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
201     * Octave/sndfile_save.m Octave/sndfile_play.m
202     Added a -mat-binary option to the octave save command to force the output
203     to binary mode even if the user has set ascii data as the default. Found
204     by Christopher Moore.
206 2003-02-27  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
208     * doc/dither.html
209     New file which will document the interface which allows the addition of
210     audio dither when sample word sizes are being reduced.
212     * src/dither.c
213     More work.
215 2003-02-26  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
217     * tests/misc_test.c
218     In update_header_test(), make HTK files a special case.
220     * doc/index.html
221     Added HTK to the feature matrix.
223 2003-02-25  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
225     * src/htk.c
226     New file for reading/writing HMM Tool Kit files.
228     * src/sndfile.h.in src/sndfile.c src/command.c src/Makefile.am
229     Hook in htk.c
231     * tests/write_read_test.tpl tests/misc_test.c tests/Makefile.am
232     Add tests for HTK files.
234 2003-02-22  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
236     * src/wav.c
237     Fixed a bug where the LIST chunk length was being written incorrectly.
239     * tests/string_test.c
240     Added call to check_log_buffer().
241     Minor cleanups.
243 2003-02-10  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
245     * src/wav_w64.h
246     Applied patch from Antoine Mathys to add extra WAV format definitions and
247     a G72x_ADPCM_WAV_FMT struct definition.
249     * src/wav_w64.c
250     Applied patch from Antoine Mathys which converts wav_w64_format_str() from
251     one huge inefficient switch statement to a binary search.
253     * tests/string_test.c
254     Dump log buffer if tests fail.
256 2003-02-07  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
258     * tests/string_test.c
259     David Viens supplied some modifications to this file which showed up a bug
260     when using sf_set_string() and the sf_writef_float() functions.
262     * src/sndfile.c
263     Fixed the above bug.
265 2003-02-06  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
267     * doc/FAQ.html
268     Added Q and A on how to detect libsndfile in configure.in (at the suggestion
269     of Davy Durham).
271 2003-02-05  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
273     * src/sndfile.h.in
274     Add enums and typedefs for dither.
275     Deprecate SFC_SET_ADD_DITHER_ON_WRITE and SFC_SET_ADD_DITHER_ON_READ, to be
276     replaced with SFC_SET_DITHER_ON_WRITE and SFC_SET_DITHER_ON_READ which will
277     allow different dither algorithms to be enabled.
278     Added SFC_GET_DITHER_INFO_COUNT and SFC_GET_DITHER_INFO.
280     * src/sndfile.h.in src/Version_script.in Win32/libsndfile.def.
281     Added public sf_dither_*() functions.
283     * src/sndfile.c
284     Implement commands above.
286     * src/dither.c
287     More work. Framework and external hooks into dither algorithms complete.
289 2003-02-03  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
291     * doc/version-1.html libsndfile_version_convert.py
292     Remove redundant files.
294     * doc/index.html doc/api.html
295     Remove links to version-1.html.
297     * src/dither.c
298     New file to allow the addition of audio dither on input and output.
300     * src/common.h
301     Add prototype for dither_init() function.
303     * Makefile.am doc/Makefile.am
304     Changes for added and removed files.
306 2003-02-02  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
308     * Win32/Makefile.msvc
309     Changes to force example binaries to be placed in the top level directory
310     instead of the examples/ directory.
311     Add src/strings.c and src/xi.c to the build.
312     Add string_test to build and to tests on WAV files.
314     * doc/index.html
315     Added XI to support matrix.
317 2003-01-27  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
319     * src/sndfile.h.in
320     Added prototypes for sf_get_string() and sf_set_string() and SF_STR_*
321     enum values.
323     * src/sndfile.c
324     Added public interface to sf_get_string() and sf_set_string().
326     * src/wav.c
327     Added code for setting and getting strings in WAV files.
329     * tests/string_test.c
330     New test program for sf_get_string() and sf_set_string() functionality.
332     * tests/Makefile.am
333     Hook new test program into build and test framework.
335 2003-01-26  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
337     * src/common.h
338     Added fields to SF_PRIVATE for string data needed to implement
339     sf_get_string() and sf_set_string().
341     * src/strings.c
342     New file for storing and retrieving strings to/from files.
344     * src/Makefile.am
345     Added strings.c to build.
347 2003-01-25  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
349     * src/xi.c
350     Read seems to be working so looking at write.
352     * src/sndfile.h.in
353     Added SF_FORMAT_XI, SF_FORMAT_DPCM_8 and SF_FORMAT_DPCM_16 enum values.
355     * tests/floating_point_test.c tests/lossy_comp_test.c tests/Makefile.am
356     Added test for 8 and 16 bit XI format files.
358 2003-01-24  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
360     * doc/index.html
361     Added a non-lawyer readable summary of the licensing provisions as
362     suggested by Steve Dekorte.
364 2003-01-23  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
366     * src/wav.c
367     Fixed a compiler warning found by Alexander Lerch.
369 2003-01-18  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
371     * configure.ac
372     Fixed the multiple linking of libm.
374 2003-01-17  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
376     * Win32/Makefile.mcvs
377     Added comments on the correct way to set up the MSVCDir environment
378     variable.
380     * doc/win32.html
381     Add on how to set up the MSVCDir environment variable.
383 2003-01-15  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
385     * examples/sndfile-play.c examples/sndfile-info.c
386     When run on Win32 without any command line parameters print a message and
387     then sleep for 5 seconds. This means the when somebody double clicks on
388     these programs in explorer the user will actually see the message.
390 2003-01-14  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
392     * tests/misc_test.c
393     Bypass permission test if running as root because root is allowed to open
394     a readonly file for write.
396 2003-01-08  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
398     * Win32/Makefile.msvc
399     Added pvf.c and xi.c source files to project.
401     * src/sndfile.h
402     Updated for PVF files.
404 2003-01-07  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
406     * src/sndfile.c
407     Modified validate_sfinfo() to force samplerate, channels and sections
408     to be >= 1.
409     In format_from_extension() replaced calls to does_extension_match()
410     with strcmp().
412     * src/xi.c
413     More work.
415 2003-01-06  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
417     * doc/Makefile.am
418     Added octave.html which had been left out. Found by Jan Weil.
420 2003-01-05  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
422     * src/pvf.c src/common.h src/sndfile.c
423     Fixed error handling for PVF files.
425     * src/xi.c
426     New file for handling Fasttracker 2 Extended Instrument files. Not working
427     yet and included when configured with --enable-experimental.
429     * src/sndfile.c src/common.h
430     Hooked in new file xi.c.
432 2002-12-30  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
434     * src/rx2.c
435     Added a patch from Marek Peteraj which sheds a little more light on the
436     slices within an RX2 file. Still need to find out data encoding.
438 2002-12-20  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
440     * src/wav.c
441     Started work on decoding 'acid' and 'strc' chunks.
443 2002-12-14  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
445     * tests/peak_check_test.c
446     Minor cleanup.
448 2002-12-12  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
450     * tests/write_read_test.tpl
451     Added check to make sure no error was generated when an attempt was made to
452     read past the end of the file.
454 2002-12-11  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
456     * doc/lists.html
457     Added "mailto" links for all three lists.
459     * src/pvf.c
460     New file for Portable Voice Format files.
462     * src/sndfile.h.in src/sndfile.c src/common.h src/command.c src/Makefile.am
463     Added hooks for SF_FORMAT_PVF format files.
465     * tests/write_read_test.tpl tests/std*.c
466     Add tests for SF_FORMAT_PVF.
468     * doc/index.html
469     Add PVF to the compatibility matrix.
471     * src/pcm.c src/alaw.c src/ulaw.c src/float32.c src/double64.c
472     Previously, attempts to read beyond the end of a file would set psf->error
473     to SFE_SHORT_ERROR. This behaviour diverged from the behaviour of the POSIX
474     read() call but has now been fixed.
475     Attempts to read beyond the end of the file will return a short read count
476     but will not longer set any error.
478 2002-12-09  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
480     * src/sndfile.c
481     Add more sanity checking when opening a RAW file for read. When format is
482     not RAW, zero out all members of the SF_INFO struct.
484     * tests/raw_test.c
485     Add bad_raw_test() to check for above problem.
487     * tests/stdin_test.c examples/sndfile-info.c
488     Set the format field of the SF_INFO struct to zero before calling
489     sf_open().
491     * doc/api.html
492     Add information about the need to set the format field of the SF_INFO struct
493     to zero when opening non-RAW files for read.
495     * configure.ac
496     Removed use of conversion script on Solaris. Not all Solaris versions
497     support it.
499     * doc/lists.html
500     New file containg details of the mailing lists.
502     * doc/index.html
503     Add a link to the above new file.
505 2002-12-04  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
507     * tests/dft_cmp.c
508     Fixed a SIGFPE on Alpha caused by a log10 (0.0). Thanks to Joshua Haberman
509     for providing the gdb traceback.
511 2002-11-28  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
513     * src/wav.c
514     Added more capabilities to 'smpl' chunk parser.
516     * src/sndfile.c
517     Fixed some (not all) possible problems found with Flawfinder.
519 2002-11-24  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
521     * src/sndfile.c
522     Fixed a bug in sf_seek(). This bug could only occur when an attempt was
523     made to read beyond the end and then sf_seek() was called with a whence
524     parameter of SEEK_CUR.
526     * src/file_io.c
527     Win32's _fstati64() does not work, it returns BS. Re-implemented
528     psf_get_filelen() in terms of psf_fseek().
530     * tests/write_read_test.tpl
531     Add a test to detect above bug.
533     * src/float_cast.h
534     Modification to prevent compiler warnings on Mac OS X.
536     * src/file_io.c
537     Fixes for windows (what a f**ked OS).
539 2002-11-08  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
541     * configure.ac
542     Disable use of native lrint()/lrintf() on Mac OSX. These functions exist on
543     Mac OSX 10.2 but not on 10.1. Forcing the use of the versions in
544     src/float_cast.h means that a library compiled on 10.2 will still work on
545     10.1.
547 2002-11-06  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
549     * configure.in configure.ac
550     Renamed configure.in to configure.ac as expected by later versions of
551     autoconf.
552     Slight hacking of configure.ac to work with version 2.54 of autoconf.
553     Changed to using -dumpversion instead of --version for determining GCC
554     version numer as suggested by Anand Kumria.
556     * src/G72x/Makefile.am
557     Slight hacking required for operation with automake 1.6.3.
559 2002-11-05  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
561     * src/common.c
562     In psf_binheader_readf() changed type parameter type "b" type from size_t
563     to int to prevent errors on IA64 CPU where sizeof (size_t) != sizeof (int).
564     Thanks to Enrique Robledo Arnuncio for debugging this.
566 2002-11-04  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
568     * test/command_test.tpl
569     Changed test value so test would pass on Solaris.
571     * src/Version_script.in
572     Modified version numbering so that later versions of 1.0.X can replace
573     earlier versions without recompilation.
575     * src/vox_adpcm.c
576     Fixed bug causing short reads.
578 2002-11-03  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
580     * test/floating_point_test.c
581     Code cleanup using functions from util.c.
582     Add test for IEEE replacement floats and doubles.
584 2002-11-01  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
586     * src/wav.c
587     Fixed a possible divide by zero error when read the 'smpl' chunk. Thanks to
588     Serg Repalov for the example file.
590     * tests/pcm_test.tpl
591     Used sf_command (SFC_TEST_IEEE_FLOAT_REPLACE) to test IEEE replacement code.
592     Clean up pcm_double_test().
594     * src/float32.c src/double64.c
595     Force use of IEEE replacement code using psf->ieee_replace is TRUE,
596     Print message to log_buffer as well.
597     Rename all broken_read_* and broken_write* functions to replace_read_* and
598     replace_write_*.
600     * tests/util.tpl
601     Added string_in_log_buffer().
603     * tests/pcm_test.tpl
604     Use string_in_log_buffer() to ensure that IEEE replacement code has been
605     used.
607     * configure.in
608     Removed --enable-force-broken-float option. IEEE replacement code is now
609     always tested.
611 2002-10-31  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
613     * src/double64.c
614     Implement code for read/writing IEEE doubles on platforms where the native
615     double format is not IEEE.
617     * src/float32.c src/common.h
618     Remove float32_read() and float32_write(). Replace with float32_le_read(),
619     float32_be_read(), float32_le_write() and float32_be_write() to match stuff
620     in src/double64.c.
622     * src/common.c
623     Fix all usage of float32_write().
625     * src/sndfile.h.in
626     Added SFC_TEST_IEEE_FLOAT_REPLACE command (testing only).
628     * src/common.h
629     Added SF_PRIVATE field ieee_replace.
631     * src/sndfile.c
632     In sf_command() set/reset psf->ieee_replace.
634 2002-10-26  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
636     * tests/pcm_test.tpl
637     Fixed a problem when testing with --enable-force-broken-float. The test was
638     generating a value of negative zero and the broken float code is not able
639     to write negative zero. Removing the negative zero fixed the test.
641 2002-10-25  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
643     * src/file_io.c
644     Added fix for Cygwin (suggested by Maros Michalik).
646 2002-10-23  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
648     * src/file_io.c
649     Improved error detection and handling.
651     * src/file_io.c src/common.h
652     Removed functions psf_ferror() and psf_clearerr() which were redundant
653     after above improvements.
655     * src/aiff.c src/svx.c src/w64.c src/wav.c
656     Removed all use of psf_ferror() and psf_clearerr().
658     * src/sndfile.c
659     Removed #include of <stdio.h>, <unistd.h>, <fcntl.h> and <math.h> which
660     are no longer needed.
662     * tests/misc_test.c
663     Added test to make sure the correct error message is returned with an
664     existing read-only file is openned for write.
666 2002-10-21  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
668     * doc/index.html doc/api.html
669     Updated for OKI Dialogic ADPCM files.
671     * src/command.c
672     Added VOX ADPCM to sub_fomats.
674 2002-10-20  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
676     * src/vox_adpcm.c src/Makefile.am
677     New file for handling OKI Dialogic ADPCM files.
679     * src/sndfile.h
680     Add new subtype SF_FORMAT_VOX_ADPCM.
682     * src/sndfile.c
683     Renamed function is_au_snd_file () to format_from_extenstion () and expanded
684     its functionality to detect headerless VOX files.
686     * src/raw.c
687     Added hooks for SF_FORMAT_VOX_ADPCM.
689     * examples/sndfile-info.c
690     Print out file duration (suggested by Conrad Parker).
692     * libsndfile.spec.in
693     Force installation of sndfile.pc file (found by John Thompson).
695     * tests/Makefile.am tests/lossy_comp_test.c tests/floating_point_test.c
696     Add tests for SF_FORMAT_VOX_ADPCM.
698 2002-10-18  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
700     * tests/misc_test.c
701     Add test which attempts to write to /dev/full (on Linux anyway) to check
702     for correct handling of writing to a full filesystem.
704     * src/sndfile.c
705     Return correct error message if the header cannot be written because the
706     filesystem is full.
708     * tests/util.tpl
709     Corrected printing of file mode in error reporting.
711     * src/mat5.c
712     Fixed a bug where a MAT5 file written by libsndfile could not be opened by
713     Octave 2.1.36.
715 2002-10-13  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
717     * src/common.h src/file_io.c
718     All low level file I/O have been modified to be better able to report
719     system errors resulting from calling system level open/read/write etc.
721     * src/*.c
722     Updated for compatibility with above changes.
724     * examples/cooledit-fixer.c
725     New example program which fixes badly broken file created by Syntrillium's
726     Cooledit which are marked as containing PCM samples but actually contain
727     floating point data.
729     * examples/Makefile.am
730     Hooked cooledit-fixer into the build system.
732 2002-10-10  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
734     * doc/command.html
735     Document SFC_GET_FORMAT_INFO.
737 2002-10-09  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
739     * examples/wav32_aiff24.c examples/sndfile2oct.c examples/sfhexdump.c
740         examples/sfdump.c
741     Removed these files because they weren't interesting.
743     * examples/sfconvert.c examples/sndfile-convert.c
744     Renamed the first to the latter.
746     * examples/Makefile.am
747     Added sndfile-convert to the bin_PROGRAMS, so it is installed when the lib
748     is installed.
749     Removed old programs wav32_aiff24 and sndfile2oct.
751     * man/sndfile-convert.1
752     New man page.
754     * examples/sndfile-convert.c
755     Added some gloss now that sndfile-convert.c is an installed program.
757     * src/sndfile.h.in src/sndfile.c src/common.h src/command.h
758     Added command SFC_GET_FORMAT_INFO.
760     * tests/command_test.c
761     Added tests form SFC_GET_FORMAT_INFO.
763 2002-10-08  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
765     * src/sndfile.c
766     In sf_format_check() return error if samplerate < 0.
768 2002-10-07  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
770     * src/aiff.c
771     Fixed bug in handling of COMM chunks with a 4 byte encoding byte but no
772     encoding string.
774 2002-10-06  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
776     * src/sndfile.c
777     Fixed repeated word in an error message.
779 2002-10-05  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
781     * doc/index.html
782     Improved advertising in Features section.
784 2002-10-04  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
786     * src/wav.c
787     Added decoding of 'labl' chunks within 'LIST' chunks.
789     * src/common.h
790     Added (experimental only) SF_FORMAT_OGG and SF_FORMAT_VORBIS and definition
791     of ogg_open(). This is nowhere near working yet.
793     * src/sndfile.c
794     Added detection of 'OggS' file marker and added call to ogg_open() to
795     switch statement.
797     * src/ogg.c
798     New file. Very early start of Ogg Vorbis support.
800     * src/wav.c
801     Added handling of brain-damaged and broken Cooledit "32 bit 24.0 float
802     type 1" files. These files are marked as being 24 bit WAVE_FORMAT_PCM with
803     a block alignment of 4 times the numbers of channels but are in fact 32 bit
804     floating point.
806 2002-10-02  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
808     * configure.in
809     Modified option --enable-experimental to set ENABLE_EXPERIMENTAL_CODE in
810     config.h to either 0 or 1.
812     * src/sndfile.c
813     Modify sf_command (SFC_GET_LIB_VERSION) to append "-exp" to the version
814     string if experimental code has been enabled.
816 2002-10-01  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
818     * src/Makefile.am
819     Added -lm to libsndfile_la_LIBADD. This means that -lm is not longer needed
820     in the link line when linking something to libsndfile.
822     * tests/Makefile.am examples/Makefile.am
823     Removed -lm from all link lines.
825     * sndfile.pc.in
826     Removed -lm from Libs line.
828 2002-09-24  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
830     * src/file_io.c
831     Removed all perror() calls.
833     * src/nist.c
834     Removed calls to exit() function.
835     Added check to detect NIST files dammaged from Unix CR -> Win32 CRLF
836     conversion process.
838 2002-09-24  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
840     * src/sndfile.h.in src/sndfile.c
841     New function sf_strerror() which will eventually replace functions
842     sf_perror() and sf_error_str().
843     Function sf_error_number() has also been changed, but this was documented
844     as being for testing only.
846     * doc/api.html
847     Documented above changes.
849     * tests/*.c examples/*.c
850     Changed to new error functions.
852 2002-09-22  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
854     * configure.in
855     Detect GCC version, and print a warning message about writeable strings
856     it GCC major version number is less than 3.
858 2002-09-21  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
860     * src/sndfile.h.in doc/api.html
861     Documentation fixes.
863 2002-09-19  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
865     * src/Version_script.in src/Makefile.am configure.in
866     Use the version script to prevent the exporting of all non public symbols.
867     This currently only works with Linux. Will test on Solaris as well.
869     * src/float_cast.h
870     Added #ifndef to prevent the #warning directives killing the SGI MIPSpro
871     compiler.
873     * src/au_g72x.c src/double64.c src/float32.c src/gsm610.c src/ima_adpcm.c
874         src/ms_adpcm.c
875     Fix benign compiler warnings arising from previously added compiler
876     flags.
878 2002-09-18  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
880     * src/sndfile.c
881     Fixed a bug in sf_error_str() where errnum was used as the index instead
882     of k. Found by Tim Hockin.
884     * examples/sndfile-play.c
885     Fixed a compiler warning resulting from a variable shadowing a previously
886     defined local.
888 2002-09-17  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
890     * src/sndfile.h.in src/sndfile.c
891     Added command SFC_SET_RAW_START_OFFSET.
893     * doc/command.html
894     Document SFC_SET_RAW_START_OFFSET.
896     * tests/raw_test.c tests/Makefile.am
897     Add new file for for testing SF_FORMAT_RAW specific functionality.
899     * tests/dwvw_test.c
900     Updates.
902 2002-09-16  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
904     * src/wav.c
905     Modified reading of 'smpl' chunk to take account of the sampler data field.
907     * tests/utils.tpl tests/utils.h
908     Added function print_test_name().
910     * tests/misc_test.c tests/write_read_test.tpl tests/lossy_comp_test.c
911         tests/pcm_test.tpl tests/command_test.tpl tests/floating_point_test.c
912     Convert to use function print_test_name().
914 2002-09-15  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
916     * doc/octave.html
917     Added a link to some other Octave scripts for reading and writing sound
918     files.
920     * src/paf.c
921     Change type of dummy data field to int. This should fix a benign compiler
922     warning on some CPUs.
923     Removed superfluous casts resulting from the above change.
925     * src/rx2.c
926     More hacking.
928 2002-09-14  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
930     * src/mat5.c src/common.c
931     Changed usage of snprintf() to LSF_SNPRINTF().
933     * Win32/Makefile.msvc
934     Updated to include new files and add new tests.
936     * Win32/config.h Win32/sndfile.h
937     Updated.
939     * doc/api.html
940     Added note about the possibility of "missing" features actually being
941     implemented as an sf_command().
943 2002-09-13  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
945     * tests/misc_test.c
946     Added previously missing update_header_test and zero_data_tests for PAF,
947     MAT4 and MAT5 formats.
949     * src/paf.c src/mat4.c src/mat5.c
950     Fixed bugs uncovered by new tests above.
952     * src/mat5.c
953     Generalised parsing of name fields of MAT5 files.
955     * src/mat5.c src/sndfile.c
956     Added support for unsigned 8 bit PCM MAT5 files.
958     * tests/write_read_test.tpl
959     Added test for unsigned 8 bit PCM MAT5 files.
961     * doc/index.html
962     Added unsigned 8 bit PCM MAT5 to capabilities matrix.
964 2002-09-12  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
966     * test/update_header_test.c tests/misc_test.c
967     Renamed update_header_test.c to misc_test.c.
968     Added zero_data_test() to check for case where file is opened for write and
969     closed immediately. The resulting file can be left in a state where
970     libsndfile cannot open it. Problem reported by Werner Schweer, the author
971     of Muse.
973     * src/aiff.c
974     Removed superfluous cast.
976     * src/wav.c src/svx.c
977     Fixed case of file generated with no data.
978     Removed superfluous cast.
980     * src/sndfile.c
981     Fixed error on IA64 platform caused by incorrect termination of
982     SndfileErrors struct array. This problem was found in the Debian buildd
983     logs (http://buildd.debian.org/).
985     * configure.in
986     Added Octave directory.
988     * Octave/Makefile.ma
989     New Makfile.am for Octave directory.
991     * Octave/sndfile_load.m Octave/sndfile_save.m Octave/sndfile_play.m
992     New files for working with Octave.
994     * doc/octave.html
995     Document explaining the use of the above three Octave scripts.
997 2002-09-10  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
999     * src/sndfile.c
1000     Fixed bug in RDWR mode.
1002 2002-09-09  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1004     * src/common.c
1005     Fixed psf_get_date_str() for systems which don't have gmtime_r() or
1006     gmtime().
1008     * src/file_io.c
1009     Added #include <io.h> for Win32. Reported by Koen Tanghe.
1011 2002-09-08  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1013     * src/common.c
1014     Added 'S' format specifier for psf_binheader_writef() which writes a C
1015     string, including single null terminator to the header.
1016     Added 'j' format specifier to allow jumping forwards or backwards in the
1017     header.
1018     Added function psf_get_date_str().
1020     * src/mat5.c
1021     Complete read and write support.
1023     * doc/index.html
1024     Added entries for MAT4 and MAT5 in capabilities matrix.
1026 2002-09-06  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1028     * src/mat4.c
1029     Completed read and write support.
1031     * src/common.h src/sndfile.c
1032     Added MAT4 and MAT5 specific error messages.
1034     * tests/write_read_test.tpl tests/Makefile.am
1035     Added tests for MAT4 and MAT5 files.
1037     * tests/stdio_test.c tests/stdout_test.c tests/stdin_test.c
1038     Added tests for MAT4 and MAT5 files.
1040 2002-09-05  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1042     * src/command.c
1043     Added elements for SF_FORMAT_MAT4 and SF_FORMAT_MAT5 to major_formats
1044     array.
1046     * examples/sfconvert.c
1047     Added mat4 and mat5 output targets.
1049 2002-09-04  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1051     * src/sndfile.c
1052     Added check to prevent errors openning read only formats for read/write.
1054     * src/interleave.c
1055     New file for interleaving non-interleaved data. Non-interleaved data is
1056     only supported on read.
1058     * src/Makefile.am
1059     Added src/interleave.c to build.
1061 2002-09-03  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1063     * src/double64.c src/common.h
1064     Added double64_be_read(), double64_le_read(), double64_be_write() and
1065     double64_le_write() which replace double64_read() and double64_write().
1067     * src/common.c
1068     Cleanup of psf_binheader_readf() and add ability to read big and little
1069     endian doubles (required by mat4.c and mat5.c).
1070     Add ability for psf_binheader_writef() to write doubles to sound file
1071     headers.
1073 2002-09-01  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1075     * src/mat5.c
1076     New file for reading Matlab (tm) version 5 data files. This is also the
1077     native binary file format for version 2.1.X of GNU Octave which will be
1078     used for testing.
1079     Not complete yet.
1081     * src/mat4.c
1082     New file for reading Matlab (tm) version 4.2 data files. This is also the
1083     native binary file format for version 2.0.X of GNU Octave which will be
1084     used for testing.
1085     Not complete yet.
1087     * src/sndfile.h.in src/sndfile.c src/common.h src/command.c src/Makefile.am
1088     Mods to add Matlab files.
1090     * src/common.[ch]
1091     Added readf_endian field to SF_PRIVATE struct allowing endianness to
1092     remembered across calls to sf_binheader_readf().
1093     Fixed bug in width_specifier behaviour for printing hex values.
1095 2002-08-31  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1097     * src/file_io.c
1098     Check return value of close() call in psf_fclose().
1100 2002-08-24  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1102     * src/ms_adpcm.c
1103     Commented out some code where 0x10000 was being subtracted from a short
1104     and the result assigned to a short again. Andrew Zaja found this.
1106 2002-08-23  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1108     * doc/command.html
1109     Fixed typo found by Tommi Ilmonen.
1111     * src/ima_adpcm.c
1112     Changed type of diff from short to int to prevent errors which can occur
1113     during very rare circumstances. Thanks to FUWAFUWA.
1115 2002-08-16  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1117     * tests/floating_point_test.c
1118     Disable testing on machines without lrintf().
1120     * Win32/Makefile.msvc
1121     Added dwd.c and wve.c to build.
1123     * configure.in
1124     Bumped version to 1.0.0.
1126 2002-08-15  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1128     * src/file_io.c
1129     Add a #include for Mac OS 9. Thanks to Stephane Letz.
1131     * src/wav.c
1132     Changed an snprintf to LSF_SNPRINTF.
1134     * doc/Makefile.am
1135     Added version-1.html.
1137 2002-08-14  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1139     * configure.in
1140     Bumped version to 1.0.rc6.
1142     * src/*.c
1143     Modified scaling of normalised floats and doubles to integers. Until now
1144     this has been done by multiplying by 0x8000 for short output, 0x80000000
1145     for 32 bit ints and so on. Unfortunately this can cause an overflow and
1146     wrap around in the target value. All thes values have therefore been
1147     reduced to 0x7FFF, 0x7FFFFFFF and so on. The conversion from ints to
1148     normalised floats and doubles remains unchanged. This does mean that for
1149     repeated conversions normalised float -> pcm16 -> normalised float would
1150     result in a decrease in amplitude of 0x7FFF/0x8000 on every round trip.
1151     This is undesirable but less undesireable than the wrap around I am trying
1152     to avoid.
1154     * tests/floating_point_test.c
1155     Removed file hash checking because new float scaling procedure introduced
1156     above prevented the ability to crate a has on both x86 and PowerPC systems.
1158 2002-08-13  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1160     * src/txw.c
1161     Completed reading of TXW files. Seek doesn't work yet.
1163     * src/file_io.c
1164     Added a MacOS 9 replacement for ftruncate().
1166     * MacOS/sndfile.h
1167     Added MacOS 9 header file. This should be copied into src/ to compile
1168     libsndfile for MacOS9.
1170 2002-08-12  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1172     * src/sndfile.c
1173     Fixed commands SF_SET_NORM_DOUBLE and SFC_SET_NORM_FLOAT to return their
1174     values after being set. Reported by Jussi Laako.
1176     * configure.in
1177     If autogen is not found, touch all .c and .h files in tests/.
1179     * src/common.c
1180     Added format width specifier to psf_log_printf() for %u, %d, %D and %X.
1182     * src/dwd.c
1183     Completed implementation of read only access to these files.
1185     * src/common.h src/*.c src/pcm.c
1186     Removed redundant field chars from SF_PRIVATE struct and modified
1187     pcm_init() to do without it.
1189 2002-08-11  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1191     * src/wve.c
1192     New file implementing read of Psion Alaw files. This will be a read only
1193     format. Implementation complete.
1195     * src/dwd/c
1196     Started implementation of DiamondWare Digitized files. Also read only, not
1197     complete.
1199     * src/wav.c
1200     Add parsing of 'smpl' chunk.
1202     * src/paf.c
1203     Fixed reading on un-normalized doubles and floats from 24 bit PAF files.
1204     This brings it into line with the reading of 8 bit files into
1205     un-normalized doubles which returns values in the range [-128, 127].
1207     * src/common.c
1208     Modified psf_log_printf() to accept the %% conversion specifier to allow
1209     printing of a single '%'.
1211     * src/sds.c
1212     Read only of 16 bit samples is working. Need to build a test harness for
1213     this and other read only formats.
1215 2002-08-10  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1217     * configure.in
1218     Added --enable-experimental configure option.
1219     Removed pkg-config message at the end of the configure process.
1221     * src/sds.c src/txw.c src/rx2.c src/sd2.c
1222     Moved all the code in these files inside #if ENABLE_EXPERIMENTAL_CODE
1223     blocks and added new *_open() function for the case where experimental is
1224     not enabled. These new functions just return SFE_UNIMPLMENTED.
1226     * Win32/sndfile.h src/sndfile.h.in src/common.h
1227     Removed un-necessary #pragma pack commands.
1229     * src/file_io.c
1230     Implemented psf_ftruncate() and much other hacking for Win32.
1232     * Win32/Makefile.msvc
1233     Updated.
1235     * doc/win32.html
1236     Updated to include the copying of the sndfile.h file from the Win32/
1237     directory to the src/ directory.
1239     * Make.bat
1240     Batch file to make compiling on Wi32 a little easier. Implements "make" and
1241     "make check".
1243 2002-08-09  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1245     * src/file_io.c
1246     Add place holder for ftruncate() on Win32 which doesn't have ftruncate().
1247     This will need to be fixed later.
1249     * src/sndfile.h.in
1250     New file (copy of sndfile.h) with sets up @TYPEOF_SF_COUNT_T@ which will be
1251     replaced by the correct type during configure.
1253     * configure.in
1254     Modified to find a good type for TYPEOF_SF_COUNT_T.
1256     * src/aiff.c
1257     Fixed a bug when reading malformed headers.
1259     * src/common.c
1260     Set read values to zero before performing read.
1262 2002-08-08  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1264     * doc/command.html
1265     Fixed some HTML tags which were not allowing jumps to links within the
1266     page.
1268     * src/sds.c
1269     Massive hacking on this.
1271     * src/wav.c
1272     Added recognition of 'clm ' tag.
1274 2002-08-07  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1276     * doc/index.html
1277     Added beginning of a capabilities list beyond simple file formats which
1278     can be read/written.
1280     * src/aiff.c
1281     Added parsing of INST and MARK chunks of AIFF files. At the moment this
1282     data is simply recorded in the log buffer. Later it will be possible to
1283     read this data from an application using sf_command().
1285     * src/wav.c
1286     Added parsing of 'cue ' chunk which contains loop information in WAV files.
1288     * exampes/sndfile-info.c
1289     Changed reporting of Samples to Frames.
1291     * src/wav.c src/w64.c src/aiff.c src/wav_w64.h
1292     Moved from a samples to a frames nomenclature to avoid confusion.
1294     * doc/FAQ.html
1295     What's the best format for storing temporary files?
1297     * src/sds.c
1298     New file for reading/writing Midi Sample Dump Standard files.
1300     * src/Makefile.am src/sndfile.c src/common.[ch]
1301     Added hooks for sds.c.
1303     * examples/sndfile-info.c
1304     Changed from using sf_perror() to using sf_error_str().
1306 2002-08-06  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1308     * doc/api.html
1309     Added explanation of mode parameter for sf_open().
1310     Added explanation of usage of SFM_* values in sf_seek().
1312     * src/sndfile.[ch] src/command.c src/file_io.c src/common.h
1313     Implemented SFC_FILE_TRUNCATE to allow a file to be truncated. File
1314     truncation was suggested by James McCartney.
1316     * src/command.html
1317     Documented SFC_FILE_TRUNCATE.
1319     * tests/command_test.c
1320     Add tests for SFC_FILE_TRUNCATE.
1322     * src/sndfile.c
1323     Added a thrid parameter to the VALIDATE_SNDFILE_AND_ASSIGN_PSF macro to
1324     make resetting the error number optional. All uses of the macro other than
1325     in error reporting functions were changed to reset the error number.
1327     * src/pcm.c
1328     Fixed a bug were sf_read_* was logging an SFE_SHORT_READ even when no error
1329     occurred.
1331     * tests/write_read_test.tpl
1332     Added tests of internal error state.
1334 2002-08-05  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1336     * src/GSM610/private.h src/GSM610/*.c src/GSM610/Makefile.am
1337     Renamed private.h to gsm610_priv.h to prevent clash with other headers
1338     named private.h in other directories. (Probably only a problem on MacOS 9).
1340     * src/G72x/private.h src/G72x/*.c src/G72x/Makefile.am
1341     Renamed private.h to g72x_priv.h to prevent clash with other headers
1342     named private.h in other directories. (Probably only a problem on MacOS 9).
1344     * MacOS/config.h
1345     Changed values of HAVE_LRINT and HAVE_LRINTF to force use of code in
1346     float_cash.h.
1348     * src/sndfile.h
1349     Changes the name of samples field of the SF_INFO to frames. The old name
1350     had caused too much confusion and it simply had to be changed. There will
1351     be at least one more pre-release.
1353 2002-08-04  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1355     * doc/index.html
1356     Updated formats matrix to include RAW (header-less) GSM 6.10.
1357     Fix specificaltion of table and spelling mistakes.
1359     * src/sndfile.c src/command.c
1360     Fixed bug in SFC_CALC_MAX_SIGNAL family and psf_calc_signal_max ().
1362     * tests/command.c
1363     Removed cruft.
1364     Added test for SFC_CALC_MAX_SIGNAL and SFC_CALC_NORM_MAX_SIGNAL.
1366     * configure.in
1367     Update version to 1.0.0rc5.
1369     * sfendian.h
1370     Removed inclusion of un-necessary header.
1372 2002-08-03  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1374     * src/aiff.c
1375     Minor fixes of info written to log buffer.
1377     * src/float_cast.h
1378     Add definition of HAVE_LRINT_REPLACEMENT.
1380     * tests/floating_point_test.c
1381     Fix file hash check on systems without lrint/lrintf.
1383     * tests/dft_cmp.c
1384     Limit SNR to less than -500.0dB.
1386     * examples/sndfile2oct.c
1387     Fixed compiler warnings.
1389     * doc/api.html
1390     Fixed error where last parameter of sf_error_str() was sf_count_t instead
1391     of size_t.
1393 2002-08-02  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1395     * doc/FAQ.html
1396     Why doesn't libsndfile do interleaving/de-interleaving.
1398     * tests/pcm_test.tpl
1399     On Win32 do not perform hash check on files containing doubles.
1401 2002-08-01  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1403     * src/common.h
1404     Defined SF_COUNT_MAX_POSITIVE() macro, a portable way of setting variables
1405     of type sf_count_t to their maximum positive value.
1407     * src/dwvw.c src/w64.c
1408     Used SF_COUNT_MAX_POSITIVE().
1410 2002-07-31  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1412     * src/paf.c
1413     Fixed bug in reading/writing of 24 bit PCM PAF files on big endian systems.
1415     * tests/floating_point_tests.c
1416     Fixed hash values for 24 bit PCM PAF files.
1417     Disabled file has check if lrintf() function is not available and added
1418     warning.
1419     Decreased level of signal from a peak of 1.0 to a value of 0.95 to prevent
1420     problems on platforms without lrintf() ie Solaris.
1422 2002-07-30  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1424     * src/wav.c
1425     Fixed a problem with two different kinds of mal-formed WAV file header. The
1426     first had the 'fact' chunk before the 'fmt ' chunk, the other had an
1427     incomplete 'INFO' chunk at the end of the file.
1429     * src/w64.c
1430     Added fix to allow differentiation between W64 files and ACID files.
1432     * src/au_g72x.c src/common.h src/sndfile.c
1433     Added error for G72x encoded files with more than one channel.
1435     * tests/pcm_test.tpl tests/utils.tpl
1436     Moved function check_file_hash_or_die() to utils.tpl. Function was then
1437     modified to calculate the has of the whole file.
1439     * src/wav.c
1440     Fixed problem writing the 'fact' chunk on big endian systems.
1442     * tests/sfconvert.c
1443     Fixed bug where .paf files were being written as Sphere NIST.
1445 2002-07-29  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1447     * src/voc.c
1448     Fix for reading headers generated using SFC_UPDATE_HEADER_NOW.
1450     * doc/command.html
1451     Add docs for SFC_UPDATE_HEADER_NOW and SFC_SET_UPDATE_HEADER_AUTO.
1453 2002-07-28  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1455     * man/sndfile-info.1 man/sndfile-play.1
1456     Added manpages supplied by Joshua Haberman the Debian maintainer for
1457     libsndfile. Additional tweaks by me.
1459     * configure.in man/Makefile.am
1460     Hooked manpages into autoconf/automake system.
1462     * src/sndfile.c
1463     Added hooks for SFC_SET_UPDATE_HEADER_AUTO.
1465     * tests/update_header_test.c
1466     Improved rigor of testing.
1468     * src/*.c
1469     Fixed problem with *_write_header() functions.
1471 2002-07-27  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1473     * doc/*.html
1474     Updates to documentation to fix problems found by wdg-html-validator.
1476     * src/common.h src/command.c
1477     Added normalize parameter to calls to psf_calc_signal_max() and
1478     psf_calc_max_all_channels().
1480     * src/sndfile.c
1481     Added handling for commands SFC_CALC_NORM_SIGNAL_MAX and
1482     SFC_CALC_NORM_MAX_ALL_CHANNELS.
1484     * doc/command.html
1485     Added entry for SFC_CALC_NORM_SIGNAL_MAX and SFC_CALC_NORM_MAX_ALL_CHANNELS.
1487 2002-07-26  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1489     * examples/sndfile-play.c Win32/Makefile.msvc
1490     Get sndfile-play program working on Win32. The Win32 PCM sample I/O API
1491     sucks. The sndfile-play program now works on Linux, MacOSX, Solaris and
1492     Win32.
1494 2002-07-25  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1496     * doc/FAQ.html
1497     New file for frequently asked questsions.
1499 2002-07-22  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1501     * doc/api.html
1502     Documentation fixes.
1504     * src/au.[ch] src/au_g72x.c src/G72x/g72x.h
1505     Add support of 40kbps G723 ADPCM encoding.
1507     * tests/lossy_comp_test.c tests/floating_point_test.c
1508     Add tests for 40kbps G723 ADPCM encoding.
1510     * doc/index.html
1511     Update support matrix.
1513 2002-07-21  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1515     * doc/command.html
1516     Documented SFC_GET_SIMPLE_FORMAT_COUNT, SFC_GET_SIMPLE_FORMAT,
1517     SFC_GET_FORMAT_* and SFC_SET_ADD_PEAK_CHUNK.
1519     * src/sndfile.c src/pcm.c
1520     Add ability to turn on and off the addition of a PEAK chunk for floating
1521     point WAV and AIFF files.
1523     * src/sndfile.[ch] src/common.h src/command.c
1524     Added sf_command SFC_CALC_MAX_ALL_CHANNELS. Implemented by Maurizio Umberto
1525     Puxeddu.
1527     * doc/command.html
1528     Docs for SFC_CALC_MAX_ALL_CHANNELS (assisted by Maurizio Umberto Puxeddu).
1530 2002-07-18  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1532     * src/sndfile.c src/gsm610.c
1533     Finalised support for GSM 6.10 AIFF files and added support for GSM 6.10
1534     encoded RAW (header-less) files.
1536     * src/wav.c
1537     Add support for IBM_FORMAT_MULAW and IBM_FORMAT_ALAW encodings.
1539     * src/api.html
1540     Fixed more documentation bugs.
1542 2002-07-17  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1544     * src/sndfile.h src/common.h
1545     Moved some yet-to-be-implelmented values for SF_FORMAT_* from the public
1546     header file sndfile.h to the private header file common.h to avoid
1547     confusion about the actual capabilities of libsndfile.
1549 2002-07-16  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1551     * src/aiff.c src/wav.c
1552     Fixed file parsing for WAV and AIFF files containing non-audio data after
1553     the data chunk.
1555     * src/aiff.c src/sndfile.c
1556     Add support for GSM 6.10 encoded AIFF files.
1558     * tests/lossy_comp_test.c tests/Makefile.am
1559     Add tests for GSM 6.10 encoded AIFF files.
1561     * src/*.c
1562     Fix compiler warnings.
1564 2002-07-15  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1566     * tests/command_test.c
1567     For SFC_SET_NORM_* tests, change the file format from SF_FORMAT_WAV to
1568     SF_FORMAT_RAW.
1570     * src/sndfile.c
1571     Added sf_command(SFC_TEST_ADD_TRAILING_DATA) to allow testing of reading
1572     from AIFF and WAV files with non-audio data after the audio chunk.
1574     * src/common.h
1575     Add test commands SFC_TEST_WAV_ADD_INFO_CHUNK and
1576     SFC_TEST_AIFF_ADD_INST_CHUNK. When these commands are working, they will be
1577     moved to src/sndfile.h
1579     * src/aiff.c src/wav.c
1580     Begin implementation of XXXX_command() hook for sf_command().
1582     * tests/write_read_test.tpl
1583     Added sf_command (SFC_TEST_ADD_TRAILING_DATA) to ensure above new code was
1584     working.
1586 2002-07-13  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1588     * tests/update_header_test.c
1589     Allow read sample count == write sample count - 1 to fix problems with VOC
1590     files.
1592     * tests/write_read_test.tpl tests/pcm_test.tpl
1593     Fixed some problems in the test suite discovered by using Valgrind.
1595 2002-07-12  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1597     * tests/utils.[ch] tests/*.c
1598     Renamed check_log_buffer() to check_log_buffer_or_die().
1600     * src/sndfile.c
1601     SFC_UPDATE_HEADER_NOW and SFC_SETUPDATE_HEADER_AUTO almost finished. Works
1602     for all file formats other than VOC.
1604 2002-07-11  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1606     * src/sndfile.[ch] src/common.h
1607     Started adding functionality to allow the file header to be updated before
1608     the file is closed on files open for SFM_WRITE. This was requested by
1609     Maurizio Umberto Puxeddu who is using libsndfile for file I/O in iCSound.
1611     * tests/update_header_test.c
1612     New test program to test that the above functionality is working correctly.
1614     * tests/peak_chunk_test.c tests/floating_point_test.c
1615     Cleanups.
1617 2002-07-10  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1619     * src/sfendian.[ch]
1620     Changed length count parameters for all endswap_XXX() functions from
1621     sf_count_t (which can be 64 bit even on 32 bit architectures) to int. These
1622     functions are only called frin inside the library, are always called with
1623     integer parameters and doing the actual calculation on 64 bit values is
1624     slow in comparision to doing it on ints.
1626     * examples/sndfile-play.c
1627     More playback hacking for Win32.
1629 2002-07-09  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1631     * src/common.c
1632     In psf_log_printf(), changed %D format conversion specifier to %M (marker) and
1633     added %D specifier for printing the sf_count_t type.
1635     * src/*.c
1636     Changed all usage of psf_log_printf() with %D format conversion specifiers
1637     to use %M conversion instead.
1639     * tests/pcm_test.tpl tests/pcm_test.def
1640     New files to autogen pcm_test.c.
1642     * src/pcm.c
1643     Fixed bug in scaling floats and doubles to 24 bit PCM and vice versa.
1645 2002-07-08  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1647     * configure.in
1648     Fix setup of $ac_cv_sys_largefile_CFLAGS so that sndfile.pc gets valid
1649     values for CFLAGS.
1651     * examples/sndfile-play.c
1652     Start adding playback support for Win32.
1654 2002-07-07  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1656     * src/*.c
1657     Worked to removed compiler warnings.
1658     Extensive refactoring.
1660     * src/common.[ch]
1661     Added function psf_memset() which works like the standard C function memset
1662     but takes and sf_count_t as the length parameter.
1664     * src/sndfile.c
1665     Replaced calls to memset(0 with calls to psf_memset() as required.
1667 2002-07-06  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1669     * src/sndfile.c
1670     Added "libsndfile : " to the start of all error messages. This was suggested
1671     by Conrad Parker author of Sweep ( http://sweep.sourceforge.net/ ).
1673     * src/sfendian.[ch]
1674     Added endswap_XXXX_copy() functions.
1676     * src/pcm.c src/float32.c src/double64.c
1677     Use endswap_XXXX_copy() functions and removed dead code.
1678     Cleanups and optimisations.
1680 2002-07-05  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1682     * src/sndfile.c src/sndfile.h
1683     Gave values to all the SFC_* enum values to allow better control of the
1684     interface as commands are added and removed.
1685     Added new command SFC_SET_ADD_PEAK_CHUNK.
1687     * src/wav.c src/aiff.c
1688     Modified wav_write_header and aiff_write_header to make addition of a PEAK
1689     chunk optional, even on floating point files.
1691     * tests/benchmark.tpl
1692     Added call to sf_command(SFC_SET_ADD_PEAK_CHUNK) to turn off addition of a
1693     PEAK chunk for the benchmark where we are trying to miximize speed.
1695     * src.pcm.c
1696     Changed tribyte typedef to something more sensible.
1697     Further conversion speed ups.
1699 2002-07-03  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1701     * src/command.c
1702     In major_formats rename "Sphere NIST" to "NIST Sphere".
1704     * src/common.c src/sfendian.c
1705     Moved all endswap_XXX_array() functions to sfendian.c. These functions will
1706     be tweaked to provide maximum performance. Since maximum performance on one
1707     platform does not guarantee maximum performance on another, a small set of
1708     functions will be written and the optimal one chosen at compile time.
1710     * src/common.h src/sfendian.h
1711     Declarations of all endswap_XXX_array() functions moved to sfendian.h.
1713     * src/Makefile.am
1714     Add sfendian.c to build targets.
1716 2002-07-01  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1718     * src/pcm.c src/sfendian.h
1719     Re-coded PCM encoders and decoders to match or better the speed of
1720     libsndfile version 0.0.28.
1722 2002-06-30  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1724     * src/wav.c
1725     Add checking for WAVPACK data in standard PCM WAV file. Return error if
1726     found. This WAVPACK is *WAY* broken. It uses the same PCM WAV file header
1727     and then stores non-PCM data.
1729     * tests/benchmark.tpl
1730     Added more tests.
1732 2002-06-29  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1734     * tests/benchmark.tpl
1735     Added conditional definition of M_PI.
1736     For Win32, set WRITE_PERMS to 0777.
1738     * Win32/Makefile.msvc
1739     Added target to make generate program on Win32.
1741     * src/samplitude.c
1742     Removed handler for Samplitude RAP file format. This file type seems rarer
1743     than hens teeth and is completely undocumented.
1745     * src/common.h src/sndfile.c src/Makefile.am Win32/Makefile.msvc
1746     Removed references to sampltiude RAP format.
1748     * tests/benchmark.tpl
1749     Benchmark program now prints the libsndfile version number when run. This
1750     program was also backported to version 0 to compare results. Version
1751     1.0.0rc2 is faster than version 0.0.28 on most conversions but slower on
1752     some. The slow ones need to be fixed before final release.
1754 2002-06-28  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1756     * tests/benchmark.def tests/benchmark.tpl
1757     New files which generate tests/benchmark.c using Autogen. Added int ->
1758     SF_FORMAT_PCM_24 test.
1760     * tests/benchmark.c
1761     Now and Autogen output file.
1763     * tests/Makefile.am
1764     Updated for above changes.
1766 2002-06-27  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1768     * tests/benchmark.c
1769     Basic benchmark program complete. Need to convert it to Autogen.
1771     * Win32/Makefile.msvc
1772     Added benchmark.exe target.
1774 2002-06-26  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1776     * examples/generate.c
1777     New program to generate a number of different output file formats from a
1778     single input file. This allows testing of the created files.
1780     * tests/benchmark.c
1781     New test program to benchmark libsndfile. Nowhere near complete yet.
1783     * examples/Makefile.am tests/Makefile.am
1784     New make rules for the two new programs.
1786 2002-06-25  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1788     * Win32/libsndfile.def
1789     Removed definition for sf_signal_max().
1791     * src/sndfile.c
1792     Removed cruft.
1794     * doc/index.html
1795     A number of documentation bugs were fixed. Thanks to Anand Kumria.
1797     * doc/version-1.html
1798     Minor doc updates.
1800     * configure.in
1801     Bumped version to 1.0.0rc2.
1803     * src/sf_command.h src/Makefile.am
1804     Removed the header file as it was no longer being used. Thanks to Anand
1805     Kunria for spotting this.
1807     * doc/index.html
1808     A number of documentation bugs were fixed. Thanks to Anand Kumria.
1810 2002-06-24  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1812     * src/common.h
1813     Test for Win32 before testing SIZEOF_OFF_T so that it works correctly
1814     on Win32..
1816     * src/file_io.c
1817     Win32 fixes to ensure O_BINARY is used for file open.
1819     * doc/win32.html
1820     New file documenting the building libsndfile on Win32.
1822     * doc/*.html
1823     Updating of documentation.
1825 2002-06-23  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1827     * tests/pcm_test.c
1828     Minor changes to allow easier determination of test file name.
1830     * src/sndfile.[ch]
1831     Removed function sf_signal_max().
1833     * examples/sndfile-play.c
1834     Changed call to sf_signal_max() to a call to sf_command().
1836 2002-06-22  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1838     * src/format.c src/command.c
1839     Renamed format.c to command.c which will now include code for sf_command()
1840     calls to perform operations other than format commands.
1842     * src/sndfile.c src/sndfile.h
1843     Removed function sf_get_signal_max() which is replaced by commands passed
1844     to sf_command().
1846     * src/command.c
1847     Implement commands SFC_CALC_SIGNAL_MAX.
1849     * doc/command.html
1850     Documented SFC_CALC_SIGNAL_MAX.
1852 2002-06-21  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1854     * examples/sndfile-play.c
1855     Mods to make sndfile-play work on Solaris. The program sndfile-play now
1856     runs on Linux, MaxOSX and Solaris. Win32 to come.
1858     * src/format.c
1859     Added SF_FORMAT_DWVW_* to subtype_formats array.
1861     * src/nist.c
1862     Added support for 8 bit NIST Sphere files. Example file supplied by Anand
1863     Kumria.
1865 2002-06-20  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1867     * examples/sndfile-info.c
1868     Tidy up of output format.
1870     * examnples/sndfile-play.c
1871     Mods to make sndfile-play work on MacOSX using Apple's CoreAudio API.
1873     * configure.in
1874     Add new variables OS_SPECIFIC_INCLUDES and OS_SPECIFIC_LINKS which were
1875     required to supply extra include paths and link parameters to get
1876     sndfile-play working on MacOSX.
1878     * examples/Makefile.am
1879     Use OS_SPOECIFIC_INCLUDES and OS_SPECIFIC_LINKS to build commands for
1880     sndfile-play.
1882 2002-06-19  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1884     * src/nist.c
1885     Added ability to read/write new NIST Sphere file types (A-law, u-law).
1886     Header parser was re-written from scratch. Example files supplied by Anand
1887     Kumria.
1889     * src/sndfile.c
1890     Support for A-law and u-law NIST files.
1892     * tests/Makefile.am tests/lossy_comp_test.c
1893     Tests for A-law and u-law NIST files.
1895 2002-06-18  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1897     * tests/utils.c
1898     Fixed an error in error string.
1900 2002-06-17  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1902     * acinclude.m4
1903     Removed exit command to allow cross-compiling.
1905     * Win32/unistd.h src/file_io.c
1906     Moved contents of first file into the second file (enclosed in #ifdef).
1907     Win32/unistd.h is now an empty file but still must be there for libsndfile
1908     to compile on Win32.
1910     * src/sd2.c, src/sndfile.c:
1911     Fixes for Sound Designer II files on big endian systems.
1913 2002-06-16  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1915     * configure.in
1916     Modified to work around problems with crappy MacOSX version of sed.
1917     Added sanity check for proper values for CFLAGS.
1919 2002-06-14  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1921     * src/sndfile.c
1922     Code clean up in sf_open ().
1924     * Win32/Makefile.msvc
1925     Michael Fink's contributed MSVC++ makefile was hacked to bits and put back
1926     together in a new improved form.
1928     * src/file_io.c
1929     Fixes for Win32; _lseeki64() returns an invalid argument for calls like
1930     _lseeki64(fd, 0, SEEK_CUR) so need to use _telli64 (fd) instead.
1932     * src/common.h src/sndfile.c src/wav.c src/aiff.c
1933     Added SFE_LOG_OVERRUN error.
1934     Added termination for potential infinite loop when parsing file headers.
1936     * src/wav.c src/w64.c
1937     Fixed bug casuing incorrect header generation when opening file read/write.
1939 2002-06-12  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1941     * doc/api.html
1942     Improved the documentation to make it clearer that the file read method
1943     and the underlying file format are completely disconnected. Suggested
1944     by Josh Green.
1946     * doc/command.html
1947     Started correcting docs to take into account changes made to the
1948     operations of the sf_command () function. Not complete yet.
1950     * src/sndfile.c
1951     Reverted some changes which had broken the partially working SDII header
1952     parsing. Now have access to an iBook with OS X so reading and writing SDII
1953     files on all platforms should be a reality in the near future. On Mac this
1954     will involve reading the resource fork via the standard MacOS API. To move
1955     a file from Mac to another OS, the resource and data forks will need to be
1956     combined before transfer. The combined file will be read on both Mac and
1957     other OSes like any other file.
1959 2002-06-08  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1961     * ltmain.sh
1962     Applied a patch from http://fink.sourceforge.net/doc/porting/libtool.php
1963     which allows libsndfile to compile on MacOSX 10.1. This patch should not
1964     interfere with compiling on other OSes.
1966     * src/GSM610/private.h
1967     Changes to fix compile problems on MacOSX (see src/GSM610/ChangeLog).
1969     * src/float_cast.h
1970     Added MacOSX replacements for lrint() and lrintf().
1972 2002-06-05  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1974     * src/sndfile.c
1975     Replaced the code to print the filename to the log buffer when a file is
1976     opened. This code seems to have been left out during the merge of
1977     sf_open_read() and sf_open_write() to make a single  functions sf_open().
1979 2002-06-01  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1981     * src/wav.c
1982     Fixed a bug where the WAV header parser was going into an infinite loop
1983     on a badly formed LIST chunk. File supplied by David Viens.
1985 2002-05-25  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1987     * configure.in
1988     Added a message at the end of the configuration process to warn about the
1989     need for the use of pkg-config when linking programs against version 1 of
1990     libsndfile.
1992     * doc/pkg-config.html
1993     New documentation file containing details of how to use pkg-config to
1994     retrieve settings for CFLAGS and library locations for linking files
1995     against version 1 of libsndfile.
1997 2002-05-17  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
1999     * src/wav.c
2000     Fixed minor bug in handling of so-called ACIDized WAV files.
2002 2002-05-16  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2004     * Win32/libsndfile.def Win32/Makefile.msvc
2005     Two new files contributed by Michael Fink (from the winLAME project)
2006     which allows libsndfile to be built on windows in a MSDOS box by doing
2007     "nmake -f Makefile.msvc". Way cool!
2009 2002-05-15  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2011     * configure.in
2012     MacOSX is SSSOOOOOOO screwed up!!! I can't believe how hard it is to
2013     generate a tarball which will configure and compile on that platform.
2014     Joined the libtool mailing list to try and get some answers.
2016 2002-05-13  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2018     * configure.in
2019     Changed to autoconf version 2.50. MacOSX uses autoconf version 2.53 which
2020     is incompatible with with version 2.13 which had been using until now.
2021     The AC_SYS_LARGE_FILE macro distributed withe autoconf 2.50 is missing a
2022     few features so AC_SYS_EXTRA_LARGE file was defined to replace it.
2024     * configure.in
2025     Changed to automake version 1.5 to try and make a tarball which will
2026     work on MacOSX.
2028 2002-05-12  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2030     * src/wav_gsm610.c
2031     Changed name to gsm610.c. Added reading/writing of headerless files.
2033     * src/sndfile.c src/raw.c
2034     Added ability to read/write headerless (SF_FORMAT_RAW) GSM 6.10 files.
2036 2002-05-11  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2038     * tests/lossy_comp_test.c
2039     Clean up in preparation for Autogen-ing this file.
2041     * src/GSM610/*.[ch]
2042     Code cleanup and prepartion forgetting file seek working. Details in
2043     src/GSM610/ChangeLog.
2045     * sndfile.pc.in
2046     Testing complete. Is sndfile.m4 still needed?
2048 2002-05-09  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2050     * tests/write_read_test.tpl tests/rdwr_test.tpl
2051     Merged tests from these two programs into write_read_test.tpl and deleted
2052     rdwr_test.tpl.
2054 2002-05-08  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2056     * src/w64.c src/svx.c src/paf.c
2057     Fixed bugs in read/write mode.
2059 2002-05-07  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2061     * examples/Makefile.am
2062     Renamed sfplay.c to sndfile-play.c and sndfile_info.c to sndfile-info.c for
2063     consistency when these programs become part of the Debian package
2064     sndfile-programs.
2066     * sndfile.pc.in
2067     New file to replace sndfile-config.in. Libsndfile now uses the pkg-config
2068     model for providing installation parameters to dependant programs.
2070     * src/sndfile.c
2071     Cleanup of code in sf_open().
2073 2002-05-06  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2075     * tests/utils.tpl tests/write_read_test.tpl
2076     More conversion to Autogen fixes and enchancements.
2078     * src/*.c
2079     Read/write mode is now working for 16, 24 and 32 bit PCM as well as 32
2080     bit float and 64 bit double data. More tests still required.
2082     * src/Makefile.am
2083     Added DISTCLEANFILES target to remove config.status and config.last.
2085     * Win32/Makefile.am MacOS/Makefile.am
2086     Added DISTCLEANFILES target to remove Makefile.
2088 2002-05-05  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2090     * src/*.[ch] tests/rdwr_test.c
2091     More verifying workings of read/write mode. Fixing bugs found.
2093     * tests/utils.[ch]
2094     Made these files Autogen generated files.
2096     * tests/util.tpl tests/util.def
2097     New Autogen files to generate utils.[ch]. Moved some generic test functions
2098     into this file. Autogen is such a great tool!
2100 2002-05-03  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2102     * src/pcm.c src/float_cast.h Win32/config.h
2103     Fixed a couple of Win32 specific bugs pointed out by Michael Fink
2104     (maintainer of WinLAME) and David Viens.
2106     * tests/check_log_buffer.[ch] tests/utils.[ch]
2107     Moved check_log_buffer() to utils.[ch] and deleted old file.
2109 2002-05-02  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2111     * src/common.[ch] src/sndfile.c
2112     New function psf_default_seek() which will be the default seek function
2113     for things like PCM and floating point data. This default is set for
2114     both read and write in sf_open() but can be over-ridden by any codec
2115     during it's initialisation.
2117 2002-05-01  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2119     * src/au.c
2120     AU files use a data size value of -1 to mean unknown. Fixed au_open_read()
2121     to allow opening files like this.
2123     * tests/rdwr_test .c
2124     Added more tests.
2126     * src/sndfile.c
2127     Fixed bugs in read/write mode found due to improvements in the test
2128     program.
2130 2002-04-30  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2132     * tests/rdwr_test .c
2133     New file for testing read/write mode.
2135 2002-04-29  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2137     * m4/*
2138     Removed all m4 macros from this directory as they get concatenated to form
2139     the file aclocal.m4 anyway.
2141     * sndfile.m4
2142     Moved this from the m4 directory to the root directory asn this is part of
2143     the distribution and is installed during "make install".
2145 2002-04-29  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2147     * src/float32.c
2148     Removed logging of peaks for all file formats other than AIFF and WAV.
2150     * tests/write_read_test.tpl tests/write_read_test.def
2151     New files which autogen uses to generate write_read_test.c. Doing it this
2152     way makes write_read_test.c far easier to maintain. Other test programs
2153     will be converted to autogen in the near future.
2155     * src/*.c
2156     Fixed a few bugs found when testing on Sparc (bug endian) Solaris.
2158 2002-04-28  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2160     * doc/*.html
2161     Fixed documention versioning.
2163     * configure.in
2164     Fixed a bug in the routines which search for Large File Support on systems
2165     which have large file support by defualt.
2167 2002-04-27  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2169     * src/*.[ch]
2170     Found and fixed an issue which can cause a bug in other software (I was
2171     porting Conrad Parker's Sweep program from version 0 of the library to
2172     version 1). When opening a file for write, the libsndfile code would
2173     set the sfinfo.samples field to a maximum value.
2175     * tests/write_read_test.c
2176     Added tests to detect the above problem.
2178 2002-04-25  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2180     * src/*.[ch]
2181     Finished base implementation of read/write mode. Much more testing still
2182     needed.
2184     * m4/largefile.m4
2185     Macro for detecting Large File Standard capabilities. This macro was ripped
2186     out of the aclocal.m4 file of GNU tar-1.13.
2188     * configure.in
2189     Added detection of large file support. Files larger than 2 Gigabytes should
2190     now be supported on 64 bit platforms and many 32 bit platforms including
2191     Linux (2.4 kernel, glibc-2.2), *BSD, MacOS, Win32.
2193     * libsndfile_convert_version.py
2194     A Python script which attempts to autoconvert code written to use version 0
2195     to version 1.
2197 2002-04-24  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2199     * src/*.[ch]
2200     Finished base implementation of read/write mode. Much more testing still
2201     needed.
2203     * tests/write_read_test.c
2204     Preliminary tests for read/write mode added. More needed.
2206 2002-04-20  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2208     * src/sndfile.[ch]
2209     Removed sf_open_read() and sf_open_write() functions,replacting them with
2210     sf_open() which takes an extra mode parameter (SF_OPEN_READ, SF_OPEN_WRITE,
2211     or SF_OPEN_RDWR). This new function sf_open can now be modified to allow
2212     opening a file formodification (RDWR).
2214 2002-04-19  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2216     * src/*.c
2217     Completed merging of separate xxx_open_read() and xxx_open_write()
2218     functions. All tests pass.
2220 2002-04-18  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2222     * src/au.c
2223     Massive refactoring required to merge au_open_read() with au_open_write()
2224     to create au_open().
2226 2002-04-17  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2228     * src/*.c
2229     Started changes required to allow a sound file to be opened in read/write
2230     mode, with separate file pointers for read and write. This involves merging
2231     of encoder/decoder functions like pcm_read_init() and pcm_write_init()
2232     int a new function pcm_init() as well as doing something similar for all
2233     the file type specific functions ie aiff_open_read() and aiff_open_write()
2234     were merged to make the function aiff_open().
2236 2002-04-15  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2238     * src/file_io.c
2239     New file containing psf_fopen(), psf_fread(), psf_fwrite(), psf_fseek() and
2240     psf_ftell() functions. These function will replace use of fopen/fread/fwrite
2241     etc and allow access to files larger than 2 gigabytes on a number of 32 bit
2242     OSes (Linux on x86, 32 bit Solaris user space apps, Win32 and MacOS).
2244     * src/*.c
2245     Replaced all instances of fopen with psf_open, fread with psd_read, fwrite
2246     with psf_write and so on.
2248 2002-03-11  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2250     * src/dwvw.c
2251     Finally fixed all known problems with 12, 16 and 24 bit DWVW encoding.
2253     * tests/floating_point_test.c
2254     Added tests for 12, 16 and 24 bit DWVW encoding.
2256 2002-03-03  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2258     * m4/endian.m4
2259     Defines a new m4 macro AC_C_FIND_ENDIAN, for determining the endian-ness of
2260     the target CPU. It first checks for the definition of BYTE_ORDER in
2261     <endian.h>, then in <sys/types.h> and <sys/param.h>. If none of these work
2262     and the C compiler is not a cross compiler it compiles and runs a program
2263     to test for endian-ness. If the compiler is a cross compiler it makes a
2264     guess based on $target_cpu.
2266     * configure.in
2267     Modified to use AC_C_FIND_ENDIAN.
2269     * src/sfendian.h
2270     Simplified.
2272 2002-02-23  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2274     * tests/floating_point_test.c
2275     Tests completely rewritten using the dft_cmp function. Now able to
2276     calculate a quick guesstimate of the Signal to Noise Ratio of the encoder.
2278 2002-02-15  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2280     * tests/dft_cmp.[ch]
2281     New files containing functions for comparing pre and post lossily
2282     compressed data using a quickly hacked DFT.
2284     * tests/utils.[ch]
2285     New files containing functions for saving pre and post encoded data in a
2286     file readable by the GNU Octave package.
2288 2002-02-13  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2290     * m4/lrint.m4 m4/lrintf.m4
2291     Fixed m4 macros to define HAVE_LRINT and HAVE_LRINTF even when the test
2292     is cached.
2294 2002-02-12  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2296     * tests/floating_point_test.c
2297     Fixed improper use of strncat ().
2299 2002-02-11  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2301     * tests/headerless_test.c
2302     New test program to test the ability to open and read a known file type as a
2303     RAW header-less file.
2305 2002-02-07  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2307     * tests/losy_comp_test.c
2308     Added a test to ensure that the data read from a file is not all zeros.
2310     * examples/sfconvert.c
2311     Added "-gsm610" encoding types.
2313 2002-01-29  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2315     * examples/sfconvert.c
2316     Added "-dwvw12", "-dwvw16" and "-dwvw24" encoding types.
2318     * tests/dwvw_test.c
2319     New file for testing DWVW encoder/decoder.
2321 2002-01-28  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2323     * src/dwvw.c
2324     Implemented writing of DWVW. 12 bit seems to work, 16 and 24 bit still broken.
2326     * src/aiff.c
2327     Improved reporting of encoding types.
2329     * src/voc.c
2330     Clean up.
2332 2002-01-27  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2334     * src/dwvw.c
2335     New file implementing lossless Delta Word Variable Width (DWVW) encoding.
2336     Reading 12 bit DWVW is now working.
2338     * src/aiff.c common.h sndfile.c
2339     Added hooks for DWVW encoded AIFF and RAW files.
2341 2002-01-15  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2343     * src/w64.c
2344     Robustify header parsing.
2346     * src/wav_w64.h
2347     Header file wav.h was renamed to wav_w64.h to signify sharing of
2348     definitions across the two file types.
2350     * src/wav.c src/w64.c src/wav_w64.c
2351     Refactoring.
2352     Modified and moved functions with a high degree of similarity between
2353     wav.c and w64.c to wav_w64.c.
2355 2002-01-14  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2357     * src/w64.c
2358     Completed work on getting read and write working.
2360     * examples/sfplay.c
2361     Added code to scale floating point data so it plays at a reasonable volume.
2363     * tests/Makefile.am tests/write_read_test.c
2364     Added tests for W64 files.
2366 2002-01-13  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2368     * src/*.c
2369     Modded all code in file header writing routines to use
2370     psf_new_binheader_writef().
2371     Removed psf_binheader_writef() from src/common.c.
2372     Globally replaced psf_new_binheader_writef with psf_binheader_writef.
2374 2002-01-12  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2376     * src/*.c
2377     Modded all code in file parsing routines to use psf_new_binheader_readf().
2378     Removed psf_binheader_readf() from src/common.c.
2379     Globally replaced psf_new_binheader_readf with psf_binheader_readf.
2381     * src/common.[ch]
2382     Added new function psf_new_binheader_writef () which will soon replace
2383     psf_binheader_writef (). The new function has basically the same function
2384     as the original but has a more flexible and capable interface. It also
2385     allows the writing of 64 bit integer values for files contains 64 bit file
2386     offsets.
2388 2002-01-11  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2390     * src/formats.c src/sndfile.c src/sndfile.h
2391     Added code allowing full enumeration of supported file formats via the
2392     sf_command () interface.
2393     This feature will allow applications to avoid needing recompilation when
2394     support for new file formats are added to libsndfile.
2396     * tests/command_test.c
2397     Added test code for the above feature.
2399     * examples/list_formats.c
2400     New file. An example of the use of the supported file enumeration
2401     interface. This program lists all the major formats and for each major
2402     format the supported subformats.
2404 2002-01-10  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2406     * src/*.[ch] tests/*.c
2407     Changed command parameter of sf_command () function from a test string to
2408     an int. The valid values for the command parameter begin with SFC_ and are
2409     listed in src/sndfile.h.
2411 2001-12-20  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2413     * src/formats.c src/sndfile.c
2414     Added an way of enumerating a set of common file formats using the
2415     sf_command () interface. This interface was suggested by Dominic Mazzoni,
2416     one of the main authors of Audacity (http://audacity.sourceforge.net/).
2418 2001-12-26  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2420     * src/sndfile.c
2421     Added checking of filename parameter in sf_open_read (). Previousy, if a
2422     NULL pointer was passed the library would segfault.
2424 2001-12-18  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2426     * src/common.c src/common.h
2427     Changed the len parameter of the endswap_*_array () functions from type
2428     int to type long.
2430     * src/pcm.c
2431     Fixed a problem which
2433 2001-12-15  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2435     * src/sndfile.c
2436     Added conditional #include <sys/types.h> for EMX/gcc on OS/2. Thanks to
2437     Paul Hartman for pointing this out.
2439     * tests/lossy_comp_test.c tests/floating_point_test.c
2440     Added definitions for M_PI for when it isn't defined in <math.h>.
2442 2001-11-30  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2444     * src/ircam.c
2445     Re-implemented the header reader. Old version was making incorrect
2446     assumptions about the endian-ness of the file from the magic number at the
2447     start of the file. The new code looks at the integer which holds the
2448     number of channels and determines the endian-ness from that.
2450 2001-11-30  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2452     * src/aiff.c
2453     Added support for other AIFC types ('raw ', 'in32', '23ni').
2454     Further work on IMA ADPCM encoding.
2456 2001-11-29  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2458     * src/ima_adpcm.c
2459     Renamed from wav_ima_adpcm.c. This file will soon handle IMA ADPCM
2460     encodings for both WAV and AIFF files.
2462     * src/aiff.c
2463     Started adding IMA ADPCM support.
2465 2001-11-28  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2467     * src/double.c
2468     New file for handling double precision floating point (SF_FORMAT_DOUBLE)
2469     data.
2471     * src/wav.c src/aiff.c src/au.c src/raw.c
2472     Added support for SF_FORMAT_DOUBLE data.
2474     * src/common.[ch]
2475     Addition of endswap_long_array () for endian swapping 64 bit integers. This
2476     function will work correctly on processors with 32 bit and 64 bit longs.
2477     Optimised endswap_short_array () and endswap_int_array ().
2479     * tests/pcm_test.c
2480     Added and extra check. After the first file of each type is written to disk
2481     a checksum is performed of the first 64 bytes and checked against a pre-
2482     calculated value. This will work whatever the endian-ness of the host
2483     machine.
2485 2001-11-27  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2487     * src/aiff.c
2488     Added handling of u-law, A-law encoded AIFF files. Thanks to Tom Erbe for
2489     supplying example files.
2491     * tests/lossy_comp_test.c
2492     Added tests for above.
2494     * src/common.h src/*.c
2495     Removed function typedefs from common.h and function pointer casting in all
2496     the other files. This allows the compiler to perform proper type checking.
2497     Hopefully this will prevernt problems like the sf_seek bug for OpenBSD,
2498     BeOS etc.
2500     * src/common.[ch]
2501     Added new function psf_new_binheader_readf () which will eventually replace
2502     psf_binheader_readf (). The new function has basically the same function as
2503     the original but has a more flexible and capable interface. It also allows
2504     the reading of 64 bit integer values for files contains 64 bit file
2505     offsets.
2507 2001-11-26  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2509     * src/voc.c
2510     Completed implementation of VOC file handling. Can now handle 8 and 16 bit
2511     PCM, u-law and A-law files with one or two channels.
2513     * src/write_read_test.c tests/lossy_comp_test.c
2514     Added tests for VOC files.
2516 2001-11-22  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2518     * src/float_cast.h
2519     Added inline asm version of lrint/lrintf for MacOS. Solution provided by
2520     Stephane Letz.
2522     * src/voc.c
2523     More work on this braindamaged format. The VOC files produced by SoX also
2524     have a number of inconsistencies.
2526 2001-11-19  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2528     * src/paf.c
2529     Added support for 8 bit PCM PAF files.
2531     * tests/write_read_test.c
2532     Added tests for 8 bit PAF files.
2534 2001-11-18  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2536     * tests/pcm_test.c
2537     New test program to test for correct scaling of integer values between
2538     different sized integer containers (ie short -> int).
2539     The new specs for libsndfile state that when the source and destination
2540     containers are of a different size, the most significant bit of the source
2541     value becomes the most significant bit of the destination container.
2543     * src/pcm.c src/paf.c
2544     Modified to pass the above test program.
2546     * tests/write_read_test.c tests/lossy_comp_test.c
2547     Modified to work with the new scaling rules.
2549 2001-11-17  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2551     * src/raw.c tests/write_read_test.c tests/write_read_test.c
2552     Added ability to do raw reads/writes of float, u-law and A-law files.
2554     * src/*.[ch] examples/*.[ch] tests/*.[ch]
2555     Removed dependance on pcmbitwidth field of SF_INFO struct and moved to new
2556     SF_FORMAT_* types and use of SF_ENDIAN_BIG/LITTLE/CPU.
2558 2001-11-12  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2560     * src/*.[ch]
2561     Started implmentation of major changes documented in doc/version1.html.
2563     Removed all usage of off_t which is not part of the ISO C standard. All
2564     places which were using it are now using type long which is the type of
2565     the offset parameter for the fseek function.
2566     This should fix problems on BeOS, MacOS and *BSD like systems which were
2567     failing "make check" because sizeof (long) != sizeof (off_t).
2569 --------------------------------------------------------------------------------
2570 This is the boundary between version 1 of the library above and version 0 below.
2571 --------------------------------------------------------------------------------
2573 2001-11-11  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2575     * examples/sfplay_beos.cpp
2576     Added BeOS version of sfplay.c. This needs to be compiled using a C++
2577     compiler so is therefore not built by default. Thanks to Marcus Overhagen
2578     for providing this.
2580 2001-11-10  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2582     * examples/sfplay.c
2583     New example file showing how libsndfile can be used to read and play a
2584     sound file.
2585     At the moment on Linux is supported. Others will follow in the near future.
2587 2001-11-09  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2589     * src/pcm.c
2590     Fixed problem with normalisation code where a value of 1.0 could map to
2591     a value greater than MAX_SHORT or MAX_INT. Thanks to Roger Dannenberg for
2592     pointing this out.
2594 2001-11-08  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2596     * src/pcm.c
2597     Fixed scaling issue when reading/writing 8 bit files using
2598     sf_read/sf_write_short ().
2599     On read, values are scaled so that the most significant bit in the char
2600     ends up in the most significant bit of the short. On write, values are
2601     scaled so that most significant bit in the short ends up as the most
2602     significant bit in the char.
2604 2001-11-07  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2606     * src/au.c src/sndfile.c
2607     Added support for 32 bit float data in big and little endian AU files.
2609     * tests/write_read_test.c
2610     Added tests for 32 bit float data in AU files.
2612 2001-11-06  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2614     * tests/lossy_comp_test.c
2615     Finalised testing of stereo files where possible.
2617 2001-11-05  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2619     * src/wav_ms_adpcm.c
2620     Fixed bug in writing stereo MS ADPCM WAV files. Thanks to Xu Xin for
2621     pointing out this problem.
2623 2001-10-24  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2625     * src/wav_ms_adpcm.c
2626     Modified function srate2blocksize () to handle 44k1Hz stereo files.
2628 2001-10-21  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2630     * src/w64.c
2631     Added support for Sonic Foundry 64 bit WAV format. As Linux (my main
2632     development platform) does not yet support 64 bit file offsets by default,
2633     current handling of this file format treats everything as 32 bit and fails
2634     openning the file, if it finds anything that goes beyond 32 bit values.
2636     * src/sndfile.[hc] src/common.h src/Makefile.am
2637     Added hooks for W64 support.
2639 2001-10-21  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2641     * configure.in
2642     Added more warnings options to CFLAGS when the gcc compiler is detected.
2644     * src/*.[ch] tests/*.c examples/*.c
2645     Started fixing the warning messages due to the new CFLASG.
2647     * src/voc.c
2648     More work on VOC file read/writing.
2650     * src/paf.c
2651     Found that PAF files were not checking the normalisation flag when reading
2652     or writing floats and doubles. Fixed it.
2654     * tests/floating_point_test.c
2655     Added specific test for the above problem.
2657     * src/float_cast.h src/pcm.c
2658     Added a section for Win32 to define lrint () and lrintf () in the header
2659     and implement it in the pcm.c
2661 2001-10-20  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2663     * sndfile-config.in m4/sndfile.m4
2664     These files were donated by Conrad Parker who also provided instructions
2665     on how to install them using autoconf/automake.
2667     * src/float_cast.h
2668     Fiddled around with this file some more. On Linux and other gcc supported
2669     OSes use the C99 functions lrintf() and lrint() for casting from floating
2670     point to int without incurring the huge perfromance penalty (particularly
2671     on the i386 family) caused by the regular C cast from float to int.
2672     These new C99 functions replace the FLOAT_TO_* and DOUBLE_TO_* macros which
2673     I had been playing with.
2675     * configure.in m4/lrint.m4 m4/lrintf.m4
2676     Add detection of these functions.
2678 2001-10-17  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2680     * src/voc.c
2681     Completed code for reading VOC files containing a single audio data
2682     segment.
2683     Started implementing code to handle files with multiple VOC_SOUND_DATA
2684     segments but couldn't be bothered finishing it. Multiple segment files can
2685     have different sample rates for different sections and other nasties like
2686     silence and repeat segments.
2688 2001-10-16  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2690     * src/common.h src/*.c
2691     Removed SF_PRIVATE struct field fdata and replaced it with extra_data.
2693     * src/voc.c
2694     Further development of the read part of this woefult file format.
2696 2001-10-04  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2698     * src/float_cast.h
2699     Implemented gcc and i386 floating point to int cast macros. Standard cast
2700     will be used when not on gcc for i385.
2702     * src/pcm.c
2703     Modified all uses of FLOAT/DOUBLE_TO_INT and FLOAT/DOUBLE_TO_SHORT casts to
2704     comply with macros in float_cast.h.
2706 2001-10-04  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2708     * src/voc.c
2709     Changed the TYPE_xxx enum names to VOC_TYPE_xxx to prevent name clashes
2710     on MacOS with CodeWarrior 6.0.
2712     * MacOS/MacOS-readme.txt
2713     Updated the compile instructions. Probably still need work as I don't have
2714     access to a Mac.
2716 2001-10-01  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2718     * src/wav.c src/aiff.c common.c
2719     Changed all references to snprintf to LSF_SNPRINTF and all vsnprintf to
2720     LSF_VSNPRINTF. LSF_VSNPRINTF and LSF_VSNPRINTF are defined in common.h.
2722     * src/common.h
2723     Added checking of HAVE_SNPRINTF and HAVE_VSNPRINTF and defining
2724     LSF_VSNPRINTF and LSF_VSNPRINTF to appropriate values.
2726     * src/missing.c
2727     New file containing a minimal implementation of snprintf and vsnprintf
2728     functions named missing_snprintf and missing_vsnprintf respectively. These
2729     are only compliled into the binary if snprintf and/or vsnprintf are not
2730     available.
2732 2001-09-29  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2734     * src/ircam.c
2735     New file to handle Berkeley/IRCAM/CARL files.
2737     * src/sndfile.c src/common.h
2738     Modified for IRCAM handling.
2740     * tests/*.c
2741     Added tests for IRCAM files.
2743 2001-09-27  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2745     * src/wav.c
2746     Apparently microsoft windows (tm) doesn't like ulaw and Alaw WAV files with
2747     20 byte format chunks (contrary to ms's own documentation). Fixed the WAV
2748     header writing code to generate smaller ms compliant ulaw and Alaw WAV
2749     files.
2751 2001-09-17  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2753     * tests/stdio_test.sh tests/stdio_test.c
2754     Shell script was rewritten as a C program due to incompatibilities of the
2755     sh shell on Linux and Solaris.
2757 2001-09-16  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2759     * tests/stdio_test.sh tests/stdout_test.c tests/stdin_test.c
2760     New test programs to verify the correct operation of reading from stdin and
2761     writing to stdout.
2763     * src/sndfile.c wav.c au.c nist.c paf.c
2764     Fixed a bugs uncovered by the new test programs above.
2766 2001-09-15  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2768     * src/sndfile.c wav.c
2769     Fixed a bug preventing reading a file from stdin. Found by T. Narita.
2771 2001-09-12  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2773     * src/common.h
2774     Fixed a problem on OpenBSD 2.9 which was causing sf_seek() to fail on IMA
2775     WAV files. Root cause was the declaration of the func_seek typedef not
2776     matching the functions it was actually being used to point to. In OpenBSD
2777     sizeof (off_t) != sizeof (int). Thanks to Heikki Korpela for allowing me
2778     to log into his OpenBSD machine to debug this problem.
2780 2001-09-03  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2782     * src/sndfile.c
2783     Implemented sf_command ("norm float").
2785     * src/*.c
2786     Implemented handling of sf_command ("set-norm-float"). Float normalization
2787     can now be turned on and off.
2789     * tests/double_test.c
2790     Renamed to floating_point_test.c. Modified to include tests for all scaled
2791     reads and writes of floats and doubles.
2793     * src/au_g72x.c
2794     Fixed bug in normalization code found with improved floating_point_test
2795     program.
2797     * src/wav.c
2798     Added code for parsing 'INFO' and 'LIST' chunks. Will be used for extract
2799     text annotations from WAV files.
2801     * src/aiff.c
2802     Added code for parsing '(c) ' and 'ANNO' chunks. Will be used for extract
2803     text annotations from WAV files.
2805 2001-09-02  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2807     * examples/sf_info.c example/Makefile.am
2808     Renamed to sndfile_info.c. The program sndfile_info will now be installed
2809     when the library is installed.
2811     * src/float_cast.h
2812     New file defining floating point to short and int casts. These casts will
2813     eventually replace all flot and double casts to short and int. See comments
2814     at the top of the file for the reasoning.
2816     * src/*.c
2817     Changed all default float and double casts to short or int with macros
2818     defined in floatcast.h. At the moment these casts do nothing. They will be
2819     replaced with faster float to int cast operations in the near future.
2821 2001-08-31  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2823     * tests/command_test.c
2824     New file for testing sf_command () functionality.
2826     * src/sndfile.c
2827     Revisiting of error return values of some functions.
2828     Started implementing sf_command () a new function will allow on-the-fly
2829     modification of library behaviour, or instance, sample value scaling.
2831     * src/common.h
2832     Added hook for format specific sf_command () calls to SNDFILE struct.
2834     * doc/api.html
2835     Updated and errors corrected.
2837     * doc/command.html
2838     New documentation file explaining new sf_command () function.
2840 2001-08-11  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2842     * src/sndfile.c
2843     Fixed error return values from sf_read*() and sf_write*(). There were
2844     numerous instances of -1 being returned through size_t. These now all set
2845     error int the SF_PRIVATE struct and return 0. Thanks to David Viens for
2846     spotting this.
2848 2001-08-01  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2850     * src/common.c
2851     Fixed use of va_arg() calls that were causing warning messages with the
2852     latest version of gcc (thanks Maurizio Umberto Puxeddu).
2854 2001-07-25  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2856     * src/*.c src/sfendian.h
2857     Moved definition of MAKE_MARKER macro to sfendian.h
2859 2001-07-23  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2861     * src/sndfile.c
2862     Modified sf_get_lib_version () so that version string will be visible using
2863     the Unix strings command.
2865     * examples/Makefile.am examples/sfinfo.c
2866     Renamed sfinfo program and source code to sf_info. This prevents a name
2867     clash with the program included with libaudiofile.
2869 2001-07-22  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2871     * tests/read_seek_test.c tests/lossy_comp_test.c
2872     Added tests for sf_read_float () and sf_readf_float ().
2874     * src/voc.c
2875     New files for handling Creative Voice files (not complete).
2877     * src/samplitude.c
2878     New files for handling Samplitude files (not complete).
2880 2001-07-21  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2882     * src/aiff.c src/au.c src/paf.c src/svx.c src/wav.c
2883     Converted these files to using psf_binheader_readf() function. Will soon be
2884     ready to attempt to make reading writing from pipes work reliably.
2886     * src/*.[ch]
2887     Added code for sf_read_float () and sf_readf_float () methods of accessing
2888     file data.
2890 2001-07-20  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2892     * src/paf.c src/wav_gsm610.c
2893     Removed two printf()s which had escaped notice for some time (thanks
2894     Sigbjørn Skjæret).
2896 2001-07-19  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2898     * src/wav_gsm610.c
2899     Fixed a bug which prevented GSM 6.10 encoded WAV files generated by
2900     libsndfile from being played in Windoze (thanks klay).
2902 2001-07-18  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2904     * src/common.[ch]
2905     Implemented psf_binheader_readf() which will do for file header reading what
2906     psf_binheader_writef() did for writing headers. Will eventually allow
2907     libsndfile to read and write from pipes, including named pipes.
2909 2001-07-16  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2911     * MacOS/config.h Win32/config.h
2912     Attempted to bring these two files uptodate with src/config.h. As I don't
2913     have access to either of these systems support for them may be completely
2914     broken.
2916 2001-06-18  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2918     * src/float32.c
2919     Fixed bug for big endian processors that can't read 32 bit IEEE floats. Now
2920     tested on Intel x86 and UltraSparc processors.
2922 2001-06-13  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2924     * src/aiff.c
2925     Modified to allow REX files (from Propellorhead's Recycle and Reason
2926     programs) to be read.
2927     REX files are basically an AIFF file with slightly unusual sequence of
2928     chunks (AIFF files are supposed to allow any sequence) and some extra
2929     application specific information.
2930     Not yet able to write a REX file as the details of the application specific
2931     data is unknown.
2933 2001-06-12  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2935     * src/wav.c
2936     Fixed endian bug when reading PEAK chunk on big endian machines.
2938     * src/common.c
2939     Fixed endian bug when reading PEAK chunk on big endian machines with
2940     --enable-force-broken-float configure option.
2941     Fix psf_binheader_writef for (FORCE_BROKEN_FLOAT ||______)
2943 2001-06-07  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2945     * configure.in src/config.h.in
2946     Removed old CAN_READ_WRITE_x86_IEEE configure variable now that float
2947     capabilities are detected at run time.
2948     Added FORCE_BROKEN_FLOAT to allow testing of broken float code on machines
2949     where the processor can in fact handle floats correctly.
2951     * src/float32.c
2952     Rejigged code reading and writing of floats on broken processors.
2954     * m4/
2955     Removed this directory and all its files as they are no longer needed.
2957 2001-06-05  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2959     * tests/peak_chunk_test.c
2960     New test to validate reading and writing of peak chunk.
2962     * examples/sfconvert
2963     Added -float32 option.
2965     * src/*.c
2966     Changed all error return values to negative values (ie the negative of what
2967     they were).
2969     * src/sndfile.c tests/error_test.c
2970     Modified to take account of the previous change.
2972 2001-06-04  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2974     * src/float32.c
2975     File renamed from wav_float.c and renamed function to something more
2976     general.
2977     Added runtime detection of floating point capabilities.
2978     Added recording of peaks during write for generation of PEAK chunk.
2980     * src/wav.c src/aiff.c
2981     Added handing for PEAK chunk for floating point files. PEAK is read when the
2982     file headers are read and generated when the file is closed. Logic is in
2983     place for adding PEAK chunk to end of file when writing to a pipe (reading
2984     and writing from/to pipe to be implemented soon).
2986     * src/sndfile.c
2987     Modified sf_signal_max () to use PEAK values if present.
2989 2001-06-03  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
2991     * src/*.c
2992     Added pcm_read_init () and pcm_write_init () to src/pcm.c and removed all
2993     other calls to functions in this file from the filetype specific files.
2995     * src/*.c
2996     Added alaw_read_init (), alaw_write_int (), ulaw_read_init () and
2997     ulaw_write_init () and removed all other calls to functions in alaw.c and
2998     ulaw.c from the filetype specific files.
3000     * tests/write_read_test.c
3001     Added tests to validate sf_seek () on all file types.
3003     * src/raw.c
3004     Implemented raw_seek () function to fix a bug where
3005     sf_seek (file, 0, SEEK_SET) on a RAW file failed.
3007     * src/paf.c
3008     Fixed a bug in paf24_seek () found due to added seeks tests in
3009     tests/write_read_test.c
3011 2001-06-01  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3013     * tests/read_seek_test.c
3014     Fixed a couple of broken binary files.
3016     * src/aiff.c src/wav.c
3017     Added handling of PEAK chunks on file read.
3019 2001-05-31  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3021     * check_libsndfile.py
3022     New file for the regression testing of libsndfile.
3023     check_libsndfile.py is a Python script which reads in a file containing
3024     filenames of audio files. Each file is checked by running the examples/sfinfo
3025     program on them and checking for error or warning messages in the libsndfile
3026     log buffer.
3028     * check_libsndfile.list
3029     This is an example list of audio files for use with check_libsndfile.py
3031     * tests/lossy_comp_test.c
3032     Changed the defined value of M_PI for math header files which don't have it.
3033     This fixed validation test failures on MetroWerks compilers. Thanks to Lord
3034     Praetor Satanus of Acheron for bringing this to my attention.
3036 2001-05-30  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3038     * src/common.[ch]
3039     Removed psf_header_setf () which was no longer required after refactoring
3040     and simplification of header writing.
3041     Added 'z' format specifier to psf_binheader_writef () for zero filling header
3042     with N bytes. Used by paf.c and nist.c
3044     * tests/check_log_buffer.c
3045     New file implementing check_log_buffer () which reads the log buffer of a
3046     SNDFILE* object and searches for error and warning messages. Calls exit ()
3047     if any are found.
3049     * tests/*.c
3050     Added calls to check_log_buffer () after each call to sf_open_XXX ().
3052 2001-05-29  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3054     * src/wav.c src/wav_ms_adpcm.c src/wav_gsm610.c
3055     Major rehack of header writing using psf_binheader_writef ().
3057 2001-05-28  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3059     * src/wav.c src/wav_ima_adpcm.c
3060     Major rehack of header writing using psf_binheader_writef ().
3062 2001-05-27  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3064     * src/wav.c
3065     Changed return type of get_encoding_str () to prevent compiler warnings on
3066     Mac OSX.
3068     * src/aiff.c src/au.c
3069     Major rehack of header writing using psf_binheader_writef ().
3071 2001-05-25  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3073     * src/common.h src/common.c
3074     Added comments.
3075     Name of log buffer changed from strbuffer to logbuffer.
3076     Name of log buffer index variable changed from strindex to logindex.
3078     * src/*.[ch]
3079     Changed name of internal logging function from psf_sprintf () to
3080     psf_log_printf ().
3081     Changed name of internal header generation functions from
3082     psf_[ab]h_printf () to psf_asciiheader_printf () and
3083     psf_binheader_writef ().
3084     Changed name of internal header manipulation function psf_hsetf () to
3085     psf_header_setf ().
3087 2001-05-24  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3089     * src/nist.c
3090     Fixed reading and writing of sample_byte_format header. "01" means little
3091     endian and "10" means big endian regardless of bit width.
3093     * configure.in
3094     Detect Mac OSX and disable -Wall and -pedantic gcc options. Mac OSX is
3095     way screwed up and spews out buckets of warning messages from the system
3096     headers.
3097     Added --disable-gcc-opt configure option (sets gcc optimisation to -O0 ) for
3098     easier debugging.
3099     Made decision to harmonise source code version number and .so library
3100     version number. Future releases will stick to this rule.
3102     * doc/new_file_type.HOWTO
3103     New file to document the addition of new file types to libsndfile.
3105 2001-05-23  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3107     * src/nist.c
3108     New file for reading/writing Sphere NIST audio file format.
3109     Originally requested by Elis Pomales in 1999.
3110     Retrieved from unstable (and untouched for 18 months) branch of libsndfile.
3111     Some vital information gleaned from the source code to Bill Schottstaedt's
3112     sndlib library : ftp://ccrma-ftp.stanford.edu/pub/Lisp/sndlib.tar.gz
3113     Currently reading and writing 16, 24 and 32 bit, big-endian and little
3114     endian, stereo and mono files.
3116     * src/common.h src/common.c
3117     Added psf_ah_printf () function to help construction of ASCII headers (ie NIST).
3119     * configure.in
3120     Added test for vsnprintf () required by psf_ah_printf ().
3122     * tests/write_read_test.c
3123     Added tests for supported NIST files.
3125 2001-05-22  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3127     * tests/write_read_test.c
3128     Added tests for little endian AIFC files.
3130     * src/aiff.c
3131     Minor re-working of aiff_open_write ().
3132     Added write support for little endian PCM encoded AIFC files.
3134 2001-05-13  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3136     * src/aiff.c
3137     Minor re-working of aiff_open_read ().
3138     Added read support for little endian PCM encoded AIFC files from the Mac
3139     OSX CD ripper program. Guillaume Lessard provided a couple of sample files
3140     and a working patch.
3141     The patch was not used as is but gave a good guide as to what to do.
3143 2001-05-11  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3145     * src/sndfile.h
3146     Fixed comments about endian-ness of WAV and AIFF files. Guillaume Lessard
3147     pointed out the error.
3149 2001-04-23  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3151     * examples/make_sine.c
3152     Re-write of this example using sample rate and required frequency in Hz.
3154 2001-02-11  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3156     * src/sndfile.c
3157     Fixed bug that prevented known file types from being read as RAW PCM data.
3159 2000-12-16  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3161     * src/aiff.c
3162     Added handing of COMT chunk.
3164 2000-11-16  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3166     * examples/sfconvert.c
3167     Fixed bug in normalisatio code. Pointed out by Johnny Wu.
3169 2000-11-08  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3171     * Win32/config.h
3172     Fixed the incorrect setting of HAVE_ENDIAN_H parameter. Win32 only issue.
3174 2000-10-27  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3176     * tests/Makefile.am
3177     Added -lm for write_read_test_LDADD.
3179 2000-10-16  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3181     * src/sndfile.c src/au.c
3182     Fixed bug which prevented writing of G723 24kbps AU files.
3184     * tests/lossy_comp_test.c
3185     Corrrection to options for G723 tests.
3187     * configure.in
3188     Added --disable-gcc-pipe option for DJGPP compiler (gcc on MS-DOS) which
3189     doesn't allow gcc -pipe option.
3191 2000-09-03  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3193     * src/ulaw.c src/alaw.c src/wav_imaadpcm.c src/msadpcm.c src/wav_gsm610.c
3194     Fixed normailsation bugs shown up by new double_test program.
3196 2000-08-31  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3198     * src/pcm.c
3199     Fixed bug in normalisation code (spotted by Steve Lhomme).
3201     * tests/double_test.c
3202     New file to test scaled and unscaled sf_read_double() and sf_write_double()
3203     functions.
3205 2000-08-28  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3207     * COPYING
3208     Changed to the LGPL COPYING file (spotted by H. S. Teoh).
3210 2000-08-21  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3212     * src/sndfile.h
3213     Removed prototype of unimplemented function sf_get_info(). Added prototype
3214     for sf_error_number() Thanks to Sigbjørn Skjæret for spotting these.
3216 2000-08-18  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3218     * src/newpcm.h
3219     New file to contain a complete rewrite of the PCM data handling.
3221 2000-08-15  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3223     * src/sndfile.c
3224     Fixed a leak of FILE* pointers in sf_open_write(). Thanks to Sigbjørn
3225     Skjæret for spotting this one.
3227 2000-08-13  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3229     * src/au_g72x.c src/G72x/g72x.c
3230     Added G723 encoded AU file support.
3232     * tests/lossy_comp_test.c
3233     Added tests for G721 and G723 encoded AU files.
3235 2000-08-06  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3237     * all files
3238     Changed the license to LGPL. Albert Faber who had copyright on
3239     Win32/unistd.h gave his permission to change the license on that file. All
3240     other files were either copyright erikd AT zipworld DOT com DOT au or copyright
3241     under a GPL/LGPL compatible license.
3243 2000-08-06  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3245     * tests/lossy_comp_test.c
3246     Fixed incorrect error message.
3248     * src/au_g72x.c src/G72x/*
3249     G721 encoded AU files now working.
3251     * Win32/README-Win32.txt
3252     Replaced this file with a new one which gives a full explanation
3253     of how to build libsndfile under Win32. Thanks to Mike Ricos.
3255 2000-08-05  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3257     * src/*.[ch]
3258     Removed double leading underscores from the start of all variable and
3259     function names. Identifiers with a leading underscores are reserved
3260     for use by the compiler.
3262     * src/au_g72x.c src/G72x/*
3263     Continued work on G721 encoded AU files.
3265 2000-07-12  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3267     * src/G72x/*
3268     New files for reading/writing G721 and G723 ADPCM audio. These files
3269     are from a Sun Microsystems reference implementation released under a
3270     free software licence.
3271     Extensive changes to this code to make it fit in with libsndfile.
3272     See the ChangeLog in this directory for details.
3274     * src/au_g72x.c
3275     New file for G721 encoded AU files.
3277 2000-07-08  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3279     * libsndfile.spec.in
3280     Added a spec file for making RPMs. Thanks to Josh Green for supplying this.
3282 2000-06-28  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3284     * src/sndfile.c src/sndfile.h
3285     Add checking for and handling of header-less u-law encoded AU/SND files.
3286     Any file with a ".au" or ".snd" file extension and without the normal
3287     AU file header is treated as an 8kHz, u-law encoded file.
3289     * src/au.h
3290     New function for opening a headerless u-law encoded file for read.
3292 2000-06-04  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3294     * src/paf.c
3295     Add checking for files shorter than minimal PAF file header length.
3297 2000-06-02  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3299     * tests/write_read_test.c
3300     Added extra sf_perror() calls when sf_write_XXXX fails.
3302 2000-05-29  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3304     * src/common.c
3305     Modified usage of va_arg() macro to work correctly on PowerPC
3306     Linux. Thanks to Kyle Wheeler for giving me ssh access to his
3307     machine while I was trying to track this down.
3309     * configure.in src/*.[ch]
3310     Sorted out some endian-ness issues brought up by PowerPC Linux.
3312     * tests/read_seek_test.c
3313     Added extra debugging for when tests fail.
3315 2000-05-18  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3317     * src/wav.c
3318     Fixed bug in GSM 6.10 handling for big-endian machines. Thanks
3319     to Sigbjørn Skjæret for reporting this.
3321 2000-04-25  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3323     * src/sndfile.c src/wav.c src/wav_gsm610.c
3324     Finallised writing of GSM 6.10 WAV files.
3326     * tests/lossy_comp_test.c
3327     Wrote new test code for GSM 6.10 files.
3329     * examples/sfinfo.c
3330     Fixed incorrect format in printf() statement.
3332 2000-04-06  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3334     * src/sndfile.h.in
3335     Fixed comments about sf_perror () and sf_error_str ().
3337 2000-03-14  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3339     * configure.in
3340     Fixed --enable-justsrc option.
3342 2000-03-07  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3344     * wav.c
3345     Fixed checking of bytespersec field of header. Still some weirdness
3346     with some files.
3348 2000-03-05  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3350     * tests/lossy_comp_test.c
3351     Added option to test PCM WAV files (sanity check).
3352     Fixed bug in sf_seek() tests.
3354 2000-02-29  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3356     * src/sndfile.c src/wav.c
3357     Minor changes to allow writing of GSM 6.10 WAV files.
3359 2000-02-28  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3361     * configure.in Makefile.am src/Makefile.am
3362     Finally got around to figuring out how to build a single library from
3363     multiple source directories.
3364     Reading GSM 6.10 files now seems to work.
3366 2000-01-03  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3368     * src/wav.c
3369     Added more error reporting in read_fmt_chunk().
3371 1999-12-21  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3373     * examples/sfinfo.c
3374     Modified program to accept multiple filenames from the command line.
3376 1999-11-27  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3378     * src/wav_ima_adpcm.c
3379     Moved code around in preparation to adding ability to read/write IMA ADPCM
3380     encoded AIFF files.
3382 1999-11-16  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3384     * src/common.c
3385     Fixed put_int() and put_short() macros used by _psf_hprintf() which were
3386     causing seg. faults on Sparc Solaris.
3388 1999-11-15  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3390     * src/common.c
3391     Added string.h to includes. Thanks to Sigbjxrn Skjfret.
3393     * src/svx.c
3394     Fixed __svx_close() function to ensure FORM and BODY chunks are correctly
3395     set.
3397 1999-10-01  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3399     * src/au.c
3400     Fixed handling of incorrect size field in AU header on read. Thanks to
3401     Christoph Lauer for finding this problem.
3403 1999-09-28  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3405     * src/aiff.c
3406     Fixed a bug with incorrect SSND chunk length being written. This also lead
3407     to finding an minor error in AIFF header parsing. Thanks to Dan Timis for
3408     pointing this out.
3410 1999-09-24  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3412     * src/paf.c
3413     Fixed a bug with reading and writing 24 bit stereo PAF files. This problem
3414     came to light when implementing tests for the new functions which operate
3415     in terms of frames rather than items.
3417 1999-09-23  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3419     * src/sndfile.c
3420     Modified file type detection to use first 12 bytes of file rather than
3421     file name extension. Required this because NIST files use the same
3422     filename extension as Microsoft WAV files.
3424     * src/sndfile.c src/sndfile.h
3425     Added short, int and double read/write functions which work in frames
3426     rather than items. This was originally suggested by Maurizio Umberto
3427     Puxeddu.
3429 1999-09-22  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3431     * src/svx.c
3432     Finished off implementation of write using __psf_hprintf().
3434 1999-09-21  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3436     * src/common.h
3437     Added a buffer to SF_PRIVATE for writing the header. This is required
3438     to make generating headers for IFF/SVX files easier as well as making
3439     it easier to do re-write the headers which will be required when
3440     sf_rewrite_header() is implemented.
3442     * src/common.c
3443     Implemented __psf_hprintf() function. This is an internal function
3444     which is documented briefly just above the code.
3446 1999-09-05  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3448     * src/sndfile.c
3449     Fixed a bug in sf_write_raw() where it was returning incorrect values
3450     (thanks to Richard Dobson for finding this one). Must put in a test
3451     routine for sf_read_raw and sf_write_raw.
3453     * src/aiff.c
3454     Fixed default FORMsize in __aiff_open_write ().
3456     * src/sndfile.c
3457     Added copy of filename to internal data structure. IFF/SVX files
3458     contain a NAME header chunk. Both sf_open_read() and sf_open_write()
3459     copy the file name (less the leading path information) to the
3460     filename field.
3462     * src/svx.c
3463     Started implementing writing of files.
3465 1999-08-04  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3467     * src/svx.c
3468     New file for reading/writing 8SVX and 16SVX files.
3470     * src/sndfile.[ch] src/common.h
3471     Changes for SVX files.
3473     * src/aiff.c
3474     Fixed header parsing when unknown chunk is found.
3476 1999-08-01  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3478     * src/paf.c
3479     New file for reading/writing Ensoniq PARIS audio file format.
3481     * src/sndfile.[ch] src/common.h
3482     Changes for PAF files.
3484     * src/sndfile.[ch]
3485     Added stuff for sf_get_lib_version() function.
3488 1999-07-31  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3490     * src/sndfile.h MacOS/config.h
3491     Fixed minor MacOS configuration issues.
3493 1999-07-30  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3495     * MacOS/
3496     Added a new directory for the MacOS config.h file and the
3497     readme file.
3499     * src/aiff.c
3500     Fixed calculation of datalength when reading SSND chunk. Thanks to
3501     Sigbjørn Skjæret for pointing out this error.
3503 1999-07-29  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3505     * src/sndfile.c src/sndfile.h src/raw.c
3506     Further fixing of #includes for MacOS.
3508 1999-07-25  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3510     * src/wav.c src/aiff.c
3511     Added call to ferror () in main header parsing loop of __XXX_open_read
3512     functions. This should fix problems on platforms (MacOS, AmigaOS) where
3513     fseek()ing or fread()ing beyond the end of the file puts the FILE*
3514     stream in an error state until clearerr() is called.
3516     * tests/write_read_test.c
3517     Added tests for RAW header-less PCM files.
3519     * src/common.h
3520     Moved definition of struct tribyte to pcm.c which is the only place
3521     which needs it.
3523     * src/pcm.c
3524     Modified all code which assumed sizeof (struct tribyte) == 3. This code
3525     did not work on MacOS. Thanks to Ben "Jacobs" for pointing this out.
3527     * src/au.c
3528     Removed <sys/stat.h> from list of #includes (not being used).
3530     * src/sndfile.c
3531     Added MacOS specific #ifdef to replace <sys/stat.h>.
3533     * src/sndfile.h
3534     Added MacOS specific #ifdef to replace <sys/stat.h>.
3536     * src/sndfile.h
3537     Added MacOS specific typedef for off_t.
3539     * MacOS-readme.txt
3540     New file with instructions for building libsndfile under MacOS. Thanks
3541     to Ben "Jacobs" for supplying these instructions.
3543 1999-07-24  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3545     * configure.in
3546     Removed sndfile.h from generated file list as there were no longer
3547     any autoconf substitutions being made.
3549     * src/raw.c
3550     New file for handling raw header-less PCM files. In order to open these
3551     for read, the user must specify format, pcmbitwidth and channels in the
3552     SF_INFO struct when calling sf_open_read ().
3554     * src/sndfile.c
3555     Added support for raw header-less PCM files.
3557 1999-07-22  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3559     * examples/sfinfo.c
3560     Removed options so the sfinfo program always prints out all the information.
3562 1999-07-19  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3564     * src/alaw.c
3565     New file for A-law encoding (similar to u-law).
3567     * tests/alaw_test.c
3568     New test program to test the A-law encode/decode lookup tables.
3570     * tests/lossy_comp_test.c
3571     Added tests for a-law encoded WAV, AU and AULE files.
3573 1999-07-18  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3575     * src/sndfile.c src/au.c
3576     Removed second "#include <unistd.h>". Thanks to Ben "Jacobs" for pointing
3577     this out.
3579 1999-07-18  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3581     * tests/ulaw_test.c
3582     New test program to test the u-law encode/decode lookup tables.
3584 1999-07-16  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3586     * src/sndfile.h
3587     Made corrections to comments on the return values from sf_seek ().
3589     * src/sndfile.c
3590     Fixed boundary condition checking bug and accounting bug in sf_read_raw ().
3592 1999-07-15  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3594     * src/au.c src/ulaw.c
3595     Finished implementation of u-law encoded AU files.
3597     * src/wav.c
3598     Implemented reading and writing of u-law encoded WAV files.
3600     * tests/
3601     Changed name of adpcm_test.c to lossy_comp_test.c. This test program
3602     will now be used to test Ulaw and Alaw encoding as well as APDCM.
3603     Added tests for Ulaw encoded WAV files.
3605 1999-07-14  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3607     * tests/adpcm_test.c
3608     Initialised amp variable in gen_signal() to remove compiler warning.
3610 1999-07-12  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3612     * src/aiff.c
3613     In __aiff_open_read () prevented fseek()ing beyond end of file which
3614     was causing trouble on MacOS with the MetroWerks compiler. Thanks to
3615     Ben "Jacobs" for pointing this out.
3617     *src/wav.c
3618     Fixed as above in __wav_open_read ().
3620 1999-07-01    Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3622     * src/wav_ms_adpcm.c
3623     Implemented MS ADPCM encoding. Code cleanup of decoder.
3625     * tests/adpcm_test.c
3626     Added tests for MS ADPCM WAV files.
3628     * src/wav_ima_adpcm.c
3629     Fixed incorrect parameter in call to srate2blocksize () from
3630     __ima_writer_init ().
3632 1999-06-23  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3634     * tests/read_seek_test.c
3635     Added test for 8 bit AIFF files.
3637 1999-06-18  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3639     * tests/write_read_test.c
3640     Removed test for IMA ADPCM WAV files which is now done in adpcm_test.c
3642     * configure.in
3643     Added -Wconversion to CFLAGS.
3645     * src/*.c tests/*.c examples/*.c
3646     Fixed all warnings resulting from use of -Wconversion.
3648 1999-06-17  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3650     * src/wav.c
3651     Added fact chunk handling on read and write for all non WAVE_FORMAT_PCM
3652     WAV files.
3654     * src/wav_ima.c
3655     Changed block alignment to be dependant on sample rate. This should make
3656     WAV files created with libsndfile compatible with the MS Windows media
3657     players.
3659     * tests/adpcm_test.c
3660     Reimplemented adpcm_test_short and implemented adpcm_test_int and
3661     adpcm_test_double.
3662     Now have full testing of IMA ADPCM WAV file read, write and seek.
3664 1999-06-15  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3666     * src/wav_float.c
3667     Fixed function prototype for x86f2d_array () which was causing ocassional
3668     seg. faults on Sparc Solaris machines.
3670 1999-06-14  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3672     * src/aiff.c
3673     Fixed bug in __aiff_close where the length fields in the header were
3674     not being correctly calculated before writing.
3676     * tests/write_read_test.c
3677     Modified to detect the above bug in WAV, AIFF and AU files.
3679 1999-06-12    Erik de Castro Lopo     <erikd AT zipworld DOT com DOT au>
3681     * Win32/*
3682     Added a contribution from Albert Faber to allow libsndfile to compile
3683     under Win32 systems. libsndfile will now be used as part of LAME the
3684     the MPEG 1 Layer 3 encoder (http://internet.roadrunner.com/~mt/mp3/).
3686 1999-06-11    Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3688     * configure.in
3689     Changed to reflect previous changes.
3691     * src/wav_ima_adpcm.c
3692     Fixed incorrect calculation of bytespersec header field (IMA ADPCM only).
3694     Fixed bug when writing from int or double data to IMA ADPCM file. Will need
3695     to write test code for this.
3697     Fixed bug in __ima_write () whereby the length of the current block was
3698     calculated incorrectly. Thanks to Jongcheon Park for pointing this out.
3700 1999-03-27  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3702     * src/*.c
3703     Changed all read/write/lseek function calls to fread/fwrite/
3704     fseek/ftell and added error checking of return values from
3705     fread and fwrite in critical areas of the code.
3707     * src/au.c
3708     Fixed incorrect datasize element in AU header on write.
3710     * tests/error_test.c
3711     Add new test to check all error values have an associated error
3712     string. This will avoid embarrassing real world core dumps.
3714 1999-03-23  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3716     * src/wav.c src/aiff.c
3717     Added handling for unknown chunk markers in the file.
3719 1999-03-22  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3721     * src/sndfile.c
3722     Filled in missing error strings in SndfileErrors array. Missing entries
3723     can cause core dumps when calling sf_error-str (). Thanks to Sam
3724     <mrsam at-sign geocities.com> for finding this problem.
3726 1999-03-21  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3728     * src/wav_ima_adpcm.c
3729     Work on wav_ms_adpcm.c uncovered a bug in __ima_read () when reading
3730     stereo files. Caused by not adjusting offset into buffer of decoded
3731     samples for 2 channels. A similar bug existed in __ima_write ().
3732     Need a test for stereo ADPCM files.
3734     * src/wav_ms_adpcm.c
3735     Decoder working correctly.
3737 1999-03-18  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3739     * configure.in Makefile.am
3740     Added --enable-justsrc configuration variable sent by Sam
3741     <mrsam at-sign geocities.com>.
3743     * src/wav_ima_adpcm.c
3744     Fixed bug when reading beyond end of data section due to not
3745     checking pima->blockcount.
3746     This uncovered __ima_seek () bug due to pima->blockcount being set
3747     before calling __ima_init_block ().
3749 1999-03-17  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3751     * src/wav.c
3752     Started implementing MS ADPCM decoder.
3753     If file is WAVE_FORMAT_ADPCM and length of data chunk is odd, this
3754     encoder seems to add an extra byte. Why not just give an even data
3755     length?
3757 1999-03-16  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3759     * src/wav.c
3760     Split code out of wav.c to create wav_float.c and wav_ima_adpcm.c.
3761     This will make it easier to add and debug other kinds of WAV files
3762     in future.
3764 1999-03-14  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3766     * tests/
3767     Added adpcm_test.c which implements test functions for
3768     IMA ADPCM reading/writing/seeking etc.
3770     * src/wav.c
3771     Fixed many bugs in IMA ADPCM encoder and decoder.
3773 1999-03-11  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3775     * src/wav.c
3776     Finished implementing IMA ADPCM encoder and decoder (what a bitch!).
3778 1999-03-03  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3780     * src/wav.c
3781     Started implementing IMA ADPCM decoder.
3783 1999-03-02  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3785     * src/sndfile.c
3786     Fixed bug where the sf_read_XXX functions were returning a
3787     incorrect read count when reading past end of file.
3788     Fixed bug in sf_seek () when seeking backwards from end of file.
3790     * tests/read_seek_test.c
3791     Added multiple read test to short_test(), int_test () and
3792     double_test ().
3793     Added extra chunk to all test WAV files to test that reading
3794     stops at end of 'data' chunk.
3796 1999-02-21  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3798     * tests/write_read_test.c
3799     Added tests for little DEC endian AU files.
3801     * src/au.c
3802     Add handling for DEC format little endian AU files.
3804 1999-02-20  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3806     * src/aiff.c src/au.c src/wav.c
3807     Add __psf_sprintf calls during header parsing.
3809     * src/sndfile.c src/common.c
3810     Implement sf_header_info (sndfile.c) function and __psf_sprintf (common.c).
3812     * tests/write_read_test.c
3813     Added tests for 8 bit PCM files (WAV, AIFF and AU).
3815     * src/au.c src/aiff.c
3816     Add handling of 8 bit PCM data format.
3818     * src/aiff.c
3819     On write, set blocksize in SSND chunk to zero like everybody else.
3821 1999-02-16  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3823     * src/pcm.c:
3824     Fixed bug in let2s_array (cptr was not being initialised).
3826     * src/sndfile.c:
3827     Fixed bug in sf_read_raw and sf_write_raw. sf_seek should
3828     now work when using these functions.
3830 1999-02-15  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3832     * tests/write_read_test.c:
3833     Force test_buffer array to be double aligned. Sparc Solaris
3834     requires this.
3836 1999-02-14  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3838     * src/pcm.c:
3839     Fixed a bug which was causing errors in the reading
3840     and writing of 24 bit PCM files.
3842     * doc/api.html
3843     Finished of preliminary documentaion.
3845 1999-02-13  Erik de Castro Lopo  <erikd AT zipworld DOT com DOT au>
3847     * src/aiff.c:
3848     Changed reading of 'COMM' chunk to avoid reading an int
3849     which overlaps an int (4 byte) boundary.