1 2011-07-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4 Fix return value of SFC_SET_VBR_ENCODING_QUALITY command.
7 Document SFC_SET_VBR_ENCODING_QUALITY, SFC_GET/SET_LOOP_INFO and
10 * NEWS README configure.ac doc/*.html
13 2011-07-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
16 Add handling for HAVE_SYS_WAIT_H.
18 * Makefile.am src/Makefile.am tests/Makefile.am
19 Add 'checkprograms' target.
21 2011-07-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
23 * src/common.h src/sndfile.c
24 Purge SF_ASSERT macro. Use standard C assert instead.
26 * src/paf.c src/common.h src/sndfile.c
27 Fix for Secunia Advisory SA45125, heap overflow (heap gets overwritten with
28 byte value of 0) due to integer overflow if PAF file handler.
30 * src/ima_adpcm.c src/ms_adpcm.c src/paf.c
31 Use calloc instead of malloc followed by memset.
34 Clean up use of memset.
36 2011-07-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
41 * tests/format_check_test.c
42 Fix compiler warnings.
44 2011-07-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
47 Fix error message for erro code SFE_ZERO_MINOR_FORMAT.
49 * tests/format_check_test.c
50 Add a test to for SF_FINFO format field validation.
52 * src/ogg.c src/ogg_vorbis.c src/ogg.h src/ogg_pcm.c src/ogg_speex.c
53 src/common.h src/Makefile.am
54 Move vorbis specific code to ogg_vorbis.c, add new files for handling PCM
55 and Speex codecs in an Ogg container. The later two are only enabled with
56 ENABLE_EXPERIMENTAL_CODE config variable.
58 2011-06-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
61 Clean up and refactor storage of SF_STR_SOFTWARE.
63 2011-06-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
65 * src/sndfile.h.in doc/api.html
66 Fix definition of SF_STR_LAST and update SF_STR_* related docs. Thanks to
67 Tim van der Molen for the patch.
69 2011-06-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
71 * programs/sndfile-interleave.c
72 Fix handling of argc. Thanks to Marius Hennecke.
75 Accept broken WAV files with blockalign == 0. Thanks to Olivier Tristan for
76 providing example files.
79 Jump over 'FLLR' chunks.
81 2011-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
84 Fix -Wundef warning due to ENABLE_SNDFILE_WINDOWS_PROTOTYPES.
87 Add -Wundef to CFLAGS.
92 2011-05-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
95 Use int64_t instead of off_t when they are the same size.
97 * src/Makefile.am tests/Makefile.am
98 Use check_PROGRAMS instead of noinst_PROGRAMS where appropriate.
100 2011-05-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
103 Don't allow unknown and/or un-editable chunks to prevent the file from being
104 opened in SFM_RDWR mode.
106 2011-04-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
108 * tests/format_check_test.c
109 Fix segfault in test program.
111 2011-04-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
113 * tests/format_check_test.c
114 New test program to check to make sure that sf_open() and sf_check_format()
115 agree as to what is a valid program.
117 * tests/Makefile.am tests/test_wrapper.sh.in
118 Hook into build and test runner.
121 Fix some sf_format_check() problems. Thanks to Charles Van Winkle for the
124 2011-04-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
127 Add validation to size of 'data' chunk and fix size of written 'data'
128 chunk. Thanks to Michael Pruett for reporting this.
130 2011-03-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
132 * src/* tests/* programs/*
133 Fix a bunch of compiler warnings with gcc-4.6.
135 2011-03-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
138 Add NOT macro to util.h.
141 Fix handling of SF_STR_SOFTWARE that resulted in a segfault due to calling
142 strlen() on an unterminated string. Thanks to Francois Thibaud for reporting
145 * tests/string_test.c
146 Add test for SF_STR_SOFTWARE segfault bug.
149 Sanitize FLAC_CFLAGS value supplied by pkg-config which returns a value of
150 '-I${includedir}/FLAC'. However FLAC also provides an include file
151 <assert.h> which clashes with the Standard C header of the same name. The
152 solution is strip the 'FLAC' part off the end and include all FLAC headers
155 * configure.ac src/Makefile.am
156 Use non-recursive make in src/ directory.
158 2011-03-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
160 * NEWS README docs/*.html
161 Updates for 1.0.24 release.
163 2011-03-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
166 Fix up usage of sed (should not assume GNU sed).
168 * M4/add_(c|cxx)flags.m4
169 Test flags in isolation.
172 Fix a broken test (test segfaults). Report by Dave Flogeras.
174 2011-03-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
176 * programs/common.[ch]
177 Add function program_name() which returns the program name minus the path
180 * programs/*.c programs/Makefile.am
181 Use program_name() where appropriate. Fix build.
183 2011-03-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
186 For u-law and A-law files, write an 18 byte 'fmt ' chunk instead of a 16
187 byte one. Win98 accepts files with a 16 but not 18 byte 'fmt' chunk. Later
188 version accept 18 byte but not 16 byte.
190 2011-03-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
193 Add examples for question 12.
195 * doc/libsndfile.css.in
196 Add tweaks for h4 element.
199 Add documentation for virtual I/O functionality. Thanks to Uli Franke.
202 Add static inline functions sf_info_clear() and sf_info_setup().
204 * tests/(alaw|dwvw|ulaw)_test.c
205 Use functions sf_info_clear() and sf_info_setup().
207 2011-03-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
210 Fail more gracefully if pkg-config is missing. Suggestion from Brian
213 2011-02-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
216 Use size_t instead of int for size params with varargs.
218 2011-02-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
221 Update supported platforms with more Debian platforms and Android.
223 2011-01-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
226 Add an LPCWSTR version of the SndfileHandle constructor to the SndfileHandle
227 class definition. Thanks to Eric Eizenman for pointing out this was missing.
230 Add test for LPCWSTR version of the SndfileHandle constructor.
232 2011-01-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
234 * programs/sndfile-play.c
237 2010-12-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
240 Add methods rawHandle() and takeOwnership(). Thanks to Tim Blechmann for
244 Add tests for above two methods. Also supplied by Tim Blechmann.
246 2010-11-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
249 Add mention of use of sf_strerror() when sf_open() fails.
251 2010-11-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
254 Make TYPEOF_SF_COUNT_T int64_t where possible. This may fix problems where
255 people are compiling on a 64 bit system with the GCC -m32 flag.
258 Fix comments on sf_count_t.
260 2010-10-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
263 Handle non-zero offset field in SSND chunk. Thanks to Michael Chinen.
265 2010-10-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
268 Sed fix for FreeBSD. Thanks Tony Theodore.
270 2010-10-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
272 * shave.in M4/shave.m4
273 Fix shave invocation of windres compiler. Thanks Damien Lespiau (upstream
276 * configure.ac M4/shave.m4 shave-libtool.in shave.in
277 Switch from shave to automake-1.11's AM_SILENT_RULES.
279 2010-10-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
281 * shave-libtool.in shave.in
282 Sync to upstream version.
285 More work to make the parser more robust and accepting of mal-formed files.
287 2010-10-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
290 Add functions psf_strlcpy() and psf_strlcat().
292 * src/broadcast.c src/sndfile.c src/strings.c src/test_main.c
293 src/test_main.h src/test_strncpy_crlf.c
294 Use functions psf_strlcpy() and psf_strlcat() as appropriate.
296 * tests/string_test.c
297 Add tests for SF_STR_GENRE and SF_STR_TRACKNUMBER.
300 Fix size of 'ds64' chunk when writing RF64.
302 2010-10-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
305 Add the libsndfile version to the usage message of all programs.
307 2010-10-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
309 * configure.ac src/version-metadata.rc.in src/Makefile.am
310 Add version string resources to the windows DLL.
313 Update to add missing SF_FORMAT_* values. Closed Debian bug #545257.
315 * NEWS README configure.ac doc/*.html
316 Updates for 1.0.23 release.
318 2010-10-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
320 * tests/pedantic-header-test.sh.in
321 Handle unusual values of CC environment variable.
324 Minor tweaks and additional sanity checking.
326 * src/Makefile.am src/binheader_writef_check.py
329 2010-10-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
332 Add a missing 'inline' before a constructor defintion.
334 2010-10-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
342 * Makefile.am */Makefile.am
343 Add *~ to CLEANFILES.
345 2010-10-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
348 Fix a typo in the error string for SFE_OPEN_PIPE_RDWR. Thanks to Charles
349 Van Winkle for the report.
351 2010-10-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
353 * src/flac.c src/ogg.c src/sndfile.h.in src/strings.c src/wav.c
354 Add ability to read/write tracknumber and genre to flac/ogg/wav files.
355 Thanks to Matti Nykyri for the patch.
357 * src/common.h src/broadcast.c src/strings.c
358 Add function psf_safe_strncpy() and use where appropriate.
360 2010-10-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
362 * NEWS README configure.ac doc/*.html
363 Updates for 1.0.22 release.
365 2010-10-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
367 * src/common.h src/broadcast.c src/rf64.c src/sndfile.c src/wav.c
368 Rewrite of SF_BROADCAST_INFO handling.
370 * src/test_broadcast_var.c tests/command_test.c
371 Tweak SF_BROADCAST_INFO tests.
373 * src/test_broadcast_var.c
374 Fix OSX stack check error.
376 2010-09-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
379 Set sustain_loop_end to 0 as suggested by Brian Lewis.
381 2010-09-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
384 Make sure the correct frame count gets written into the header.
386 * tests/write_read_test.tpl
387 Don't allow SDS files to have a long frame count.
389 2010-09-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
392 Apply a pair of patches from Brian Lewis to fix the packet number location
395 2010-09-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
397 * src/aiff.c src/file_io.c src/ogg.c src/rf64.c src/sndfile.c
398 src/strings.c src/test_audio_detect.c src/test_strncpy_crlf.c
399 src/wav.c tests/pcm_test.tpl
400 Fix a bunch of minor issues found using static analysis.
402 2010-08-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
404 * src/test_broadcast_var.c
405 New file containing tests for broadcast_set_var().
407 * src/Makefile.am src/test_main.[ch]
408 Hook test_broadcast_var.c into tests.
410 2010-08-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
412 * src/broadcast.c src/common.(c|h)
413 Move function strncpy_crlf() to src/common.c so the function can be tested
416 * src/test_strncpy_crlf.c
419 * src/Makefile.am src/test_main.[ch]
420 Hook test_strncpy_crlf.c into tests.
422 2010-08-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
425 Move code around to make comments make sense.
428 Add debugging code that is disabled by default.
430 2010-08-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
433 When the file meta data says the file has zero frames set psf->sf.frames
434 to SF_COUNT_MAX. Fixes Debian bug #590752.
436 * programs/sndfile-info.c
437 Print 'unknown' if frame count == SF_COUNT_MAX.
439 2010-06-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
442 Only support writing mono SVX files. Multichannel SVX files are not
443 interleaved and there is no support infrastructure to cache and write
444 multiple channels to create a non-interleaved file.
447 Don't call close() on a file descriptor of -1. Thanks to Jeremy Friesner
450 2010-06-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
456 Use SF_ASSERT to ensure sizeof (sf_count_t) == 8.
459 Add support for reading and writing stereo SVX files.
461 2010-05-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
464 When compiling with x86_64-w64-mingw32-gcc link with -static-libgcc flags.
466 * programs/common.c programs/sndfile-metadata-set.c
467 Update metadata after the audio data is copied. Other minor fixes. Patch
468 from Marius Hennecke.
470 2010-05-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
473 Fix a regression reported by Hugh Secker-Walker.
476 Add comment about sf_open_fd() not working on Windows if the application
477 and the libsndfile DLL are linked to different versions of the Microsoft
480 2010-04-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
482 * tests/pedantic-header-test.sh.in
483 Fix 'make distcheck'.
485 2010-04-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
487 * tests/pedantic-header-test.sh.in
488 New file to test whether sndfile.h can be compiled with gcc's -pedantic
491 * configure.ac tests/test_wrapper.sh.in
492 Hook pedantic-header-test into test suite.
495 Fix -pedantic warning.
497 2010-04-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
499 * programs/sndfile-salvage.c programs/Makefile.am
500 New program to salvage the audio data from WAV/WAVEX/AIFF files which are
501 greater than 4Gig in size.
503 2010-04-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
505 * programs/sndfile-convert.c
506 Fix valgrind warning.
508 2010-04-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
510 * programs/sndfile-cmp.c
511 When files differ in the PCM data, also print the difference offset.
514 2010-03-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
517 Don't use the 'twos' marker for 24 and 32 bit PCM, use 'in24' and 'in32'
518 instead. Thanks to Paul Davis (Ardour) for this suggestion.
520 2010-02-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
523 Clean up configure report.
526 Add functions test_read_raw_or_die and test_write_raw_or_die.
528 * tests/rdwr_test.(def|tpl) tests/Makefile.am
529 Add new test program and hook into build.
532 Fix minor issues with sf_read/write_raw(). Bug reported by Milan Křápek.
534 * tests/test_wrapper.sh.in
535 Add rdwr_test to the test wrapper script.
537 2010-02-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
540 Remove -fpascal-strings from OSX's OS_SPECIFIC_CFLAGS.
542 * programs/common.[ch] programs/sndfile-metadata-set.c
543 Apply a patch from Robin Gareus allowing the setting of the time reference
544 field of the BEXT chunk.
546 2010-02-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
549 Add a fix from Jonatan Liljedahl to handle predictor overflow when decoding
552 2010-01-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
555 Add a constructor which takes an existing file descriptor and then calls
556 sf_open_fd(). Patch from Sakari Bergen.
558 2010-01-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
560 * programs/sndfile-deinterleave.c programs/sndfile-interleave.c
561 Improve usage messages.
563 2010-01-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
565 * src/id3.c src/Makefile.am
566 Add new file src/id3.c and hook into build.
568 * src/sndfile.c src/common.h
569 Detect and skip and ID3 header at the start of the file.
571 2010-01-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
574 Fix update_strings() copyright, comment, album and license are correctly
575 written. Thanks to Todd Allen for reporting this.
578 Change GNU makeism to something more widely supported. Thanks to Christian
579 Weisgerber for reporting this.
581 * configure.ac programs/Makefile.am programs/sndfile-play.c
582 Apply patch from Christian Weisgerber and Jacob Meuserto add support for
585 2010-01-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
588 Discourage the use of sf_read/write_raw().
590 2009-12-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
593 Test for Unix pipe() and waitpid() functions.
595 * src/sfconfig.h tests/pipe_test.tpl
596 Disable pipe_test if pipe() and waitpid() aren't available.
598 2009-12-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
600 * configure.ac src/Makefile.am src/create_symbols_file.py
601 src/make-static-lib-hidden-privates.sh
602 Change name of generated file src/Symbols.linux to Symbols.gnu-binutils and
603 and use the same symbols file for other systems which use GNU binutils like
606 * M4/shave.m4 shave.in
607 Update shave files from upstream.
609 2009-12-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
611 * man/sndfile-metadata-get.1
614 * man/sndfile-interleave.1 man/Makefile.am
617 2009-12-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
620 When decoding to short or int, clip the decoded signal to [-1.0, 1.0] if
621 its too hot. Thanks to Dmitry Baikov for suggesting this.
623 * NEWS README doc/*.html
626 2009-12-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
628 * programs/sndfile-jackplay.c man/sndfile-jackplay.1
629 Remove these which will now be in found in the sndfile-tools package.
631 * programs/Makefile.am man/Makefile.am
632 Remove build rules for sndfile-jackplay.
635 Remove detection of JACK Audio Connect Kit.
637 * programs/sndfile-concat.c man/sndfile-concat.1
638 Add new program with man page.
640 * man/Makefile.am programs/Makefile.am
641 Hook sndfile-concat into build system.
643 2009-12-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
646 Don't terminate when sf_close() returns zero in error_close_test().
647 It seems that Windows 7 behaves differently from earlier versions of
650 2009-12-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
652 * configure.ac M4/*.m4
653 Rename all custom macros from AC_* to MN_*.
655 * programs/sndfile-interleave.c
656 Make it actually work.
658 2009-12-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
660 * doc/*.html configure.ac
661 Corrections and clarifications courtesy of Robin Forder.
663 * programs/sndfile-convert.c programs/common.[ch]
664 Move some code from convert to common for reuse.
666 * programs/sndfile-interleave.c programs/sndfile-interleave.c
667 Add new programs sndfile-interleave and sndfile-deinterleave.
669 * programs/Makefile.am
670 Hook new programs into build.
672 2009-12-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
674 * src/create_symbols_file.py tests/stdio_test.c tests/win32_test.c
675 Minor OS/2 tweaks as suggested by David Yeo.
677 * tests/multi_file_test.c
678 Fix file creation flags on windows. Thanks to Bruce Sharpe.
681 Set all group and other file create permssions to zero.
686 2009-11-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
688 * doc/print.css doc/*.html
689 Add a print stylesheet and update all HTML documents to reference it.
690 Thanks to Aditya Bhargava for suggesting this.
695 2009-11-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
698 Add a Libs.private entry to assist with static linking.
700 2009-11-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
702 * src/make-static-lib-hidden-privates.sh src/Makefile.am
703 Add a script to hide all non-public symbols in the libsndfile.a static
706 2009-11-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
708 * tests/locale_test.c
709 Correct usage of ENABLE_SNDFILE_WINDOWS_PROTOTYPES.
711 2009-11-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
714 Correct usage of ENABLE_SNDFILE_WINDOWS_PROTOTYPES.
716 2009-11-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
718 * programs/sndfile-convert.c
719 Allow the program to read from stdin by specifying '-' on the command line
723 Hash define ENABLE_SNDFILE_WINDOWS_PROTOTYPES to 1 for greater safety.
725 * tests/virtual_io_test.c
726 Add a PAF/PCM_24 test and verify the file length is not negative
727 immediately after openning the file for write.
729 2009-10-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
732 When writing loop lengths, adjust the end position by one to make up for
733 Microsoft's screwed up spec. Thanks to Olivier Tristan for the patch.
735 2009-10-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
738 Apply patch from Uli Franke allowing FLAC files to be encoded at any sample
741 2009-10-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
744 Fix parsing of odd ulaw encoded file provided by Jan Silovsky.
747 Insist on libvorbis >= 1.2.3. Earlier verions have bugs that cause the
748 libsndfile test suite to fail on MIPS, PowerPC and others.
749 See: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=549899
751 2009-10-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
753 * man/sndfile-convert.1
754 Fix warning from Debian's lintian checks.
756 * man/sndfile-cmp.1 man/sndfile-jackplay.1 man/sndfile-metadata-get.1
758 Add three new minimal manpages and hook into build.
760 2009-10-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
762 * tests/test_wrapper.sh.in
763 Don't run cpp_test on x86_64-w64-mingw32.
765 2009-09-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
768 On windows, make sure the open() function doesn't get called with a third
769 parameter of 0 which fails for no good reason. Also make sure this third
770 parameter doesn't get called with S_IRGRP when compiling for windows because
774 Add a SndfileHandle constructor for windows that takes a 'const wchar_t *'
778 Add Q/A : I'm cross compiling libsndfile for another platform. How can I
781 * src/create_symbols_file.py src/Makefile.am
782 Add Symbols.static target, a list of symbols, one per line.
784 2009-09-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
786 * tests/test_wrapper.sh.in
787 Update to allow all tests to be gathered up into a testsuite tarball and
788 then be run using this script.
790 * build-test-tarball.mk.in
791 Add a Make script to build a tarball of all the test binaries and the test
792 wrapper script. This is useful for cross compiling; you can build the
793 binaries, build test test tarball and transfer the test tarball to the
794 target machine for testing.
796 2009-09-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
798 * src/common.h src/*.c
799 Modify SF_FILE struct to allow it to carry either 8-bit or 16-bit strings
800 for the file path, directory and name. Fixes for this change throughout.
802 * src/windows.c src/Makefile.am
803 New file defining new windows only public function sf_wchar_open() which
804 takes a 'const wchar_t *' string (LPCWSTR) for the file name parameter.
807 Add SF_CHANNEL_MAP_ABISONIC_* entries.
808 Add windows only defintion for sf_wchar_open().
810 * src/create_symbols_file.py
811 Add sf_wchar_open() to the list of public symbols (windows only).
813 * tests/locale_test.c
814 Add a wchar_test() to test sf_wchar_open().
816 2009-09-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
818 * src/common.h src/*.c
819 Split file stuff into PSF_FILE struct within the SF_PRIVATE struct.
821 2009-09-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
823 * src/aiff.c src/voc.c
824 When a byte is needed, use unsigned char.
826 * src/ima_oki_adpcm.c src/broadcast.c src/test_ima_oki_adpcm.c
827 Include sfconfig.h to prevent compile errors with MinGW compilers.
830 Remove AM_CONFIG_HEADER due to warnings from autoconf 2.64.
832 * tests/locale_test.c
833 Update to work with xx_XX.UTF-8 style locales. Refactoring.
835 2009-09-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
838 Set __USE_MINGW_ANSI_STDIO to 1 when compiling using MinGW compilers.
839 Remove unneeded AC_SUBST.
840 Report Host CPU/OS/vendor.
842 2009-09-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
845 Fix error message string.
848 Add 88200 to the list of supported sample rates.
851 Fix compiler warning when using gcc-4.5.0.
853 * programs/sndfile-info.c tests/utils.tpl
854 Remove WIN32 snprintf #define.
857 Fix minor bug in aiff_ima_encode_block. Thanks to Denis Fileev for finding
860 2009-09-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
863 Use the correct C99 format specifier for int64_t.
866 Fix detection of CPU endian-ness when cross compiling. Thanks to Pierre
867 Ossman for the bug report.
869 * src/caf.c src/sndfile.c
870 Fix reading and writing of PEAK chunks in CAF files.
872 * tests/peak_chunk_test.c tests/test_wrapper.sh.in
873 Run peak_chunk_test on CAF files.
875 2009-09-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
877 * src/aiff.c src/wav.c
878 Use the correct C99 format specifier for int64_t.
880 2009-08-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
882 * src/rf64.c src/sndfile.c src/wav.c src/wav_w64.h
883 Apply a patch (massaged slightly) from Uli Franke adding handling of the
884 BEXT chunk in RF64 files.
886 * tests/command_test.c
887 Update channel_map_test() function so WAV test passes.
890 Add channel mapping and ambisonic support.
893 Add comments showing correspondance between libsndfile channel map
894 defintiions and those used by Apple and MS.
896 Add handling of reading/writing channel map info.
898 * tests/command_test.c tests/test_wrapper.sh.in
899 Update channel map tests.
901 2009-07-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
904 Add function psf_isprint() a replacement for the standard C isprint()
905 function which ignores any locale settings and treats all input as ASCII.
907 * src/(aiff|common|rf64|sd2|strings|svx|wav).c
908 Use psf_isprint() instead of isprint().
910 2009-07-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
913 Add string descriptions for SF_FORMAT_RF64 and SF_FORMAT_MPC2K.
915 2009-06-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
917 * programs/sndfile-play.c
918 Allow use of Open Sound System audio output under FreeBSD.
920 2009-06-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
923 Add patch from Conrad Parker to add --disable-jack.
925 2009-05-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
927 * src/alaw.c src/float32.c src/htk.c src/pcm.c src/sds.c src/ulaw.c
928 Fix bugs where invalid files can cause a divide by zero error (SIGFPE).
929 Thanks to Sami Liedes for reporting this a Debian bug #530831.
931 2009-05-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
934 New files for channel map decoding/encoding.
936 2009-05-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
938 * configure.ac src/sndfile.h.in
939 Fix MSVC definition of sf_count_t.
941 2009-05-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
944 Add wavex_channelmask to WAV_PRIVATE struct and add a function to convert
945 an array of SF_CHANNEL_MASK_* values into a bit mask for use in WAV files.
948 Add ability to write the channel mask.
950 2009-05-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
952 * programs/sndfile-info.c
953 Add -c command line option to dump the channel map information.
956 Don't bail from parser if channel map bitmask is faulty.
958 * src/common.h src/sndfile.c
959 Remove error code SFE_W64_BAD_CHANNEL_MAP which is not needed any more.
962 On SFC_SET_CHANNEL_MAP_INFO pass the channel map command down to container's
965 2009-05-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
967 * src/sndfile.h.in src/common.h src/sndfile.c src/wav_w64.c
968 Apply a patch from Lennart Poettering (PulseAudio) to allow reading of
969 channel data in WAV and W64 files.
970 Add a test for the above.
972 2009-05-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
975 Update the section about pre-compiled binaries for Win64.
977 2009-05-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
979 * src/common.h src/test_conversions.c
980 Be more careful when including <stdint.h> so compiling on pre-C99 platforms
981 (hello Slowlaris) might actually work.
983 * NEWS README doc/*.html
986 2009-04-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
989 Fix a bug whereby opening a specially crafted VOC file could result in a
990 heap overflow. Thanks to Tobias Klein (http://www.trapkit.de) for reporting
994 Fix potential (heap) buffer overflow when parsing 'MARK' chunk.
996 2009-04-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
999 Check psf->error after opening file.
1002 Fix obscure seeking bug reported by Hugh Secker-Walker.
1005 Add check of sf_error to test_open_file_or_die().
1008 Clear error if opening resource fork fails.
1010 2009-04-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1012 * tests/alaw_test.c tests/locale_test.c tests/ulaw_test.c
1015 2009-03-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1020 2009-03-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1023 In host_read_f2s call convert instead of f2s_array.
1028 * src/test_ima_oki_adpcm.c examples/generate.c tests/dither_test.c
1029 tests/dwvw_test.c tests/fix_this.c tests/generate.c
1030 tests/multi_file_test.c
1033 2009-03-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1035 * M4/shave.m4 shave.in
1036 Pulled update from upstream.
1038 2009-03-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1041 Add pointers to example programs in source code tarball.
1043 2009-03-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1046 Define SF_PLATFORM_S64 for non-gcc compilers with 'long long' type.
1049 Add documentation for --disable-external-libs and improve error handling
1052 * src/sndfile.c src/sndfile.h.in src/create_symbols_file.py
1053 Add public function sf_version_string.
1056 Test function sf_version_string.
1058 * M4/shave.m4 shave-libtool.in shave.in
1059 Add new files from 'git clone git://git.lespiau.name/shave'.
1064 * src/Makefile.am src/binheader_writef_check.py Octave/*
1065 Shave related tweaks.
1067 2009-03-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1069 * src/common.h src/caf.c src/sndfile.c
1070 Add SF_MAX_CHANNELS (set to 256) and use it.
1073 Check for either _MSCVER or _MSC_VER being defined.
1075 2009-03-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1077 * tests/vorbis_test.c
1078 Relax test slighly to allow test to pass on more CPUs etc.
1080 2009-03-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1083 Detect vorbis_version_string() correctly.
1085 2009-03-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1088 Add a 'See Also' section with a link to sndfile-tools.
1090 * NEWS README doc/*.html
1091 Updates for 1.0.19 release.
1094 Fix --enable-external-libs logic.
1096 2009-03-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1099 Fix resource leak and potential read beyond end of buffer.
1102 Fix reading of header value sample_n_bytes.
1104 * src/sd2.c src/wav.c
1105 Fix potential read beyond end of buffer.
1107 * src/sndfile.c src/svx.c
1108 Check return values of file_io functions.
1110 * tests/win32_test.c
1114 Detect the presence/absence of vorbis_version_string() in libvorbis.
1117 Only call vorbis_version_string() from libvorbis if present.
1119 2009-02-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1121 * tests/win32_test.c
1122 Don't use sprintf, even on windows.
1124 * src/aiff.c src/rf64.c src/wav.c
1125 Eliminate dead code, more validation of data read from file.
1127 2009-02-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1130 Clamp values to a valid range before indexing ima_step_size array.
1132 * src/GSM610/*.c tests/*c programs/*.c src/audio_detect.c
1133 Don't include un-needed headers.
1135 * programs/sndfile-info.c
1138 * tests/test_wrapper.sh.in
1139 Add 'set -e' so the script exits on error.
1141 * src/test_ima_oki_adpcm.c
1142 Fix read beyond end of array.
1144 * tests/win32_test.c
1145 Add missing close on file descriptor.
1147 * src/nist.c programs/sndfile-metadata-set.c
1148 Fix 'unused variable' warnings.
1151 Fix potential memory leak in handling of 'MARK' chunk.
1152 Remove un-needed test (unsigned > 0).
1155 Improve handling of heap allocated buffer.
1158 Remove un-needed test (always true).
1160 * src/wav.c src/rf64.c
1161 Ifdef out dead code that will be resurected some time in the future.
1163 * src/wav.c src/w64.c src/xi.c
1164 Handle error return values from psf_ftell.
1167 Fix handling and error checking of MSADPCM coefficient arrays.
1172 * src/test_file_io.c
1173 Use snprintf instead of strncpy in test program.
1175 2009-02-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1178 Validate data before using.
1181 Validate channels per frame value before using, fixing a possible integer
1182 overflow bug, leading to a possible heap overflow. Found by Alin Rad Pop of
1183 Secunia Research (CVE-2009-0186).
1185 2009-02-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1187 * Octave/octave_test.sh
1188 Unset TERM environment variable and export LD_LIBRARY_PATH.
1190 2009-02-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1193 In windows code, cast LPVOID to 'char*' in printf.
1195 2009-02-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1198 Clear the TERM environment before evaluating anything in Octave. This works
1199 around problems that might occur if a users TERM settings are incorrect.
1200 Thanks to Rob Til Freedmen for helping to debug this.
1203 Handle four zero bytes as a marker within a LIST or INFO chunk.
1204 Thanks to Rogério Brito for supplying an example file.
1206 2009-02-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1208 * src/common.h src/*.c
1209 Use C99 snprintf everywhere.
1211 2009-02-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1213 * tests/test_wrapper.sh.in
1214 New file to act as the template for the test wrapper script.
1217 Generate tests/test_wrapper.sh from the template.
1220 Replace all tests with a single invocation of the test wrapper script.
1222 2009-02-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1225 Record vorbis library version string.
1228 Require libvorbis >= 1.2.2.
1231 Fix bracketing of function for autoconf 2.63. Thanks to Richard Ash.
1233 * M4/octave.m4 M4/mkoctfile_version.m4
1234 Clean up AC_WITH_ARG usage using AC_HELP_STRING.
1236 2009-02-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1238 * Octave/Makefile.am
1239 Use $(top_buildir) instead of $(builddir) which may not be defined.
1242 Improve logic and status reporting.
1244 2009-02-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1246 * configure.ac AUTHORS NEWS README doc/*.html
1247 Final tweaks for 1.0.18 release.
1249 2009-02-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1251 * programs/sndfile-convert.c
1252 Add 'htk' to the list of convert formats.
1254 * programs/sndfile-info.c
1255 Simplify get_signal_max using SFC_CALC_SIGNAL_MAX command.
1256 Increase size of files for which signal max will be calculated.
1258 2009-01-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1261 Fix links for SoX and WavPlay. Thanks to Daniel Griscom.
1263 2009-01-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1265 * programs/sndfile-metadata-get.c
1266 Make valgrind clean.
1267 Clean up temp string array usage.
1268 Error out if trying to update coding history in RDWR mode.
1270 2009-01-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1273 Fix links to versions of the LGPL.
1275 2008-12-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1277 * tests/string_test.c
1278 Add test for RDWR mode where the file ends up shorter than when it was
1282 Truncate the file on close for RDWR mode where the file ends up shorter
1283 than when it was opened.
1285 2008-11-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1288 Fix problem with quoting of '#include'.
1290 * M4/add_cxxflags.m4 configure.ac
1291 Add new file M4/add_cxxflags.m4 and use it in configure.ac.
1293 2008-11-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1295 * programs/sndfile-info.c
1296 Apply patch from Conrad Parker to calculate and display total duration when
1297 more than one file is dumped.
1299 2008-11-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1301 * configure.ac src/Makefile.am
1302 Tweaks to generation of Symbols files.
1304 * tests/win32_ordinal_test.c
1305 Update tests for above changes.
1307 2008-11-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1310 When merging broadcast info, make sure to clear the destination field
1311 before copying in the new data.
1313 * programs/test-sndfile-metadata-set.py
1314 Add test for the above.
1317 Fix checking of required coding_history_size.
1319 2008-10-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1321 * tests/command_test.c
1322 Add test to detect if coding history is truncated.
1325 Fix truncation of coding history.
1327 2008-10-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1329 * tests/command_test.c
1330 Add broadcast_coding_history_size test.
1333 Use SF_BROADCAST_INFO_VAR to manipulate larger 'bext' chunks.
1336 Add code to prevent infinite loop on malformed file.
1338 * src/common.h src/sndfile.c src/w64.c src/wav_w64.c
1339 Rationalize and improve error handling when parsing 'fmt ' chunk.
1342 Simplify and remove cruft.
1343 Check for correct Octave version.
1346 Reduce 3 C++ files to one, fix build for octave 3.0, fix build.
1348 * Octave/sndfile.cc Octave/PKG_ADD
1349 Add Octave function sfversion which returns the libsndfile version that the
1350 module is linked against.
1352 * Octave/Makefile.am
1353 Bunch of build and 'make distcheck' fixes.
1355 2008-10-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1358 Return 1 if SFC_SET_BROADCAST_INFO fails.
1360 * programs/test-sndfile-metadata-set.py
1361 Update for new programs directory, exit on any error.
1363 * tests/error_test.c
1364 Fix failure behaviour in error_number_test.
1366 * src/common.h src/sndfile.c
1367 Add error number SFE_BAD_BROADCAST_INFO_SIZE.
1370 Reimplement handling of broadcast extentioon chunk in WAV/WAVEX files.
1373 Fix generation of added coding history.
1375 2008-10-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1377 * programs/sndfile-metadata-get.c programs/sndfile-info.c
1378 Exit with non-zero on errors.
1380 2008-10-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1382 * examples/sndfile-to-text.c examples/Makefile.am
1383 Add a new example program and hook it into the build.
1385 * examples/ programs/
1386 Add a new directory programs and move sndfile-info, sndfile-play and other
1387 real programs to the new directory, leaving example programs where they
1390 2008-10-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1393 Automake 1.10 MinGW cross compiling fixes.
1395 2008-10-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1397 * examples/sndfile-play.c
1398 Remove call to deprecated function snd_pcm_sw_params_get_xfer_align.
1399 Fix gcc-4.3 compiler warnings.
1401 * tests/command_test.c
1402 Fix a valgrind warning.
1404 * tests/error_test.c tests/multi_file_test.c tests/peak_chunk_test.c
1405 tests/pipe_test.tpl tests/stdio_test.c tests/win32_test.c
1406 Fix gcc-4.3 compiler warnings.
1408 2008-10-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1411 Fix termination of desitination string in strncpy_crlf.
1412 When copying BROADCAST_INFO chunk, make sure destination gets correct line
1416 Fix copying of BROADCAST_INFO coding_history field.
1418 2008-10-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1420 * tests/command_test.c
1421 Add test function instrument_rw_test, but don't hook it into the testing
1424 * src/common.h src/command.c src/sndfile.c src/flac.c
1425 Error code rationalization.
1427 * src/common.h src/sndfile.c
1428 Set psf->error to SFE_CMD_HAS_DATA when adding metadata via sf_command()
1429 fails due to psf->have_written being true.
1432 Document the SFC_GET/SET_BROADCAST_INFO comamnds.
1434 2008-10-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1436 * tests/command_test.c
1437 Improve error reporting when '\0' is found in coding history.
1440 2008-10-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1443 Convert all coding history line endings to \r\n.
1445 * tests/command_test.c
1446 Add test to make sure all line endings are converted to \r\n.
1448 2008-10-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1451 Changed the order of coding history fields.
1453 * tests/command_test.c
1454 Update bextch test to cope with previous change.
1457 Add extra length check when copying broadcast info data.
1459 2008-10-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1461 * tests/utils.tpl tests/pcm_test.tpl
1462 Update check_file_hash_or_die to use 64 bit hash.
1464 * tests/checksum_test.c tests/Makefile.am
1465 Add new checksum_test specifically for lossy compression of headerless
1468 2008-10-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1471 Seek to psf->dataoffset before decoding first block.
1474 Fix detection of mpc2k files on big endian systems.
1476 2008-10-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1479 Use '\r\n' newlines in Coding History as required by spec.
1481 2008-10-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1483 * src/test_conversions.c
1484 Use int64_t instead of 'long long'.
1486 2008-10-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1488 * examples/sndfile-metadata-set.c
1489 Remove --bext-coding-history-append command line option because it didn't
1492 * examples/sndfile-metadata-(get|set).c
1495 * examples/test-sndfile-metadata-set.py
1496 Start work on test coding history.
1498 2008-09-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1500 * README doc/win32.html
1501 Bring these up to date.
1504 Fix parsing of REX files.
1506 2008-09-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1509 Use intptr_t instead of long for return value of _get_osfhandle.
1511 * src/test_conversions.c src/test_endswap.tpl
1512 Fix printing of int64_t values.
1514 * examples/sndfile-play.c
1517 * tests/win32_ordinal_test.c
1518 Fix calling of GetProcAddress with ordinal under win64.
1523 2008-09-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1526 Rename copy_data.[ch] to common.[ch]. Fix build.
1527 Move code from sndfile-metadata-set.c to common.c.
1529 * examples/Makefile.am tests/Makefile.am regtest/Makefile.am
1532 2008-09-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1534 * doc/tutorial.html doc/Makefile.am
1535 Add file doc/tutorial.html and hook into build/dist system.
1537 2008-09-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1539 * examples/sndfile-metadata-set.c
1540 Clean up handling of bext command line params.
1542 2008-09-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1545 Add handling/skipping of a couple of new chunk types.
1547 2008-09-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1550 Add -funsigned-char to CFLAGS if the compiler supports it.
1552 * examples/sndfile-metadata-(get|set).c
1553 Add handling for more metadata types.
1555 2008-09-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1558 Add macros SF_CONTAINER, SF_CODEC and SF_ENDIAN useful for splitting format
1559 field of SF_INFO into component parts.
1562 Use new macros everywhere it is appropriate.
1564 2008-09-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1566 * examples/sndfile-bwf-set.c
1569 2008-08-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1571 * examples/sndfile-bwf-set.c
1572 Add --info-auto-create-date command line option.
1574 * examples/sndfile-metadata-set.c examples/sndfile-metadata-get.c
1575 examples/Makefile.am examples/test-sndfile-bwf-set.py
1576 Rename sndfile-bwf-(set|get).c to sndfile-metadata-(set|get).c.
1577 Change command line args.
1579 2008-08-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1582 Allow 'PAD ' chunk to be modified in RDWR mode.
1584 * src/sndfile.h.in src/sndfile.c
1585 Add handling (incomplete) for SFC_SET_ADD_HEADER_PAD_CHUNK.
1587 * tests/Makefile.am tests/write_read_test.tpl tests/header_test.tpl
1592 Fixes to make sure all tests pass.
1594 * tests/Makefile.am tests/string_test.c
1595 Add string tests (not yet passing).
1597 2008-08-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1600 First pass at writing RF64 now working.
1602 2008-08-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1604 * examples/sndfile-convert.c
1605 Add SF_FORMAT_RF64 to format_map.
1607 * src/common.h src/sndfile.c
1608 More RF64 support code.
1610 * examples/sndfile-bwf-set.c
1611 Fix the month number in autogenerated date string and use hypen in date
1614 * examples/test-sndfile-bwf-set.py
1617 * examples/sndfile-info.c
1618 When called with -i or -b option, operate on all files on command line, not
1621 2008-08-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1624 New file to handle RF64 (WAV like format supportting > 4Gig files).
1626 * src/sndfile.h.in src/common.h src/sndfile.c src/Makefile.am
1627 Hook the above into build so hacking can begin.
1630 Improve log message when pcm_init fails.
1632 * src/sndfile-info.c
1633 Only calculate and print 'Signal Max' if file is less than 10 megabytes in
1636 2008-08-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1638 * tests/string_test.c
1639 Polish string_multi_set_test.
1642 In RDWR mode, pad the header if necessary (ie LIST chunk has moved or
1643 length has changed).
1644 Minor fixes in wav_write_strings.
1645 Write PAD chunk with default endian-ness, not a specific endian-ness.
1647 * examples/test-sndfile-bwf-set.py
1648 Add Python script to test sndfile-bwf-set/get.
1650 * examples/sndfile-bwf-set.c
1654 Merge function wavex_write_header into wav_write_header, deleting about 70
1658 Double value of SF_MAX_STRINGS.
1660 * tests/string_test.c
1661 Add string tests for WAVEX and RIFX files.
1663 * tests/command_test.c
1664 Add broadcast test for WAVEX files.
1666 2008-08-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1668 * tests/string_test.c
1669 Add a new string_rdwr_test (currently failing for WAV).
1670 Add a new string_multi_set_test (currently failing).
1672 * tests/command_test.c
1673 Add new broadcast_rdwr_test (currently failing).
1676 Fix to WAV parser to allow 'bext' chunk to be updated in place.
1677 In wav_write_tailer, seek to psf->dataend if its greater than zero.
1680 Make sure psf->have_written gets set correctly in mode SFM_RDWR.
1683 Test for <sys/time.h> and gettimeofday.
1686 Use gettimeofday() to initialize psf_rand_int32.
1688 * src/common.h src/sndfile.c
1689 Add unique_id field to SF_PRIVATE struct.
1691 * src/common.h src/sndfile.c src/wav.c src/wav_w64.[ch]
1692 Move wavex_ambisonic field from SF_PRIVATE struct to WAV_PRIVATE struct.
1694 * src/common.h src/strings.c
1695 Add function psf_location_string_count.
1697 2008-08-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1700 Test for localtime and localtime_r.
1702 * examples/sndfile-convert.c
1703 In function copy_metadata(), copy broadcast info if present.
1705 * examples/copy_data.[ch] examples/Makefile.am
1706 Break some functionality out of sndfile-convert.c so it can be used in
1707 examples/sndfile-bwf-set.c.
1710 Add new function create_short_sndfile().
1712 * examples/sndfile-bwf-set.c examples/sndfile-bwf-get.c
1713 examples/Makefile.am
1714 Add new files and hook into build.
1716 2008-08-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1719 Fix comments. Patch from Mark Glines.
1721 2008-07-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1724 Use zero_data_test on Ogg/Vorbis files.
1727 Fix segfault when closing an Ogg/Vorbis file that has been opened for write
1728 but had no actual data written to it. Bug reported by Chinoy Gupta.
1731 Make sure to run mist_test on Ogg/Vorbis files.
1733 2008-07-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1735 * regtest/Makefile.am
1736 Use SQLITE3_CFLAGS to locate sqlite headers.
1738 2008-07-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1740 * doc/index.html doc/FAQ.html
1741 Add notes about which versions of windows libsndfile works on.
1743 2008-07-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1746 Add a test for correct handling of Ambisonic files. Thanks to Fons
1747 Adriaensen for the test.
1749 * src/wav.c src/wav_w64.c
1750 Fix handling of Ambisonic files. Thanks to Fons Adriaensen for the patch.
1752 2008-06-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1755 Fix detection/enabling of external libs.
1757 * M4/extra_pkg.m4 M4/Makefile.am
1758 Add m4 macro PKG_CHECK_MOD_VERSION which is a hacked version
1759 PKG_CHECK_MODULES. The new macro prints the version number of the package
1760 it is searching for.
1762 2008-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1765 Apply a fix from Axel Röbel where if the second loop in the instrument
1766 chunk is none, the loop mode is written into the first loop.
1768 2008-05-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1770 * src/test_float.c src/test_main.(c|h) src/Makefile.am
1771 Add new file to test functions float32_(le|be)_(read|write) and
1772 double64_(le|be)_(read|write). Hook into build and testsuite.
1774 * src/double64.c src/float32.c
1775 Fix bugs in functions found by test added above. Thanks to Nicolas Castagne
1776 for reporting this bug.
1779 Change time_reference_(low|high) entries of SF_BROADCAST_INFO struct to
1782 * examples/sndfile-info.c
1783 Print out the BEXT time reference in a sensible format.
1785 2008-05-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1791 Add call to ogg_stream_clear to fix valgrind warning.
1794 Fix x86_64 compile issue.
1796 * configure.ac src/Makefile.am src/flac.c src/ogg.c
1797 Link to external versions of FLAC, Ogg and Vorbis.
1799 * tests/lossy_comp_test.c tests/ogg_test.c tests/string_test.c
1800 tests/vorbis_test.c tests/write_read_test.tpl
1801 Fix tests when configured with --disable-external-libs.
1803 * tests/external_libs_test.c tests/Makefile.am
1804 Add new test and hook into build and test suite.
1807 Use HAVE_EXTERNAL_LIBS to ensure that the SFC_GET_FORMAT_* commands return
1808 the right data when external libs are disabled.
1810 2008-05-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1812 * tests/write_read_test.tpl
1813 Add a test for extending a file during write by seeking past the current
1817 Allow seeking past end of file during write.
1819 2008-05-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1821 * doc/api.html doc/command.html
1822 Move all information about the sf_command function to command.html and add
1823 a link from documentation of the sf_read/write_raw function to the
1824 SFC_RAW_NEEDS_ENDSWAP command.
1826 * doc/index.html doc/FAQ.html doc/libsndfile.css
1827 Minor documentation tweaks.
1829 2008-05-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1834 2008-04-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1836 * tests/error_test.c
1837 Add a test to make sure if file opened with sf_open_fd, and then the file
1838 descriptor is closed, then sf_close will return an error code. Thanks to
1839 Dave Flogeras for the bug report.
1842 Make sf_close return an error is the file descriptor is already closed.
1844 2008-04-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1847 Set object format to aout for OS/2. Thanks to David Yeo.
1849 * src/mpc2k.c src/sndfile.c src/sndfile.h.in src/common.h src/Makefile.am
1850 Add ability to read MPC 2000 file.
1852 * tests/write_read_test.tpl tests/misc_test.c tests/header_test.tpl
1854 Add tests for MPC 2000 file format.
1856 * examples/sndfile-convert.c
1857 Allow conversion to MPC 2000 file format.
1859 2008-04-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1861 * src/VORBIS/lib/codebook.c
1862 Sync from upstream SVN.
1864 * autogen.sh configure.ac
1867 2008-04-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1870 Add a patch that fixes finding the length in samples of an Ogg/Vorbis file.
1871 The patch as supplied segfaulted and required many hours of debugging.
1874 Sync from upstream SVN.
1876 2008-04-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1879 Fix up handling of 'APPL' chunk. Thanks to Axel Röbel for bringing up
1882 2008-04-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1885 Add calls to sf_close() where needed.
1887 * tests/utils.tpl tests/multi_file_test.c
1888 Always pass 0 as the third argument to open when OS_IS_WIN32.
1890 2008-04-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1893 Add files test_main.[ch].
1894 Collapse all tests into a single executable.
1896 2008-03-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1899 Sync to upstream CVS.
1901 2008-03-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1904 Make SF_MIN and SF_MAX macros MinGW friendly.
1906 * examples/sndfile-(info|play).c
1907 Use Sleep function from <windows.h> instead of _sleep.
1909 * tests/locale_test.c
1910 Disable some tests when OS_IS_WIN32.
1912 * src/FLAC/src/share/replaygain_anal/replaygain_analysis.c
1913 src/FLAC/src/share/utf8/utf8.c
1916 2008-03-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1919 Tweaks to pcm16 <-> float conversion answer.
1921 2008-02-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1924 Sync to SVN upstream.
1927 Add 'DISTCHECK_CONFIGURE_FLAGS = --enable-gcc-werror'.
1929 2008-02-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1931 * examples/sndfile-jackplay.c
1932 Minor tweaks to warning message printed when compiled without libjack.
1934 2008-01-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1936 * tests/peak_chunk_test.c
1937 Improve read_write_peak_test to find more errors. Inspired by example
1938 provided by Nicolas Castagne.
1941 Another SFM_RDWR fix shown up by above test.
1943 2008-01-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1946 Fix reading of COMM encoding string.
1948 * src/chunk.c src/common.h src/Makefile.am
1949 New file for storing and retrieving info about header chunks. Hook into
1953 Use new chunk logging to fix problem with AIFF in RDWR mode.
1955 2008-01-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1958 Add WVE to the list of major formats.
1960 * tests/aiff_rw_test.c
1961 Fix error reporting.
1963 2008-01-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1966 Add internal functions str_of_major_format, str_of_minor_format,
1967 str_of_open_mode and str_of_endianness.
1969 * tests/write_read_test.tpl
1970 Fix reporting of errors in new_rdwr_XXXX_test.
1972 2008-01-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1974 * examples/sndfile-play.c
1975 Apply patch from Yair K. to fix compiles with OSS v4.
1977 * src/common.h src/float32.c src/double64.c
1978 Rename psf->float_enswap to psf->data_endswap.
1980 * src/sndfile.h.in src/sndfile.c src/pcm.c
1981 Add command SFC_RAW_NEEDS_ENDSWAP.
1984 Add test for SFC_RAW_NEEDS_ENDSWAP.
1987 Document SFC_RAW_NEEDS_ENDSWAP.
1989 * tests/peak_chunk_test.c
1990 Add test function read_write_peak_test. Thanks to Nicolas Castagne for the
1993 2008-01-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1995 * examples/sndfile-cmp.c
1996 Add new example program contributed by Conrad Parker.
1998 * examples/Makefile.am
2001 * doc/development.html
2002 Change use or reconfigure.mk to autogen.sh.
2004 2008-01-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2006 * tests/win32_test.c
2007 Add another win32 test.
2010 Add function file_length_fd which wraps fstat.
2013 Run the multi_file_test on AU files.
2015 * tests/multi_file_test.c
2016 Use function file_length_fd() instead of file_length() to overcome stupid
2017 win32 bug. Fscking hell Microsoft sucks so much.
2019 2008-01-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2022 Fix a rsrc parsing bug. Example file supplied by Uli Franke.
2024 2007-12-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2027 Allow use of either LGPL v2.1 or LGPL v3.
2029 * tests/header_test.tpl
2030 Add header_shrink_test from Axel Röbel.
2033 Add fix from Axel Röbel for writing files with float data but no peak
2034 chunk (ie peak chunk gets removed after the file is opened).
2036 * src/aiff.c tests/header_test.tpl
2037 Apply similar fix to above for AIFF files.
2039 * src/wav.c tests/header_test.tpl
2040 Apply similar fix to above for WAVEX files.
2043 Add Ogg/Vorbis to 'get format' commands.
2045 2007-12-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2048 Fix seeking on multichannel Ogg Vorbis files. Reported by Bodo.
2049 Set the default encoding quality to 0.4 instead of 4.0 (Bodo again).
2052 Add stereo seek tests.
2054 2007-12-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2057 Add a test (currently failing) for stereo seeking on Ogg Vorbis files. Test
2058 case supplied by Bodo.
2060 * tests/utils.(def|tpl)
2061 Add compare_XXX_or_die functions.
2063 2007-12-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2066 Fix a bug where ignoring ssnd_fmt.offset and ssnd_fmt.blocksize caused
2067 misaligned reading of 24 bit data. Thanks to Uli Franke for reporting this.
2069 2007-12-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2071 * src/vox_adpcm.c src/ima_oki_adpcm.[ch] src/Makefile.am
2072 Merge in code from the vox-patch branch. Thanks to Robs for the patch
2073 which fixes a long standing bug in the VOX codec.
2075 2007-12-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2077 * examples/sndfile-convert.c
2078 Fix handling of -override-sample-rate=X option.
2080 2007-11-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2082 * src/ogg.c src/VORBIS
2083 Merge in Ogg Vorbis support from John ffitch of the Csound project.
2085 2007-11-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2088 Recognise files with 'vox6' extension as 6kHz OKI VOX ADPCM files. Also
2089 recognise 'vox8' as and 'vox' as 8kHz files.
2092 Detect libjack (JACK Audio Connect Kit).
2094 * examples/sndfile-jackplay.c examples/Makefile.am
2095 Add new example program to play sound files using the JACK audio server.
2096 Thanks to Jonatan Liljedahl for allowing this to be included.
2098 2007-11-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2101 Update support table with SD2 and FLAC.
2103 2007-11-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2106 Fix calculation of internal value psf->read_current when attempting to read
2107 past end of audio data.
2108 Remove redundant code.
2110 * tests/lossy_comp_test.c
2111 Add read_raw_test to check that raw reads do not go past the end of the
2113 Clean up error output messages.
2116 Add code to prevent sf_read_raw from reading past the end of the audio data.
2119 Add the wav_pcm lossy_comp_test.
2121 2007-11-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2123 * configure.ac src/Makefile.am src/create_symbols_file.py
2124 More OS/2 fixes from David Yeo.
2126 2007-11-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2128 * src/file_io.c tests/utils.tpl tests/benchmark.tpl
2129 Improve handling of requirements for O_BINARY as suggested by Ed Schouten.
2131 2007-11-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2134 Fix symbol class when SF_MIN is nested inside SF_MAX or vice versa.
2136 * src/create_symbols_file.py
2137 Add support for OS/2 contributed by David Yeo.
2139 2007-11-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2142 Add macro AC_GCC_VERSION to detect GCC_MAJOR_VERSION and GCC_MINOR_VERSION.
2145 Use AC_GCC_VERSION to work around gcc-4.2 inline warning stupidity.
2146 See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33995
2147 Use -fgnu-inline to prevent stupid warnings.
2149 2007-11-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2152 Increase the printing width for print_test_name().
2154 * tests/command_test.c tests/Makefile.am
2155 Add tests for correct updating of broadcast WAV coding history.
2157 * examples/sndfilehandle.cc examples/Makefile.am
2158 Add example program using the C++ SndfileHandle class.
2160 2007-10-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2162 * src/common.h src/sndfile.c
2163 Add error codes SFE_ZERO_MAJOR_FORMAT and SFE_ZERO_MINOR_FORMAT.
2165 2007-10-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2168 Identify sample-rate/sample-size/channels by resource id.
2170 2007-10-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2172 * src/broadcast.c src/common.h src/sndfile.c
2173 Improvements to handling of broadcast info in WAV files. Thanks to Frederic
2174 Cornu and other for their input.
2176 2007-10-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2178 * src/FLAC/include/share/alloc.h
2179 Mingw fix for SIZE_T_MAX from Uli Franke.
2181 2007-10-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2183 * tests/open_fail_test.c tests/error_test.c tests/Makefile.am
2184 Move tests from open_fail_test.c to error_test.c and remove the former.
2186 2007-10-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2188 * tests/scale_clip_test.(def|tpl)
2189 Add tests for SFC_SET_INT_FLOAT_WRITE command.
2192 Add docs for SFC_SET_INT_FLOAT_WRITE command.
2194 * examples/sndfile-play.c tests/dft_cmp.c
2195 Fix gcc-4.2 warning messages.
2197 2007-10-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2199 * src/sndfile.h.in src/sndfile.c
2200 Add command SFC_GET_CURRENT_SF_INFO.
2202 * src/sndfile.h.in src/sndfile.c src/create_symbols_file.py
2203 Remove function sf_get_info (only ever in pre-release code).
2205 * tests/command_test.c
2206 Add test for SFC_GET_CURRENT_SF_INFO.
2208 2007-10-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2211 Add parsing of 'exif' chunks. Originally coded by Trent Apted.
2214 Put config stuff in Cfg directory.
2215 Remove check for inttypes.h.
2217 2007-10-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2220 Fix writing of 'riff' chunk length and check for correct value in parser.
2222 2007-09-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2225 Link to MP3 FAQ entry.
2227 2007-09-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2230 Move the blocksize check to an earlier stage of flac_buffer_copy.
2232 2007-09-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2235 Huge merge from FLAC upstream.
2237 2007-09-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2240 Change license to all example programs to BSD.
2242 2007-09-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2244 * src/FLAC/include/FLAC/metadata.h
2245 Include <sys/types.h> to prevent compile error on OSX.
2247 * Octave/octave_test.sh
2248 Disable test on OSX. Can't get it to work.
2251 Check the blocksize returned from the FLAC decoder to prevent buffer
2252 overruns. Reported by Jeremy Friesner. Thanks.
2254 2007-09-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2256 * Makefile.am M4/octave.m4
2257 Fix build when Octave headers are not present.
2259 2007-08-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2261 * doc/development.html
2262 Add note about bzr repository directory looking empty.
2264 2007-08-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2266 * configure.ac Octave/* M4/octave_*
2267 Bunch of changes to add ability to build GNU Octave modules to read/write
2268 sound files using libsndfile from Octave.
2270 2007-08-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2272 * acinclude.m4 configure.ac ...
2273 Get rid of acinclude.m4 and replace it with an M4 directory.
2275 2007-08-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2278 Remove crufty Metrowerks compiler support. Allow header file to be compiled
2279 on windows with both GCC and microsoft compiler.
2281 2007-08-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2283 * tests/dft_cmp.[ch] tests/floating_point_test.tpl
2284 Clean up floating point tests.
2286 2007-08-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2289 Fix segfault when COMM chunk length is byte swapped.
2291 2007-08-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2293 * src/common.h src/mat4.c src/mat5.c src/sndfile.c
2294 Add a generic SFE_CHANNEL_COUNT_ZERO error, remove format specific errors.
2297 Fix crash on AU files with zero channel count. Reported by Ben Alison.
2299 2007-08-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2302 Fix bug in handling file supplied by Matt Olenik.
2304 2007-07-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2307 Merge from OGG upstream sources.
2309 2007-07-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2312 Merge from FLAC upstream sources.
2314 2007-07-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2317 Fix memory leak; set copy parameter to FALSE in call to
2318 FLAC__metadata_object_vorbiscomment_append_comment.
2321 Add function psf_rand_int32().
2323 2007-07-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2326 Merge from FLAC upstream sources.
2328 * src/strings.c tests/string_test.c tests/Makefile.am
2329 Make sure string tests for SF_STR_LICENSE actually works.
2331 2007-07-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2333 * tests/string_test.c
2334 Add ability to test strings stored in metadata secion of FLAC files.
2337 Fix logic for testing if audio data has been written and string is added.
2338 Make sure SF_STR_ALBUM actually works.
2341 Finalize reading/writing string metadata. Tests pass.
2343 * src/sndfile.h.in tests/string_test.c src/flac.c
2344 Add string type SF_STR_LICENSE, update test and use for FLAC files.
2347 Add definition for SFC_SET_SCALE_FLOAT_INT_WRITE command.
2349 * src/common.h src/double64.c src/float32.c src/sndfile.c
2350 Add support for SFC_SET_SCALE_FLOAT_INT_WRITE (still needs testing).
2352 2007-07-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2355 Apply patch from Ed Schouten to read artist and title metadata from FLAC
2357 Improve reporting of FLAC metadata.
2359 * src/sndfile.h.in tests/string_test.c src/flac.c
2360 Add string type SF_STR_ALBUM, update test and use for FLAC files.
2362 2007-06-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2365 Merge from upstream CVS.
2367 2007-06-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2370 Update from upstream CVS.
2372 2007-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2375 Add extra tests for when the SndfileHandle constructor fails.
2378 Make sure failure to open the file in the constructor does not allow later
2379 calls to other methods to fail.
2381 2007-06-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2384 Add function write_mono_file.
2386 * tests/generate.[ch] tests/Makefile.am
2387 Add files generate.[ch] and hook into build.
2389 * tests/write_read_test.tpl
2390 Add multi_seek_test.
2393 Fix buffer overflow bug. Test provided by Jeremy Friesner and fix provided
2396 2007-06-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2401 * configure.ac src/FLAC/src/libFLAC/ia32/Makefile.am src/Makefile.am
2402 Apply patch from Trent Apted make it compile on Intel MacOSX. Thanks Trent.
2404 2007-05-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2407 Fix writing of MSGUID subtypes. Thanks to Bruce Sharpe.
2409 2007-05-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2412 Fix array indexing bug raised by Bruce Sharpe.
2414 2007-05-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2416 * src/FLAC/src/share/getopt/getopt.c
2417 Fix Mac OSX / PowerPC compile warnings.
2420 Make sure WORDS_BIGENDIAN gets correctly defined for FLAC code.
2422 2007-05-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2425 Add Q/A about MP3 support.
2427 2007-05-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2429 * doc/new_file_type.HOWTO
2432 2007-05-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2435 Fix a couple bad parameters with psf_log_printf.
2438 Improve error reporting.
2440 * src/common.h src/common.c
2441 Constify psf_hexdump.
2443 2007-04-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2446 Ditch and re-import required FLAC code.
2449 Force FLAC__HAS_OGG variable to 1.
2451 * src/FLAC/src/libFLAC/stream_encoder.c
2452 Fix compiler warnings.
2454 2007-04-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2456 * configure.ac tests/win32_ordinal_test.c
2457 Detect if win32 DLL is beging generated and only run win32_ordinal_test if
2460 * src/G72x/Makefile.am src/Makefile.am
2461 Use $(EXEEXT) where possible.
2463 2007-04-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2465 * src/wve.c src/common.h src/sndfile.c
2466 Complete definition of SfE_WVE_NO_WVE error message.
2469 Fix error in files generated on big endian systems. Robustify parsing.
2471 2007-04-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2474 Fix clipping of double to short conversions on 64 bit systems.
2476 * src/flac.c regtest/database.c tests/cpp_test.cc
2477 Fix compile warnings for 64 bit systems.
2479 2007-04-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2481 * src/wav.c src/wav_w64.c
2482 Use audio detect function when 'fmt ' chunk data is suspicious.
2485 Add ugly hack to remove -Werror from some Makefiles.
2487 2007-04-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2489 * src/GSM610/long_term.c src/macbinary3.c tests/cpp_test.cc
2490 Add patch from André Pang to clean up compiles on OSX.
2492 * src/wve.c src/common.h src/sndfile.c src/sndfile.h.in
2493 examples/sndfile-convert.c
2494 Merge changes from Reuben Thomas to improve WVE support.
2496 * tests/lossy_comp_test.c tests/Makefile.am
2497 Add tests for WVE files.
2499 2007-04-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2502 Add a static SndfileHandle::formatCheck method as suggested by Jorge
2505 2007-04-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2508 Fixed a bug in sf_error() where the function itself was being compared
2509 against zero. Add a check for a NULL return from peak_info_calloc. Fix a
2510 possible NULL dereference.
2512 2007-04-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2515 Turn off seekable flag when writing, return SFE_BAD_RDWR_FORMAT when
2516 opening file for RDWR.
2519 Improve error message for SFE_BAD_RDWR_FORMAT.
2522 Fix array indexing issue. Thanks to Ben Allison (Nullsoft) for alerting me.
2524 2007-03-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2527 Add Q/A 19 on project files.
2529 2007-03-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2532 Guard agains MacOSX universal binary compiles.
2535 Add Q/A 18 and clean up Q3.
2537 2007-02-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2540 Add support for 'in24' files.
2542 2007-02-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2544 * src/wav.c src/wav_w64.c src/wav_w64.h
2545 Start work towards detecting ausio codec type from the actual audio data.
2547 * src/audio_detect.c src/test_audio_detect.c
2548 Add new file and its unit test.
2550 2007-02-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2552 * examples/cooledit-fixer.c examples/Makefile.am
2553 Remove old broken example program.
2555 2007-02-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2557 * src/sndfile.c src/sndfile.h.in src/create_symbols_file.py
2558 Add function sf_get_info.
2560 2007-01-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2562 * examples/sndfile-play.c
2563 For ALSA, use the 'default' device instead of 'plughw:0'.
2565 2007-01-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2568 Allow writing of WAV/WAVEX 'BEXT' chunks in SFM_RDWR mode.
2570 2007-01-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2572 * doc/development.html doc/embedded_files.html man/sndfile-play.1
2573 Minor documentation fixes. Thanks Reuben Thomas.
2575 2006-12-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2577 * examples/sndfile-convert.c
2578 Add -override-sample-rate command line option.
2580 2006-11-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2583 Force errno to zero at start of some tests.
2586 Minor clean up of error handling.
2589 Remove an assembler test which was failing on OSX.
2591 2006-11-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2594 Fix the definition of SF_PLATFORM_S64 for MinGW.
2596 * src/FLAC/Makefile.am src/FLAC/share/grabbag/Makefile.am
2597 Fix path problems for MinGW.
2599 2006-11-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2604 * src/Makefile.am src/flac.c
2605 Clean up include paths.
2607 * src/test_conversions.c
2608 New file to test psf_binheader_readf/writef functions.
2610 * src/Makefile.am src/test_file_io.c src/test_log_printf.c src/common.c
2611 Clean up unit testing.
2614 Fix a bug reading/writing 64 bit header fields. Thanks to Jonathan Woithe
2617 * src/test_conversions.c
2618 Complete unit test for above fix.
2620 2006-11-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2623 More refactoring to clean up psf_open_file() and vairous sf_open()
2626 2006-11-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2629 Apply a patch from Jonathan Woithe to allow opening of (malformed) WAV
2630 files of over 4 gigabytes.
2632 2006-11-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2635 Refactor function psf_open_file() to provide a single return point.
2638 Fix permission_test to ensure that read only file can be created.
2640 2006-11-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2643 Add SF_PLATFORM_S64 macro as a platform independant way of doing signed 64
2646 * src/aiff.c src/svx.c src/wav.c
2647 Add warning in log if files are larger than 4 gigabytes in size.
2649 2006-11-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2651 * src/FLAC src/OGG confgure.ac src/Makefile.am
2652 Pull in all required FLAC and OGG code so external libraries are not
2653 needed. This makes compiling on stupid fscking Windoze easier.
2655 2006-10-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2658 Add workaround for switched sample rate and sample size.
2661 Add workaround for excessively long coding history in the 'bext' chunk.
2663 2006-10-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2665 * src/sndfile.h.in src/sndfile.c src/wav.c doc/command.html
2666 Use SF_AMBISONIC_* instead of SF_TRUE/SF_FALSE.
2668 2006-10-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2670 * src/sndfile.h.in src/wav.c src/wav_w64.c src/common.h doc/command.html
2671 Apply a patch from Fons Adriaensen to allow writing on WAVEX Ambisonic
2672 files. Still needs a little tweaking before its ready for release.
2675 Use the UNUSED macro to prevent compiler warnings.
2677 2006-10-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2680 Fix a bug in parsing AIFF files with a slightly unusual 'basc' chunk. Thanks
2681 to David Viens for providing two example files.
2683 * src/common.(c|h) src/aiff.c
2684 Add a function psf_sanitize_string and use it in aiff.c.
2686 2006-10-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2689 Apply a patch from Fons Adriaensen which fixes a minor WAVEX GUID issue.
2691 2006-10-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2694 Fix problem related to recent test coverage changes.
2696 2006-10-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2698 * configure.ac tests/Makefile.am
2699 Add --enable-test-coverage configure option.
2701 2006-10-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2704 Add an std::string SndfileHandle constructor.
2706 * tests/scale_clip_test.tpl
2707 Fix the 'make distcheck' target.
2709 2006-10-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2711 * src/double64.c src/float32.c
2712 Add optional clipping on float file data to int read data conversions.
2714 * tests/tests/scale_clip_test.(def|tpl)
2715 Add test for above new code.
2717 2006-09-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2719 * tests/aiff_rw_test.c
2720 Add 'MARK' chunks to make sure they are parsed correctly.
2722 2006-09-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2725 Fix parsing of MARK chunks. Many thanks to Sciss for generating files to
2726 help debug the problem.
2728 2006-09-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2731 Make the SF_MIN and SF_MAX macros at least partially type safe.
2733 * tests/lossy_comp_test.c
2734 Fix overflow problems when ensuring that signalis not zero.
2736 2006-08-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2738 * configure.ac docs/*.html
2739 Changes for release 1.0.17.
2741 2006-08-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2744 Remove inline from functions called by pointer. Thanks to Sampo Savolainen
2745 for notifying me of this.
2747 2006-07-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2750 Add writeSync method.
2751 Add copy constructor and assignment operator (thanks Daniel Schmitt).
2752 Add methods readRaw and writeRaw.
2753 Make read/write/readf/writef simple overlaods instead of templates (thanks
2754 to Trent Apted for suggesting this).
2759 2006-07-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2762 Templatize the read/write/readf/writef methods as suggested by Lars Luthman.
2763 Prevent the potential leak of SNDFILE* pointers in the openRead/openWrite/
2764 openReadWrite methods.
2765 Add const to SF_INFO pointer in Sndfile constructor.
2766 Make the destrictor call the close() method.
2771 2006-07-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2774 Remove the generated file so "make distcheck" passes.
2777 Add sndfile.hh to distributed header files.
2780 Change the license for the C++ wrapper to modified BSD.
2782 2006-07-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2790 2006-07-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2793 Add extern C to generated header file.
2796 Work towards completing this.
2798 * tests/cpp_test.cc tests/Makefile.am
2799 Add a C++ test and hook into build.
2802 Add appropriate CXXFLAGS.
2804 2006-07-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2807 Test if compiler supports -Wpointer-arith.
2810 Fix a warning resulting from -Wpointer-arith.
2812 2006-07-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2814 * examples/sndfile-play.c
2815 Explicitly set endian-ness as well as setting 16 bit output.
2817 * examples/sndfile-info.c
2818 Make sure to parse info if file fails to open.
2821 Handle parse error a little better.
2824 Minor clean up, add detection of IPP ITU G723.1.
2826 2006-06-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2829 Make sure psf->dataoffset gets reset to zero when openning headersless
2830 files based on the file name extension.
2832 2006-06-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2834 * tests/(command|lossy_comp|pcm|scale_clip)_test.c tests/fix_this.c
2835 tests/write_read_test.(tpl|def)
2836 Fix gcc-4.1 compiler warnings about "dereferencing type-punned pointer will
2837 break strict-aliasing rules".
2839 * examples/cooledit-fixer.c
2840 More fixes like above.
2842 2006-06-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2845 Fix a windows bug where the syserr string of SF_PRIVATE was not being set
2849 Fixed a logic bug in sf_seek(). Thanks to Paul Davis for finding this.
2851 2006-06-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2854 Fixed detection of S_IRGRP.
2856 2006-05-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2859 Add conversion SF_INSTRUMENT data when present.
2861 2006-05-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2863 * doc/development.html
2864 Removed references to tla on windows.
2866 * src/common.h src/sndfile.c
2867 Add separate void pointers for file containter and file codec data to
2868 SF_PRIVATE struct. Still need to move all existing fdata pointers.
2870 * tests/write_read_test.tpl
2871 Change the order of some tests.
2874 When writing 'AIFC' files, make sure get an 'FVER' gets added.
2876 * src/common.h src/(dwvw|flac|g72x|gsm610|ima_adpcm|ms_adpcm|paf|sds).c
2877 src/(sndfile|voc|vox_adpcm|xi).c
2878 Remove fdata field from SF_PRIVATE struct and replace it with codec_data.
2880 2006-05-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2882 * Win32/testprog.c Win32/Makefile.am
2883 Add a minimal win32 test program.
2885 * Win32/README-precompiled-dll.txt Mingw-make-dist.sh
2886 Update readme and Mingw build script.
2888 2006-05-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2890 * configure.ac acinclude.m4
2891 Minor fixes for Solaris.
2893 2006-05-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2895 * src/test_endswap.(def|tpl)
2896 Fix printf formatting for int64_t on 64 bit machines.
2898 2006-05-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2900 * src/binhead_check.py
2901 New file to check for bad parameters passed to psf_binheader_writef().
2904 Hook into test suite.
2906 * src/voc.c src/caf.c src/wav.c src/mat5.c src/mat4.c
2907 Fix bugs found by new test program.
2910 Clean up double64_get_capability().
2912 2006-05-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2915 Fix a bug on x86_64 where an int was being passed via stdargs and being
2916 read using size_t which is 64 bits. Thenks to John ffitch for giving me a
2919 2006-05-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2921 * src/caf.c src/double64.c examples/sndfile-info.c tests/virtual_io_test.c
2923 Fix a couple of signed/unsigned problems.
2925 2006-05-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2927 * tests/command_test.c
2928 Add channel map tests.
2930 * src/common.h src/sndfile.c
2931 Add a pointer the the SF_PRIVATE struct and make sure it gets freed in
2934 2006-04-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2936 * configure.ac doc/(command|index|api).html NEWS README
2937 Updates for 1.0.16 release.
2940 Define enums for channel mapping.
2942 * examples/sndfile-info.c
2943 Clean up usage of SF_INFO struct.
2945 2006-04-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2948 Add function testing function exit_if_true().
2950 * tests/floating_point_test.tpl
2951 Fix a problem where the test program was not exiting when the test failed.
2953 2006-04-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2955 * src/sndfile.h.in src/sndfile.c src/common.h src/command.c
2956 Implement new commands SFC_GET_SIGNAL_MAX and SFC_GET_MAX_ALL_CHANNELS.
2959 Document new commands. Other minor updates.
2961 * tests/peak_chunk_test.c
2962 Update tests for new commands.
2964 2006-04-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2966 * tests/peak_chunk_test.c
2967 Add test for RIFX and WAVEX files.
2968 Try and confuse the PEAK chunk writing by enabling and disabling it.
2971 Fix a bug where enabling and disabling PEAK chunk was screwing up.
2973 2006-03-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2976 Add the block of 190 reserved bytes into this struct to allow for
2979 * src/wav.c src/sndfile.c src/broadcast.c
2980 Significant cleanup of broadcast wave stuff.
2982 * examples/sndfile-info.c
2985 * tests/command_test.c tests/Makefile.am
2986 Complete bext tests, hook test in test suite.
2988 2006-03-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2991 Make coding_history field of SF_BROADCAST_INFO struct a char array instead
2994 * src/sndfile.c src/common.h src/wav.c
2995 Clean up knock on effects of above chnage.
2997 * examples/sndfile-info.c
2998 Add -b command line option to usage message.
2999 Clean up output of broadcast wave info.
3002 Ignore and skip the 'levl' chunk.
3004 2006-03-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3007 Fix handling of --enable and --disable configure args. Thanks to Diego
3008 'Flameeyes' Pettenò who sent the patch.
3010 2006-03-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3013 Make it really clear that although the MSVC++ cannot compile libsndfile,
3014 the precompiled DLL can be used in C++ programs compiled with MSVC++.
3016 2006-03-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3019 Fix bug in writing of INST chunk in AIFF files.
3020 Fix potential bug in writing MARK chunks.
3023 Make sure the instrument chunk can only be written at the start of the file.
3025 * tests/command_test.c
3026 Add check of log buffer.
3029 Add usage of space character to psf_binheader_writef.
3031 2006-03-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3033 * src/Makefile.am tests/Makefile.am
3034 Remove --source-time argument from autogen command lines.
3037 New file for EBU Broadcast chunk in WAV files.
3039 * src/sndfile.c src/sndfile.h.in src/wav.c src/common.h
3040 Add patch from Paul Davis implementing read/write of the BEXT chunk.
3042 2006-03-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3044 * Win32/README-precompiled-dll.txt
3045 New file descibing how to use the precompiled DLL.
3048 Add Win32/README-precompiled-dll.txt to EXTRA_DIST files.
3051 Bump version to 1.0.15.
3053 2006-03-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3056 On read, only add the endian flag if the file is big endian.
3059 Fixed writing of APDCM coeffs in RIFX files.
3061 * tests/write_read_test.tpl tests/lossy_comp_test.c
3062 Add tests for RIFX files.
3064 2006-03-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3066 * Mingw-make-dist.sh
3067 Bunch of improvements.
3070 Update MinGW program versions.
3072 2006-03-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3074 * src/create_symbols_file.py
3075 Fix the library name in created win32 DEF file. Add correct DLL name for
3078 * Win32/Makefile.am tests/Makefile.am
3079 Remove redundant files, add win32_ordinal_test to test suite.
3081 * tests/win32_ordinal_test.c
3082 Update to do test in cygsndfile-1.dll as well.
3085 Fix typo, mention that -mno-cygwin with the Cygwin compiler does not work.
3087 * src/wav.c src/wav_w64.c src/sndfile.c src/sndfile.h.in
3088 Apply large patch from Jesse Chappell which adds support for RIFX files.
3090 2006-03-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3093 Add Mingw-make-dist.sh to the extra dist files.
3096 Fix setting SHLIB_VERSION_ARG for MinGW.
3098 * tests/win32_ordinal_test.c
3099 New test program to test that the win32 DLL ordinals agree with the DEF
3102 2006-03-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3105 Add a static inline function to convert an int to a size_t. This will be
3106 a compile to nothing on 32 bit CPUs and a sign extension on 64 bit CPUs.
3108 * src/aiff.c src/avr.c src/common.c src/xi.c src/gsm610.c
3109 Fix an ia64 problem where a varargs function was being passed an int in
3110 some places and a size_t in other places.
3113 Add a workaround for situations where OSX seems to add an extra 0x52 bytes
3114 to the start of the resource fork.
3116 2006-02-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3118 * Mingw-make-dist.sh
3119 Add a shell script to build the windows binary/source ZIP file.
3122 Add download link for windows binary/source ZIP file. Add links for GPG
3126 Remove info about building using microsoft compiler.
3129 Bump version to 1.0.14.
3131 2006-02-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3134 Improve logging of errors in resource fork parser.
3136 2006-01-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3138 * Win32/Makefile.msvc
3139 Replace au_g72x.* with g72x.*. Thanks to ussell Borogove.
3141 2006-01-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3144 Make sure return values are initialised header buffer is full.
3147 Add workarounds for messed up WAV files.
3149 2006-01-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3152 Undef HAVE_INTTYPES_H for win32.
3154 * tests/command_test.c
3155 Don't exit on error in instrument test for XI files.
3158 Bump version to 1.0.13.
3160 * doc/*.html NEWS README
3161 Update version numbers.
3163 2006-01-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3166 Start work on add read/write of instrument chunks.
3168 * src/command_test.c
3169 Add tests for XI instrument chunk.
3171 * tests/largefile_test.c tests/Makefile.am
3172 Add new test and hook it into the build system. This test will not be run
3173 automatically because it requires 3 Gig of disk space and takes 3 minutes
3176 2006-01-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3178 * examples/sndfile-play.c
3179 Fix calculation of samples remaining in win32 code. Thanks Axel Röbel.
3182 Make sure length of header buffer can hold header plus strings. Thanks Axel
3185 2006-01-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3187 * src/sndfile.h.in src/aiff.c src/wav.c
3188 Apply a patch from John ffitch (Csound project).
3189 Add detune field to SF_INSTRUMENT struct.
3190 Add reading/writing instrument chunks to WAV files.
3192 * tests/command_test.c
3193 Update SF_INSTRUMENT tests.
3196 Hook instrument tests into test suite.
3198 2006-01-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3201 Check for <inttypes.h> because some broken systems (like Solaris) don't have
3202 <stdint.h> which is the 1999 ISO C standard file containing int64_t.
3204 * src/sfendian.h src/common.h
3205 Use <inttypes.h> if <stdint.h> is not available.
3207 2005-12-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3209 * tests/peak_chunk_test.c
3210 Extend and clean up tests.
3213 Fix a bug that prevented the turning off of PEAK chunks.
3215 2005-12-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3217 * tests/error_test.c
3218 Make the test distclean correct.
3221 Fix an SD2 MacOSX bug (reported by vince schwarzinger).
3223 2005-12-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3225 * src/aiff.c tests/command_test.c
3226 Apply a big patch from John ffitch (Csound project) to add reading and
3227 writing of instrument chunks to AIFF files. Also update the test.
3229 2005-12-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3231 * tests/aiff_rw_test.c tests/virtual_io_test.c tests/utils.tpl
3232 Move test function dump_data_to_file() to utils.tpl.
3234 * tests/error_test.c tests/Makefile.am
3235 Updates, including a new test to test that sf_error() returns a valid error
3238 2005-12-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3240 * examples/list_formats.c
3241 Make sure the SF_INFO struct is memset to all zero before being used.
3242 Thanks to Stephen F. Booth.
3245 Make the return value of sf_error() match the API documentation.
3247 2005-11-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3249 * examples/sndfile-convert.c
3250 Allow conversion to raw gsm610.
3252 * src/common.h src/sndfile.c src/au.c
3253 Remove au_nh_open() and all references to it (wasn't working anyway).
3255 * tests/headerless_test.c
3256 Add new test for file extension based detection.
3259 Rejig file extension based file type detection.
3261 2005-11-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3264 Add "gsm" as a recognised file extension when no magic number can be found.
3266 * tests/lossy_comp_test.c tests/Makefile.am
3267 Test headerless GSM610.
3269 2005-11-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3272 Fix a minor typo and a minor error. Thanks Christoph Kobe and John Pavel.
3274 2005-10-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3277 Add more reporting of 'fmt ' chunk for G721 encoded files.
3280 Gernerate a more correct 20 byte 'fmt ' chunk rather than a 16 byte one.
3282 2005-10-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3284 * src/G72x/g72x.[ch]
3285 Minor cleanup of interface.
3287 2005-10-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3290 Removed the horribly broken and non-functional OGG implementation when
3291 --enable-experimental was enabled. When OGG does finally work it will be
3297 2005-10-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3299 * src/g72x.c src/G72x/*.(c|h) src/common.h src/sndfile.c src/wav.c src/au.c
3300 Add support for G721 encoded WAV files.
3303 Update support matrix.
3305 * tests/lossy_comp_test.c
3306 For file formats that support it, add string data after the audio data and
3307 make sure it isn't treated as audio data on read.
3310 Add code to ensure that the container close function (ie for WAV files) gets
3311 called after the codec's close function. This allows GSM610 encoded WAV files
3312 to have string data following the audio data.
3313 Add an AIFF specific check on psf->datalength.
3316 Simplify wav_close function.
3319 Make sure the tailer data gets written at an even file offset. Pad if
3323 Replace the close function pointer in SF_PRIVATE with separate functions
3324 codec_close and container_close. The former is always called first.
3327 Fix knock on effects of above.
3329 2005-10-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3331 * examples/sndfile-info.c
3332 Complete dumping SF_INSTRUMENT data.
3334 * src/dwvw.c src/ima_adpcm.c src/gsm610.c src/ms_adpcm.c
3335 Add extra checks in *_init function.
3337 * tests/lossy_comp_test.c
3338 Add a string comment to the end of the files to make sure that the decoder
3339 doesn't decode beyond the end of the audio data section.
3341 2005-10-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3343 * examples/sndfile-info.c
3345 Start work on dumping SF_INSTRUMENT data.
3347 2005-10-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3349 * src/sndfile.h.in src/common.h src/common.c
3350 Update definition of SF_INSTRUMENT struct and create a function to allocate
3351 and initialize the struct (input from David Viens).
3352 Clean up definition of SF_INSTRUMENT struct.
3354 * src/wav.c src/wav_w64.c
3355 Add support for Ambisoncs B WAVEX files (David Viens).
3357 * src/aiff.c src/wav.c src/wav_w64.c
3358 Start work on reading/writing the SF_INSTRUMENT data.
3361 Add code to get and set SF_INSTRUMENT data.
3363 * tests/command_test.* tests/Makefile.am
3364 Add test for set and getof SF_INSTRUMENT data.
3365 The file command_test.c is no longer autogen generated.
3367 2005-10-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3372 2005-10-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3374 * tests/lossy_comp_test.c
3377 2005-10-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3380 Ensure sfconfig.h is included before any other header file.
3383 Add comments documenting the three sections of the file.
3386 Make sure SF_FORMAT_WAVEX are handled correctly.
3388 2005-10-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3391 Add options to allow disabling of FLAC and ALSA. Suggested by Ben Greear.
3393 2005-09-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3395 * tests/locale_test.c
3396 Modify the way the unicode strings were encoded so that older compilers
3397 do not complain. Thanks Axel Röbel.
3400 Bump the version to 1.0.12 for release.
3402 * NEWS README Win32/config.h doc/(FAQ|index.html|command|api).html
3403 Update version numbers.
3405 2005-09-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3408 Fix valgrind error and minor cleanup.
3410 2005-09-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3412 * src/(au|paf|aiff|w64|wav|svx).c
3413 Make sure structs are initialised.
3415 2005-09-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3418 Make -Wdeclaration-after-statement work with --enable-gcc-werror configure
3420 Add -std=gnu99 (C99 plus posix style stuff like gmtime_r) to CFLAGS if the
3421 compiler supports it.
3423 2005-09-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3425 * configure.ac acinclude.m4
3426 Add -Wdeclaration-after-statement to CFLAGS if the compilers supports it.
3428 2005-09-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3430 * tests/util.(tpl|def)
3431 Make the test_write_*_or_die() functions const safe.
3433 2005-09-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3436 Make sure the data offset is read from the file header. Thanks to
3437 David A. van Leeuwen for a patch.
3439 2005-09-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3441 * configure.ac src/sfconfig.h
3442 Check for <locale.h> and the function setlocale().
3443 Set config variables to zero if not found.
3445 * tests/locale_test.c tests/Makefile.am
3446 Add new test program and hook into build/test system.
3448 2005-09-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3450 * src/common.h src/file_io.c
3451 On windows, use windows specific types for file handles.
3452 Add functions psf_init_files() and psf_use_rsrc().
3455 Make resource fork handling independant of file desciptor/handles.
3457 * src/sndfile.c src/test_file_io.c
3458 Fix knock on effects.
3460 2005-09-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3463 The lrint and lrintf implementations in Cygwin are both buggy and slow.
3464 Add replacements which were pulled from the Public Domain MinGW math.h
3467 2005-09-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3469 * tests/(lossy_comp_test|virtual_io_test).c
3470 More Valgrind fixups.
3473 Simplify and correct configuring for Cygwin.
3475 * Win32/config.h Win32/sndfile.h Win32/Makefile.msvc
3476 Update build for MSVC.
3478 2005-09-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3480 * tests/lossy_comp_test.c
3481 Make sure to close SNDFILE when exiting test when file format is not seekable.
3483 * tests/(aiff_rw_test|virtual_io_test).c
3484 Do a few valgrind fix ups.
3486 2005-09-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3488 * src/float32.c src/double64.c
3489 Replace floating point equality comparisons with greater/less comparisons.
3490 Found by John Pavel using the Intel compiler.
3493 New file to clean up issues surrounding autoconf generated preprocessor
3496 * src/*.(c|h) tests/*.(c|tpl) examples/*.c
3497 Fixed a bunch of other stuff found by John Pavel using the Intel compiler.
3500 Remove Mac OS9 Metrowerks compiler specific hacks.
3502 2005-08-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3505 Cast integer literal to sf_count_t in call to psf_binheader_writef() to
3506 prevent Valgrind error.
3508 2005-08-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3511 Improve documentation of SF_GET_FORMAT_SUBTYPE.
3513 2005-08-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3515 * examples/sndfile-convert.c
3516 Allow files to be converted to SD2 format.
3519 Fix a bug in reading and writing of SD2 files on little endian CPUs.
3520 Thanks to Matthew Willis for finding this.
3522 2005-08-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3525 Update Note2 to point to SFC_SET_SCALE_FLOAT_INT_READ.
3527 2005-08-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3530 Use $host_os instead of $target_os (thanks to Mo De Jong).
3532 2005-08-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3535 Apply a patch from Mo DeJong to allow building outside of the source dir.
3538 Fix psf_fsync() for win32.
3540 * src/wav.c src/wav_w64.(c|h)
3541 Move some code from wav.c to wav_w64.c to improve the log output of files of
3542 type WAVE_FORMAT_EXTENSIBLE.
3544 2005-08-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3546 * src/create_symbols_file.py
3547 Make sure sf_write_fsync is an exported symbol.
3549 * examples/sndfile-convert.c
3550 Add support for writing VOX adpcm files.
3552 2005-07-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3555 Document the new function sf_write_sync().
3558 Do you plan to support XYZ codec.
3560 2005-07-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3562 * src/sndfile.h.in src/sndfile.c
3563 Add function sf_write_sync() to the API.
3565 * src/common.h src/file_io.c
3566 Low level implementation (win32 not done yet).
3568 * tests/write_read_test.tpl
3569 Use the new function in the tests.
3571 2005-07-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3573 * src/common.h src/double64.c src/float32.c src/sndfile.c
3574 Change the way PEAK chunk info is stored. Peaks now stored as an sf_count_t
3575 for position and a double as the value.
3577 * src/aiff.c src/caf.c src/wav.c
3578 Fix knock on effects of above changes.
3581 Implement 'peak' chunk for file wuth data in SF_FORMAT_FLOAT or
3582 SF_FORMAT_DOUBLE format.
3584 2005-07-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3587 Fix a bug where a variable was being used without being initialized.
3590 Add extra debug in sf_flac_meta_callback.
3591 Make a bunch of private functions static.
3593 * src/aiff.c src/wav.c
3594 Fix allocation for PEAK_CHUNK (bug found using valgrind).
3596 2005-07-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3599 Move the peak_loc field of SF_PRIVATE to the PEAK_CHUNK struct.
3600 Remove had_peak field of SF_PRIVATE, use pchunk != NULL instead.
3601 Rename PEAK_CHUNK and PEAK_POS to PEAK_CHUNK_32 and PEAK_POS_32.
3603 * src/aiff.c src/caf.c src/wav.c src/float32.c src/double64.c
3604 Fix knock on effects from above.
3606 2005-07-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3609 Prevent files with unknown chunks from being opened read/write.
3611 2005-07-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3614 Do not use psf->end_of_file because it never gets set to anything.
3617 Remove unused SF_PRIVATE field end_of_file.
3619 2005-07-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3622 Change the 'S' format specifier of psf_binheader_writef() to write AIFF
3623 style strings (no terminating character).
3626 Move to new (correct) AIFF string style. Thanks to Axel Röbel for being
3627 so persistent on this issue.
3629 2005-07-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3632 Allow SFE_UNSUPPORTED_FORMAT as an error from sf_open().
3634 * doc/api.html doc/command.html
3635 Documentation updates (thanks to Kyroz for promoting these updates).
3638 Modify the way the header is written.
3640 2005-07-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3643 Add a 'free' chunk to the written file so that the audio data starts at
3644 an offset of 0x1000.
3647 Allow SFE_UNSUPPORTED_FORMAT as an error from sf_open().
3649 2005-07-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3651 * src/caf.c src/sndfile.c
3652 Add support for signed 8 bit integers.
3654 * tests/write_read_test.tpl
3655 Add test for signed 8 bit integers in CAF files.
3658 Update matrix for signed 8 bit integers in CAF files.
3660 2005-07-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3663 Update sf_check_format() to support CAF.
3665 * examples/sndfile-convert.c
3666 Add support for ".caf" file extension.
3669 Add Apple CAF to the support matrix.
3672 Add file write support.
3675 Fix printing of Frames.
3677 * tests/Makefile.am tests/write_read_test.tpl tests/lossy_comp_test.c
3678 tests/header_test.tpl misc_test.c
3679 Add tests for CAF files.
3681 2005-07-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3684 Fix Q/A about reading/writing memory buffers.
3687 Bunch of work to support reading of CAF files.
3689 2005-07-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3691 * src/(aiff|ima_adpcm|mat4|mat5|ms_adpcm).c examples/sndfile-play.c
3692 Fix sign conversion errors reported by gcc-4.0.
3695 New file for Apple's Core Audio File format.
3697 * src/sndfile.c src/common.h src/sndfile.h.in src/Makefile.am
3698 Hook new file into build system.
3700 2005-06-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3703 Fix handling of stupidly large 'fmt ' chunks. Thanks to Vadim Berezniker
3704 for supplying an example file.
3706 * src/common.h src/sndfile.c
3707 Remove redundant error code SFE_WAV_FMT_TOO_BIG.
3709 2005-06-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3711 * src/sndfile.h.in src/common.h src/sndfile.c
3712 Add public error value SF_ERR_MALFORMED_FILE.
3715 When parsing a file header fails and we don't have a system error, then set
3716 the error number to SF_ERR_MALFORMED_FILE (suggested by Kyroz).
3719 Allow sqlite support to be disabled in configure script.
3721 * regtest/database.c regtest/sndfile-regtest.c
3722 Fix compiling when sqlite is missing.
3724 2005-06-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3727 Fix psf_is_pipe() and return value of psf_fread() when using virtual i/o.
3730 Fix VALIDATE_AND_ASSIGN_PSF macro for virtual i/o.
3732 * tests/virtual_io_test.c
3733 Fill in skeleton test program.
3736 Move virtual i/o tests to end of tests with stdio/pipe tests.
3738 * src/(sndfile.h.in|file_io.c|common.h|sndfile.c) tests/virtual_io_test.c
3739 Rename some of the virtual i/o functions and data types.
3741 2005-06-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3744 Fix the return values of sf_commands : SFC_SET_NORM_DOUBLE,
3745 SFC_SET_NORM_FLOAT, SFC_GET_LIB_VERSION and SFC_GET_LOG_INFO. Thanks to
3746 Kyroz for pointing out these errors.
3749 Correct documented return values for SFC_SET_NORM_DOUBLE and
3750 SFC_SET_NORM_FLOAT. Thanks to Kyroz again.
3752 2005-05-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3755 Add new files for sndfile-regtest program.
3757 * configure.ac Makefile.am
3758 Hook regetest into build.
3760 * src/wav.c src/common.c
3761 Fix a regression where long ICMT chunks were causing the WAV parser
3764 2005-05-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3766 * libsndfile.spec.in
3767 Add html docs to the files section as suggested by Karsten Jeppesen.
3770 Fix parsing of odd length ANNO chunks.
3772 2005-05-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3775 Change the include guard to prevent clashes with other code.
3777 2005-05-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3779 * examples/sndfile-play.c
3780 Improve error handling in code for playback under Linux/ALSA.
3782 2005-05-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3785 Fix writing of IRCAM files on big endian systems (thanks to Axel Röbel).
3788 Add workaround for files created by the Peak audio editor on Mac which can
3789 produce files with very short LIST chunks (thanks to Jonathan Segel who
3792 2005-04-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3795 Apply a patch From David Viens to make the parsing of basc chunks more
3799 Another patch from David Viens to write correct wavex channel masks for
3800 the most common channel configurations.
3802 2005-04-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3805 Only allow FLAC in the format arrays if FLAC is enabled. Thanks to
3808 2005-03-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3811 Add a directory field for storing the file directory to the SF_PRIVATE
3815 Grab the directory name when copying the file path.
3818 Cleanup psf_open_rsrc() and also check for resource fork in
3819 .AppleDouble/filename.
3821 2005-03-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3824 Fix a bug in the printing of the channel count. Bug reported by Michael
3827 2005-01-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3830 Fix a seek bug for 24 bit PAF files.
3832 * tests/write_read_test.tpl
3833 Update write_read_test to trigger the previously hidden PAF seek bug.
3835 2005-01-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3837 * src/aiff.c src/w64.c src/wav.c
3838 Do not return a header parse error when the log buffer overflows.
3839 Continuing parsing works even on files where the log buffer does overflow.
3840 This avoids a bug on some weirdo WAV (and other) files.
3842 * src/common.h src/sndfile.c
3843 Remove SFE_LOG_OVERRIN error and its associated error message.
3846 Fix a rsrc fork problem on MacOSX.
3848 2004-12-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3850 * src/sndfile-play.c
3851 In the ALSA output code, added call to snd_pcm_drain() just before
3852 snd_pcm_close() as suggested by Thomas Kaeding.
3853 In the OSS output code, added two ioctls (SNDCTL_DSP_POST and
3854 SNDCTL_DSP_SYNC) just before the close of the audio device.
3856 * tests/virtual_io_test.c tests/Makefile.am
3857 Add a new test program (currently empty) and add it to the build.
3859 2004-12-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3861 * src/sndfile.h.in src/sndfile.h src/common.h src/file_io.c
3862 src/create_symbols_file.py
3863 Apply patch from Steve Baker which is the beginnings of a virtual
3866 2004-12-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3868 * src/*.c src/sndfile.h.in
3869 Const-ify the write path throughout the library.
3871 2004-12-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3873 * doc/development.html
3876 2004-11-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3881 2004-11-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3884 Add workaround for Logic Platinum AIFF files with broken COMT chunks.
3886 2004-11-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3889 Remove some ambiguities in the SD2 FAQ answer.
3891 2004-11-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3893 * Win32/sndfile.h Win32/config.h MacOS9/sndfile.h MacOS9/config.h
3894 Updates from autoconfig versions.
3896 2004-11-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3899 Fix parsing of COMT chunks. Store SF_STR_COMMENT data in ANNO chunks
3900 instead of COMT chunk.
3902 2004-11-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3904 * src/file_io.c src/common.h
3905 Change the ptr argument to psf_write() from "void*" to a "const void*".
3906 Thanks to Tobias Gehrig for suggesting this.
3908 2004-10-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3910 * src/file_io.c src/common.h
3911 Add functions psf_close_rsrc() and read length of resourse fork into
3912 rsrclength field of SF_PRIVATE.
3915 Make sure resource fork gets closed.
3918 Add functions to check for file descriptor leakage.
3920 * src/write_read_test.tpl
3921 Use the file descriptor leak checks.
3924 Add SFC_GET_LOOP_INFO and SF_LOOP_INFO struct.
3927 Add SF_LOOP_INFO pointer to SF_PRIVATE.
3929 * src/wav.c src/aiff.c
3930 Improve and add parsing of 'ACID' and 'basc' chunks, filling in
3931 SF_LOOP_INFO data in SF_PRIVATE.
3933 2004-10-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3936 Further cleanup: remove printfs, change snprintf to LSF_SNPRINTF.
3938 * Win32/config.h Win32/sndfile.h
3942 Add win32 macro for snprintf.
3944 2004-10-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3947 Add macros : H2BE_SHORT, H2BE_INT, H2LE_SHORT and H2LE_INT.
3950 Use macros to make sure writing SD2 files on little endian machines works
3954 Add a delete_file() function which also deletes the resource fork of SD2
3957 * tests/write_read_test.tpl
3958 Use delete_file() so that "make distcheck" works.
3960 2004-10-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3962 * src/sndfile.c src/file_io.c
3963 Move resource filename construction and testing to psf_open_rsrc().
3965 * src/common.h src/sndfile.c
3966 Add error SFE_SD2_FD_DISALLOWED.
3968 * tests/util.tpl tests/*.(c|tpl)
3969 Add and allow_fd parameter to test_open_file_or_die() so that use of
3970 sf_open_fd() can be avoided when opening SD2 files.
3972 2004-10-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3975 Update ACID chunk parsing.
3978 More fixes for files with large resource forks.
3980 2004-10-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3982 * src/common.h src/sndfile.c
3983 Add error numbers and messages for sd2 files.
3986 Reading of sd2 (resource fork version) now seems to be working.
3988 2004-10-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3991 Update file_io.c to include win32 psf_rsrc_open().
3993 * tests/floating_point_test.tpl
3994 Remove use of __func__ in test programs (MSVC++ doesn't grok this).
3996 * Win32/(config|sndfile).h MacOS9/(config|sndfile).h
3999 2004-10-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4002 Fix endswap_int64_t_(array|copy).
4004 * src/test_endswap.(tpl|def)
4005 Add tests for above and inprove all tests.
4007 2004-10-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4010 Improve type safety, add endswap_double_array().
4013 Use endswap_double_array() instead of endswap_long_array().
4015 * src/test_endswap.(tpl|def) src/Makefile.am
4016 Add preliminary endswap tests and hook into build system.
4018 2004-10-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4020 * src/configure.ac src/makefile.am
4021 Finally fix the bulding of DLLs on Win32/MinGW.
4024 Fix running of tests on Win32/MinGW.
4026 2004-10-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4028 * src/sndfile.h.in src/sndfile.c tests/floating_point_test.tpl
4029 Rename SFC_SET_FLOAT_INT_MULTIPLIER to SFC_SET_SCALE_FLOAT_INT_READ.
4032 Document SFC_SET_SCALE_FLOAT_INT_READ.
4034 2004-09-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4036 * tests/floating_point_test.(tpl|def)
4037 Derived from floating_point_test.c.
4038 Add (float|double)_(short|int)_test functions.
4040 * tests/util.(tpl|def)
4041 Make separate float and double versions of gen_windowed_sine().
4043 * tests/write_read_test.tpl
4044 Fix after changes to gen_windowed_sine().
4046 * src/(float32|double64).c
4047 Implement SFC_SET_FLOAT_INT_MULTIPPLIER.
4049 2004-09-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4052 Fix warnings from automake 1.8 and later.
4054 * examples/sndfile-info.c
4055 Add a "fflush (stdout)" after printing Win32 message.
4057 2004-09-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4059 * Win32/Makefile.mingw.in
4060 Add a "make install" target.
4062 2004-09-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4064 * src/sndfile.h.in src/common.h src/sndfile.c src/command.c
4065 Start work on adding command SFC_SET_FLOAT_INT_MULTIPLIER.
4067 2004-09-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4069 * examples/sndfile-convert.c
4070 Fix a bug converting stereo integer PCM files to float.
4072 2004-09-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4074 * examples/sndfile-play.c
4075 Appy patch from Conrad Parker to make Mac OSX error messages more
4076 consistent and informative.
4079 Fix a HTML HREF which was wrong.
4082 Add information about when nmake fails.
4084 2004-09-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4086 * examples/sndfile-play.c
4087 Another patch from Denis Cote to prevent race conditions.
4089 2004-09-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4091 * src/common.h src/ms_adpcm.c src/ima_adpcm.c
4092 Fix alternative to ISO standard flexible struct array feature for broken
4095 2004-08-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4097 * src/common.h src/string.c src/sndfile.c
4098 Make sf_set_string() return an error if trying to set a string when in
4101 2004-08-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4104 Change the unnamed union into a named union so gcc-2.95 will compile it.
4107 Fixes to allow for the above change.
4109 2004-08-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4111 * examples/sndfile-play.c
4112 Fixes for Win32. Thanks to Denis Cote.
4114 * Win32/Win32/Makefile.(msvc|mingw.in)
4115 Fix build system after removal of sfendian.h.
4116 Build sndfile-convert.
4119 Remove sfendian.c from dependancies.
4121 2004-08-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4124 Fix typo in comments (thanks Tommi Sakari Uimonen).
4126 2004-07-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4128 * tests/(a|u)law_test.c
4131 2004-07-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4133 * src/(pcm|float|double64|ulaw|alaw|xi).c
4134 Optimise read/write loops by removing a redundant variable.
4136 2004-07-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4139 Remove call to fsync() in psf_close().
4141 2004-07-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4144 Inline x2y_array() functions where possible.
4147 Detect presence of type int64_t.
4149 * src/sfendian.c src/sfendian.h
4150 Move functions in the first file to the sfendian.h as static inline
4152 Improve endswap_long_*() where possible.
4154 2004-07-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4157 When converting from unsigned char to float or double, subtract 128 before
4158 converting to float/double rather than after to save a floating point
4159 operation as suggested by Stefan Briesenick.
4161 * src/(pcm|sfendian|alaw|ulaw|double64|float32).c
4162 Optimize inner loops by changing the loop counting slightly as suggested
4163 by Stefan Briesenick.
4166 Detect presence of <byteswap.h>.
4169 Use <byteswap.h> if present as suggested by Stefan Briesenick.
4174 2004-07-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4176 * src/common.h src/*.c
4177 Change the psf->buffer field of SF_PRIVATE into a more type safe union with
4178 double, float, int etc elements.
4180 2004-06-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4182 * examples/sndfile-play.c
4183 Merge slightly modifed patch from Stanko Juzbasic which allows playback of
4184 mono files on MacOSX.
4186 2004-06-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4188 * examples/sndfile-convert.c
4189 Move copy_metadata() after the second sf_open().
4191 2004-06-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4193 * examples/sndfile-convert.c
4194 Fix a bug which caused the program to go into an infinite loop if the source
4195 file has no meta-data. Thanks to Ron Parker for reporting this.
4198 Add SF_STR_FIRST and SF_STR_LAST to allow enumeration of string types.
4200 * Win32/sndfile.h MacOS9/sndfile.h
4201 Update these as per the above file.
4203 2004-06-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4205 * configure.ac src/common.h src/ogg.c src/sndfile.c src/sndfile.h.in
4207 Apply large patch from Conrad Parker implementing Ogg Vorbis, Ogg Speex and
4208 Annodex support via liboggz and libfishsound. Thanks Conrad.
4210 2004-06-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4212 * src/avr.c src/ircam.c src/nist.c src/paf.c src/xi.c
4213 Add cast to size_t for some parameters passed to psf_binheader_writef. This
4214 is Debian bug number 253490. Thanks to Anand Kumria and Andreas Jochens.
4217 Found and fixed a bug resulting from use of size_t when writing W64 'fmt '
4220 2004-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4223 Bump version to 1.0.10 ready for release.
4226 Remove redundant files (check_libsndfile.py libsndfile_version_convert.py)
4227 from distribution tarball.
4229 * tests/header_test.tpl
4230 Fix uninitialised variable.
4232 * src/GSM610/short_term.c
4233 Fix compiler warning on MSVC++.
4235 2004-05-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4238 Improve record keeping of chunks seen and return an error if a file with
4239 unusual chunks is opened in mode SFM_RDWR.
4242 This file not needed so remove it.
4244 2004-05-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4246 * tests/header_test.tpl
4247 Add extra_header_test().
4249 * src/common.h src/sndfile.c
4250 Add SFE_RDWR_BAD_HEADER error number and string.
4252 2004-05-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4254 * tests/utils.tpl tests/*.c tests/*.tpl
4255 Add a line number argument to check_log_buffer_or_die() and update all
4256 files that use that function.
4258 * tests/header_test.tpl
4259 Modify/update tests for files opened SFM_RDWR and SFC_UPDATE_HEADER_AUTO.
4261 * src/aiff.c src/wav.c
4262 Fix another bug in AIFF and WAV files opened in SFM_RDWR and using
4263 SFC_UPDATE_HEADER_AUTO.
4265 * src/test_file_io.c
4266 Add a test for psf_ftruncate() function.
4268 2004-05-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4271 Fix another weird corner case bug found by Martin Rumori. Thanks.
4273 * tests/header_test.(tpl|def)
4274 Two new files to test for the absence of the above bug and include tests
4275 moved from tests/misc_test.c.
4278 Hook new tests into build/test system.
4281 Remove update_header_test() which has been moved to the new files above.
4283 2004-05-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4286 Fixed a bug reported by Martin Rumori on the LAD list. If a file created
4287 with a format of SF_FORMAT_FLOAT and then closed before any data is written
4288 to it, the header can get screwed up (PEAK chunk gets overwritten).
4290 * tests/write_read_test.tpl
4291 Add a test (empty_file_test) for the above bug.
4293 2004-05-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4295 * Win32/Makefile.mingw.in
4296 Added a Makefile for MinGW (needs to be processed by configure).
4298 * src/mmsystem.h src/mmreg.h
4299 Add files from the Wine project (under the LGPL) to allow build of
4300 sndfile-play.exe under MinGW.
4302 2004-05-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4304 * src/GSM610/gsm610_priv.h
4305 Replace ugly macros with inline functions.
4308 Remove temporary variables used by macros and other minor fixes required by
4311 2004-05-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4313 * tests/pipe_test.tpl tests/stdio_test.c Win32/Makefile.msvc
4314 Make sure these programs compile (even though they do nothing) on Win32
4315 and add them to the "make check" target.
4318 Fix warning on Sparc CPU and code cleanup.
4320 2004-05-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4323 Fix warning messages when compiling under MinGW.
4325 2004-05-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4328 Set HAVE_FLEXIBLE_ARRAY in src/config.h depending on whether the compiler
4329 accepts the flexible array struct member as per 1999 ISO C standard.
4331 * src/common.h src/ima_adpcm.c src/paf.c src/ms_adpcm.c
4332 Added ugly #if HAVE_FLEXIBLE_ARRAY and provided a non-standards compliant
4333 hack for non 1999 ISO C compliant compilers.
4335 2004-04-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4338 If adding an SF_STR_SOFTWARE string, only append libsndfile-X.Y.Z if the
4339 string does not already have libsndfile in the string. Thanks to Conrad
4342 * tests/string_test.c
4343 Add test to verify the above.
4345 * examples/sndfile-convert.c
4346 Add ability to transcode meta data as well (Conrad Parker).
4348 2004-04-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4351 Fix minor error. Thanks to Simon Burton.
4354 Started adding instructions for compiling libsndfile under MinGW.
4357 Add --enable-bow-docs to enable black text on a white background HTML docs.
4359 * doc/libsndfile.css.in
4360 This is now a template file for configure which sets the foreground and
4363 2004-04-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4366 Do some MinGW fixes.
4368 * configure.ac doc/Makefile.am
4369 Install HTML docs when doing make install.
4371 2004-04-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4373 * examples/sndfile-info.c
4374 Print out the dB level with the signal max.
4376 2004-04-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4379 Define S_ISSOCK in src/file_io.c if required.
4381 2004-04-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4384 Improve printout configuration summary (as suggested by Axel Röbel).
4387 Add link to pre-release location.
4390 Remove comma after last element of enum.
4392 * src/float32.c src/double64.c
4393 Fix read/write of float/double encoded raw files to/from pipes.
4395 * tests/pipe_test.c tests/pipe_test.tpl tests/pipe_test.def
4396 Turn pipe_test.c into an autogenerated file and add tests for reading/
4397 writing floats and doubles.
4400 Hook tests/pipe_test.* into build system.
4402 2004-04-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4404 * configure.ac acinclude.m4
4405 Rename AC_C_STRUCT_HACK macro to AC_C99_FLEXIBLE_ARRAY.
4407 2004-03-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4410 Perform update_header_test in RDWR mode as well.
4413 Fix problems when updating header in RDWR mode.
4415 2004-03-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4417 * src/wav.c src/w64.c src/wav_w64.c
4418 Integrate code supplied by David Viens for supporting microsoft's
4419 WAVEFORMATEXTENSIBLE stuff. Thanks David for supplying this.
4421 * configure.ac doc/*.html
4422 Bump version to 1.0.9.
4424 2004-03-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4426 * src/command.c src/sndfile.c src/sndfile.h.in src/wav.c
4427 Started work on supporting microsoft's WAVEFORMATEXTENSIBLE gunk.
4429 2004-03-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4432 New file to handle Audio Visual Resaerch files.
4434 * src/sndfile.h.in src/common.h src/sndfile.c src/command.c
4435 Hook AVR into everything else.
4437 * tests/Makefile.am tests/write_read_test.tpl tests/misc_test.c
4438 Add testing for AVR files.
4440 2004-03-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4443 Fix psf_set_file() for win32. Thanks to Vincent Trussart (Plogue Art et
4444 Technologie) for coming up with the solution.
4446 2004-03-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4448 * tests/write_read_test.tpl
4449 Fixed a bug that was causing valgrind to report a memory leak. The bug was
4450 in the test code itself, not the library.
4452 2004-03-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4454 * examples/generate.cs
4455 An example showing how to use libsndfile from C#. Thanks to James Robson
4458 2004-03-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4461 Fix problems with WAV files containing large chunks after the 'data'
4462 chunk. Thanks to Koen Tanghe for providing a sample file.
4464 2004-03-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4467 Detect presense of ALSA (Advanced Linux Sound Architecture).
4469 * examples/sndfile-play.c
4470 Add ALSA output support.
4472 * examples/Makefile.am
4473 Add ALSA_LIBS to link line of sndfile-play.c.
4475 2004-03-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4478 Add new macro (AC_C_STRUCT_HACK) to detect whether the C compiler allows
4479 the use of the what is known as the struct hack introduced by the 1999 ISO
4483 The last release would not compile with gcc-2.95 due to the use of features
4484 (ie struct hack) introduced by the 1999 ISO C Standard.
4485 Add check to make sure compiler handles this and bomb out if it doesn't.
4487 2004-03-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4489 * tests/write_read_test.tpl
4490 Fix compiler warning on Win32.
4493 Fix use of an un-initialised variable in Win32 stuff.
4495 * Win32/config.h examples/sndfile-play.c
4498 2004-03-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4501 Fix bug which occurres when configuring for MinGW.
4502 If compiler is gcc and cross compiling use -nostdinc.
4504 2004-03-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4506 * src/common.h src/aiff.c src/wav.c src/float32.c src/double64.c
4508 Fix a bug with PEAK chunk handling for files with more than 16 channels.
4509 Thanks to Remy Bruno for finding this.
4511 2004-03-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4514 Fix a bug which was preventing WAV files being openned correctly if the
4515 file had a very large header. Thanks to Eldad Zack for finding this.
4517 2004-03-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4519 * configure.ac src/file_io.c
4520 Fix cross-compiling from Linux to Win32 using the MinGW tools.
4522 2004-03-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4524 * src/create_symbols_file.sh
4525 Christian Weisgerber pointed out that the shell script did not run on a
4526 real Bourne shell although it did run under Bash in Bourne shell mode.
4528 * src/create_symbols_file.py
4529 Rewrite of above in Python. Also add support for writing Win32 .def files.
4530 The Python script generates Symbols.linux, Symbols.darwin and
4531 libsndfile.def (Win32 version). These files get shipped with the tarball
4532 so there should not be necessary to run the Python script when building
4533 the code from the tarball.
4535 * configure.ac src/Makefile.am Win32/Makefile.am
4536 Hook new Python script into the build system.
4538 2004-02-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4541 Add --enable-gcc-werror option and move GCC specific stuff down.
4543 2004-02-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4545 * acinclude.m4 configure.ac
4546 Fix clip mode detection (tested in one of HP's testdrive Itanium II boxes).
4549 Added check for sizeof (off_t) != sizeof (sf_count_t) to prevent recurrence
4550 of missing large file support on Linux and Solaris.
4552 2004-02-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4554 * examples/sndfile-play.c
4555 Fix a MacOSX specific bug which was caused by a space being inserted in
4556 the middle of a file name.
4558 * configure.ac src/Makefile.am examples/Makefile.am
4559 Fix a couple of MacOSX build issues.
4561 2004-02-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4564 Document SFC_SET_CLIPPING and SFC_GET_CLIPPING.
4566 2004-02-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4569 Applied patch from Frank Neumann (author of lakai) which fixes many minor
4570 typos in documentation. Thanks Frank.
4572 2004-02-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4575 Changed my email address throughout source and docs.
4577 2004-02-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4580 Make sure config.h is included before stdio.h to make sure large file
4581 support is enabled on Linux (and Solaris).
4584 Disable update_header test on Win32. This should work but doesn't and
4587 * Make.bat Win32/Makefile.msvc
4590 2004-01-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4593 Changed logindex, headindex and headend files of SF_PRIVATE from unsigned
4594 int to int to prevent weird arithmetic bugs.
4596 * src/common.c src/aiff.c src/wav.c src/w64.c
4597 Fixed compiler warnings resulting from above change.
4599 2004-01-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4602 Fixed a bug in header reader for some files with data after the sample data.
4604 2003-12-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4606 * tests/lossy_comp_test.c tests/Makefile.am
4607 Add tests for AIFF/IMA files.
4609 2003-12-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4611 * src/macbinary3.c src/macos.c
4612 Two new files required for handling SD2 files.
4615 Add prototypes for functions in above two files.
4618 Hook new files into build system.
4620 2003-12-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4623 Add checks for mmap() and getpagesize() which might be used at some time
4624 for faster file reads.
4625 Add detection of MacOSX.
4627 2003-12-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4630 Minor mods to pkg-config section.
4632 2003-12-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4634 * src/create_symbols_file.sh
4635 Andre Pang (also known as Ozone) pointed out that on MacOSX, all non
4636 static symbols are exported causing troubles when trying to link
4637 libsndfile with another library which has any of the same symbols.
4638 He fixed this by supplying the MacOSX linker with a file containing
4639 all the public symbols so that only they would be exported and then
4640 supplied a patch for libsndfile.
4641 This wasn't quite ideal, because I would have to maintain two (3 if
4642 you include Win32) separate files containing the exported symbols.
4643 A better solution was to create this script which can generate a
4644 Symbols file for Linux, MacoSX and any other OS that supports
4645 minimising the number of exported symbols.
4647 * configure.ac src/Makefile.am
4648 Hook the new script into the build process.
4650 2003-12-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4653 Added comments about Steve Dekorte's SoundConverter scam.
4655 2003-12-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4658 Axel Röbel pointed out that on Mac OSX a pipe is not considered a fifo
4659 (S_ISFIFO (st.st_mode) is false) but a socket (S_ISSOCK (st.st_mode) is
4660 true). The test has therefore been changed to is S_ISREG and anything
4661 which which does not return true for S_ISREG is considered a pipe.
4663 2003-11-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4666 Fix update_header_test to pass SDS.
4671 * tests/floating_point_test.c
4672 Add test for SDS files.
4675 Add SDS to major_formats array.
4677 2003-11-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4679 * tests/write_read_test.tpl tests/misc_test.c
4680 Add tests for SDS files.
4683 Fix a bug in header update code.
4685 2003-11-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4688 Get file write working.
4691 Fix a potential bug in paf24_seek().
4693 2003-11-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4696 Add Q/A about u-law encoded WAV files.
4699 Updated so it compiles on Win32.
4701 2003-11-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4703 * examples/sndfile-convert.c
4704 Add -alaw and -ulaw command line arguments.
4707 Add library versioning comments.
4708 Add arguments to AC_INIT.
4710 2003-10-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4713 Ross Bencina has contributed code to replace all of the (mostly broken)
4714 Win32 POSIX emulation calls with calls the native Win32 file I/O API.
4715 This code still needs testing but is likely to be a huge improvemnt
4716 of support for Win32. Thanks Ross.
4718 2003-10-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4721 Removed filedes field from the DWVW_PRIVATE struct.
4724 Change psf_fopen() so it returns psf->error instead of the file descriptor.
4725 Add new functions psf_set_stdio() and psf_set_file().
4728 Change these to work with changed psf_fopen() return value.
4729 Remove all uses of psf->filedes from sndfile, making it easier to slot native
4730 Win32 API file handling functions.
4732 * src/test_file_io.c
4733 Minor changes to make it compile with new file_io.c stuff.
4735 2003-10-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4738 Rename a variable from true to true_flag. As Ross Bencina points out,
4739 true is defined in the C99 header <stdbool.h>.
4742 If fstat() fails, return SF_TRUE instead of -1 (Ross Bencina).
4744 2003-10-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4747 Increase the size of SF_BUFFER_LEN and SF_HEADER_LEN.
4750 Fix sf_read/write_raw which were dividing by psf->bytwidth and
4751 psf->blockwidth which can both be zero.
4753 * examples/sndfile-info.c
4754 Increase size of BUFFER_LEN.
4756 2003-09-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4759 Add checks for <sys/wait.h> and ssize_t.
4760 Other Win32/MinGW checks.
4762 * src/aiff.c src/au_g72x.c src/file_io.c src/gsm610.c src/interleave.c
4763 src/paf.c src/sds.c src/svx.c src/voc.c src/w64.c src/wav.c src/xi.c
4764 Fix compiler warnings.
4766 2003-09-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4768 * tests/scale_clip_test.tpl
4769 Add definition of M_PI if needed.
4771 2003-09-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4774 Detect if S_IRGRP is declared in <unistd.h>.
4776 * src/file_io.c tests/*.tpl tests/*.c
4777 More fixes for Win32/MSVC++ and MinGW. MinGW does have <unistd.h> but that
4778 file doesn't declare S_IRGRP.
4780 2003-10-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4783 Add comment stating that the sf_count_t typedef is determined when
4784 libsndfile is being compiled.
4787 Modified so that utils.c gets one copy of the GPL and not two.
4790 2003-09-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4792 * Win32/unistd.h src/sf_unistd.h
4793 Move first file to the second. This will help for Win32/MSVC++ and MinGW.
4795 * Win32/Makefile.am src/Makefile.am
4796 Changed in line with above.
4798 * Win32/Makefile.msvc
4799 Removed "/I Win32" which is no longer required.
4801 * src/file_io.c src/test_file_io.c tests/*.tpl tests/*.c
4802 If HAVE_UNISTD_H include <unistd.h> else include <sf_unistd.h>. This should
4803 work for Win32, MinGW and other fakes Unix-like OSes.
4806 Removed #include <unistd.h> from files which didn't need it.
4808 2003-09-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4810 * libsndfile.spec.in
4811 Apply fix from Andrew Schultz.
4813 2003-09-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4816 Only set psf->sf.samplerate if the existing value is invalid.
4818 2003-09-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4820 * examples/sndfile-play.c
4821 Started adding support for ALSA output.
4823 2003-09-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4826 Removed <stdlib.h> from sndfile.h.
4828 * src/*.c examples/*.c tests/*.c tests/*.tpl
4829 Added <stdlib.h> where needed.
4831 2003-09-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4834 Added ARRAY_LEN, SF_MAX and SF_MIN macros.
4836 2003-08-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4839 Remove statements about alternative licensing arrangements.
4841 2003-08-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4843 * MacOS MacOS9 Makefile.am configure.ac
4844 Change directory name from MacOS to MacOS9
4846 * MacOS9/MacOS9-readme.txt
4847 Change name to make it really obvious, add text to top of file to make it
4848 still more obvious again.
4850 2003-08-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4852 * src/test_log_printf.c
4853 Add tests for %u conversions.
4856 Fix psf_log_printf() %u conversions.
4858 2003-08-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4861 Fixed a bug where opening a file with a non-trival header in SFM_RDWR mode
4862 would over-write part of the header. Thanks to Axel Röbel for pointing
4863 this out. Axel also provided a patch to fix this but I came up with a
4864 neater and more general solution.
4865 Return error when openning an AIFF file with data after the SSND chunk
4866 (Thanks Axel Röbel).
4868 * tests/aiff_rw_test.c
4869 Improvements to test program which will later allow it to be generalised to
4870 test WAV, SVX and others as required.
4872 2003-08-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4875 Add useek_pipe_rw_test() submitted by Russell Francis.
4878 In sf_open_fd(), check if input file descriptor is a pipe.
4881 Fix typo in variable name do_not_close_descriptor.
4883 2003-08-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4885 * src/test_log_printf.c
4886 Improve the tests for %d and %s conversions.
4889 Fixed a few problems in psf_log_printf() found using new tests.
4891 2003-08-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4894 Add -Wwrite-strings warning to CFLAGS if the compiler is GCC. Thanks to
4895 Peter Miller (Aegis author) for suggesting this and supplying a patch.
4897 * src/*.c examples/*.c tests/*.c
4898 Fix all compiler warnings arising from the above.
4900 2003-08-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4902 * tests/aiff_rw_test.c tests/Makefile.am
4903 New test program to check for errors re-writing the headers of AIFC files
4904 opened in mode SFM_RDWR.
4906 2003-07-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4908 * examples/sndfile-play.c
4909 Applied a patch from Tero Pelander to allow this program to run on systems
4910 using devfs which used /dev/sound/dsp instead of /dev/dsp.
4912 2003-07-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4914 * doc/new_file_type.HOWTO
4915 Updated document. Still incomplete.
4917 2003-06-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4920 Fix VALIDATE_SNDFILE_AND_ASSIGN_PSF which was returning an error rather
4921 than saving it and returning zero.
4923 2003-06-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4926 Two fixes for Mac OS9.
4927 Fix all casts from sf_count_t to ssize_t (not size_t).
4929 2003-06-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4932 Fix for reading files with RIFF length of 8 and data length of 0.
4934 2003-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4936 * src/*.c tests/*.c tests/*.tpl
4937 Added comments to mark code for removal when make Lite version of
4940 2003-06-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4942 * examples/sndfile-convert.c
4943 Add extra error checking for unrecognised arguments.
4945 2003-06-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4948 Started adding code to write IMA ADPCM encoded AIFF files.
4950 * src/test_log_printf.c src/Makefile.am
4951 New file to test psf_log_printf() function and add hooks into build system.
4954 Move psf_log_printf() function to top of the file and only compile the rest
4955 of the file if if PSF_LOG_PRINTF_ONLY is not defined.
4957 2003-06-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4959 * Win32/config.h Win32/sndfile.h
4960 Updated with new config variables.
4962 * Win32/unistd.h src/file_io.c
4963 Added implementation of S_ISFIFO macro which Win32 seems to lack and is
4964 used in src/file_io.c.
4967 Added #include <unitstd.h> to pull in Win32/unistd.h so it compiles for
4971 Added src\test_file_io.exe build target and run this as the very first
4974 * tests/win32_test.c
4975 Add support for testing Cygwin32.
4978 Detect POSIX fsync() and fdatasync() functions.
4981 If compiling for Cygwin, call fsync() before calling fstat() to retrieve
4984 * tests/pcm_test.tpl
4985 Add a test for lrintf() function. This was required to detect a really
4986 broken lrint() and lrintf() on Cygwin.
4989 Don't run permission test when compiling under Cygwin.
4992 Fix fallback macro for lrint() and lrintf() to cast to long instead of int
4993 to match official function prototypes.
4995 2003-06-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4997 * examples/sndfile-convert.c
4998 Modifications to improve accuracy of conversions; use double data for
4999 floating point and int for everything else.
5002 Completed work on decoding IMA ADPCM encoded AIFF files. Still need to
5003 get encoding working.
5005 2003-05-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5007 * src/aiff.c src/ima_adpcm.c
5008 Start working on getting IMA ADPCM encoded AIFF files working.
5010 2003-05-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5013 Fixed the touch command for when the autogen program is not found (Matt
5016 * src/ulaw.c src/alaw.c
5017 Made these pipe-able.
5019 2003-05-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5021 * src/paf.c src/ircam.c
5022 Fixed writing to pipe.
5024 * src/wav.c src/aiff.c src/nist.c src/mat*.c src/svx.c src/w64.c
5025 Return SFE_NO_PIPE_WRITE if an attempt is made to write to a pipe.
5027 2003-05-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5029 * examples/sndfile-info.c
5030 Modified to detect unknown file lengths.
5033 Fix reading from a pipe.
5035 2003-05-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5038 Add more file types to tests.
5041 Removed explicit setting of psf->sf.seekable to SF_TRUE.
5044 Add macro for generating and check data in the stdio and pipe tests.
5046 * tests/stdout_test.c tests/stdin_test.c
5047 Use the above macro to generate known data on output and check data on
5050 * src/voc.c src/htk.c common.h sndfile.c
5051 Disallow reading/writing VOC and HTK files from/to pipes be returning new
5055 Fixes to allow reading from a pipe.
5057 2003-05-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5059 * configure.ac src/sndfile.h.in
5060 When the configure script determines the sizeof (sf_count_t), also set the
5061 value of SF_COUNT_MAX in sndfile.h.
5064 Remove -pedantic flag from default GCC compiler flags.
5067 Add a pipe_read_test() before doing pipe_write_test().
5069 * tests/scale_clip_test.c
5070 Add test to make sure non-normalized values also clip in the right way.
5072 2003-05-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5075 Add test to detect processor clipping capabilities.
5077 * tests/stdin_test.c tests/stdout_test.c
5078 Fix a pair of compiler warnings.
5081 Add new pipeoffset field to SF_PRIVATE. This will contain the current file
5082 offset when operating on a pipe.
5085 Removed direct calls to psf_fread()/psf_fseek()/psf_fgets() etc from
5086 psf_binheader_readf and redirect them to new buffered versions
5087 header_read(), header_seek() and header_gets().
5088 Add "G" format specifier to emulate fgets() functionality with buffering.
5089 This will allow reading some file types from pipes.
5092 When the file descriptor is a pipe, manintain psf->pipeoffset.
5095 Change use of psf_fgets() to psf_binheader_readf() as required but changes to header re
5098 Fix reading from a pipe.
5100 2003-05-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5103 Add clipping versions of the f2XXX_array() functions to allow option of
5104 clipping data that would otherwise overflow.
5106 * tests/scale_clip_test.tpl tests/scale_clip_test.def
5107 New files test that clipping option does actually work.
5109 2003-05-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5112 Fixed a typo ("OS(" instead of "OS9").
5114 2003-05-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5116 * tests/open_fail_test.c
5117 Include <string.h> to prevent warning message of missing declaration of
5120 2003-05-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5123 Add new "add_clipping" field to SF_PRIVATE.
5125 * src/sndfile.h.in src/sndfile.c
5126 Add command SFC_SET_CLIPPING which sets/resets add_clipping field.
5128 2003-05-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5131 Add docs for sf_set_string() and sf_get_string().
5133 * src/common.h src/sndfile.c
5134 Add new SFE_STR_BAD_STRING error.
5136 * tests/stdin_test.c tests/stdout_test.c
5137 Removed all non-error print statements.
5139 * tests/stdio_test.c tests/pipe_test.c tests/Makefile.am
5140 Add print statements removed from two files above.
5142 2003-05-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5144 * libsndfile.spec.in
5145 Fixed a coulpe of minor errors discovered by someone calling themselves
5148 * src/common.c src/common.h src/file_io.h
5149 Added is_pipe field to SF_PRIVATE and declaration of psf_is_pipe()
5150 function. (Axel Röbel)
5153 Fixed determination of whether the file is a pipe. (Axel Röbel)
5156 Force paf24 to start with undefined mode. (Axel Röbel)
5159 Mods to make this test work and actually do the test on RAW files. (Axel
5162 2003-05-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5165 Fixed a potential bug where psf->sf.seekable was being set to FALSE when
5166 operating on stdin or stdout but then the default initialiser was reseting
5167 it to TRUE. Thanks to Axel Röbel.
5170 Fixed a bug in the header parser where it was not handling an odd length
5171 COMM chunk correctly. Thanks to Axel Röbel.
5173 * src/test_file_io.c
5176 * tests/win32_test.c
5177 New file for showing the bugs in the Win32 implementation of the POSIX API.
5178 It also runs on Linux for sanity checking.
5180 * tests/Makefile.am Win32/Makefile.msvc
5181 Hook the new test program into the build system.
5183 2003-05-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5185 * src/test_file_io.c
5186 New test program to test operation of functions defined in file_io.c. This
5187 should make supporting win32 significantly easier.
5190 Hook new test program into the build system.
5193 Add compile/run time check that sizeof statbuf.st_size and sf_count_t are
5196 * src/common.h src/sndfile.c
5197 Added new error code and error message for new check.
5199 * tests/benchmark.tpl
5200 Fix to use frames instead of samples in SF_INFO.
5202 2003-05-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5205 More stuffing about working around PLAIN OLD-FASHIONED **BUGS** in Win32.
5207 * examples/sndfile-info.c
5208 Applied patch from Conrad Parker to add "--help" and "-h" options as
5209 well as an improved usage message.
5211 2003-05-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5214 Added embedded file support.
5216 * tests/multi_file_test.c
5217 Added tests for embedded AU files.
5218 Added verbose testing mode.
5220 * src/common.h src/sndfile.c
5221 Added an embedded AU specific error code and message.
5224 Added patch from Conrad Parker which filled in a little more information
5225 about ACIDized WAV files.
5227 2003-04-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5230 Fixed Win32 version of psf_fseek() which was calling psf_get_filelen()
5231 which was in turn calling psf_fseek() which in the end blew the stack.
5232 Now of course this would have been easy to find on Linux, but this blow
5233 up was happening in kernel32.dll and the fscking MSVC++ debugger couldn't
5234 figure out what call caused this (it couldn't even tell me the stack had
5235 overflowed) and was absolutley useless for this debugging exercise.
5236 On top of that, the reason I got into this mess was that windoze doesn't
5237 have a working fstat() function which can return file lengths > 2 Gig. It
5238 HAS a fscking _fstati64() but the file length value is only updated AFTER
5239 the bloody file is closed. That makes it completely useless.
5240 How the hell do people stand working on this crap excuse of an OS?
5242 2003-04-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5244 * Win32/unistd.h src/file_io.c
5245 Moved definitions of S_IGRP etc from file_io.c to unistd.h so that these
5246 can be used in the test programs.
5248 * Win32/libsndfile.def
5252 Updated to match src/sndfile.h.in.
5254 * Win32/Makefile.msvc
5255 Added dither.c and htk.c to libsndfile.dll target.
5257 2003-04-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5260 First attempt at getting the Win32 versions of the these functions working.
5261 They still need to be tested.
5263 2003-04-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5266 Found and fixed a bug which was causing psf_store_string() to fail on
5267 Motorola 68k processors. Many thanks fo Joshua Haberman (Debian maintainer
5268 of libsndfile) for compiling and running debug code to help me debug the
5271 2003-04-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5273 * src/sndfile.c src/file_io.c src/wav.c src/aiff.c
5274 Much hacking to get reading and writing of embedded files working (ie sound
5275 files at a non-zero files offset).
5277 * doc/embedded_files.html
5278 First pass atempt at documenting reading/writing embedded files.
5280 2003-04-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5283 Updated answer to "Why doesn't libsndfile do interleaving/de-interleaving?"
5285 2003-04-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5287 * src/wav.c src/aiff.c
5288 Fix retrieving and storing of string data from files. Need to be careful
5289 about using psf->buffer for strings.
5291 2003-04-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5294 Fix psf_fseek() for seeks withing embedded files.
5296 2003-04-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5299 Changed the definition of SNDFILE slightly to produce warnings when it isn't
5300 used correctly. This should have zero affect in code which uses the SNDFILE
5304 Fixed a few compiler warnings cause by the changes to the SNDFILE type.
5306 2003-04-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5309 Added question and answer to the question "How about adding the ability
5310 to write/read sound files to/from memory buffers?".
5312 2003-04-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5314 * tests/write_read_test.tpl
5315 Removed un-needed enums declaring TRUE and FALSE and replaced usage of
5316 these with SF_TRUE and SF_FALSE.
5318 * tests/multi_file_test.c
5319 New test program to test sf_open_fd() on files containing data other than
5320 a single sound file.
5322 2003-04-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5325 When creating files, set the readable by others flag. This still allows
5326 further restrictions to be enforced by use of the user's umask. Fix
5327 suggested by Eric Lyon.
5329 2003-04-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5331 * src/sndfile.h.in src/sndfile.c
5332 Changed sf_open_fd(). Dropped offset parameter and added a close_desc
5333 parameter. If close desc is TRUE, the file descritpor passed into the
5334 library will be closed when sf_close() is called.
5337 Modified call to sf_open_fd() to set close_desc parameter to SF_TRUE.
5339 2003-04-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5341 * tests/write_read_test.tpl
5342 Add a string (using sf_set_string() function) before and after data section
5343 of all files. This will make sure that if string data can be added, it
5344 doesn't overwrite real audio data.
5346 2003-04-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5349 Started work on supporting a non-zero offset parameter for sf_open_fd ().
5351 * src/<file header parsers>.c
5352 Removed many uses of psf_fseek (SEEK_END) which to allow for future use of
5353 sf_open_fd() with non-zero offset.
5354 Associated refactoring.
5357 Implemented functionality required to get sf_get_string() and
5358 sf_set_string() working for AIFF files.
5360 2003-04-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5363 Modified test_open_file_or_die() to alternately use sf_open() and
5367 Fixed a bug which occurred when openning an existing file for read/write
5368 using sf_open_fd(). In this case, the existing NAME chunk needs to be
5369 read into psf->filename.
5370 Fixed printing of sf_count_t types to logbuffer.
5372 2003-03-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5375 Added prototype for new function sf_open_fd().
5378 Moved most of the code in sf_open() to a new function psf_open_file().
5379 Created new function sf_open_fd() which also uses psf_open_file() but
5380 does not currently support the offset parameter.
5383 Document sf_open_fd().
5385 2003-03-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5388 Fixed a memory leak reported by Evgeny Karpov. Memory leak only occurred
5389 when an attempt was made to read and the open() call fails.
5391 2003-03-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5393 * tests/open_fail_test.c
5394 New test program to check for memory leaks when sf_open fails on a valid
5395 file. Currently this must be run manually under valgrid.
5398 Hook new test program into build.
5400 2003-03-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5402 * Octave/sndfile_save.m Octave/sndfile_play.m
5403 Added a -mat-binary option to the octave save command to force the output
5404 to binary mode even if the user has set ascii data as the default. Found
5405 by Christopher Moore.
5407 2003-02-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5410 New file which will document the interface which allows the addition of
5411 audio dither when sample word sizes are being reduced.
5416 2003-02-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5419 In update_header_test(), make HTK files a special case.
5422 Added HTK to the feature matrix.
5424 2003-02-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5427 New file for reading/writing HMM Tool Kit files.
5429 * src/sndfile.h.in src/sndfile.c src/command.c src/Makefile.am
5432 * tests/write_read_test.tpl tests/misc_test.c tests/Makefile.am
5433 Add tests for HTK files.
5435 2003-02-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5438 Fixed a bug where the LIST chunk length was being written incorrectly.
5440 * tests/string_test.c
5441 Added call to check_log_buffer().
5444 2003-02-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5447 Applied patch from Antoine Mathys to add extra WAV format definitions and
5448 a G72x_ADPCM_WAV_FMT struct definition.
5451 Applied patch from Antoine Mathys which converts wav_w64_format_str() from
5452 one huge inefficient switch statement to a binary search.
5454 * tests/string_test.c
5455 Dump log buffer if tests fail.
5457 2003-02-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5459 * tests/string_test.c
5460 David Viens supplied some modifications to this file which showed up a bug
5461 when using sf_set_string() and the sf_writef_float() functions.
5464 Fixed the above bug.
5466 2003-02-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5469 Added Q and A on how to detect libsndfile in configure.in (at the suggestion
5472 2003-02-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5475 Add enums and typedefs for dither.
5476 Deprecate SFC_SET_ADD_DITHER_ON_WRITE and SFC_SET_ADD_DITHER_ON_READ, to be
5477 replaced with SFC_SET_DITHER_ON_WRITE and SFC_SET_DITHER_ON_READ which will
5478 allow different dither algorithms to be enabled.
5479 Added SFC_GET_DITHER_INFO_COUNT and SFC_GET_DITHER_INFO.
5481 * src/sndfile.h.in src/Version_script.in Win32/libsndfile.def.
5482 Added public sf_dither_*() functions.
5485 Implement commands above.
5488 More work. Framework and external hooks into dither algorithms complete.
5490 2003-02-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5492 * doc/version-1.html libsndfile_version_convert.py
5493 Remove redundant files.
5495 * doc/index.html doc/api.html
5496 Remove links to version-1.html.
5499 New file to allow the addition of audio dither on input and output.
5502 Add prototype for dither_init() function.
5504 * Makefile.am doc/Makefile.am
5505 Changes for added and removed files.
5507 2003-02-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5509 * Win32/Makefile.msvc
5510 Changes to force example binaries to be placed in the top level directory
5511 instead of the examples/ directory.
5512 Add src/strings.c and src/xi.c to the build.
5513 Add string_test to build and to tests on WAV files.
5516 Added XI to support matrix.
5518 2003-01-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5521 Added prototypes for sf_get_string() and sf_set_string() and SF_STR_*
5525 Added public interface to sf_get_string() and sf_set_string().
5528 Added code for setting and getting strings in WAV files.
5530 * tests/string_test.c
5531 New test program for sf_get_string() and sf_set_string() functionality.
5534 Hook new test program into build and test framework.
5536 2003-01-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5539 Added fields to SF_PRIVATE for string data needed to implement
5540 sf_get_string() and sf_set_string().
5543 New file for storing and retrieving strings to/from files.
5546 Added strings.c to build.
5548 2003-01-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5551 Read seems to be working so looking at write.
5554 Added SF_FORMAT_XI, SF_FORMAT_DPCM_8 and SF_FORMAT_DPCM_16 enum values.
5556 * tests/floating_point_test.c tests/lossy_comp_test.c tests/Makefile.am
5557 Added test for 8 and 16 bit XI format files.
5559 2003-01-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5562 Added a non-lawyer readable summary of the licensing provisions as
5563 suggested by Steve Dekorte.
5565 2003-01-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5568 Fixed a compiler warning found by Alexander Lerch.
5570 2003-01-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5573 Fixed the multiple linking of libm.
5575 2003-01-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5577 * Win32/Makefile.mcvs
5578 Added comments on the correct way to set up the MSVCDir environment
5582 Add on how to set up the MSVCDir environment variable.
5584 2003-01-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5586 * examples/sndfile-play.c examples/sndfile-info.c
5587 When run on Win32 without any command line parameters print a message and
5588 then sleep for 5 seconds. This means the when somebody double clicks on
5589 these programs in explorer the user will actually see the message.
5591 2003-01-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5594 Bypass permission test if running as root because root is allowed to open
5595 a readonly file for write.
5597 2003-01-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5599 * Win32/Makefile.msvc
5600 Added pvf.c and xi.c source files to project.
5603 Updated for PVF files.
5605 2003-01-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5608 Modified validate_sfinfo() to force samplerate, channels and sections
5610 In format_from_extension() replaced calls to does_extension_match()
5616 2003-01-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5619 Added octave.html which had been left out. Found by Jan Weil.
5621 2003-01-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5623 * src/pvf.c src/common.h src/sndfile.c
5624 Fixed error handling for PVF files.
5627 New file for handling Fasttracker 2 Extended Instrument files. Not working
5628 yet and included when configured with --enable-experimental.
5630 * src/sndfile.c src/common.h
5631 Hooked in new file xi.c.
5633 2002-12-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5636 Added a patch from Marek Peteraj which sheds a little more light on the
5637 slices within an RX2 file. Still need to find out data encoding.
5639 2002-12-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5642 Started work on decoding 'acid' and 'strc' chunks.
5644 2002-12-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5646 * tests/peak_check_test.c
5649 2002-12-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5651 * tests/write_read_test.tpl
5652 Added check to make sure no error was generated when an attempt was made to
5653 read past the end of the file.
5655 2002-12-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5658 Added "mailto" links for all three lists.
5661 New file for Portable Voice Format files.
5663 * src/sndfile.h.in src/sndfile.c src/common.h src/command.c src/Makefile.am
5664 Added hooks for SF_FORMAT_PVF format files.
5666 * tests/write_read_test.tpl tests/std*.c
5667 Add tests for SF_FORMAT_PVF.
5670 Add PVF to the compatibility matrix.
5672 * src/pcm.c src/alaw.c src/ulaw.c src/float32.c src/double64.c
5673 Previously, attempts to read beyond the end of a file would set psf->error
5674 to SFE_SHORT_ERROR. This behaviour diverged from the behaviour of the POSIX
5675 read() call but has now been fixed.
5676 Attempts to read beyond the end of the file will return a short read count
5677 but will not longer set any error.
5679 2002-12-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5682 Add more sanity checking when opening a RAW file for read. When format is
5683 not RAW, zero out all members of the SF_INFO struct.
5686 Add bad_raw_test() to check for above problem.
5688 * tests/stdin_test.c examples/sndfile-info.c
5689 Set the format field of the SF_INFO struct to zero before calling
5693 Add information about the need to set the format field of the SF_INFO struct
5694 to zero when opening non-RAW files for read.
5697 Removed use of conversion script on Solaris. Not all Solaris versions
5701 New file containg details of the mailing lists.
5704 Add a link to the above new file.
5706 2002-12-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5709 Fixed a SIGFPE on Alpha caused by a log10 (0.0). Thanks to Joshua Haberman
5710 for providing the gdb traceback.
5712 2002-11-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5715 Added more capabilities to 'smpl' chunk parser.
5718 Fixed some (not all) possible problems found with Flawfinder.
5720 2002-11-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5723 Fixed a bug in sf_seek(). This bug could only occur when an attempt was
5724 made to read beyond the end and then sf_seek() was called with a whence
5725 parameter of SEEK_CUR.
5728 Win32's _fstati64() does not work, it returns BS. Re-implemented
5729 psf_get_filelen() in terms of psf_fseek().
5731 * tests/write_read_test.tpl
5732 Add a test to detect above bug.
5735 Modification to prevent compiler warnings on Mac OS X.
5738 Fixes for windows (what a f**ked OS).
5740 2002-11-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5743 Disable use of native lrint()/lrintf() on Mac OSX. These functions exist on
5744 Mac OSX 10.2 but not on 10.1. Forcing the use of the versions in
5745 src/float_cast.h means that a library compiled on 10.2 will still work on
5748 2002-11-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5750 * configure.in configure.ac
5751 Renamed configure.in to configure.ac as expected by later versions of
5753 Slight hacking of configure.ac to work with version 2.54 of autoconf.
5754 Changed to using -dumpversion instead of --version for determining GCC
5755 version numer as suggested by Anand Kumria.
5757 * src/G72x/Makefile.am
5758 Slight hacking required for operation with automake 1.6.3.
5760 2002-11-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5763 In psf_binheader_readf() changed type parameter type "b" type from size_t
5764 to int to prevent errors on IA64 CPU where sizeof (size_t) != sizeof (int).
5765 Thanks to Enrique Robledo Arnuncio for debugging this.
5767 2002-11-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5769 * test/command_test.tpl
5770 Changed test value so test would pass on Solaris.
5772 * src/Version_script.in
5773 Modified version numbering so that later versions of 1.0.X can replace
5774 earlier versions without recompilation.
5777 Fixed bug causing short reads.
5779 2002-11-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5781 * test/floating_point_test.c
5782 Code cleanup using functions from util.c.
5783 Add test for IEEE replacement floats and doubles.
5785 2002-11-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5788 Fixed a possible divide by zero error when read the 'smpl' chunk. Thanks to
5789 Serg Repalov for the example file.
5791 * tests/pcm_test.tpl
5792 Used sf_command (SFC_TEST_IEEE_FLOAT_REPLACE) to test IEEE replacement code.
5793 Clean up pcm_double_test().
5795 * src/float32.c src/double64.c
5796 Force use of IEEE replacement code using psf->ieee_replace is TRUE,
5797 Print message to log_buffer as well.
5798 Rename all broken_read_* and broken_write* functions to replace_read_* and
5802 Added string_in_log_buffer().
5804 * tests/pcm_test.tpl
5805 Use string_in_log_buffer() to ensure that IEEE replacement code has been
5809 Removed --enable-force-broken-float option. IEEE replacement code is now
5812 2002-10-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5815 Implement code for read/writing IEEE doubles on platforms where the native
5816 double format is not IEEE.
5818 * src/float32.c src/common.h
5819 Remove float32_read() and float32_write(). Replace with float32_le_read(),
5820 float32_be_read(), float32_le_write() and float32_be_write() to match stuff
5824 Fix all usage of float32_write().
5827 Added SFC_TEST_IEEE_FLOAT_REPLACE command (testing only).
5830 Added SF_PRIVATE field ieee_replace.
5833 In sf_command() set/reset psf->ieee_replace.
5835 2002-10-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5837 * tests/pcm_test.tpl
5838 Fixed a problem when testing with --enable-force-broken-float. The test was
5839 generating a value of negative zero and the broken float code is not able
5840 to write negative zero. Removing the negative zero fixed the test.
5842 2002-10-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5845 Added fix for Cygwin (suggested by Maros Michalik).
5847 2002-10-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5850 Improved error detection and handling.
5852 * src/file_io.c src/common.h
5853 Removed functions psf_ferror() and psf_clearerr() which were redundant
5854 after above improvements.
5856 * src/aiff.c src/svx.c src/w64.c src/wav.c
5857 Removed all use of psf_ferror() and psf_clearerr().
5860 Removed #include of <stdio.h>, <unistd.h>, <fcntl.h> and <math.h> which
5861 are no longer needed.
5864 Added test to make sure the correct error message is returned with an
5865 existing read-only file is openned for write.
5867 2002-10-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5869 * doc/index.html doc/api.html
5870 Updated for OKI Dialogic ADPCM files.
5873 Added VOX ADPCM to sub_fomats.
5875 2002-10-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5877 * src/vox_adpcm.c src/Makefile.am
5878 New file for handling OKI Dialogic ADPCM files.
5881 Add new subtype SF_FORMAT_VOX_ADPCM.
5884 Renamed function is_au_snd_file () to format_from_extenstion () and expanded
5885 its functionality to detect headerless VOX files.
5888 Added hooks for SF_FORMAT_VOX_ADPCM.
5890 * examples/sndfile-info.c
5891 Print out file duration (suggested by Conrad Parker).
5893 * libsndfile.spec.in
5894 Force installation of sndfile.pc file (found by John Thompson).
5896 * tests/Makefile.am tests/lossy_comp_test.c tests/floating_point_test.c
5897 Add tests for SF_FORMAT_VOX_ADPCM.
5899 2002-10-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5902 Add test which attempts to write to /dev/full (on Linux anyway) to check
5903 for correct handling of writing to a full filesystem.
5906 Return correct error message if the header cannot be written because the
5910 Corrected printing of file mode in error reporting.
5913 Fixed a bug where a MAT5 file written by libsndfile could not be opened by
5916 2002-10-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5918 * src/common.h src/file_io.c
5919 All low level file I/O have been modified to be better able to report
5920 system errors resulting from calling system level open/read/write etc.
5923 Updated for compatibility with above changes.
5925 * examples/cooledit-fixer.c
5926 New example program which fixes badly broken file created by Syntrillium's
5927 Cooledit which are marked as containing PCM samples but actually contain
5928 floating point data.
5930 * examples/Makefile.am
5931 Hooked cooledit-fixer into the build system.
5933 2002-10-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5936 Document SFC_GET_FORMAT_INFO.
5938 2002-10-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5940 * examples/wav32_aiff24.c examples/sndfile2oct.c examples/sfhexdump.c
5942 Removed these files because they weren't interesting.
5944 * examples/sfconvert.c examples/sndfile-convert.c
5945 Renamed the first to the latter.
5947 * examples/Makefile.am
5948 Added sndfile-convert to the bin_PROGRAMS, so it is installed when the lib
5950 Removed old programs wav32_aiff24 and sndfile2oct.
5952 * man/sndfile-convert.1
5955 * examples/sndfile-convert.c
5956 Added some gloss now that sndfile-convert.c is an installed program.
5958 * src/sndfile.h.in src/sndfile.c src/common.h src/command.h
5959 Added command SFC_GET_FORMAT_INFO.
5961 * tests/command_test.c
5962 Added tests form SFC_GET_FORMAT_INFO.
5964 2002-10-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5967 In sf_format_check() return error if samplerate < 0.
5969 2002-10-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5972 Fixed bug in handling of COMM chunks with a 4 byte encoding byte but no
5975 2002-10-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5978 Fixed repeated word in an error message.
5980 2002-10-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5983 Improved advertising in Features section.
5985 2002-10-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5988 Added decoding of 'labl' chunks within 'LIST' chunks.
5991 Added (experimental only) SF_FORMAT_OGG and SF_FORMAT_VORBIS and definition
5992 of ogg_open(). This is nowhere near working yet.
5995 Added detection of 'OggS' file marker and added call to ogg_open() to
5999 New file. Very early start of Ogg Vorbis support.
6002 Added handling of brain-damaged and broken Cooledit "32 bit 24.0 float
6003 type 1" files. These files are marked as being 24 bit WAVE_FORMAT_PCM with
6004 a block alignment of 4 times the numbers of channels but are in fact 32 bit
6007 2002-10-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6010 Modified option --enable-experimental to set ENABLE_EXPERIMENTAL_CODE in
6011 config.h to either 0 or 1.
6014 Modify sf_command (SFC_GET_LIB_VERSION) to append "-exp" to the version
6015 string if experimental code has been enabled.
6017 2002-10-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6020 Added -lm to libsndfile_la_LIBADD. This means that -lm is not longer needed
6021 in the link line when linking something to libsndfile.
6023 * tests/Makefile.am examples/Makefile.am
6024 Removed -lm from all link lines.
6027 Removed -lm from Libs line.
6029 2002-09-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6032 Removed all perror() calls.
6035 Removed calls to exit() function.
6036 Added check to detect NIST files dammaged from Unix CR -> Win32 CRLF
6039 2002-09-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6041 * src/sndfile.h.in src/sndfile.c
6042 New function sf_strerror() which will eventually replace functions
6043 sf_perror() and sf_error_str().
6044 Function sf_error_number() has also been changed, but this was documented
6045 as being for testing only.
6048 Documented above changes.
6050 * tests/*.c examples/*.c
6051 Changed to new error functions.
6053 2002-09-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6056 Detect GCC version, and print a warning message about writeable strings
6057 it GCC major version number is less than 3.
6059 2002-09-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6061 * src/sndfile.h.in doc/api.html
6062 Documentation fixes.
6064 2002-09-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6066 * src/Version_script.in src/Makefile.am configure.in
6067 Use the version script to prevent the exporting of all non public symbols.
6068 This currently only works with Linux. Will test on Solaris as well.
6071 Added #ifndef to prevent the #warning directives killing the SGI MIPSpro
6074 * src/au_g72x.c src/double64.c src/float32.c src/gsm610.c src/ima_adpcm.c
6076 Fix benign compiler warnings arising from previously added compiler
6079 2002-09-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6082 Fixed a bug in sf_error_str() where errnum was used as the index instead
6083 of k. Found by Tim Hockin.
6085 * examples/sndfile-play.c
6086 Fixed a compiler warning resulting from a variable shadowing a previously
6089 2002-09-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6091 * src/sndfile.h.in src/sndfile.c
6092 Added command SFC_SET_RAW_START_OFFSET.
6095 Document SFC_SET_RAW_START_OFFSET.
6097 * tests/raw_test.c tests/Makefile.am
6098 Add new file for for testing SF_FORMAT_RAW specific functionality.
6103 2002-09-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6106 Modified reading of 'smpl' chunk to take account of the sampler data field.
6108 * tests/utils.tpl tests/utils.h
6109 Added function print_test_name().
6111 * tests/misc_test.c tests/write_read_test.tpl tests/lossy_comp_test.c
6112 tests/pcm_test.tpl tests/command_test.tpl tests/floating_point_test.c
6113 Convert to use function print_test_name().
6115 2002-09-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6118 Added a link to some other Octave scripts for reading and writing sound
6122 Change type of dummy data field to int. This should fix a benign compiler
6123 warning on some CPUs.
6124 Removed superfluous casts resulting from the above change.
6129 2002-09-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6131 * src/mat5.c src/common.c
6132 Changed usage of snprintf() to LSF_SNPRINTF().
6134 * Win32/Makefile.msvc
6135 Updated to include new files and add new tests.
6137 * Win32/config.h Win32/sndfile.h
6141 Added note about the possibility of "missing" features actually being
6142 implemented as an sf_command().
6144 2002-09-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6147 Added previously missing update_header_test and zero_data_tests for PAF,
6148 MAT4 and MAT5 formats.
6150 * src/paf.c src/mat4.c src/mat5.c
6151 Fixed bugs uncovered by new tests above.
6154 Generalised parsing of name fields of MAT5 files.
6156 * src/mat5.c src/sndfile.c
6157 Added support for unsigned 8 bit PCM MAT5 files.
6159 * tests/write_read_test.tpl
6160 Added test for unsigned 8 bit PCM MAT5 files.
6163 Added unsigned 8 bit PCM MAT5 to capabilities matrix.
6165 2002-09-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6167 * test/update_header_test.c tests/misc_test.c
6168 Renamed update_header_test.c to misc_test.c.
6169 Added zero_data_test() to check for case where file is opened for write and
6170 closed immediately. The resulting file can be left in a state where
6171 libsndfile cannot open it. Problem reported by Werner Schweer, the author
6175 Removed superfluous cast.
6177 * src/wav.c src/svx.c
6178 Fixed case of file generated with no data.
6179 Removed superfluous cast.
6182 Fixed error on IA64 platform caused by incorrect termination of
6183 SndfileErrors struct array. This problem was found in the Debian buildd
6184 logs (http://buildd.debian.org/).
6187 Added Octave directory.
6189 * Octave/Makefile.ma
6190 New Makfile.am for Octave directory.
6192 * Octave/sndfile_load.m Octave/sndfile_save.m Octave/sndfile_play.m
6193 New files for working with Octave.
6196 Document explaining the use of the above three Octave scripts.
6198 2002-09-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6201 Fixed bug in RDWR mode.
6203 2002-09-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6206 Fixed psf_get_date_str() for systems which don't have gmtime_r() or
6210 Added #include <io.h> for Win32. Reported by Koen Tanghe.
6212 2002-09-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6215 Added 'S' format specifier for psf_binheader_writef() which writes a C
6216 string, including single null terminator to the header.
6217 Added 'j' format specifier to allow jumping forwards or backwards in the
6219 Added function psf_get_date_str().
6222 Complete read and write support.
6225 Added entries for MAT4 and MAT5 in capabilities matrix.
6227 2002-09-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6230 Completed read and write support.
6232 * src/common.h src/sndfile.c
6233 Added MAT4 and MAT5 specific error messages.
6235 * tests/write_read_test.tpl tests/Makefile.am
6236 Added tests for MAT4 and MAT5 files.
6238 * tests/stdio_test.c tests/stdout_test.c tests/stdin_test.c
6239 Added tests for MAT4 and MAT5 files.
6241 2002-09-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6244 Added elements for SF_FORMAT_MAT4 and SF_FORMAT_MAT5 to major_formats
6247 * examples/sfconvert.c
6248 Added mat4 and mat5 output targets.
6250 2002-09-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6253 Added check to prevent errors openning read only formats for read/write.
6256 New file for interleaving non-interleaved data. Non-interleaved data is
6257 only supported on read.
6260 Added src/interleave.c to build.
6262 2002-09-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6264 * src/double64.c src/common.h
6265 Added double64_be_read(), double64_le_read(), double64_be_write() and
6266 double64_le_write() which replace double64_read() and double64_write().
6269 Cleanup of psf_binheader_readf() and add ability to read big and little
6270 endian doubles (required by mat4.c and mat5.c).
6271 Add ability for psf_binheader_writef() to write doubles to sound file
6274 2002-09-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6277 New file for reading Matlab (tm) version 5 data files. This is also the
6278 native binary file format for version 2.1.X of GNU Octave which will be
6283 New file for reading Matlab (tm) version 4.2 data files. This is also the
6284 native binary file format for version 2.0.X of GNU Octave which will be
6288 * src/sndfile.h.in src/sndfile.c src/common.h src/command.c src/Makefile.am
6289 Mods to add Matlab files.
6292 Added readf_endian field to SF_PRIVATE struct allowing endianness to
6293 remembered across calls to sf_binheader_readf().
6294 Fixed bug in width_specifier behaviour for printing hex values.
6296 2002-08-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6299 Check return value of close() call in psf_fclose().
6301 2002-08-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6304 Commented out some code where 0x10000 was being subtracted from a short
6305 and the result assigned to a short again. Andrew Zaja found this.
6307 2002-08-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6310 Fixed typo found by Tommi Ilmonen.
6313 Changed type of diff from short to int to prevent errors which can occur
6314 during very rare circumstances. Thanks to FUWAFUWA.
6316 2002-08-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6318 * tests/floating_point_test.c
6319 Disable testing on machines without lrintf().
6321 * Win32/Makefile.msvc
6322 Added dwd.c and wve.c to build.
6325 Bumped version to 1.0.0.
6327 2002-08-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6330 Add a #include for Mac OS 9. Thanks to Stephane Letz.
6333 Changed an snprintf to LSF_SNPRINTF.
6336 Added version-1.html.
6338 2002-08-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6341 Bumped version to 1.0.rc6.
6344 Modified scaling of normalised floats and doubles to integers. Until now
6345 this has been done by multiplying by 0x8000 for short output, 0x80000000
6346 for 32 bit ints and so on. Unfortunately this can cause an overflow and
6347 wrap around in the target value. All thes values have therefore been
6348 reduced to 0x7FFF, 0x7FFFFFFF and so on. The conversion from ints to
6349 normalised floats and doubles remains unchanged. This does mean that for
6350 repeated conversions normalised float -> pcm16 -> normalised float would
6351 result in a decrease in amplitude of 0x7FFF/0x8000 on every round trip.
6352 This is undesirable but less undesireable than the wrap around I am trying
6355 * tests/floating_point_test.c
6356 Removed file hash checking because new float scaling procedure introduced
6357 above prevented the ability to crate a has on both x86 and PowerPC systems.
6359 2002-08-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6362 Completed reading of TXW files. Seek doesn't work yet.
6365 Added a MacOS 9 replacement for ftruncate().
6368 Added MacOS 9 header file. This should be copied into src/ to compile
6369 libsndfile for MacOS9.
6371 2002-08-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6374 Fixed commands SF_SET_NORM_DOUBLE and SFC_SET_NORM_FLOAT to return their
6375 values after being set. Reported by Jussi Laako.
6378 If autogen is not found, touch all .c and .h files in tests/.
6381 Added format width specifier to psf_log_printf() for %u, %d, %D and %X.
6384 Completed implementation of read only access to these files.
6386 * src/common.h src/*.c src/pcm.c
6387 Removed redundant field chars from SF_PRIVATE struct and modified
6388 pcm_init() to do without it.
6390 2002-08-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6393 New file implementing read of Psion Alaw files. This will be a read only
6394 format. Implementation complete.
6397 Started implementation of DiamondWare Digitized files. Also read only, not
6401 Add parsing of 'smpl' chunk.
6404 Fixed reading on un-normalized doubles and floats from 24 bit PAF files.
6405 This brings it into line with the reading of 8 bit files into
6406 un-normalized doubles which returns values in the range [-128, 127].
6409 Modified psf_log_printf() to accept the %% conversion specifier to allow
6410 printing of a single '%'.
6413 Read only of 16 bit samples is working. Need to build a test harness for
6414 this and other read only formats.
6416 2002-08-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6419 Added --enable-experimental configure option.
6420 Removed pkg-config message at the end of the configure process.
6422 * src/sds.c src/txw.c src/rx2.c src/sd2.c
6423 Moved all the code in these files inside #if ENABLE_EXPERIMENTAL_CODE
6424 blocks and added new *_open() function for the case where experimental is
6425 not enabled. These new functions just return SFE_UNIMPLMENTED.
6427 * Win32/sndfile.h src/sndfile.h.in src/common.h
6428 Removed un-necessary #pragma pack commands.
6431 Implemented psf_ftruncate() and much other hacking for Win32.
6433 * Win32/Makefile.msvc
6437 Updated to include the copying of the sndfile.h file from the Win32/
6438 directory to the src/ directory.
6441 Batch file to make compiling on Wi32 a little easier. Implements "make" and
6444 2002-08-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6447 Add place holder for ftruncate() on Win32 which doesn't have ftruncate().
6448 This will need to be fixed later.
6451 New file (copy of sndfile.h) with sets up @TYPEOF_SF_COUNT_T@ which will be
6452 replaced by the correct type during configure.
6455 Modified to find a good type for TYPEOF_SF_COUNT_T.
6458 Fixed a bug when reading malformed headers.
6461 Set read values to zero before performing read.
6463 2002-08-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6466 Fixed some HTML tags which were not allowing jumps to links within the
6470 Massive hacking on this.
6473 Added recognition of 'clm ' tag.
6475 2002-08-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6478 Added beginning of a capabilities list beyond simple file formats which
6479 can be read/written.
6482 Added parsing of INST and MARK chunks of AIFF files. At the moment this
6483 data is simply recorded in the log buffer. Later it will be possible to
6484 read this data from an application using sf_command().
6487 Added parsing of 'cue ' chunk which contains loop information in WAV files.
6489 * exampes/sndfile-info.c
6490 Changed reporting of Samples to Frames.
6492 * src/wav.c src/w64.c src/aiff.c src/wav_w64.h
6493 Moved from a samples to a frames nomenclature to avoid confusion.
6496 What's the best format for storing temporary files?
6499 New file for reading/writing Midi Sample Dump Standard files.
6501 * src/Makefile.am src/sndfile.c src/common.[ch]
6502 Added hooks for sds.c.
6504 * examples/sndfile-info.c
6505 Changed from using sf_perror() to using sf_error_str().
6507 2002-08-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6510 Added explanation of mode parameter for sf_open().
6511 Added explanation of usage of SFM_* values in sf_seek().
6513 * src/sndfile.[ch] src/command.c src/file_io.c src/common.h
6514 Implemented SFC_FILE_TRUNCATE to allow a file to be truncated. File
6515 truncation was suggested by James McCartney.
6518 Documented SFC_FILE_TRUNCATE.
6520 * tests/command_test.c
6521 Add tests for SFC_FILE_TRUNCATE.
6524 Added a thrid parameter to the VALIDATE_SNDFILE_AND_ASSIGN_PSF macro to
6525 make resetting the error number optional. All uses of the macro other than
6526 in error reporting functions were changed to reset the error number.
6529 Fixed a bug were sf_read_* was logging an SFE_SHORT_READ even when no error
6532 * tests/write_read_test.tpl
6533 Added tests of internal error state.
6535 2002-08-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6537 * src/GSM610/private.h src/GSM610/*.c src/GSM610/Makefile.am
6538 Renamed private.h to gsm610_priv.h to prevent clash with other headers
6539 named private.h in other directories. (Probably only a problem on MacOS 9).
6541 * src/G72x/private.h src/G72x/*.c src/G72x/Makefile.am
6542 Renamed private.h to g72x_priv.h to prevent clash with other headers
6543 named private.h in other directories. (Probably only a problem on MacOS 9).
6546 Changed values of HAVE_LRINT and HAVE_LRINTF to force use of code in
6550 Changes the name of samples field of the SF_INFO to frames. The old name
6551 had caused too much confusion and it simply had to be changed. There will
6552 be at least one more pre-release.
6554 2002-08-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6557 Updated formats matrix to include RAW (header-less) GSM 6.10.
6558 Fix specificaltion of table and spelling mistakes.
6560 * src/sndfile.c src/command.c
6561 Fixed bug in SFC_CALC_MAX_SIGNAL family and psf_calc_signal_max ().
6565 Added test for SFC_CALC_MAX_SIGNAL and SFC_CALC_NORM_MAX_SIGNAL.
6568 Update version to 1.0.0rc5.
6571 Removed inclusion of un-necessary header.
6573 2002-08-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6576 Minor fixes of info written to log buffer.
6579 Add definition of HAVE_LRINT_REPLACEMENT.
6581 * tests/floating_point_test.c
6582 Fix file hash check on systems without lrint/lrintf.
6585 Limit SNR to less than -500.0dB.
6587 * examples/sndfile2oct.c
6588 Fixed compiler warnings.
6591 Fixed error where last parameter of sf_error_str() was sf_count_t instead
6594 2002-08-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6597 Why doesn't libsndfile do interleaving/de-interleaving.
6599 * tests/pcm_test.tpl
6600 On Win32 do not perform hash check on files containing doubles.
6602 2002-08-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6605 Defined SF_COUNT_MAX_POSITIVE() macro, a portable way of setting variables
6606 of type sf_count_t to their maximum positive value.
6608 * src/dwvw.c src/w64.c
6609 Used SF_COUNT_MAX_POSITIVE().
6611 2002-07-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6614 Fixed bug in reading/writing of 24 bit PCM PAF files on big endian systems.
6616 * tests/floating_point_tests.c
6617 Fixed hash values for 24 bit PCM PAF files.
6618 Disabled file has check if lrintf() function is not available and added
6620 Decreased level of signal from a peak of 1.0 to a value of 0.95 to prevent
6621 problems on platforms without lrintf() ie Solaris.
6623 2002-07-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6626 Fixed a problem with two different kinds of mal-formed WAV file header. The
6627 first had the 'fact' chunk before the 'fmt ' chunk, the other had an
6628 incomplete 'INFO' chunk at the end of the file.
6631 Added fix to allow differentiation between W64 files and ACID files.
6633 * src/au_g72x.c src/common.h src/sndfile.c
6634 Added error for G72x encoded files with more than one channel.
6636 * tests/pcm_test.tpl tests/utils.tpl
6637 Moved function check_file_hash_or_die() to utils.tpl. Function was then
6638 modified to calculate the has of the whole file.
6641 Fixed problem writing the 'fact' chunk on big endian systems.
6644 Fixed bug where .paf files were being written as Sphere NIST.
6646 2002-07-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6649 Fix for reading headers generated using SFC_UPDATE_HEADER_NOW.
6652 Add docs for SFC_UPDATE_HEADER_NOW and SFC_SET_UPDATE_HEADER_AUTO.
6654 2002-07-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6656 * man/sndfile-info.1 man/sndfile-play.1
6657 Added manpages supplied by Joshua Haberman the Debian maintainer for
6658 libsndfile. Additional tweaks by me.
6660 * configure.in man/Makefile.am
6661 Hooked manpages into autoconf/automake system.
6664 Added hooks for SFC_SET_UPDATE_HEADER_AUTO.
6666 * tests/update_header_test.c
6667 Improved rigor of testing.
6670 Fixed problem with *_write_header() functions.
6672 2002-07-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6675 Updates to documentation to fix problems found by wdg-html-validator.
6677 * src/common.h src/command.c
6678 Added normalize parameter to calls to psf_calc_signal_max() and
6679 psf_calc_max_all_channels().
6682 Added handling for commands SFC_CALC_NORM_SIGNAL_MAX and
6683 SFC_CALC_NORM_MAX_ALL_CHANNELS.
6686 Added entry for SFC_CALC_NORM_SIGNAL_MAX and SFC_CALC_NORM_MAX_ALL_CHANNELS.
6688 2002-07-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6690 * examples/sndfile-play.c Win32/Makefile.msvc
6691 Get sndfile-play program working on Win32. The Win32 PCM sample I/O API
6692 sucks. The sndfile-play program now works on Linux, MacOSX, Solaris and
6695 2002-07-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6698 New file for frequently asked questsions.
6700 2002-07-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6703 Documentation fixes.
6705 * src/au.[ch] src/au_g72x.c src/G72x/g72x.h
6706 Add support of 40kbps G723 ADPCM encoding.
6708 * tests/lossy_comp_test.c tests/floating_point_test.c
6709 Add tests for 40kbps G723 ADPCM encoding.
6712 Update support matrix.
6714 2002-07-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6717 Documented SFC_GET_SIMPLE_FORMAT_COUNT, SFC_GET_SIMPLE_FORMAT,
6718 SFC_GET_FORMAT_* and SFC_SET_ADD_PEAK_CHUNK.
6720 * src/sndfile.c src/pcm.c
6721 Add ability to turn on and off the addition of a PEAK chunk for floating
6722 point WAV and AIFF files.
6724 * src/sndfile.[ch] src/common.h src/command.c
6725 Added sf_command SFC_CALC_MAX_ALL_CHANNELS. Implemented by Maurizio Umberto
6729 Docs for SFC_CALC_MAX_ALL_CHANNELS (assisted by Maurizio Umberto Puxeddu).
6731 2002-07-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6733 * src/sndfile.c src/gsm610.c
6734 Finalised support for GSM 6.10 AIFF files and added support for GSM 6.10
6735 encoded RAW (header-less) files.
6738 Add support for IBM_FORMAT_MULAW and IBM_FORMAT_ALAW encodings.
6741 Fixed more documentation bugs.
6743 2002-07-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6745 * src/sndfile.h src/common.h
6746 Moved some yet-to-be-implelmented values for SF_FORMAT_* from the public
6747 header file sndfile.h to the private header file common.h to avoid
6748 confusion about the actual capabilities of libsndfile.
6750 2002-07-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6752 * src/aiff.c src/wav.c
6753 Fixed file parsing for WAV and AIFF files containing non-audio data after
6756 * src/aiff.c src/sndfile.c
6757 Add support for GSM 6.10 encoded AIFF files.
6759 * tests/lossy_comp_test.c tests/Makefile.am
6760 Add tests for GSM 6.10 encoded AIFF files.
6763 Fix compiler warnings.
6765 2002-07-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6767 * tests/command_test.c
6768 For SFC_SET_NORM_* tests, change the file format from SF_FORMAT_WAV to
6772 Added sf_command(SFC_TEST_ADD_TRAILING_DATA) to allow testing of reading
6773 from AIFF and WAV files with non-audio data after the audio chunk.
6776 Add test commands SFC_TEST_WAV_ADD_INFO_CHUNK and
6777 SFC_TEST_AIFF_ADD_INST_CHUNK. When these commands are working, they will be
6778 moved to src/sndfile.h
6780 * src/aiff.c src/wav.c
6781 Begin implementation of XXXX_command() hook for sf_command().
6783 * tests/write_read_test.tpl
6784 Added sf_command (SFC_TEST_ADD_TRAILING_DATA) to ensure above new code was
6787 2002-07-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6789 * tests/update_header_test.c
6790 Allow read sample count == write sample count - 1 to fix problems with VOC
6793 * tests/write_read_test.tpl tests/pcm_test.tpl
6794 Fixed some problems in the test suite discovered by using Valgrind.
6796 2002-07-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6798 * tests/utils.[ch] tests/*.c
6799 Renamed check_log_buffer() to check_log_buffer_or_die().
6802 SFC_UPDATE_HEADER_NOW and SFC_SETUPDATE_HEADER_AUTO almost finished. Works
6803 for all file formats other than VOC.
6805 2002-07-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6807 * src/sndfile.[ch] src/common.h
6808 Started adding functionality to allow the file header to be updated before
6809 the file is closed on files open for SFM_WRITE. This was requested by
6810 Maurizio Umberto Puxeddu who is using libsndfile for file I/O in iCSound.
6812 * tests/update_header_test.c
6813 New test program to test that the above functionality is working correctly.
6815 * tests/peak_chunk_test.c tests/floating_point_test.c
6818 2002-07-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6821 Changed length count parameters for all endswap_XXX() functions from
6822 sf_count_t (which can be 64 bit even on 32 bit architectures) to int. These
6823 functions are only called frin inside the library, are always called with
6824 integer parameters and doing the actual calculation on 64 bit values is
6825 slow in comparision to doing it on ints.
6827 * examples/sndfile-play.c
6828 More playback hacking for Win32.
6830 2002-07-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6833 In psf_log_printf(), changed %D format conversion specifier to %M (marker) and
6834 added %D specifier for printing the sf_count_t type.
6837 Changed all usage of psf_log_printf() with %D format conversion specifiers
6838 to use %M conversion instead.
6840 * tests/pcm_test.tpl tests/pcm_test.def
6841 New files to autogen pcm_test.c.
6844 Fixed bug in scaling floats and doubles to 24 bit PCM and vice versa.
6846 2002-07-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6849 Fix setup of $ac_cv_sys_largefile_CFLAGS so that sndfile.pc gets valid
6852 * examples/sndfile-play.c
6853 Start adding playback support for Win32.
6855 2002-07-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6858 Worked to removed compiler warnings.
6859 Extensive refactoring.
6862 Added function psf_memset() which works like the standard C function memset
6863 but takes and sf_count_t as the length parameter.
6866 Replaced calls to memset(0 with calls to psf_memset() as required.
6868 2002-07-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6871 Added "libsndfile : " to the start of all error messages. This was suggested
6872 by Conrad Parker author of Sweep ( http://sweep.sourceforge.net/ ).
6875 Added endswap_XXXX_copy() functions.
6877 * src/pcm.c src/float32.c src/double64.c
6878 Use endswap_XXXX_copy() functions and removed dead code.
6879 Cleanups and optimisations.
6881 2002-07-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6883 * src/sndfile.c src/sndfile.h
6884 Gave values to all the SFC_* enum values to allow better control of the
6885 interface as commands are added and removed.
6886 Added new command SFC_SET_ADD_PEAK_CHUNK.
6888 * src/wav.c src/aiff.c
6889 Modified wav_write_header and aiff_write_header to make addition of a PEAK
6890 chunk optional, even on floating point files.
6892 * tests/benchmark.tpl
6893 Added call to sf_command(SFC_SET_ADD_PEAK_CHUNK) to turn off addition of a
6894 PEAK chunk for the benchmark where we are trying to miximize speed.
6897 Changed tribyte typedef to something more sensible.
6898 Further conversion speed ups.
6900 2002-07-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6903 In major_formats rename "Sphere NIST" to "NIST Sphere".
6905 * src/common.c src/sfendian.c
6906 Moved all endswap_XXX_array() functions to sfendian.c. These functions will
6907 be tweaked to provide maximum performance. Since maximum performance on one
6908 platform does not guarantee maximum performance on another, a small set of
6909 functions will be written and the optimal one chosen at compile time.
6911 * src/common.h src/sfendian.h
6912 Declarations of all endswap_XXX_array() functions moved to sfendian.h.
6915 Add sfendian.c to build targets.
6917 2002-07-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6919 * src/pcm.c src/sfendian.h
6920 Re-coded PCM encoders and decoders to match or better the speed of
6921 libsndfile version 0.0.28.
6923 2002-06-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6926 Add checking for WAVPACK data in standard PCM WAV file. Return error if
6927 found. This WAVPACK is *WAY* broken. It uses the same PCM WAV file header
6928 and then stores non-PCM data.
6930 * tests/benchmark.tpl
6933 2002-06-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6935 * tests/benchmark.tpl
6936 Added conditional definition of M_PI.
6937 For Win32, set WRITE_PERMS to 0777.
6939 * Win32/Makefile.msvc
6940 Added target to make generate program on Win32.
6943 Removed handler for Samplitude RAP file format. This file type seems rarer
6944 than hens teeth and is completely undocumented.
6946 * src/common.h src/sndfile.c src/Makefile.am Win32/Makefile.msvc
6947 Removed references to sampltiude RAP format.
6949 * tests/benchmark.tpl
6950 Benchmark program now prints the libsndfile version number when run. This
6951 program was also backported to version 0 to compare results. Version
6952 1.0.0rc2 is faster than version 0.0.28 on most conversions but slower on
6953 some. The slow ones need to be fixed before final release.
6955 2002-06-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6957 * tests/benchmark.def tests/benchmark.tpl
6958 New files which generate tests/benchmark.c using Autogen. Added int ->
6959 SF_FORMAT_PCM_24 test.
6962 Now and Autogen output file.
6965 Updated for above changes.
6967 2002-06-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6970 Basic benchmark program complete. Need to convert it to Autogen.
6972 * Win32/Makefile.msvc
6973 Added benchmark.exe target.
6975 2002-06-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6977 * examples/generate.c
6978 New program to generate a number of different output file formats from a
6979 single input file. This allows testing of the created files.
6982 New test program to benchmark libsndfile. Nowhere near complete yet.
6984 * examples/Makefile.am tests/Makefile.am
6985 New make rules for the two new programs.
6987 2002-06-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6989 * Win32/libsndfile.def
6990 Removed definition for sf_signal_max().
6996 A number of documentation bugs were fixed. Thanks to Anand Kumria.
6998 * doc/version-1.html
7002 Bumped version to 1.0.0rc2.
7004 * src/sf_command.h src/Makefile.am
7005 Removed the header file as it was no longer being used. Thanks to Anand
7006 Kunria for spotting this.
7009 A number of documentation bugs were fixed. Thanks to Anand Kumria.
7011 2002-06-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7014 Test for Win32 before testing SIZEOF_OFF_T so that it works correctly
7018 Win32 fixes to ensure O_BINARY is used for file open.
7021 New file documenting the building libsndfile on Win32.
7024 Updating of documentation.
7026 2002-06-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7029 Minor changes to allow easier determination of test file name.
7032 Removed function sf_signal_max().
7034 * examples/sndfile-play.c
7035 Changed call to sf_signal_max() to a call to sf_command().
7037 2002-06-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7039 * src/format.c src/command.c
7040 Renamed format.c to command.c which will now include code for sf_command()
7041 calls to perform operations other than format commands.
7043 * src/sndfile.c src/sndfile.h
7044 Removed function sf_get_signal_max() which is replaced by commands passed
7048 Implement commands SFC_CALC_SIGNAL_MAX.
7051 Documented SFC_CALC_SIGNAL_MAX.
7053 2002-06-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7055 * examples/sndfile-play.c
7056 Mods to make sndfile-play work on Solaris. The program sndfile-play now
7057 runs on Linux, MaxOSX and Solaris. Win32 to come.
7060 Added SF_FORMAT_DWVW_* to subtype_formats array.
7063 Added support for 8 bit NIST Sphere files. Example file supplied by Anand
7066 2002-06-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7068 * examples/sndfile-info.c
7069 Tidy up of output format.
7071 * examnples/sndfile-play.c
7072 Mods to make sndfile-play work on MacOSX using Apple's CoreAudio API.
7075 Add new variables OS_SPECIFIC_INCLUDES and OS_SPECIFIC_LINKS which were
7076 required to supply extra include paths and link parameters to get
7077 sndfile-play working on MacOSX.
7079 * examples/Makefile.am
7080 Use OS_SPOECIFIC_INCLUDES and OS_SPECIFIC_LINKS to build commands for
7083 2002-06-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7086 Added ability to read/write new NIST Sphere file types (A-law, u-law).
7087 Header parser was re-written from scratch. Example files supplied by Anand
7091 Support for A-law and u-law NIST files.
7093 * tests/Makefile.am tests/lossy_comp_test.c
7094 Tests for A-law and u-law NIST files.
7096 2002-06-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7099 Fixed an error in error string.
7101 2002-06-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7104 Removed exit command to allow cross-compiling.
7106 * Win32/unistd.h src/file_io.c
7107 Moved contents of first file into the second file (enclosed in #ifdef).
7108 Win32/unistd.h is now an empty file but still must be there for libsndfile
7109 to compile on Win32.
7111 * src/sd2.c, src/sndfile.c:
7112 Fixes for Sound Designer II files on big endian systems.
7114 2002-06-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7117 Modified to work around problems with crappy MacOSX version of sed.
7118 Added sanity check for proper values for CFLAGS.
7120 2002-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7123 Code clean up in sf_open ().
7125 * Win32/Makefile.msvc
7126 Michael Fink's contributed MSVC++ makefile was hacked to bits and put back
7127 together in a new improved form.
7130 Fixes for Win32; _lseeki64() returns an invalid argument for calls like
7131 _lseeki64(fd, 0, SEEK_CUR) so need to use _telli64 (fd) instead.
7133 * src/common.h src/sndfile.c src/wav.c src/aiff.c
7134 Added SFE_LOG_OVERRUN error.
7135 Added termination for potential infinite loop when parsing file headers.
7137 * src/wav.c src/w64.c
7138 Fixed bug casuing incorrect header generation when opening file read/write.
7140 2002-06-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7143 Improved the documentation to make it clearer that the file read method
7144 and the underlying file format are completely disconnected. Suggested
7148 Started correcting docs to take into account changes made to the
7149 operations of the sf_command () function. Not complete yet.
7152 Reverted some changes which had broken the partially working SDII header
7153 parsing. Now have access to an iBook with OS X so reading and writing SDII
7154 files on all platforms should be a reality in the near future. On Mac this
7155 will involve reading the resource fork via the standard MacOS API. To move
7156 a file from Mac to another OS, the resource and data forks will need to be
7157 combined before transfer. The combined file will be read on both Mac and
7158 other OSes like any other file.
7160 2002-06-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7163 Applied a patch from http://fink.sourceforge.net/doc/porting/libtool.php
7164 which allows libsndfile to compile on MacOSX 10.1. This patch should not
7165 interfere with compiling on other OSes.
7167 * src/GSM610/private.h
7168 Changes to fix compile problems on MacOSX (see src/GSM610/ChangeLog).
7171 Added MacOSX replacements for lrint() and lrintf().
7173 2002-06-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7176 Replaced the code to print the filename to the log buffer when a file is
7177 opened. This code seems to have been left out during the merge of
7178 sf_open_read() and sf_open_write() to make a single functions sf_open().
7180 2002-06-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7183 Fixed a bug where the WAV header parser was going into an infinite loop
7184 on a badly formed LIST chunk. File supplied by David Viens.
7186 2002-05-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7189 Added a message at the end of the configuration process to warn about the
7190 need for the use of pkg-config when linking programs against version 1 of
7193 * doc/pkg-config.html
7194 New documentation file containing details of how to use pkg-config to
7195 retrieve settings for CFLAGS and library locations for linking files
7196 against version 1 of libsndfile.
7198 2002-05-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7201 Fixed minor bug in handling of so-called ACIDized WAV files.
7203 2002-05-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7205 * Win32/libsndfile.def Win32/Makefile.msvc
7206 Two new files contributed by Michael Fink (from the winLAME project)
7207 which allows libsndfile to be built on windows in a MSDOS box by doing
7208 "nmake -f Makefile.msvc". Way cool!
7210 2002-05-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7213 MacOSX is SSSOOOOOOO screwed up!!! I can't believe how hard it is to
7214 generate a tarball which will configure and compile on that platform.
7215 Joined the libtool mailing list to try and get some answers.
7217 2002-05-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7220 Changed to autoconf version 2.50. MacOSX uses autoconf version 2.53 which
7221 is incompatible with with version 2.13 which had been using until now.
7222 The AC_SYS_LARGE_FILE macro distributed withe autoconf 2.50 is missing a
7223 few features so AC_SYS_EXTRA_LARGE file was defined to replace it.
7226 Changed to automake version 1.5 to try and make a tarball which will
7229 2002-05-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7232 Changed name to gsm610.c. Added reading/writing of headerless files.
7234 * src/sndfile.c src/raw.c
7235 Added ability to read/write headerless (SF_FORMAT_RAW) GSM 6.10 files.
7237 2002-05-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7239 * tests/lossy_comp_test.c
7240 Clean up in preparation for Autogen-ing this file.
7243 Code cleanup and prepartion forgetting file seek working. Details in
7244 src/GSM610/ChangeLog.
7247 Testing complete. Is sndfile.m4 still needed?
7249 2002-05-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7251 * tests/write_read_test.tpl tests/rdwr_test.tpl
7252 Merged tests from these two programs into write_read_test.tpl and deleted
7255 2002-05-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7257 * src/w64.c src/svx.c src/paf.c
7258 Fixed bugs in read/write mode.
7260 2002-05-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7262 * examples/Makefile.am
7263 Renamed sfplay.c to sndfile-play.c and sndfile_info.c to sndfile-info.c for
7264 consistency when these programs become part of the Debian package
7268 New file to replace sndfile-config.in. Libsndfile now uses the pkg-config
7269 model for providing installation parameters to dependant programs.
7272 Cleanup of code in sf_open().
7274 2002-05-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7276 * tests/utils.tpl tests/write_read_test.tpl
7277 More conversion to Autogen fixes and enchancements.
7280 Read/write mode is now working for 16, 24 and 32 bit PCM as well as 32
7281 bit float and 64 bit double data. More tests still required.
7284 Added DISTCLEANFILES target to remove config.status and config.last.
7286 * Win32/Makefile.am MacOS/Makefile.am
7287 Added DISTCLEANFILES target to remove Makefile.
7289 2002-05-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7291 * src/*.[ch] tests/rdwr_test.c
7292 More verifying workings of read/write mode. Fixing bugs found.
7295 Made these files Autogen generated files.
7297 * tests/util.tpl tests/util.def
7298 New Autogen files to generate utils.[ch]. Moved some generic test functions
7299 into this file. Autogen is such a great tool!
7301 2002-05-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7303 * src/pcm.c src/float_cast.h Win32/config.h
7304 Fixed a couple of Win32 specific bugs pointed out by Michael Fink
7305 (maintainer of WinLAME) and David Viens.
7307 * tests/check_log_buffer.[ch] tests/utils.[ch]
7308 Moved check_log_buffer() to utils.[ch] and deleted old file.
7310 2002-05-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7312 * src/common.[ch] src/sndfile.c
7313 New function psf_default_seek() which will be the default seek function
7314 for things like PCM and floating point data. This default is set for
7315 both read and write in sf_open() but can be over-ridden by any codec
7316 during it's initialisation.
7318 2002-05-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7321 AU files use a data size value of -1 to mean unknown. Fixed au_open_read()
7322 to allow opening files like this.
7324 * tests/rdwr_test .c
7328 Fixed bugs in read/write mode found due to improvements in the test
7331 2002-04-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7333 * tests/rdwr_test .c
7334 New file for testing read/write mode.
7336 2002-04-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7339 Removed all m4 macros from this directory as they get concatenated to form
7340 the file aclocal.m4 anyway.
7343 Moved this from the m4 directory to the root directory asn this is part of
7344 the distribution and is installed during "make install".
7346 2002-04-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7349 Removed logging of peaks for all file formats other than AIFF and WAV.
7351 * tests/write_read_test.tpl tests/write_read_test.def
7352 New files which autogen uses to generate write_read_test.c. Doing it this
7353 way makes write_read_test.c far easier to maintain. Other test programs
7354 will be converted to autogen in the near future.
7357 Fixed a few bugs found when testing on Sparc (bug endian) Solaris.
7359 2002-04-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7362 Fixed documention versioning.
7365 Fixed a bug in the routines which search for Large File Support on systems
7366 which have large file support by defualt.
7368 2002-04-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7371 Found and fixed an issue which can cause a bug in other software (I was
7372 porting Conrad Parker's Sweep program from version 0 of the library to
7373 version 1). When opening a file for write, the libsndfile code would
7374 set the sfinfo.samples field to a maximum value.
7376 * tests/write_read_test.c
7377 Added tests to detect the above problem.
7379 2002-04-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7382 Finished base implementation of read/write mode. Much more testing still
7386 Macro for detecting Large File Standard capabilities. This macro was ripped
7387 out of the aclocal.m4 file of GNU tar-1.13.
7390 Added detection of large file support. Files larger than 2 Gigabytes should
7391 now be supported on 64 bit platforms and many 32 bit platforms including
7392 Linux (2.4 kernel, glibc-2.2), *BSD, MacOS, Win32.
7394 * libsndfile_convert_version.py
7395 A Python script which attempts to autoconvert code written to use version 0
7398 2002-04-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7401 Finished base implementation of read/write mode. Much more testing still
7404 * tests/write_read_test.c
7405 Preliminary tests for read/write mode added. More needed.
7407 2002-04-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7410 Removed sf_open_read() and sf_open_write() functions,replacting them with
7411 sf_open() which takes an extra mode parameter (SF_OPEN_READ, SF_OPEN_WRITE,
7412 or SF_OPEN_RDWR). This new function sf_open can now be modified to allow
7413 opening a file formodification (RDWR).
7415 2002-04-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7418 Completed merging of separate xxx_open_read() and xxx_open_write()
7419 functions. All tests pass.
7421 2002-04-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7424 Massive refactoring required to merge au_open_read() with au_open_write()
7425 to create au_open().
7427 2002-04-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7430 Started changes required to allow a sound file to be opened in read/write
7431 mode, with separate file pointers for read and write. This involves merging
7432 of encoder/decoder functions like pcm_read_init() and pcm_write_init()
7433 int a new function pcm_init() as well as doing something similar for all
7434 the file type specific functions ie aiff_open_read() and aiff_open_write()
7435 were merged to make the function aiff_open().
7437 2002-04-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7440 New file containing psf_fopen(), psf_fread(), psf_fwrite(), psf_fseek() and
7441 psf_ftell() functions. These function will replace use of fopen/fread/fwrite
7442 etc and allow access to files larger than 2 gigabytes on a number of 32 bit
7443 OSes (Linux on x86, 32 bit Solaris user space apps, Win32 and MacOS).
7446 Replaced all instances of fopen with psf_open, fread with psd_read, fwrite
7447 with psf_write and so on.
7449 2002-03-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7452 Finally fixed all known problems with 12, 16 and 24 bit DWVW encoding.
7454 * tests/floating_point_test.c
7455 Added tests for 12, 16 and 24 bit DWVW encoding.
7457 2002-03-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7460 Defines a new m4 macro AC_C_FIND_ENDIAN, for determining the endian-ness of
7461 the target CPU. It first checks for the definition of BYTE_ORDER in
7462 <endian.h>, then in <sys/types.h> and <sys/param.h>. If none of these work
7463 and the C compiler is not a cross compiler it compiles and runs a program
7464 to test for endian-ness. If the compiler is a cross compiler it makes a
7465 guess based on $target_cpu.
7468 Modified to use AC_C_FIND_ENDIAN.
7473 2002-02-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7475 * tests/floating_point_test.c
7476 Tests completely rewritten using the dft_cmp function. Now able to
7477 calculate a quick guesstimate of the Signal to Noise Ratio of the encoder.
7479 2002-02-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7481 * tests/dft_cmp.[ch]
7482 New files containing functions for comparing pre and post lossily
7483 compressed data using a quickly hacked DFT.
7486 New files containing functions for saving pre and post encoded data in a
7487 file readable by the GNU Octave package.
7489 2002-02-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7491 * m4/lrint.m4 m4/lrintf.m4
7492 Fixed m4 macros to define HAVE_LRINT and HAVE_LRINTF even when the test
7495 2002-02-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7497 * tests/floating_point_test.c
7498 Fixed improper use of strncat ().
7500 2002-02-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7502 * tests/headerless_test.c
7503 New test program to test the ability to open and read a known file type as a
7504 RAW header-less file.
7506 2002-02-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7508 * tests/losy_comp_test.c
7509 Added a test to ensure that the data read from a file is not all zeros.
7511 * examples/sfconvert.c
7512 Added "-gsm610" encoding types.
7514 2002-01-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7516 * examples/sfconvert.c
7517 Added "-dwvw12", "-dwvw16" and "-dwvw24" encoding types.
7520 New file for testing DWVW encoder/decoder.
7522 2002-01-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7525 Implemented writing of DWVW. 12 bit seems to work, 16 and 24 bit still broken.
7528 Improved reporting of encoding types.
7533 2002-01-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7536 New file implementing lossless Delta Word Variable Width (DWVW) encoding.
7537 Reading 12 bit DWVW is now working.
7539 * src/aiff.c common.h sndfile.c
7540 Added hooks for DWVW encoded AIFF and RAW files.
7542 2002-01-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7545 Robustify header parsing.
7548 Header file wav.h was renamed to wav_w64.h to signify sharing of
7549 definitions across the two file types.
7551 * src/wav.c src/w64.c src/wav_w64.c
7553 Modified and moved functions with a high degree of similarity between
7554 wav.c and w64.c to wav_w64.c.
7556 2002-01-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7559 Completed work on getting read and write working.
7562 Added code to scale floating point data so it plays at a reasonable volume.
7564 * tests/Makefile.am tests/write_read_test.c
7565 Added tests for W64 files.
7567 2002-01-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7570 Modded all code in file header writing routines to use
7571 psf_new_binheader_writef().
7572 Removed psf_binheader_writef() from src/common.c.
7573 Globally replaced psf_new_binheader_writef with psf_binheader_writef.
7575 2002-01-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7578 Modded all code in file parsing routines to use psf_new_binheader_readf().
7579 Removed psf_binheader_readf() from src/common.c.
7580 Globally replaced psf_new_binheader_readf with psf_binheader_readf.
7583 Added new function psf_new_binheader_writef () which will soon replace
7584 psf_binheader_writef (). The new function has basically the same function
7585 as the original but has a more flexible and capable interface. It also
7586 allows the writing of 64 bit integer values for files contains 64 bit file
7589 2002-01-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7591 * src/formats.c src/sndfile.c src/sndfile.h
7592 Added code allowing full enumeration of supported file formats via the
7593 sf_command () interface.
7594 This feature will allow applications to avoid needing recompilation when
7595 support for new file formats are added to libsndfile.
7597 * tests/command_test.c
7598 Added test code for the above feature.
7600 * examples/list_formats.c
7601 New file. An example of the use of the supported file enumeration
7602 interface. This program lists all the major formats and for each major
7603 format the supported subformats.
7605 2002-01-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7607 * src/*.[ch] tests/*.c
7608 Changed command parameter of sf_command () function from a test string to
7609 an int. The valid values for the command parameter begin with SFC_ and are
7610 listed in src/sndfile.h.
7612 2001-12-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7614 * src/formats.c src/sndfile.c
7615 Added an way of enumerating a set of common file formats using the
7616 sf_command () interface. This interface was suggested by Dominic Mazzoni,
7617 one of the main authors of Audacity (http://audacity.sourceforge.net/).
7619 2001-12-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7622 Added checking of filename parameter in sf_open_read (). Previousy, if a
7623 NULL pointer was passed the library would segfault.
7625 2001-12-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7627 * src/common.c src/common.h
7628 Changed the len parameter of the endswap_*_array () functions from type
7632 Fixed a problem which
7634 2001-12-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7637 Added conditional #include <sys/types.h> for EMX/gcc on OS/2. Thanks to
7638 Paul Hartman for pointing this out.
7640 * tests/lossy_comp_test.c tests/floating_point_test.c
7641 Added definitions for M_PI for when it isn't defined in <math.h>.
7643 2001-11-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7646 Re-implemented the header reader. Old version was making incorrect
7647 assumptions about the endian-ness of the file from the magic number at the
7648 start of the file. The new code looks at the integer which holds the
7649 number of channels and determines the endian-ness from that.
7651 2001-11-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7654 Added support for other AIFC types ('raw ', 'in32', '23ni').
7655 Further work on IMA ADPCM encoding.
7657 2001-11-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7660 Renamed from wav_ima_adpcm.c. This file will soon handle IMA ADPCM
7661 encodings for both WAV and AIFF files.
7664 Started adding IMA ADPCM support.
7666 2001-11-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7669 New file for handling double precision floating point (SF_FORMAT_DOUBLE)
7672 * src/wav.c src/aiff.c src/au.c src/raw.c
7673 Added support for SF_FORMAT_DOUBLE data.
7676 Addition of endswap_long_array () for endian swapping 64 bit integers. This
7677 function will work correctly on processors with 32 bit and 64 bit longs.
7678 Optimised endswap_short_array () and endswap_int_array ().
7681 Added and extra check. After the first file of each type is written to disk
7682 a checksum is performed of the first 64 bytes and checked against a pre-
7683 calculated value. This will work whatever the endian-ness of the host
7686 2001-11-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7689 Added handling of u-law, A-law encoded AIFF files. Thanks to Tom Erbe for
7690 supplying example files.
7692 * tests/lossy_comp_test.c
7693 Added tests for above.
7695 * src/common.h src/*.c
7696 Removed function typedefs from common.h and function pointer casting in all
7697 the other files. This allows the compiler to perform proper type checking.
7698 Hopefully this will prevernt problems like the sf_seek bug for OpenBSD,
7702 Added new function psf_new_binheader_readf () which will eventually replace
7703 psf_binheader_readf (). The new function has basically the same function as
7704 the original but has a more flexible and capable interface. It also allows
7705 the reading of 64 bit integer values for files contains 64 bit file
7708 2001-11-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7711 Completed implementation of VOC file handling. Can now handle 8 and 16 bit
7712 PCM, u-law and A-law files with one or two channels.
7714 * src/write_read_test.c tests/lossy_comp_test.c
7715 Added tests for VOC files.
7717 2001-11-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7720 Added inline asm version of lrint/lrintf for MacOS. Solution provided by
7724 More work on this braindamaged format. The VOC files produced by SoX also
7725 have a number of inconsistencies.
7727 2001-11-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7730 Added support for 8 bit PCM PAF files.
7732 * tests/write_read_test.c
7733 Added tests for 8 bit PAF files.
7735 2001-11-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7738 New test program to test for correct scaling of integer values between
7739 different sized integer containers (ie short -> int).
7740 The new specs for libsndfile state that when the source and destination
7741 containers are of a different size, the most significant bit of the source
7742 value becomes the most significant bit of the destination container.
7744 * src/pcm.c src/paf.c
7745 Modified to pass the above test program.
7747 * tests/write_read_test.c tests/lossy_comp_test.c
7748 Modified to work with the new scaling rules.
7750 2001-11-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7752 * src/raw.c tests/write_read_test.c tests/write_read_test.c
7753 Added ability to do raw reads/writes of float, u-law and A-law files.
7755 * src/*.[ch] examples/*.[ch] tests/*.[ch]
7756 Removed dependance on pcmbitwidth field of SF_INFO struct and moved to new
7757 SF_FORMAT_* types and use of SF_ENDIAN_BIG/LITTLE/CPU.
7759 2001-11-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7762 Started implmentation of major changes documented in doc/version1.html.
7764 Removed all usage of off_t which is not part of the ISO C standard. All
7765 places which were using it are now using type long which is the type of
7766 the offset parameter for the fseek function.
7767 This should fix problems on BeOS, MacOS and *BSD like systems which were
7768 failing "make check" because sizeof (long) != sizeof (off_t).
7770 --------------------------------------------------------------------------------
7771 This is the boundary between version 1 of the library above and version 0 below.
7772 --------------------------------------------------------------------------------
7774 2001-11-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7776 * examples/sfplay_beos.cpp
7777 Added BeOS version of sfplay.c. This needs to be compiled using a C++
7778 compiler so is therefore not built by default. Thanks to Marcus Overhagen
7781 2001-11-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7784 New example file showing how libsndfile can be used to read and play a
7786 At the moment on Linux is supported. Others will follow in the near future.
7788 2001-11-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7791 Fixed problem with normalisation code where a value of 1.0 could map to
7792 a value greater than MAX_SHORT or MAX_INT. Thanks to Roger Dannenberg for
7795 2001-11-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7798 Fixed scaling issue when reading/writing 8 bit files using
7799 sf_read/sf_write_short ().
7800 On read, values are scaled so that the most significant bit in the char
7801 ends up in the most significant bit of the short. On write, values are
7802 scaled so that most significant bit in the short ends up as the most
7803 significant bit in the char.
7805 2001-11-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7807 * src/au.c src/sndfile.c
7808 Added support for 32 bit float data in big and little endian AU files.
7810 * tests/write_read_test.c
7811 Added tests for 32 bit float data in AU files.
7813 2001-11-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7815 * tests/lossy_comp_test.c
7816 Finalised testing of stereo files where possible.
7818 2001-11-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7820 * src/wav_ms_adpcm.c
7821 Fixed bug in writing stereo MS ADPCM WAV files. Thanks to Xu Xin for
7822 pointing out this problem.
7824 2001-10-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7826 * src/wav_ms_adpcm.c
7827 Modified function srate2blocksize () to handle 44k1Hz stereo files.
7829 2001-10-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7832 Added support for Sonic Foundry 64 bit WAV format. As Linux (my main
7833 development platform) does not yet support 64 bit file offsets by default,
7834 current handling of this file format treats everything as 32 bit and fails
7835 openning the file, if it finds anything that goes beyond 32 bit values.
7837 * src/sndfile.[hc] src/common.h src/Makefile.am
7838 Added hooks for W64 support.
7840 2001-10-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7843 Added more warnings options to CFLAGS when the gcc compiler is detected.
7845 * src/*.[ch] tests/*.c examples/*.c
7846 Started fixing the warning messages due to the new CFLASG.
7849 More work on VOC file read/writing.
7852 Found that PAF files were not checking the normalisation flag when reading
7853 or writing floats and doubles. Fixed it.
7855 * tests/floating_point_test.c
7856 Added specific test for the above problem.
7858 * src/float_cast.h src/pcm.c
7859 Added a section for Win32 to define lrint () and lrintf () in the header
7860 and implement it in the pcm.c
7862 2001-10-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7864 * sndfile-config.in m4/sndfile.m4
7865 These files were donated by Conrad Parker who also provided instructions
7866 on how to install them using autoconf/automake.
7869 Fiddled around with this file some more. On Linux and other gcc supported
7870 OSes use the C99 functions lrintf() and lrint() for casting from floating
7871 point to int without incurring the huge perfromance penalty (particularly
7872 on the i386 family) caused by the regular C cast from float to int.
7873 These new C99 functions replace the FLOAT_TO_* and DOUBLE_TO_* macros which
7874 I had been playing with.
7876 * configure.in m4/lrint.m4 m4/lrintf.m4
7877 Add detection of these functions.
7879 2001-10-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7882 Completed code for reading VOC files containing a single audio data
7884 Started implementing code to handle files with multiple VOC_SOUND_DATA
7885 segments but couldn't be bothered finishing it. Multiple segment files can
7886 have different sample rates for different sections and other nasties like
7887 silence and repeat segments.
7889 2001-10-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7891 * src/common.h src/*.c
7892 Removed SF_PRIVATE struct field fdata and replaced it with extra_data.
7895 Further development of the read part of this woefult file format.
7897 2001-10-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7900 Implemented gcc and i386 floating point to int cast macros. Standard cast
7901 will be used when not on gcc for i385.
7904 Modified all uses of FLOAT/DOUBLE_TO_INT and FLOAT/DOUBLE_TO_SHORT casts to
7905 comply with macros in float_cast.h.
7907 2001-10-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7910 Changed the TYPE_xxx enum names to VOC_TYPE_xxx to prevent name clashes
7911 on MacOS with CodeWarrior 6.0.
7913 * MacOS/MacOS-readme.txt
7914 Updated the compile instructions. Probably still need work as I don't have
7917 2001-10-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7919 * src/wav.c src/aiff.c common.c
7920 Changed all references to snprintf to LSF_SNPRINTF and all vsnprintf to
7921 LSF_VSNPRINTF. LSF_VSNPRINTF and LSF_VSNPRINTF are defined in common.h.
7924 Added checking of HAVE_SNPRINTF and HAVE_VSNPRINTF and defining
7925 LSF_VSNPRINTF and LSF_VSNPRINTF to appropriate values.
7928 New file containing a minimal implementation of snprintf and vsnprintf
7929 functions named missing_snprintf and missing_vsnprintf respectively. These
7930 are only compliled into the binary if snprintf and/or vsnprintf are not
7933 2001-09-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7936 New file to handle Berkeley/IRCAM/CARL files.
7938 * src/sndfile.c src/common.h
7939 Modified for IRCAM handling.
7942 Added tests for IRCAM files.
7944 2001-09-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7947 Apparently microsoft windows (tm) doesn't like ulaw and Alaw WAV files with
7948 20 byte format chunks (contrary to ms's own documentation). Fixed the WAV
7949 header writing code to generate smaller ms compliant ulaw and Alaw WAV
7952 2001-09-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7954 * tests/stdio_test.sh tests/stdio_test.c
7955 Shell script was rewritten as a C program due to incompatibilities of the
7956 sh shell on Linux and Solaris.
7958 2001-09-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7960 * tests/stdio_test.sh tests/stdout_test.c tests/stdin_test.c
7961 New test programs to verify the correct operation of reading from stdin and
7964 * src/sndfile.c wav.c au.c nist.c paf.c
7965 Fixed a bugs uncovered by the new test programs above.
7967 2001-09-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7969 * src/sndfile.c wav.c
7970 Fixed a bug preventing reading a file from stdin. Found by T. Narita.
7972 2001-09-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7975 Fixed a problem on OpenBSD 2.9 which was causing sf_seek() to fail on IMA
7976 WAV files. Root cause was the declaration of the func_seek typedef not
7977 matching the functions it was actually being used to point to. In OpenBSD
7978 sizeof (off_t) != sizeof (int). Thanks to Heikki Korpela for allowing me
7979 to log into his OpenBSD machine to debug this problem.
7981 2001-09-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7984 Implemented sf_command ("norm float").
7987 Implemented handling of sf_command ("set-norm-float"). Float normalization
7988 can now be turned on and off.
7990 * tests/double_test.c
7991 Renamed to floating_point_test.c. Modified to include tests for all scaled
7992 reads and writes of floats and doubles.
7995 Fixed bug in normalization code found with improved floating_point_test
7999 Added code for parsing 'INFO' and 'LIST' chunks. Will be used for extract
8000 text annotations from WAV files.
8003 Added code for parsing '(c) ' and 'ANNO' chunks. Will be used for extract
8004 text annotations from WAV files.
8006 2001-09-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8008 * examples/sf_info.c example/Makefile.am
8009 Renamed to sndfile_info.c. The program sndfile_info will now be installed
8010 when the library is installed.
8013 New file defining floating point to short and int casts. These casts will
8014 eventually replace all flot and double casts to short and int. See comments
8015 at the top of the file for the reasoning.
8018 Changed all default float and double casts to short or int with macros
8019 defined in floatcast.h. At the moment these casts do nothing. They will be
8020 replaced with faster float to int cast operations in the near future.
8022 2001-08-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8024 * tests/command_test.c
8025 New file for testing sf_command () functionality.
8028 Revisiting of error return values of some functions.
8029 Started implementing sf_command () a new function will allow on-the-fly
8030 modification of library behaviour, or instance, sample value scaling.
8033 Added hook for format specific sf_command () calls to SNDFILE struct.
8036 Updated and errors corrected.
8039 New documentation file explaining new sf_command () function.
8041 2001-08-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8044 Fixed error return values from sf_read*() and sf_write*(). There were
8045 numerous instances of -1 being returned through size_t. These now all set
8046 error int the SF_PRIVATE struct and return 0. Thanks to David Viens for
8049 2001-08-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8052 Fixed use of va_arg() calls that were causing warning messages with the
8053 latest version of gcc (thanks Maurizio Umberto Puxeddu).
8055 2001-07-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8057 * src/*.c src/sfendian.h
8058 Moved definition of MAKE_MARKER macro to sfendian.h
8060 2001-07-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8063 Modified sf_get_lib_version () so that version string will be visible using
8064 the Unix strings command.
8066 * examples/Makefile.am examples/sfinfo.c
8067 Renamed sfinfo program and source code to sf_info. This prevents a name
8068 clash with the program included with libaudiofile.
8070 2001-07-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8072 * tests/read_seek_test.c tests/lossy_comp_test.c
8073 Added tests for sf_read_float () and sf_readf_float ().
8076 New files for handling Creative Voice files (not complete).
8079 New files for handling Samplitude files (not complete).
8081 2001-07-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8083 * src/aiff.c src/au.c src/paf.c src/svx.c src/wav.c
8084 Converted these files to using psf_binheader_readf() function. Will soon be
8085 ready to attempt to make reading writing from pipes work reliably.
8088 Added code for sf_read_float () and sf_readf_float () methods of accessing
8091 2001-07-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8093 * src/paf.c src/wav_gsm610.c
8094 Removed two printf()s which had escaped notice for some time (thanks
8095 Sigbjørn Skjæret).
8097 2001-07-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8100 Fixed a bug which prevented GSM 6.10 encoded WAV files generated by
8101 libsndfile from being played in Windoze (thanks klay).
8103 2001-07-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8106 Implemented psf_binheader_readf() which will do for file header reading what
8107 psf_binheader_writef() did for writing headers. Will eventually allow
8108 libsndfile to read and write from pipes, including named pipes.
8110 2001-07-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8112 * MacOS/config.h Win32/config.h
8113 Attempted to bring these two files uptodate with src/config.h. As I don't
8114 have access to either of these systems support for them may be completely
8117 2001-06-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8120 Fixed bug for big endian processors that can't read 32 bit IEEE floats. Now
8121 tested on Intel x86 and UltraSparc processors.
8123 2001-06-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8126 Modified to allow REX files (from Propellorhead's Recycle and Reason
8127 programs) to be read.
8128 REX files are basically an AIFF file with slightly unusual sequence of
8129 chunks (AIFF files are supposed to allow any sequence) and some extra
8130 application specific information.
8131 Not yet able to write a REX file as the details of the application specific
8134 2001-06-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8137 Fixed endian bug when reading PEAK chunk on big endian machines.
8140 Fixed endian bug when reading PEAK chunk on big endian machines with
8141 --enable-force-broken-float configure option.
8142 Fix psf_binheader_writef for (FORCE_BROKEN_FLOAT ||______)
8144 2001-06-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8146 * configure.in src/config.h.in
8147 Removed old CAN_READ_WRITE_x86_IEEE configure variable now that float
8148 capabilities are detected at run time.
8149 Added FORCE_BROKEN_FLOAT to allow testing of broken float code on machines
8150 where the processor can in fact handle floats correctly.
8153 Rejigged code reading and writing of floats on broken processors.
8156 Removed this directory and all its files as they are no longer needed.
8158 2001-06-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8160 * tests/peak_chunk_test.c
8161 New test to validate reading and writing of peak chunk.
8163 * examples/sfconvert
8164 Added -float32 option.
8167 Changed all error return values to negative values (ie the negative of what
8170 * src/sndfile.c tests/error_test.c
8171 Modified to take account of the previous change.
8173 2001-06-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8176 File renamed from wav_float.c and renamed function to something more
8178 Added runtime detection of floating point capabilities.
8179 Added recording of peaks during write for generation of PEAK chunk.
8181 * src/wav.c src/aiff.c
8182 Added handing for PEAK chunk for floating point files. PEAK is read when the
8183 file headers are read and generated when the file is closed. Logic is in
8184 place for adding PEAK chunk to end of file when writing to a pipe (reading
8185 and writing from/to pipe to be implemented soon).
8188 Modified sf_signal_max () to use PEAK values if present.
8190 2001-06-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8193 Added pcm_read_init () and pcm_write_init () to src/pcm.c and removed all
8194 other calls to functions in this file from the filetype specific files.
8197 Added alaw_read_init (), alaw_write_int (), ulaw_read_init () and
8198 ulaw_write_init () and removed all other calls to functions in alaw.c and
8199 ulaw.c from the filetype specific files.
8201 * tests/write_read_test.c
8202 Added tests to validate sf_seek () on all file types.
8205 Implemented raw_seek () function to fix a bug where
8206 sf_seek (file, 0, SEEK_SET) on a RAW file failed.
8209 Fixed a bug in paf24_seek () found due to added seeks tests in
8210 tests/write_read_test.c
8212 2001-06-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8214 * tests/read_seek_test.c
8215 Fixed a couple of broken binary files.
8217 * src/aiff.c src/wav.c
8218 Added handling of PEAK chunks on file read.
8220 2001-05-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8222 * check_libsndfile.py
8223 New file for the regression testing of libsndfile.
8224 check_libsndfile.py is a Python script which reads in a file containing
8225 filenames of audio files. Each file is checked by running the examples/sfinfo
8226 program on them and checking for error or warning messages in the libsndfile
8229 * check_libsndfile.list
8230 This is an example list of audio files for use with check_libsndfile.py
8232 * tests/lossy_comp_test.c
8233 Changed the defined value of M_PI for math header files which don't have it.
8234 This fixed validation test failures on MetroWerks compilers. Thanks to Lord
8235 Praetor Satanus of Acheron for bringing this to my attention.
8237 2001-05-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8240 Removed psf_header_setf () which was no longer required after refactoring
8241 and simplification of header writing.
8242 Added 'z' format specifier to psf_binheader_writef () for zero filling header
8243 with N bytes. Used by paf.c and nist.c
8245 * tests/check_log_buffer.c
8246 New file implementing check_log_buffer () which reads the log buffer of a
8247 SNDFILE* object and searches for error and warning messages. Calls exit ()
8251 Added calls to check_log_buffer () after each call to sf_open_XXX ().
8253 2001-05-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8255 * src/wav.c src/wav_ms_adpcm.c src/wav_gsm610.c
8256 Major rehack of header writing using psf_binheader_writef ().
8258 2001-05-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8260 * src/wav.c src/wav_ima_adpcm.c
8261 Major rehack of header writing using psf_binheader_writef ().
8263 2001-05-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8266 Changed return type of get_encoding_str () to prevent compiler warnings on
8269 * src/aiff.c src/au.c
8270 Major rehack of header writing using psf_binheader_writef ().
8272 2001-05-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8274 * src/common.h src/common.c
8276 Name of log buffer changed from strbuffer to logbuffer.
8277 Name of log buffer index variable changed from strindex to logindex.
8280 Changed name of internal logging function from psf_sprintf () to
8282 Changed name of internal header generation functions from
8283 psf_[ab]h_printf () to psf_asciiheader_printf () and
8284 psf_binheader_writef ().
8285 Changed name of internal header manipulation function psf_hsetf () to
8288 2001-05-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8291 Fixed reading and writing of sample_byte_format header. "01" means little
8292 endian and "10" means big endian regardless of bit width.
8295 Detect Mac OSX and disable -Wall and -pedantic gcc options. Mac OSX is
8296 way screwed up and spews out buckets of warning messages from the system
8298 Added --disable-gcc-opt configure option (sets gcc optimisation to -O0 ) for
8300 Made decision to harmonise source code version number and .so library
8301 version number. Future releases will stick to this rule.
8303 * doc/new_file_type.HOWTO
8304 New file to document the addition of new file types to libsndfile.
8306 2001-05-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8309 New file for reading/writing Sphere NIST audio file format.
8310 Originally requested by Elis Pomales in 1999.
8311 Retrieved from unstable (and untouched for 18 months) branch of libsndfile.
8312 Some vital information gleaned from the source code to Bill Schottstaedt's
8313 sndlib library : ftp://ccrma-ftp.stanford.edu/pub/Lisp/sndlib.tar.gz
8314 Currently reading and writing 16, 24 and 32 bit, big-endian and little
8315 endian, stereo and mono files.
8317 * src/common.h src/common.c
8318 Added psf_ah_printf () function to help construction of ASCII headers (ie NIST).
8321 Added test for vsnprintf () required by psf_ah_printf ().
8323 * tests/write_read_test.c
8324 Added tests for supported NIST files.
8326 2001-05-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8328 * tests/write_read_test.c
8329 Added tests for little endian AIFC files.
8332 Minor re-working of aiff_open_write ().
8333 Added write support for little endian PCM encoded AIFC files.
8335 2001-05-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8338 Minor re-working of aiff_open_read ().
8339 Added read support for little endian PCM encoded AIFC files from the Mac
8340 OSX CD ripper program. Guillaume Lessard provided a couple of sample files
8341 and a working patch.
8342 The patch was not used as is but gave a good guide as to what to do.
8344 2001-05-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8347 Fixed comments about endian-ness of WAV and AIFF files. Guillaume Lessard
8348 pointed out the error.
8350 2001-04-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8352 * examples/make_sine.c
8353 Re-write of this example using sample rate and required frequency in Hz.
8355 2001-02-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8358 Fixed bug that prevented known file types from being read as RAW PCM data.
8360 2000-12-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8363 Added handing of COMT chunk.
8365 2000-11-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8367 * examples/sfconvert.c
8368 Fixed bug in normalisatio code. Pointed out by Johnny Wu.
8370 2000-11-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8373 Fixed the incorrect setting of HAVE_ENDIAN_H parameter. Win32 only issue.
8375 2000-10-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8378 Added -lm for write_read_test_LDADD.
8380 2000-10-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8382 * src/sndfile.c src/au.c
8383 Fixed bug which prevented writing of G723 24kbps AU files.
8385 * tests/lossy_comp_test.c
8386 Corrrection to options for G723 tests.
8389 Added --disable-gcc-pipe option for DJGPP compiler (gcc on MS-DOS) which
8390 doesn't allow gcc -pipe option.
8392 2000-09-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8394 * src/ulaw.c src/alaw.c src/wav_imaadpcm.c src/msadpcm.c src/wav_gsm610.c
8395 Fixed normailsation bugs shown up by new double_test program.
8397 2000-08-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8400 Fixed bug in normalisation code (spotted by Steve Lhomme).
8402 * tests/double_test.c
8403 New file to test scaled and unscaled sf_read_double() and sf_write_double()
8406 2000-08-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8409 Changed to the LGPL COPYING file (spotted by H. S. Teoh).
8411 2000-08-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8414 Removed prototype of unimplemented function sf_get_info(). Added prototype
8415 for sf_error_number() Thanks to Sigbjørn Skjæret for spotting these.
8417 2000-08-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8420 New file to contain a complete rewrite of the PCM data handling.
8422 2000-08-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8425 Fixed a leak of FILE* pointers in sf_open_write(). Thanks to Sigbjørn
8426 Skjæret for spotting this one.
8428 2000-08-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8430 * src/au_g72x.c src/G72x/g72x.c
8431 Added G723 encoded AU file support.
8433 * tests/lossy_comp_test.c
8434 Added tests for G721 and G723 encoded AU files.
8436 2000-08-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8439 Changed the license to LGPL. Albert Faber who had copyright on
8440 Win32/unistd.h gave his permission to change the license on that file. All
8441 other files were either copyright erikd AT mega-nerd DOT com or copyright
8442 under a GPL/LGPL compatible license.
8444 2000-08-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8446 * tests/lossy_comp_test.c
8447 Fixed incorrect error message.
8449 * src/au_g72x.c src/G72x/*
8450 G721 encoded AU files now working.
8452 * Win32/README-Win32.txt
8453 Replaced this file with a new one which gives a full explanation
8454 of how to build libsndfile under Win32. Thanks to Mike Ricos.
8456 2000-08-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8459 Removed double leading underscores from the start of all variable and
8460 function names. Identifiers with a leading underscores are reserved
8461 for use by the compiler.
8463 * src/au_g72x.c src/G72x/*
8464 Continued work on G721 encoded AU files.
8466 2000-07-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8469 New files for reading/writing G721 and G723 ADPCM audio. These files
8470 are from a Sun Microsystems reference implementation released under a
8471 free software licence.
8472 Extensive changes to this code to make it fit in with libsndfile.
8473 See the ChangeLog in this directory for details.
8476 New file for G721 encoded AU files.
8478 2000-07-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8480 * libsndfile.spec.in
8481 Added a spec file for making RPMs. Thanks to Josh Green for supplying this.
8483 2000-06-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8485 * src/sndfile.c src/sndfile.h
8486 Add checking for and handling of header-less u-law encoded AU/SND files.
8487 Any file with a ".au" or ".snd" file extension and without the normal
8488 AU file header is treated as an 8kHz, u-law encoded file.
8491 New function for opening a headerless u-law encoded file for read.
8493 2000-06-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8496 Add checking for files shorter than minimal PAF file header length.
8498 2000-06-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8500 * tests/write_read_test.c
8501 Added extra sf_perror() calls when sf_write_XXXX fails.
8503 2000-05-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8506 Modified usage of va_arg() macro to work correctly on PowerPC
8507 Linux. Thanks to Kyle Wheeler for giving me ssh access to his
8508 machine while I was trying to track this down.
8510 * configure.in src/*.[ch]
8511 Sorted out some endian-ness issues brought up by PowerPC Linux.
8513 * tests/read_seek_test.c
8514 Added extra debugging for when tests fail.
8516 2000-05-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8519 Fixed bug in GSM 6.10 handling for big-endian machines. Thanks
8520 to Sigbjørn Skjæret for reporting this.
8522 2000-04-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8524 * src/sndfile.c src/wav.c src/wav_gsm610.c
8525 Finallised writing of GSM 6.10 WAV files.
8527 * tests/lossy_comp_test.c
8528 Wrote new test code for GSM 6.10 files.
8531 Fixed incorrect format in printf() statement.
8533 2000-04-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8536 Fixed comments about sf_perror () and sf_error_str ().
8538 2000-03-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8541 Fixed --enable-justsrc option.
8543 2000-03-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8546 Fixed checking of bytespersec field of header. Still some weirdness
8549 2000-03-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8551 * tests/lossy_comp_test.c
8552 Added option to test PCM WAV files (sanity check).
8553 Fixed bug in sf_seek() tests.
8555 2000-02-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8557 * src/sndfile.c src/wav.c
8558 Minor changes to allow writing of GSM 6.10 WAV files.
8560 2000-02-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8562 * configure.in Makefile.am src/Makefile.am
8563 Finally got around to figuring out how to build a single library from
8564 multiple source directories.
8565 Reading GSM 6.10 files now seems to work.
8567 2000-01-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8570 Added more error reporting in read_fmt_chunk().
8572 1999-12-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8575 Modified program to accept multiple filenames from the command line.
8577 1999-11-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8579 * src/wav_ima_adpcm.c
8580 Moved code around in preparation to adding ability to read/write IMA ADPCM
8583 1999-11-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8586 Fixed put_int() and put_short() macros used by _psf_hprintf() which were
8587 causing seg. faults on Sparc Solaris.
8589 1999-11-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8592 Added string.h to includes. Thanks to Sigbjxrn Skjfret.
8595 Fixed __svx_close() function to ensure FORM and BODY chunks are correctly
8598 1999-10-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8601 Fixed handling of incorrect size field in AU header on read. Thanks to
8602 Christoph Lauer for finding this problem.
8604 1999-09-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8607 Fixed a bug with incorrect SSND chunk length being written. This also lead
8608 to finding an minor error in AIFF header parsing. Thanks to Dan Timis for
8611 1999-09-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8614 Fixed a bug with reading and writing 24 bit stereo PAF files. This problem
8615 came to light when implementing tests for the new functions which operate
8616 in terms of frames rather than items.
8618 1999-09-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8621 Modified file type detection to use first 12 bytes of file rather than
8622 file name extension. Required this because NIST files use the same
8623 filename extension as Microsoft WAV files.
8625 * src/sndfile.c src/sndfile.h
8626 Added short, int and double read/write functions which work in frames
8627 rather than items. This was originally suggested by Maurizio Umberto
8630 1999-09-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8633 Finished off implementation of write using __psf_hprintf().
8635 1999-09-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8638 Added a buffer to SF_PRIVATE for writing the header. This is required
8639 to make generating headers for IFF/SVX files easier as well as making
8640 it easier to do re-write the headers which will be required when
8641 sf_rewrite_header() is implemented.
8644 Implemented __psf_hprintf() function. This is an internal function
8645 which is documented briefly just above the code.
8647 1999-09-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8650 Fixed a bug in sf_write_raw() where it was returning incorrect values
8651 (thanks to Richard Dobson for finding this one). Must put in a test
8652 routine for sf_read_raw and sf_write_raw.
8655 Fixed default FORMsize in __aiff_open_write ().
8658 Added copy of filename to internal data structure. IFF/SVX files
8659 contain a NAME header chunk. Both sf_open_read() and sf_open_write()
8660 copy the file name (less the leading path information) to the
8664 Started implementing writing of files.
8666 1999-08-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8669 New file for reading/writing 8SVX and 16SVX files.
8671 * src/sndfile.[ch] src/common.h
8672 Changes for SVX files.
8675 Fixed header parsing when unknown chunk is found.
8677 1999-08-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8680 New file for reading/writing Ensoniq PARIS audio file format.
8682 * src/sndfile.[ch] src/common.h
8683 Changes for PAF files.
8686 Added stuff for sf_get_lib_version() function.
8689 1999-07-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8691 * src/sndfile.h MacOS/config.h
8692 Fixed minor MacOS configuration issues.
8694 1999-07-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8697 Added a new directory for the MacOS config.h file and the
8701 Fixed calculation of datalength when reading SSND chunk. Thanks to
8702 Sigbjørn Skjæret for pointing out this error.
8704 1999-07-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8706 * src/sndfile.c src/sndfile.h src/raw.c
8707 Further fixing of #includes for MacOS.
8709 1999-07-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8711 * src/wav.c src/aiff.c
8712 Added call to ferror () in main header parsing loop of __XXX_open_read
8713 functions. This should fix problems on platforms (MacOS, AmigaOS) where
8714 fseek()ing or fread()ing beyond the end of the file puts the FILE*
8715 stream in an error state until clearerr() is called.
8717 * tests/write_read_test.c
8718 Added tests for RAW header-less PCM files.
8721 Moved definition of struct tribyte to pcm.c which is the only place
8725 Modified all code which assumed sizeof (struct tribyte) == 3. This code
8726 did not work on MacOS. Thanks to Ben "Jacobs" for pointing this out.
8729 Removed <sys/stat.h> from list of #includes (not being used).
8732 Added MacOS specific #ifdef to replace <sys/stat.h>.
8735 Added MacOS specific #ifdef to replace <sys/stat.h>.
8738 Added MacOS specific typedef for off_t.
8741 New file with instructions for building libsndfile under MacOS. Thanks
8742 to Ben "Jacobs" for supplying these instructions.
8744 1999-07-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8747 Removed sndfile.h from generated file list as there were no longer
8748 any autoconf substitutions being made.
8751 New file for handling raw header-less PCM files. In order to open these
8752 for read, the user must specify format, pcmbitwidth and channels in the
8753 SF_INFO struct when calling sf_open_read ().
8756 Added support for raw header-less PCM files.
8758 1999-07-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8761 Removed options so the sfinfo program always prints out all the information.
8763 1999-07-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8766 New file for A-law encoding (similar to u-law).
8769 New test program to test the A-law encode/decode lookup tables.
8771 * tests/lossy_comp_test.c
8772 Added tests for a-law encoded WAV, AU and AULE files.
8774 1999-07-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8776 * src/sndfile.c src/au.c
8777 Removed second "#include <unistd.h>". Thanks to Ben "Jacobs" for pointing
8780 1999-07-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8783 New test program to test the u-law encode/decode lookup tables.
8785 1999-07-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8788 Made corrections to comments on the return values from sf_seek ().
8791 Fixed boundary condition checking bug and accounting bug in sf_read_raw ().
8793 1999-07-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8795 * src/au.c src/ulaw.c
8796 Finished implementation of u-law encoded AU files.
8799 Implemented reading and writing of u-law encoded WAV files.
8802 Changed name of adpcm_test.c to lossy_comp_test.c. This test program
8803 will now be used to test Ulaw and Alaw encoding as well as APDCM.
8804 Added tests for Ulaw encoded WAV files.
8806 1999-07-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8808 * tests/adpcm_test.c
8809 Initialised amp variable in gen_signal() to remove compiler warning.
8811 1999-07-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8814 In __aiff_open_read () prevented fseek()ing beyond end of file which
8815 was causing trouble on MacOS with the MetroWerks compiler. Thanks to
8816 Ben "Jacobs" for pointing this out.
8819 Fixed as above in __wav_open_read ().
8821 1999-07-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8823 * src/wav_ms_adpcm.c
8824 Implemented MS ADPCM encoding. Code cleanup of decoder.
8826 * tests/adpcm_test.c
8827 Added tests for MS ADPCM WAV files.
8829 * src/wav_ima_adpcm.c
8830 Fixed incorrect parameter in call to srate2blocksize () from
8831 __ima_writer_init ().
8833 1999-06-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8835 * tests/read_seek_test.c
8836 Added test for 8 bit AIFF files.
8838 1999-06-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8840 * tests/write_read_test.c
8841 Removed test for IMA ADPCM WAV files which is now done in adpcm_test.c
8844 Added -Wconversion to CFLAGS.
8846 * src/*.c tests/*.c examples/*.c
8847 Fixed all warnings resulting from use of -Wconversion.
8849 1999-06-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8852 Added fact chunk handling on read and write for all non WAVE_FORMAT_PCM
8856 Changed block alignment to be dependant on sample rate. This should make
8857 WAV files created with libsndfile compatible with the MS Windows media
8860 * tests/adpcm_test.c
8861 Reimplemented adpcm_test_short and implemented adpcm_test_int and
8863 Now have full testing of IMA ADPCM WAV file read, write and seek.
8865 1999-06-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8868 Fixed function prototype for x86f2d_array () which was causing ocassional
8869 seg. faults on Sparc Solaris machines.
8871 1999-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8874 Fixed bug in __aiff_close where the length fields in the header were
8875 not being correctly calculated before writing.
8877 * tests/write_read_test.c
8878 Modified to detect the above bug in WAV, AIFF and AU files.
8880 1999-06-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8883 Added a contribution from Albert Faber to allow libsndfile to compile
8884 under Win32 systems. libsndfile will now be used as part of LAME the
8885 the MPEG 1 Layer 3 encoder (http://internet.roadrunner.com/~mt/mp3/).
8887 1999-06-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8890 Changed to reflect previous changes.
8892 * src/wav_ima_adpcm.c
8893 Fixed incorrect calculation of bytespersec header field (IMA ADPCM only).
8895 Fixed bug when writing from int or double data to IMA ADPCM file. Will need
8896 to write test code for this.
8898 Fixed bug in __ima_write () whereby the length of the current block was
8899 calculated incorrectly. Thanks to Jongcheon Park for pointing this out.
8901 1999-03-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8904 Changed all read/write/lseek function calls to fread/fwrite/
8905 fseek/ftell and added error checking of return values from
8906 fread and fwrite in critical areas of the code.
8909 Fixed incorrect datasize element in AU header on write.
8911 * tests/error_test.c
8912 Add new test to check all error values have an associated error
8913 string. This will avoid embarrassing real world core dumps.
8915 1999-03-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8917 * src/wav.c src/aiff.c
8918 Added handling for unknown chunk markers in the file.
8920 1999-03-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8923 Filled in missing error strings in SndfileErrors array. Missing entries
8924 can cause core dumps when calling sf_error-str (). Thanks to Sam
8925 <mrsam at-sign geocities.com> for finding this problem.
8927 1999-03-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8929 * src/wav_ima_adpcm.c
8930 Work on wav_ms_adpcm.c uncovered a bug in __ima_read () when reading
8931 stereo files. Caused by not adjusting offset into buffer of decoded
8932 samples for 2 channels. A similar bug existed in __ima_write ().
8933 Need a test for stereo ADPCM files.
8935 * src/wav_ms_adpcm.c
8936 Decoder working correctly.
8938 1999-03-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8940 * configure.in Makefile.am
8941 Added --enable-justsrc configuration variable sent by Sam
8942 <mrsam at-sign geocities.com>.
8944 * src/wav_ima_adpcm.c
8945 Fixed bug when reading beyond end of data section due to not
8946 checking pima->blockcount.
8947 This uncovered __ima_seek () bug due to pima->blockcount being set
8948 before calling __ima_init_block ().
8950 1999-03-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8953 Started implementing MS ADPCM decoder.
8954 If file is WAVE_FORMAT_ADPCM and length of data chunk is odd, this
8955 encoder seems to add an extra byte. Why not just give an even data
8958 1999-03-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8961 Split code out of wav.c to create wav_float.c and wav_ima_adpcm.c.
8962 This will make it easier to add and debug other kinds of WAV files
8965 1999-03-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8968 Added adpcm_test.c which implements test functions for
8969 IMA ADPCM reading/writing/seeking etc.
8972 Fixed many bugs in IMA ADPCM encoder and decoder.
8974 1999-03-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8977 Finished implementing IMA ADPCM encoder and decoder (what a bitch!).
8979 1999-03-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8982 Started implementing IMA ADPCM decoder.
8984 1999-03-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8987 Fixed bug where the sf_read_XXX functions were returning a
8988 incorrect read count when reading past end of file.
8989 Fixed bug in sf_seek () when seeking backwards from end of file.
8991 * tests/read_seek_test.c
8992 Added multiple read test to short_test(), int_test () and
8994 Added extra chunk to all test WAV files to test that reading
8995 stops at end of 'data' chunk.
8997 1999-02-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8999 * tests/write_read_test.c
9000 Added tests for little DEC endian AU files.
9003 Add handling for DEC format little endian AU files.
9005 1999-02-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9007 * src/aiff.c src/au.c src/wav.c
9008 Add __psf_sprintf calls during header parsing.
9010 * src/sndfile.c src/common.c
9011 Implement sf_header_info (sndfile.c) function and __psf_sprintf (common.c).
9013 * tests/write_read_test.c
9014 Added tests for 8 bit PCM files (WAV, AIFF and AU).
9016 * src/au.c src/aiff.c
9017 Add handling of 8 bit PCM data format.
9020 On write, set blocksize in SSND chunk to zero like everybody else.
9022 1999-02-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9025 Fixed bug in let2s_array (cptr was not being initialised).
9028 Fixed bug in sf_read_raw and sf_write_raw. sf_seek should
9029 now work when using these functions.
9031 1999-02-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9033 * tests/write_read_test.c:
9034 Force test_buffer array to be double aligned. Sparc Solaris
9037 1999-02-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9040 Fixed a bug which was causing errors in the reading
9041 and writing of 24 bit PCM files.
9044 Finished of preliminary documentaion.
9046 1999-02-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
9049 Changed reading of 'COMM' chunk to avoid reading an int
9050 which overlaps an int (4 byte) boundary.