1 2011-07-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3 * NEWS README configure.ac doc/*.html
6 2011-07-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9 Add handling for HAVE_SYS_WAIT_H.
11 * Makefile.am src/Makefile.am tests/Makefile.am
12 Add 'checkprograms' target.
14 2011-07-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
16 * src/common.h src/sndfile.c
17 Purge SF_ASSERT macro. Use standard C assert instead.
19 * src/paf.c src/common.h src/sndfile.c
20 Fix for Secunia Advisory SA45125, heap overflow (heap gets overwritten with
21 byte value of 0) due to integer overflow if PAF file handler.
23 * src/ima_adpcm.c src/ms_adpcm.c src/paf.c
24 Use calloc instead of malloc followed by memset.
27 Clean up use of memset.
29 2011-07-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
34 * tests/format_check_test.c
35 Fix compiler warnings.
37 2011-07-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
40 Fix error message for erro code SFE_ZERO_MINOR_FORMAT.
42 * tests/format_check_test.c
43 Add a test to for SF_FINFO format field validation.
45 * src/ogg.c src/ogg_vorbis.c src/ogg.h src/ogg_pcm.c src/ogg_speex.c
46 src/common.h src/Makefile.am
47 Move vorbis specific code to ogg_vorbis.c, add new files for handling PCM
48 and Speex codecs in an Ogg container. The later two are only enabled with
49 ENABLE_EXPERIMENTAL_CODE config variable.
51 2011-06-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
54 Clean up and refactor storage of SF_STR_SOFTWARE.
56 2011-06-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
58 * src/sndfile.h.in doc/api.html
59 Fix definition of SF_STR_LAST and update SF_STR_* related docs. Thanks to
60 Tim van der Molen for the patch.
62 2011-06-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
64 * programs/sndfile-interleave.c
65 Fix handling of argc. Thanks to Marius Hennecke.
68 Accept broken WAV files with blockalign == 0. Thanks to Olivier Tristan for
69 providing example files.
72 Jump over 'FLLR' chunks.
74 2011-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
77 Fix -Wundef warning due to ENABLE_SNDFILE_WINDOWS_PROTOTYPES.
80 Add -Wundef to CFLAGS.
85 2011-05-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
88 Use int64_t instead of off_t when they are the same size.
90 * src/Makefile.am tests/Makefile.am
91 Use check_PROGRAMS instead of noinst_PROGRAMS where appropriate.
93 2011-05-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
96 Don't allow unknown and/or un-editable chunks to prevent the file from being
97 opened in SFM_RDWR mode.
99 2011-04-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
101 * tests/format_check_test.c
102 Fix segfault in test program.
104 2011-04-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
106 * tests/format_check_test.c
107 New test program to check to make sure that sf_open() and sf_check_format()
108 agree as to what is a valid program.
110 * tests/Makefile.am tests/test_wrapper.sh.in
111 Hook into build and test runner.
114 Fix some sf_format_check() problems. Thanks to Charles Van Winkle for the
117 2011-04-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
120 Add validation to size of 'data' chunk and fix size of written 'data'
121 chunk. Thanks to Michael Pruett for reporting this.
123 2011-03-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
125 * src/* tests/* programs/*
126 Fix a bunch of compiler warnings with gcc-4.6.
128 2011-03-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
131 Add NOT macro to util.h.
134 Fix handling of SF_STR_SOFTWARE that resulted in a segfault due to calling
135 strlen() on an unterminated string. Thanks to Francois Thibaud for reporting
138 * tests/string_test.c
139 Add test for SF_STR_SOFTWARE segfault bug.
142 Sanitize FLAC_CFLAGS value supplied by pkg-config which returns a value of
143 '-I${includedir}/FLAC'. However FLAC also provides an include file
144 <assert.h> which clashes with the Standard C header of the same name. The
145 solution is strip the 'FLAC' part off the end and include all FLAC headers
148 * configure.ac src/Makefile.am
149 Use non-recursive make in src/ directory.
151 2011-03-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
153 * NEWS README docs/*.html
154 Updates for 1.0.24 release.
156 2011-03-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
159 Fix up usage of sed (should not assume GNU sed).
161 * M4/add_(c|cxx)flags.m4
162 Test flags in isolation.
165 Fix a broken test (test segfaults). Report by Dave Flogeras.
167 2011-03-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
169 * programs/common.[ch]
170 Add function program_name() which returns the program name minus the path
173 * programs/*.c programs/Makefile.am
174 Use program_name() where appropriate. Fix build.
176 2011-03-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
179 For u-law and A-law files, write an 18 byte 'fmt ' chunk instead of a 16
180 byte one. Win98 accepts files with a 16 but not 18 byte 'fmt' chunk. Later
181 version accept 18 byte but not 16 byte.
183 2011-03-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
186 Add examples for question 12.
188 * doc/libsndfile.css.in
189 Add tweaks for h4 element.
192 Add documentation for virtual I/O functionality. Thanks to Uli Franke.
195 Add static inline functions sf_info_clear() and sf_info_setup().
197 * tests/(alaw|dwvw|ulaw)_test.c
198 Use functions sf_info_clear() and sf_info_setup().
200 2011-03-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
203 Fail more gracefully if pkg-config is missing. Suggestion from Brian
206 2011-02-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
209 Use size_t instead of int for size params with varargs.
211 2011-02-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
214 Update supported platforms with more Debian platforms and Android.
216 2011-01-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
219 Add an LPCWSTR version of the SndfileHandle constructor to the SndfileHandle
220 class definition. Thanks to Eric Eizenman for pointing out this was missing.
223 Add test for LPCWSTR version of the SndfileHandle constructor.
225 2011-01-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
227 * programs/sndfile-play.c
230 2010-12-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
233 Add methods rawHandle() and takeOwnership(). Thanks to Tim Blechmann for
237 Add tests for above two methods. Also supplied by Tim Blechmann.
239 2010-11-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
242 Add mention of use of sf_strerror() when sf_open() fails.
244 2010-11-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
247 Make TYPEOF_SF_COUNT_T int64_t where possible. This may fix problems where
248 people are compiling on a 64 bit system with the GCC -m32 flag.
251 Fix comments on sf_count_t.
253 2010-10-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
256 Handle non-zero offset field in SSND chunk. Thanks to Michael Chinen.
258 2010-10-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
261 Sed fix for FreeBSD. Thanks Tony Theodore.
263 2010-10-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
265 * shave.in M4/shave.m4
266 Fix shave invocation of windres compiler. Thanks Damien Lespiau (upstream
269 * configure.ac M4/shave.m4 shave-libtool.in shave.in
270 Switch from shave to automake-1.11's AM_SILENT_RULES.
272 2010-10-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
274 * shave-libtool.in shave.in
275 Sync to upstream version.
278 More work to make the parser more robust and accepting of mal-formed files.
280 2010-10-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
283 Add functions psf_strlcpy() and psf_strlcat().
285 * src/broadcast.c src/sndfile.c src/strings.c src/test_main.c
286 src/test_main.h src/test_strncpy_crlf.c
287 Use functions psf_strlcpy() and psf_strlcat() as appropriate.
289 * tests/string_test.c
290 Add tests for SF_STR_GENRE and SF_STR_TRACKNUMBER.
293 Fix size of 'ds64' chunk when writing RF64.
295 2010-10-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
298 Add the libsndfile version to the usage message of all programs.
300 2010-10-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
302 * configure.ac src/version-metadata.rc.in src/Makefile.am
303 Add version string resources to the windows DLL.
306 Update to add missing SF_FORMAT_* values. Closed Debian bug #545257.
308 * NEWS README configure.ac doc/*.html
309 Updates for 1.0.23 release.
311 2010-10-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
313 * tests/pedantic-header-test.sh.in
314 Handle unusual values of CC environment variable.
317 Minor tweaks and additional sanity checking.
319 * src/Makefile.am src/binheader_writef_check.py
322 2010-10-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
325 Add a missing 'inline' before a constructor defintion.
327 2010-10-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
335 * Makefile.am */Makefile.am
336 Add *~ to CLEANFILES.
338 2010-10-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
341 Fix a typo in the error string for SFE_OPEN_PIPE_RDWR. Thanks to Charles
342 Van Winkle for the report.
344 2010-10-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
346 * src/flac.c src/ogg.c src/sndfile.h.in src/strings.c src/wav.c
347 Add ability to read/write tracknumber and genre to flac/ogg/wav files.
348 Thanks to Matti Nykyri for the patch.
350 * src/common.h src/broadcast.c src/strings.c
351 Add function psf_safe_strncpy() and use where appropriate.
353 2010-10-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
355 * NEWS README configure.ac doc/*.html
356 Updates for 1.0.22 release.
358 2010-10-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
360 * src/common.h src/broadcast.c src/rf64.c src/sndfile.c src/wav.c
361 Rewrite of SF_BROADCAST_INFO handling.
363 * src/test_broadcast_var.c tests/command_test.c
364 Tweak SF_BROADCAST_INFO tests.
366 * src/test_broadcast_var.c
367 Fix OSX stack check error.
369 2010-09-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
372 Set sustain_loop_end to 0 as suggested by Brian Lewis.
374 2010-09-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
377 Make sure the correct frame count gets written into the header.
379 * tests/write_read_test.tpl
380 Don't allow SDS files to have a long frame count.
382 2010-09-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
385 Apply a pair of patches from Brian Lewis to fix the packet number location
388 2010-09-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
390 * src/aiff.c src/file_io.c src/ogg.c src/rf64.c src/sndfile.c
391 src/strings.c src/test_audio_detect.c src/test_strncpy_crlf.c
392 src/wav.c tests/pcm_test.tpl
393 Fix a bunch of minor issues found using static analysis.
395 2010-08-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
397 * src/test_broadcast_var.c
398 New file containing tests for broadcast_set_var().
400 * src/Makefile.am src/test_main.[ch]
401 Hook test_broadcast_var.c into tests.
403 2010-08-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
405 * src/broadcast.c src/common.(c|h)
406 Move function strncpy_crlf() to src/common.c so the function can be tested
409 * src/test_strncpy_crlf.c
412 * src/Makefile.am src/test_main.[ch]
413 Hook test_strncpy_crlf.c into tests.
415 2010-08-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
418 Move code around to make comments make sense.
421 Add debugging code that is disabled by default.
423 2010-08-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
426 When the file meta data says the file has zero frames set psf->sf.frames
427 to SF_COUNT_MAX. Fixes Debian bug #590752.
429 * programs/sndfile-info.c
430 Print 'unknown' if frame count == SF_COUNT_MAX.
432 2010-06-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
435 Only support writing mono SVX files. Multichannel SVX files are not
436 interleaved and there is no support infrastructure to cache and write
437 multiple channels to create a non-interleaved file.
440 Don't call close() on a file descriptor of -1. Thanks to Jeremy Friesner
443 2010-06-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
449 Use SF_ASSERT to ensure sizeof (sf_count_t) == 8.
452 Add support for reading and writing stereo SVX files.
454 2010-05-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
457 When compiling with x86_64-w64-mingw32-gcc link with -static-libgcc flags.
459 * programs/common.c programs/sndfile-metadata-set.c
460 Update metadata after the audio data is copied. Other minor fixes. Patch
461 from Marius Hennecke.
463 2010-05-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
466 Fix a regression reported by Hugh Secker-Walker.
469 Add comment about sf_open_fd() not working on Windows if the application
470 and the libsndfile DLL are linked to different versions of the Microsoft
473 2010-04-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
475 * tests/pedantic-header-test.sh.in
476 Fix 'make distcheck'.
478 2010-04-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
480 * tests/pedantic-header-test.sh.in
481 New file to test whether sndfile.h can be compiled with gcc's -pedantic
484 * configure.ac tests/test_wrapper.sh.in
485 Hook pedantic-header-test into test suite.
488 Fix -pedantic warning.
490 2010-04-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
492 * programs/sndfile-salvage.c programs/Makefile.am
493 New program to salvage the audio data from WAV/WAVEX/AIFF files which are
494 greater than 4Gig in size.
496 2010-04-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
498 * programs/sndfile-convert.c
499 Fix valgrind warning.
501 2010-04-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
503 * programs/sndfile-cmp.c
504 When files differ in the PCM data, also print the difference offset.
507 2010-03-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
510 Don't use the 'twos' marker for 24 and 32 bit PCM, use 'in24' and 'in32'
511 instead. Thanks to Paul Davis (Ardour) for this suggestion.
513 2010-02-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
516 Clean up configure report.
519 Add functions test_read_raw_or_die and test_write_raw_or_die.
521 * tests/rdwr_test.(def|tpl) tests/Makefile.am
522 Add new test program and hook into build.
525 Fix minor issues with sf_read/write_raw(). Bug reported by Milan Křápek.
527 * tests/test_wrapper.sh.in
528 Add rdwr_test to the test wrapper script.
530 2010-02-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
533 Remove -fpascal-strings from OSX's OS_SPECIFIC_CFLAGS.
535 * programs/common.[ch] programs/sndfile-metadata-set.c
536 Apply a patch from Robin Gareus allowing the setting of the time reference
537 field of the BEXT chunk.
539 2010-02-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
542 Add a fix from Jonatan Liljedahl to handle predictor overflow when decoding
545 2010-01-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
548 Add a constructor which takes an existing file descriptor and then calls
549 sf_open_fd(). Patch from Sakari Bergen.
551 2010-01-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
553 * programs/sndfile-deinterleave.c programs/sndfile-interleave.c
554 Improve usage messages.
556 2010-01-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
558 * src/id3.c src/Makefile.am
559 Add new file src/id3.c and hook into build.
561 * src/sndfile.c src/common.h
562 Detect and skip and ID3 header at the start of the file.
564 2010-01-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
567 Fix update_strings() copyright, comment, album and license are correctly
568 written. Thanks to Todd Allen for reporting this.
571 Change GNU makeism to something more widely supported. Thanks to Christian
572 Weisgerber for reporting this.
574 * configure.ac programs/Makefile.am programs/sndfile-play.c
575 Apply patch from Christian Weisgerber and Jacob Meuserto add support for
578 2010-01-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
581 Discourage the use of sf_read/write_raw().
583 2009-12-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
586 Test for Unix pipe() and waitpid() functions.
588 * src/sfconfig.h tests/pipe_test.tpl
589 Disable pipe_test if pipe() and waitpid() aren't available.
591 2009-12-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
593 * configure.ac src/Makefile.am src/create_symbols_file.py
594 src/make-static-lib-hidden-privates.sh
595 Change name of generated file src/Symbols.linux to Symbols.gnu-binutils and
596 and use the same symbols file for other systems which use GNU binutils like
599 * M4/shave.m4 shave.in
600 Update shave files from upstream.
602 2009-12-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
604 * man/sndfile-metadata-get.1
607 * man/sndfile-interleave.1 man/Makefile.am
610 2009-12-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
613 When decoding to short or int, clip the decoded signal to [-1.0, 1.0] if
614 its too hot. Thanks to Dmitry Baikov for suggesting this.
616 * NEWS README doc/*.html
619 2009-12-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
621 * programs/sndfile-jackplay.c man/sndfile-jackplay.1
622 Remove these which will now be in found in the sndfile-tools package.
624 * programs/Makefile.am man/Makefile.am
625 Remove build rules for sndfile-jackplay.
628 Remove detection of JACK Audio Connect Kit.
630 * programs/sndfile-concat.c man/sndfile-concat.1
631 Add new program with man page.
633 * man/Makefile.am programs/Makefile.am
634 Hook sndfile-concat into build system.
636 2009-12-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
639 Don't terminate when sf_close() returns zero in error_close_test().
640 It seems that Windows 7 behaves differently from earlier versions of
643 2009-12-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
645 * configure.ac M4/*.m4
646 Rename all custom macros from AC_* to MN_*.
648 * programs/sndfile-interleave.c
649 Make it actually work.
651 2009-12-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
653 * doc/*.html configure.ac
654 Corrections and clarifications courtesy of Robin Forder.
656 * programs/sndfile-convert.c programs/common.[ch]
657 Move some code from convert to common for reuse.
659 * programs/sndfile-interleave.c programs/sndfile-interleave.c
660 Add new programs sndfile-interleave and sndfile-deinterleave.
662 * programs/Makefile.am
663 Hook new programs into build.
665 2009-12-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
667 * src/create_symbols_file.py tests/stdio_test.c tests/win32_test.c
668 Minor OS/2 tweaks as suggested by David Yeo.
670 * tests/multi_file_test.c
671 Fix file creation flags on windows. Thanks to Bruce Sharpe.
674 Set all group and other file create permssions to zero.
679 2009-11-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
681 * doc/print.css doc/*.html
682 Add a print stylesheet and update all HTML documents to reference it.
683 Thanks to Aditya Bhargava for suggesting this.
688 2009-11-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
691 Add a Libs.private entry to assist with static linking.
693 2009-11-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
695 * src/make-static-lib-hidden-privates.sh src/Makefile.am
696 Add a script to hide all non-public symbols in the libsndfile.a static
699 2009-11-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
701 * tests/locale_test.c
702 Correct usage of ENABLE_SNDFILE_WINDOWS_PROTOTYPES.
704 2009-11-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
707 Correct usage of ENABLE_SNDFILE_WINDOWS_PROTOTYPES.
709 2009-11-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
711 * programs/sndfile-convert.c
712 Allow the program to read from stdin by specifying '-' on the command line
716 Hash define ENABLE_SNDFILE_WINDOWS_PROTOTYPES to 1 for greater safety.
718 * tests/virtual_io_test.c
719 Add a PAF/PCM_24 test and verify the file length is not negative
720 immediately after openning the file for write.
722 2009-10-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
725 When writing loop lengths, adjust the end position by one to make up for
726 Microsoft's screwed up spec. Thanks to Olivier Tristan for the patch.
728 2009-10-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
731 Apply patch from Uli Franke allowing FLAC files to be encoded at any sample
734 2009-10-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
737 Fix parsing of odd ulaw encoded file provided by Jan Silovsky.
740 Insist on libvorbis >= 1.2.3. Earlier verions have bugs that cause the
741 libsndfile test suite to fail on MIPS, PowerPC and others.
742 See: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=549899
744 2009-10-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
746 * man/sndfile-convert.1
747 Fix warning from Debian's lintian checks.
749 * man/sndfile-cmp.1 man/sndfile-jackplay.1 man/sndfile-metadata-get.1
751 Add three new minimal manpages and hook into build.
753 2009-10-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
755 * tests/test_wrapper.sh.in
756 Don't run cpp_test on x86_64-w64-mingw32.
758 2009-09-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
761 On windows, make sure the open() function doesn't get called with a third
762 parameter of 0 which fails for no good reason. Also make sure this third
763 parameter doesn't get called with S_IRGRP when compiling for windows because
767 Add a SndfileHandle constructor for windows that takes a 'const wchar_t *'
771 Add Q/A : I'm cross compiling libsndfile for another platform. How can I
774 * src/create_symbols_file.py src/Makefile.am
775 Add Symbols.static target, a list of symbols, one per line.
777 2009-09-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
779 * tests/test_wrapper.sh.in
780 Update to allow all tests to be gathered up into a testsuite tarball and
781 then be run using this script.
783 * build-test-tarball.mk.in
784 Add a Make script to build a tarball of all the test binaries and the test
785 wrapper script. This is useful for cross compiling; you can build the
786 binaries, build test test tarball and transfer the test tarball to the
787 target machine for testing.
789 2009-09-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
791 * src/common.h src/*.c
792 Modify SF_FILE struct to allow it to carry either 8-bit or 16-bit strings
793 for the file path, directory and name. Fixes for this change throughout.
795 * src/windows.c src/Makefile.am
796 New file defining new windows only public function sf_wchar_open() which
797 takes a 'const wchar_t *' string (LPCWSTR) for the file name parameter.
800 Add SF_CHANNEL_MAP_ABISONIC_* entries.
801 Add windows only defintion for sf_wchar_open().
803 * src/create_symbols_file.py
804 Add sf_wchar_open() to the list of public symbols (windows only).
806 * tests/locale_test.c
807 Add a wchar_test() to test sf_wchar_open().
809 2009-09-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
811 * src/common.h src/*.c
812 Split file stuff into PSF_FILE struct within the SF_PRIVATE struct.
814 2009-09-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
816 * src/aiff.c src/voc.c
817 When a byte is needed, use unsigned char.
819 * src/ima_oki_adpcm.c src/broadcast.c src/test_ima_oki_adpcm.c
820 Include sfconfig.h to prevent compile errors with MinGW compilers.
823 Remove AM_CONFIG_HEADER due to warnings from autoconf 2.64.
825 * tests/locale_test.c
826 Update to work with xx_XX.UTF-8 style locales. Refactoring.
828 2009-09-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
831 Set __USE_MINGW_ANSI_STDIO to 1 when compiling using MinGW compilers.
832 Remove unneeded AC_SUBST.
833 Report Host CPU/OS/vendor.
835 2009-09-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
838 Fix error message string.
841 Add 88200 to the list of supported sample rates.
844 Fix compiler warning when using gcc-4.5.0.
846 * programs/sndfile-info.c tests/utils.tpl
847 Remove WIN32 snprintf #define.
850 Fix minor bug in aiff_ima_encode_block. Thanks to Denis Fileev for finding
853 2009-09-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
856 Use the correct C99 format specifier for int64_t.
859 Fix detection of CPU endian-ness when cross compiling. Thanks to Pierre
860 Ossman for the bug report.
862 * src/caf.c src/sndfile.c
863 Fix reading and writing of PEAK chunks in CAF files.
865 * tests/peak_chunk_test.c tests/test_wrapper.sh.in
866 Run peak_chunk_test on CAF files.
868 2009-09-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
870 * src/aiff.c src/wav.c
871 Use the correct C99 format specifier for int64_t.
873 2009-08-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
875 * src/rf64.c src/sndfile.c src/wav.c src/wav_w64.h
876 Apply a patch (massaged slightly) from Uli Franke adding handling of the
877 BEXT chunk in RF64 files.
879 * tests/command_test.c
880 Update channel_map_test() function so WAV test passes.
883 Add channel mapping and ambisonic support.
886 Add comments showing correspondance between libsndfile channel map
887 defintiions and those used by Apple and MS.
889 Add handling of reading/writing channel map info.
891 * tests/command_test.c tests/test_wrapper.sh.in
892 Update channel map tests.
894 2009-07-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
897 Add function psf_isprint() a replacement for the standard C isprint()
898 function which ignores any locale settings and treats all input as ASCII.
900 * src/(aiff|common|rf64|sd2|strings|svx|wav).c
901 Use psf_isprint() instead of isprint().
903 2009-07-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
906 Add string descriptions for SF_FORMAT_RF64 and SF_FORMAT_MPC2K.
908 2009-06-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
910 * programs/sndfile-play.c
911 Allow use of Open Sound System audio output under FreeBSD.
913 2009-06-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
916 Add patch from Conrad Parker to add --disable-jack.
918 2009-05-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
920 * src/alaw.c src/float32.c src/htk.c src/pcm.c src/sds.c src/ulaw.c
921 Fix bugs where invalid files can cause a divide by zero error (SIGFPE).
922 Thanks to Sami Liedes for reporting this a Debian bug #530831.
924 2009-05-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
927 New files for channel map decoding/encoding.
929 2009-05-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
931 * configure.ac src/sndfile.h.in
932 Fix MSVC definition of sf_count_t.
934 2009-05-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
937 Add wavex_channelmask to WAV_PRIVATE struct and add a function to convert
938 an array of SF_CHANNEL_MASK_* values into a bit mask for use in WAV files.
941 Add ability to write the channel mask.
943 2009-05-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
945 * programs/sndfile-info.c
946 Add -c command line option to dump the channel map information.
949 Don't bail from parser if channel map bitmask is faulty.
951 * src/common.h src/sndfile.c
952 Remove error code SFE_W64_BAD_CHANNEL_MAP which is not needed any more.
955 On SFC_SET_CHANNEL_MAP_INFO pass the channel map command down to container's
958 2009-05-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
960 * src/sndfile.h.in src/common.h src/sndfile.c src/wav_w64.c
961 Apply a patch from Lennart Poettering (PulseAudio) to allow reading of
962 channel data in WAV and W64 files.
963 Add a test for the above.
965 2009-05-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
968 Update the section about pre-compiled binaries for Win64.
970 2009-05-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
972 * src/common.h src/test_conversions.c
973 Be more careful when including <stdint.h> so compiling on pre-C99 platforms
974 (hello Slowlaris) might actually work.
976 * NEWS README doc/*.html
979 2009-04-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
982 Fix a bug whereby opening a specially crafted VOC file could result in a
983 heap overflow. Thanks to Tobias Klein (http://www.trapkit.de) for reporting
987 Fix potential (heap) buffer overflow when parsing 'MARK' chunk.
989 2009-04-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
992 Check psf->error after opening file.
995 Fix obscure seeking bug reported by Hugh Secker-Walker.
998 Add check of sf_error to test_open_file_or_die().
1001 Clear error if opening resource fork fails.
1003 2009-04-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1005 * tests/alaw_test.c tests/locale_test.c tests/ulaw_test.c
1008 2009-03-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1013 2009-03-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1016 In host_read_f2s call convert instead of f2s_array.
1021 * src/test_ima_oki_adpcm.c examples/generate.c tests/dither_test.c
1022 tests/dwvw_test.c tests/fix_this.c tests/generate.c
1023 tests/multi_file_test.c
1026 2009-03-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1028 * M4/shave.m4 shave.in
1029 Pulled update from upstream.
1031 2009-03-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1034 Add pointers to example programs in source code tarball.
1036 2009-03-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1039 Define SF_PLATFORM_S64 for non-gcc compilers with 'long long' type.
1042 Add documentation for --disable-external-libs and improve error handling
1045 * src/sndfile.c src/sndfile.h.in src/create_symbols_file.py
1046 Add public function sf_version_string.
1049 Test function sf_version_string.
1051 * M4/shave.m4 shave-libtool.in shave.in
1052 Add new files from 'git clone git://git.lespiau.name/shave'.
1057 * src/Makefile.am src/binheader_writef_check.py Octave/*
1058 Shave related tweaks.
1060 2009-03-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1062 * src/common.h src/caf.c src/sndfile.c
1063 Add SF_MAX_CHANNELS (set to 256) and use it.
1066 Check for either _MSCVER or _MSC_VER being defined.
1068 2009-03-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1070 * tests/vorbis_test.c
1071 Relax test slighly to allow test to pass on more CPUs etc.
1073 2009-03-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1076 Detect vorbis_version_string() correctly.
1078 2009-03-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1081 Add a 'See Also' section with a link to sndfile-tools.
1083 * NEWS README doc/*.html
1084 Updates for 1.0.19 release.
1087 Fix --enable-external-libs logic.
1089 2009-03-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1092 Fix resource leak and potential read beyond end of buffer.
1095 Fix reading of header value sample_n_bytes.
1097 * src/sd2.c src/wav.c
1098 Fix potential read beyond end of buffer.
1100 * src/sndfile.c src/svx.c
1101 Check return values of file_io functions.
1103 * tests/win32_test.c
1107 Detect the presence/absence of vorbis_version_string() in libvorbis.
1110 Only call vorbis_version_string() from libvorbis if present.
1112 2009-02-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1114 * tests/win32_test.c
1115 Don't use sprintf, even on windows.
1117 * src/aiff.c src/rf64.c src/wav.c
1118 Eliminate dead code, more validation of data read from file.
1120 2009-02-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1123 Clamp values to a valid range before indexing ima_step_size array.
1125 * src/GSM610/*.c tests/*c programs/*.c src/audio_detect.c
1126 Don't include un-needed headers.
1128 * programs/sndfile-info.c
1131 * tests/test_wrapper.sh.in
1132 Add 'set -e' so the script exits on error.
1134 * src/test_ima_oki_adpcm.c
1135 Fix read beyond end of array.
1137 * tests/win32_test.c
1138 Add missing close on file descriptor.
1140 * src/nist.c programs/sndfile-metadata-set.c
1141 Fix 'unused variable' warnings.
1144 Fix potential memory leak in handling of 'MARK' chunk.
1145 Remove un-needed test (unsigned > 0).
1148 Improve handling of heap allocated buffer.
1151 Remove un-needed test (always true).
1153 * src/wav.c src/rf64.c
1154 Ifdef out dead code that will be resurected some time in the future.
1156 * src/wav.c src/w64.c src/xi.c
1157 Handle error return values from psf_ftell.
1160 Fix handling and error checking of MSADPCM coefficient arrays.
1165 * src/test_file_io.c
1166 Use snprintf instead of strncpy in test program.
1168 2009-02-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1171 Validate data before using.
1174 Validate channels per frame value before using, fixing a possible integer
1175 overflow bug, leading to a possible heap overflow. Found by Alin Rad Pop of
1176 Secunia Research (CVE-2009-0186).
1178 2009-02-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1180 * Octave/octave_test.sh
1181 Unset TERM environment variable and export LD_LIBRARY_PATH.
1183 2009-02-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1186 In windows code, cast LPVOID to 'char*' in printf.
1188 2009-02-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1191 Clear the TERM environment before evaluating anything in Octave. This works
1192 around problems that might occur if a users TERM settings are incorrect.
1193 Thanks to Rob Til Freedmen for helping to debug this.
1196 Handle four zero bytes as a marker within a LIST or INFO chunk.
1197 Thanks to Rogério Brito for supplying an example file.
1199 2009-02-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1201 * src/common.h src/*.c
1202 Use C99 snprintf everywhere.
1204 2009-02-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1206 * tests/test_wrapper.sh.in
1207 New file to act as the template for the test wrapper script.
1210 Generate tests/test_wrapper.sh from the template.
1213 Replace all tests with a single invocation of the test wrapper script.
1215 2009-02-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1218 Record vorbis library version string.
1221 Require libvorbis >= 1.2.2.
1224 Fix bracketing of function for autoconf 2.63. Thanks to Richard Ash.
1226 * M4/octave.m4 M4/mkoctfile_version.m4
1227 Clean up AC_WITH_ARG usage using AC_HELP_STRING.
1229 2009-02-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1231 * Octave/Makefile.am
1232 Use $(top_buildir) instead of $(builddir) which may not be defined.
1235 Improve logic and status reporting.
1237 2009-02-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1239 * configure.ac AUTHORS NEWS README doc/*.html
1240 Final tweaks for 1.0.18 release.
1242 2009-02-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1244 * programs/sndfile-convert.c
1245 Add 'htk' to the list of convert formats.
1247 * programs/sndfile-info.c
1248 Simplify get_signal_max using SFC_CALC_SIGNAL_MAX command.
1249 Increase size of files for which signal max will be calculated.
1251 2009-01-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1254 Fix links for SoX and WavPlay. Thanks to Daniel Griscom.
1256 2009-01-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1258 * programs/sndfile-metadata-get.c
1259 Make valgrind clean.
1260 Clean up temp string array usage.
1261 Error out if trying to update coding history in RDWR mode.
1263 2009-01-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1266 Fix links to versions of the LGPL.
1268 2008-12-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1270 * tests/string_test.c
1271 Add test for RDWR mode where the file ends up shorter than when it was
1275 Truncate the file on close for RDWR mode where the file ends up shorter
1276 than when it was opened.
1278 2008-11-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1281 Fix problem with quoting of '#include'.
1283 * M4/add_cxxflags.m4 configure.ac
1284 Add new file M4/add_cxxflags.m4 and use it in configure.ac.
1286 2008-11-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1288 * programs/sndfile-info.c
1289 Apply patch from Conrad Parker to calculate and display total duration when
1290 more than one file is dumped.
1292 2008-11-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1294 * configure.ac src/Makefile.am
1295 Tweaks to generation of Symbols files.
1297 * tests/win32_ordinal_test.c
1298 Update tests for above changes.
1300 2008-11-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1303 When merging broadcast info, make sure to clear the destination field
1304 before copying in the new data.
1306 * programs/test-sndfile-metadata-set.py
1307 Add test for the above.
1310 Fix checking of required coding_history_size.
1312 2008-10-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1314 * tests/command_test.c
1315 Add test to detect if coding history is truncated.
1318 Fix truncation of coding history.
1320 2008-10-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1322 * tests/command_test.c
1323 Add broadcast_coding_history_size test.
1326 Use SF_BROADCAST_INFO_VAR to manipulate larger 'bext' chunks.
1329 Add code to prevent infinite loop on malformed file.
1331 * src/common.h src/sndfile.c src/w64.c src/wav_w64.c
1332 Rationalize and improve error handling when parsing 'fmt ' chunk.
1335 Simplify and remove cruft.
1336 Check for correct Octave version.
1339 Reduce 3 C++ files to one, fix build for octave 3.0, fix build.
1341 * Octave/sndfile.cc Octave/PKG_ADD
1342 Add Octave function sfversion which returns the libsndfile version that the
1343 module is linked against.
1345 * Octave/Makefile.am
1346 Bunch of build and 'make distcheck' fixes.
1348 2008-10-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1351 Return 1 if SFC_SET_BROADCAST_INFO fails.
1353 * programs/test-sndfile-metadata-set.py
1354 Update for new programs directory, exit on any error.
1356 * tests/error_test.c
1357 Fix failure behaviour in error_number_test.
1359 * src/common.h src/sndfile.c
1360 Add error number SFE_BAD_BROADCAST_INFO_SIZE.
1363 Reimplement handling of broadcast extentioon chunk in WAV/WAVEX files.
1366 Fix generation of added coding history.
1368 2008-10-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1370 * programs/sndfile-metadata-get.c programs/sndfile-info.c
1371 Exit with non-zero on errors.
1373 2008-10-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1375 * examples/sndfile-to-text.c examples/Makefile.am
1376 Add a new example program and hook it into the build.
1378 * examples/ programs/
1379 Add a new directory programs and move sndfile-info, sndfile-play and other
1380 real programs to the new directory, leaving example programs where they
1383 2008-10-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1386 Automake 1.10 MinGW cross compiling fixes.
1388 2008-10-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1390 * examples/sndfile-play.c
1391 Remove call to deprecated function snd_pcm_sw_params_get_xfer_align.
1392 Fix gcc-4.3 compiler warnings.
1394 * tests/command_test.c
1395 Fix a valgrind warning.
1397 * tests/error_test.c tests/multi_file_test.c tests/peak_chunk_test.c
1398 tests/pipe_test.tpl tests/stdio_test.c tests/win32_test.c
1399 Fix gcc-4.3 compiler warnings.
1401 2008-10-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1404 Fix termination of desitination string in strncpy_crlf.
1405 When copying BROADCAST_INFO chunk, make sure destination gets correct line
1409 Fix copying of BROADCAST_INFO coding_history field.
1411 2008-10-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1413 * tests/command_test.c
1414 Add test function instrument_rw_test, but don't hook it into the testing
1417 * src/common.h src/command.c src/sndfile.c src/flac.c
1418 Error code rationalization.
1420 * src/common.h src/sndfile.c
1421 Set psf->error to SFE_CMD_HAS_DATA when adding metadata via sf_command()
1422 fails due to psf->have_written being true.
1425 Document the SFC_GET/SET_BROADCAST_INFO comamnds.
1427 2008-10-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1429 * tests/command_test.c
1430 Improve error reporting when '\0' is found in coding history.
1433 2008-10-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1436 Convert all coding history line endings to \r\n.
1438 * tests/command_test.c
1439 Add test to make sure all line endings are converted to \r\n.
1441 2008-10-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1444 Changed the order of coding history fields.
1446 * tests/command_test.c
1447 Update bextch test to cope with previous change.
1450 Add extra length check when copying broadcast info data.
1452 2008-10-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1454 * tests/utils.tpl tests/pcm_test.tpl
1455 Update check_file_hash_or_die to use 64 bit hash.
1457 * tests/checksum_test.c tests/Makefile.am
1458 Add new checksum_test specifically for lossy compression of headerless
1461 2008-10-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1464 Seek to psf->dataoffset before decoding first block.
1467 Fix detection of mpc2k files on big endian systems.
1469 2008-10-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1472 Use '\r\n' newlines in Coding History as required by spec.
1474 2008-10-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1476 * src/test_conversions.c
1477 Use int64_t instead of 'long long'.
1479 2008-10-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1481 * examples/sndfile-metadata-set.c
1482 Remove --bext-coding-history-append command line option because it didn't
1485 * examples/sndfile-metadata-(get|set).c
1488 * examples/test-sndfile-metadata-set.py
1489 Start work on test coding history.
1491 2008-09-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1493 * README doc/win32.html
1494 Bring these up to date.
1497 Fix parsing of REX files.
1499 2008-09-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1502 Use intptr_t instead of long for return value of _get_osfhandle.
1504 * src/test_conversions.c src/test_endswap.tpl
1505 Fix printing of int64_t values.
1507 * examples/sndfile-play.c
1510 * tests/win32_ordinal_test.c
1511 Fix calling of GetProcAddress with ordinal under win64.
1516 2008-09-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1519 Rename copy_data.[ch] to common.[ch]. Fix build.
1520 Move code from sndfile-metadata-set.c to common.c.
1522 * examples/Makefile.am tests/Makefile.am regtest/Makefile.am
1525 2008-09-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1527 * doc/tutorial.html doc/Makefile.am
1528 Add file doc/tutorial.html and hook into build/dist system.
1530 2008-09-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1532 * examples/sndfile-metadata-set.c
1533 Clean up handling of bext command line params.
1535 2008-09-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1538 Add handling/skipping of a couple of new chunk types.
1540 2008-09-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1543 Add -funsigned-char to CFLAGS if the compiler supports it.
1545 * examples/sndfile-metadata-(get|set).c
1546 Add handling for more metadata types.
1548 2008-09-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1551 Add macros SF_CONTAINER, SF_CODEC and SF_ENDIAN useful for splitting format
1552 field of SF_INFO into component parts.
1555 Use new macros everywhere it is appropriate.
1557 2008-09-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1559 * examples/sndfile-bwf-set.c
1562 2008-08-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1564 * examples/sndfile-bwf-set.c
1565 Add --info-auto-create-date command line option.
1567 * examples/sndfile-metadata-set.c examples/sndfile-metadata-get.c
1568 examples/Makefile.am examples/test-sndfile-bwf-set.py
1569 Rename sndfile-bwf-(set|get).c to sndfile-metadata-(set|get).c.
1570 Change command line args.
1572 2008-08-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1575 Allow 'PAD ' chunk to be modified in RDWR mode.
1577 * src/sndfile.h.in src/sndfile.c
1578 Add handling (incomplete) for SFC_SET_ADD_HEADER_PAD_CHUNK.
1580 * tests/Makefile.am tests/write_read_test.tpl tests/header_test.tpl
1585 Fixes to make sure all tests pass.
1587 * tests/Makefile.am tests/string_test.c
1588 Add string tests (not yet passing).
1590 2008-08-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1593 First pass at writing RF64 now working.
1595 2008-08-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1597 * examples/sndfile-convert.c
1598 Add SF_FORMAT_RF64 to format_map.
1600 * src/common.h src/sndfile.c
1601 More RF64 support code.
1603 * examples/sndfile-bwf-set.c
1604 Fix the month number in autogenerated date string and use hypen in date
1607 * examples/test-sndfile-bwf-set.py
1610 * examples/sndfile-info.c
1611 When called with -i or -b option, operate on all files on command line, not
1614 2008-08-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1617 New file to handle RF64 (WAV like format supportting > 4Gig files).
1619 * src/sndfile.h.in src/common.h src/sndfile.c src/Makefile.am
1620 Hook the above into build so hacking can begin.
1623 Improve log message when pcm_init fails.
1625 * src/sndfile-info.c
1626 Only calculate and print 'Signal Max' if file is less than 10 megabytes in
1629 2008-08-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1631 * tests/string_test.c
1632 Polish string_multi_set_test.
1635 In RDWR mode, pad the header if necessary (ie LIST chunk has moved or
1636 length has changed).
1637 Minor fixes in wav_write_strings.
1638 Write PAD chunk with default endian-ness, not a specific endian-ness.
1640 * examples/test-sndfile-bwf-set.py
1641 Add Python script to test sndfile-bwf-set/get.
1643 * examples/sndfile-bwf-set.c
1647 Merge function wavex_write_header into wav_write_header, deleting about 70
1651 Double value of SF_MAX_STRINGS.
1653 * tests/string_test.c
1654 Add string tests for WAVEX and RIFX files.
1656 * tests/command_test.c
1657 Add broadcast test for WAVEX files.
1659 2008-08-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1661 * tests/string_test.c
1662 Add a new string_rdwr_test (currently failing for WAV).
1663 Add a new string_multi_set_test (currently failing).
1665 * tests/command_test.c
1666 Add new broadcast_rdwr_test (currently failing).
1669 Fix to WAV parser to allow 'bext' chunk to be updated in place.
1670 In wav_write_tailer, seek to psf->dataend if its greater than zero.
1673 Make sure psf->have_written gets set correctly in mode SFM_RDWR.
1676 Test for <sys/time.h> and gettimeofday.
1679 Use gettimeofday() to initialize psf_rand_int32.
1681 * src/common.h src/sndfile.c
1682 Add unique_id field to SF_PRIVATE struct.
1684 * src/common.h src/sndfile.c src/wav.c src/wav_w64.[ch]
1685 Move wavex_ambisonic field from SF_PRIVATE struct to WAV_PRIVATE struct.
1687 * src/common.h src/strings.c
1688 Add function psf_location_string_count.
1690 2008-08-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1693 Test for localtime and localtime_r.
1695 * examples/sndfile-convert.c
1696 In function copy_metadata(), copy broadcast info if present.
1698 * examples/copy_data.[ch] examples/Makefile.am
1699 Break some functionality out of sndfile-convert.c so it can be used in
1700 examples/sndfile-bwf-set.c.
1703 Add new function create_short_sndfile().
1705 * examples/sndfile-bwf-set.c examples/sndfile-bwf-get.c
1706 examples/Makefile.am
1707 Add new files and hook into build.
1709 2008-08-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1712 Fix comments. Patch from Mark Glines.
1714 2008-07-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1717 Use zero_data_test on Ogg/Vorbis files.
1720 Fix segfault when closing an Ogg/Vorbis file that has been opened for write
1721 but had no actual data written to it. Bug reported by Chinoy Gupta.
1724 Make sure to run mist_test on Ogg/Vorbis files.
1726 2008-07-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1728 * regtest/Makefile.am
1729 Use SQLITE3_CFLAGS to locate sqlite headers.
1731 2008-07-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1733 * doc/index.html doc/FAQ.html
1734 Add notes about which versions of windows libsndfile works on.
1736 2008-07-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1739 Add a test for correct handling of Ambisonic files. Thanks to Fons
1740 Adriaensen for the test.
1742 * src/wav.c src/wav_w64.c
1743 Fix handling of Ambisonic files. Thanks to Fons Adriaensen for the patch.
1745 2008-06-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1748 Fix detection/enabling of external libs.
1750 * M4/extra_pkg.m4 M4/Makefile.am
1751 Add m4 macro PKG_CHECK_MOD_VERSION which is a hacked version
1752 PKG_CHECK_MODULES. The new macro prints the version number of the package
1753 it is searching for.
1755 2008-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1758 Apply a fix from Axel Röbel where if the second loop in the instrument
1759 chunk is none, the loop mode is written into the first loop.
1761 2008-05-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1763 * src/test_float.c src/test_main.(c|h) src/Makefile.am
1764 Add new file to test functions float32_(le|be)_(read|write) and
1765 double64_(le|be)_(read|write). Hook into build and testsuite.
1767 * src/double64.c src/float32.c
1768 Fix bugs in functions found by test added above. Thanks to Nicolas Castagne
1769 for reporting this bug.
1772 Change time_reference_(low|high) entries of SF_BROADCAST_INFO struct to
1775 * examples/sndfile-info.c
1776 Print out the BEXT time reference in a sensible format.
1778 2008-05-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1784 Add call to ogg_stream_clear to fix valgrind warning.
1787 Fix x86_64 compile issue.
1789 * configure.ac src/Makefile.am src/flac.c src/ogg.c
1790 Link to external versions of FLAC, Ogg and Vorbis.
1792 * tests/lossy_comp_test.c tests/ogg_test.c tests/string_test.c
1793 tests/vorbis_test.c tests/write_read_test.tpl
1794 Fix tests when configured with --disable-external-libs.
1796 * tests/external_libs_test.c tests/Makefile.am
1797 Add new test and hook into build and test suite.
1800 Use HAVE_EXTERNAL_LIBS to ensure that the SFC_GET_FORMAT_* commands return
1801 the right data when external libs are disabled.
1803 2008-05-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1805 * tests/write_read_test.tpl
1806 Add a test for extending a file during write by seeking past the current
1810 Allow seeking past end of file during write.
1812 2008-05-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1814 * doc/api.html doc/command.html
1815 Move all information about the sf_command function to command.html and add
1816 a link from documentation of the sf_read/write_raw function to the
1817 SFC_RAW_NEEDS_ENDSWAP command.
1819 * doc/index.html doc/FAQ.html doc/libsndfile.css
1820 Minor documentation tweaks.
1822 2008-05-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1827 2008-04-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1829 * tests/error_test.c
1830 Add a test to make sure if file opened with sf_open_fd, and then the file
1831 descriptor is closed, then sf_close will return an error code. Thanks to
1832 Dave Flogeras for the bug report.
1835 Make sf_close return an error is the file descriptor is already closed.
1837 2008-04-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1840 Set object format to aout for OS/2. Thanks to David Yeo.
1842 * src/mpc2k.c src/sndfile.c src/sndfile.h.in src/common.h src/Makefile.am
1843 Add ability to read MPC 2000 file.
1845 * tests/write_read_test.tpl tests/misc_test.c tests/header_test.tpl
1847 Add tests for MPC 2000 file format.
1849 * examples/sndfile-convert.c
1850 Allow conversion to MPC 2000 file format.
1852 2008-04-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1854 * src/VORBIS/lib/codebook.c
1855 Sync from upstream SVN.
1857 * autogen.sh configure.ac
1860 2008-04-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1863 Add a patch that fixes finding the length in samples of an Ogg/Vorbis file.
1864 The patch as supplied segfaulted and required many hours of debugging.
1867 Sync from upstream SVN.
1869 2008-04-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1872 Fix up handling of 'APPL' chunk. Thanks to Axel Röbel for bringing up
1875 2008-04-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1878 Add calls to sf_close() where needed.
1880 * tests/utils.tpl tests/multi_file_test.c
1881 Always pass 0 as the third argument to open when OS_IS_WIN32.
1883 2008-04-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1886 Add files test_main.[ch].
1887 Collapse all tests into a single executable.
1889 2008-03-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1892 Sync to upstream CVS.
1894 2008-03-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1897 Make SF_MIN and SF_MAX macros MinGW friendly.
1899 * examples/sndfile-(info|play).c
1900 Use Sleep function from <windows.h> instead of _sleep.
1902 * tests/locale_test.c
1903 Disable some tests when OS_IS_WIN32.
1905 * src/FLAC/src/share/replaygain_anal/replaygain_analysis.c
1906 src/FLAC/src/share/utf8/utf8.c
1909 2008-03-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1912 Tweaks to pcm16 <-> float conversion answer.
1914 2008-02-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1917 Sync to SVN upstream.
1920 Add 'DISTCHECK_CONFIGURE_FLAGS = --enable-gcc-werror'.
1922 2008-02-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1924 * examples/sndfile-jackplay.c
1925 Minor tweaks to warning message printed when compiled without libjack.
1927 2008-01-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1929 * tests/peak_chunk_test.c
1930 Improve read_write_peak_test to find more errors. Inspired by example
1931 provided by Nicolas Castagne.
1934 Another SFM_RDWR fix shown up by above test.
1936 2008-01-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1939 Fix reading of COMM encoding string.
1941 * src/chunk.c src/common.h src/Makefile.am
1942 New file for storing and retrieving info about header chunks. Hook into
1946 Use new chunk logging to fix problem with AIFF in RDWR mode.
1948 2008-01-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1951 Add WVE to the list of major formats.
1953 * tests/aiff_rw_test.c
1954 Fix error reporting.
1956 2008-01-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1959 Add internal functions str_of_major_format, str_of_minor_format,
1960 str_of_open_mode and str_of_endianness.
1962 * tests/write_read_test.tpl
1963 Fix reporting of errors in new_rdwr_XXXX_test.
1965 2008-01-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1967 * examples/sndfile-play.c
1968 Apply patch from Yair K. to fix compiles with OSS v4.
1970 * src/common.h src/float32.c src/double64.c
1971 Rename psf->float_enswap to psf->data_endswap.
1973 * src/sndfile.h.in src/sndfile.c src/pcm.c
1974 Add command SFC_RAW_NEEDS_ENDSWAP.
1977 Add test for SFC_RAW_NEEDS_ENDSWAP.
1980 Document SFC_RAW_NEEDS_ENDSWAP.
1982 * tests/peak_chunk_test.c
1983 Add test function read_write_peak_test. Thanks to Nicolas Castagne for the
1986 2008-01-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1988 * examples/sndfile-cmp.c
1989 Add new example program contributed by Conrad Parker.
1991 * examples/Makefile.am
1994 * doc/development.html
1995 Change use or reconfigure.mk to autogen.sh.
1997 2008-01-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1999 * tests/win32_test.c
2000 Add another win32 test.
2003 Add function file_length_fd which wraps fstat.
2006 Run the multi_file_test on AU files.
2008 * tests/multi_file_test.c
2009 Use function file_length_fd() instead of file_length() to overcome stupid
2010 win32 bug. Fscking hell Microsoft sucks so much.
2012 2008-01-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2015 Fix a rsrc parsing bug. Example file supplied by Uli Franke.
2017 2007-12-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2020 Allow use of either LGPL v2.1 or LGPL v3.
2022 * tests/header_test.tpl
2023 Add header_shrink_test from Axel Röbel.
2026 Add fix from Axel Röbel for writing files with float data but no peak
2027 chunk (ie peak chunk gets removed after the file is opened).
2029 * src/aiff.c tests/header_test.tpl
2030 Apply similar fix to above for AIFF files.
2032 * src/wav.c tests/header_test.tpl
2033 Apply similar fix to above for WAVEX files.
2036 Add Ogg/Vorbis to 'get format' commands.
2038 2007-12-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2041 Fix seeking on multichannel Ogg Vorbis files. Reported by Bodo.
2042 Set the default encoding quality to 0.4 instead of 4.0 (Bodo again).
2045 Add stereo seek tests.
2047 2007-12-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2050 Add a test (currently failing) for stereo seeking on Ogg Vorbis files. Test
2051 case supplied by Bodo.
2053 * tests/utils.(def|tpl)
2054 Add compare_XXX_or_die functions.
2056 2007-12-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2059 Fix a bug where ignoring ssnd_fmt.offset and ssnd_fmt.blocksize caused
2060 misaligned reading of 24 bit data. Thanks to Uli Franke for reporting this.
2062 2007-12-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2064 * src/vox_adpcm.c src/ima_oki_adpcm.[ch] src/Makefile.am
2065 Merge in code from the vox-patch branch. Thanks to Robs for the patch
2066 which fixes a long standing bug in the VOX codec.
2068 2007-12-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2070 * examples/sndfile-convert.c
2071 Fix handling of -override-sample-rate=X option.
2073 2007-11-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2075 * src/ogg.c src/VORBIS
2076 Merge in Ogg Vorbis support from John ffitch of the Csound project.
2078 2007-11-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2081 Recognise files with 'vox6' extension as 6kHz OKI VOX ADPCM files. Also
2082 recognise 'vox8' as and 'vox' as 8kHz files.
2085 Detect libjack (JACK Audio Connect Kit).
2087 * examples/sndfile-jackplay.c examples/Makefile.am
2088 Add new example program to play sound files using the JACK audio server.
2089 Thanks to Jonatan Liljedahl for allowing this to be included.
2091 2007-11-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2094 Update support table with SD2 and FLAC.
2096 2007-11-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2099 Fix calculation of internal value psf->read_current when attempting to read
2100 past end of audio data.
2101 Remove redundant code.
2103 * tests/lossy_comp_test.c
2104 Add read_raw_test to check that raw reads do not go past the end of the
2106 Clean up error output messages.
2109 Add code to prevent sf_read_raw from reading past the end of the audio data.
2112 Add the wav_pcm lossy_comp_test.
2114 2007-11-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2116 * configure.ac src/Makefile.am src/create_symbols_file.py
2117 More OS/2 fixes from David Yeo.
2119 2007-11-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2121 * src/file_io.c tests/utils.tpl tests/benchmark.tpl
2122 Improve handling of requirements for O_BINARY as suggested by Ed Schouten.
2124 2007-11-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2127 Fix symbol class when SF_MIN is nested inside SF_MAX or vice versa.
2129 * src/create_symbols_file.py
2130 Add support for OS/2 contributed by David Yeo.
2132 2007-11-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2135 Add macro AC_GCC_VERSION to detect GCC_MAJOR_VERSION and GCC_MINOR_VERSION.
2138 Use AC_GCC_VERSION to work around gcc-4.2 inline warning stupidity.
2139 See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33995
2140 Use -fgnu-inline to prevent stupid warnings.
2142 2007-11-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2145 Increase the printing width for print_test_name().
2147 * tests/command_test.c tests/Makefile.am
2148 Add tests for correct updating of broadcast WAV coding history.
2150 * examples/sndfilehandle.cc examples/Makefile.am
2151 Add example program using the C++ SndfileHandle class.
2153 2007-10-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2155 * src/common.h src/sndfile.c
2156 Add error codes SFE_ZERO_MAJOR_FORMAT and SFE_ZERO_MINOR_FORMAT.
2158 2007-10-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2161 Identify sample-rate/sample-size/channels by resource id.
2163 2007-10-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2165 * src/broadcast.c src/common.h src/sndfile.c
2166 Improvements to handling of broadcast info in WAV files. Thanks to Frederic
2167 Cornu and other for their input.
2169 2007-10-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2171 * src/FLAC/include/share/alloc.h
2172 Mingw fix for SIZE_T_MAX from Uli Franke.
2174 2007-10-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2176 * tests/open_fail_test.c tests/error_test.c tests/Makefile.am
2177 Move tests from open_fail_test.c to error_test.c and remove the former.
2179 2007-10-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2181 * tests/scale_clip_test.(def|tpl)
2182 Add tests for SFC_SET_INT_FLOAT_WRITE command.
2185 Add docs for SFC_SET_INT_FLOAT_WRITE command.
2187 * examples/sndfile-play.c tests/dft_cmp.c
2188 Fix gcc-4.2 warning messages.
2190 2007-10-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2192 * src/sndfile.h.in src/sndfile.c
2193 Add command SFC_GET_CURRENT_SF_INFO.
2195 * src/sndfile.h.in src/sndfile.c src/create_symbols_file.py
2196 Remove function sf_get_info (only ever in pre-release code).
2198 * tests/command_test.c
2199 Add test for SFC_GET_CURRENT_SF_INFO.
2201 2007-10-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2204 Add parsing of 'exif' chunks. Originally coded by Trent Apted.
2207 Put config stuff in Cfg directory.
2208 Remove check for inttypes.h.
2210 2007-10-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2213 Fix writing of 'riff' chunk length and check for correct value in parser.
2215 2007-09-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2218 Link to MP3 FAQ entry.
2220 2007-09-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2223 Move the blocksize check to an earlier stage of flac_buffer_copy.
2225 2007-09-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2228 Huge merge from FLAC upstream.
2230 2007-09-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2233 Change license to all example programs to BSD.
2235 2007-09-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2237 * src/FLAC/include/FLAC/metadata.h
2238 Include <sys/types.h> to prevent compile error on OSX.
2240 * Octave/octave_test.sh
2241 Disable test on OSX. Can't get it to work.
2244 Check the blocksize returned from the FLAC decoder to prevent buffer
2245 overruns. Reported by Jeremy Friesner. Thanks.
2247 2007-09-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2249 * Makefile.am M4/octave.m4
2250 Fix build when Octave headers are not present.
2252 2007-08-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2254 * doc/development.html
2255 Add note about bzr repository directory looking empty.
2257 2007-08-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2259 * configure.ac Octave/* M4/octave_*
2260 Bunch of changes to add ability to build GNU Octave modules to read/write
2261 sound files using libsndfile from Octave.
2263 2007-08-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2265 * acinclude.m4 configure.ac ...
2266 Get rid of acinclude.m4 and replace it with an M4 directory.
2268 2007-08-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2271 Remove crufty Metrowerks compiler support. Allow header file to be compiled
2272 on windows with both GCC and microsoft compiler.
2274 2007-08-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2276 * tests/dft_cmp.[ch] tests/floating_point_test.tpl
2277 Clean up floating point tests.
2279 2007-08-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2282 Fix segfault when COMM chunk length is byte swapped.
2284 2007-08-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2286 * src/common.h src/mat4.c src/mat5.c src/sndfile.c
2287 Add a generic SFE_CHANNEL_COUNT_ZERO error, remove format specific errors.
2290 Fix crash on AU files with zero channel count. Reported by Ben Alison.
2292 2007-08-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2295 Fix bug in handling file supplied by Matt Olenik.
2297 2007-07-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2300 Merge from OGG upstream sources.
2302 2007-07-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2305 Merge from FLAC upstream sources.
2307 2007-07-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2310 Fix memory leak; set copy parameter to FALSE in call to
2311 FLAC__metadata_object_vorbiscomment_append_comment.
2314 Add function psf_rand_int32().
2316 2007-07-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2319 Merge from FLAC upstream sources.
2321 * src/strings.c tests/string_test.c tests/Makefile.am
2322 Make sure string tests for SF_STR_LICENSE actually works.
2324 2007-07-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2326 * tests/string_test.c
2327 Add ability to test strings stored in metadata secion of FLAC files.
2330 Fix logic for testing if audio data has been written and string is added.
2331 Make sure SF_STR_ALBUM actually works.
2334 Finalize reading/writing string metadata. Tests pass.
2336 * src/sndfile.h.in tests/string_test.c src/flac.c
2337 Add string type SF_STR_LICENSE, update test and use for FLAC files.
2340 Add definition for SFC_SET_SCALE_FLOAT_INT_WRITE command.
2342 * src/common.h src/double64.c src/float32.c src/sndfile.c
2343 Add support for SFC_SET_SCALE_FLOAT_INT_WRITE (still needs testing).
2345 2007-07-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2348 Apply patch from Ed Schouten to read artist and title metadata from FLAC
2350 Improve reporting of FLAC metadata.
2352 * src/sndfile.h.in tests/string_test.c src/flac.c
2353 Add string type SF_STR_ALBUM, update test and use for FLAC files.
2355 2007-06-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2358 Merge from upstream CVS.
2360 2007-06-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2363 Update from upstream CVS.
2365 2007-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2368 Add extra tests for when the SndfileHandle constructor fails.
2371 Make sure failure to open the file in the constructor does not allow later
2372 calls to other methods to fail.
2374 2007-06-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2377 Add function write_mono_file.
2379 * tests/generate.[ch] tests/Makefile.am
2380 Add files generate.[ch] and hook into build.
2382 * tests/write_read_test.tpl
2383 Add multi_seek_test.
2386 Fix buffer overflow bug. Test provided by Jeremy Friesner and fix provided
2389 2007-06-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2394 * configure.ac src/FLAC/src/libFLAC/ia32/Makefile.am src/Makefile.am
2395 Apply patch from Trent Apted make it compile on Intel MacOSX. Thanks Trent.
2397 2007-05-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2400 Fix writing of MSGUID subtypes. Thanks to Bruce Sharpe.
2402 2007-05-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2405 Fix array indexing bug raised by Bruce Sharpe.
2407 2007-05-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2409 * src/FLAC/src/share/getopt/getopt.c
2410 Fix Mac OSX / PowerPC compile warnings.
2413 Make sure WORDS_BIGENDIAN gets correctly defined for FLAC code.
2415 2007-05-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2418 Add Q/A about MP3 support.
2420 2007-05-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2422 * doc/new_file_type.HOWTO
2425 2007-05-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2428 Fix a couple bad parameters with psf_log_printf.
2431 Improve error reporting.
2433 * src/common.h src/common.c
2434 Constify psf_hexdump.
2436 2007-04-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2439 Ditch and re-import required FLAC code.
2442 Force FLAC__HAS_OGG variable to 1.
2444 * src/FLAC/src/libFLAC/stream_encoder.c
2445 Fix compiler warnings.
2447 2007-04-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2449 * configure.ac tests/win32_ordinal_test.c
2450 Detect if win32 DLL is beging generated and only run win32_ordinal_test if
2453 * src/G72x/Makefile.am src/Makefile.am
2454 Use $(EXEEXT) where possible.
2456 2007-04-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2458 * src/wve.c src/common.h src/sndfile.c
2459 Complete definition of SfE_WVE_NO_WVE error message.
2462 Fix error in files generated on big endian systems. Robustify parsing.
2464 2007-04-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2467 Fix clipping of double to short conversions on 64 bit systems.
2469 * src/flac.c regtest/database.c tests/cpp_test.cc
2470 Fix compile warnings for 64 bit systems.
2472 2007-04-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2474 * src/wav.c src/wav_w64.c
2475 Use audio detect function when 'fmt ' chunk data is suspicious.
2478 Add ugly hack to remove -Werror from some Makefiles.
2480 2007-04-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2482 * src/GSM610/long_term.c src/macbinary3.c tests/cpp_test.cc
2483 Add patch from André Pang to clean up compiles on OSX.
2485 * src/wve.c src/common.h src/sndfile.c src/sndfile.h.in
2486 examples/sndfile-convert.c
2487 Merge changes from Reuben Thomas to improve WVE support.
2489 * tests/lossy_comp_test.c tests/Makefile.am
2490 Add tests for WVE files.
2492 2007-04-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2495 Add a static SndfileHandle::formatCheck method as suggested by Jorge
2498 2007-04-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2501 Fixed a bug in sf_error() where the function itself was being compared
2502 against zero. Add a check for a NULL return from peak_info_calloc. Fix a
2503 possible NULL dereference.
2505 2007-04-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2508 Turn off seekable flag when writing, return SFE_BAD_RDWR_FORMAT when
2509 opening file for RDWR.
2512 Improve error message for SFE_BAD_RDWR_FORMAT.
2515 Fix array indexing issue. Thanks to Ben Allison (Nullsoft) for alerting me.
2517 2007-03-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2520 Add Q/A 19 on project files.
2522 2007-03-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2525 Guard agains MacOSX universal binary compiles.
2528 Add Q/A 18 and clean up Q3.
2530 2007-02-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2533 Add support for 'in24' files.
2535 2007-02-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2537 * src/wav.c src/wav_w64.c src/wav_w64.h
2538 Start work towards detecting ausio codec type from the actual audio data.
2540 * src/audio_detect.c src/test_audio_detect.c
2541 Add new file and its unit test.
2543 2007-02-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2545 * examples/cooledit-fixer.c examples/Makefile.am
2546 Remove old broken example program.
2548 2007-02-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2550 * src/sndfile.c src/sndfile.h.in src/create_symbols_file.py
2551 Add function sf_get_info.
2553 2007-01-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2555 * examples/sndfile-play.c
2556 For ALSA, use the 'default' device instead of 'plughw:0'.
2558 2007-01-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2561 Allow writing of WAV/WAVEX 'BEXT' chunks in SFM_RDWR mode.
2563 2007-01-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2565 * doc/development.html doc/embedded_files.html man/sndfile-play.1
2566 Minor documentation fixes. Thanks Reuben Thomas.
2568 2006-12-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2570 * examples/sndfile-convert.c
2571 Add -override-sample-rate command line option.
2573 2006-11-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2576 Force errno to zero at start of some tests.
2579 Minor clean up of error handling.
2582 Remove an assembler test which was failing on OSX.
2584 2006-11-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2587 Fix the definition of SF_PLATFORM_S64 for MinGW.
2589 * src/FLAC/Makefile.am src/FLAC/share/grabbag/Makefile.am
2590 Fix path problems for MinGW.
2592 2006-11-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2597 * src/Makefile.am src/flac.c
2598 Clean up include paths.
2600 * src/test_conversions.c
2601 New file to test psf_binheader_readf/writef functions.
2603 * src/Makefile.am src/test_file_io.c src/test_log_printf.c src/common.c
2604 Clean up unit testing.
2607 Fix a bug reading/writing 64 bit header fields. Thanks to Jonathan Woithe
2610 * src/test_conversions.c
2611 Complete unit test for above fix.
2613 2006-11-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2616 More refactoring to clean up psf_open_file() and vairous sf_open()
2619 2006-11-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2622 Apply a patch from Jonathan Woithe to allow opening of (malformed) WAV
2623 files of over 4 gigabytes.
2625 2006-11-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2628 Refactor function psf_open_file() to provide a single return point.
2631 Fix permission_test to ensure that read only file can be created.
2633 2006-11-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2636 Add SF_PLATFORM_S64 macro as a platform independant way of doing signed 64
2639 * src/aiff.c src/svx.c src/wav.c
2640 Add warning in log if files are larger than 4 gigabytes in size.
2642 2006-11-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2644 * src/FLAC src/OGG confgure.ac src/Makefile.am
2645 Pull in all required FLAC and OGG code so external libraries are not
2646 needed. This makes compiling on stupid fscking Windoze easier.
2648 2006-10-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2651 Add workaround for switched sample rate and sample size.
2654 Add workaround for excessively long coding history in the 'bext' chunk.
2656 2006-10-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2658 * src/sndfile.h.in src/sndfile.c src/wav.c doc/command.html
2659 Use SF_AMBISONIC_* instead of SF_TRUE/SF_FALSE.
2661 2006-10-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2663 * src/sndfile.h.in src/wav.c src/wav_w64.c src/common.h doc/command.html
2664 Apply a patch from Fons Adriaensen to allow writing on WAVEX Ambisonic
2665 files. Still needs a little tweaking before its ready for release.
2668 Use the UNUSED macro to prevent compiler warnings.
2670 2006-10-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2673 Fix a bug in parsing AIFF files with a slightly unusual 'basc' chunk. Thanks
2674 to David Viens for providing two example files.
2676 * src/common.(c|h) src/aiff.c
2677 Add a function psf_sanitize_string and use it in aiff.c.
2679 2006-10-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2682 Apply a patch from Fons Adriaensen which fixes a minor WAVEX GUID issue.
2684 2006-10-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2687 Fix problem related to recent test coverage changes.
2689 2006-10-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2691 * configure.ac tests/Makefile.am
2692 Add --enable-test-coverage configure option.
2694 2006-10-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2697 Add an std::string SndfileHandle constructor.
2699 * tests/scale_clip_test.tpl
2700 Fix the 'make distcheck' target.
2702 2006-10-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2704 * src/double64.c src/float32.c
2705 Add optional clipping on float file data to int read data conversions.
2707 * tests/tests/scale_clip_test.(def|tpl)
2708 Add test for above new code.
2710 2006-09-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2712 * tests/aiff_rw_test.c
2713 Add 'MARK' chunks to make sure they are parsed correctly.
2715 2006-09-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2718 Fix parsing of MARK chunks. Many thanks to Sciss for generating files to
2719 help debug the problem.
2721 2006-09-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2724 Make the SF_MIN and SF_MAX macros at least partially type safe.
2726 * tests/lossy_comp_test.c
2727 Fix overflow problems when ensuring that signalis not zero.
2729 2006-08-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2731 * configure.ac docs/*.html
2732 Changes for release 1.0.17.
2734 2006-08-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2737 Remove inline from functions called by pointer. Thanks to Sampo Savolainen
2738 for notifying me of this.
2740 2006-07-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2743 Add writeSync method.
2744 Add copy constructor and assignment operator (thanks Daniel Schmitt).
2745 Add methods readRaw and writeRaw.
2746 Make read/write/readf/writef simple overlaods instead of templates (thanks
2747 to Trent Apted for suggesting this).
2752 2006-07-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2755 Templatize the read/write/readf/writef methods as suggested by Lars Luthman.
2756 Prevent the potential leak of SNDFILE* pointers in the openRead/openWrite/
2757 openReadWrite methods.
2758 Add const to SF_INFO pointer in Sndfile constructor.
2759 Make the destrictor call the close() method.
2764 2006-07-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2767 Remove the generated file so "make distcheck" passes.
2770 Add sndfile.hh to distributed header files.
2773 Change the license for the C++ wrapper to modified BSD.
2775 2006-07-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2783 2006-07-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2786 Add extern C to generated header file.
2789 Work towards completing this.
2791 * tests/cpp_test.cc tests/Makefile.am
2792 Add a C++ test and hook into build.
2795 Add appropriate CXXFLAGS.
2797 2006-07-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2800 Test if compiler supports -Wpointer-arith.
2803 Fix a warning resulting from -Wpointer-arith.
2805 2006-07-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2807 * examples/sndfile-play.c
2808 Explicitly set endian-ness as well as setting 16 bit output.
2810 * examples/sndfile-info.c
2811 Make sure to parse info if file fails to open.
2814 Handle parse error a little better.
2817 Minor clean up, add detection of IPP ITU G723.1.
2819 2006-06-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2822 Make sure psf->dataoffset gets reset to zero when openning headersless
2823 files based on the file name extension.
2825 2006-06-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2827 * tests/(command|lossy_comp|pcm|scale_clip)_test.c tests/fix_this.c
2828 tests/write_read_test.(tpl|def)
2829 Fix gcc-4.1 compiler warnings about "dereferencing type-punned pointer will
2830 break strict-aliasing rules".
2832 * examples/cooledit-fixer.c
2833 More fixes like above.
2835 2006-06-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2838 Fix a windows bug where the syserr string of SF_PRIVATE was not being set
2842 Fixed a logic bug in sf_seek(). Thanks to Paul Davis for finding this.
2844 2006-06-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2847 Fixed detection of S_IRGRP.
2849 2006-05-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2852 Add conversion SF_INSTRUMENT data when present.
2854 2006-05-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2856 * doc/development.html
2857 Removed references to tla on windows.
2859 * src/common.h src/sndfile.c
2860 Add separate void pointers for file containter and file codec data to
2861 SF_PRIVATE struct. Still need to move all existing fdata pointers.
2863 * tests/write_read_test.tpl
2864 Change the order of some tests.
2867 When writing 'AIFC' files, make sure get an 'FVER' gets added.
2869 * src/common.h src/(dwvw|flac|g72x|gsm610|ima_adpcm|ms_adpcm|paf|sds).c
2870 src/(sndfile|voc|vox_adpcm|xi).c
2871 Remove fdata field from SF_PRIVATE struct and replace it with codec_data.
2873 2006-05-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2875 * Win32/testprog.c Win32/Makefile.am
2876 Add a minimal win32 test program.
2878 * Win32/README-precompiled-dll.txt Mingw-make-dist.sh
2879 Update readme and Mingw build script.
2881 2006-05-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2883 * configure.ac acinclude.m4
2884 Minor fixes for Solaris.
2886 2006-05-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2888 * src/test_endswap.(def|tpl)
2889 Fix printf formatting for int64_t on 64 bit machines.
2891 2006-05-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2893 * src/binhead_check.py
2894 New file to check for bad parameters passed to psf_binheader_writef().
2897 Hook into test suite.
2899 * src/voc.c src/caf.c src/wav.c src/mat5.c src/mat4.c
2900 Fix bugs found by new test program.
2903 Clean up double64_get_capability().
2905 2006-05-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2908 Fix a bug on x86_64 where an int was being passed via stdargs and being
2909 read using size_t which is 64 bits. Thenks to John ffitch for giving me a
2912 2006-05-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2914 * src/caf.c src/double64.c examples/sndfile-info.c tests/virtual_io_test.c
2916 Fix a couple of signed/unsigned problems.
2918 2006-05-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2920 * tests/command_test.c
2921 Add channel map tests.
2923 * src/common.h src/sndfile.c
2924 Add a pointer the the SF_PRIVATE struct and make sure it gets freed in
2927 2006-04-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2929 * configure.ac doc/(command|index|api).html NEWS README
2930 Updates for 1.0.16 release.
2933 Define enums for channel mapping.
2935 * examples/sndfile-info.c
2936 Clean up usage of SF_INFO struct.
2938 2006-04-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2941 Add function testing function exit_if_true().
2943 * tests/floating_point_test.tpl
2944 Fix a problem where the test program was not exiting when the test failed.
2946 2006-04-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2948 * src/sndfile.h.in src/sndfile.c src/common.h src/command.c
2949 Implement new commands SFC_GET_SIGNAL_MAX and SFC_GET_MAX_ALL_CHANNELS.
2952 Document new commands. Other minor updates.
2954 * tests/peak_chunk_test.c
2955 Update tests for new commands.
2957 2006-04-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2959 * tests/peak_chunk_test.c
2960 Add test for RIFX and WAVEX files.
2961 Try and confuse the PEAK chunk writing by enabling and disabling it.
2964 Fix a bug where enabling and disabling PEAK chunk was screwing up.
2966 2006-03-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2969 Add the block of 190 reserved bytes into this struct to allow for
2972 * src/wav.c src/sndfile.c src/broadcast.c
2973 Significant cleanup of broadcast wave stuff.
2975 * examples/sndfile-info.c
2978 * tests/command_test.c tests/Makefile.am
2979 Complete bext tests, hook test in test suite.
2981 2006-03-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2984 Make coding_history field of SF_BROADCAST_INFO struct a char array instead
2987 * src/sndfile.c src/common.h src/wav.c
2988 Clean up knock on effects of above chnage.
2990 * examples/sndfile-info.c
2991 Add -b command line option to usage message.
2992 Clean up output of broadcast wave info.
2995 Ignore and skip the 'levl' chunk.
2997 2006-03-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3000 Fix handling of --enable and --disable configure args. Thanks to Diego
3001 'Flameeyes' Pettenò who sent the patch.
3003 2006-03-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3006 Make it really clear that although the MSVC++ cannot compile libsndfile,
3007 the precompiled DLL can be used in C++ programs compiled with MSVC++.
3009 2006-03-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3012 Fix bug in writing of INST chunk in AIFF files.
3013 Fix potential bug in writing MARK chunks.
3016 Make sure the instrument chunk can only be written at the start of the file.
3018 * tests/command_test.c
3019 Add check of log buffer.
3022 Add usage of space character to psf_binheader_writef.
3024 2006-03-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3026 * src/Makefile.am tests/Makefile.am
3027 Remove --source-time argument from autogen command lines.
3030 New file for EBU Broadcast chunk in WAV files.
3032 * src/sndfile.c src/sndfile.h.in src/wav.c src/common.h
3033 Add patch from Paul Davis implementing read/write of the BEXT chunk.
3035 2006-03-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3037 * Win32/README-precompiled-dll.txt
3038 New file descibing how to use the precompiled DLL.
3041 Add Win32/README-precompiled-dll.txt to EXTRA_DIST files.
3044 Bump version to 1.0.15.
3046 2006-03-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3049 On read, only add the endian flag if the file is big endian.
3052 Fixed writing of APDCM coeffs in RIFX files.
3054 * tests/write_read_test.tpl tests/lossy_comp_test.c
3055 Add tests for RIFX files.
3057 2006-03-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3059 * Mingw-make-dist.sh
3060 Bunch of improvements.
3063 Update MinGW program versions.
3065 2006-03-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3067 * src/create_symbols_file.py
3068 Fix the library name in created win32 DEF file. Add correct DLL name for
3071 * Win32/Makefile.am tests/Makefile.am
3072 Remove redundant files, add win32_ordinal_test to test suite.
3074 * tests/win32_ordinal_test.c
3075 Update to do test in cygsndfile-1.dll as well.
3078 Fix typo, mention that -mno-cygwin with the Cygwin compiler does not work.
3080 * src/wav.c src/wav_w64.c src/sndfile.c src/sndfile.h.in
3081 Apply large patch from Jesse Chappell which adds support for RIFX files.
3083 2006-03-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3086 Add Mingw-make-dist.sh to the extra dist files.
3089 Fix setting SHLIB_VERSION_ARG for MinGW.
3091 * tests/win32_ordinal_test.c
3092 New test program to test that the win32 DLL ordinals agree with the DEF
3095 2006-03-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3098 Add a static inline function to convert an int to a size_t. This will be
3099 a compile to nothing on 32 bit CPUs and a sign extension on 64 bit CPUs.
3101 * src/aiff.c src/avr.c src/common.c src/xi.c src/gsm610.c
3102 Fix an ia64 problem where a varargs function was being passed an int in
3103 some places and a size_t in other places.
3106 Add a workaround for situations where OSX seems to add an extra 0x52 bytes
3107 to the start of the resource fork.
3109 2006-02-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3111 * Mingw-make-dist.sh
3112 Add a shell script to build the windows binary/source ZIP file.
3115 Add download link for windows binary/source ZIP file. Add links for GPG
3119 Remove info about building using microsoft compiler.
3122 Bump version to 1.0.14.
3124 2006-02-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3127 Improve logging of errors in resource fork parser.
3129 2006-01-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3131 * Win32/Makefile.msvc
3132 Replace au_g72x.* with g72x.*. Thanks to ussell Borogove.
3134 2006-01-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3137 Make sure return values are initialised header buffer is full.
3140 Add workarounds for messed up WAV files.
3142 2006-01-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3145 Undef HAVE_INTTYPES_H for win32.
3147 * tests/command_test.c
3148 Don't exit on error in instrument test for XI files.
3151 Bump version to 1.0.13.
3153 * doc/*.html NEWS README
3154 Update version numbers.
3156 2006-01-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3159 Start work on add read/write of instrument chunks.
3161 * src/command_test.c
3162 Add tests for XI instrument chunk.
3164 * tests/largefile_test.c tests/Makefile.am
3165 Add new test and hook it into the build system. This test will not be run
3166 automatically because it requires 3 Gig of disk space and takes 3 minutes
3169 2006-01-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3171 * examples/sndfile-play.c
3172 Fix calculation of samples remaining in win32 code. Thanks Axel Röbel.
3175 Make sure length of header buffer can hold header plus strings. Thanks Axel
3178 2006-01-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3180 * src/sndfile.h.in src/aiff.c src/wav.c
3181 Apply a patch from John ffitch (Csound project).
3182 Add detune field to SF_INSTRUMENT struct.
3183 Add reading/writing instrument chunks to WAV files.
3185 * tests/command_test.c
3186 Update SF_INSTRUMENT tests.
3189 Hook instrument tests into test suite.
3191 2006-01-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3194 Check for <inttypes.h> because some broken systems (like Solaris) don't have
3195 <stdint.h> which is the 1999 ISO C standard file containing int64_t.
3197 * src/sfendian.h src/common.h
3198 Use <inttypes.h> if <stdint.h> is not available.
3200 2005-12-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3202 * tests/peak_chunk_test.c
3203 Extend and clean up tests.
3206 Fix a bug that prevented the turning off of PEAK chunks.
3208 2005-12-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3210 * tests/error_test.c
3211 Make the test distclean correct.
3214 Fix an SD2 MacOSX bug (reported by vince schwarzinger).
3216 2005-12-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3218 * src/aiff.c tests/command_test.c
3219 Apply a big patch from John ffitch (Csound project) to add reading and
3220 writing of instrument chunks to AIFF files. Also update the test.
3222 2005-12-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3224 * tests/aiff_rw_test.c tests/virtual_io_test.c tests/utils.tpl
3225 Move test function dump_data_to_file() to utils.tpl.
3227 * tests/error_test.c tests/Makefile.am
3228 Updates, including a new test to test that sf_error() returns a valid error
3231 2005-12-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3233 * examples/list_formats.c
3234 Make sure the SF_INFO struct is memset to all zero before being used.
3235 Thanks to Stephen F. Booth.
3238 Make the return value of sf_error() match the API documentation.
3240 2005-11-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3242 * examples/sndfile-convert.c
3243 Allow conversion to raw gsm610.
3245 * src/common.h src/sndfile.c src/au.c
3246 Remove au_nh_open() and all references to it (wasn't working anyway).
3248 * tests/headerless_test.c
3249 Add new test for file extension based detection.
3252 Rejig file extension based file type detection.
3254 2005-11-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3257 Add "gsm" as a recognised file extension when no magic number can be found.
3259 * tests/lossy_comp_test.c tests/Makefile.am
3260 Test headerless GSM610.
3262 2005-11-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3265 Fix a minor typo and a minor error. Thanks Christoph Kobe and John Pavel.
3267 2005-10-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3270 Add more reporting of 'fmt ' chunk for G721 encoded files.
3273 Gernerate a more correct 20 byte 'fmt ' chunk rather than a 16 byte one.
3275 2005-10-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3277 * src/G72x/g72x.[ch]
3278 Minor cleanup of interface.
3280 2005-10-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3283 Removed the horribly broken and non-functional OGG implementation when
3284 --enable-experimental was enabled. When OGG does finally work it will be
3290 2005-10-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3292 * src/g72x.c src/G72x/*.(c|h) src/common.h src/sndfile.c src/wav.c src/au.c
3293 Add support for G721 encoded WAV files.
3296 Update support matrix.
3298 * tests/lossy_comp_test.c
3299 For file formats that support it, add string data after the audio data and
3300 make sure it isn't treated as audio data on read.
3303 Add code to ensure that the container close function (ie for WAV files) gets
3304 called after the codec's close function. This allows GSM610 encoded WAV files
3305 to have string data following the audio data.
3306 Add an AIFF specific check on psf->datalength.
3309 Simplify wav_close function.
3312 Make sure the tailer data gets written at an even file offset. Pad if
3316 Replace the close function pointer in SF_PRIVATE with separate functions
3317 codec_close and container_close. The former is always called first.
3320 Fix knock on effects of above.
3322 2005-10-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3324 * examples/sndfile-info.c
3325 Complete dumping SF_INSTRUMENT data.
3327 * src/dwvw.c src/ima_adpcm.c src/gsm610.c src/ms_adpcm.c
3328 Add extra checks in *_init function.
3330 * tests/lossy_comp_test.c
3331 Add a string comment to the end of the files to make sure that the decoder
3332 doesn't decode beyond the end of the audio data section.
3334 2005-10-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3336 * examples/sndfile-info.c
3338 Start work on dumping SF_INSTRUMENT data.
3340 2005-10-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3342 * src/sndfile.h.in src/common.h src/common.c
3343 Update definition of SF_INSTRUMENT struct and create a function to allocate
3344 and initialize the struct (input from David Viens).
3345 Clean up definition of SF_INSTRUMENT struct.
3347 * src/wav.c src/wav_w64.c
3348 Add support for Ambisoncs B WAVEX files (David Viens).
3350 * src/aiff.c src/wav.c src/wav_w64.c
3351 Start work on reading/writing the SF_INSTRUMENT data.
3354 Add code to get and set SF_INSTRUMENT data.
3356 * tests/command_test.* tests/Makefile.am
3357 Add test for set and getof SF_INSTRUMENT data.
3358 The file command_test.c is no longer autogen generated.
3360 2005-10-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3365 2005-10-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3367 * tests/lossy_comp_test.c
3370 2005-10-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3373 Ensure sfconfig.h is included before any other header file.
3376 Add comments documenting the three sections of the file.
3379 Make sure SF_FORMAT_WAVEX are handled correctly.
3381 2005-10-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3384 Add options to allow disabling of FLAC and ALSA. Suggested by Ben Greear.
3386 2005-09-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3388 * tests/locale_test.c
3389 Modify the way the unicode strings were encoded so that older compilers
3390 do not complain. Thanks Axel Röbel.
3393 Bump the version to 1.0.12 for release.
3395 * NEWS README Win32/config.h doc/(FAQ|index.html|command|api).html
3396 Update version numbers.
3398 2005-09-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3401 Fix valgrind error and minor cleanup.
3403 2005-09-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3405 * src/(au|paf|aiff|w64|wav|svx).c
3406 Make sure structs are initialised.
3408 2005-09-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3411 Make -Wdeclaration-after-statement work with --enable-gcc-werror configure
3413 Add -std=gnu99 (C99 plus posix style stuff like gmtime_r) to CFLAGS if the
3414 compiler supports it.
3416 2005-09-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3418 * configure.ac acinclude.m4
3419 Add -Wdeclaration-after-statement to CFLAGS if the compilers supports it.
3421 2005-09-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3423 * tests/util.(tpl|def)
3424 Make the test_write_*_or_die() functions const safe.
3426 2005-09-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3429 Make sure the data offset is read from the file header. Thanks to
3430 David A. van Leeuwen for a patch.
3432 2005-09-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3434 * configure.ac src/sfconfig.h
3435 Check for <locale.h> and the function setlocale().
3436 Set config variables to zero if not found.
3438 * tests/locale_test.c tests/Makefile.am
3439 Add new test program and hook into build/test system.
3441 2005-09-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3443 * src/common.h src/file_io.c
3444 On windows, use windows specific types for file handles.
3445 Add functions psf_init_files() and psf_use_rsrc().
3448 Make resource fork handling independant of file desciptor/handles.
3450 * src/sndfile.c src/test_file_io.c
3451 Fix knock on effects.
3453 2005-09-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3456 The lrint and lrintf implementations in Cygwin are both buggy and slow.
3457 Add replacements which were pulled from the Public Domain MinGW math.h
3460 2005-09-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3462 * tests/(lossy_comp_test|virtual_io_test).c
3463 More Valgrind fixups.
3466 Simplify and correct configuring for Cygwin.
3468 * Win32/config.h Win32/sndfile.h Win32/Makefile.msvc
3469 Update build for MSVC.
3471 2005-09-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3473 * tests/lossy_comp_test.c
3474 Make sure to close SNDFILE when exiting test when file format is not seekable.
3476 * tests/(aiff_rw_test|virtual_io_test).c
3477 Do a few valgrind fix ups.
3479 2005-09-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3481 * src/float32.c src/double64.c
3482 Replace floating point equality comparisons with greater/less comparisons.
3483 Found by John Pavel using the Intel compiler.
3486 New file to clean up issues surrounding autoconf generated preprocessor
3489 * src/*.(c|h) tests/*.(c|tpl) examples/*.c
3490 Fixed a bunch of other stuff found by John Pavel using the Intel compiler.
3493 Remove Mac OS9 Metrowerks compiler specific hacks.
3495 2005-08-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3498 Cast integer literal to sf_count_t in call to psf_binheader_writef() to
3499 prevent Valgrind error.
3501 2005-08-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3504 Improve documentation of SF_GET_FORMAT_SUBTYPE.
3506 2005-08-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3508 * examples/sndfile-convert.c
3509 Allow files to be converted to SD2 format.
3512 Fix a bug in reading and writing of SD2 files on little endian CPUs.
3513 Thanks to Matthew Willis for finding this.
3515 2005-08-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3518 Update Note2 to point to SFC_SET_SCALE_FLOAT_INT_READ.
3520 2005-08-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3523 Use $host_os instead of $target_os (thanks to Mo De Jong).
3525 2005-08-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3528 Apply a patch from Mo DeJong to allow building outside of the source dir.
3531 Fix psf_fsync() for win32.
3533 * src/wav.c src/wav_w64.(c|h)
3534 Move some code from wav.c to wav_w64.c to improve the log output of files of
3535 type WAVE_FORMAT_EXTENSIBLE.
3537 2005-08-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3539 * src/create_symbols_file.py
3540 Make sure sf_write_fsync is an exported symbol.
3542 * examples/sndfile-convert.c
3543 Add support for writing VOX adpcm files.
3545 2005-07-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3548 Document the new function sf_write_sync().
3551 Do you plan to support XYZ codec.
3553 2005-07-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3555 * src/sndfile.h.in src/sndfile.c
3556 Add function sf_write_sync() to the API.
3558 * src/common.h src/file_io.c
3559 Low level implementation (win32 not done yet).
3561 * tests/write_read_test.tpl
3562 Use the new function in the tests.
3564 2005-07-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3566 * src/common.h src/double64.c src/float32.c src/sndfile.c
3567 Change the way PEAK chunk info is stored. Peaks now stored as an sf_count_t
3568 for position and a double as the value.
3570 * src/aiff.c src/caf.c src/wav.c
3571 Fix knock on effects of above changes.
3574 Implement 'peak' chunk for file wuth data in SF_FORMAT_FLOAT or
3575 SF_FORMAT_DOUBLE format.
3577 2005-07-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3580 Fix a bug where a variable was being used without being initialized.
3583 Add extra debug in sf_flac_meta_callback.
3584 Make a bunch of private functions static.
3586 * src/aiff.c src/wav.c
3587 Fix allocation for PEAK_CHUNK (bug found using valgrind).
3589 2005-07-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3592 Move the peak_loc field of SF_PRIVATE to the PEAK_CHUNK struct.
3593 Remove had_peak field of SF_PRIVATE, use pchunk != NULL instead.
3594 Rename PEAK_CHUNK and PEAK_POS to PEAK_CHUNK_32 and PEAK_POS_32.
3596 * src/aiff.c src/caf.c src/wav.c src/float32.c src/double64.c
3597 Fix knock on effects from above.
3599 2005-07-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3602 Prevent files with unknown chunks from being opened read/write.
3604 2005-07-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3607 Do not use psf->end_of_file because it never gets set to anything.
3610 Remove unused SF_PRIVATE field end_of_file.
3612 2005-07-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3615 Change the 'S' format specifier of psf_binheader_writef() to write AIFF
3616 style strings (no terminating character).
3619 Move to new (correct) AIFF string style. Thanks to Axel Röbel for being
3620 so persistent on this issue.
3622 2005-07-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3625 Allow SFE_UNSUPPORTED_FORMAT as an error from sf_open().
3627 * doc/api.html doc/command.html
3628 Documentation updates (thanks to Kyroz for promoting these updates).
3631 Modify the way the header is written.
3633 2005-07-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3636 Add a 'free' chunk to the written file so that the audio data starts at
3637 an offset of 0x1000.
3640 Allow SFE_UNSUPPORTED_FORMAT as an error from sf_open().
3642 2005-07-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3644 * src/caf.c src/sndfile.c
3645 Add support for signed 8 bit integers.
3647 * tests/write_read_test.tpl
3648 Add test for signed 8 bit integers in CAF files.
3651 Update matrix for signed 8 bit integers in CAF files.
3653 2005-07-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3656 Update sf_check_format() to support CAF.
3658 * examples/sndfile-convert.c
3659 Add support for ".caf" file extension.
3662 Add Apple CAF to the support matrix.
3665 Add file write support.
3668 Fix printing of Frames.
3670 * tests/Makefile.am tests/write_read_test.tpl tests/lossy_comp_test.c
3671 tests/header_test.tpl misc_test.c
3672 Add tests for CAF files.
3674 2005-07-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3677 Fix Q/A about reading/writing memory buffers.
3680 Bunch of work to support reading of CAF files.
3682 2005-07-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3684 * src/(aiff|ima_adpcm|mat4|mat5|ms_adpcm).c examples/sndfile-play.c
3685 Fix sign conversion errors reported by gcc-4.0.
3688 New file for Apple's Core Audio File format.
3690 * src/sndfile.c src/common.h src/sndfile.h.in src/Makefile.am
3691 Hook new file into build system.
3693 2005-06-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3696 Fix handling of stupidly large 'fmt ' chunks. Thanks to Vadim Berezniker
3697 for supplying an example file.
3699 * src/common.h src/sndfile.c
3700 Remove redundant error code SFE_WAV_FMT_TOO_BIG.
3702 2005-06-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3704 * src/sndfile.h.in src/common.h src/sndfile.c
3705 Add public error value SF_ERR_MALFORMED_FILE.
3708 When parsing a file header fails and we don't have a system error, then set
3709 the error number to SF_ERR_MALFORMED_FILE (suggested by Kyroz).
3712 Allow sqlite support to be disabled in configure script.
3714 * regtest/database.c regtest/sndfile-regtest.c
3715 Fix compiling when sqlite is missing.
3717 2005-06-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3720 Fix psf_is_pipe() and return value of psf_fread() when using virtual i/o.
3723 Fix VALIDATE_AND_ASSIGN_PSF macro for virtual i/o.
3725 * tests/virtual_io_test.c
3726 Fill in skeleton test program.
3729 Move virtual i/o tests to end of tests with stdio/pipe tests.
3731 * src/(sndfile.h.in|file_io.c|common.h|sndfile.c) tests/virtual_io_test.c
3732 Rename some of the virtual i/o functions and data types.
3734 2005-06-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3737 Fix the return values of sf_commands : SFC_SET_NORM_DOUBLE,
3738 SFC_SET_NORM_FLOAT, SFC_GET_LIB_VERSION and SFC_GET_LOG_INFO. Thanks to
3739 Kyroz for pointing out these errors.
3742 Correct documented return values for SFC_SET_NORM_DOUBLE and
3743 SFC_SET_NORM_FLOAT. Thanks to Kyroz again.
3745 2005-05-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3748 Add new files for sndfile-regtest program.
3750 * configure.ac Makefile.am
3751 Hook regetest into build.
3753 * src/wav.c src/common.c
3754 Fix a regression where long ICMT chunks were causing the WAV parser
3757 2005-05-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3759 * libsndfile.spec.in
3760 Add html docs to the files section as suggested by Karsten Jeppesen.
3763 Fix parsing of odd length ANNO chunks.
3765 2005-05-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3768 Change the include guard to prevent clashes with other code.
3770 2005-05-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3772 * examples/sndfile-play.c
3773 Improve error handling in code for playback under Linux/ALSA.
3775 2005-05-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3778 Fix writing of IRCAM files on big endian systems (thanks to Axel Röbel).
3781 Add workaround for files created by the Peak audio editor on Mac which can
3782 produce files with very short LIST chunks (thanks to Jonathan Segel who
3785 2005-04-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3788 Apply a patch From David Viens to make the parsing of basc chunks more
3792 Another patch from David Viens to write correct wavex channel masks for
3793 the most common channel configurations.
3795 2005-04-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3798 Only allow FLAC in the format arrays if FLAC is enabled. Thanks to
3801 2005-03-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3804 Add a directory field for storing the file directory to the SF_PRIVATE
3808 Grab the directory name when copying the file path.
3811 Cleanup psf_open_rsrc() and also check for resource fork in
3812 .AppleDouble/filename.
3814 2005-03-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3817 Fix a bug in the printing of the channel count. Bug reported by Michael
3820 2005-01-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3823 Fix a seek bug for 24 bit PAF files.
3825 * tests/write_read_test.tpl
3826 Update write_read_test to trigger the previously hidden PAF seek bug.
3828 2005-01-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3830 * src/aiff.c src/w64.c src/wav.c
3831 Do not return a header parse error when the log buffer overflows.
3832 Continuing parsing works even on files where the log buffer does overflow.
3833 This avoids a bug on some weirdo WAV (and other) files.
3835 * src/common.h src/sndfile.c
3836 Remove SFE_LOG_OVERRIN error and its associated error message.
3839 Fix a rsrc fork problem on MacOSX.
3841 2004-12-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3843 * src/sndfile-play.c
3844 In the ALSA output code, added call to snd_pcm_drain() just before
3845 snd_pcm_close() as suggested by Thomas Kaeding.
3846 In the OSS output code, added two ioctls (SNDCTL_DSP_POST and
3847 SNDCTL_DSP_SYNC) just before the close of the audio device.
3849 * tests/virtual_io_test.c tests/Makefile.am
3850 Add a new test program (currently empty) and add it to the build.
3852 2004-12-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3854 * src/sndfile.h.in src/sndfile.h src/common.h src/file_io.c
3855 src/create_symbols_file.py
3856 Apply patch from Steve Baker which is the beginnings of a virtual
3859 2004-12-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3861 * src/*.c src/sndfile.h.in
3862 Const-ify the write path throughout the library.
3864 2004-12-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3866 * doc/development.html
3869 2004-11-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3874 2004-11-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3877 Add workaround for Logic Platinum AIFF files with broken COMT chunks.
3879 2004-11-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3882 Remove some ambiguities in the SD2 FAQ answer.
3884 2004-11-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3886 * Win32/sndfile.h Win32/config.h MacOS9/sndfile.h MacOS9/config.h
3887 Updates from autoconfig versions.
3889 2004-11-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3892 Fix parsing of COMT chunks. Store SF_STR_COMMENT data in ANNO chunks
3893 instead of COMT chunk.
3895 2004-11-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3897 * src/file_io.c src/common.h
3898 Change the ptr argument to psf_write() from "void*" to a "const void*".
3899 Thanks to Tobias Gehrig for suggesting this.
3901 2004-10-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3903 * src/file_io.c src/common.h
3904 Add functions psf_close_rsrc() and read length of resourse fork into
3905 rsrclength field of SF_PRIVATE.
3908 Make sure resource fork gets closed.
3911 Add functions to check for file descriptor leakage.
3913 * src/write_read_test.tpl
3914 Use the file descriptor leak checks.
3917 Add SFC_GET_LOOP_INFO and SF_LOOP_INFO struct.
3920 Add SF_LOOP_INFO pointer to SF_PRIVATE.
3922 * src/wav.c src/aiff.c
3923 Improve and add parsing of 'ACID' and 'basc' chunks, filling in
3924 SF_LOOP_INFO data in SF_PRIVATE.
3926 2004-10-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3929 Further cleanup: remove printfs, change snprintf to LSF_SNPRINTF.
3931 * Win32/config.h Win32/sndfile.h
3935 Add win32 macro for snprintf.
3937 2004-10-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3940 Add macros : H2BE_SHORT, H2BE_INT, H2LE_SHORT and H2LE_INT.
3943 Use macros to make sure writing SD2 files on little endian machines works
3947 Add a delete_file() function which also deletes the resource fork of SD2
3950 * tests/write_read_test.tpl
3951 Use delete_file() so that "make distcheck" works.
3953 2004-10-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3955 * src/sndfile.c src/file_io.c
3956 Move resource filename construction and testing to psf_open_rsrc().
3958 * src/common.h src/sndfile.c
3959 Add error SFE_SD2_FD_DISALLOWED.
3961 * tests/util.tpl tests/*.(c|tpl)
3962 Add and allow_fd parameter to test_open_file_or_die() so that use of
3963 sf_open_fd() can be avoided when opening SD2 files.
3965 2004-10-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3968 Update ACID chunk parsing.
3971 More fixes for files with large resource forks.
3973 2004-10-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3975 * src/common.h src/sndfile.c
3976 Add error numbers and messages for sd2 files.
3979 Reading of sd2 (resource fork version) now seems to be working.
3981 2004-10-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3984 Update file_io.c to include win32 psf_rsrc_open().
3986 * tests/floating_point_test.tpl
3987 Remove use of __func__ in test programs (MSVC++ doesn't grok this).
3989 * Win32/(config|sndfile).h MacOS9/(config|sndfile).h
3992 2004-10-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3995 Fix endswap_int64_t_(array|copy).
3997 * src/test_endswap.(tpl|def)
3998 Add tests for above and inprove all tests.
4000 2004-10-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4003 Improve type safety, add endswap_double_array().
4006 Use endswap_double_array() instead of endswap_long_array().
4008 * src/test_endswap.(tpl|def) src/Makefile.am
4009 Add preliminary endswap tests and hook into build system.
4011 2004-10-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4013 * src/configure.ac src/makefile.am
4014 Finally fix the bulding of DLLs on Win32/MinGW.
4017 Fix running of tests on Win32/MinGW.
4019 2004-10-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4021 * src/sndfile.h.in src/sndfile.c tests/floating_point_test.tpl
4022 Rename SFC_SET_FLOAT_INT_MULTIPLIER to SFC_SET_SCALE_FLOAT_INT_READ.
4025 Document SFC_SET_SCALE_FLOAT_INT_READ.
4027 2004-09-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4029 * tests/floating_point_test.(tpl|def)
4030 Derived from floating_point_test.c.
4031 Add (float|double)_(short|int)_test functions.
4033 * tests/util.(tpl|def)
4034 Make separate float and double versions of gen_windowed_sine().
4036 * tests/write_read_test.tpl
4037 Fix after changes to gen_windowed_sine().
4039 * src/(float32|double64).c
4040 Implement SFC_SET_FLOAT_INT_MULTIPPLIER.
4042 2004-09-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4045 Fix warnings from automake 1.8 and later.
4047 * examples/sndfile-info.c
4048 Add a "fflush (stdout)" after printing Win32 message.
4050 2004-09-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4052 * Win32/Makefile.mingw.in
4053 Add a "make install" target.
4055 2004-09-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4057 * src/sndfile.h.in src/common.h src/sndfile.c src/command.c
4058 Start work on adding command SFC_SET_FLOAT_INT_MULTIPLIER.
4060 2004-09-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4062 * examples/sndfile-convert.c
4063 Fix a bug converting stereo integer PCM files to float.
4065 2004-09-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4067 * examples/sndfile-play.c
4068 Appy patch from Conrad Parker to make Mac OSX error messages more
4069 consistent and informative.
4072 Fix a HTML HREF which was wrong.
4075 Add information about when nmake fails.
4077 2004-09-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4079 * examples/sndfile-play.c
4080 Another patch from Denis Cote to prevent race conditions.
4082 2004-09-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4084 * src/common.h src/ms_adpcm.c src/ima_adpcm.c
4085 Fix alternative to ISO standard flexible struct array feature for broken
4088 2004-08-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4090 * src/common.h src/string.c src/sndfile.c
4091 Make sf_set_string() return an error if trying to set a string when in
4094 2004-08-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4097 Change the unnamed union into a named union so gcc-2.95 will compile it.
4100 Fixes to allow for the above change.
4102 2004-08-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4104 * examples/sndfile-play.c
4105 Fixes for Win32. Thanks to Denis Cote.
4107 * Win32/Win32/Makefile.(msvc|mingw.in)
4108 Fix build system after removal of sfendian.h.
4109 Build sndfile-convert.
4112 Remove sfendian.c from dependancies.
4114 2004-08-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4117 Fix typo in comments (thanks Tommi Sakari Uimonen).
4119 2004-07-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4121 * tests/(a|u)law_test.c
4124 2004-07-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4126 * src/(pcm|float|double64|ulaw|alaw|xi).c
4127 Optimise read/write loops by removing a redundant variable.
4129 2004-07-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4132 Remove call to fsync() in psf_close().
4134 2004-07-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4137 Inline x2y_array() functions where possible.
4140 Detect presence of type int64_t.
4142 * src/sfendian.c src/sfendian.h
4143 Move functions in the first file to the sfendian.h as static inline
4145 Improve endswap_long_*() where possible.
4147 2004-07-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4150 When converting from unsigned char to float or double, subtract 128 before
4151 converting to float/double rather than after to save a floating point
4152 operation as suggested by Stefan Briesenick.
4154 * src/(pcm|sfendian|alaw|ulaw|double64|float32).c
4155 Optimize inner loops by changing the loop counting slightly as suggested
4156 by Stefan Briesenick.
4159 Detect presence of <byteswap.h>.
4162 Use <byteswap.h> if present as suggested by Stefan Briesenick.
4167 2004-07-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4169 * src/common.h src/*.c
4170 Change the psf->buffer field of SF_PRIVATE into a more type safe union with
4171 double, float, int etc elements.
4173 2004-06-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4175 * examples/sndfile-play.c
4176 Merge slightly modifed patch from Stanko Juzbasic which allows playback of
4177 mono files on MacOSX.
4179 2004-06-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4181 * examples/sndfile-convert.c
4182 Move copy_metadata() after the second sf_open().
4184 2004-06-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4186 * examples/sndfile-convert.c
4187 Fix a bug which caused the program to go into an infinite loop if the source
4188 file has no meta-data. Thanks to Ron Parker for reporting this.
4191 Add SF_STR_FIRST and SF_STR_LAST to allow enumeration of string types.
4193 * Win32/sndfile.h MacOS9/sndfile.h
4194 Update these as per the above file.
4196 2004-06-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4198 * configure.ac src/common.h src/ogg.c src/sndfile.c src/sndfile.h.in
4200 Apply large patch from Conrad Parker implementing Ogg Vorbis, Ogg Speex and
4201 Annodex support via liboggz and libfishsound. Thanks Conrad.
4203 2004-06-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4205 * src/avr.c src/ircam.c src/nist.c src/paf.c src/xi.c
4206 Add cast to size_t for some parameters passed to psf_binheader_writef. This
4207 is Debian bug number 253490. Thanks to Anand Kumria and Andreas Jochens.
4210 Found and fixed a bug resulting from use of size_t when writing W64 'fmt '
4213 2004-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4216 Bump version to 1.0.10 ready for release.
4219 Remove redundant files (check_libsndfile.py libsndfile_version_convert.py)
4220 from distribution tarball.
4222 * tests/header_test.tpl
4223 Fix uninitialised variable.
4225 * src/GSM610/short_term.c
4226 Fix compiler warning on MSVC++.
4228 2004-05-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4231 Improve record keeping of chunks seen and return an error if a file with
4232 unusual chunks is opened in mode SFM_RDWR.
4235 This file not needed so remove it.
4237 2004-05-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4239 * tests/header_test.tpl
4240 Add extra_header_test().
4242 * src/common.h src/sndfile.c
4243 Add SFE_RDWR_BAD_HEADER error number and string.
4245 2004-05-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4247 * tests/utils.tpl tests/*.c tests/*.tpl
4248 Add a line number argument to check_log_buffer_or_die() and update all
4249 files that use that function.
4251 * tests/header_test.tpl
4252 Modify/update tests for files opened SFM_RDWR and SFC_UPDATE_HEADER_AUTO.
4254 * src/aiff.c src/wav.c
4255 Fix another bug in AIFF and WAV files opened in SFM_RDWR and using
4256 SFC_UPDATE_HEADER_AUTO.
4258 * src/test_file_io.c
4259 Add a test for psf_ftruncate() function.
4261 2004-05-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4264 Fix another weird corner case bug found by Martin Rumori. Thanks.
4266 * tests/header_test.(tpl|def)
4267 Two new files to test for the absence of the above bug and include tests
4268 moved from tests/misc_test.c.
4271 Hook new tests into build/test system.
4274 Remove update_header_test() which has been moved to the new files above.
4276 2004-05-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4279 Fixed a bug reported by Martin Rumori on the LAD list. If a file created
4280 with a format of SF_FORMAT_FLOAT and then closed before any data is written
4281 to it, the header can get screwed up (PEAK chunk gets overwritten).
4283 * tests/write_read_test.tpl
4284 Add a test (empty_file_test) for the above bug.
4286 2004-05-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4288 * Win32/Makefile.mingw.in
4289 Added a Makefile for MinGW (needs to be processed by configure).
4291 * src/mmsystem.h src/mmreg.h
4292 Add files from the Wine project (under the LGPL) to allow build of
4293 sndfile-play.exe under MinGW.
4295 2004-05-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4297 * src/GSM610/gsm610_priv.h
4298 Replace ugly macros with inline functions.
4301 Remove temporary variables used by macros and other minor fixes required by
4304 2004-05-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4306 * tests/pipe_test.tpl tests/stdio_test.c Win32/Makefile.msvc
4307 Make sure these programs compile (even though they do nothing) on Win32
4308 and add them to the "make check" target.
4311 Fix warning on Sparc CPU and code cleanup.
4313 2004-05-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4316 Fix warning messages when compiling under MinGW.
4318 2004-05-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4321 Set HAVE_FLEXIBLE_ARRAY in src/config.h depending on whether the compiler
4322 accepts the flexible array struct member as per 1999 ISO C standard.
4324 * src/common.h src/ima_adpcm.c src/paf.c src/ms_adpcm.c
4325 Added ugly #if HAVE_FLEXIBLE_ARRAY and provided a non-standards compliant
4326 hack for non 1999 ISO C compliant compilers.
4328 2004-04-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4331 If adding an SF_STR_SOFTWARE string, only append libsndfile-X.Y.Z if the
4332 string does not already have libsndfile in the string. Thanks to Conrad
4335 * tests/string_test.c
4336 Add test to verify the above.
4338 * examples/sndfile-convert.c
4339 Add ability to transcode meta data as well (Conrad Parker).
4341 2004-04-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4344 Fix minor error. Thanks to Simon Burton.
4347 Started adding instructions for compiling libsndfile under MinGW.
4350 Add --enable-bow-docs to enable black text on a white background HTML docs.
4352 * doc/libsndfile.css.in
4353 This is now a template file for configure which sets the foreground and
4356 2004-04-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4359 Do some MinGW fixes.
4361 * configure.ac doc/Makefile.am
4362 Install HTML docs when doing make install.
4364 2004-04-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4366 * examples/sndfile-info.c
4367 Print out the dB level with the signal max.
4369 2004-04-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4372 Define S_ISSOCK in src/file_io.c if required.
4374 2004-04-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4377 Improve printout configuration summary (as suggested by Axel Röbel).
4380 Add link to pre-release location.
4383 Remove comma after last element of enum.
4385 * src/float32.c src/double64.c
4386 Fix read/write of float/double encoded raw files to/from pipes.
4388 * tests/pipe_test.c tests/pipe_test.tpl tests/pipe_test.def
4389 Turn pipe_test.c into an autogenerated file and add tests for reading/
4390 writing floats and doubles.
4393 Hook tests/pipe_test.* into build system.
4395 2004-04-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4397 * configure.ac acinclude.m4
4398 Rename AC_C_STRUCT_HACK macro to AC_C99_FLEXIBLE_ARRAY.
4400 2004-03-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4403 Perform update_header_test in RDWR mode as well.
4406 Fix problems when updating header in RDWR mode.
4408 2004-03-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4410 * src/wav.c src/w64.c src/wav_w64.c
4411 Integrate code supplied by David Viens for supporting microsoft's
4412 WAVEFORMATEXTENSIBLE stuff. Thanks David for supplying this.
4414 * configure.ac doc/*.html
4415 Bump version to 1.0.9.
4417 2004-03-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4419 * src/command.c src/sndfile.c src/sndfile.h.in src/wav.c
4420 Started work on supporting microsoft's WAVEFORMATEXTENSIBLE gunk.
4422 2004-03-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4425 New file to handle Audio Visual Resaerch files.
4427 * src/sndfile.h.in src/common.h src/sndfile.c src/command.c
4428 Hook AVR into everything else.
4430 * tests/Makefile.am tests/write_read_test.tpl tests/misc_test.c
4431 Add testing for AVR files.
4433 2004-03-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4436 Fix psf_set_file() for win32. Thanks to Vincent Trussart (Plogue Art et
4437 Technologie) for coming up with the solution.
4439 2004-03-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4441 * tests/write_read_test.tpl
4442 Fixed a bug that was causing valgrind to report a memory leak. The bug was
4443 in the test code itself, not the library.
4445 2004-03-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4447 * examples/generate.cs
4448 An example showing how to use libsndfile from C#. Thanks to James Robson
4451 2004-03-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4454 Fix problems with WAV files containing large chunks after the 'data'
4455 chunk. Thanks to Koen Tanghe for providing a sample file.
4457 2004-03-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4460 Detect presense of ALSA (Advanced Linux Sound Architecture).
4462 * examples/sndfile-play.c
4463 Add ALSA output support.
4465 * examples/Makefile.am
4466 Add ALSA_LIBS to link line of sndfile-play.c.
4468 2004-03-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4471 Add new macro (AC_C_STRUCT_HACK) to detect whether the C compiler allows
4472 the use of the what is known as the struct hack introduced by the 1999 ISO
4476 The last release would not compile with gcc-2.95 due to the use of features
4477 (ie struct hack) introduced by the 1999 ISO C Standard.
4478 Add check to make sure compiler handles this and bomb out if it doesn't.
4480 2004-03-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4482 * tests/write_read_test.tpl
4483 Fix compiler warning on Win32.
4486 Fix use of an un-initialised variable in Win32 stuff.
4488 * Win32/config.h examples/sndfile-play.c
4491 2004-03-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4494 Fix bug which occurres when configuring for MinGW.
4495 If compiler is gcc and cross compiling use -nostdinc.
4497 2004-03-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4499 * src/common.h src/aiff.c src/wav.c src/float32.c src/double64.c
4501 Fix a bug with PEAK chunk handling for files with more than 16 channels.
4502 Thanks to Remy Bruno for finding this.
4504 2004-03-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4507 Fix a bug which was preventing WAV files being openned correctly if the
4508 file had a very large header. Thanks to Eldad Zack for finding this.
4510 2004-03-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4512 * configure.ac src/file_io.c
4513 Fix cross-compiling from Linux to Win32 using the MinGW tools.
4515 2004-03-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4517 * src/create_symbols_file.sh
4518 Christian Weisgerber pointed out that the shell script did not run on a
4519 real Bourne shell although it did run under Bash in Bourne shell mode.
4521 * src/create_symbols_file.py
4522 Rewrite of above in Python. Also add support for writing Win32 .def files.
4523 The Python script generates Symbols.linux, Symbols.darwin and
4524 libsndfile.def (Win32 version). These files get shipped with the tarball
4525 so there should not be necessary to run the Python script when building
4526 the code from the tarball.
4528 * configure.ac src/Makefile.am Win32/Makefile.am
4529 Hook new Python script into the build system.
4531 2004-02-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4534 Add --enable-gcc-werror option and move GCC specific stuff down.
4536 2004-02-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4538 * acinclude.m4 configure.ac
4539 Fix clip mode detection (tested in one of HP's testdrive Itanium II boxes).
4542 Added check for sizeof (off_t) != sizeof (sf_count_t) to prevent recurrence
4543 of missing large file support on Linux and Solaris.
4545 2004-02-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4547 * examples/sndfile-play.c
4548 Fix a MacOSX specific bug which was caused by a space being inserted in
4549 the middle of a file name.
4551 * configure.ac src/Makefile.am examples/Makefile.am
4552 Fix a couple of MacOSX build issues.
4554 2004-02-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4557 Document SFC_SET_CLIPPING and SFC_GET_CLIPPING.
4559 2004-02-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4562 Applied patch from Frank Neumann (author of lakai) which fixes many minor
4563 typos in documentation. Thanks Frank.
4565 2004-02-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4568 Changed my email address throughout source and docs.
4570 2004-02-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4573 Make sure config.h is included before stdio.h to make sure large file
4574 support is enabled on Linux (and Solaris).
4577 Disable update_header test on Win32. This should work but doesn't and
4580 * Make.bat Win32/Makefile.msvc
4583 2004-01-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4586 Changed logindex, headindex and headend files of SF_PRIVATE from unsigned
4587 int to int to prevent weird arithmetic bugs.
4589 * src/common.c src/aiff.c src/wav.c src/w64.c
4590 Fixed compiler warnings resulting from above change.
4592 2004-01-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4595 Fixed a bug in header reader for some files with data after the sample data.
4597 2003-12-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4599 * tests/lossy_comp_test.c tests/Makefile.am
4600 Add tests for AIFF/IMA files.
4602 2003-12-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4604 * src/macbinary3.c src/macos.c
4605 Two new files required for handling SD2 files.
4608 Add prototypes for functions in above two files.
4611 Hook new files into build system.
4613 2003-12-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4616 Add checks for mmap() and getpagesize() which might be used at some time
4617 for faster file reads.
4618 Add detection of MacOSX.
4620 2003-12-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4623 Minor mods to pkg-config section.
4625 2003-12-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4627 * src/create_symbols_file.sh
4628 Andre Pang (also known as Ozone) pointed out that on MacOSX, all non
4629 static symbols are exported causing troubles when trying to link
4630 libsndfile with another library which has any of the same symbols.
4631 He fixed this by supplying the MacOSX linker with a file containing
4632 all the public symbols so that only they would be exported and then
4633 supplied a patch for libsndfile.
4634 This wasn't quite ideal, because I would have to maintain two (3 if
4635 you include Win32) separate files containing the exported symbols.
4636 A better solution was to create this script which can generate a
4637 Symbols file for Linux, MacoSX and any other OS that supports
4638 minimising the number of exported symbols.
4640 * configure.ac src/Makefile.am
4641 Hook the new script into the build process.
4643 2003-12-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4646 Added comments about Steve Dekorte's SoundConverter scam.
4648 2003-12-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4651 Axel Röbel pointed out that on Mac OSX a pipe is not considered a fifo
4652 (S_ISFIFO (st.st_mode) is false) but a socket (S_ISSOCK (st.st_mode) is
4653 true). The test has therefore been changed to is S_ISREG and anything
4654 which which does not return true for S_ISREG is considered a pipe.
4656 2003-11-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4659 Fix update_header_test to pass SDS.
4664 * tests/floating_point_test.c
4665 Add test for SDS files.
4668 Add SDS to major_formats array.
4670 2003-11-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4672 * tests/write_read_test.tpl tests/misc_test.c
4673 Add tests for SDS files.
4676 Fix a bug in header update code.
4678 2003-11-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4681 Get file write working.
4684 Fix a potential bug in paf24_seek().
4686 2003-11-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4689 Add Q/A about u-law encoded WAV files.
4692 Updated so it compiles on Win32.
4694 2003-11-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4696 * examples/sndfile-convert.c
4697 Add -alaw and -ulaw command line arguments.
4700 Add library versioning comments.
4701 Add arguments to AC_INIT.
4703 2003-10-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4706 Ross Bencina has contributed code to replace all of the (mostly broken)
4707 Win32 POSIX emulation calls with calls the native Win32 file I/O API.
4708 This code still needs testing but is likely to be a huge improvemnt
4709 of support for Win32. Thanks Ross.
4711 2003-10-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4714 Removed filedes field from the DWVW_PRIVATE struct.
4717 Change psf_fopen() so it returns psf->error instead of the file descriptor.
4718 Add new functions psf_set_stdio() and psf_set_file().
4721 Change these to work with changed psf_fopen() return value.
4722 Remove all uses of psf->filedes from sndfile, making it easier to slot native
4723 Win32 API file handling functions.
4725 * src/test_file_io.c
4726 Minor changes to make it compile with new file_io.c stuff.
4728 2003-10-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4731 Rename a variable from true to true_flag. As Ross Bencina points out,
4732 true is defined in the C99 header <stdbool.h>.
4735 If fstat() fails, return SF_TRUE instead of -1 (Ross Bencina).
4737 2003-10-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4740 Increase the size of SF_BUFFER_LEN and SF_HEADER_LEN.
4743 Fix sf_read/write_raw which were dividing by psf->bytwidth and
4744 psf->blockwidth which can both be zero.
4746 * examples/sndfile-info.c
4747 Increase size of BUFFER_LEN.
4749 2003-09-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4752 Add checks for <sys/wait.h> and ssize_t.
4753 Other Win32/MinGW checks.
4755 * src/aiff.c src/au_g72x.c src/file_io.c src/gsm610.c src/interleave.c
4756 src/paf.c src/sds.c src/svx.c src/voc.c src/w64.c src/wav.c src/xi.c
4757 Fix compiler warnings.
4759 2003-09-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4761 * tests/scale_clip_test.tpl
4762 Add definition of M_PI if needed.
4764 2003-09-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4767 Detect if S_IRGRP is declared in <unistd.h>.
4769 * src/file_io.c tests/*.tpl tests/*.c
4770 More fixes for Win32/MSVC++ and MinGW. MinGW does have <unistd.h> but that
4771 file doesn't declare S_IRGRP.
4773 2003-10-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4776 Add comment stating that the sf_count_t typedef is determined when
4777 libsndfile is being compiled.
4780 Modified so that utils.c gets one copy of the GPL and not two.
4783 2003-09-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4785 * Win32/unistd.h src/sf_unistd.h
4786 Move first file to the second. This will help for Win32/MSVC++ and MinGW.
4788 * Win32/Makefile.am src/Makefile.am
4789 Changed in line with above.
4791 * Win32/Makefile.msvc
4792 Removed "/I Win32" which is no longer required.
4794 * src/file_io.c src/test_file_io.c tests/*.tpl tests/*.c
4795 If HAVE_UNISTD_H include <unistd.h> else include <sf_unistd.h>. This should
4796 work for Win32, MinGW and other fakes Unix-like OSes.
4799 Removed #include <unistd.h> from files which didn't need it.
4801 2003-09-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4803 * libsndfile.spec.in
4804 Apply fix from Andrew Schultz.
4806 2003-09-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4809 Only set psf->sf.samplerate if the existing value is invalid.
4811 2003-09-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4813 * examples/sndfile-play.c
4814 Started adding support for ALSA output.
4816 2003-09-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4819 Removed <stdlib.h> from sndfile.h.
4821 * src/*.c examples/*.c tests/*.c tests/*.tpl
4822 Added <stdlib.h> where needed.
4824 2003-09-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4827 Added ARRAY_LEN, SF_MAX and SF_MIN macros.
4829 2003-08-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4832 Remove statements about alternative licensing arrangements.
4834 2003-08-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4836 * MacOS MacOS9 Makefile.am configure.ac
4837 Change directory name from MacOS to MacOS9
4839 * MacOS9/MacOS9-readme.txt
4840 Change name to make it really obvious, add text to top of file to make it
4841 still more obvious again.
4843 2003-08-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4845 * src/test_log_printf.c
4846 Add tests for %u conversions.
4849 Fix psf_log_printf() %u conversions.
4851 2003-08-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4854 Fixed a bug where opening a file with a non-trival header in SFM_RDWR mode
4855 would over-write part of the header. Thanks to Axel Röbel for pointing
4856 this out. Axel also provided a patch to fix this but I came up with a
4857 neater and more general solution.
4858 Return error when openning an AIFF file with data after the SSND chunk
4859 (Thanks Axel Röbel).
4861 * tests/aiff_rw_test.c
4862 Improvements to test program which will later allow it to be generalised to
4863 test WAV, SVX and others as required.
4865 2003-08-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4868 Add useek_pipe_rw_test() submitted by Russell Francis.
4871 In sf_open_fd(), check if input file descriptor is a pipe.
4874 Fix typo in variable name do_not_close_descriptor.
4876 2003-08-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4878 * src/test_log_printf.c
4879 Improve the tests for %d and %s conversions.
4882 Fixed a few problems in psf_log_printf() found using new tests.
4884 2003-08-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4887 Add -Wwrite-strings warning to CFLAGS if the compiler is GCC. Thanks to
4888 Peter Miller (Aegis author) for suggesting this and supplying a patch.
4890 * src/*.c examples/*.c tests/*.c
4891 Fix all compiler warnings arising from the above.
4893 2003-08-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4895 * tests/aiff_rw_test.c tests/Makefile.am
4896 New test program to check for errors re-writing the headers of AIFC files
4897 opened in mode SFM_RDWR.
4899 2003-07-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4901 * examples/sndfile-play.c
4902 Applied a patch from Tero Pelander to allow this program to run on systems
4903 using devfs which used /dev/sound/dsp instead of /dev/dsp.
4905 2003-07-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4907 * doc/new_file_type.HOWTO
4908 Updated document. Still incomplete.
4910 2003-06-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4913 Fix VALIDATE_SNDFILE_AND_ASSIGN_PSF which was returning an error rather
4914 than saving it and returning zero.
4916 2003-06-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4919 Two fixes for Mac OS9.
4920 Fix all casts from sf_count_t to ssize_t (not size_t).
4922 2003-06-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4925 Fix for reading files with RIFF length of 8 and data length of 0.
4927 2003-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4929 * src/*.c tests/*.c tests/*.tpl
4930 Added comments to mark code for removal when make Lite version of
4933 2003-06-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4935 * examples/sndfile-convert.c
4936 Add extra error checking for unrecognised arguments.
4938 2003-06-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4941 Started adding code to write IMA ADPCM encoded AIFF files.
4943 * src/test_log_printf.c src/Makefile.am
4944 New file to test psf_log_printf() function and add hooks into build system.
4947 Move psf_log_printf() function to top of the file and only compile the rest
4948 of the file if if PSF_LOG_PRINTF_ONLY is not defined.
4950 2003-06-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4952 * Win32/config.h Win32/sndfile.h
4953 Updated with new config variables.
4955 * Win32/unistd.h src/file_io.c
4956 Added implementation of S_ISFIFO macro which Win32 seems to lack and is
4957 used in src/file_io.c.
4960 Added #include <unitstd.h> to pull in Win32/unistd.h so it compiles for
4964 Added src\test_file_io.exe build target and run this as the very first
4967 * tests/win32_test.c
4968 Add support for testing Cygwin32.
4971 Detect POSIX fsync() and fdatasync() functions.
4974 If compiling for Cygwin, call fsync() before calling fstat() to retrieve
4977 * tests/pcm_test.tpl
4978 Add a test for lrintf() function. This was required to detect a really
4979 broken lrint() and lrintf() on Cygwin.
4982 Don't run permission test when compiling under Cygwin.
4985 Fix fallback macro for lrint() and lrintf() to cast to long instead of int
4986 to match official function prototypes.
4988 2003-06-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4990 * examples/sndfile-convert.c
4991 Modifications to improve accuracy of conversions; use double data for
4992 floating point and int for everything else.
4995 Completed work on decoding IMA ADPCM encoded AIFF files. Still need to
4996 get encoding working.
4998 2003-05-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5000 * src/aiff.c src/ima_adpcm.c
5001 Start working on getting IMA ADPCM encoded AIFF files working.
5003 2003-05-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5006 Fixed the touch command for when the autogen program is not found (Matt
5009 * src/ulaw.c src/alaw.c
5010 Made these pipe-able.
5012 2003-05-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5014 * src/paf.c src/ircam.c
5015 Fixed writing to pipe.
5017 * src/wav.c src/aiff.c src/nist.c src/mat*.c src/svx.c src/w64.c
5018 Return SFE_NO_PIPE_WRITE if an attempt is made to write to a pipe.
5020 2003-05-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5022 * examples/sndfile-info.c
5023 Modified to detect unknown file lengths.
5026 Fix reading from a pipe.
5028 2003-05-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5031 Add more file types to tests.
5034 Removed explicit setting of psf->sf.seekable to SF_TRUE.
5037 Add macro for generating and check data in the stdio and pipe tests.
5039 * tests/stdout_test.c tests/stdin_test.c
5040 Use the above macro to generate known data on output and check data on
5043 * src/voc.c src/htk.c common.h sndfile.c
5044 Disallow reading/writing VOC and HTK files from/to pipes be returning new
5048 Fixes to allow reading from a pipe.
5050 2003-05-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5052 * configure.ac src/sndfile.h.in
5053 When the configure script determines the sizeof (sf_count_t), also set the
5054 value of SF_COUNT_MAX in sndfile.h.
5057 Remove -pedantic flag from default GCC compiler flags.
5060 Add a pipe_read_test() before doing pipe_write_test().
5062 * tests/scale_clip_test.c
5063 Add test to make sure non-normalized values also clip in the right way.
5065 2003-05-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5068 Add test to detect processor clipping capabilities.
5070 * tests/stdin_test.c tests/stdout_test.c
5071 Fix a pair of compiler warnings.
5074 Add new pipeoffset field to SF_PRIVATE. This will contain the current file
5075 offset when operating on a pipe.
5078 Removed direct calls to psf_fread()/psf_fseek()/psf_fgets() etc from
5079 psf_binheader_readf and redirect them to new buffered versions
5080 header_read(), header_seek() and header_gets().
5081 Add "G" format specifier to emulate fgets() functionality with buffering.
5082 This will allow reading some file types from pipes.
5085 When the file descriptor is a pipe, manintain psf->pipeoffset.
5088 Change use of psf_fgets() to psf_binheader_readf() as required but changes to header re
5091 Fix reading from a pipe.
5093 2003-05-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5096 Add clipping versions of the f2XXX_array() functions to allow option of
5097 clipping data that would otherwise overflow.
5099 * tests/scale_clip_test.tpl tests/scale_clip_test.def
5100 New files test that clipping option does actually work.
5102 2003-05-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5105 Fixed a typo ("OS(" instead of "OS9").
5107 2003-05-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5109 * tests/open_fail_test.c
5110 Include <string.h> to prevent warning message of missing declaration of
5113 2003-05-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5116 Add new "add_clipping" field to SF_PRIVATE.
5118 * src/sndfile.h.in src/sndfile.c
5119 Add command SFC_SET_CLIPPING which sets/resets add_clipping field.
5121 2003-05-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5124 Add docs for sf_set_string() and sf_get_string().
5126 * src/common.h src/sndfile.c
5127 Add new SFE_STR_BAD_STRING error.
5129 * tests/stdin_test.c tests/stdout_test.c
5130 Removed all non-error print statements.
5132 * tests/stdio_test.c tests/pipe_test.c tests/Makefile.am
5133 Add print statements removed from two files above.
5135 2003-05-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5137 * libsndfile.spec.in
5138 Fixed a coulpe of minor errors discovered by someone calling themselves
5141 * src/common.c src/common.h src/file_io.h
5142 Added is_pipe field to SF_PRIVATE and declaration of psf_is_pipe()
5143 function. (Axel Röbel)
5146 Fixed determination of whether the file is a pipe. (Axel Röbel)
5149 Force paf24 to start with undefined mode. (Axel Röbel)
5152 Mods to make this test work and actually do the test on RAW files. (Axel
5155 2003-05-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5158 Fixed a potential bug where psf->sf.seekable was being set to FALSE when
5159 operating on stdin or stdout but then the default initialiser was reseting
5160 it to TRUE. Thanks to Axel Röbel.
5163 Fixed a bug in the header parser where it was not handling an odd length
5164 COMM chunk correctly. Thanks to Axel Röbel.
5166 * src/test_file_io.c
5169 * tests/win32_test.c
5170 New file for showing the bugs in the Win32 implementation of the POSIX API.
5171 It also runs on Linux for sanity checking.
5173 * tests/Makefile.am Win32/Makefile.msvc
5174 Hook the new test program into the build system.
5176 2003-05-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5178 * src/test_file_io.c
5179 New test program to test operation of functions defined in file_io.c. This
5180 should make supporting win32 significantly easier.
5183 Hook new test program into the build system.
5186 Add compile/run time check that sizeof statbuf.st_size and sf_count_t are
5189 * src/common.h src/sndfile.c
5190 Added new error code and error message for new check.
5192 * tests/benchmark.tpl
5193 Fix to use frames instead of samples in SF_INFO.
5195 2003-05-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5198 More stuffing about working around PLAIN OLD-FASHIONED **BUGS** in Win32.
5200 * examples/sndfile-info.c
5201 Applied patch from Conrad Parker to add "--help" and "-h" options as
5202 well as an improved usage message.
5204 2003-05-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5207 Added embedded file support.
5209 * tests/multi_file_test.c
5210 Added tests for embedded AU files.
5211 Added verbose testing mode.
5213 * src/common.h src/sndfile.c
5214 Added an embedded AU specific error code and message.
5217 Added patch from Conrad Parker which filled in a little more information
5218 about ACIDized WAV files.
5220 2003-04-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5223 Fixed Win32 version of psf_fseek() which was calling psf_get_filelen()
5224 which was in turn calling psf_fseek() which in the end blew the stack.
5225 Now of course this would have been easy to find on Linux, but this blow
5226 up was happening in kernel32.dll and the fscking MSVC++ debugger couldn't
5227 figure out what call caused this (it couldn't even tell me the stack had
5228 overflowed) and was absolutley useless for this debugging exercise.
5229 On top of that, the reason I got into this mess was that windoze doesn't
5230 have a working fstat() function which can return file lengths > 2 Gig. It
5231 HAS a fscking _fstati64() but the file length value is only updated AFTER
5232 the bloody file is closed. That makes it completely useless.
5233 How the hell do people stand working on this crap excuse of an OS?
5235 2003-04-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5237 * Win32/unistd.h src/file_io.c
5238 Moved definitions of S_IGRP etc from file_io.c to unistd.h so that these
5239 can be used in the test programs.
5241 * Win32/libsndfile.def
5245 Updated to match src/sndfile.h.in.
5247 * Win32/Makefile.msvc
5248 Added dither.c and htk.c to libsndfile.dll target.
5250 2003-04-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5253 First attempt at getting the Win32 versions of the these functions working.
5254 They still need to be tested.
5256 2003-04-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5259 Found and fixed a bug which was causing psf_store_string() to fail on
5260 Motorola 68k processors. Many thanks fo Joshua Haberman (Debian maintainer
5261 of libsndfile) for compiling and running debug code to help me debug the
5264 2003-04-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5266 * src/sndfile.c src/file_io.c src/wav.c src/aiff.c
5267 Much hacking to get reading and writing of embedded files working (ie sound
5268 files at a non-zero files offset).
5270 * doc/embedded_files.html
5271 First pass atempt at documenting reading/writing embedded files.
5273 2003-04-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5276 Updated answer to "Why doesn't libsndfile do interleaving/de-interleaving?"
5278 2003-04-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5280 * src/wav.c src/aiff.c
5281 Fix retrieving and storing of string data from files. Need to be careful
5282 about using psf->buffer for strings.
5284 2003-04-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5287 Fix psf_fseek() for seeks withing embedded files.
5289 2003-04-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5292 Changed the definition of SNDFILE slightly to produce warnings when it isn't
5293 used correctly. This should have zero affect in code which uses the SNDFILE
5297 Fixed a few compiler warnings cause by the changes to the SNDFILE type.
5299 2003-04-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5302 Added question and answer to the question "How about adding the ability
5303 to write/read sound files to/from memory buffers?".
5305 2003-04-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5307 * tests/write_read_test.tpl
5308 Removed un-needed enums declaring TRUE and FALSE and replaced usage of
5309 these with SF_TRUE and SF_FALSE.
5311 * tests/multi_file_test.c
5312 New test program to test sf_open_fd() on files containing data other than
5313 a single sound file.
5315 2003-04-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5318 When creating files, set the readable by others flag. This still allows
5319 further restrictions to be enforced by use of the user's umask. Fix
5320 suggested by Eric Lyon.
5322 2003-04-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5324 * src/sndfile.h.in src/sndfile.c
5325 Changed sf_open_fd(). Dropped offset parameter and added a close_desc
5326 parameter. If close desc is TRUE, the file descritpor passed into the
5327 library will be closed when sf_close() is called.
5330 Modified call to sf_open_fd() to set close_desc parameter to SF_TRUE.
5332 2003-04-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5334 * tests/write_read_test.tpl
5335 Add a string (using sf_set_string() function) before and after data section
5336 of all files. This will make sure that if string data can be added, it
5337 doesn't overwrite real audio data.
5339 2003-04-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5342 Started work on supporting a non-zero offset parameter for sf_open_fd ().
5344 * src/<file header parsers>.c
5345 Removed many uses of psf_fseek (SEEK_END) which to allow for future use of
5346 sf_open_fd() with non-zero offset.
5347 Associated refactoring.
5350 Implemented functionality required to get sf_get_string() and
5351 sf_set_string() working for AIFF files.
5353 2003-04-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5356 Modified test_open_file_or_die() to alternately use sf_open() and
5360 Fixed a bug which occurred when openning an existing file for read/write
5361 using sf_open_fd(). In this case, the existing NAME chunk needs to be
5362 read into psf->filename.
5363 Fixed printing of sf_count_t types to logbuffer.
5365 2003-03-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5368 Added prototype for new function sf_open_fd().
5371 Moved most of the code in sf_open() to a new function psf_open_file().
5372 Created new function sf_open_fd() which also uses psf_open_file() but
5373 does not currently support the offset parameter.
5376 Document sf_open_fd().
5378 2003-03-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5381 Fixed a memory leak reported by Evgeny Karpov. Memory leak only occurred
5382 when an attempt was made to read and the open() call fails.
5384 2003-03-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5386 * tests/open_fail_test.c
5387 New test program to check for memory leaks when sf_open fails on a valid
5388 file. Currently this must be run manually under valgrid.
5391 Hook new test program into build.
5393 2003-03-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5395 * Octave/sndfile_save.m Octave/sndfile_play.m
5396 Added a -mat-binary option to the octave save command to force the output
5397 to binary mode even if the user has set ascii data as the default. Found
5398 by Christopher Moore.
5400 2003-02-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5403 New file which will document the interface which allows the addition of
5404 audio dither when sample word sizes are being reduced.
5409 2003-02-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5412 In update_header_test(), make HTK files a special case.
5415 Added HTK to the feature matrix.
5417 2003-02-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5420 New file for reading/writing HMM Tool Kit files.
5422 * src/sndfile.h.in src/sndfile.c src/command.c src/Makefile.am
5425 * tests/write_read_test.tpl tests/misc_test.c tests/Makefile.am
5426 Add tests for HTK files.
5428 2003-02-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5431 Fixed a bug where the LIST chunk length was being written incorrectly.
5433 * tests/string_test.c
5434 Added call to check_log_buffer().
5437 2003-02-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5440 Applied patch from Antoine Mathys to add extra WAV format definitions and
5441 a G72x_ADPCM_WAV_FMT struct definition.
5444 Applied patch from Antoine Mathys which converts wav_w64_format_str() from
5445 one huge inefficient switch statement to a binary search.
5447 * tests/string_test.c
5448 Dump log buffer if tests fail.
5450 2003-02-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5452 * tests/string_test.c
5453 David Viens supplied some modifications to this file which showed up a bug
5454 when using sf_set_string() and the sf_writef_float() functions.
5457 Fixed the above bug.
5459 2003-02-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5462 Added Q and A on how to detect libsndfile in configure.in (at the suggestion
5465 2003-02-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5468 Add enums and typedefs for dither.
5469 Deprecate SFC_SET_ADD_DITHER_ON_WRITE and SFC_SET_ADD_DITHER_ON_READ, to be
5470 replaced with SFC_SET_DITHER_ON_WRITE and SFC_SET_DITHER_ON_READ which will
5471 allow different dither algorithms to be enabled.
5472 Added SFC_GET_DITHER_INFO_COUNT and SFC_GET_DITHER_INFO.
5474 * src/sndfile.h.in src/Version_script.in Win32/libsndfile.def.
5475 Added public sf_dither_*() functions.
5478 Implement commands above.
5481 More work. Framework and external hooks into dither algorithms complete.
5483 2003-02-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5485 * doc/version-1.html libsndfile_version_convert.py
5486 Remove redundant files.
5488 * doc/index.html doc/api.html
5489 Remove links to version-1.html.
5492 New file to allow the addition of audio dither on input and output.
5495 Add prototype for dither_init() function.
5497 * Makefile.am doc/Makefile.am
5498 Changes for added and removed files.
5500 2003-02-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5502 * Win32/Makefile.msvc
5503 Changes to force example binaries to be placed in the top level directory
5504 instead of the examples/ directory.
5505 Add src/strings.c and src/xi.c to the build.
5506 Add string_test to build and to tests on WAV files.
5509 Added XI to support matrix.
5511 2003-01-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5514 Added prototypes for sf_get_string() and sf_set_string() and SF_STR_*
5518 Added public interface to sf_get_string() and sf_set_string().
5521 Added code for setting and getting strings in WAV files.
5523 * tests/string_test.c
5524 New test program for sf_get_string() and sf_set_string() functionality.
5527 Hook new test program into build and test framework.
5529 2003-01-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5532 Added fields to SF_PRIVATE for string data needed to implement
5533 sf_get_string() and sf_set_string().
5536 New file for storing and retrieving strings to/from files.
5539 Added strings.c to build.
5541 2003-01-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5544 Read seems to be working so looking at write.
5547 Added SF_FORMAT_XI, SF_FORMAT_DPCM_8 and SF_FORMAT_DPCM_16 enum values.
5549 * tests/floating_point_test.c tests/lossy_comp_test.c tests/Makefile.am
5550 Added test for 8 and 16 bit XI format files.
5552 2003-01-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5555 Added a non-lawyer readable summary of the licensing provisions as
5556 suggested by Steve Dekorte.
5558 2003-01-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5561 Fixed a compiler warning found by Alexander Lerch.
5563 2003-01-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5566 Fixed the multiple linking of libm.
5568 2003-01-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5570 * Win32/Makefile.mcvs
5571 Added comments on the correct way to set up the MSVCDir environment
5575 Add on how to set up the MSVCDir environment variable.
5577 2003-01-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5579 * examples/sndfile-play.c examples/sndfile-info.c
5580 When run on Win32 without any command line parameters print a message and
5581 then sleep for 5 seconds. This means the when somebody double clicks on
5582 these programs in explorer the user will actually see the message.
5584 2003-01-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5587 Bypass permission test if running as root because root is allowed to open
5588 a readonly file for write.
5590 2003-01-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5592 * Win32/Makefile.msvc
5593 Added pvf.c and xi.c source files to project.
5596 Updated for PVF files.
5598 2003-01-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5601 Modified validate_sfinfo() to force samplerate, channels and sections
5603 In format_from_extension() replaced calls to does_extension_match()
5609 2003-01-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5612 Added octave.html which had been left out. Found by Jan Weil.
5614 2003-01-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5616 * src/pvf.c src/common.h src/sndfile.c
5617 Fixed error handling for PVF files.
5620 New file for handling Fasttracker 2 Extended Instrument files. Not working
5621 yet and included when configured with --enable-experimental.
5623 * src/sndfile.c src/common.h
5624 Hooked in new file xi.c.
5626 2002-12-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5629 Added a patch from Marek Peteraj which sheds a little more light on the
5630 slices within an RX2 file. Still need to find out data encoding.
5632 2002-12-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5635 Started work on decoding 'acid' and 'strc' chunks.
5637 2002-12-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5639 * tests/peak_check_test.c
5642 2002-12-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5644 * tests/write_read_test.tpl
5645 Added check to make sure no error was generated when an attempt was made to
5646 read past the end of the file.
5648 2002-12-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5651 Added "mailto" links for all three lists.
5654 New file for Portable Voice Format files.
5656 * src/sndfile.h.in src/sndfile.c src/common.h src/command.c src/Makefile.am
5657 Added hooks for SF_FORMAT_PVF format files.
5659 * tests/write_read_test.tpl tests/std*.c
5660 Add tests for SF_FORMAT_PVF.
5663 Add PVF to the compatibility matrix.
5665 * src/pcm.c src/alaw.c src/ulaw.c src/float32.c src/double64.c
5666 Previously, attempts to read beyond the end of a file would set psf->error
5667 to SFE_SHORT_ERROR. This behaviour diverged from the behaviour of the POSIX
5668 read() call but has now been fixed.
5669 Attempts to read beyond the end of the file will return a short read count
5670 but will not longer set any error.
5672 2002-12-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5675 Add more sanity checking when opening a RAW file for read. When format is
5676 not RAW, zero out all members of the SF_INFO struct.
5679 Add bad_raw_test() to check for above problem.
5681 * tests/stdin_test.c examples/sndfile-info.c
5682 Set the format field of the SF_INFO struct to zero before calling
5686 Add information about the need to set the format field of the SF_INFO struct
5687 to zero when opening non-RAW files for read.
5690 Removed use of conversion script on Solaris. Not all Solaris versions
5694 New file containg details of the mailing lists.
5697 Add a link to the above new file.
5699 2002-12-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5702 Fixed a SIGFPE on Alpha caused by a log10 (0.0). Thanks to Joshua Haberman
5703 for providing the gdb traceback.
5705 2002-11-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5708 Added more capabilities to 'smpl' chunk parser.
5711 Fixed some (not all) possible problems found with Flawfinder.
5713 2002-11-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5716 Fixed a bug in sf_seek(). This bug could only occur when an attempt was
5717 made to read beyond the end and then sf_seek() was called with a whence
5718 parameter of SEEK_CUR.
5721 Win32's _fstati64() does not work, it returns BS. Re-implemented
5722 psf_get_filelen() in terms of psf_fseek().
5724 * tests/write_read_test.tpl
5725 Add a test to detect above bug.
5728 Modification to prevent compiler warnings on Mac OS X.
5731 Fixes for windows (what a f**ked OS).
5733 2002-11-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5736 Disable use of native lrint()/lrintf() on Mac OSX. These functions exist on
5737 Mac OSX 10.2 but not on 10.1. Forcing the use of the versions in
5738 src/float_cast.h means that a library compiled on 10.2 will still work on
5741 2002-11-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5743 * configure.in configure.ac
5744 Renamed configure.in to configure.ac as expected by later versions of
5746 Slight hacking of configure.ac to work with version 2.54 of autoconf.
5747 Changed to using -dumpversion instead of --version for determining GCC
5748 version numer as suggested by Anand Kumria.
5750 * src/G72x/Makefile.am
5751 Slight hacking required for operation with automake 1.6.3.
5753 2002-11-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5756 In psf_binheader_readf() changed type parameter type "b" type from size_t
5757 to int to prevent errors on IA64 CPU where sizeof (size_t) != sizeof (int).
5758 Thanks to Enrique Robledo Arnuncio for debugging this.
5760 2002-11-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5762 * test/command_test.tpl
5763 Changed test value so test would pass on Solaris.
5765 * src/Version_script.in
5766 Modified version numbering so that later versions of 1.0.X can replace
5767 earlier versions without recompilation.
5770 Fixed bug causing short reads.
5772 2002-11-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5774 * test/floating_point_test.c
5775 Code cleanup using functions from util.c.
5776 Add test for IEEE replacement floats and doubles.
5778 2002-11-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5781 Fixed a possible divide by zero error when read the 'smpl' chunk. Thanks to
5782 Serg Repalov for the example file.
5784 * tests/pcm_test.tpl
5785 Used sf_command (SFC_TEST_IEEE_FLOAT_REPLACE) to test IEEE replacement code.
5786 Clean up pcm_double_test().
5788 * src/float32.c src/double64.c
5789 Force use of IEEE replacement code using psf->ieee_replace is TRUE,
5790 Print message to log_buffer as well.
5791 Rename all broken_read_* and broken_write* functions to replace_read_* and
5795 Added string_in_log_buffer().
5797 * tests/pcm_test.tpl
5798 Use string_in_log_buffer() to ensure that IEEE replacement code has been
5802 Removed --enable-force-broken-float option. IEEE replacement code is now
5805 2002-10-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5808 Implement code for read/writing IEEE doubles on platforms where the native
5809 double format is not IEEE.
5811 * src/float32.c src/common.h
5812 Remove float32_read() and float32_write(). Replace with float32_le_read(),
5813 float32_be_read(), float32_le_write() and float32_be_write() to match stuff
5817 Fix all usage of float32_write().
5820 Added SFC_TEST_IEEE_FLOAT_REPLACE command (testing only).
5823 Added SF_PRIVATE field ieee_replace.
5826 In sf_command() set/reset psf->ieee_replace.
5828 2002-10-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5830 * tests/pcm_test.tpl
5831 Fixed a problem when testing with --enable-force-broken-float. The test was
5832 generating a value of negative zero and the broken float code is not able
5833 to write negative zero. Removing the negative zero fixed the test.
5835 2002-10-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5838 Added fix for Cygwin (suggested by Maros Michalik).
5840 2002-10-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5843 Improved error detection and handling.
5845 * src/file_io.c src/common.h
5846 Removed functions psf_ferror() and psf_clearerr() which were redundant
5847 after above improvements.
5849 * src/aiff.c src/svx.c src/w64.c src/wav.c
5850 Removed all use of psf_ferror() and psf_clearerr().
5853 Removed #include of <stdio.h>, <unistd.h>, <fcntl.h> and <math.h> which
5854 are no longer needed.
5857 Added test to make sure the correct error message is returned with an
5858 existing read-only file is openned for write.
5860 2002-10-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5862 * doc/index.html doc/api.html
5863 Updated for OKI Dialogic ADPCM files.
5866 Added VOX ADPCM to sub_fomats.
5868 2002-10-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5870 * src/vox_adpcm.c src/Makefile.am
5871 New file for handling OKI Dialogic ADPCM files.
5874 Add new subtype SF_FORMAT_VOX_ADPCM.
5877 Renamed function is_au_snd_file () to format_from_extenstion () and expanded
5878 its functionality to detect headerless VOX files.
5881 Added hooks for SF_FORMAT_VOX_ADPCM.
5883 * examples/sndfile-info.c
5884 Print out file duration (suggested by Conrad Parker).
5886 * libsndfile.spec.in
5887 Force installation of sndfile.pc file (found by John Thompson).
5889 * tests/Makefile.am tests/lossy_comp_test.c tests/floating_point_test.c
5890 Add tests for SF_FORMAT_VOX_ADPCM.
5892 2002-10-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5895 Add test which attempts to write to /dev/full (on Linux anyway) to check
5896 for correct handling of writing to a full filesystem.
5899 Return correct error message if the header cannot be written because the
5903 Corrected printing of file mode in error reporting.
5906 Fixed a bug where a MAT5 file written by libsndfile could not be opened by
5909 2002-10-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5911 * src/common.h src/file_io.c
5912 All low level file I/O have been modified to be better able to report
5913 system errors resulting from calling system level open/read/write etc.
5916 Updated for compatibility with above changes.
5918 * examples/cooledit-fixer.c
5919 New example program which fixes badly broken file created by Syntrillium's
5920 Cooledit which are marked as containing PCM samples but actually contain
5921 floating point data.
5923 * examples/Makefile.am
5924 Hooked cooledit-fixer into the build system.
5926 2002-10-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5929 Document SFC_GET_FORMAT_INFO.
5931 2002-10-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5933 * examples/wav32_aiff24.c examples/sndfile2oct.c examples/sfhexdump.c
5935 Removed these files because they weren't interesting.
5937 * examples/sfconvert.c examples/sndfile-convert.c
5938 Renamed the first to the latter.
5940 * examples/Makefile.am
5941 Added sndfile-convert to the bin_PROGRAMS, so it is installed when the lib
5943 Removed old programs wav32_aiff24 and sndfile2oct.
5945 * man/sndfile-convert.1
5948 * examples/sndfile-convert.c
5949 Added some gloss now that sndfile-convert.c is an installed program.
5951 * src/sndfile.h.in src/sndfile.c src/common.h src/command.h
5952 Added command SFC_GET_FORMAT_INFO.
5954 * tests/command_test.c
5955 Added tests form SFC_GET_FORMAT_INFO.
5957 2002-10-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5960 In sf_format_check() return error if samplerate < 0.
5962 2002-10-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5965 Fixed bug in handling of COMM chunks with a 4 byte encoding byte but no
5968 2002-10-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5971 Fixed repeated word in an error message.
5973 2002-10-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5976 Improved advertising in Features section.
5978 2002-10-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5981 Added decoding of 'labl' chunks within 'LIST' chunks.
5984 Added (experimental only) SF_FORMAT_OGG and SF_FORMAT_VORBIS and definition
5985 of ogg_open(). This is nowhere near working yet.
5988 Added detection of 'OggS' file marker and added call to ogg_open() to
5992 New file. Very early start of Ogg Vorbis support.
5995 Added handling of brain-damaged and broken Cooledit "32 bit 24.0 float
5996 type 1" files. These files are marked as being 24 bit WAVE_FORMAT_PCM with
5997 a block alignment of 4 times the numbers of channels but are in fact 32 bit
6000 2002-10-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6003 Modified option --enable-experimental to set ENABLE_EXPERIMENTAL_CODE in
6004 config.h to either 0 or 1.
6007 Modify sf_command (SFC_GET_LIB_VERSION) to append "-exp" to the version
6008 string if experimental code has been enabled.
6010 2002-10-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6013 Added -lm to libsndfile_la_LIBADD. This means that -lm is not longer needed
6014 in the link line when linking something to libsndfile.
6016 * tests/Makefile.am examples/Makefile.am
6017 Removed -lm from all link lines.
6020 Removed -lm from Libs line.
6022 2002-09-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6025 Removed all perror() calls.
6028 Removed calls to exit() function.
6029 Added check to detect NIST files dammaged from Unix CR -> Win32 CRLF
6032 2002-09-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6034 * src/sndfile.h.in src/sndfile.c
6035 New function sf_strerror() which will eventually replace functions
6036 sf_perror() and sf_error_str().
6037 Function sf_error_number() has also been changed, but this was documented
6038 as being for testing only.
6041 Documented above changes.
6043 * tests/*.c examples/*.c
6044 Changed to new error functions.
6046 2002-09-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6049 Detect GCC version, and print a warning message about writeable strings
6050 it GCC major version number is less than 3.
6052 2002-09-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6054 * src/sndfile.h.in doc/api.html
6055 Documentation fixes.
6057 2002-09-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6059 * src/Version_script.in src/Makefile.am configure.in
6060 Use the version script to prevent the exporting of all non public symbols.
6061 This currently only works with Linux. Will test on Solaris as well.
6064 Added #ifndef to prevent the #warning directives killing the SGI MIPSpro
6067 * src/au_g72x.c src/double64.c src/float32.c src/gsm610.c src/ima_adpcm.c
6069 Fix benign compiler warnings arising from previously added compiler
6072 2002-09-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6075 Fixed a bug in sf_error_str() where errnum was used as the index instead
6076 of k. Found by Tim Hockin.
6078 * examples/sndfile-play.c
6079 Fixed a compiler warning resulting from a variable shadowing a previously
6082 2002-09-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6084 * src/sndfile.h.in src/sndfile.c
6085 Added command SFC_SET_RAW_START_OFFSET.
6088 Document SFC_SET_RAW_START_OFFSET.
6090 * tests/raw_test.c tests/Makefile.am
6091 Add new file for for testing SF_FORMAT_RAW specific functionality.
6096 2002-09-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6099 Modified reading of 'smpl' chunk to take account of the sampler data field.
6101 * tests/utils.tpl tests/utils.h
6102 Added function print_test_name().
6104 * tests/misc_test.c tests/write_read_test.tpl tests/lossy_comp_test.c
6105 tests/pcm_test.tpl tests/command_test.tpl tests/floating_point_test.c
6106 Convert to use function print_test_name().
6108 2002-09-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6111 Added a link to some other Octave scripts for reading and writing sound
6115 Change type of dummy data field to int. This should fix a benign compiler
6116 warning on some CPUs.
6117 Removed superfluous casts resulting from the above change.
6122 2002-09-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6124 * src/mat5.c src/common.c
6125 Changed usage of snprintf() to LSF_SNPRINTF().
6127 * Win32/Makefile.msvc
6128 Updated to include new files and add new tests.
6130 * Win32/config.h Win32/sndfile.h
6134 Added note about the possibility of "missing" features actually being
6135 implemented as an sf_command().
6137 2002-09-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6140 Added previously missing update_header_test and zero_data_tests for PAF,
6141 MAT4 and MAT5 formats.
6143 * src/paf.c src/mat4.c src/mat5.c
6144 Fixed bugs uncovered by new tests above.
6147 Generalised parsing of name fields of MAT5 files.
6149 * src/mat5.c src/sndfile.c
6150 Added support for unsigned 8 bit PCM MAT5 files.
6152 * tests/write_read_test.tpl
6153 Added test for unsigned 8 bit PCM MAT5 files.
6156 Added unsigned 8 bit PCM MAT5 to capabilities matrix.
6158 2002-09-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6160 * test/update_header_test.c tests/misc_test.c
6161 Renamed update_header_test.c to misc_test.c.
6162 Added zero_data_test() to check for case where file is opened for write and
6163 closed immediately. The resulting file can be left in a state where
6164 libsndfile cannot open it. Problem reported by Werner Schweer, the author
6168 Removed superfluous cast.
6170 * src/wav.c src/svx.c
6171 Fixed case of file generated with no data.
6172 Removed superfluous cast.
6175 Fixed error on IA64 platform caused by incorrect termination of
6176 SndfileErrors struct array. This problem was found in the Debian buildd
6177 logs (http://buildd.debian.org/).
6180 Added Octave directory.
6182 * Octave/Makefile.ma
6183 New Makfile.am for Octave directory.
6185 * Octave/sndfile_load.m Octave/sndfile_save.m Octave/sndfile_play.m
6186 New files for working with Octave.
6189 Document explaining the use of the above three Octave scripts.
6191 2002-09-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6194 Fixed bug in RDWR mode.
6196 2002-09-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6199 Fixed psf_get_date_str() for systems which don't have gmtime_r() or
6203 Added #include <io.h> for Win32. Reported by Koen Tanghe.
6205 2002-09-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6208 Added 'S' format specifier for psf_binheader_writef() which writes a C
6209 string, including single null terminator to the header.
6210 Added 'j' format specifier to allow jumping forwards or backwards in the
6212 Added function psf_get_date_str().
6215 Complete read and write support.
6218 Added entries for MAT4 and MAT5 in capabilities matrix.
6220 2002-09-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6223 Completed read and write support.
6225 * src/common.h src/sndfile.c
6226 Added MAT4 and MAT5 specific error messages.
6228 * tests/write_read_test.tpl tests/Makefile.am
6229 Added tests for MAT4 and MAT5 files.
6231 * tests/stdio_test.c tests/stdout_test.c tests/stdin_test.c
6232 Added tests for MAT4 and MAT5 files.
6234 2002-09-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6237 Added elements for SF_FORMAT_MAT4 and SF_FORMAT_MAT5 to major_formats
6240 * examples/sfconvert.c
6241 Added mat4 and mat5 output targets.
6243 2002-09-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6246 Added check to prevent errors openning read only formats for read/write.
6249 New file for interleaving non-interleaved data. Non-interleaved data is
6250 only supported on read.
6253 Added src/interleave.c to build.
6255 2002-09-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6257 * src/double64.c src/common.h
6258 Added double64_be_read(), double64_le_read(), double64_be_write() and
6259 double64_le_write() which replace double64_read() and double64_write().
6262 Cleanup of psf_binheader_readf() and add ability to read big and little
6263 endian doubles (required by mat4.c and mat5.c).
6264 Add ability for psf_binheader_writef() to write doubles to sound file
6267 2002-09-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6270 New file for reading Matlab (tm) version 5 data files. This is also the
6271 native binary file format for version 2.1.X of GNU Octave which will be
6276 New file for reading Matlab (tm) version 4.2 data files. This is also the
6277 native binary file format for version 2.0.X of GNU Octave which will be
6281 * src/sndfile.h.in src/sndfile.c src/common.h src/command.c src/Makefile.am
6282 Mods to add Matlab files.
6285 Added readf_endian field to SF_PRIVATE struct allowing endianness to
6286 remembered across calls to sf_binheader_readf().
6287 Fixed bug in width_specifier behaviour for printing hex values.
6289 2002-08-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6292 Check return value of close() call in psf_fclose().
6294 2002-08-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6297 Commented out some code where 0x10000 was being subtracted from a short
6298 and the result assigned to a short again. Andrew Zaja found this.
6300 2002-08-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6303 Fixed typo found by Tommi Ilmonen.
6306 Changed type of diff from short to int to prevent errors which can occur
6307 during very rare circumstances. Thanks to FUWAFUWA.
6309 2002-08-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6311 * tests/floating_point_test.c
6312 Disable testing on machines without lrintf().
6314 * Win32/Makefile.msvc
6315 Added dwd.c and wve.c to build.
6318 Bumped version to 1.0.0.
6320 2002-08-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6323 Add a #include for Mac OS 9. Thanks to Stephane Letz.
6326 Changed an snprintf to LSF_SNPRINTF.
6329 Added version-1.html.
6331 2002-08-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6334 Bumped version to 1.0.rc6.
6337 Modified scaling of normalised floats and doubles to integers. Until now
6338 this has been done by multiplying by 0x8000 for short output, 0x80000000
6339 for 32 bit ints and so on. Unfortunately this can cause an overflow and
6340 wrap around in the target value. All thes values have therefore been
6341 reduced to 0x7FFF, 0x7FFFFFFF and so on. The conversion from ints to
6342 normalised floats and doubles remains unchanged. This does mean that for
6343 repeated conversions normalised float -> pcm16 -> normalised float would
6344 result in a decrease in amplitude of 0x7FFF/0x8000 on every round trip.
6345 This is undesirable but less undesireable than the wrap around I am trying
6348 * tests/floating_point_test.c
6349 Removed file hash checking because new float scaling procedure introduced
6350 above prevented the ability to crate a has on both x86 and PowerPC systems.
6352 2002-08-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6355 Completed reading of TXW files. Seek doesn't work yet.
6358 Added a MacOS 9 replacement for ftruncate().
6361 Added MacOS 9 header file. This should be copied into src/ to compile
6362 libsndfile for MacOS9.
6364 2002-08-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6367 Fixed commands SF_SET_NORM_DOUBLE and SFC_SET_NORM_FLOAT to return their
6368 values after being set. Reported by Jussi Laako.
6371 If autogen is not found, touch all .c and .h files in tests/.
6374 Added format width specifier to psf_log_printf() for %u, %d, %D and %X.
6377 Completed implementation of read only access to these files.
6379 * src/common.h src/*.c src/pcm.c
6380 Removed redundant field chars from SF_PRIVATE struct and modified
6381 pcm_init() to do without it.
6383 2002-08-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6386 New file implementing read of Psion Alaw files. This will be a read only
6387 format. Implementation complete.
6390 Started implementation of DiamondWare Digitized files. Also read only, not
6394 Add parsing of 'smpl' chunk.
6397 Fixed reading on un-normalized doubles and floats from 24 bit PAF files.
6398 This brings it into line with the reading of 8 bit files into
6399 un-normalized doubles which returns values in the range [-128, 127].
6402 Modified psf_log_printf() to accept the %% conversion specifier to allow
6403 printing of a single '%'.
6406 Read only of 16 bit samples is working. Need to build a test harness for
6407 this and other read only formats.
6409 2002-08-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6412 Added --enable-experimental configure option.
6413 Removed pkg-config message at the end of the configure process.
6415 * src/sds.c src/txw.c src/rx2.c src/sd2.c
6416 Moved all the code in these files inside #if ENABLE_EXPERIMENTAL_CODE
6417 blocks and added new *_open() function for the case where experimental is
6418 not enabled. These new functions just return SFE_UNIMPLMENTED.
6420 * Win32/sndfile.h src/sndfile.h.in src/common.h
6421 Removed un-necessary #pragma pack commands.
6424 Implemented psf_ftruncate() and much other hacking for Win32.
6426 * Win32/Makefile.msvc
6430 Updated to include the copying of the sndfile.h file from the Win32/
6431 directory to the src/ directory.
6434 Batch file to make compiling on Wi32 a little easier. Implements "make" and
6437 2002-08-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6440 Add place holder for ftruncate() on Win32 which doesn't have ftruncate().
6441 This will need to be fixed later.
6444 New file (copy of sndfile.h) with sets up @TYPEOF_SF_COUNT_T@ which will be
6445 replaced by the correct type during configure.
6448 Modified to find a good type for TYPEOF_SF_COUNT_T.
6451 Fixed a bug when reading malformed headers.
6454 Set read values to zero before performing read.
6456 2002-08-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6459 Fixed some HTML tags which were not allowing jumps to links within the
6463 Massive hacking on this.
6466 Added recognition of 'clm ' tag.
6468 2002-08-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6471 Added beginning of a capabilities list beyond simple file formats which
6472 can be read/written.
6475 Added parsing of INST and MARK chunks of AIFF files. At the moment this
6476 data is simply recorded in the log buffer. Later it will be possible to
6477 read this data from an application using sf_command().
6480 Added parsing of 'cue ' chunk which contains loop information in WAV files.
6482 * exampes/sndfile-info.c
6483 Changed reporting of Samples to Frames.
6485 * src/wav.c src/w64.c src/aiff.c src/wav_w64.h
6486 Moved from a samples to a frames nomenclature to avoid confusion.
6489 What's the best format for storing temporary files?
6492 New file for reading/writing Midi Sample Dump Standard files.
6494 * src/Makefile.am src/sndfile.c src/common.[ch]
6495 Added hooks for sds.c.
6497 * examples/sndfile-info.c
6498 Changed from using sf_perror() to using sf_error_str().
6500 2002-08-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6503 Added explanation of mode parameter for sf_open().
6504 Added explanation of usage of SFM_* values in sf_seek().
6506 * src/sndfile.[ch] src/command.c src/file_io.c src/common.h
6507 Implemented SFC_FILE_TRUNCATE to allow a file to be truncated. File
6508 truncation was suggested by James McCartney.
6511 Documented SFC_FILE_TRUNCATE.
6513 * tests/command_test.c
6514 Add tests for SFC_FILE_TRUNCATE.
6517 Added a thrid parameter to the VALIDATE_SNDFILE_AND_ASSIGN_PSF macro to
6518 make resetting the error number optional. All uses of the macro other than
6519 in error reporting functions were changed to reset the error number.
6522 Fixed a bug were sf_read_* was logging an SFE_SHORT_READ even when no error
6525 * tests/write_read_test.tpl
6526 Added tests of internal error state.
6528 2002-08-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6530 * src/GSM610/private.h src/GSM610/*.c src/GSM610/Makefile.am
6531 Renamed private.h to gsm610_priv.h to prevent clash with other headers
6532 named private.h in other directories. (Probably only a problem on MacOS 9).
6534 * src/G72x/private.h src/G72x/*.c src/G72x/Makefile.am
6535 Renamed private.h to g72x_priv.h to prevent clash with other headers
6536 named private.h in other directories. (Probably only a problem on MacOS 9).
6539 Changed values of HAVE_LRINT and HAVE_LRINTF to force use of code in
6543 Changes the name of samples field of the SF_INFO to frames. The old name
6544 had caused too much confusion and it simply had to be changed. There will
6545 be at least one more pre-release.
6547 2002-08-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6550 Updated formats matrix to include RAW (header-less) GSM 6.10.
6551 Fix specificaltion of table and spelling mistakes.
6553 * src/sndfile.c src/command.c
6554 Fixed bug in SFC_CALC_MAX_SIGNAL family and psf_calc_signal_max ().
6558 Added test for SFC_CALC_MAX_SIGNAL and SFC_CALC_NORM_MAX_SIGNAL.
6561 Update version to 1.0.0rc5.
6564 Removed inclusion of un-necessary header.
6566 2002-08-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6569 Minor fixes of info written to log buffer.
6572 Add definition of HAVE_LRINT_REPLACEMENT.
6574 * tests/floating_point_test.c
6575 Fix file hash check on systems without lrint/lrintf.
6578 Limit SNR to less than -500.0dB.
6580 * examples/sndfile2oct.c
6581 Fixed compiler warnings.
6584 Fixed error where last parameter of sf_error_str() was sf_count_t instead
6587 2002-08-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6590 Why doesn't libsndfile do interleaving/de-interleaving.
6592 * tests/pcm_test.tpl
6593 On Win32 do not perform hash check on files containing doubles.
6595 2002-08-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6598 Defined SF_COUNT_MAX_POSITIVE() macro, a portable way of setting variables
6599 of type sf_count_t to their maximum positive value.
6601 * src/dwvw.c src/w64.c
6602 Used SF_COUNT_MAX_POSITIVE().
6604 2002-07-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6607 Fixed bug in reading/writing of 24 bit PCM PAF files on big endian systems.
6609 * tests/floating_point_tests.c
6610 Fixed hash values for 24 bit PCM PAF files.
6611 Disabled file has check if lrintf() function is not available and added
6613 Decreased level of signal from a peak of 1.0 to a value of 0.95 to prevent
6614 problems on platforms without lrintf() ie Solaris.
6616 2002-07-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6619 Fixed a problem with two different kinds of mal-formed WAV file header. The
6620 first had the 'fact' chunk before the 'fmt ' chunk, the other had an
6621 incomplete 'INFO' chunk at the end of the file.
6624 Added fix to allow differentiation between W64 files and ACID files.
6626 * src/au_g72x.c src/common.h src/sndfile.c
6627 Added error for G72x encoded files with more than one channel.
6629 * tests/pcm_test.tpl tests/utils.tpl
6630 Moved function check_file_hash_or_die() to utils.tpl. Function was then
6631 modified to calculate the has of the whole file.
6634 Fixed problem writing the 'fact' chunk on big endian systems.
6637 Fixed bug where .paf files were being written as Sphere NIST.
6639 2002-07-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6642 Fix for reading headers generated using SFC_UPDATE_HEADER_NOW.
6645 Add docs for SFC_UPDATE_HEADER_NOW and SFC_SET_UPDATE_HEADER_AUTO.
6647 2002-07-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6649 * man/sndfile-info.1 man/sndfile-play.1
6650 Added manpages supplied by Joshua Haberman the Debian maintainer for
6651 libsndfile. Additional tweaks by me.
6653 * configure.in man/Makefile.am
6654 Hooked manpages into autoconf/automake system.
6657 Added hooks for SFC_SET_UPDATE_HEADER_AUTO.
6659 * tests/update_header_test.c
6660 Improved rigor of testing.
6663 Fixed problem with *_write_header() functions.
6665 2002-07-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6668 Updates to documentation to fix problems found by wdg-html-validator.
6670 * src/common.h src/command.c
6671 Added normalize parameter to calls to psf_calc_signal_max() and
6672 psf_calc_max_all_channels().
6675 Added handling for commands SFC_CALC_NORM_SIGNAL_MAX and
6676 SFC_CALC_NORM_MAX_ALL_CHANNELS.
6679 Added entry for SFC_CALC_NORM_SIGNAL_MAX and SFC_CALC_NORM_MAX_ALL_CHANNELS.
6681 2002-07-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6683 * examples/sndfile-play.c Win32/Makefile.msvc
6684 Get sndfile-play program working on Win32. The Win32 PCM sample I/O API
6685 sucks. The sndfile-play program now works on Linux, MacOSX, Solaris and
6688 2002-07-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6691 New file for frequently asked questsions.
6693 2002-07-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6696 Documentation fixes.
6698 * src/au.[ch] src/au_g72x.c src/G72x/g72x.h
6699 Add support of 40kbps G723 ADPCM encoding.
6701 * tests/lossy_comp_test.c tests/floating_point_test.c
6702 Add tests for 40kbps G723 ADPCM encoding.
6705 Update support matrix.
6707 2002-07-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6710 Documented SFC_GET_SIMPLE_FORMAT_COUNT, SFC_GET_SIMPLE_FORMAT,
6711 SFC_GET_FORMAT_* and SFC_SET_ADD_PEAK_CHUNK.
6713 * src/sndfile.c src/pcm.c
6714 Add ability to turn on and off the addition of a PEAK chunk for floating
6715 point WAV and AIFF files.
6717 * src/sndfile.[ch] src/common.h src/command.c
6718 Added sf_command SFC_CALC_MAX_ALL_CHANNELS. Implemented by Maurizio Umberto
6722 Docs for SFC_CALC_MAX_ALL_CHANNELS (assisted by Maurizio Umberto Puxeddu).
6724 2002-07-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6726 * src/sndfile.c src/gsm610.c
6727 Finalised support for GSM 6.10 AIFF files and added support for GSM 6.10
6728 encoded RAW (header-less) files.
6731 Add support for IBM_FORMAT_MULAW and IBM_FORMAT_ALAW encodings.
6734 Fixed more documentation bugs.
6736 2002-07-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6738 * src/sndfile.h src/common.h
6739 Moved some yet-to-be-implelmented values for SF_FORMAT_* from the public
6740 header file sndfile.h to the private header file common.h to avoid
6741 confusion about the actual capabilities of libsndfile.
6743 2002-07-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6745 * src/aiff.c src/wav.c
6746 Fixed file parsing for WAV and AIFF files containing non-audio data after
6749 * src/aiff.c src/sndfile.c
6750 Add support for GSM 6.10 encoded AIFF files.
6752 * tests/lossy_comp_test.c tests/Makefile.am
6753 Add tests for GSM 6.10 encoded AIFF files.
6756 Fix compiler warnings.
6758 2002-07-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6760 * tests/command_test.c
6761 For SFC_SET_NORM_* tests, change the file format from SF_FORMAT_WAV to
6765 Added sf_command(SFC_TEST_ADD_TRAILING_DATA) to allow testing of reading
6766 from AIFF and WAV files with non-audio data after the audio chunk.
6769 Add test commands SFC_TEST_WAV_ADD_INFO_CHUNK and
6770 SFC_TEST_AIFF_ADD_INST_CHUNK. When these commands are working, they will be
6771 moved to src/sndfile.h
6773 * src/aiff.c src/wav.c
6774 Begin implementation of XXXX_command() hook for sf_command().
6776 * tests/write_read_test.tpl
6777 Added sf_command (SFC_TEST_ADD_TRAILING_DATA) to ensure above new code was
6780 2002-07-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6782 * tests/update_header_test.c
6783 Allow read sample count == write sample count - 1 to fix problems with VOC
6786 * tests/write_read_test.tpl tests/pcm_test.tpl
6787 Fixed some problems in the test suite discovered by using Valgrind.
6789 2002-07-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6791 * tests/utils.[ch] tests/*.c
6792 Renamed check_log_buffer() to check_log_buffer_or_die().
6795 SFC_UPDATE_HEADER_NOW and SFC_SETUPDATE_HEADER_AUTO almost finished. Works
6796 for all file formats other than VOC.
6798 2002-07-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6800 * src/sndfile.[ch] src/common.h
6801 Started adding functionality to allow the file header to be updated before
6802 the file is closed on files open for SFM_WRITE. This was requested by
6803 Maurizio Umberto Puxeddu who is using libsndfile for file I/O in iCSound.
6805 * tests/update_header_test.c
6806 New test program to test that the above functionality is working correctly.
6808 * tests/peak_chunk_test.c tests/floating_point_test.c
6811 2002-07-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6814 Changed length count parameters for all endswap_XXX() functions from
6815 sf_count_t (which can be 64 bit even on 32 bit architectures) to int. These
6816 functions are only called frin inside the library, are always called with
6817 integer parameters and doing the actual calculation on 64 bit values is
6818 slow in comparision to doing it on ints.
6820 * examples/sndfile-play.c
6821 More playback hacking for Win32.
6823 2002-07-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6826 In psf_log_printf(), changed %D format conversion specifier to %M (marker) and
6827 added %D specifier for printing the sf_count_t type.
6830 Changed all usage of psf_log_printf() with %D format conversion specifiers
6831 to use %M conversion instead.
6833 * tests/pcm_test.tpl tests/pcm_test.def
6834 New files to autogen pcm_test.c.
6837 Fixed bug in scaling floats and doubles to 24 bit PCM and vice versa.
6839 2002-07-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6842 Fix setup of $ac_cv_sys_largefile_CFLAGS so that sndfile.pc gets valid
6845 * examples/sndfile-play.c
6846 Start adding playback support for Win32.
6848 2002-07-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6851 Worked to removed compiler warnings.
6852 Extensive refactoring.
6855 Added function psf_memset() which works like the standard C function memset
6856 but takes and sf_count_t as the length parameter.
6859 Replaced calls to memset(0 with calls to psf_memset() as required.
6861 2002-07-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6864 Added "libsndfile : " to the start of all error messages. This was suggested
6865 by Conrad Parker author of Sweep ( http://sweep.sourceforge.net/ ).
6868 Added endswap_XXXX_copy() functions.
6870 * src/pcm.c src/float32.c src/double64.c
6871 Use endswap_XXXX_copy() functions and removed dead code.
6872 Cleanups and optimisations.
6874 2002-07-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6876 * src/sndfile.c src/sndfile.h
6877 Gave values to all the SFC_* enum values to allow better control of the
6878 interface as commands are added and removed.
6879 Added new command SFC_SET_ADD_PEAK_CHUNK.
6881 * src/wav.c src/aiff.c
6882 Modified wav_write_header and aiff_write_header to make addition of a PEAK
6883 chunk optional, even on floating point files.
6885 * tests/benchmark.tpl
6886 Added call to sf_command(SFC_SET_ADD_PEAK_CHUNK) to turn off addition of a
6887 PEAK chunk for the benchmark where we are trying to miximize speed.
6890 Changed tribyte typedef to something more sensible.
6891 Further conversion speed ups.
6893 2002-07-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6896 In major_formats rename "Sphere NIST" to "NIST Sphere".
6898 * src/common.c src/sfendian.c
6899 Moved all endswap_XXX_array() functions to sfendian.c. These functions will
6900 be tweaked to provide maximum performance. Since maximum performance on one
6901 platform does not guarantee maximum performance on another, a small set of
6902 functions will be written and the optimal one chosen at compile time.
6904 * src/common.h src/sfendian.h
6905 Declarations of all endswap_XXX_array() functions moved to sfendian.h.
6908 Add sfendian.c to build targets.
6910 2002-07-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6912 * src/pcm.c src/sfendian.h
6913 Re-coded PCM encoders and decoders to match or better the speed of
6914 libsndfile version 0.0.28.
6916 2002-06-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6919 Add checking for WAVPACK data in standard PCM WAV file. Return error if
6920 found. This WAVPACK is *WAY* broken. It uses the same PCM WAV file header
6921 and then stores non-PCM data.
6923 * tests/benchmark.tpl
6926 2002-06-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6928 * tests/benchmark.tpl
6929 Added conditional definition of M_PI.
6930 For Win32, set WRITE_PERMS to 0777.
6932 * Win32/Makefile.msvc
6933 Added target to make generate program on Win32.
6936 Removed handler for Samplitude RAP file format. This file type seems rarer
6937 than hens teeth and is completely undocumented.
6939 * src/common.h src/sndfile.c src/Makefile.am Win32/Makefile.msvc
6940 Removed references to sampltiude RAP format.
6942 * tests/benchmark.tpl
6943 Benchmark program now prints the libsndfile version number when run. This
6944 program was also backported to version 0 to compare results. Version
6945 1.0.0rc2 is faster than version 0.0.28 on most conversions but slower on
6946 some. The slow ones need to be fixed before final release.
6948 2002-06-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6950 * tests/benchmark.def tests/benchmark.tpl
6951 New files which generate tests/benchmark.c using Autogen. Added int ->
6952 SF_FORMAT_PCM_24 test.
6955 Now and Autogen output file.
6958 Updated for above changes.
6960 2002-06-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6963 Basic benchmark program complete. Need to convert it to Autogen.
6965 * Win32/Makefile.msvc
6966 Added benchmark.exe target.
6968 2002-06-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6970 * examples/generate.c
6971 New program to generate a number of different output file formats from a
6972 single input file. This allows testing of the created files.
6975 New test program to benchmark libsndfile. Nowhere near complete yet.
6977 * examples/Makefile.am tests/Makefile.am
6978 New make rules for the two new programs.
6980 2002-06-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6982 * Win32/libsndfile.def
6983 Removed definition for sf_signal_max().
6989 A number of documentation bugs were fixed. Thanks to Anand Kumria.
6991 * doc/version-1.html
6995 Bumped version to 1.0.0rc2.
6997 * src/sf_command.h src/Makefile.am
6998 Removed the header file as it was no longer being used. Thanks to Anand
6999 Kunria for spotting this.
7002 A number of documentation bugs were fixed. Thanks to Anand Kumria.
7004 2002-06-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7007 Test for Win32 before testing SIZEOF_OFF_T so that it works correctly
7011 Win32 fixes to ensure O_BINARY is used for file open.
7014 New file documenting the building libsndfile on Win32.
7017 Updating of documentation.
7019 2002-06-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7022 Minor changes to allow easier determination of test file name.
7025 Removed function sf_signal_max().
7027 * examples/sndfile-play.c
7028 Changed call to sf_signal_max() to a call to sf_command().
7030 2002-06-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7032 * src/format.c src/command.c
7033 Renamed format.c to command.c which will now include code for sf_command()
7034 calls to perform operations other than format commands.
7036 * src/sndfile.c src/sndfile.h
7037 Removed function sf_get_signal_max() which is replaced by commands passed
7041 Implement commands SFC_CALC_SIGNAL_MAX.
7044 Documented SFC_CALC_SIGNAL_MAX.
7046 2002-06-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7048 * examples/sndfile-play.c
7049 Mods to make sndfile-play work on Solaris. The program sndfile-play now
7050 runs on Linux, MaxOSX and Solaris. Win32 to come.
7053 Added SF_FORMAT_DWVW_* to subtype_formats array.
7056 Added support for 8 bit NIST Sphere files. Example file supplied by Anand
7059 2002-06-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7061 * examples/sndfile-info.c
7062 Tidy up of output format.
7064 * examnples/sndfile-play.c
7065 Mods to make sndfile-play work on MacOSX using Apple's CoreAudio API.
7068 Add new variables OS_SPECIFIC_INCLUDES and OS_SPECIFIC_LINKS which were
7069 required to supply extra include paths and link parameters to get
7070 sndfile-play working on MacOSX.
7072 * examples/Makefile.am
7073 Use OS_SPOECIFIC_INCLUDES and OS_SPECIFIC_LINKS to build commands for
7076 2002-06-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7079 Added ability to read/write new NIST Sphere file types (A-law, u-law).
7080 Header parser was re-written from scratch. Example files supplied by Anand
7084 Support for A-law and u-law NIST files.
7086 * tests/Makefile.am tests/lossy_comp_test.c
7087 Tests for A-law and u-law NIST files.
7089 2002-06-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7092 Fixed an error in error string.
7094 2002-06-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7097 Removed exit command to allow cross-compiling.
7099 * Win32/unistd.h src/file_io.c
7100 Moved contents of first file into the second file (enclosed in #ifdef).
7101 Win32/unistd.h is now an empty file but still must be there for libsndfile
7102 to compile on Win32.
7104 * src/sd2.c, src/sndfile.c:
7105 Fixes for Sound Designer II files on big endian systems.
7107 2002-06-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7110 Modified to work around problems with crappy MacOSX version of sed.
7111 Added sanity check for proper values for CFLAGS.
7113 2002-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7116 Code clean up in sf_open ().
7118 * Win32/Makefile.msvc
7119 Michael Fink's contributed MSVC++ makefile was hacked to bits and put back
7120 together in a new improved form.
7123 Fixes for Win32; _lseeki64() returns an invalid argument for calls like
7124 _lseeki64(fd, 0, SEEK_CUR) so need to use _telli64 (fd) instead.
7126 * src/common.h src/sndfile.c src/wav.c src/aiff.c
7127 Added SFE_LOG_OVERRUN error.
7128 Added termination for potential infinite loop when parsing file headers.
7130 * src/wav.c src/w64.c
7131 Fixed bug casuing incorrect header generation when opening file read/write.
7133 2002-06-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7136 Improved the documentation to make it clearer that the file read method
7137 and the underlying file format are completely disconnected. Suggested
7141 Started correcting docs to take into account changes made to the
7142 operations of the sf_command () function. Not complete yet.
7145 Reverted some changes which had broken the partially working SDII header
7146 parsing. Now have access to an iBook with OS X so reading and writing SDII
7147 files on all platforms should be a reality in the near future. On Mac this
7148 will involve reading the resource fork via the standard MacOS API. To move
7149 a file from Mac to another OS, the resource and data forks will need to be
7150 combined before transfer. The combined file will be read on both Mac and
7151 other OSes like any other file.
7153 2002-06-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7156 Applied a patch from http://fink.sourceforge.net/doc/porting/libtool.php
7157 which allows libsndfile to compile on MacOSX 10.1. This patch should not
7158 interfere with compiling on other OSes.
7160 * src/GSM610/private.h
7161 Changes to fix compile problems on MacOSX (see src/GSM610/ChangeLog).
7164 Added MacOSX replacements for lrint() and lrintf().
7166 2002-06-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7169 Replaced the code to print the filename to the log buffer when a file is
7170 opened. This code seems to have been left out during the merge of
7171 sf_open_read() and sf_open_write() to make a single functions sf_open().
7173 2002-06-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7176 Fixed a bug where the WAV header parser was going into an infinite loop
7177 on a badly formed LIST chunk. File supplied by David Viens.
7179 2002-05-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7182 Added a message at the end of the configuration process to warn about the
7183 need for the use of pkg-config when linking programs against version 1 of
7186 * doc/pkg-config.html
7187 New documentation file containing details of how to use pkg-config to
7188 retrieve settings for CFLAGS and library locations for linking files
7189 against version 1 of libsndfile.
7191 2002-05-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7194 Fixed minor bug in handling of so-called ACIDized WAV files.
7196 2002-05-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7198 * Win32/libsndfile.def Win32/Makefile.msvc
7199 Two new files contributed by Michael Fink (from the winLAME project)
7200 which allows libsndfile to be built on windows in a MSDOS box by doing
7201 "nmake -f Makefile.msvc". Way cool!
7203 2002-05-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7206 MacOSX is SSSOOOOOOO screwed up!!! I can't believe how hard it is to
7207 generate a tarball which will configure and compile on that platform.
7208 Joined the libtool mailing list to try and get some answers.
7210 2002-05-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7213 Changed to autoconf version 2.50. MacOSX uses autoconf version 2.53 which
7214 is incompatible with with version 2.13 which had been using until now.
7215 The AC_SYS_LARGE_FILE macro distributed withe autoconf 2.50 is missing a
7216 few features so AC_SYS_EXTRA_LARGE file was defined to replace it.
7219 Changed to automake version 1.5 to try and make a tarball which will
7222 2002-05-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7225 Changed name to gsm610.c. Added reading/writing of headerless files.
7227 * src/sndfile.c src/raw.c
7228 Added ability to read/write headerless (SF_FORMAT_RAW) GSM 6.10 files.
7230 2002-05-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7232 * tests/lossy_comp_test.c
7233 Clean up in preparation for Autogen-ing this file.
7236 Code cleanup and prepartion forgetting file seek working. Details in
7237 src/GSM610/ChangeLog.
7240 Testing complete. Is sndfile.m4 still needed?
7242 2002-05-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7244 * tests/write_read_test.tpl tests/rdwr_test.tpl
7245 Merged tests from these two programs into write_read_test.tpl and deleted
7248 2002-05-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7250 * src/w64.c src/svx.c src/paf.c
7251 Fixed bugs in read/write mode.
7253 2002-05-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7255 * examples/Makefile.am
7256 Renamed sfplay.c to sndfile-play.c and sndfile_info.c to sndfile-info.c for
7257 consistency when these programs become part of the Debian package
7261 New file to replace sndfile-config.in. Libsndfile now uses the pkg-config
7262 model for providing installation parameters to dependant programs.
7265 Cleanup of code in sf_open().
7267 2002-05-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7269 * tests/utils.tpl tests/write_read_test.tpl
7270 More conversion to Autogen fixes and enchancements.
7273 Read/write mode is now working for 16, 24 and 32 bit PCM as well as 32
7274 bit float and 64 bit double data. More tests still required.
7277 Added DISTCLEANFILES target to remove config.status and config.last.
7279 * Win32/Makefile.am MacOS/Makefile.am
7280 Added DISTCLEANFILES target to remove Makefile.
7282 2002-05-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7284 * src/*.[ch] tests/rdwr_test.c
7285 More verifying workings of read/write mode. Fixing bugs found.
7288 Made these files Autogen generated files.
7290 * tests/util.tpl tests/util.def
7291 New Autogen files to generate utils.[ch]. Moved some generic test functions
7292 into this file. Autogen is such a great tool!
7294 2002-05-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7296 * src/pcm.c src/float_cast.h Win32/config.h
7297 Fixed a couple of Win32 specific bugs pointed out by Michael Fink
7298 (maintainer of WinLAME) and David Viens.
7300 * tests/check_log_buffer.[ch] tests/utils.[ch]
7301 Moved check_log_buffer() to utils.[ch] and deleted old file.
7303 2002-05-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7305 * src/common.[ch] src/sndfile.c
7306 New function psf_default_seek() which will be the default seek function
7307 for things like PCM and floating point data. This default is set for
7308 both read and write in sf_open() but can be over-ridden by any codec
7309 during it's initialisation.
7311 2002-05-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7314 AU files use a data size value of -1 to mean unknown. Fixed au_open_read()
7315 to allow opening files like this.
7317 * tests/rdwr_test .c
7321 Fixed bugs in read/write mode found due to improvements in the test
7324 2002-04-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7326 * tests/rdwr_test .c
7327 New file for testing read/write mode.
7329 2002-04-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7332 Removed all m4 macros from this directory as they get concatenated to form
7333 the file aclocal.m4 anyway.
7336 Moved this from the m4 directory to the root directory asn this is part of
7337 the distribution and is installed during "make install".
7339 2002-04-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7342 Removed logging of peaks for all file formats other than AIFF and WAV.
7344 * tests/write_read_test.tpl tests/write_read_test.def
7345 New files which autogen uses to generate write_read_test.c. Doing it this
7346 way makes write_read_test.c far easier to maintain. Other test programs
7347 will be converted to autogen in the near future.
7350 Fixed a few bugs found when testing on Sparc (bug endian) Solaris.
7352 2002-04-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7355 Fixed documention versioning.
7358 Fixed a bug in the routines which search for Large File Support on systems
7359 which have large file support by defualt.
7361 2002-04-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7364 Found and fixed an issue which can cause a bug in other software (I was
7365 porting Conrad Parker's Sweep program from version 0 of the library to
7366 version 1). When opening a file for write, the libsndfile code would
7367 set the sfinfo.samples field to a maximum value.
7369 * tests/write_read_test.c
7370 Added tests to detect the above problem.
7372 2002-04-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7375 Finished base implementation of read/write mode. Much more testing still
7379 Macro for detecting Large File Standard capabilities. This macro was ripped
7380 out of the aclocal.m4 file of GNU tar-1.13.
7383 Added detection of large file support. Files larger than 2 Gigabytes should
7384 now be supported on 64 bit platforms and many 32 bit platforms including
7385 Linux (2.4 kernel, glibc-2.2), *BSD, MacOS, Win32.
7387 * libsndfile_convert_version.py
7388 A Python script which attempts to autoconvert code written to use version 0
7391 2002-04-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7394 Finished base implementation of read/write mode. Much more testing still
7397 * tests/write_read_test.c
7398 Preliminary tests for read/write mode added. More needed.
7400 2002-04-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7403 Removed sf_open_read() and sf_open_write() functions,replacting them with
7404 sf_open() which takes an extra mode parameter (SF_OPEN_READ, SF_OPEN_WRITE,
7405 or SF_OPEN_RDWR). This new function sf_open can now be modified to allow
7406 opening a file formodification (RDWR).
7408 2002-04-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7411 Completed merging of separate xxx_open_read() and xxx_open_write()
7412 functions. All tests pass.
7414 2002-04-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7417 Massive refactoring required to merge au_open_read() with au_open_write()
7418 to create au_open().
7420 2002-04-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7423 Started changes required to allow a sound file to be opened in read/write
7424 mode, with separate file pointers for read and write. This involves merging
7425 of encoder/decoder functions like pcm_read_init() and pcm_write_init()
7426 int a new function pcm_init() as well as doing something similar for all
7427 the file type specific functions ie aiff_open_read() and aiff_open_write()
7428 were merged to make the function aiff_open().
7430 2002-04-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7433 New file containing psf_fopen(), psf_fread(), psf_fwrite(), psf_fseek() and
7434 psf_ftell() functions. These function will replace use of fopen/fread/fwrite
7435 etc and allow access to files larger than 2 gigabytes on a number of 32 bit
7436 OSes (Linux on x86, 32 bit Solaris user space apps, Win32 and MacOS).
7439 Replaced all instances of fopen with psf_open, fread with psd_read, fwrite
7440 with psf_write and so on.
7442 2002-03-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7445 Finally fixed all known problems with 12, 16 and 24 bit DWVW encoding.
7447 * tests/floating_point_test.c
7448 Added tests for 12, 16 and 24 bit DWVW encoding.
7450 2002-03-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7453 Defines a new m4 macro AC_C_FIND_ENDIAN, for determining the endian-ness of
7454 the target CPU. It first checks for the definition of BYTE_ORDER in
7455 <endian.h>, then in <sys/types.h> and <sys/param.h>. If none of these work
7456 and the C compiler is not a cross compiler it compiles and runs a program
7457 to test for endian-ness. If the compiler is a cross compiler it makes a
7458 guess based on $target_cpu.
7461 Modified to use AC_C_FIND_ENDIAN.
7466 2002-02-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7468 * tests/floating_point_test.c
7469 Tests completely rewritten using the dft_cmp function. Now able to
7470 calculate a quick guesstimate of the Signal to Noise Ratio of the encoder.
7472 2002-02-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7474 * tests/dft_cmp.[ch]
7475 New files containing functions for comparing pre and post lossily
7476 compressed data using a quickly hacked DFT.
7479 New files containing functions for saving pre and post encoded data in a
7480 file readable by the GNU Octave package.
7482 2002-02-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7484 * m4/lrint.m4 m4/lrintf.m4
7485 Fixed m4 macros to define HAVE_LRINT and HAVE_LRINTF even when the test
7488 2002-02-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7490 * tests/floating_point_test.c
7491 Fixed improper use of strncat ().
7493 2002-02-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7495 * tests/headerless_test.c
7496 New test program to test the ability to open and read a known file type as a
7497 RAW header-less file.
7499 2002-02-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7501 * tests/losy_comp_test.c
7502 Added a test to ensure that the data read from a file is not all zeros.
7504 * examples/sfconvert.c
7505 Added "-gsm610" encoding types.
7507 2002-01-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7509 * examples/sfconvert.c
7510 Added "-dwvw12", "-dwvw16" and "-dwvw24" encoding types.
7513 New file for testing DWVW encoder/decoder.
7515 2002-01-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7518 Implemented writing of DWVW. 12 bit seems to work, 16 and 24 bit still broken.
7521 Improved reporting of encoding types.
7526 2002-01-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7529 New file implementing lossless Delta Word Variable Width (DWVW) encoding.
7530 Reading 12 bit DWVW is now working.
7532 * src/aiff.c common.h sndfile.c
7533 Added hooks for DWVW encoded AIFF and RAW files.
7535 2002-01-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7538 Robustify header parsing.
7541 Header file wav.h was renamed to wav_w64.h to signify sharing of
7542 definitions across the two file types.
7544 * src/wav.c src/w64.c src/wav_w64.c
7546 Modified and moved functions with a high degree of similarity between
7547 wav.c and w64.c to wav_w64.c.
7549 2002-01-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7552 Completed work on getting read and write working.
7555 Added code to scale floating point data so it plays at a reasonable volume.
7557 * tests/Makefile.am tests/write_read_test.c
7558 Added tests for W64 files.
7560 2002-01-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7563 Modded all code in file header writing routines to use
7564 psf_new_binheader_writef().
7565 Removed psf_binheader_writef() from src/common.c.
7566 Globally replaced psf_new_binheader_writef with psf_binheader_writef.
7568 2002-01-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7571 Modded all code in file parsing routines to use psf_new_binheader_readf().
7572 Removed psf_binheader_readf() from src/common.c.
7573 Globally replaced psf_new_binheader_readf with psf_binheader_readf.
7576 Added new function psf_new_binheader_writef () which will soon replace
7577 psf_binheader_writef (). The new function has basically the same function
7578 as the original but has a more flexible and capable interface. It also
7579 allows the writing of 64 bit integer values for files contains 64 bit file
7582 2002-01-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7584 * src/formats.c src/sndfile.c src/sndfile.h
7585 Added code allowing full enumeration of supported file formats via the
7586 sf_command () interface.
7587 This feature will allow applications to avoid needing recompilation when
7588 support for new file formats are added to libsndfile.
7590 * tests/command_test.c
7591 Added test code for the above feature.
7593 * examples/list_formats.c
7594 New file. An example of the use of the supported file enumeration
7595 interface. This program lists all the major formats and for each major
7596 format the supported subformats.
7598 2002-01-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7600 * src/*.[ch] tests/*.c
7601 Changed command parameter of sf_command () function from a test string to
7602 an int. The valid values for the command parameter begin with SFC_ and are
7603 listed in src/sndfile.h.
7605 2001-12-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7607 * src/formats.c src/sndfile.c
7608 Added an way of enumerating a set of common file formats using the
7609 sf_command () interface. This interface was suggested by Dominic Mazzoni,
7610 one of the main authors of Audacity (http://audacity.sourceforge.net/).
7612 2001-12-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7615 Added checking of filename parameter in sf_open_read (). Previousy, if a
7616 NULL pointer was passed the library would segfault.
7618 2001-12-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7620 * src/common.c src/common.h
7621 Changed the len parameter of the endswap_*_array () functions from type
7625 Fixed a problem which
7627 2001-12-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7630 Added conditional #include <sys/types.h> for EMX/gcc on OS/2. Thanks to
7631 Paul Hartman for pointing this out.
7633 * tests/lossy_comp_test.c tests/floating_point_test.c
7634 Added definitions for M_PI for when it isn't defined in <math.h>.
7636 2001-11-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7639 Re-implemented the header reader. Old version was making incorrect
7640 assumptions about the endian-ness of the file from the magic number at the
7641 start of the file. The new code looks at the integer which holds the
7642 number of channels and determines the endian-ness from that.
7644 2001-11-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7647 Added support for other AIFC types ('raw ', 'in32', '23ni').
7648 Further work on IMA ADPCM encoding.
7650 2001-11-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7653 Renamed from wav_ima_adpcm.c. This file will soon handle IMA ADPCM
7654 encodings for both WAV and AIFF files.
7657 Started adding IMA ADPCM support.
7659 2001-11-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7662 New file for handling double precision floating point (SF_FORMAT_DOUBLE)
7665 * src/wav.c src/aiff.c src/au.c src/raw.c
7666 Added support for SF_FORMAT_DOUBLE data.
7669 Addition of endswap_long_array () for endian swapping 64 bit integers. This
7670 function will work correctly on processors with 32 bit and 64 bit longs.
7671 Optimised endswap_short_array () and endswap_int_array ().
7674 Added and extra check. After the first file of each type is written to disk
7675 a checksum is performed of the first 64 bytes and checked against a pre-
7676 calculated value. This will work whatever the endian-ness of the host
7679 2001-11-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7682 Added handling of u-law, A-law encoded AIFF files. Thanks to Tom Erbe for
7683 supplying example files.
7685 * tests/lossy_comp_test.c
7686 Added tests for above.
7688 * src/common.h src/*.c
7689 Removed function typedefs from common.h and function pointer casting in all
7690 the other files. This allows the compiler to perform proper type checking.
7691 Hopefully this will prevernt problems like the sf_seek bug for OpenBSD,
7695 Added new function psf_new_binheader_readf () which will eventually replace
7696 psf_binheader_readf (). The new function has basically the same function as
7697 the original but has a more flexible and capable interface. It also allows
7698 the reading of 64 bit integer values for files contains 64 bit file
7701 2001-11-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7704 Completed implementation of VOC file handling. Can now handle 8 and 16 bit
7705 PCM, u-law and A-law files with one or two channels.
7707 * src/write_read_test.c tests/lossy_comp_test.c
7708 Added tests for VOC files.
7710 2001-11-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7713 Added inline asm version of lrint/lrintf for MacOS. Solution provided by
7717 More work on this braindamaged format. The VOC files produced by SoX also
7718 have a number of inconsistencies.
7720 2001-11-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7723 Added support for 8 bit PCM PAF files.
7725 * tests/write_read_test.c
7726 Added tests for 8 bit PAF files.
7728 2001-11-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7731 New test program to test for correct scaling of integer values between
7732 different sized integer containers (ie short -> int).
7733 The new specs for libsndfile state that when the source and destination
7734 containers are of a different size, the most significant bit of the source
7735 value becomes the most significant bit of the destination container.
7737 * src/pcm.c src/paf.c
7738 Modified to pass the above test program.
7740 * tests/write_read_test.c tests/lossy_comp_test.c
7741 Modified to work with the new scaling rules.
7743 2001-11-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7745 * src/raw.c tests/write_read_test.c tests/write_read_test.c
7746 Added ability to do raw reads/writes of float, u-law and A-law files.
7748 * src/*.[ch] examples/*.[ch] tests/*.[ch]
7749 Removed dependance on pcmbitwidth field of SF_INFO struct and moved to new
7750 SF_FORMAT_* types and use of SF_ENDIAN_BIG/LITTLE/CPU.
7752 2001-11-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7755 Started implmentation of major changes documented in doc/version1.html.
7757 Removed all usage of off_t which is not part of the ISO C standard. All
7758 places which were using it are now using type long which is the type of
7759 the offset parameter for the fseek function.
7760 This should fix problems on BeOS, MacOS and *BSD like systems which were
7761 failing "make check" because sizeof (long) != sizeof (off_t).
7763 --------------------------------------------------------------------------------
7764 This is the boundary between version 1 of the library above and version 0 below.
7765 --------------------------------------------------------------------------------
7767 2001-11-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7769 * examples/sfplay_beos.cpp
7770 Added BeOS version of sfplay.c. This needs to be compiled using a C++
7771 compiler so is therefore not built by default. Thanks to Marcus Overhagen
7774 2001-11-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7777 New example file showing how libsndfile can be used to read and play a
7779 At the moment on Linux is supported. Others will follow in the near future.
7781 2001-11-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7784 Fixed problem with normalisation code where a value of 1.0 could map to
7785 a value greater than MAX_SHORT or MAX_INT. Thanks to Roger Dannenberg for
7788 2001-11-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7791 Fixed scaling issue when reading/writing 8 bit files using
7792 sf_read/sf_write_short ().
7793 On read, values are scaled so that the most significant bit in the char
7794 ends up in the most significant bit of the short. On write, values are
7795 scaled so that most significant bit in the short ends up as the most
7796 significant bit in the char.
7798 2001-11-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7800 * src/au.c src/sndfile.c
7801 Added support for 32 bit float data in big and little endian AU files.
7803 * tests/write_read_test.c
7804 Added tests for 32 bit float data in AU files.
7806 2001-11-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7808 * tests/lossy_comp_test.c
7809 Finalised testing of stereo files where possible.
7811 2001-11-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7813 * src/wav_ms_adpcm.c
7814 Fixed bug in writing stereo MS ADPCM WAV files. Thanks to Xu Xin for
7815 pointing out this problem.
7817 2001-10-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7819 * src/wav_ms_adpcm.c
7820 Modified function srate2blocksize () to handle 44k1Hz stereo files.
7822 2001-10-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7825 Added support for Sonic Foundry 64 bit WAV format. As Linux (my main
7826 development platform) does not yet support 64 bit file offsets by default,
7827 current handling of this file format treats everything as 32 bit and fails
7828 openning the file, if it finds anything that goes beyond 32 bit values.
7830 * src/sndfile.[hc] src/common.h src/Makefile.am
7831 Added hooks for W64 support.
7833 2001-10-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7836 Added more warnings options to CFLAGS when the gcc compiler is detected.
7838 * src/*.[ch] tests/*.c examples/*.c
7839 Started fixing the warning messages due to the new CFLASG.
7842 More work on VOC file read/writing.
7845 Found that PAF files were not checking the normalisation flag when reading
7846 or writing floats and doubles. Fixed it.
7848 * tests/floating_point_test.c
7849 Added specific test for the above problem.
7851 * src/float_cast.h src/pcm.c
7852 Added a section for Win32 to define lrint () and lrintf () in the header
7853 and implement it in the pcm.c
7855 2001-10-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7857 * sndfile-config.in m4/sndfile.m4
7858 These files were donated by Conrad Parker who also provided instructions
7859 on how to install them using autoconf/automake.
7862 Fiddled around with this file some more. On Linux and other gcc supported
7863 OSes use the C99 functions lrintf() and lrint() for casting from floating
7864 point to int without incurring the huge perfromance penalty (particularly
7865 on the i386 family) caused by the regular C cast from float to int.
7866 These new C99 functions replace the FLOAT_TO_* and DOUBLE_TO_* macros which
7867 I had been playing with.
7869 * configure.in m4/lrint.m4 m4/lrintf.m4
7870 Add detection of these functions.
7872 2001-10-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7875 Completed code for reading VOC files containing a single audio data
7877 Started implementing code to handle files with multiple VOC_SOUND_DATA
7878 segments but couldn't be bothered finishing it. Multiple segment files can
7879 have different sample rates for different sections and other nasties like
7880 silence and repeat segments.
7882 2001-10-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7884 * src/common.h src/*.c
7885 Removed SF_PRIVATE struct field fdata and replaced it with extra_data.
7888 Further development of the read part of this woefult file format.
7890 2001-10-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7893 Implemented gcc and i386 floating point to int cast macros. Standard cast
7894 will be used when not on gcc for i385.
7897 Modified all uses of FLOAT/DOUBLE_TO_INT and FLOAT/DOUBLE_TO_SHORT casts to
7898 comply with macros in float_cast.h.
7900 2001-10-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7903 Changed the TYPE_xxx enum names to VOC_TYPE_xxx to prevent name clashes
7904 on MacOS with CodeWarrior 6.0.
7906 * MacOS/MacOS-readme.txt
7907 Updated the compile instructions. Probably still need work as I don't have
7910 2001-10-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7912 * src/wav.c src/aiff.c common.c
7913 Changed all references to snprintf to LSF_SNPRINTF and all vsnprintf to
7914 LSF_VSNPRINTF. LSF_VSNPRINTF and LSF_VSNPRINTF are defined in common.h.
7917 Added checking of HAVE_SNPRINTF and HAVE_VSNPRINTF and defining
7918 LSF_VSNPRINTF and LSF_VSNPRINTF to appropriate values.
7921 New file containing a minimal implementation of snprintf and vsnprintf
7922 functions named missing_snprintf and missing_vsnprintf respectively. These
7923 are only compliled into the binary if snprintf and/or vsnprintf are not
7926 2001-09-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7929 New file to handle Berkeley/IRCAM/CARL files.
7931 * src/sndfile.c src/common.h
7932 Modified for IRCAM handling.
7935 Added tests for IRCAM files.
7937 2001-09-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7940 Apparently microsoft windows (tm) doesn't like ulaw and Alaw WAV files with
7941 20 byte format chunks (contrary to ms's own documentation). Fixed the WAV
7942 header writing code to generate smaller ms compliant ulaw and Alaw WAV
7945 2001-09-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7947 * tests/stdio_test.sh tests/stdio_test.c
7948 Shell script was rewritten as a C program due to incompatibilities of the
7949 sh shell on Linux and Solaris.
7951 2001-09-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7953 * tests/stdio_test.sh tests/stdout_test.c tests/stdin_test.c
7954 New test programs to verify the correct operation of reading from stdin and
7957 * src/sndfile.c wav.c au.c nist.c paf.c
7958 Fixed a bugs uncovered by the new test programs above.
7960 2001-09-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7962 * src/sndfile.c wav.c
7963 Fixed a bug preventing reading a file from stdin. Found by T. Narita.
7965 2001-09-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7968 Fixed a problem on OpenBSD 2.9 which was causing sf_seek() to fail on IMA
7969 WAV files. Root cause was the declaration of the func_seek typedef not
7970 matching the functions it was actually being used to point to. In OpenBSD
7971 sizeof (off_t) != sizeof (int). Thanks to Heikki Korpela for allowing me
7972 to log into his OpenBSD machine to debug this problem.
7974 2001-09-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7977 Implemented sf_command ("norm float").
7980 Implemented handling of sf_command ("set-norm-float"). Float normalization
7981 can now be turned on and off.
7983 * tests/double_test.c
7984 Renamed to floating_point_test.c. Modified to include tests for all scaled
7985 reads and writes of floats and doubles.
7988 Fixed bug in normalization code found with improved floating_point_test
7992 Added code for parsing 'INFO' and 'LIST' chunks. Will be used for extract
7993 text annotations from WAV files.
7996 Added code for parsing '(c) ' and 'ANNO' chunks. Will be used for extract
7997 text annotations from WAV files.
7999 2001-09-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8001 * examples/sf_info.c example/Makefile.am
8002 Renamed to sndfile_info.c. The program sndfile_info will now be installed
8003 when the library is installed.
8006 New file defining floating point to short and int casts. These casts will
8007 eventually replace all flot and double casts to short and int. See comments
8008 at the top of the file for the reasoning.
8011 Changed all default float and double casts to short or int with macros
8012 defined in floatcast.h. At the moment these casts do nothing. They will be
8013 replaced with faster float to int cast operations in the near future.
8015 2001-08-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8017 * tests/command_test.c
8018 New file for testing sf_command () functionality.
8021 Revisiting of error return values of some functions.
8022 Started implementing sf_command () a new function will allow on-the-fly
8023 modification of library behaviour, or instance, sample value scaling.
8026 Added hook for format specific sf_command () calls to SNDFILE struct.
8029 Updated and errors corrected.
8032 New documentation file explaining new sf_command () function.
8034 2001-08-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8037 Fixed error return values from sf_read*() and sf_write*(). There were
8038 numerous instances of -1 being returned through size_t. These now all set
8039 error int the SF_PRIVATE struct and return 0. Thanks to David Viens for
8042 2001-08-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8045 Fixed use of va_arg() calls that were causing warning messages with the
8046 latest version of gcc (thanks Maurizio Umberto Puxeddu).
8048 2001-07-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8050 * src/*.c src/sfendian.h
8051 Moved definition of MAKE_MARKER macro to sfendian.h
8053 2001-07-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8056 Modified sf_get_lib_version () so that version string will be visible using
8057 the Unix strings command.
8059 * examples/Makefile.am examples/sfinfo.c
8060 Renamed sfinfo program and source code to sf_info. This prevents a name
8061 clash with the program included with libaudiofile.
8063 2001-07-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8065 * tests/read_seek_test.c tests/lossy_comp_test.c
8066 Added tests for sf_read_float () and sf_readf_float ().
8069 New files for handling Creative Voice files (not complete).
8072 New files for handling Samplitude files (not complete).
8074 2001-07-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8076 * src/aiff.c src/au.c src/paf.c src/svx.c src/wav.c
8077 Converted these files to using psf_binheader_readf() function. Will soon be
8078 ready to attempt to make reading writing from pipes work reliably.
8081 Added code for sf_read_float () and sf_readf_float () methods of accessing
8084 2001-07-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8086 * src/paf.c src/wav_gsm610.c
8087 Removed two printf()s which had escaped notice for some time (thanks
8088 Sigbjørn Skjæret).
8090 2001-07-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8093 Fixed a bug which prevented GSM 6.10 encoded WAV files generated by
8094 libsndfile from being played in Windoze (thanks klay).
8096 2001-07-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8099 Implemented psf_binheader_readf() which will do for file header reading what
8100 psf_binheader_writef() did for writing headers. Will eventually allow
8101 libsndfile to read and write from pipes, including named pipes.
8103 2001-07-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8105 * MacOS/config.h Win32/config.h
8106 Attempted to bring these two files uptodate with src/config.h. As I don't
8107 have access to either of these systems support for them may be completely
8110 2001-06-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8113 Fixed bug for big endian processors that can't read 32 bit IEEE floats. Now
8114 tested on Intel x86 and UltraSparc processors.
8116 2001-06-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8119 Modified to allow REX files (from Propellorhead's Recycle and Reason
8120 programs) to be read.
8121 REX files are basically an AIFF file with slightly unusual sequence of
8122 chunks (AIFF files are supposed to allow any sequence) and some extra
8123 application specific information.
8124 Not yet able to write a REX file as the details of the application specific
8127 2001-06-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8130 Fixed endian bug when reading PEAK chunk on big endian machines.
8133 Fixed endian bug when reading PEAK chunk on big endian machines with
8134 --enable-force-broken-float configure option.
8135 Fix psf_binheader_writef for (FORCE_BROKEN_FLOAT ||______)
8137 2001-06-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8139 * configure.in src/config.h.in
8140 Removed old CAN_READ_WRITE_x86_IEEE configure variable now that float
8141 capabilities are detected at run time.
8142 Added FORCE_BROKEN_FLOAT to allow testing of broken float code on machines
8143 where the processor can in fact handle floats correctly.
8146 Rejigged code reading and writing of floats on broken processors.
8149 Removed this directory and all its files as they are no longer needed.
8151 2001-06-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8153 * tests/peak_chunk_test.c
8154 New test to validate reading and writing of peak chunk.
8156 * examples/sfconvert
8157 Added -float32 option.
8160 Changed all error return values to negative values (ie the negative of what
8163 * src/sndfile.c tests/error_test.c
8164 Modified to take account of the previous change.
8166 2001-06-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8169 File renamed from wav_float.c and renamed function to something more
8171 Added runtime detection of floating point capabilities.
8172 Added recording of peaks during write for generation of PEAK chunk.
8174 * src/wav.c src/aiff.c
8175 Added handing for PEAK chunk for floating point files. PEAK is read when the
8176 file headers are read and generated when the file is closed. Logic is in
8177 place for adding PEAK chunk to end of file when writing to a pipe (reading
8178 and writing from/to pipe to be implemented soon).
8181 Modified sf_signal_max () to use PEAK values if present.
8183 2001-06-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8186 Added pcm_read_init () and pcm_write_init () to src/pcm.c and removed all
8187 other calls to functions in this file from the filetype specific files.
8190 Added alaw_read_init (), alaw_write_int (), ulaw_read_init () and
8191 ulaw_write_init () and removed all other calls to functions in alaw.c and
8192 ulaw.c from the filetype specific files.
8194 * tests/write_read_test.c
8195 Added tests to validate sf_seek () on all file types.
8198 Implemented raw_seek () function to fix a bug where
8199 sf_seek (file, 0, SEEK_SET) on a RAW file failed.
8202 Fixed a bug in paf24_seek () found due to added seeks tests in
8203 tests/write_read_test.c
8205 2001-06-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8207 * tests/read_seek_test.c
8208 Fixed a couple of broken binary files.
8210 * src/aiff.c src/wav.c
8211 Added handling of PEAK chunks on file read.
8213 2001-05-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8215 * check_libsndfile.py
8216 New file for the regression testing of libsndfile.
8217 check_libsndfile.py is a Python script which reads in a file containing
8218 filenames of audio files. Each file is checked by running the examples/sfinfo
8219 program on them and checking for error or warning messages in the libsndfile
8222 * check_libsndfile.list
8223 This is an example list of audio files for use with check_libsndfile.py
8225 * tests/lossy_comp_test.c
8226 Changed the defined value of M_PI for math header files which don't have it.
8227 This fixed validation test failures on MetroWerks compilers. Thanks to Lord
8228 Praetor Satanus of Acheron for bringing this to my attention.
8230 2001-05-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8233 Removed psf_header_setf () which was no longer required after refactoring
8234 and simplification of header writing.
8235 Added 'z' format specifier to psf_binheader_writef () for zero filling header
8236 with N bytes. Used by paf.c and nist.c
8238 * tests/check_log_buffer.c
8239 New file implementing check_log_buffer () which reads the log buffer of a
8240 SNDFILE* object and searches for error and warning messages. Calls exit ()
8244 Added calls to check_log_buffer () after each call to sf_open_XXX ().
8246 2001-05-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8248 * src/wav.c src/wav_ms_adpcm.c src/wav_gsm610.c
8249 Major rehack of header writing using psf_binheader_writef ().
8251 2001-05-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8253 * src/wav.c src/wav_ima_adpcm.c
8254 Major rehack of header writing using psf_binheader_writef ().
8256 2001-05-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8259 Changed return type of get_encoding_str () to prevent compiler warnings on
8262 * src/aiff.c src/au.c
8263 Major rehack of header writing using psf_binheader_writef ().
8265 2001-05-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8267 * src/common.h src/common.c
8269 Name of log buffer changed from strbuffer to logbuffer.
8270 Name of log buffer index variable changed from strindex to logindex.
8273 Changed name of internal logging function from psf_sprintf () to
8275 Changed name of internal header generation functions from
8276 psf_[ab]h_printf () to psf_asciiheader_printf () and
8277 psf_binheader_writef ().
8278 Changed name of internal header manipulation function psf_hsetf () to
8281 2001-05-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8284 Fixed reading and writing of sample_byte_format header. "01" means little
8285 endian and "10" means big endian regardless of bit width.
8288 Detect Mac OSX and disable -Wall and -pedantic gcc options. Mac OSX is
8289 way screwed up and spews out buckets of warning messages from the system
8291 Added --disable-gcc-opt configure option (sets gcc optimisation to -O0 ) for
8293 Made decision to harmonise source code version number and .so library
8294 version number. Future releases will stick to this rule.
8296 * doc/new_file_type.HOWTO
8297 New file to document the addition of new file types to libsndfile.
8299 2001-05-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8302 New file for reading/writing Sphere NIST audio file format.
8303 Originally requested by Elis Pomales in 1999.
8304 Retrieved from unstable (and untouched for 18 months) branch of libsndfile.
8305 Some vital information gleaned from the source code to Bill Schottstaedt's
8306 sndlib library : ftp://ccrma-ftp.stanford.edu/pub/Lisp/sndlib.tar.gz
8307 Currently reading and writing 16, 24 and 32 bit, big-endian and little
8308 endian, stereo and mono files.
8310 * src/common.h src/common.c
8311 Added psf_ah_printf () function to help construction of ASCII headers (ie NIST).
8314 Added test for vsnprintf () required by psf_ah_printf ().
8316 * tests/write_read_test.c
8317 Added tests for supported NIST files.
8319 2001-05-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8321 * tests/write_read_test.c
8322 Added tests for little endian AIFC files.
8325 Minor re-working of aiff_open_write ().
8326 Added write support for little endian PCM encoded AIFC files.
8328 2001-05-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8331 Minor re-working of aiff_open_read ().
8332 Added read support for little endian PCM encoded AIFC files from the Mac
8333 OSX CD ripper program. Guillaume Lessard provided a couple of sample files
8334 and a working patch.
8335 The patch was not used as is but gave a good guide as to what to do.
8337 2001-05-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8340 Fixed comments about endian-ness of WAV and AIFF files. Guillaume Lessard
8341 pointed out the error.
8343 2001-04-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8345 * examples/make_sine.c
8346 Re-write of this example using sample rate and required frequency in Hz.
8348 2001-02-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8351 Fixed bug that prevented known file types from being read as RAW PCM data.
8353 2000-12-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8356 Added handing of COMT chunk.
8358 2000-11-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8360 * examples/sfconvert.c
8361 Fixed bug in normalisatio code. Pointed out by Johnny Wu.
8363 2000-11-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8366 Fixed the incorrect setting of HAVE_ENDIAN_H parameter. Win32 only issue.
8368 2000-10-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8371 Added -lm for write_read_test_LDADD.
8373 2000-10-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8375 * src/sndfile.c src/au.c
8376 Fixed bug which prevented writing of G723 24kbps AU files.
8378 * tests/lossy_comp_test.c
8379 Corrrection to options for G723 tests.
8382 Added --disable-gcc-pipe option for DJGPP compiler (gcc on MS-DOS) which
8383 doesn't allow gcc -pipe option.
8385 2000-09-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8387 * src/ulaw.c src/alaw.c src/wav_imaadpcm.c src/msadpcm.c src/wav_gsm610.c
8388 Fixed normailsation bugs shown up by new double_test program.
8390 2000-08-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8393 Fixed bug in normalisation code (spotted by Steve Lhomme).
8395 * tests/double_test.c
8396 New file to test scaled and unscaled sf_read_double() and sf_write_double()
8399 2000-08-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8402 Changed to the LGPL COPYING file (spotted by H. S. Teoh).
8404 2000-08-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8407 Removed prototype of unimplemented function sf_get_info(). Added prototype
8408 for sf_error_number() Thanks to Sigbjørn Skjæret for spotting these.
8410 2000-08-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8413 New file to contain a complete rewrite of the PCM data handling.
8415 2000-08-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8418 Fixed a leak of FILE* pointers in sf_open_write(). Thanks to Sigbjørn
8419 Skjæret for spotting this one.
8421 2000-08-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8423 * src/au_g72x.c src/G72x/g72x.c
8424 Added G723 encoded AU file support.
8426 * tests/lossy_comp_test.c
8427 Added tests for G721 and G723 encoded AU files.
8429 2000-08-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8432 Changed the license to LGPL. Albert Faber who had copyright on
8433 Win32/unistd.h gave his permission to change the license on that file. All
8434 other files were either copyright erikd AT mega-nerd DOT com or copyright
8435 under a GPL/LGPL compatible license.
8437 2000-08-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8439 * tests/lossy_comp_test.c
8440 Fixed incorrect error message.
8442 * src/au_g72x.c src/G72x/*
8443 G721 encoded AU files now working.
8445 * Win32/README-Win32.txt
8446 Replaced this file with a new one which gives a full explanation
8447 of how to build libsndfile under Win32. Thanks to Mike Ricos.
8449 2000-08-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8452 Removed double leading underscores from the start of all variable and
8453 function names. Identifiers with a leading underscores are reserved
8454 for use by the compiler.
8456 * src/au_g72x.c src/G72x/*
8457 Continued work on G721 encoded AU files.
8459 2000-07-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8462 New files for reading/writing G721 and G723 ADPCM audio. These files
8463 are from a Sun Microsystems reference implementation released under a
8464 free software licence.
8465 Extensive changes to this code to make it fit in with libsndfile.
8466 See the ChangeLog in this directory for details.
8469 New file for G721 encoded AU files.
8471 2000-07-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8473 * libsndfile.spec.in
8474 Added a spec file for making RPMs. Thanks to Josh Green for supplying this.
8476 2000-06-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8478 * src/sndfile.c src/sndfile.h
8479 Add checking for and handling of header-less u-law encoded AU/SND files.
8480 Any file with a ".au" or ".snd" file extension and without the normal
8481 AU file header is treated as an 8kHz, u-law encoded file.
8484 New function for opening a headerless u-law encoded file for read.
8486 2000-06-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8489 Add checking for files shorter than minimal PAF file header length.
8491 2000-06-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8493 * tests/write_read_test.c
8494 Added extra sf_perror() calls when sf_write_XXXX fails.
8496 2000-05-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8499 Modified usage of va_arg() macro to work correctly on PowerPC
8500 Linux. Thanks to Kyle Wheeler for giving me ssh access to his
8501 machine while I was trying to track this down.
8503 * configure.in src/*.[ch]
8504 Sorted out some endian-ness issues brought up by PowerPC Linux.
8506 * tests/read_seek_test.c
8507 Added extra debugging for when tests fail.
8509 2000-05-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8512 Fixed bug in GSM 6.10 handling for big-endian machines. Thanks
8513 to Sigbjørn Skjæret for reporting this.
8515 2000-04-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8517 * src/sndfile.c src/wav.c src/wav_gsm610.c
8518 Finallised writing of GSM 6.10 WAV files.
8520 * tests/lossy_comp_test.c
8521 Wrote new test code for GSM 6.10 files.
8524 Fixed incorrect format in printf() statement.
8526 2000-04-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8529 Fixed comments about sf_perror () and sf_error_str ().
8531 2000-03-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8534 Fixed --enable-justsrc option.
8536 2000-03-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8539 Fixed checking of bytespersec field of header. Still some weirdness
8542 2000-03-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8544 * tests/lossy_comp_test.c
8545 Added option to test PCM WAV files (sanity check).
8546 Fixed bug in sf_seek() tests.
8548 2000-02-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8550 * src/sndfile.c src/wav.c
8551 Minor changes to allow writing of GSM 6.10 WAV files.
8553 2000-02-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8555 * configure.in Makefile.am src/Makefile.am
8556 Finally got around to figuring out how to build a single library from
8557 multiple source directories.
8558 Reading GSM 6.10 files now seems to work.
8560 2000-01-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8563 Added more error reporting in read_fmt_chunk().
8565 1999-12-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8568 Modified program to accept multiple filenames from the command line.
8570 1999-11-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8572 * src/wav_ima_adpcm.c
8573 Moved code around in preparation to adding ability to read/write IMA ADPCM
8576 1999-11-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8579 Fixed put_int() and put_short() macros used by _psf_hprintf() which were
8580 causing seg. faults on Sparc Solaris.
8582 1999-11-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8585 Added string.h to includes. Thanks to Sigbjxrn Skjfret.
8588 Fixed __svx_close() function to ensure FORM and BODY chunks are correctly
8591 1999-10-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8594 Fixed handling of incorrect size field in AU header on read. Thanks to
8595 Christoph Lauer for finding this problem.
8597 1999-09-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8600 Fixed a bug with incorrect SSND chunk length being written. This also lead
8601 to finding an minor error in AIFF header parsing. Thanks to Dan Timis for
8604 1999-09-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8607 Fixed a bug with reading and writing 24 bit stereo PAF files. This problem
8608 came to light when implementing tests for the new functions which operate
8609 in terms of frames rather than items.
8611 1999-09-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8614 Modified file type detection to use first 12 bytes of file rather than
8615 file name extension. Required this because NIST files use the same
8616 filename extension as Microsoft WAV files.
8618 * src/sndfile.c src/sndfile.h
8619 Added short, int and double read/write functions which work in frames
8620 rather than items. This was originally suggested by Maurizio Umberto
8623 1999-09-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8626 Finished off implementation of write using __psf_hprintf().
8628 1999-09-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8631 Added a buffer to SF_PRIVATE for writing the header. This is required
8632 to make generating headers for IFF/SVX files easier as well as making
8633 it easier to do re-write the headers which will be required when
8634 sf_rewrite_header() is implemented.
8637 Implemented __psf_hprintf() function. This is an internal function
8638 which is documented briefly just above the code.
8640 1999-09-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8643 Fixed a bug in sf_write_raw() where it was returning incorrect values
8644 (thanks to Richard Dobson for finding this one). Must put in a test
8645 routine for sf_read_raw and sf_write_raw.
8648 Fixed default FORMsize in __aiff_open_write ().
8651 Added copy of filename to internal data structure. IFF/SVX files
8652 contain a NAME header chunk. Both sf_open_read() and sf_open_write()
8653 copy the file name (less the leading path information) to the
8657 Started implementing writing of files.
8659 1999-08-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8662 New file for reading/writing 8SVX and 16SVX files.
8664 * src/sndfile.[ch] src/common.h
8665 Changes for SVX files.
8668 Fixed header parsing when unknown chunk is found.
8670 1999-08-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8673 New file for reading/writing Ensoniq PARIS audio file format.
8675 * src/sndfile.[ch] src/common.h
8676 Changes for PAF files.
8679 Added stuff for sf_get_lib_version() function.
8682 1999-07-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8684 * src/sndfile.h MacOS/config.h
8685 Fixed minor MacOS configuration issues.
8687 1999-07-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8690 Added a new directory for the MacOS config.h file and the
8694 Fixed calculation of datalength when reading SSND chunk. Thanks to
8695 Sigbjørn Skjæret for pointing out this error.
8697 1999-07-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8699 * src/sndfile.c src/sndfile.h src/raw.c
8700 Further fixing of #includes for MacOS.
8702 1999-07-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8704 * src/wav.c src/aiff.c
8705 Added call to ferror () in main header parsing loop of __XXX_open_read
8706 functions. This should fix problems on platforms (MacOS, AmigaOS) where
8707 fseek()ing or fread()ing beyond the end of the file puts the FILE*
8708 stream in an error state until clearerr() is called.
8710 * tests/write_read_test.c
8711 Added tests for RAW header-less PCM files.
8714 Moved definition of struct tribyte to pcm.c which is the only place
8718 Modified all code which assumed sizeof (struct tribyte) == 3. This code
8719 did not work on MacOS. Thanks to Ben "Jacobs" for pointing this out.
8722 Removed <sys/stat.h> from list of #includes (not being used).
8725 Added MacOS specific #ifdef to replace <sys/stat.h>.
8728 Added MacOS specific #ifdef to replace <sys/stat.h>.
8731 Added MacOS specific typedef for off_t.
8734 New file with instructions for building libsndfile under MacOS. Thanks
8735 to Ben "Jacobs" for supplying these instructions.
8737 1999-07-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8740 Removed sndfile.h from generated file list as there were no longer
8741 any autoconf substitutions being made.
8744 New file for handling raw header-less PCM files. In order to open these
8745 for read, the user must specify format, pcmbitwidth and channels in the
8746 SF_INFO struct when calling sf_open_read ().
8749 Added support for raw header-less PCM files.
8751 1999-07-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8754 Removed options so the sfinfo program always prints out all the information.
8756 1999-07-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8759 New file for A-law encoding (similar to u-law).
8762 New test program to test the A-law encode/decode lookup tables.
8764 * tests/lossy_comp_test.c
8765 Added tests for a-law encoded WAV, AU and AULE files.
8767 1999-07-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8769 * src/sndfile.c src/au.c
8770 Removed second "#include <unistd.h>". Thanks to Ben "Jacobs" for pointing
8773 1999-07-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8776 New test program to test the u-law encode/decode lookup tables.
8778 1999-07-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8781 Made corrections to comments on the return values from sf_seek ().
8784 Fixed boundary condition checking bug and accounting bug in sf_read_raw ().
8786 1999-07-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8788 * src/au.c src/ulaw.c
8789 Finished implementation of u-law encoded AU files.
8792 Implemented reading and writing of u-law encoded WAV files.
8795 Changed name of adpcm_test.c to lossy_comp_test.c. This test program
8796 will now be used to test Ulaw and Alaw encoding as well as APDCM.
8797 Added tests for Ulaw encoded WAV files.
8799 1999-07-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8801 * tests/adpcm_test.c
8802 Initialised amp variable in gen_signal() to remove compiler warning.
8804 1999-07-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8807 In __aiff_open_read () prevented fseek()ing beyond end of file which
8808 was causing trouble on MacOS with the MetroWerks compiler. Thanks to
8809 Ben "Jacobs" for pointing this out.
8812 Fixed as above in __wav_open_read ().
8814 1999-07-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8816 * src/wav_ms_adpcm.c
8817 Implemented MS ADPCM encoding. Code cleanup of decoder.
8819 * tests/adpcm_test.c
8820 Added tests for MS ADPCM WAV files.
8822 * src/wav_ima_adpcm.c
8823 Fixed incorrect parameter in call to srate2blocksize () from
8824 __ima_writer_init ().
8826 1999-06-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8828 * tests/read_seek_test.c
8829 Added test for 8 bit AIFF files.
8831 1999-06-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8833 * tests/write_read_test.c
8834 Removed test for IMA ADPCM WAV files which is now done in adpcm_test.c
8837 Added -Wconversion to CFLAGS.
8839 * src/*.c tests/*.c examples/*.c
8840 Fixed all warnings resulting from use of -Wconversion.
8842 1999-06-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8845 Added fact chunk handling on read and write for all non WAVE_FORMAT_PCM
8849 Changed block alignment to be dependant on sample rate. This should make
8850 WAV files created with libsndfile compatible with the MS Windows media
8853 * tests/adpcm_test.c
8854 Reimplemented adpcm_test_short and implemented adpcm_test_int and
8856 Now have full testing of IMA ADPCM WAV file read, write and seek.
8858 1999-06-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8861 Fixed function prototype for x86f2d_array () which was causing ocassional
8862 seg. faults on Sparc Solaris machines.
8864 1999-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8867 Fixed bug in __aiff_close where the length fields in the header were
8868 not being correctly calculated before writing.
8870 * tests/write_read_test.c
8871 Modified to detect the above bug in WAV, AIFF and AU files.
8873 1999-06-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8876 Added a contribution from Albert Faber to allow libsndfile to compile
8877 under Win32 systems. libsndfile will now be used as part of LAME the
8878 the MPEG 1 Layer 3 encoder (http://internet.roadrunner.com/~mt/mp3/).
8880 1999-06-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8883 Changed to reflect previous changes.
8885 * src/wav_ima_adpcm.c
8886 Fixed incorrect calculation of bytespersec header field (IMA ADPCM only).
8888 Fixed bug when writing from int or double data to IMA ADPCM file. Will need
8889 to write test code for this.
8891 Fixed bug in __ima_write () whereby the length of the current block was
8892 calculated incorrectly. Thanks to Jongcheon Park for pointing this out.
8894 1999-03-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8897 Changed all read/write/lseek function calls to fread/fwrite/
8898 fseek/ftell and added error checking of return values from
8899 fread and fwrite in critical areas of the code.
8902 Fixed incorrect datasize element in AU header on write.
8904 * tests/error_test.c
8905 Add new test to check all error values have an associated error
8906 string. This will avoid embarrassing real world core dumps.
8908 1999-03-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8910 * src/wav.c src/aiff.c
8911 Added handling for unknown chunk markers in the file.
8913 1999-03-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8916 Filled in missing error strings in SndfileErrors array. Missing entries
8917 can cause core dumps when calling sf_error-str (). Thanks to Sam
8918 <mrsam at-sign geocities.com> for finding this problem.
8920 1999-03-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8922 * src/wav_ima_adpcm.c
8923 Work on wav_ms_adpcm.c uncovered a bug in __ima_read () when reading
8924 stereo files. Caused by not adjusting offset into buffer of decoded
8925 samples for 2 channels. A similar bug existed in __ima_write ().
8926 Need a test for stereo ADPCM files.
8928 * src/wav_ms_adpcm.c
8929 Decoder working correctly.
8931 1999-03-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8933 * configure.in Makefile.am
8934 Added --enable-justsrc configuration variable sent by Sam
8935 <mrsam at-sign geocities.com>.
8937 * src/wav_ima_adpcm.c
8938 Fixed bug when reading beyond end of data section due to not
8939 checking pima->blockcount.
8940 This uncovered __ima_seek () bug due to pima->blockcount being set
8941 before calling __ima_init_block ().
8943 1999-03-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8946 Started implementing MS ADPCM decoder.
8947 If file is WAVE_FORMAT_ADPCM and length of data chunk is odd, this
8948 encoder seems to add an extra byte. Why not just give an even data
8951 1999-03-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8954 Split code out of wav.c to create wav_float.c and wav_ima_adpcm.c.
8955 This will make it easier to add and debug other kinds of WAV files
8958 1999-03-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8961 Added adpcm_test.c which implements test functions for
8962 IMA ADPCM reading/writing/seeking etc.
8965 Fixed many bugs in IMA ADPCM encoder and decoder.
8967 1999-03-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8970 Finished implementing IMA ADPCM encoder and decoder (what a bitch!).
8972 1999-03-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8975 Started implementing IMA ADPCM decoder.
8977 1999-03-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8980 Fixed bug where the sf_read_XXX functions were returning a
8981 incorrect read count when reading past end of file.
8982 Fixed bug in sf_seek () when seeking backwards from end of file.
8984 * tests/read_seek_test.c
8985 Added multiple read test to short_test(), int_test () and
8987 Added extra chunk to all test WAV files to test that reading
8988 stops at end of 'data' chunk.
8990 1999-02-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8992 * tests/write_read_test.c
8993 Added tests for little DEC endian AU files.
8996 Add handling for DEC format little endian AU files.
8998 1999-02-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9000 * src/aiff.c src/au.c src/wav.c
9001 Add __psf_sprintf calls during header parsing.
9003 * src/sndfile.c src/common.c
9004 Implement sf_header_info (sndfile.c) function and __psf_sprintf (common.c).
9006 * tests/write_read_test.c
9007 Added tests for 8 bit PCM files (WAV, AIFF and AU).
9009 * src/au.c src/aiff.c
9010 Add handling of 8 bit PCM data format.
9013 On write, set blocksize in SSND chunk to zero like everybody else.
9015 1999-02-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9018 Fixed bug in let2s_array (cptr was not being initialised).
9021 Fixed bug in sf_read_raw and sf_write_raw. sf_seek should
9022 now work when using these functions.
9024 1999-02-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9026 * tests/write_read_test.c:
9027 Force test_buffer array to be double aligned. Sparc Solaris
9030 1999-02-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9033 Fixed a bug which was causing errors in the reading
9034 and writing of 24 bit PCM files.
9037 Finished of preliminary documentaion.
9039 1999-02-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9042 Changed reading of 'COMM' chunk to avoid reading an int
9043 which overlaps an int (4 byte) boundary.