1 2003-05-03 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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>
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.
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>
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
51 Updated to match src/sndfile.h.in.
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>
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>
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
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>
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>
93 Fix psf_fseek() for seeks withing embedded files.
95 2003-04-15 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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
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>
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
121 2003-04-06 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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.
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>
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.
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>
162 Modified test_open_file_or_die() to alternately use sf_open() and
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>
174 Added prototype for new function sf_open_fd().
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.
182 Document sf_open_fd().
184 2003-03-09 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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.
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>
209 New file which will document the interface which allows the addition of
210 audio dither when sample word sizes are being reduced.
215 2003-02-26 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
218 In update_header_test(), make HTK files a special case.
221 Added HTK to the feature matrix.
223 2003-02-25 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
226 New file for reading/writing HMM Tool Kit files.
228 * src/sndfile.h.in src/sndfile.c src/command.c src/Makefile.am
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>
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().
243 2003-02-10 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
246 Applied patch from Antoine Mathys to add extra WAV format definitions and
247 a G72x_ADPCM_WAV_FMT struct definition.
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.
265 2003-02-06 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
268 Added Q and A on how to detect libsndfile in configure.in (at the suggestion
271 2003-02-05 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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.
284 Implement commands above.
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.
298 New file to allow the addition of audio dither on input and output.
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.
315 Added XI to support matrix.
317 2003-01-27 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
320 Added prototypes for sf_get_string() and sf_set_string() and SF_STR_*
324 Added public interface to sf_get_string() and sf_set_string().
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.
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>
338 Added fields to SF_PRIVATE for string data needed to implement
339 sf_get_string() and sf_set_string().
342 New file for storing and retrieving strings to/from files.
345 Added strings.c to build.
347 2003-01-25 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
350 Read seems to be working so looking at write.
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>
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>
367 Fixed a compiler warning found by Alexander Lerch.
369 2003-01-18 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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
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>
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.
402 Updated for PVF files.
404 2003-01-07 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
407 Modified validate_sfinfo() to force samplerate, channels and sections
409 In format_from_extension() replaced calls to does_extension_match()
415 2003-01-06 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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.
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>
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>
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
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>
457 Added "mailto" links for all three lists.
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.
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>
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.
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
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.
496 Removed use of conversion script on Solaris. Not all Solaris versions
500 New file containg details of the mailing lists.
503 Add a link to the above new file.
505 2002-12-04 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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>
514 Added more capabilities to 'smpl' chunk parser.
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>
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.
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.
534 Modification to prevent compiler warnings on Mac OS X.
537 Fixes for windows (what a f**ked OS).
539 2002-11-08 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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
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
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>
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.
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>
587 Fixed a possible divide by zero error when read the 'smpl' chunk. Thanks to
588 Serg Repalov for the example file.
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
601 Added string_in_log_buffer().
604 Use string_in_log_buffer() to ensure that IEEE replacement code has been
608 Removed --enable-force-broken-float option. IEEE replacement code is now
611 2002-10-31 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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
623 Fix all usage of float32_write().
626 Added SFC_TEST_IEEE_FLOAT_REPLACE command (testing only).
629 Added SF_PRIVATE field ieee_replace.
632 In sf_command() set/reset psf->ieee_replace.
634 2002-10-26 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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>
644 Added fix for Cygwin (suggested by Maros Michalik).
646 2002-10-23 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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().
659 Removed #include of <stdio.h>, <unistd.h>, <fcntl.h> and <math.h> which
660 are no longer needed.
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.
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.
680 Add new subtype SF_FORMAT_VOX_ADPCM.
683 Renamed function is_au_snd_file () to format_from_extenstion () and expanded
684 its functionality to detect headerless VOX files.
687 Added hooks for SF_FORMAT_VOX_ADPCM.
689 * examples/sndfile-info.c
690 Print out file duration (suggested by Conrad Parker).
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>
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.
705 Return correct error message if the header cannot be written because the
709 Corrected printing of file mode in error reporting.
712 Fixed a bug where a MAT5 file written by libsndfile could not be opened by
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.
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
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>
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
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
749 Removed old programs wav32_aiff24 and sndfile2oct.
751 * man/sndfile-convert.1
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>
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>
771 Fixed bug in handling of COMM chunks with a 4 byte encoding byte but no
774 2002-10-06 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
777 Fixed repeated word in an error message.
779 2002-10-05 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
782 Improved advertising in Features section.
784 2002-10-04 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
787 Added decoding of 'labl' chunks within 'LIST' chunks.
790 Added (experimental only) SF_FORMAT_OGG and SF_FORMAT_VORBIS and definition
791 of ogg_open(). This is nowhere near working yet.
794 Added detection of 'OggS' file marker and added call to ogg_open() to
798 New file. Very early start of Ogg Vorbis support.
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
806 2002-10-02 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
809 Modified option --enable-experimental to set ENABLE_EXPERIMENTAL_CODE in
810 config.h to either 0 or 1.
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>
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.
826 Removed -lm from Libs line.
828 2002-09-24 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
831 Removed all perror() calls.
834 Removed calls to exit() function.
835 Added check to detect NIST files dammaged from Unix CR -> Win32 CRLF
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.
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>
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
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.
870 Added #ifndef to prevent the #warning directives killing the SGI MIPSpro
873 * src/au_g72x.c src/double64.c src/float32.c src/gsm610.c src/ima_adpcm.c
875 Fix benign compiler warnings arising from previously added compiler
878 2002-09-18 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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
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.
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.
902 2002-09-16 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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>
917 Added a link to some other Octave scripts for reading and writing sound
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.
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
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>
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.
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.
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
974 Removed superfluous cast.
976 * src/wav.c src/svx.c
977 Fixed case of file generated with no data.
978 Removed superfluous cast.
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/).
986 Added Octave directory.
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.
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>
1000 Fixed bug in RDWR mode.
1002 2002-09-09 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
1005 Fixed psf_get_date_str() for systems which don't have gmtime_r() or
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>
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
1018 Added function psf_get_date_str().
1021 Complete read and write support.
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>
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>
1043 Added elements for SF_FORMAT_MAT4 and SF_FORMAT_MAT5 to major_formats
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>
1052 Added check to prevent errors openning read only formats for read/write.
1055 New file for interleaving non-interleaved data. Non-interleaved data is
1056 only supported on read.
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().
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
1073 2002-09-01 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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
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
1087 * src/sndfile.h.in src/sndfile.c src/common.h src/command.c src/Makefile.am
1088 Mods to add Matlab files.
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>
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>
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>
1109 Fixed typo found by Tommi Ilmonen.
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.
1124 Bumped version to 1.0.0.
1126 2002-08-15 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
1129 Add a #include for Mac OS 9. Thanks to Stephane Letz.
1132 Changed an snprintf to LSF_SNPRINTF.
1135 Added version-1.html.
1137 2002-08-14 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
1140 Bumped version to 1.0.rc6.
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
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>
1161 Completed reading of TXW files. Seek doesn't work yet.
1164 Added a MacOS 9 replacement for ftruncate().
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>
1173 Fixed commands SF_SET_NORM_DOUBLE and SFC_SET_NORM_FLOAT to return their
1174 values after being set. Reported by Jussi Laako.
1177 If autogen is not found, touch all .c and .h files in tests/.
1180 Added format width specifier to psf_log_printf() for %u, %d, %D and %X.
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>
1192 New file implementing read of Psion Alaw files. This will be a read only
1193 format. Implementation complete.
1196 Started implementation of DiamondWare Digitized files. Also read only, not
1200 Add parsing of 'smpl' chunk.
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].
1208 Modified psf_log_printf() to accept the %% conversion specifier to allow
1209 printing of a single '%'.
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>
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.
1230 Implemented psf_ftruncate() and much other hacking for Win32.
1232 * Win32/Makefile.msvc
1236 Updated to include the copying of the sndfile.h file from the Win32/
1237 directory to the src/ directory.
1240 Batch file to make compiling on Wi32 a little easier. Implements "make" and
1243 2002-08-09 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
1246 Add place holder for ftruncate() on Win32 which doesn't have ftruncate().
1247 This will need to be fixed later.
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.
1254 Modified to find a good type for TYPEOF_SF_COUNT_T.
1257 Fixed a bug when reading malformed headers.
1260 Set read values to zero before performing read.
1262 2002-08-08 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
1265 Fixed some HTML tags which were not allowing jumps to links within the
1269 Massive hacking on this.
1272 Added recognition of 'clm ' tag.
1274 2002-08-07 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
1277 Added beginning of a capabilities list beyond simple file formats which
1278 can be read/written.
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().
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.
1295 What's the best format for storing temporary files?
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>
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.
1317 Documented SFC_FILE_TRUNCATE.
1319 * tests/command_test.c
1320 Add tests for SFC_FILE_TRUNCATE.
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.
1328 Fixed a bug were sf_read_* was logging an SFE_SHORT_READ even when no error
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).
1345 Changed values of HAVE_LRINT and HAVE_LRINTF to force use of code in
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>
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 ().
1364 Added test for SFC_CALC_MAX_SIGNAL and SFC_CALC_NORM_MAX_SIGNAL.
1367 Update version to 1.0.0rc5.
1370 Removed inclusion of un-necessary header.
1372 2002-08-03 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
1375 Minor fixes of info written to log buffer.
1378 Add definition of HAVE_LRINT_REPLACEMENT.
1380 * tests/floating_point_test.c
1381 Fix file hash check on systems without lrint/lrintf.
1384 Limit SNR to less than -500.0dB.
1386 * examples/sndfile2oct.c
1387 Fixed compiler warnings.
1390 Fixed error where last parameter of sf_error_str() was sf_count_t instead
1393 2002-08-02 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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>
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>
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
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>
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.
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.
1440 Fixed problem writing the 'fact' chunk on big endian systems.
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>
1448 Fix for reading headers generated using SFC_UPDATE_HEADER_NOW.
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.
1463 Added hooks for SFC_SET_UPDATE_HEADER_AUTO.
1465 * tests/update_header_test.c
1466 Improved rigor of testing.
1469 Fixed problem with *_write_header() functions.
1471 2002-07-27 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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().
1481 Added handling for commands SFC_CALC_NORM_SIGNAL_MAX and
1482 SFC_CALC_NORM_MAX_ALL_CHANNELS.
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
1494 2002-07-25 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
1497 New file for frequently asked questsions.
1499 2002-07-22 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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.
1511 Update support matrix.
1513 2002-07-21 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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
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.
1537 Add support for IBM_FORMAT_MULAW and IBM_FORMAT_ALAW encodings.
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
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.
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
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.
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
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
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().
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
1617 2002-07-10 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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>
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.
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.
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>
1648 Fix setup of $ac_cv_sys_largefile_CFLAGS so that sndfile.pc gets valid
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>
1657 Worked to removed compiler warnings.
1658 Extensive refactoring.
1661 Added function psf_memset() which works like the standard C function memset
1662 but takes and sf_count_t as the length parameter.
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>
1670 Added "libsndfile : " to the start of all error messages. This was suggested
1671 by Conrad Parker author of Sweep ( http://sweep.sourceforge.net/ ).
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.
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>
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.
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>
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
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.
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.
1761 Now and Autogen output file.
1764 Updated for above changes.
1766 2002-06-27 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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.
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().
1795 A number of documentation bugs were fixed. Thanks to Anand Kumria.
1797 * doc/version-1.html
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.
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>
1813 Test for Win32 before testing SIZEOF_OFF_T so that it works correctly
1817 Win32 fixes to ensure O_BINARY is used for file open.
1820 New file documenting the building libsndfile on Win32.
1823 Updating of documentation.
1825 2002-06-23 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
1828 Minor changes to allow easier determination of test file name.
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
1847 Implement commands SFC_CALC_SIGNAL_MAX.
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.
1859 Added SF_FORMAT_DWVW_* to subtype_formats array.
1862 Added support for 8 bit NIST Sphere files. Example file supplied by Anand
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.
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
1882 2002-06-19 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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
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>
1898 Fixed an error in error string.
1900 2002-06-17 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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>
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>
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.
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>
1942 Improved the documentation to make it clearer that the file read method
1943 and the underlying file format are completely disconnected. Suggested
1947 Started correcting docs to take into account changes made to the
1948 operations of the sf_command () function. Not complete yet.
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>
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).
1970 Added MacOSX replacements for lrint() and lrintf().
1972 2002-06-05 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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>
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>
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
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>
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>
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>
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.
2025 Changed to automake version 1.5 to try and make a tarball which will
2028 2002-05-12 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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.
2042 Code cleanup and prepartion forgetting file seek working. Details in
2043 src/GSM610/ChangeLog.
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
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
2067 New file to replace sndfile-config.in. Libsndfile now uses the pkg-config
2068 model for providing installation parameters to dependant programs.
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.
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.
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.
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>
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
2127 Fixed bugs in read/write mode found due to improvements in the test
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>
2138 Removed all m4 macros from this directory as they get concatenated to form
2139 the file aclocal.m4 anyway.
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>
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.
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>
2161 Fixed documention versioning.
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>
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>
2181 Finished base implementation of read/write mode. Much more testing still
2185 Macro for detecting Large File Standard capabilities. This macro was ripped
2186 out of the aclocal.m4 file of GNU tar-1.13.
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
2197 2002-04-24 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
2200 Finished base implementation of read/write mode. Much more testing still
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>
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>
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>
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>
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>
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).
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>
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>
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.
2267 Modified to use AC_C_FIND_ENDIAN.
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.
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
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.
2319 New file for testing DWVW encoder/decoder.
2321 2002-01-28 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
2324 Implemented writing of DWVW. 12 bit seems to work, 16 and 24 bit still broken.
2327 Improved reporting of encoding types.
2332 2002-01-27 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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>
2344 Robustify header parsing.
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
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>
2358 Completed work on getting read and write working.
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>
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>
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.
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
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>
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
2431 Fixed a problem which
2433 2001-12-15 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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>
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>
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>
2459 Renamed from wav_ima_adpcm.c. This file will soon handle IMA ADPCM
2460 encodings for both WAV and AIFF files.
2463 Started adding IMA ADPCM support.
2465 2001-11-28 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
2468 New file for handling double precision floating point (SF_FORMAT_DOUBLE)
2471 * src/wav.c src/aiff.c src/au.c src/raw.c
2472 Added support for SF_FORMAT_DOUBLE data.
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 ().
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
2485 2001-11-27 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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,
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
2507 2001-11-26 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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>
2519 Added inline asm version of lrint/lrintf for MacOS. Solution provided by
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>
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>
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>
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
2580 2001-11-10 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
2583 New example file showing how libsndfile can be used to read and play a
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>
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
2594 2001-11-08 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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>
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>
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.
2648 More work on VOC file read/writing.
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.
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>
2681 Completed code for reading VOC files containing a single audio data
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.
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>
2699 Implemented gcc and i386 floating point to int cast macros. Standard cast
2700 will be used when not on gcc for i385.
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>
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
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.
2723 Added checking of HAVE_SNPRINTF and HAVE_VSNPRINTF and defining
2724 LSF_VSNPRINTF and LSF_VSNPRINTF to appropriate values.
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
2732 2001-09-29 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
2735 New file to handle Berkeley/IRCAM/CARL files.
2737 * src/sndfile.c src/common.h
2738 Modified for IRCAM handling.
2741 Added tests for IRCAM files.
2743 2001-09-27 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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
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
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>
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>
2783 Implemented sf_command ("norm float").
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.
2794 Fixed bug in normalization code found with improved floating_point_test
2798 Added code for parsing 'INFO' and 'LIST' chunks. Will be used for extract
2799 text annotations from WAV files.
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.
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.
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.
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.
2832 Added hook for format specific sf_command () calls to SNDFILE struct.
2835 Updated and errors corrected.
2838 New documentation file explaining new sf_command () function.
2840 2001-08-11 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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
2848 2001-08-01 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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>
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 ().
2875 New files for handling Creative Voice files (not complete).
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.
2887 Added code for sf_read_float () and sf_readf_float () methods of accessing
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>
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>
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
2916 2001-06-18 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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>
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
2933 2001-06-12 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
2936 Fixed endian bug when reading PEAK chunk on big endian machines.
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.
2952 Rejigged code reading and writing of floats on broken processors.
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.
2966 Changed all error return values to negative values (ie the negative of what
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>
2975 File renamed from wav_float.c and renamed function to something more
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).
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>
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.
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.
3004 Implemented raw_seek () function to fix a bug where
3005 sf_seek (file, 0, SEEK_SET) on a RAW file failed.
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
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>
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 ()
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>
3065 Changed return type of get_encoding_str () to prevent compiler warnings on
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
3075 Name of log buffer changed from strbuffer to logbuffer.
3076 Name of log buffer index variable changed from strindex to logindex.
3079 Changed name of internal logging function from psf_sprintf () to
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
3087 2001-05-24 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
3090 Fixed reading and writing of sample_byte_format header. "01" means little
3091 endian and "10" means big endian regardless of bit width.
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
3097 Added --disable-gcc-opt configure option (sets gcc optimisation to -O0 ) for
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>
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).
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.
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>
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>
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>
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>
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>
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>
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.
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>
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()
3205 2000-08-28 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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>
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>
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>
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>
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>
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>
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.
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.
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>
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>
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>
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.
3330 Fixed incorrect format in printf() statement.
3332 2000-04-06 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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>
3340 Fixed --enable-justsrc option.
3342 2000-03-07 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
3345 Fixed checking of bytespersec field of header. Still some weirdness
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>
3369 Added more error reporting in read_fmt_chunk().
3371 1999-12-21 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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
3382 1999-11-16 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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>
3391 Added string.h to includes. Thanks to Sigbjxrn Skjfret.
3394 Fixed __svx_close() function to ensure FORM and BODY chunks are correctly
3397 1999-10-01 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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>
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
3410 1999-09-24 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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>
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
3429 1999-09-22 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
3432 Finished off implementation of write using __psf_hprintf().
3434 1999-09-21 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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.
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>
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.
3454 Fixed default FORMsize in __aiff_open_write ().
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
3463 Started implementing writing of files.
3465 1999-08-04 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
3468 New file for reading/writing 8SVX and 16SVX files.
3470 * src/sndfile.[ch] src/common.h
3471 Changes for SVX files.
3474 Fixed header parsing when unknown chunk is found.
3476 1999-08-01 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
3479 New file for reading/writing Ensoniq PARIS audio file format.
3481 * src/sndfile.[ch] src/common.h
3482 Changes for PAF files.
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>
3496 Added a new directory for the MacOS config.h file and the
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.
3520 Moved definition of struct tribyte to pcm.c which is the only place
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.
3528 Removed <sys/stat.h> from list of #includes (not being used).
3531 Added MacOS specific #ifdef to replace <sys/stat.h>.
3534 Added MacOS specific #ifdef to replace <sys/stat.h>.
3537 Added MacOS specific typedef for off_t.
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>
3546 Removed sndfile.h from generated file list as there were no longer
3547 any autoconf substitutions being made.
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 ().
3555 Added support for raw header-less PCM files.
3557 1999-07-22 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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>
3565 New file for A-law encoding (similar to u-law).
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
3579 1999-07-18 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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>
3587 Made corrections to comments on the return values from sf_seek ().
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.
3598 Implemented reading and writing of u-law encoded WAV files.
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>
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.
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
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>
3651 Added fact chunk handling on read and write for all non WAVE_FORMAT_PCM
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
3659 * tests/adpcm_test.c
3660 Reimplemented adpcm_test_short and implemented adpcm_test_int and
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>
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>
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>
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>
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>
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.
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>
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>
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
3757 1999-03-16 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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
3764 1999-03-14 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
3767 Added adpcm_test.c which implements test functions for
3768 IMA ADPCM reading/writing/seeking etc.
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>
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>
3781 Started implementing IMA ADPCM decoder.
3783 1999-03-02 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
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
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.
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.
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>
3824 Fixed bug in let2s_array (cptr was not being initialised).
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
3836 1999-02-14 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
3839 Fixed a bug which was causing errors in the reading
3840 and writing of 24 bit PCM files.
3843 Finished of preliminary documentaion.
3845 1999-02-13 Erik de Castro Lopo <erikd AT zipworld DOT com DOT au>
3848 Changed reading of 'COMM' chunk to avoid reading an int
3849 which overlaps an int (4 byte) boundary.