1 2009-12-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4 When decoding to short or int, clip the decoded signal to [-1.0, 1.0] if
5 its too hot. Thanks to Dmitry Baikov for suggesting this.
7 * NEWS README doc/*.html
10 2009-12-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
12 * programs/sndfile-jackplay.c man/sndfile-jackplay.1
13 Remove these which will now be in found in the sndfile-tools package.
15 * programs/Makefile.am man/Makefile.am
16 Remove build rules for sndfile-jackplay.
19 Remove detection of JACK Audio Connect Kit.
21 * programs/sndfile-concat.c man/sndfile-concat.1
22 Add new program with man page.
24 * man/Makefile.am programs/Makefile.am
25 Hook sndfile-concat into build system.
27 2009-12-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
30 Don't terminate when sf_close() returns zero in error_close_test().
31 It seems that Windows 7 behaves differently from earlier versions of
34 2009-12-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
36 * configure.ac M4/*.m4
37 Rename all custom macros from AC_* to MN_*.
39 * programs/sndfile-interleave.c
40 Make it actually work.
42 2009-12-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
44 * doc/*.html configure.ac
45 Corrections and clarifications courtesy of Robin Forder.
47 * programs/sndfile-convert.c programs/common.[ch]
48 Move some code from convert to common for reuse.
50 * programs/sndfile-interleave.c programs/sndfile-interleave.c
51 Add new programs sndfile-interleave and sndfile-deinterleave.
53 * programs/Makefile.am
54 Hook new programs into build.
56 2009-12-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
58 * src/create_symbols_file.py tests/stdio_test.c tests/win32_test.c
59 Minor OS/2 tweaks as suggested by David Yeo.
61 * tests/multi_file_test.c
62 Fix file creation flags on windows. Thanks to Bruce Sharpe.
65 Set all group and other file create permssions to zero.
70 2009-11-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
72 * doc/print.css doc/*.html
73 Add a print stylesheet and update all HTML documents to reference it.
74 Thanks to Aditya Bhargava for suggesting this.
79 2009-11-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
82 Add a Libs.private entry to assist with static linking.
84 2009-11-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
86 * src/make-static-lib-hidden-privates.sh src/Makefile.am
87 Add a script to hide all non-public symbols in the libsndfile.a static
90 2009-11-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
93 Correct usage of ENABLE_SNDFILE_WINDOWS_PROTOTYPES.
95 2009-11-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
98 Correct usage of ENABLE_SNDFILE_WINDOWS_PROTOTYPES.
100 2009-11-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
102 * programs/sndfile-convert.c
103 Allow the program to read from stdin by specifying '-' on the command line
107 Hash define ENABLE_SNDFILE_WINDOWS_PROTOTYPES to 1 for greater safety.
109 * tests/virtual_io_test.c
110 Add a PAF/PCM_24 test and verify the file length is not negative
111 immediately after openning the file for write.
113 2009-10-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
116 When writing loop lengths, adjust the end position by one to make up for
117 Microsoft's screwed up spec. Thanks to Olivier Tristan for the patch.
119 2009-10-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
122 Apply patch from Uli Franke allowing FLAC files to be encoded at any sample
125 2009-10-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
128 Fix parsing of odd ulaw encoded file provided by Jan Silovsky.
131 Insist on libvorbis >= 1.2.3. Earlier verions have bugs that cause the
132 libsndfile test suite to fail on MIPS, PowerPC and others.
133 See: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=549899
135 2009-10-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
137 * man/sndfile-convert.1
138 Fix warning from Debian's lintian checks.
140 * man/sndfile-cmp.1 man/sndfile-jackplay.1 man/sndfile-metadata-get.1
142 Add three new minimal manpages and hook into build.
144 2009-10-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
146 * tests/test_wrapper.sh.in
147 Don't run cpp_test on x86_64-w64-mingw32.
149 2009-09-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
152 On windows, make sure the open() function doesn't get called with a third
153 parameter of 0 which fails for no good reason. Also make sure this third
154 parameter doesn't get called with S_IRGRP when compiling for windows because
158 Add a SndfileHandle constructor for windows that takes a 'const wchar_t *'
162 Add Q/A : I'm cross compiling libsndfile for another platform. How can I
165 * src/create_symbols_file.py src/Makefile.am
166 Add Symbols.static target, a list of symbols, one per line.
168 2009-09-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
170 * tests/test_wrapper.sh.in
171 Update to allow all tests to be gathered up into a testsuite tarball and
172 then be run using this script.
174 * build-test-tarball.mk.in
175 Add a Make script to build a tarball of all the test binaries and the test
176 wrapper script. This is useful for cross compiling; you can build the
177 binaries, build test test tarball and transfer the test tarball to the
178 target machine for testing.
180 2009-09-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
182 * src/common.h src/*.c
183 Modify SF_FILE struct to allow it to carry either 8-bit or 16-bit strings
184 for the file path, directory and name. Fixes for this change throughout.
186 * src/windows.c src/Makefile.am
187 New file defining new windows only public function sf_wchar_open() which
188 takes a 'const wchar_t *' string (LPCWSTR) for the file name parameter.
191 Add SF_CHANNEL_MAP_ABISONIC_* entries.
192 Add windows only defintion for sf_wchar_open().
194 * src/create_symbols_file.py
195 Add sf_wchar_open() to the list of public symbols (windows only).
197 * tests/locale_test.c
198 Add a wchar_test() to test sf_wchar_open().
200 2009-09-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
202 * src/common.h src/*.c
203 Split file stuff into PSF_FILE struct within the SF_PRIVATE struct.
205 2009-09-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
207 * src/aiff.c src/voc.c
208 When a byte is needed, use unsigned char.
210 * src/ima_oki_adpcm.c src/broadcast.c src/test_ima_oki_adpcm.c
211 Include sfconfig.h to prevent compile errors with MinGW compilers.
214 Remove AM_CONFIG_HEADER due to warnings from autoconf 2.64.
216 * tests/locale_test.c
217 Update to work with xx_XX.UTF-8 style locales. Refactoring.
219 2009-09-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
222 Set __USE_MINGW_ANSI_STDIO to 1 when compiling using MinGW compilers.
223 Remove unneeded AC_SUBST.
224 Report Host CPU/OS/vendor.
226 2009-09-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
229 Fix error message string.
232 Add 88200 to the list of supported sample rates.
235 Fix compiler warning when using gcc-4.5.0.
237 * programs/sndfile-info.c tests/utils.tpl
238 Remove WIN32 snprintf #define.
241 Fix minor bug in aiff_ima_encode_block. Thanks to Denis Fileev for finding
244 2009-09-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
247 Use the correct C99 format specifier for int64_t.
250 Fix detection of CPU endian-ness when cross compiling. Thanks to Pierre
251 Ossman for the bug report.
253 * src/caf.c src/sndfile.c
254 Fix reading and writing of PEAK chunks in CAF files.
256 * tests/peak_chunk_test.c tests/test_wrapper.sh.in
257 Run peak_chunk_test on CAF files.
259 2009-09-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
261 * src/aiff.c src/wav.c
262 Use the correct C99 format specifier for int64_t.
264 2009-08-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
266 * src/rf64.c src/sndfile.c src/wav.c src/wav_w64.h
267 Apply a patch (massaged slightly) from Uli Franke adding handling of the
268 BEXT chunk in RF64 files.
270 * tests/command_test.c
271 Update channel_map_test() function so WAV test passes.
274 Add channel mapping and ambisonic support.
277 Add comments showing correspondance between libsndfile channel map
278 defintiions and those used by Apple and MS.
280 Add handling of reading/writing channel map info.
282 * tests/command_test.c tests/test_wrapper.sh.in
283 Update channel map tests.
285 2009-07-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
288 Add function psf_isprint() a replacement for the standard C isprint()
289 function which ignores any locale settings and treats all input as ASCII.
291 * src/(aiff|common|rf64|sd2|strings|svx|wav).c
292 Use psf_isprint() instead of isprint().
294 2009-07-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
297 Add string descriptions for SF_FORMAT_RF64 and SF_FORMAT_MPC2K.
299 2009-06-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
301 * programs/sndfile-play.c
302 Allow use of Open Sound System audio output under FreeBSD.
304 2009-06-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
307 Add patch from Conrad Parker to add --disable-jack.
309 2009-05-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
311 * src/alaw.c src/float32.c src/htk.c src/pcm.c src/sds.c src/ulaw.c
312 Fix bugs where invalid files can cause a divide by zero error (SIGFPE).
313 Thanks to Sami Liedes for reporting this a Debian bug #530831.
315 2009-05-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
318 New files for channel map decoding/encoding.
320 2009-05-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
322 * configure.ac src/sndfile.h.in
323 Fix MSVC definition of sf_count_t.
325 2009-05-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
328 Add wavex_channelmask to WAV_PRIVATE struct and add a function to convert
329 an array of SF_CHANNEL_MASK_* values into a bit mask for use in WAV files.
332 Add ability to write the channel mask.
334 2009-05-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
336 * programs/sndfile-info.c
337 Add -c command line option to dump the channel map information.
340 Don't bail from parser if channel map bitmask is faulty.
342 * src/common.h src/sndfile.c
343 Remove error code SFE_W64_BAD_CHANNEL_MAP which is not needed any more.
346 On SFC_SET_CHANNEL_MAP_INFO pass the channel map command down to container's
349 2009-05-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
351 * src/sndfile.h.in src/common.h src/sndfile.c src/wav_w64.c
352 Apply a patch from Lennart Poettering (PulseAudio) to allow reading of
353 channel data in WAV and W64 files.
354 Add a test for the above.
356 2009-05-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
359 Update the section about pre-compiled binaries for Win64.
361 2009-05-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
363 * src/common.h src/test_conversions.c
364 Be more careful when including <stdint.h> so compiling on pre-C99 platforms
365 (hello Slowlaris) might actually work.
367 * NEWS README doc/*.html
370 2009-04-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
373 Fix a bug whereby opening a specially crafted VOC file could result in a
374 heap overflow. Thanks to Tobias Klein (http://www.trapkit.de) for reporting
378 Fix potential (heap) buffer overflow when parsing 'MARK' chunk.
380 2009-04-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
383 Check psf->error after opening file.
386 Fix obscure seeking bug reported by Hugh Secker-Walker.
389 Add check of sf_error to test_open_file_or_die().
392 Clear error if opening resource fork fails.
394 2009-04-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
396 * tests/alaw_test.c tests/locale_test.c tests/ulaw_test.c
399 2009-03-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
404 2009-03-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
407 In host_read_f2s call convert instead of f2s_array.
412 * src/test_ima_oki_adpcm.c examples/generate.c tests/dither_test.c
413 tests/dwvw_test.c tests/fix_this.c tests/generate.c
414 tests/multi_file_test.c
417 2009-03-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
419 * M4/shave.m4 shave.in
420 Pulled update from upstream.
422 2009-03-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
425 Add pointers to example programs in source code tarball.
427 2009-03-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
430 Define SF_PLATFORM_S64 for non-gcc compilers with 'long long' type.
433 Add documentation for --disable-external-libs and improve error handling
436 * src/sndfile.c src/sndfile.h.in src/create_symbols_file.py
437 Add public function sf_version_string.
440 Test function sf_version_string.
442 * M4/shave.m4 shave-libtool.in shave.in
443 Add new files from 'git clone git://git.lespiau.name/shave'.
448 * src/Makefile.am src/binheader_writef_check.py Octave/*
449 Shave related tweaks.
451 2009-03-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
453 * src/common.h src/caf.c src/sndfile.c
454 Add SF_MAX_CHANNELS (set to 256) and use it.
457 Check for either _MSCVER or _MSC_VER being defined.
459 2009-03-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
461 * tests/vorbis_test.c
462 Relax test slighly to allow test to pass on more CPUs etc.
464 2009-03-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
467 Detect vorbis_version_string() correctly.
469 2009-03-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
472 Add a 'See Also' section with a link to sndfile-tools.
474 * NEWS README doc/*.html
475 Updates for 1.0.19 release.
478 Fix --enable-external-libs logic.
480 2009-03-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
483 Fix resource leak and potential read beyond end of buffer.
486 Fix reading of header value sample_n_bytes.
488 * src/sd2.c src/wav.c
489 Fix potential read beyond end of buffer.
491 * src/sndfile.c src/svx.c
492 Check return values of file_io functions.
498 Detect the presence/absence of vorbis_version_string() in libvorbis.
501 Only call vorbis_version_string() from libvorbis if present.
503 2009-02-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
506 Don't use sprintf, even on windows.
508 * src/aiff.c src/rf64.c src/wav.c
509 Eliminate dead code, more validation of data read from file.
511 2009-02-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
514 Clamp values to a valid range before indexing ima_step_size array.
516 * src/GSM610/*.c tests/*c programs/*.c src/audio_detect.c
517 Don't include un-needed headers.
519 * programs/sndfile-info.c
522 * tests/test_wrapper.sh.in
523 Add 'set -e' so the script exits on error.
525 * src/test_ima_oki_adpcm.c
526 Fix read beyond end of array.
529 Add missing close on file descriptor.
531 * src/nist.c programs/sndfile-metadata-set.c
532 Fix 'unused variable' warnings.
535 Fix potential memory leak in handling of 'MARK' chunk.
536 Remove un-needed test (unsigned > 0).
539 Improve handling of heap allocated buffer.
542 Remove un-needed test (always true).
544 * src/wav.c src/rf64.c
545 Ifdef out dead code that will be resurected some time in the future.
547 * src/wav.c src/w64.c src/xi.c
548 Handle error return values from psf_ftell.
551 Fix handling and error checking of MSADPCM coefficient arrays.
557 Use snprintf instead of strncpy in test program.
559 2009-02-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
562 Validate data before using.
565 Validate channels per frame value before using, fixing a possible integer
566 overflow bug, leading to a possible heap overflow. Found by Alin Rad Pop of
567 Secunia Research (CVE-2009-0186).
569 2009-02-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
571 * Octave/octave_test.sh
572 Unset TERM environment variable and export LD_LIBRARY_PATH.
574 2009-02-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
577 In windows code, cast LPVOID to 'char*' in printf.
579 2009-02-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
582 Clear the TERM environment before evaluating anything in Octave. This works
583 around problems that might occur if a users TERM settings are incorrect.
584 Thanks to Rob Til Freedmen for helping to debug this.
587 Handle four zero bytes as a marker within a LIST or INFO chunk.
588 Thanks to Rogério Brito for supplying an example file.
590 2009-02-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
592 * src/common.h src/*.c
593 Use C99 snprintf everywhere.
595 2009-02-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
597 * tests/test_wrapper.sh.in
598 New file to act as the template for the test wrapper script.
601 Generate tests/test_wrapper.sh from the template.
604 Replace all tests with a single invocation of the test wrapper script.
606 2009-02-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
609 Record vorbis library version string.
612 Require libvorbis >= 1.2.2.
615 Fix bracketing of function for autoconf 2.63. Thanks to Richard Ash.
617 * M4/octave.m4 M4/mkoctfile_version.m4
618 Clean up AC_WITH_ARG usage using AC_HELP_STRING.
620 2009-02-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
623 Use $(top_buildir) instead of $(builddir) which may not be defined.
626 Improve logic and status reporting.
628 2009-02-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
630 * configure.ac AUTHORS NEWS README doc/*.html
631 Final tweaks for 1.0.18 release.
633 2009-02-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
635 * programs/sndfile-convert.c
636 Add 'htk' to the list of convert formats.
638 * programs/sndfile-info.c
639 Simplify get_signal_max using SFC_CALC_SIGNAL_MAX command.
640 Increase size of files for which signal max will be calculated.
642 2009-01-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
645 Fix links for SoX and WavPlay. Thanks to Daniel Griscom.
647 2009-01-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
649 * programs/sndfile-metadata-get.c
651 Clean up temp string array usage.
652 Error out if trying to update coding history in RDWR mode.
654 2009-01-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
657 Fix links to versions of the LGPL.
659 2008-12-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
661 * tests/string_test.c
662 Add test for RDWR mode where the file ends up shorter than when it was
666 Truncate the file on close for RDWR mode where the file ends up shorter
667 than when it was opened.
669 2008-11-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
672 Fix problem with quoting of '#include'.
674 * M4/add_cxxflags.m4 configure.ac
675 Add new file M4/add_cxxflags.m4 and use it in configure.ac.
677 2008-11-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
679 * programs/sndfile-info.c
680 Apply patch from Conrad Parker to calculate and display total duration when
681 more than one file is dumped.
683 2008-11-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
685 * configure.ac src/Makefile.am
686 Tweaks to generation of Symbols files.
688 * tests/win32_ordinal_test.c
689 Update tests for above changes.
691 2008-11-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
694 When merging broadcast info, make sure to clear the destination field
695 before copying in the new data.
697 * programs/test-sndfile-metadata-set.py
698 Add test for the above.
701 Fix checking of required coding_history_size.
703 2008-10-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
705 * tests/command_test.c
706 Add test to detect if coding history is truncated.
709 Fix truncation of coding history.
711 2008-10-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
713 * tests/command_test.c
714 Add broadcast_coding_history_size test.
717 Use SF_BROADCAST_INFO_VAR to manipulate larger 'bext' chunks.
720 Add code to prevent infinite loop on malformed file.
722 * src/common.h src/sndfile.c src/w64.c src/wav_w64.c
723 Rationalize and improve error handling when parsing 'fmt ' chunk.
726 Simplify and remove cruft.
727 Check for correct Octave version.
730 Reduce 3 C++ files to one, fix build for octave 3.0, fix build.
732 * Octave/sndfile.cc Octave/PKG_ADD
733 Add Octave function sfversion which returns the libsndfile version that the
734 module is linked against.
737 Bunch of build and 'make distcheck' fixes.
739 2008-10-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
742 Return 1 if SFC_SET_BROADCAST_INFO fails.
744 * programs/test-sndfile-metadata-set.py
745 Update for new programs directory, exit on any error.
748 Fix failure behaviour in error_number_test.
750 * src/common.h src/sndfile.c
751 Add error number SFE_BAD_BROADCAST_INFO_SIZE.
754 Reimplement handling of broadcast extentioon chunk in WAV/WAVEX files.
757 Fix generation of added coding history.
759 2008-10-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
761 * programs/sndfile-metadata-get.c programs/sndfile-info.c
762 Exit with non-zero on errors.
764 2008-10-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
766 * examples/sndfile-to-text.c examples/Makefile.am
767 Add a new example program and hook it into the build.
769 * examples/ programs/
770 Add a new directory programs and move sndfile-info, sndfile-play and other
771 real programs to the new directory, leaving example programs where they
774 2008-10-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
777 Automake 1.10 MinGW cross compiling fixes.
779 2008-10-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
781 * examples/sndfile-play.c
782 Remove call to deprecated function snd_pcm_sw_params_get_xfer_align.
783 Fix gcc-4.3 compiler warnings.
785 * tests/command_test.c
786 Fix a valgrind warning.
788 * tests/error_test.c tests/multi_file_test.c tests/peak_chunk_test.c
789 tests/pipe_test.tpl tests/stdio_test.c tests/win32_test.c
790 Fix gcc-4.3 compiler warnings.
792 2008-10-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
795 Fix termination of desitination string in strncpy_crlf.
796 When copying BROADCAST_INFO chunk, make sure destination gets correct line
800 Fix copying of BROADCAST_INFO coding_history field.
802 2008-10-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
804 * tests/command_test.c
805 Add test function instrument_rw_test, but don't hook it into the testing
808 * src/common.h src/command.c src/sndfile.c src/flac.c
809 Error code rationalization.
811 * src/common.h src/sndfile.c
812 Set psf->error to SFE_CMD_HAS_DATA when adding metadata via sf_command()
813 fails due to psf->have_written being true.
816 Document the SFC_GET/SET_BROADCAST_INFO comamnds.
818 2008-10-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
820 * tests/command_test.c
821 Improve error reporting when '\0' is found in coding history.
824 2008-10-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
827 Convert all coding history line endings to \r\n.
829 * tests/command_test.c
830 Add test to make sure all line endings are converted to \r\n.
832 2008-10-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
835 Changed the order of coding history fields.
837 * tests/command_test.c
838 Update bextch test to cope with previous change.
841 Add extra length check when copying broadcast info data.
843 2008-10-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
845 * tests/utils.tpl tests/pcm_test.tpl
846 Update check_file_hash_or_die to use 64 bit hash.
848 * tests/checksum_test.c tests/Makefile.am
849 Add new checksum_test specifically for lossy compression of headerless
852 2008-10-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
855 Seek to psf->dataoffset before decoding first block.
858 Fix detection of mpc2k files on big endian systems.
860 2008-10-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
863 Use '\r\n' newlines in Coding History as required by spec.
865 2008-10-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
867 * src/test_conversions.c
868 Use int64_t instead of 'long long'.
870 2008-10-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
872 * examples/sndfile-metadata-set.c
873 Remove --bext-coding-history-append command line option because it didn't
876 * examples/sndfile-metadata-(get|set).c
879 * examples/test-sndfile-metadata-set.py
880 Start work on test coding history.
882 2008-09-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
884 * README doc/win32.html
885 Bring these up to date.
888 Fix parsing of REX files.
890 2008-09-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
893 Use intptr_t instead of long for return value of _get_osfhandle.
895 * src/test_conversions.c src/test_endswap.tpl
896 Fix printing of int64_t values.
898 * examples/sndfile-play.c
901 * tests/win32_ordinal_test.c
902 Fix calling of GetProcAddress with ordinal under win64.
907 2008-09-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
910 Rename copy_data.[ch] to common.[ch]. Fix build.
911 Move code from sndfile-metadata-set.c to common.c.
913 * examples/Makefile.am tests/Makefile.am regtest/Makefile.am
916 2008-09-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
918 * doc/tutorial.html doc/Makefile.am
919 Add file doc/tutorial.html and hook into build/dist system.
921 2008-09-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
923 * examples/sndfile-metadata-set.c
924 Clean up handling of bext command line params.
926 2008-09-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
929 Add handling/skipping of a couple of new chunk types.
931 2008-09-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
934 Add -funsigned-char to CFLAGS if the compiler supports it.
936 * examples/sndfile-metadata-(get|set).c
937 Add handling for more metadata types.
939 2008-09-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
942 Add macros SF_CONTAINER, SF_CODEC and SF_ENDIAN useful for splitting format
943 field of SF_INFO into component parts.
946 Use new macros everywhere it is appropriate.
948 2008-09-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
950 * examples/sndfile-bwf-set.c
953 2008-08-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
955 * examples/sndfile-bwf-set.c
956 Add --info-auto-create-date command line option.
958 * examples/sndfile-metadata-set.c examples/sndfile-metadata-get.c
959 examples/Makefile.am examples/test-sndfile-bwf-set.py
960 Rename sndfile-bwf-(set|get).c to sndfile-metadata-(set|get).c.
961 Change command line args.
963 2008-08-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
966 Allow 'PAD ' chunk to be modified in RDWR mode.
968 * src/sndfile.h.in src/sndfile.c
969 Add handling (incomplete) for SFC_SET_ADD_HEADER_PAD_CHUNK.
971 * tests/Makefile.am tests/write_read_test.tpl tests/header_test.tpl
976 Fixes to make sure all tests pass.
978 * tests/Makefile.am tests/string_test.c
979 Add string tests (not yet passing).
981 2008-08-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
984 First pass at writing RF64 now working.
986 2008-08-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
988 * examples/sndfile-convert.c
989 Add SF_FORMAT_RF64 to format_map.
991 * src/common.h src/sndfile.c
992 More RF64 support code.
994 * examples/sndfile-bwf-set.c
995 Fix the month number in autogenerated date string and use hypen in date
998 * examples/test-sndfile-bwf-set.py
1001 * examples/sndfile-info.c
1002 When called with -i or -b option, operate on all files on command line, not
1005 2008-08-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1008 New file to handle RF64 (WAV like format supportting > 4Gig files).
1010 * src/sndfile.h.in src/common.h src/sndfile.c src/Makefile.am
1011 Hook the above into build so hacking can begin.
1014 Improve log message when pcm_init fails.
1016 * src/sndfile-info.c
1017 Only calculate and print 'Signal Max' if file is less than 10 megabytes in
1020 2008-08-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1022 * tests/string_test.c
1023 Polish string_multi_set_test.
1026 In RDWR mode, pad the header if necessary (ie LIST chunk has moved or
1027 length has changed).
1028 Minor fixes in wav_write_strings.
1029 Write PAD chunk with default endian-ness, not a specific endian-ness.
1031 * examples/test-sndfile-bwf-set.py
1032 Add Python script to test sndfile-bwf-set/get.
1034 * examples/sndfile-bwf-set.c
1038 Merge function wavex_write_header into wav_write_header, deleting about 70
1042 Double value of SF_MAX_STRINGS.
1044 * tests/string_test.c
1045 Add string tests for WAVEX and RIFX files.
1047 * tests/command_test.c
1048 Add broadcast test for WAVEX files.
1050 2008-08-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1052 * tests/string_test.c
1053 Add a new string_rdwr_test (currently failing for WAV).
1054 Add a new string_multi_set_test (currently failing).
1056 * tests/command_test.c
1057 Add new broadcast_rdwr_test (currently failing).
1060 Fix to WAV parser to allow 'bext' chunk to be updated in place.
1061 In wav_write_tailer, seek to psf->dataend if its greater than zero.
1064 Make sure psf->have_written gets set correctly in mode SFM_RDWR.
1067 Test for <sys/time.h> and gettimeofday.
1070 Use gettimeofday() to initialize psf_rand_int32.
1072 * src/common.h src/sndfile.c
1073 Add unique_id field to SF_PRIVATE struct.
1075 * src/common.h src/sndfile.c src/wav.c src/wav_w64.[ch]
1076 Move wavex_ambisonic field from SF_PRIVATE struct to WAV_PRIVATE struct.
1078 * src/common.h src/strings.c
1079 Add function psf_location_string_count.
1081 2008-08-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1084 Test for localtime and localtime_r.
1086 * examples/sndfile-convert.c
1087 In function copy_metadata(), copy broadcast info if present.
1089 * examples/copy_data.[ch] examples/Makefile.am
1090 Break some functionality out of sndfile-convert.c so it can be used in
1091 examples/sndfile-bwf-set.c.
1094 Add new function create_short_sndfile().
1096 * examples/sndfile-bwf-set.c examples/sndfile-bwf-get.c
1097 examples/Makefile.am
1098 Add new files and hook into build.
1100 2008-08-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1103 Fix comments. Patch from Mark Glines.
1105 2008-07-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1108 Use zero_data_test on Ogg/Vorbis files.
1111 Fix segfault when closing an Ogg/Vorbis file that has been opened for write
1112 but had no actual data written to it. Bug reported by Chinoy Gupta.
1115 Make sure to run mist_test on Ogg/Vorbis files.
1117 2008-07-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1119 * regtest/Makefile.am
1120 Use SQLITE3_CFLAGS to locate sqlite headers.
1122 2008-07-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1124 * doc/index.html doc/FAQ.html
1125 Add notes about which versions of windows libsndfile works on.
1127 2008-07-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1130 Add a test for correct handling of Ambisonic files. Thanks to Fons
1131 Adriaensen for the test.
1133 * src/wav.c src/wav_w64.c
1134 Fix handling of Ambisonic files. Thanks to Fons Adriaensen for the patch.
1136 2008-06-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1139 Fix detection/enabling of external libs.
1141 * M4/extra_pkg.m4 M4/Makefile.am
1142 Add m4 macro PKG_CHECK_MOD_VERSION which is a hacked version
1143 PKG_CHECK_MODULES. The new macro prints the version number of the package
1144 it is searching for.
1146 2008-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1149 Apply a fix from Axel Roebel where if the second loop in the instrument
1150 chunk is none, the loop mode is written into the first loop.
1152 2008-05-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1154 * src/test_float.c src/test_main.(c|h) src/Makefile.am
1155 Add new file to test functions float32_(le|be)_(read|write) and
1156 double64_(le|be)_(read|write). Hook into build and testsuite.
1158 * src/double64.c src/float32.c
1159 Fix bugs in functions found by test added above. Thanks to Nicolas Castagne
1160 for reporting this bug.
1163 Change time_reference_(low|high) entries of SF_BROADCAST_INFO struct to
1166 * examples/sndfile-info.c
1167 Print out the BEXT time reference in a sensible format.
1169 2008-05-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1175 Add call to ogg_stream_clear to fix valgrind warning.
1178 Fix x86_64 compile issue.
1180 * configure.ac src/Makefile.am src/flac.c src/ogg.c
1181 Link to external versions of FLAC, Ogg and Vorbis.
1183 * tests/lossy_comp_test.c tests/ogg_test.c tests/string_test.c
1184 tests/vorbis_test.c tests/write_read_test.tpl
1185 Fix tests when configured with --disable-external-libs.
1187 * tests/external_libs_test.c tests/Makefile.am
1188 Add new test and hook into build and test suite.
1191 Use HAVE_EXTERNAL_LIBS to ensure that the SFC_GET_FORMAT_* commands return
1192 the right data when external libs are disabled.
1194 2008-05-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1196 * tests/write_read_test.tpl
1197 Add a test for extending a file during write by seeking past the current
1201 Allow seeking past end of file during write.
1203 2008-05-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1205 * doc/api.html doc/command.html
1206 Move all information about the sf_command function to command.html and add
1207 a link from documentation of the sf_read/write_raw function to the
1208 SFC_RAW_NEEDS_ENDSWAP command.
1210 * doc/index.html doc/FAQ.html doc/libsndfile.css
1211 Minor documentation tweaks.
1213 2008-05-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1218 2008-04-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1220 * tests/error_test.c
1221 Add a test to make sure if file opened with sf_open_fd, and then the file
1222 descriptor is closed, then sf_close will return an error code. Thanks to
1223 Dave Flogeras for the bug report.
1226 Make sf_close return an error is the file descriptor is already closed.
1228 2008-04-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1231 Set object format to aout for OS/2. Thanks to David Yeo.
1233 * src/mpc2k.c src/sndfile.c src/sndfile.h.in src/common.h src/Makefile.am
1234 Add ability to read MPC 2000 file.
1236 * tests/write_read_test.tpl tests/misc_test.c tests/header_test.tpl
1238 Add tests for MPC 2000 file format.
1240 * examples/sndfile-convert.c
1241 Allow conversion to MPC 2000 file format.
1243 2008-04-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1245 * src/VORBIS/lib/codebook.c
1246 Sync from upstream SVN.
1248 * autogen.sh configure.ac
1251 2008-04-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1254 Add a patch that fixes finding the length in samples of an Ogg/Vorbis file.
1255 The patch as supplied segfaulted and required many hours of debugging.
1258 Sync from upstream SVN.
1260 2008-04-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1263 Fix up handling of 'APPL' chunk. Thanks to Axel Roebel for bringing up
1266 2008-04-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1269 Add calls to sf_close() where needed.
1271 * tests/utils.tpl tests/multi_file_test.c
1272 Always pass 0 as the third argument to open when OS_IS_WIN32.
1274 2008-04-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1277 Add files test_main.[ch].
1278 Collapse all tests into a single executable.
1280 2008-03-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1283 Sync to upstream CVS.
1285 2008-03-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1288 Make SF_MIN and SF_MAX macros MinGW friendly.
1290 * examples/sndfile-(info|play).c
1291 Use Sleep function from <windows.h> instead of _sleep.
1293 * tests/locale_test.c
1294 Disable some tests when OS_IS_WIN32.
1296 * src/FLAC/src/share/replaygain_anal/replaygain_analysis.c
1297 src/FLAC/src/share/utf8/utf8.c
1300 2008-03-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1303 Tweaks to pcm16 <-> float conversion answer.
1305 2008-02-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1308 Sync to SVN upstream.
1311 Add 'DISTCHECK_CONFIGURE_FLAGS = --enable-gcc-werror'.
1313 2008-02-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1315 * examples/sndfile-jackplay.c
1316 Minor tweaks to warning message printed when compiled without libjack.
1318 2008-01-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1320 * tests/peak_chunk_test.c
1321 Improve read_write_peak_test to find more errors. Inspired by example
1322 provided by Nicolas Castagne.
1325 Another SFM_RDWR fix shown up by above test.
1327 2008-01-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1330 Fix reading of COMM encoding string.
1332 * src/chunk.c src/common.h src/Makefile.am
1333 New file for storing and retrieving info about header chunks. Hook into
1337 Use new chunk logging to fix problem with AIFF in RDWR mode.
1339 2008-01-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1342 Add WVE to the list of major formats.
1344 * tests/aiff_rw_test.c
1345 Fix error reporting.
1347 2008-01-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1350 Add internal functions str_of_major_format, str_of_minor_format,
1351 str_of_open_mode and str_of_endianness.
1353 * tests/write_read_test.tpl
1354 Fix reporting of errors in new_rdwr_XXXX_test.
1356 2008-01-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1358 * examples/sndfile-play.c
1359 Apply patch from Yair K. to fix compiles with OSS v4.
1361 * src/common.h src/float32.c src/double64.c
1362 Rename psf->float_enswap to psf->data_endswap.
1364 * src/sndfile.h.in src/sndfile.c src/pcm.c
1365 Add command SFC_RAW_NEEDS_ENDSWAP.
1368 Add test for SFC_RAW_NEEDS_ENDSWAP.
1371 Document SFC_RAW_NEEDS_ENDSWAP.
1373 * tests/peak_chunk_test.c
1374 Add test function read_write_peak_test. Thanks to Nicolas Castagne for the
1377 2008-01-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1379 * examples/sndfile-cmp.c
1380 Add new example program contributed by Conrad Parker.
1382 * examples/Makefile.am
1385 * doc/development.html
1386 Change use or reconfigure.mk to autogen.sh.
1388 2008-01-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1390 * tests/win32_test.c
1391 Add another win32 test.
1394 Add function file_length_fd which wraps fstat.
1397 Run the multi_file_test on AU files.
1399 * tests/multi_file_test.c
1400 Use function file_length_fd() instead of file_length() to overcome stupid
1401 win32 bug. Fscking hell Microsoft sucks so much.
1403 2008-01-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1406 Fix a rsrc parsing bug. Example file supplied by Uli Franke.
1408 2007-12-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1411 Allow use of either LGPL v2.1 or LGPL v3.
1413 * tests/header_test.tpl
1414 Add header_shrink_test from Axel Roebel.
1417 Add fix from Axel Roebel for writing files with float data but no peak
1418 chunk (ie peak chunk gets removed after the file is opened).
1420 * src/aiff.c tests/header_test.tpl
1421 Apply similar fix to above for AIFF files.
1423 * src/wav.c tests/header_test.tpl
1424 Apply similar fix to above for WAVEX files.
1427 Add Ogg/Vorbis to 'get format' commands.
1429 2007-12-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1432 Fix seeking on multichannel Ogg Vorbis files. Reported by Bodo.
1433 Set the default encoding quality to 0.4 instead of 4.0 (Bodo again).
1436 Add stereo seek tests.
1438 2007-12-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1441 Add a test (currently failing) for stereo seeking on Ogg Vorbis files. Test
1442 case supplied by Bodo.
1444 * tests/utils.(def|tpl)
1445 Add compare_XXX_or_die functions.
1447 2007-12-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1450 Fix a bug where ignoring ssnd_fmt.offset and ssnd_fmt.blocksize caused
1451 misaligned reading of 24 bit data. Thanks to Uli Franke for reporting this.
1453 2007-12-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1455 * src/vox_adpcm.c src/ima_oki_adpcm.[ch] src/Makefile.am
1456 Merge in code from the vox-patch branch. Thanks to Robs for the patch
1457 which fixes a long standing bug in the VOX codec.
1459 2007-12-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1461 * examples/sndfile-convert.c
1462 Fix handling of -override-sample-rate=X option.
1464 2007-11-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1466 * src/ogg.c src/VORBIS
1467 Merge in Ogg Vorbis support from John ffitch of the Csound project.
1469 2007-11-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1472 Recognise files with 'vox6' extension as 6kHz OKI VOX ADPCM files. Also
1473 recognise 'vox8' as and 'vox' as 8kHz files.
1476 Detect libjack (JACK Audio Connect Kit).
1478 * examples/sndfile-jackplay.c examples/Makefile.am
1479 Add new example program to play sound files using the JACK audio server.
1480 Thanks to Jonatan Liljedahl for allowing this to be included.
1482 2007-11-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1485 Update support table with SD2 and FLAC.
1487 2007-11-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1490 Fix calculation of internal value psf->read_current when attempting to read
1491 past end of audio data.
1492 Remove redundant code.
1494 * tests/lossy_comp_test.c
1495 Add read_raw_test to check that raw reads do not go past the end of the
1497 Clean up error output messages.
1500 Add code to prevent sf_read_raw from reading past the end of the audio data.
1503 Add the wav_pcm lossy_comp_test.
1505 2007-11-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1507 * configure.ac src/Makefile.am src/create_symbols_file.py
1508 More OS/2 fixes from David Yeo.
1510 2007-11-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1512 * src/file_io.c tests/utils.tpl tests/benchmark.tpl
1513 Improve handling of requirements for O_BINARY as suggested by Ed Schouten.
1515 2007-11-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1518 Fix symbol class when SF_MIN is nested inside SF_MAX or vice versa.
1520 * src/create_symbols_file.py
1521 Add support for OS/2 contributed by David Yeo.
1523 2007-11-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1526 Add macro AC_GCC_VERSION to detect GCC_MAJOR_VERSION and GCC_MINOR_VERSION.
1529 Use AC_GCC_VERSION to work around gcc-4.2 inline warning stupidity.
1530 See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33995
1531 Use -fgnu-inline to prevent stupid warnings.
1533 2007-11-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1536 Increase the printing width for print_test_name().
1538 * tests/command_test.c tests/Makefile.am
1539 Add tests for correct updating of broadcast WAV coding history.
1541 * examples/sndfilehandle.cc examples/Makefile.am
1542 Add example program using the C++ SndfileHandle class.
1544 2007-10-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1546 * src/common.h src/sndfile.c
1547 Add error codes SFE_ZERO_MAJOR_FORMAT and SFE_ZERO_MINOR_FORMAT.
1549 2007-10-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1552 Identify sample-rate/sample-size/channels by resource id.
1554 2007-10-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1556 * src/broadcast.c src/common.h src/sndfile.c
1557 Improvements to handling of broadcast info in WAV files. Thanks to Frederic
1558 Cornu and other for their input.
1560 2007-10-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1562 * src/FLAC/include/share/alloc.h
1563 Mingw fix for SIZE_T_MAX from Uli Franke.
1565 2007-10-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1567 * tests/open_fail_test.c tests/error_test.c tests/Makefile.am
1568 Move tests from open_fail_test.c to error_test.c and remove the former.
1570 2007-10-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1572 * tests/scale_clip_test.(def|tpl)
1573 Add tests for SFC_SET_INT_FLOAT_WRITE command.
1576 Add docs for SFC_SET_INT_FLOAT_WRITE command.
1578 * examples/sndfile-play.c tests/dft_cmp.c
1579 Fix gcc-4.2 warning messages.
1581 2007-10-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1583 * src/sndfile.h.in src/sndfile.c
1584 Add command SFC_GET_CURRENT_SF_INFO.
1586 * src/sndfile.h.in src/sndfile.c src/create_symbols_file.py
1587 Remove function sf_get_info (only ever in pre-release code).
1589 * tests/command_test.c
1590 Add test for SFC_GET_CURRENT_SF_INFO.
1592 2007-10-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1595 Add parsing of 'exif' chunks. Originally coded by Trent Apted.
1598 Put config stuff in Cfg directory.
1599 Remove check for inttypes.h.
1601 2007-10-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1604 Fix writing of 'riff' chunk length and check for correct value in parser.
1606 2007-09-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1609 Link to MP3 FAQ entry.
1611 2007-09-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1614 Move the blocksize check to an earlier stage of flac_buffer_copy.
1616 2007-09-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1619 Huge merge from FLAC upstream.
1621 2007-09-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1624 Change license to all example programs to BSD.
1626 2007-09-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1628 * src/FLAC/include/FLAC/metadata.h
1629 Include <sys/types.h> to prevent compile error on OSX.
1631 * Octave/octave_test.sh
1632 Disable test on OSX. Can't get it to work.
1635 Check the blocksize returned from the FLAC decoder to prevent buffer
1636 overruns. Reported by Jeremy Friesner. Thanks.
1638 2007-09-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1640 * Makefile.am M4/octave.m4
1641 Fix build when Octave headers are not present.
1643 2007-08-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1645 * doc/development.html
1646 Add note about bzr repository directory looking empty.
1648 2007-08-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1650 * configure.ac Octave/* M4/octave_*
1651 Bunch of changes to add ability to build GNU Octave modules to read/write
1652 sound files using libsndfile from Octave.
1654 2007-08-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1656 * acinclude.m4 configure.ac ...
1657 Get rid of acinclude.m4 and replace it with an M4 directory.
1659 2007-08-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1662 Remove crufty Metrowerks compiler support. Allow header file to be compiled
1663 on windows with both GCC and microsoft compiler.
1665 2007-08-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1667 * tests/dft_cmp.[ch] tests/floating_point_test.tpl
1668 Clean up floating point tests.
1670 2007-08-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1673 Fix segfault when COMM chunk length is byte swapped.
1675 2007-08-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1677 * src/common.h src/mat4.c src/mat5.c src/sndfile.c
1678 Add a generic SFE_CHANNEL_COUNT_ZERO error, remove format specific errors.
1681 Fix crash on AU files with zero channel count. Reported by Ben Alison.
1683 2007-08-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1686 Fix bug in handling file supplied by Matt Olenik.
1688 2007-07-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1691 Merge from OGG upstream sources.
1693 2007-07-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1696 Merge from FLAC upstream sources.
1698 2007-07-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1701 Fix memory leak; set copy parameter to FALSE in call to
1702 FLAC__metadata_object_vorbiscomment_append_comment.
1705 Add function psf_rand_int32().
1707 2007-07-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1710 Merge from FLAC upstream sources.
1712 * src/strings.c tests/string_test.c tests/Makefile.am
1713 Make sure string tests for SF_STR_LICENSE actually works.
1715 2007-07-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1717 * tests/string_test.c
1718 Add ability to test strings stored in metadata secion of FLAC files.
1721 Fix logic for testing if audio data has been written and string is added.
1722 Make sure SF_STR_ALBUM actually works.
1725 Finalize reading/writing string metadata. Tests pass.
1727 * src/sndfile.h.in tests/string_test.c src/flac.c
1728 Add string type SF_STR_LICENSE, update test and use for FLAC files.
1731 Add definition for SFC_SET_SCALE_FLOAT_INT_WRITE command.
1733 * src/common.h src/double64.c src/float32.c src/sndfile.c
1734 Add support for SFC_SET_SCALE_FLOAT_INT_WRITE (still needs testing).
1736 2007-07-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1739 Apply patch from Ed Schouten to read artist and title metadata from FLAC
1741 Improve reporting of FLAC metadata.
1743 * src/sndfile.h.in tests/string_test.c src/flac.c
1744 Add string type SF_STR_ALBUM, update test and use for FLAC files.
1746 2007-06-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1749 Merge from upstream CVS.
1751 2007-06-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1754 Update from upstream CVS.
1756 2007-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1759 Add extra tests for when the SndfileHandle constructor fails.
1762 Make sure failure to open the file in the constructor does not allow later
1763 calls to other methods to fail.
1765 2007-06-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1768 Add function write_mono_file.
1770 * tests/generate.[ch] tests/Makefile.am
1771 Add files generate.[ch] and hook into build.
1773 * tests/write_read_test.tpl
1774 Add multi_seek_test.
1777 Fix buffer overflow bug. Test provided by Jeremy Friesner and fix provided
1780 2007-06-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1785 * configure.ac src/FLAC/src/libFLAC/ia32/Makefile.am src/Makefile.am
1786 Apply patch from Trent Apted make it compile on Intel MacOSX. Thanks Trent.
1788 2007-05-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1791 Fix writing of MSGUID subtypes. Thanks to Bruce Sharpe.
1793 2007-05-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1796 Fix array indexing bug raised by Bruce Sharpe.
1798 2007-05-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1800 * src/FLAC/src/share/getopt/getopt.c
1801 Fix Mac OSX / PowerPC compile warnings.
1804 Make sure WORDS_BIGENDIAN gets correctly defined for FLAC code.
1806 2007-05-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1809 Add Q/A about MP3 support.
1811 2007-05-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1813 * doc/new_file_type.HOWTO
1816 2007-05-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1819 Fix a couple bad parameters with psf_log_printf.
1822 Improve error reporting.
1824 * src/common.h src/common.c
1825 Constify psf_hexdump.
1827 2007-04-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1830 Ditch and re-import required FLAC code.
1833 Force FLAC__HAS_OGG variable to 1.
1835 * src/FLAC/src/libFLAC/stream_encoder.c
1836 Fix compiler warnings.
1838 2007-04-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1840 * configure.ac tests/win32_ordinal_test.c
1841 Detect if win32 DLL is beging generated and only run win32_ordinal_test if
1844 * src/G72x/Makefile.am src/Makefile.am
1845 Use $(EXEEXT) where possible.
1847 2007-04-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1849 * src/wve.c src/common.h src/sndfile.c
1850 Complete definition of SfE_WVE_NO_WVE error message.
1853 Fix error in files generated on big endian systems. Robustify parsing.
1855 2007-04-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1858 Fix clipping of double to short conversions on 64 bit systems.
1860 * src/flac.c regtest/database.c tests/cpp_test.cc
1861 Fix compile warnings for 64 bit systems.
1863 2007-04-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1865 * src/wav.c src/wav_w64.c
1866 Use audio detect function when 'fmt ' chunk data is suspicious.
1869 Add ugly hack to remove -Werror from some Makefiles.
1871 2007-04-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1873 * src/GSM610/long_term.c src/macbinary3.c tests/cpp_test.cc
1874 Add patch from André Pang to clean up compiles on OSX.
1876 * src/wve.c src/common.h src/sndfile.c src/sndfile.h.in
1877 examples/sndfile-convert.c
1878 Merge changes from Reuben Thomas to improve WVE support.
1880 * tests/lossy_comp_test.c tests/Makefile.am
1881 Add tests for WVE files.
1883 2007-04-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1886 Add a static SndfileHandle::formatCheck method as suggested by Jorge
1889 2007-04-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1892 Fixed a bug in sf_error() where the function itself was being compared
1893 against zero. Add a check for a NULL return from peak_info_calloc. Fix a
1894 possible NULL dereference.
1896 2007-04-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1899 Turn off seekable flag when writing, return SFE_BAD_RDWR_FORMAT when
1900 opening file for RDWR.
1903 Improve error message for SFE_BAD_RDWR_FORMAT.
1906 Fix array indexing issue. Thanks to Ben Allison (Nullsoft) for alerting me.
1908 2007-03-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1911 Add Q/A 19 on project files.
1913 2007-03-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1916 Guard agains MacOSX universal binary compiles.
1919 Add Q/A 18 and clean up Q3.
1921 2007-02-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1924 Add support for 'in24' files.
1926 2007-02-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1928 * src/wav.c src/wav_w64.c src/wav_w64.h
1929 Start work towards detecting ausio codec type from the actual audio data.
1931 * src/audio_detect.c src/test_audio_detect.c
1932 Add new file and its unit test.
1934 2007-02-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1936 * examples/cooledit-fixer.c examples/Makefile.am
1937 Remove old broken example program.
1939 2007-02-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1941 * src/sndfile.c src/sndfile.h.in src/create_symbols_file.py
1942 Add function sf_get_info.
1944 2007-01-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1946 * examples/sndfile-play.c
1947 For ALSA, use the 'default' device instead of 'plughw:0'.
1949 2007-01-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1952 Allow writing of WAV/WAVEX 'BEXT' chunks in SFM_RDWR mode.
1954 2007-01-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1956 * doc/development.html doc/embedded_files.html man/sndfile-play.1
1957 Minor documentation fixes. Thanks Reuben Thomas.
1959 2006-12-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1961 * examples/sndfile-convert.c
1962 Add -override-sample-rate command line option.
1964 2006-11-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1967 Force errno to zero at start of some tests.
1970 Minor clean up of error handling.
1973 Remove an assembler test which was failing on OSX.
1975 2006-11-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1978 Fix the definition of SF_PLATFORM_S64 for MinGW.
1980 * src/FLAC/Makefile.am src/FLAC/share/grabbag/Makefile.am
1981 Fix path problems for MinGW.
1983 2006-11-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1988 * src/Makefile.am src/flac.c
1989 Clean up include paths.
1991 * src/test_conversions.c
1992 New file to test psf_binheader_readf/writef functions.
1994 * src/Makefile.am src/test_file_io.c src/test_log_printf.c src/common.c
1995 Clean up unit testing.
1998 Fix a bug reading/writing 64 bit header fields. Thanks to Jonathan Woithe
2001 * src/test_conversions.c
2002 Complete unit test for above fix.
2004 2006-11-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2007 More refactoring to clean up psf_open_file() and vairous sf_open()
2010 2006-11-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2013 Apply a patch from Jonathan Woithe to allow opening of (malformed) WAV
2014 files of over 4 gigabytes.
2016 2006-11-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2019 Refactor function psf_open_file() to provide a single return point.
2022 Fix permission_test to ensure that read only file can be created.
2024 2006-11-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2027 Add SF_PLATFORM_S64 macro as a platform independant way of doing signed 64
2030 * src/aiff.c src/svx.c src/wav.c
2031 Add warning in log if files are larger than 4 gigabytes in size.
2033 2006-11-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2035 * src/FLAC src/OGG confgure.ac src/Makefile.am
2036 Pull in all required FLAC and OGG code so external libraries are not
2037 needed. This makes compiling on stupid fscking Windoze easier.
2039 2006-10-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2042 Add workaround for switched sample rate and sample size.
2045 Add workaround for excessively long coding history in the 'bext' chunk.
2047 2006-10-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2049 * src/sndfile.h.in src/sndfile.c src/wav.c doc/command.html
2050 Use SF_AMBISONIC_* instead of SF_TRUE/SF_FALSE.
2052 2006-10-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2054 * src/sndfile.h.in src/wav.c src/wav_w64.c src/common.h doc/command.html
2055 Apply a patch from Fons Adriaensen to allow writing on WAVEX Ambisonic
2056 files. Still needs a little tweaking before its ready for release.
2059 Use the UNUSED macro to prevent compiler warnings.
2061 2006-10-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2064 Fix a bug in parsing AIFF files with a slightly unusual 'basc' chunk. Thanks
2065 to David Viens for providing two example files.
2067 * src/common.(c|h) src/aiff.c
2068 Add a function psf_sanitize_string and use it in aiff.c.
2070 2006-10-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2073 Apply a patch from Fons Adriaensen which fixes a minor WAVEX GUID issue.
2075 2006-10-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2078 Fix problem related to recent test coverage changes.
2080 2006-10-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2082 * configure.ac tests/Makefile.am
2083 Add --enable-test-coverage configure option.
2085 2006-10-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2088 Add an std::string SndfileHandle constructor.
2090 * tests/scale_clip_test.tpl
2091 Fix the 'make distcheck' target.
2093 2006-10-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2095 * src/double64.c src/float32.c
2096 Add optional clipping on float file data to int read data conversions.
2098 * tests/tests/scale_clip_test.(def|tpl)
2099 Add test for above new code.
2101 2006-09-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2103 * tests/aiff_rw_test.c
2104 Add 'MARK' chunks to make sure they are parsed correctly.
2106 2006-09-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2109 Fix parsing of MARK chunks. Many thanks to Sciss for generating files to
2110 help debug the problem.
2112 2006-09-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2115 Make the SF_MIN and SF_MAX macros at least partially type safe.
2117 * tests/lossy_comp_test.c
2118 Fix overflow problems when ensuring that signalis not zero.
2120 2006-08-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2122 * configure.ac docs/*.html
2123 Changes for release 1.0.17.
2125 2006-08-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2128 Remove inline from functions called by pointer. Thanks to Sampo Savolainen
2129 for notifying me of this.
2131 2006-07-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2134 Add writeSync method.
2135 Add copy constructor and assignment operator (thanks Daniel Schmitt).
2136 Add methods readRaw and writeRaw.
2137 Make read/write/readf/writef simple overlaods instead of templates (thanks
2138 to Trent Apted for suggesting this).
2143 2006-07-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2146 Templatize the read/write/readf/writef methods as suggested by Lars Luthman.
2147 Prevent the potential leak of SNDFILE* pointers in the openRead/openWrite/
2148 openReadWrite methods.
2149 Add const to SF_INFO pointer in Sndfile constructor.
2150 Make the destrictor call the close() method.
2155 2006-07-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2158 Remove the generated file so "make distcheck" passes.
2161 Add sndfile.hh to distributed header files.
2164 Change the license for the C++ wrapper to modified BSD.
2166 2006-07-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2174 2006-07-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2177 Add extern C to generated header file.
2180 Work towards completing this.
2182 * tests/cpp_test.cc tests/Makefile.am
2183 Add a C++ test and hook into build.
2186 Add appropriate CXXFLAGS.
2188 2006-07-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2191 Test if compiler supports -Wpointer-arith.
2194 Fix a warning resulting from -Wpointer-arith.
2196 2006-07-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2198 * examples/sndfile-play.c
2199 Explicitly set endian-ness as well as setting 16 bit output.
2201 * examples/sndfile-info.c
2202 Make sure to parse info if file fails to open.
2205 Handle parse error a little better.
2208 Minor clean up, add detection of IPP ITU G723.1.
2210 2006-06-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2213 Make sure psf->dataoffset gets reset to zero when openning headersless
2214 files based on the file name extension.
2216 2006-06-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2218 * tests/(command|lossy_comp|pcm|scale_clip)_test.c tests/fix_this.c
2219 tests/write_read_test.(tpl|def)
2220 Fix gcc-4.1 compiler warnings about "dereferencing type-punned pointer will
2221 break strict-aliasing rules".
2223 * examples/cooledit-fixer.c
2224 More fixes like above.
2226 2006-06-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2229 Fix a windows bug where the syserr string of SF_PRIVATE was not being set
2233 Fixed a logic bug in sf_seek(). Thanks to Paul Davis for finding this.
2235 2006-06-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2238 Fixed detection of S_IRGRP.
2240 2006-05-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2243 Add conversion SF_INSTRUMENT data when present.
2245 2006-05-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2247 * doc/development.html
2248 Removed references to tla on windows.
2250 * src/common.h src/sndfile.c
2251 Add separate void pointers for file containter and file codec data to
2252 SF_PRIVATE struct. Still need to move all existing fdata pointers.
2254 * tests/write_read_test.tpl
2255 Change the order of some tests.
2258 When writing 'AIFC' files, make sure get an 'FVER' gets added.
2260 * src/common.h src/(dwvw|flac|g72x|gsm610|ima_adpcm|ms_adpcm|paf|sds).c
2261 src/(sndfile|voc|vox_adpcm|xi).c
2262 Remove fdata field from SF_PRIVATE struct and replace it with codec_data.
2264 2006-05-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2266 * Win32/testprog.c Win32/Makefile.am
2267 Add a minimal win32 test program.
2269 * Win32/README-precompiled-dll.txt Mingw-make-dist.sh
2270 Update readme and Mingw build script.
2272 2006-05-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2274 * configure.ac acinclude.m4
2275 Minor fixes for Solaris.
2277 2006-05-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2279 * src/test_endswap.(def|tpl)
2280 Fix printf formatting for int64_t on 64 bit machines.
2282 2006-05-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2284 * src/binhead_check.py
2285 New file to check for bad parameters passed to psf_binheader_writef().
2288 Hook into test suite.
2290 * src/voc.c src/caf.c src/wav.c src/mat5.c src/mat4.c
2291 Fix bugs found by new test program.
2294 Clean up double64_get_capability().
2296 2006-05-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2299 Fix a bug on x86_64 where an int was being passed via stdargs and being
2300 read using size_t which is 64 bits. Thenks to John ffitch for giving me a
2303 2006-05-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2305 * src/caf.c src/double64.c examples/sndfile-info.c tests/virtual_io_test.c
2307 Fix a couple of signed/unsigned problems.
2309 2006-05-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2311 * tests/command_test.c
2312 Add channel map tests.
2314 * src/common.h src/sndfile.c
2315 Add a pointer the the SF_PRIVATE struct and make sure it gets freed in
2318 2006-04-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2320 * configure.ac doc/(command|index|api).html NEWS README
2321 Updates for 1.0.16 release.
2324 Define enums for channel mapping.
2326 * examples/sndfile-info.c
2327 Clean up usage of SF_INFO struct.
2329 2006-04-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2332 Add function testing function exit_if_true().
2334 * tests/floating_point_test.tpl
2335 Fix a problem where the test program was not exiting when the test failed.
2337 2006-04-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2339 * src/sndfile.h.in src/sndfile.c src/common.h src/command.c
2340 Implement new commands SFC_GET_SIGNAL_MAX and SFC_GET_MAX_ALL_CHANNELS.
2343 Document new commands. Other minor updates.
2345 * tests/peak_chunk_test.c
2346 Update tests for new commands.
2348 2006-04-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2350 * tests/peak_chunk_test.c
2351 Add test for RIFX and WAVEX files.
2352 Try and confuse the PEAK chunk writing by enabling and disabling it.
2355 Fix a bug where enabling and disabling PEAK chunk was screwing up.
2357 2006-03-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2360 Add the block of 190 reserved bytes into this struct to allow for
2363 * src/wav.c src/sndfile.c src/broadcast.c
2364 Significant cleanup of broadcast wave stuff.
2366 * examples/sndfile-info.c
2369 * tests/command_test.c tests/Makefile.am
2370 Complete bext tests, hook test in test suite.
2372 2006-03-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2375 Make coding_history field of SF_BROADCAST_INFO struct a char array instead
2378 * src/sndfile.c src/common.h src/wav.c
2379 Clean up knock on effects of above chnage.
2381 * examples/sndfile-info.c
2382 Add -b command line option to usage message.
2383 Clean up output of broadcast wave info.
2386 Ignore and skip the 'levl' chunk.
2388 2006-03-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2391 Fix handling of --enable and --disable configure args. Thanks to Diego
2392 'Flameeyes' Pettenò who sent the patch.
2394 2006-03-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2397 Make it really clear that although the MSVC++ cannot compile libsndfile,
2398 the precompiled DLL can be used in C++ programs compiled with MSVC++.
2400 2006-03-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2403 Fix bug in writing of INST chunk in AIFF files.
2404 Fix potential bug in writing MARK chunks.
2407 Make sure the instrument chunk can only be written at the start of the file.
2409 * tests/command_test.c
2410 Add check of log buffer.
2413 Add usage of space character to psf_binheader_writef.
2415 2006-03-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2417 * src/Makefile.am tests/Makefile.am
2418 Remove --source-time argument from autogen command lines.
2421 New file for EBU Broadcast chunk in WAV files.
2423 * src/sndfile.c src/sndfile.h.in src/wav.c src/common.h
2424 Add patch from Paul Davis implementing read/write of the BEXT chunk.
2426 2006-03-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2428 * Win32/README-precompiled-dll.txt
2429 New file descibing how to use the precompiled DLL.
2432 Add Win32/README-precompiled-dll.txt to EXTRA_DIST files.
2435 Bump version to 1.0.15.
2437 2006-03-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2440 On read, only add the endian flag if the file is big endian.
2443 Fixed writing of APDCM coeffs in RIFX files.
2445 * tests/write_read_test.tpl tests/lossy_comp_test.c
2446 Add tests for RIFX files.
2448 2006-03-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2450 * Mingw-make-dist.sh
2451 Bunch of improvements.
2454 Update MinGW program versions.
2456 2006-03-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2458 * src/create_symbols_file.py
2459 Fix the library name in created win32 DEF file. Add correct DLL name for
2462 * Win32/Makefile.am tests/Makefile.am
2463 Remove redundant files, add win32_ordinal_test to test suite.
2465 * tests/win32_ordinal_test.c
2466 Update to do test in cygsndfile-1.dll as well.
2469 Fix typo, mention that -mno-cygwin with the Cygwin compiler does not work.
2471 * src/wav.c src/wav_w64.c src/sndfile.c src/sndfile.h.in
2472 Apply large patch from Jesse Chappell which adds support for RIFX files.
2474 2006-03-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2477 Add Mingw-make-dist.sh to the extra dist files.
2480 Fix setting SHLIB_VERSION_ARG for MinGW.
2482 * tests/win32_ordinal_test.c
2483 New test program to test that the win32 DLL ordinals agree with the DEF
2486 2006-03-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2489 Add a static inline function to convert an int to a size_t. This will be
2490 a compile to nothing on 32 bit CPUs and a sign extension on 64 bit CPUs.
2492 * src/aiff.c src/avr.c src/common.c src/xi.c src/gsm610.c
2493 Fix an ia64 problem where a varargs function was being passed an int in
2494 some places and a size_t in other places.
2497 Add a workaround for situations where OSX seems to add an extra 0x52 bytes
2498 to the start of the resource fork.
2500 2006-02-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2502 * Mingw-make-dist.sh
2503 Add a shell script to build the windows binary/source ZIP file.
2506 Add download link for windows binary/source ZIP file. Add links for GPG
2510 Remove info about building using microsoft compiler.
2513 Bump version to 1.0.14.
2515 2006-02-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2518 Improve logging of errors in resource fork parser.
2520 2006-01-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2522 * Win32/Makefile.msvc
2523 Replace au_g72x.* with g72x.*. Thanks to ussell Borogove.
2525 2006-01-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2528 Make sure return values are initialised header buffer is full.
2531 Add workarounds for messed up WAV files.
2533 2006-01-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2536 Undef HAVE_INTTYPES_H for win32.
2538 * tests/command_test.c
2539 Don't exit on error in instrument test for XI files.
2542 Bump version to 1.0.13.
2544 * doc/*.html NEWS README
2545 Update version numbers.
2547 2006-01-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2550 Start work on add read/write of instrument chunks.
2552 * src/command_test.c
2553 Add tests for XI instrument chunk.
2555 * tests/largefile_test.c tests/Makefile.am
2556 Add new test and hook it into the build system. This test will not be run
2557 automatically because it requires 3 Gig of disk space and takes 3 minutes
2560 2006-01-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2562 * examples/sndfile-play.c
2563 Fix calculation of samples remaining in win32 code. Thanks Axel Roebel.
2566 Make sure length of header buffer can hold header plus strings. Thanks Axel
2569 2006-01-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2571 * src/sndfile.h.in src/aiff.c src/wav.c
2572 Apply a patch from John ffitch (Csound project).
2573 Add detune field to SF_INSTRUMENT struct.
2574 Add reading/writing instrument chunks to WAV files.
2576 * tests/command_test.c
2577 Update SF_INSTRUMENT tests.
2580 Hook instrument tests into test suite.
2582 2006-01-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2585 Check for <inttypes.h> because some broken systems (like Solaris) don't have
2586 <stdint.h> which is the 1999 ISO C standard file containing int64_t.
2588 * src/sfendian.h src/common.h
2589 Use <inttypes.h> if <stdint.h> is not available.
2591 2005-12-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2593 * tests/peak_chunk_test.c
2594 Extend and clean up tests.
2597 Fix a bug that prevented the turning off of PEAK chunks.
2599 2005-12-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2601 * tests/error_test.c
2602 Make the test distclean correct.
2605 Fix an SD2 MacOSX bug (reported by vince schwarzinger).
2607 2005-12-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2609 * src/aiff.c tests/command_test.c
2610 Apply a big patch from John ffitch (Csound project) to add reading and
2611 writing of instrument chunks to AIFF files. Also update the test.
2613 2005-12-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2615 * tests/aiff_rw_test.c tests/virtual_io_test.c tests/utils.tpl
2616 Move test function dump_data_to_file() to utils.tpl.
2618 * tests/error_test.c tests/Makefile.am
2619 Updates, including a new test to test that sf_error() returns a valid error
2622 2005-12-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2624 * examples/list_formats.c
2625 Make sure the SF_INFO struct is memset to all zero before being used.
2626 Thanks to Stephen F. Booth.
2629 Make the return value of sf_error() match the API documentation.
2631 2005-11-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2633 * examples/sndfile-convert.c
2634 Allow conversion to raw gsm610.
2636 * src/common.h src/sndfile.c src/au.c
2637 Remove au_nh_open() and all references to it (wasn't working anyway).
2639 * tests/headerless_test.c
2640 Add new test for file extension based detection.
2643 Rejig file extension based file type detection.
2645 2005-11-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2648 Add "gsm" as a recognised file extension when no magic number can be found.
2650 * tests/lossy_comp_test.c tests/Makefile.am
2651 Test headerless GSM610.
2653 2005-11-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2656 Fix a minor typo and a minor error. Thanks Christoph Kobe and John Pavel.
2658 2005-10-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2661 Add more reporting of 'fmt ' chunk for G721 encoded files.
2664 Gernerate a more correct 20 byte 'fmt ' chunk rather than a 16 byte one.
2666 2005-10-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2668 * src/G72x/g72x.[ch]
2669 Minor cleanup of interface.
2671 2005-10-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2674 Removed the horribly broken and non-functional OGG implementation when
2675 --enable-experimental was enabled. When OGG does finally work it will be
2681 2005-10-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2683 * src/g72x.c src/G72x/*.(c|h) src/common.h src/sndfile.c src/wav.c src/au.c
2684 Add support for G721 encoded WAV files.
2687 Update support matrix.
2689 * tests/lossy_comp_test.c
2690 For file formats that support it, add string data after the audio data and
2691 make sure it isn't treated as audio data on read.
2694 Add code to ensure that the container close function (ie for WAV files) gets
2695 called after the codec's close function. This allows GSM610 encoded WAV files
2696 to have string data following the audio data.
2697 Add an AIFF specific check on psf->datalength.
2700 Simplify wav_close function.
2703 Make sure the tailer data gets written at an even file offset. Pad if
2707 Replace the close function pointer in SF_PRIVATE with separate functions
2708 codec_close and container_close. The former is always called first.
2711 Fix knock on effects of above.
2713 2005-10-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2715 * examples/sndfile-info.c
2716 Complete dumping SF_INSTRUMENT data.
2718 * src/dwvw.c src/ima_adpcm.c src/gsm610.c src/ms_adpcm.c
2719 Add extra checks in *_init function.
2721 * tests/lossy_comp_test.c
2722 Add a string comment to the end of the files to make sure that the decoder
2723 doesn't decode beyond the end of the audio data section.
2725 2005-10-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2727 * examples/sndfile-info.c
2729 Start work on dumping SF_INSTRUMENT data.
2731 2005-10-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2733 * src/sndfile.h.in src/common.h src/common.c
2734 Update definition of SF_INSTRUMENT struct and create a function to allocate
2735 and initialize the struct (input from David Viens).
2736 Clean up definition of SF_INSTRUMENT struct.
2738 * src/wav.c src/wav_w64.c
2739 Add support for Ambisoncs B WAVEX files (David Viens).
2741 * src/aiff.c src/wav.c src/wav_w64.c
2742 Start work on reading/writing the SF_INSTRUMENT data.
2745 Add code to get and set SF_INSTRUMENT data.
2747 * tests/command_test.* tests/Makefile.am
2748 Add test for set and getof SF_INSTRUMENT data.
2749 The file command_test.c is no longer autogen generated.
2751 2005-10-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2756 2005-10-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2758 * tests/lossy_comp_test.c
2761 2005-10-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2764 Ensure sfconfig.h is included before any other header file.
2767 Add comments documenting the three sections of the file.
2770 Make sure SF_FORMAT_WAVEX are handled correctly.
2772 2005-10-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2775 Add options to allow disabling of FLAC and ALSA. Suggested by Ben Greear.
2777 2005-09-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2779 * tests/locale_test.c
2780 Modify the way the unicode strings were encoded so that older compilers
2781 do not complain. Thanks Axel Roebel.
2784 Bump the version to 1.0.12 for release.
2786 * NEWS README Win32/config.h doc/(FAQ|index.html|command|api).html
2787 Update version numbers.
2789 2005-09-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2792 Fix valgrind error and minor cleanup.
2794 2005-09-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2796 * src/(au|paf|aiff|w64|wav|svx).c
2797 Make sure structs are initialised.
2799 2005-09-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2802 Make -Wdeclaration-after-statement work with --enable-gcc-werror configure
2804 Add -std=gnu99 (C99 plus posix style stuff like gmtime_r) to CFLAGS if the
2805 compiler supports it.
2807 2005-09-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2809 * configure.ac acinclude.m4
2810 Add -Wdeclaration-after-statement to CFLAGS if the compilers supports it.
2812 2005-09-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2814 * tests/util.(tpl|def)
2815 Make the test_write_*_or_die() functions const safe.
2817 2005-09-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2820 Make sure the data offset is read from the file header. Thanks to
2821 David A. van Leeuwen for a patch.
2823 2005-09-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2825 * configure.ac src/sfconfig.h
2826 Check for <locale.h> and the function setlocale().
2827 Set config variables to zero if not found.
2829 * tests/locale_test.c tests/Makefile.am
2830 Add new test program and hook into build/test system.
2832 2005-09-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2834 * src/common.h src/file_io.c
2835 On windows, use windows specific types for file handles.
2836 Add functions psf_init_files() and psf_use_rsrc().
2839 Make resource fork handling independant of file desciptor/handles.
2841 * src/sndfile.c src/test_file_io.c
2842 Fix knock on effects.
2844 2005-09-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2847 The lrint and lrintf implementations in Cygwin are both buggy and slow.
2848 Add replacements which were pulled from the Public Domain MinGW math.h
2851 2005-09-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2853 * tests/(lossy_comp_test|virtual_io_test).c
2854 More Valgrind fixups.
2857 Simplify and correct configuring for Cygwin.
2859 * Win32/config.h Win32/sndfile.h Win32/Makefile.msvc
2860 Update build for MSVC.
2862 2005-09-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2864 * tests/lossy_comp_test.c
2865 Make sure to close SNDFILE when exiting test when file format is not seekable.
2867 * tests/(aiff_rw_test|virtual_io_test).c
2868 Do a few valgrind fix ups.
2870 2005-09-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2872 * src/float32.c src/double64.c
2873 Replace floating point equality comparisons with greater/less comparisons.
2874 Found by John Pavel using the Intel compiler.
2877 New file to clean up issues surrounding autoconf generated preprocessor
2880 * src/*.(c|h) tests/*.(c|tpl) examples/*.c
2881 Fixed a bunch of other stuff found by John Pavel using the Intel compiler.
2884 Remove Mac OS9 Metrowerks compiler specific hacks.
2886 2005-08-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2889 Cast integer literal to sf_count_t in call to psf_binheader_writef() to
2890 prevent Valgrind error.
2892 2005-08-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2895 Improve documentation of SF_GET_FORMAT_SUBTYPE.
2897 2005-08-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2899 * examples/sndfile-convert.c
2900 Allow files to be converted to SD2 format.
2903 Fix a bug in reading and writing of SD2 files on little endian CPUs.
2904 Thanks to Matthew Willis for finding this.
2906 2005-08-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2909 Update Note2 to point to SFC_SET_SCALE_FLOAT_INT_READ.
2911 2005-08-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2914 Use $host_os instead of $target_os (thanks to Mo De Jong).
2916 2005-08-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2919 Apply a patch from Mo DeJong to allow building outside of the source dir.
2922 Fix psf_fsync() for win32.
2924 * src/wav.c src/wav_w64.(c|h)
2925 Move some code from wav.c to wav_w64.c to improve the log output of files of
2926 type WAVE_FORMAT_EXTENSIBLE.
2928 2005-08-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2930 * src/create_symbols_file.py
2931 Make sure sf_write_fsync is an exported symbol.
2933 * examples/sndfile-convert.c
2934 Add support for writing VOX adpcm files.
2936 2005-07-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2939 Document the new function sf_write_sync().
2942 Do you plan to support XYZ codec.
2944 2005-07-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2946 * src/sndfile.h.in src/sndfile.c
2947 Add function sf_write_sync() to the API.
2949 * src/common.h src/file_io.c
2950 Low level implementation (win32 not done yet).
2952 * tests/write_read_test.tpl
2953 Use the new function in the tests.
2955 2005-07-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2957 * src/common.h src/double64.c src/float32.c src/sndfile.c
2958 Change the way PEAK chunk info is stored. Peaks now stored as an sf_count_t
2959 for position and a double as the value.
2961 * src/aiff.c src/caf.c src/wav.c
2962 Fix knock on effects of above changes.
2965 Implement 'peak' chunk for file wuth data in SF_FORMAT_FLOAT or
2966 SF_FORMAT_DOUBLE format.
2968 2005-07-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2971 Fix a bug where a variable was being used without being initialized.
2974 Add extra debug in sf_flac_meta_callback.
2975 Make a bunch of private functions static.
2977 * src/aiff.c src/wav.c
2978 Fix allocation for PEAK_CHUNK (bug found using valgrind).
2980 2005-07-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2983 Move the peak_loc field of SF_PRIVATE to the PEAK_CHUNK struct.
2984 Remove had_peak field of SF_PRIVATE, use pchunk != NULL instead.
2985 Rename PEAK_CHUNK and PEAK_POS to PEAK_CHUNK_32 and PEAK_POS_32.
2987 * src/aiff.c src/caf.c src/wav.c src/float32.c src/double64.c
2988 Fix knock on effects from above.
2990 2005-07-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2993 Prevent files with unknown chunks from being opened read/write.
2995 2005-07-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
2998 Do not use psf->end_of_file because it never gets set to anything.
3001 Remove unused SF_PRIVATE field end_of_file.
3003 2005-07-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3006 Change the 'S' format specifier of psf_binheader_writef() to write AIFF
3007 style strings (no terminating character).
3010 Move to new (correct) AIFF string style. Thanks to Axel Roebel for being
3011 so persistent on this issue.
3013 2005-07-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3016 Allow SFE_UNSUPPORTED_FORMAT as an error from sf_open().
3018 * doc/api.html doc/command.html
3019 Documentation updates (thanks to Kyroz for promoting these updates).
3022 Modify the way the header is written.
3024 2005-07-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3027 Add a 'free' chunk to the written file so that the audio data starts at
3028 an offset of 0x1000.
3031 Allow SFE_UNSUPPORTED_FORMAT as an error from sf_open().
3033 2005-07-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3035 * src/caf.c src/sndfile.c
3036 Add support for signed 8 bit integers.
3038 * tests/write_read_test.tpl
3039 Add test for signed 8 bit integers in CAF files.
3042 Update matrix for signed 8 bit integers in CAF files.
3044 2005-07-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3047 Update sf_check_format() to support CAF.
3049 * examples/sndfile-convert.c
3050 Add support for ".caf" file extension.
3053 Add Apple CAF to the support matrix.
3056 Add file write support.
3059 Fix printing of Frames.
3061 * tests/Makefile.am tests/write_read_test.tpl tests/lossy_comp_test.c
3062 tests/header_test.tpl misc_test.c
3063 Add tests for CAF files.
3065 2005-07-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3068 Fix Q/A about reading/writing memory buffers.
3071 Bunch of work to support reading of CAF files.
3073 2005-07-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3075 * src/(aiff|ima_adpcm|mat4|mat5|ms_adpcm).c examples/sndfile-play.c
3076 Fix sign conversion errors reported by gcc-4.0.
3079 New file for Apple's Core Audio File format.
3081 * src/sndfile.c src/common.h src/sndfile.h.in src/Makefile.am
3082 Hook new file into build system.
3084 2005-06-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3087 Fix handling of stupidly large 'fmt ' chunks. Thanks to Vadim Berezniker
3088 for supplying an example file.
3090 * src/common.h src/sndfile.c
3091 Remove redundant error code SFE_WAV_FMT_TOO_BIG.
3093 2005-06-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3095 * src/sndfile.h.in src/common.h src/sndfile.c
3096 Add public error value SF_ERR_MALFORMED_FILE.
3099 When parsing a file header fails and we don't have a system error, then set
3100 the error number to SF_ERR_MALFORMED_FILE (suggested by Kyroz).
3103 Allow sqlite support to be disabled in configure script.
3105 * regtest/database.c regtest/sndfile-regtest.c
3106 Fix compiling when sqlite is missing.
3108 2005-06-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3111 Fix psf_is_pipe() and return value of psf_fread() when using virtual i/o.
3114 Fix VALIDATE_AND_ASSIGN_PSF macro for virtual i/o.
3116 * tests/virtual_io_test.c
3117 Fill in skeleton test program.
3120 Move virtual i/o tests to end of tests with stdio/pipe tests.
3122 * src/(sndfile.h.in|file_io.c|common.h|sndfile.c) tests/virtual_io_test.c
3123 Rename some of the virtual i/o functions and data types.
3125 2005-06-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3128 Fix the return values of sf_commands : SFC_SET_NORM_DOUBLE,
3129 SFC_SET_NORM_FLOAT, SFC_GET_LIB_VERSION and SFC_GET_LOG_INFO. Thanks to
3130 Kyroz for pointing out these errors.
3133 Correct documented return values for SFC_SET_NORM_DOUBLE and
3134 SFC_SET_NORM_FLOAT. Thanks to Kyroz again.
3136 2005-05-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3139 Add new files for sndfile-regtest program.
3141 * configure.ac Makefile.am
3142 Hook regetest into build.
3144 * src/wav.c src/common.c
3145 Fix a regression where long ICMT chunks were causing the WAV parser
3148 2005-05-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3150 * libsndfile.spec.in
3151 Add html docs to the files section as suggested by Karsten Jeppesen.
3154 Fix parsing of odd length ANNO chunks.
3156 2005-05-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3159 Change the include guard to prevent clashes with other code.
3161 2005-05-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3163 * examples/sndfile-play.c
3164 Improve error handling in code for playback under Linux/ALSA.
3166 2005-05-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3169 Fix writing of IRCAM files on big endian systems (thanks to Axel Roebel).
3172 Add workaround for files created by the Peak audio editor on Mac which can
3173 produce files with very short LIST chunks (thanks to Jonathan Segel who
3176 2005-04-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3179 Apply a patch From David Viens to make the parsing of basc chunks more
3183 Another patch from David Viens to write correct wavex channel masks for
3184 the most common channel configurations.
3186 2005-04-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3189 Only allow FLAC in the format arrays if FLAC is enabled. Thanks to
3192 2005-03-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3195 Add a directory field for storing the file directory to the SF_PRIVATE
3199 Grab the directory name when copying the file path.
3202 Cleanup psf_open_rsrc() and also check for resource fork in
3203 .AppleDouble/filename.
3205 2005-03-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3208 Fix a bug in the printing of the channel count. Bug reported by Michael
3211 2005-01-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3214 Fix a seek bug for 24 bit PAF files.
3216 * tests/write_read_test.tpl
3217 Update write_read_test to trigger the previously hidden PAF seek bug.
3219 2005-01-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3221 * src/aiff.c src/w64.c src/wav.c
3222 Do not return a header parse error when the log buffer overflows.
3223 Continuing parsing works even on files where the log buffer does overflow.
3224 This avoids a bug on some weirdo WAV (and other) files.
3226 * src/common.h src/sndfile.c
3227 Remove SFE_LOG_OVERRIN error and its associated error message.
3230 Fix a rsrc fork problem on MacOSX.
3232 2004-12-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3234 * src/sndfile-play.c
3235 In the ALSA output code, added call to snd_pcm_drain() just before
3236 snd_pcm_close() as suggested by Thomas Kaeding.
3237 In the OSS output code, added two ioctls (SNDCTL_DSP_POST and
3238 SNDCTL_DSP_SYNC) just before the close of the audio device.
3240 * tests/virtual_io_test.c tests/Makefile.am
3241 Add a new test program (currently empty) and add it to the build.
3243 2004-12-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3245 * src/sndfile.h.in src/sndfile.h src/common.h src/file_io.c
3246 src/create_symbols_file.py
3247 Apply patch from Steve Baker which is the beginnings of a virtual
3250 2004-12-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3252 * src/*.c src/sndfile.h.in
3253 Const-ify the write path throughout the library.
3255 2004-12-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3257 * doc/development.html
3260 2004-11-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3265 2004-11-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3268 Add workaround for Logic Platinum AIFF files with broken COMT chunks.
3270 2004-11-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3273 Remove some ambiguities in the SD2 FAQ answer.
3275 2004-11-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3277 * Win32/sndfile.h Win32/config.h MacOS9/sndfile.h MacOS9/config.h
3278 Updates from autoconfig versions.
3280 2004-11-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3283 Fix parsing of COMT chunks. Store SF_STR_COMMENT data in ANNO chunks
3284 instead of COMT chunk.
3286 2004-11-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3288 * src/file_io.c src/common.h
3289 Change the ptr argument to psf_write() from "void*" to a "const void*".
3290 Thanks to Tobias Gehrig for suggesting this.
3292 2004-10-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3294 * src/file_io.c src/common.h
3295 Add functions psf_close_rsrc() and read length of resourse fork into
3296 rsrclength field of SF_PRIVATE.
3299 Make sure resource fork gets closed.
3302 Add functions to check for file descriptor leakage.
3304 * src/write_read_test.tpl
3305 Use the file descriptor leak checks.
3308 Add SFC_GET_LOOP_INFO and SF_LOOP_INFO struct.
3311 Add SF_LOOP_INFO pointer to SF_PRIVATE.
3313 * src/wav.c src/aiff.c
3314 Improve and add parsing of 'ACID' and 'basc' chunks, filling in
3315 SF_LOOP_INFO data in SF_PRIVATE.
3317 2004-10-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3320 Further cleanup: remove printfs, change snprintf to LSF_SNPRINTF.
3322 * Win32/config.h Win32/sndfile.h
3326 Add win32 macro for snprintf.
3328 2004-10-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3331 Add macros : H2BE_SHORT, H2BE_INT, H2LE_SHORT and H2LE_INT.
3334 Use macros to make sure writing SD2 files on little endian machines works
3338 Add a delete_file() function which also deletes the resource fork of SD2
3341 * tests/write_read_test.tpl
3342 Use delete_file() so that "make distcheck" works.
3344 2004-10-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3346 * src/sndfile.c src/file_io.c
3347 Move resource filename construction and testing to psf_open_rsrc().
3349 * src/common.h src/sndfile.c
3350 Add error SFE_SD2_FD_DISALLOWED.
3352 * tests/util.tpl tests/*.(c|tpl)
3353 Add and allow_fd parameter to test_open_file_or_die() so that use of
3354 sf_open_fd() can be avoided when opening SD2 files.
3356 2004-10-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3359 Update ACID chunk parsing.
3362 More fixes for files with large resource forks.
3364 2004-10-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3366 * src/common.h src/sndfile.c
3367 Add error numbers and messages for sd2 files.
3370 Reading of sd2 (resource fork version) now seems to be working.
3372 2004-10-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3375 Update file_io.c to include win32 psf_rsrc_open().
3377 * tests/floating_point_test.tpl
3378 Remove use of __func__ in test programs (MSVC++ doesn't grok this).
3380 * Win32/(config|sndfile).h MacOS9/(config|sndfile).h
3383 2004-10-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3386 Fix endswap_int64_t_(array|copy).
3388 * src/test_endswap.(tpl|def)
3389 Add tests for above and inprove all tests.
3391 2004-10-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3394 Improve type safety, add endswap_double_array().
3397 Use endswap_double_array() instead of endswap_long_array().
3399 * src/test_endswap.(tpl|def) src/Makefile.am
3400 Add preliminary endswap tests and hook into build system.
3402 2004-10-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3404 * src/configure.ac src/makefile.am
3405 Finally fix the bulding of DLLs on Win32/MinGW.
3408 Fix running of tests on Win32/MinGW.
3410 2004-10-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3412 * src/sndfile.h.in src/sndfile.c tests/floating_point_test.tpl
3413 Rename SFC_SET_FLOAT_INT_MULTIPLIER to SFC_SET_SCALE_FLOAT_INT_READ.
3416 Document SFC_SET_SCALE_FLOAT_INT_READ.
3418 2004-09-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3420 * tests/floating_point_test.(tpl|def)
3421 Derived from floating_point_test.c.
3422 Add (float|double)_(short|int)_test functions.
3424 * tests/util.(tpl|def)
3425 Make separate float and double versions of gen_windowed_sine().
3427 * tests/write_read_test.tpl
3428 Fix after changes to gen_windowed_sine().
3430 * src/(float32|double64).c
3431 Implement SFC_SET_FLOAT_INT_MULTIPPLIER.
3433 2004-09-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3436 Fix warnings from automake 1.8 and later.
3438 * examples/sndfile-info.c
3439 Add a "fflush (stdout)" after printing Win32 message.
3441 2004-09-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3443 * Win32/Makefile.mingw.in
3444 Add a "make install" target.
3446 2004-09-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3448 * src/sndfile.h.in src/common.h src/sndfile.c src/command.c
3449 Start work on adding command SFC_SET_FLOAT_INT_MULTIPLIER.
3451 2004-09-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3453 * examples/sndfile-convert.c
3454 Fix a bug converting stereo integer PCM files to float.
3456 2004-09-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3458 * examples/sndfile-play.c
3459 Appy patch from Conrad Parker to make Mac OSX error messages more
3460 consistent and informative.
3463 Fix a HTML HREF which was wrong.
3466 Add information about when nmake fails.
3468 2004-09-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3470 * examples/sndfile-play.c
3471 Another patch from Denis Cote to prevent race conditions.
3473 2004-09-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3475 * src/common.h src/ms_adpcm.c src/ima_adpcm.c
3476 Fix alternative to ISO standard flexible struct array feature for broken
3479 2004-08-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3481 * src/common.h src/string.c src/sndfile.c
3482 Make sf_set_string() return an error if trying to set a string when in
3485 2004-08-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3488 Change the unnamed union into a named union so gcc-2.95 will compile it.
3491 Fixes to allow for the above change.
3493 2004-08-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3495 * examples/sndfile-play.c
3496 Fixes for Win32. Thanks to Denis Cote.
3498 * Win32/Win32/Makefile.(msvc|mingw.in)
3499 Fix build system after removal of sfendian.h.
3500 Build sndfile-convert.
3503 Remove sfendian.c from dependancies.
3505 2004-08-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3508 Fix typo in comments (thanks Tommi Sakari Uimonen).
3510 2004-07-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3512 * tests/(a|u)law_test.c
3515 2004-07-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3517 * src/(pcm|float|double64|ulaw|alaw|xi).c
3518 Optimise read/write loops by removing a redundant variable.
3520 2004-07-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3523 Remove call to fsync() in psf_close().
3525 2004-07-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3528 Inline x2y_array() functions where possible.
3531 Detect presence of type int64_t.
3533 * src/sfendian.c src/sfendian.h
3534 Move functions in the first file to the sfendian.h as static inline
3536 Improve endswap_long_*() where possible.
3538 2004-07-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3541 When converting from unsigned char to float or double, subtract 128 before
3542 converting to float/double rather than after to save a floating point
3543 operation as suggested by Stefan Briesenick.
3545 * src/(pcm|sfendian|alaw|ulaw|double64|float32).c
3546 Optimize inner loops by changing the loop counting slightly as suggested
3547 by Stefan Briesenick.
3550 Detect presence of <byteswap.h>.
3553 Use <byteswap.h> if present as suggested by Stefan Briesenick.
3558 2004-07-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3560 * src/common.h src/*.c
3561 Change the psf->buffer field of SF_PRIVATE into a more type safe union with
3562 double, float, int etc elements.
3564 2004-06-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3566 * examples/sndfile-play.c
3567 Merge slightly modifed patch from Stanko Juzbasic which allows playback of
3568 mono files on MacOSX.
3570 2004-06-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3572 * examples/sndfile-convert.c
3573 Move copy_metadata() after the second sf_open().
3575 2004-06-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3577 * examples/sndfile-convert.c
3578 Fix a bug which caused the program to go into an infinite loop if the source
3579 file has no meta-data. Thanks to Ron Parker for reporting this.
3582 Add SF_STR_FIRST and SF_STR_LAST to allow enumeration of string types.
3584 * Win32/sndfile.h MacOS9/sndfile.h
3585 Update these as per the above file.
3587 2004-06-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3589 * configure.ac src/common.h src/ogg.c src/sndfile.c src/sndfile.h.in
3591 Apply large patch from Conrad Parker implementing Ogg Vorbis, Ogg Speex and
3592 Annodex support via liboggz and libfishsound. Thanks Conrad.
3594 2004-06-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3596 * src/avr.c src/ircam.c src/nist.c src/paf.c src/xi.c
3597 Add cast to size_t for some parameters passed to psf_binheader_writef. This
3598 is Debian bug number 253490. Thanks to Anand Kumria and Andreas Jochens.
3601 Found and fixed a bug resulting from use of size_t when writing W64 'fmt '
3604 2004-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3607 Bump version to 1.0.10 ready for release.
3610 Remove redundant files (check_libsndfile.py libsndfile_version_convert.py)
3611 from distribution tarball.
3613 * tests/header_test.tpl
3614 Fix uninitialised variable.
3616 * src/GSM610/short_term.c
3617 Fix compiler warning on MSVC++.
3619 2004-05-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3622 Improve record keeping of chunks seen and return an error if a file with
3623 unusual chunks is opened in mode SFM_RDWR.
3626 This file not needed so remove it.
3628 2004-05-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3630 * tests/header_test.tpl
3631 Add extra_header_test().
3633 * src/common.h src/sndfile.c
3634 Add SFE_RDWR_BAD_HEADER error number and string.
3636 2004-05-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3638 * tests/utils.tpl tests/*.c tests/*.tpl
3639 Add a line number argument to check_log_buffer_or_die() and update all
3640 files that use that function.
3642 * tests/header_test.tpl
3643 Modify/update tests for files opened SFM_RDWR and SFC_UPDATE_HEADER_AUTO.
3645 * src/aiff.c src/wav.c
3646 Fix another bug in AIFF and WAV files opened in SFM_RDWR and using
3647 SFC_UPDATE_HEADER_AUTO.
3649 * src/test_file_io.c
3650 Add a test for psf_ftruncate() function.
3652 2004-05-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3655 Fix another weird corner case bug found by Martin Rumori. Thanks.
3657 * tests/header_test.(tpl|def)
3658 Two new files to test for the absence of the above bug and include tests
3659 moved from tests/misc_test.c.
3662 Hook new tests into build/test system.
3665 Remove update_header_test() which has been moved to the new files above.
3667 2004-05-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3670 Fixed a bug reported by Martin Rumori on the LAD list. If a file created
3671 with a format of SF_FORMAT_FLOAT and then closed before any data is written
3672 to it, the header can get screwed up (PEAK chunk gets overwritten).
3674 * tests/write_read_test.tpl
3675 Add a test (empty_file_test) for the above bug.
3677 2004-05-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3679 * Win32/Makefile.mingw.in
3680 Added a Makefile for MinGW (needs to be processed by configure).
3682 * src/mmsystem.h src/mmreg.h
3683 Add files from the Wine project (under the LGPL) to allow build of
3684 sndfile-play.exe under MinGW.
3686 2004-05-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3688 * src/GSM610/gsm610_priv.h
3689 Replace ugly macros with inline functions.
3692 Remove temporary variables used by macros and other minor fixes required by
3695 2004-05-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3697 * tests/pipe_test.tpl tests/stdio_test.c Win32/Makefile.msvc
3698 Make sure these programs compile (even though they do nothing) on Win32
3699 and add them to the "make check" target.
3702 Fix warning on Sparc CPU and code cleanup.
3704 2004-05-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3707 Fix warning messages when compiling under MinGW.
3709 2004-05-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3712 Set HAVE_FLEXIBLE_ARRAY in src/config.h depending on whether the compiler
3713 accepts the flexible array struct member as per 1999 ISO C standard.
3715 * src/common.h src/ima_adpcm.c src/paf.c src/ms_adpcm.c
3716 Added ugly #if HAVE_FLEXIBLE_ARRAY and provided a non-standards compliant
3717 hack for non 1999 ISO C compliant compilers.
3719 2004-04-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3722 If adding an SF_STR_SOFTWARE string, only append libsndfile-X.Y.Z if the
3723 string does not already have libsndfile in the string. Thanks to Conrad
3726 * tests/string_test.c
3727 Add test to verify the above.
3729 * examples/sndfile-convert.c
3730 Add ability to transcode meta data as well (Conrad Parker).
3732 2004-04-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3735 Fix minor error. Thanks to Simon Burton.
3738 Started adding instructions for compiling libsndfile under MinGW.
3741 Add --enable-bow-docs to enable black text on a white background HTML docs.
3743 * doc/libsndfile.css.in
3744 This is now a template file for configure which sets the foreground and
3747 2004-04-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3750 Do some MinGW fixes.
3752 * configure.ac doc/Makefile.am
3753 Install HTML docs when doing make install.
3755 2004-04-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3757 * examples/sndfile-info.c
3758 Print out the dB level with the signal max.
3760 2004-04-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3763 Define S_ISSOCK in src/file_io.c if required.
3765 2004-04-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3768 Improve printout configuration summary (as suggested by Axel Röbel).
3771 Add link to pre-release location.
3774 Remove comma after last element of enum.
3776 * src/float32.c src/double64.c
3777 Fix read/write of float/double encoded raw files to/from pipes.
3779 * tests/pipe_test.c tests/pipe_test.tpl tests/pipe_test.def
3780 Turn pipe_test.c into an autogenerated file and add tests for reading/
3781 writing floats and doubles.
3784 Hook tests/pipe_test.* into build system.
3786 2004-04-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3788 * configure.ac acinclude.m4
3789 Rename AC_C_STRUCT_HACK macro to AC_C99_FLEXIBLE_ARRAY.
3791 2004-03-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3794 Perform update_header_test in RDWR mode as well.
3797 Fix problems when updating header in RDWR mode.
3799 2004-03-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3801 * src/wav.c src/w64.c src/wav_w64.c
3802 Integrate code supplied by David Viens for supporting microsoft's
3803 WAVEFORMATEXTENSIBLE stuff. Thanks David for supplying this.
3805 * configure.ac doc/*.html
3806 Bump version to 1.0.9.
3808 2004-03-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3810 * src/command.c src/sndfile.c src/sndfile.h.in src/wav.c
3811 Started work on supporting microsoft's WAVEFORMATEXTENSIBLE gunk.
3813 2004-03-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3816 New file to handle Audio Visual Resaerch files.
3818 * src/sndfile.h.in src/common.h src/sndfile.c src/command.c
3819 Hook AVR into everything else.
3821 * tests/Makefile.am tests/write_read_test.tpl tests/misc_test.c
3822 Add testing for AVR files.
3824 2004-03-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3827 Fix psf_set_file() for win32. Thanks to Vincent Trussart (Plogue Art et
3828 Technologie) for coming up with the solution.
3830 2004-03-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3832 * tests/write_read_test.tpl
3833 Fixed a bug that was causing valgrind to report a memory leak. The bug was
3834 in the test code itself, not the library.
3836 2004-03-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3838 * examples/generate.cs
3839 An example showing how to use libsndfile from C#. Thanks to James Robson
3842 2004-03-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3845 Fix problems with WAV files containing large chunks after the 'data'
3846 chunk. Thanks to Koen Tanghe for providing a sample file.
3848 2004-03-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3851 Detect presense of ALSA (Advanced Linux Sound Architecture).
3853 * examples/sndfile-play.c
3854 Add ALSA output support.
3856 * examples/Makefile.am
3857 Add ALSA_LIBS to link line of sndfile-play.c.
3859 2004-03-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3862 Add new macro (AC_C_STRUCT_HACK) to detect whether the C compiler allows
3863 the use of the what is known as the struct hack introduced by the 1999 ISO
3867 The last release would not compile with gcc-2.95 due to the use of features
3868 (ie struct hack) introduced by the 1999 ISO C Standard.
3869 Add check to make sure compiler handles this and bomb out if it doesn't.
3871 2004-03-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3873 * tests/write_read_test.tpl
3874 Fix compiler warning on Win32.
3877 Fix use of an un-initialised variable in Win32 stuff.
3879 * Win32/config.h examples/sndfile-play.c
3882 2004-03-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3885 Fix bug which occurres when configuring for MinGW.
3886 If compiler is gcc and cross compiling use -nostdinc.
3888 2004-03-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3890 * src/common.h src/aiff.c src/wav.c src/float32.c src/double64.c
3892 Fix a bug with PEAK chunk handling for files with more than 16 channels.
3893 Thanks to Remy Bruno for finding this.
3895 2004-03-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3898 Fix a bug which was preventing WAV files being openned correctly if the
3899 file had a very large header. Thanks to Eldad Zack for finding this.
3901 2004-03-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3903 * configure.ac src/file_io.c
3904 Fix cross-compiling from Linux to Win32 using the MinGW tools.
3906 2004-03-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3908 * src/create_symbols_file.sh
3909 Christian Weisgerber pointed out that the shell script did not run on a
3910 real Bourne shell although it did run under Bash in Bourne shell mode.
3912 * src/create_symbols_file.py
3913 Rewrite of above in Python. Also add support for writing Win32 .def files.
3914 The Python script generates Symbols.linux, Symbols.darwin and
3915 libsndfile.def (Win32 version). These files get shipped with the tarball
3916 so there should not be necessary to run the Python script when building
3917 the code from the tarball.
3919 * configure.ac src/Makefile.am Win32/Makefile.am
3920 Hook new Python script into the build system.
3922 2004-02-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3925 Add --enable-gcc-werror option and move GCC specific stuff down.
3927 2004-02-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3929 * acinclude.m4 configure.ac
3930 Fix clip mode detection (tested in one of HP's testdrive Itanium II boxes).
3933 Added check for sizeof (off_t) != sizeof (sf_count_t) to prevent recurrence
3934 of missing large file support on Linux and Solaris.
3936 2004-02-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3938 * examples/sndfile-play.c
3939 Fix a MacOSX specific bug which was caused by a space being inserted in
3940 the middle of a file name.
3942 * configure.ac src/Makefile.am examples/Makefile.am
3943 Fix a couple of MacOSX build issues.
3945 2004-02-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3948 Document SFC_SET_CLIPPING and SFC_GET_CLIPPING.
3950 2004-02-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3953 Applied patch from Frank Neumann (author of lakai) which fixes many minor
3954 typos in documentation. Thanks Frank.
3956 2004-02-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3959 Changed my email address throughout source and docs.
3961 2004-02-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3964 Make sure config.h is included before stdio.h to make sure large file
3965 support is enabled on Linux (and Solaris).
3968 Disable update_header test on Win32. This should work but doesn't and
3971 * Make.bat Win32/Makefile.msvc
3974 2004-01-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3977 Changed logindex, headindex and headend files of SF_PRIVATE from unsigned
3978 int to int to prevent weird arithmetic bugs.
3980 * src/common.c src/aiff.c src/wav.c src/w64.c
3981 Fixed compiler warnings resulting from above change.
3983 2004-01-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3986 Fixed a bug in header reader for some files with data after the sample data.
3988 2003-12-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3990 * tests/lossy_comp_test.c tests/Makefile.am
3991 Add tests for AIFF/IMA files.
3993 2003-12-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
3995 * src/macbinary3.c src/macos.c
3996 Two new files required for handling SD2 files.
3999 Add prototypes for functions in above two files.
4002 Hook new files into build system.
4004 2003-12-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4007 Add checks for mmap() and getpagesize() which might be used at some time
4008 for faster file reads.
4009 Add detection of MacOSX.
4011 2003-12-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4014 Minor mods to pkg-config section.
4016 2003-12-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4018 * src/create_symbols_file.sh
4019 Andre Pang (also known as Ozone) pointed out that on MacOSX, all non
4020 static symbols are exported causing troubles when trying to link
4021 libsndfile with another library which has any of the same symbols.
4022 He fixed this by supplying the MacOSX linker with a file containing
4023 all the public symbols so that only they would be exported and then
4024 supplied a patch for libsndfile.
4025 This wasn't quite ideal, because I would have to maintain two (3 if
4026 you include Win32) separate files containing the exported symbols.
4027 A better solution was to create this script which can generate a
4028 Symbols file for Linux, MacoSX and any other OS that supports
4029 minimising the number of exported symbols.
4031 * configure.ac src/Makefile.am
4032 Hook the new script into the build process.
4034 2003-12-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4037 Added comments about Steve Dekorte's SoundConverter scam.
4039 2003-12-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4042 Axel Roebel pointed out that on Mac OSX a pipe is not considered a fifo
4043 (S_ISFIFO (st.st_mode) is false) but a socket (S_ISSOCK (st.st_mode) is
4044 true). The test has therefore been changed to is S_ISREG and anything
4045 which which does not return true for S_ISREG is considered a pipe.
4047 2003-11-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4050 Fix update_header_test to pass SDS.
4055 * tests/floating_point_test.c
4056 Add test for SDS files.
4059 Add SDS to major_formats array.
4061 2003-11-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4063 * tests/write_read_test.tpl tests/misc_test.c
4064 Add tests for SDS files.
4067 Fix a bug in header update code.
4069 2003-11-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4072 Get file write working.
4075 Fix a potential bug in paf24_seek().
4077 2003-11-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4080 Add Q/A about u-law encoded WAV files.
4083 Updated so it compiles on Win32.
4085 2003-11-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4087 * examples/sndfile-convert.c
4088 Add -alaw and -ulaw command line arguments.
4091 Add library versioning comments.
4092 Add arguments to AC_INIT.
4094 2003-10-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4097 Ross Bencina has contributed code to replace all of the (mostly broken)
4098 Win32 POSIX emulation calls with calls the native Win32 file I/O API.
4099 This code still needs testing but is likely to be a huge improvemnt
4100 of support for Win32. Thanks Ross.
4102 2003-10-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4105 Removed filedes field from the DWVW_PRIVATE struct.
4108 Change psf_fopen() so it returns psf->error instead of the file descriptor.
4109 Add new functions psf_set_stdio() and psf_set_file().
4112 Change these to work with changed psf_fopen() return value.
4113 Remove all uses of psf->filedes from sndfile, making it easier to slot native
4114 Win32 API file handling functions.
4116 * src/test_file_io.c
4117 Minor changes to make it compile with new file_io.c stuff.
4119 2003-10-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4122 Rename a variable from true to true_flag. As Ross Bencina points out,
4123 true is defined in the C99 header <stdbool.h>.
4126 If fstat() fails, return SF_TRUE instead of -1 (Ross Bencina).
4128 2003-10-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4131 Increase the size of SF_BUFFER_LEN and SF_HEADER_LEN.
4134 Fix sf_read/write_raw which were dividing by psf->bytwidth and
4135 psf->blockwidth which can both be zero.
4137 * examples/sndfile-info.c
4138 Increase size of BUFFER_LEN.
4140 2003-09-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4143 Add checks for <sys/wait.h> and ssize_t.
4144 Other Win32/MinGW checks.
4146 * src/aiff.c src/au_g72x.c src/file_io.c src/gsm610.c src/interleave.c
4147 src/paf.c src/sds.c src/svx.c src/voc.c src/w64.c src/wav.c src/xi.c
4148 Fix compiler warnings.
4150 2003-09-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4152 * tests/scale_clip_test.tpl
4153 Add definition of M_PI if needed.
4155 2003-09-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4158 Detect if S_IRGRP is declared in <unistd.h>.
4160 * src/file_io.c tests/*.tpl tests/*.c
4161 More fixes for Win32/MSVC++ and MinGW. MinGW does have <unistd.h> but that
4162 file doesn't declare S_IRGRP.
4164 2003-10-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4167 Add comment stating that the sf_count_t typedef is determined when
4168 libsndfile is being compiled.
4171 Modified so that utils.c gets one copy of the GPL and not two.
4174 2003-09-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4176 * Win32/unistd.h src/sf_unistd.h
4177 Move first file to the second. This will help for Win32/MSVC++ and MinGW.
4179 * Win32/Makefile.am src/Makefile.am
4180 Changed in line with above.
4182 * Win32/Makefile.msvc
4183 Removed "/I Win32" which is no longer required.
4185 * src/file_io.c src/test_file_io.c tests/*.tpl tests/*.c
4186 If HAVE_UNISTD_H include <unistd.h> else include <sf_unistd.h>. This should
4187 work for Win32, MinGW and other fakes Unix-like OSes.
4190 Removed #include <unistd.h> from files which didn't need it.
4192 2003-09-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4194 * libsndfile.spec.in
4195 Apply fix from Andrew Schultz.
4197 2003-09-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4200 Only set psf->sf.samplerate if the existing value is invalid.
4202 2003-09-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4204 * examples/sndfile-play.c
4205 Started adding support for ALSA output.
4207 2003-09-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4210 Removed <stdlib.h> from sndfile.h.
4212 * src/*.c examples/*.c tests/*.c tests/*.tpl
4213 Added <stdlib.h> where needed.
4215 2003-09-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4218 Added ARRAY_LEN, SF_MAX and SF_MIN macros.
4220 2003-08-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4223 Remove statements about alternative licensing arrangements.
4225 2003-08-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4227 * MacOS MacOS9 Makefile.am configure.ac
4228 Change directory name from MacOS to MacOS9
4230 * MacOS9/MacOS9-readme.txt
4231 Change name to make it really obvious, add text to top of file to make it
4232 still more obvious again.
4234 2003-08-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4236 * src/test_log_printf.c
4237 Add tests for %u conversions.
4240 Fix psf_log_printf() %u conversions.
4242 2003-08-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4245 Fixed a bug where opening a file with a non-trival header in SFM_RDWR mode
4246 would over-write part of the header. Thanks to Axel Roebel for pointing
4247 this out. Axel also provided a patch to fix this but I came up with a
4248 neater and more general solution.
4249 Return error when openning an AIFF file with data after the SSND chunk
4250 (Thanks Axel Roebel).
4252 * tests/aiff_rw_test.c
4253 Improvements to test program which will later allow it to be generalised to
4254 test WAV, SVX and others as required.
4256 2003-08-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4259 Add useek_pipe_rw_test() submitted by Russell Francis.
4262 In sf_open_fd(), check if input file descriptor is a pipe.
4265 Fix typo in variable name do_not_close_descriptor.
4267 2003-08-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4269 * src/test_log_printf.c
4270 Improve the tests for %d and %s conversions.
4273 Fixed a few problems in psf_log_printf() found using new tests.
4275 2003-08-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4278 Add -Wwrite-strings warning to CFLAGS if the compiler is GCC. Thanks to
4279 Peter Miller (Aegis author) for suggesting this and supplying a patch.
4281 * src/*.c examples/*.c tests/*.c
4282 Fix all compiler warnings arising from the above.
4284 2003-08-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4286 * tests/aiff_rw_test.c tests/Makefile.am
4287 New test program to check for errors re-writing the headers of AIFC files
4288 opened in mode SFM_RDWR.
4290 2003-07-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4292 * examples/sndfile-play.c
4293 Applied a patch from Tero Pelander to allow this program to run on systems
4294 using devfs which used /dev/sound/dsp instead of /dev/dsp.
4296 2003-07-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4298 * doc/new_file_type.HOWTO
4299 Updated document. Still incomplete.
4301 2003-06-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4304 Fix VALIDATE_SNDFILE_AND_ASSIGN_PSF which was returning an error rather
4305 than saving it and returning zero.
4307 2003-06-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4310 Two fixes for Mac OS9.
4311 Fix all casts from sf_count_t to ssize_t (not size_t).
4313 2003-06-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4316 Fix for reading files with RIFF length of 8 and data length of 0.
4318 2003-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4320 * src/*.c tests/*.c tests/*.tpl
4321 Added comments to mark code for removal when make Lite version of
4324 2003-06-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4326 * examples/sndfile-convert.c
4327 Add extra error checking for unrecognised arguments.
4329 2003-06-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4332 Started adding code to write IMA ADPCM encoded AIFF files.
4334 * src/test_log_printf.c src/Makefile.am
4335 New file to test psf_log_printf() function and add hooks into build system.
4338 Move psf_log_printf() function to top of the file and only compile the rest
4339 of the file if if PSF_LOG_PRINTF_ONLY is not defined.
4341 2003-06-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4343 * Win32/config.h Win32/sndfile.h
4344 Updated with new config variables.
4346 * Win32/unistd.h src/file_io.c
4347 Added implementation of S_ISFIFO macro which Win32 seems to lack and is
4348 used in src/file_io.c.
4351 Added #include <unitstd.h> to pull in Win32/unistd.h so it compiles for
4355 Added src\test_file_io.exe build target and run this as the very first
4358 * tests/win32_test.c
4359 Add support for testing Cygwin32.
4362 Detect POSIX fsync() and fdatasync() functions.
4365 If compiling for Cygwin, call fsync() before calling fstat() to retrieve
4368 * tests/pcm_test.tpl
4369 Add a test for lrintf() function. This was required to detect a really
4370 broken lrint() and lrintf() on Cygwin.
4373 Don't run permission test when compiling under Cygwin.
4376 Fix fallback macro for lrint() and lrintf() to cast to long instead of int
4377 to match official function prototypes.
4379 2003-06-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4381 * examples/sndfile-convert.c
4382 Modifications to improve accuracy of conversions; use double data for
4383 floating point and int for everything else.
4386 Completed work on decoding IMA ADPCM encoded AIFF files. Still need to
4387 get encoding working.
4389 2003-05-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4391 * src/aiff.c src/ima_adpcm.c
4392 Start working on getting IMA ADPCM encoded AIFF files working.
4394 2003-05-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4397 Fixed the touch command for when the autogen program is not found (Matt
4400 * src/ulaw.c src/alaw.c
4401 Made these pipe-able.
4403 2003-05-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4405 * src/paf.c src/ircam.c
4406 Fixed writing to pipe.
4408 * src/wav.c src/aiff.c src/nist.c src/mat*.c src/svx.c src/w64.c
4409 Return SFE_NO_PIPE_WRITE if an attempt is made to write to a pipe.
4411 2003-05-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4413 * examples/sndfile-info.c
4414 Modified to detect unknown file lengths.
4417 Fix reading from a pipe.
4419 2003-05-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4422 Add more file types to tests.
4425 Removed explicit setting of psf->sf.seekable to SF_TRUE.
4428 Add macro for generating and check data in the stdio and pipe tests.
4430 * tests/stdout_test.c tests/stdin_test.c
4431 Use the above macro to generate known data on output and check data on
4434 * src/voc.c src/htk.c common.h sndfile.c
4435 Disallow reading/writing VOC and HTK files from/to pipes be returning new
4439 Fixes to allow reading from a pipe.
4441 2003-05-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4443 * configure.ac src/sndfile.h.in
4444 When the configure script determines the sizeof (sf_count_t), also set the
4445 value of SF_COUNT_MAX in sndfile.h.
4448 Remove -pedantic flag from default GCC compiler flags.
4451 Add a pipe_read_test() before doing pipe_write_test().
4453 * tests/scale_clip_test.c
4454 Add test to make sure non-normalized values also clip in the right way.
4456 2003-05-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4459 Add test to detect processor clipping capabilities.
4461 * tests/stdin_test.c tests/stdout_test.c
4462 Fix a pair of compiler warnings.
4465 Add new pipeoffset field to SF_PRIVATE. This will contain the current file
4466 offset when operating on a pipe.
4469 Removed direct calls to psf_fread()/psf_fseek()/psf_fgets() etc from
4470 psf_binheader_readf and redirect them to new buffered versions
4471 header_read(), header_seek() and header_gets().
4472 Add "G" format specifier to emulate fgets() functionality with buffering.
4473 This will allow reading some file types from pipes.
4476 When the file descriptor is a pipe, manintain psf->pipeoffset.
4479 Change use of psf_fgets() to psf_binheader_readf() as required but changes to header re
4482 Fix reading from a pipe.
4484 2003-05-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4487 Add clipping versions of the f2XXX_array() functions to allow option of
4488 clipping data that would otherwise overflow.
4490 * tests/scale_clip_test.tpl tests/scale_clip_test.def
4491 New files test that clipping option does actually work.
4493 2003-05-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4496 Fixed a typo ("OS(" instead of "OS9").
4498 2003-05-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4500 * tests/open_fail_test.c
4501 Include <string.h> to prevent warning message of missing declaration of
4504 2003-05-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4507 Add new "add_clipping" field to SF_PRIVATE.
4509 * src/sndfile.h.in src/sndfile.c
4510 Add command SFC_SET_CLIPPING which sets/resets add_clipping field.
4512 2003-05-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4515 Add docs for sf_set_string() and sf_get_string().
4517 * src/common.h src/sndfile.c
4518 Add new SFE_STR_BAD_STRING error.
4520 * tests/stdin_test.c tests/stdout_test.c
4521 Removed all non-error print statements.
4523 * tests/stdio_test.c tests/pipe_test.c tests/Makefile.am
4524 Add print statements removed from two files above.
4526 2003-05-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4528 * libsndfile.spec.in
4529 Fixed a coulpe of minor errors discovered by someone calling themselves
4532 * src/common.c src/common.h src/file_io.h
4533 Added is_pipe field to SF_PRIVATE and declaration of psf_is_pipe()
4534 function. (Axel Roebel)
4537 Fixed determination of whether the file is a pipe. (Axel Roebel)
4540 Force paf24 to start with undefined mode. (Axel Roebel)
4543 Mods to make this test work and actually do the test on RAW files. (Axel
4546 2003-05-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4549 Fixed a potential bug where psf->sf.seekable was being set to FALSE when
4550 operating on stdin or stdout but then the default initialiser was reseting
4551 it to TRUE. Thanks to Axel Roebel.
4554 Fixed a bug in the header parser where it was not handling an odd length
4555 COMM chunk correctly. Thanks to Axel Roebel.
4557 * src/test_file_io.c
4560 * tests/win32_test.c
4561 New file for showing the bugs in the Win32 implementation of the POSIX API.
4562 It also runs on Linux for sanity checking.
4564 * tests/Makefile.am Win32/Makefile.msvc
4565 Hook the new test program into the build system.
4567 2003-05-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4569 * src/test_file_io.c
4570 New test program to test operation of functions defined in file_io.c. This
4571 should make supporting win32 significantly easier.
4574 Hook new test program into the build system.
4577 Add compile/run time check that sizeof statbuf.st_size and sf_count_t are
4580 * src/common.h src/sndfile.c
4581 Added new error code and error message for new check.
4583 * tests/benchmark.tpl
4584 Fix to use frames instead of samples in SF_INFO.
4586 2003-05-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4589 More stuffing about working around PLAIN OLD-FASHIONED **BUGS** in Win32.
4591 * examples/sndfile-info.c
4592 Applied patch from Conrad Parker to add "--help" and "-h" options as
4593 well as an improved usage message.
4595 2003-05-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4598 Added embedded file support.
4600 * tests/multi_file_test.c
4601 Added tests for embedded AU files.
4602 Added verbose testing mode.
4604 * src/common.h src/sndfile.c
4605 Added an embedded AU specific error code and message.
4608 Added patch from Conrad Parker which filled in a little more information
4609 about ACIDized WAV files.
4611 2003-04-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4614 Fixed Win32 version of psf_fseek() which was calling psf_get_filelen()
4615 which was in turn calling psf_fseek() which in the end blew the stack.
4616 Now of course this would have been easy to find on Linux, but this blow
4617 up was happening in kernel32.dll and the fscking MSVC++ debugger couldn't
4618 figure out what call caused this (it couldn't even tell me the stack had
4619 overflowed) and was absolutley useless for this debugging exercise.
4620 On top of that, the reason I got into this mess was that windoze doesn't
4621 have a working fstat() function which can return file lengths > 2 Gig. It
4622 HAS a fscking _fstati64() but the file length value is only updated AFTER
4623 the bloody file is closed. That makes it completely useless.
4624 How the hell do people stand working on this crap excuse of an OS?
4626 2003-04-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4628 * Win32/unistd.h src/file_io.c
4629 Moved definitions of S_IGRP etc from file_io.c to unistd.h so that these
4630 can be used in the test programs.
4632 * Win32/libsndfile.def
4636 Updated to match src/sndfile.h.in.
4638 * Win32/Makefile.msvc
4639 Added dither.c and htk.c to libsndfile.dll target.
4641 2003-04-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4644 First attempt at getting the Win32 versions of the these functions working.
4645 They still need to be tested.
4647 2003-04-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4650 Found and fixed a bug which was causing psf_store_string() to fail on
4651 Motorola 68k processors. Many thanks fo Joshua Haberman (Debian maintainer
4652 of libsndfile) for compiling and running debug code to help me debug the
4655 2003-04-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4657 * src/sndfile.c src/file_io.c src/wav.c src/aiff.c
4658 Much hacking to get reading and writing of embedded files working (ie sound
4659 files at a non-zero files offset).
4661 * doc/embedded_files.html
4662 First pass atempt at documenting reading/writing embedded files.
4664 2003-04-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4667 Updated answer to "Why doesn't libsndfile do interleaving/de-interleaving?"
4669 2003-04-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4671 * src/wav.c src/aiff.c
4672 Fix retrieving and storing of string data from files. Need to be careful
4673 about using psf->buffer for strings.
4675 2003-04-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4678 Fix psf_fseek() for seeks withing embedded files.
4680 2003-04-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4683 Changed the definition of SNDFILE slightly to produce warnings when it isn't
4684 used correctly. This should have zero affect in code which uses the SNDFILE
4688 Fixed a few compiler warnings cause by the changes to the SNDFILE type.
4690 2003-04-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4693 Added question and answer to the question "How about adding the ability
4694 to write/read sound files to/from memory buffers?".
4696 2003-04-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4698 * tests/write_read_test.tpl
4699 Removed un-needed enums declaring TRUE and FALSE and replaced usage of
4700 these with SF_TRUE and SF_FALSE.
4702 * tests/multi_file_test.c
4703 New test program to test sf_open_fd() on files containing data other than
4704 a single sound file.
4706 2003-04-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4709 When creating files, set the readable by others flag. This still allows
4710 further restrictions to be enforced by use of the user's umask. Fix
4711 suggested by Eric Lyon.
4713 2003-04-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4715 * src/sndfile.h.in src/sndfile.c
4716 Changed sf_open_fd(). Dropped offset parameter and added a close_desc
4717 parameter. If close desc is TRUE, the file descritpor passed into the
4718 library will be closed when sf_close() is called.
4721 Modified call to sf_open_fd() to set close_desc parameter to SF_TRUE.
4723 2003-04-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4725 * tests/write_read_test.tpl
4726 Add a string (using sf_set_string() function) before and after data section
4727 of all files. This will make sure that if string data can be added, it
4728 doesn't overwrite real audio data.
4730 2003-04-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4733 Started work on supporting a non-zero offset parameter for sf_open_fd ().
4735 * src/<file header parsers>.c
4736 Removed many uses of psf_fseek (SEEK_END) which to allow for future use of
4737 sf_open_fd() with non-zero offset.
4738 Associated refactoring.
4741 Implemented functionality required to get sf_get_string() and
4742 sf_set_string() working for AIFF files.
4744 2003-04-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4747 Modified test_open_file_or_die() to alternately use sf_open() and
4751 Fixed a bug which occurred when openning an existing file for read/write
4752 using sf_open_fd(). In this case, the existing NAME chunk needs to be
4753 read into psf->filename.
4754 Fixed printing of sf_count_t types to logbuffer.
4756 2003-03-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4759 Added prototype for new function sf_open_fd().
4762 Moved most of the code in sf_open() to a new function psf_open_file().
4763 Created new function sf_open_fd() which also uses psf_open_file() but
4764 does not currently support the offset parameter.
4767 Document sf_open_fd().
4769 2003-03-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4772 Fixed a memory leak reported by Evgeny Karpov. Memory leak only occurred
4773 when an attempt was made to read and the open() call fails.
4775 2003-03-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4777 * tests/open_fail_test.c
4778 New test program to check for memory leaks when sf_open fails on a valid
4779 file. Currently this must be run manually under valgrid.
4782 Hook new test program into build.
4784 2003-03-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4786 * Octave/sndfile_save.m Octave/sndfile_play.m
4787 Added a -mat-binary option to the octave save command to force the output
4788 to binary mode even if the user has set ascii data as the default. Found
4789 by Christopher Moore.
4791 2003-02-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4794 New file which will document the interface which allows the addition of
4795 audio dither when sample word sizes are being reduced.
4800 2003-02-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4803 In update_header_test(), make HTK files a special case.
4806 Added HTK to the feature matrix.
4808 2003-02-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4811 New file for reading/writing HMM Tool Kit files.
4813 * src/sndfile.h.in src/sndfile.c src/command.c src/Makefile.am
4816 * tests/write_read_test.tpl tests/misc_test.c tests/Makefile.am
4817 Add tests for HTK files.
4819 2003-02-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4822 Fixed a bug where the LIST chunk length was being written incorrectly.
4824 * tests/string_test.c
4825 Added call to check_log_buffer().
4828 2003-02-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4831 Applied patch from Antoine Mathys to add extra WAV format definitions and
4832 a G72x_ADPCM_WAV_FMT struct definition.
4835 Applied patch from Antoine Mathys which converts wav_w64_format_str() from
4836 one huge inefficient switch statement to a binary search.
4838 * tests/string_test.c
4839 Dump log buffer if tests fail.
4841 2003-02-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4843 * tests/string_test.c
4844 David Viens supplied some modifications to this file which showed up a bug
4845 when using sf_set_string() and the sf_writef_float() functions.
4848 Fixed the above bug.
4850 2003-02-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4853 Added Q and A on how to detect libsndfile in configure.in (at the suggestion
4856 2003-02-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4859 Add enums and typedefs for dither.
4860 Deprecate SFC_SET_ADD_DITHER_ON_WRITE and SFC_SET_ADD_DITHER_ON_READ, to be
4861 replaced with SFC_SET_DITHER_ON_WRITE and SFC_SET_DITHER_ON_READ which will
4862 allow different dither algorithms to be enabled.
4863 Added SFC_GET_DITHER_INFO_COUNT and SFC_GET_DITHER_INFO.
4865 * src/sndfile.h.in src/Version_script.in Win32/libsndfile.def.
4866 Added public sf_dither_*() functions.
4869 Implement commands above.
4872 More work. Framework and external hooks into dither algorithms complete.
4874 2003-02-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4876 * doc/version-1.html libsndfile_version_convert.py
4877 Remove redundant files.
4879 * doc/index.html doc/api.html
4880 Remove links to version-1.html.
4883 New file to allow the addition of audio dither on input and output.
4886 Add prototype for dither_init() function.
4888 * Makefile.am doc/Makefile.am
4889 Changes for added and removed files.
4891 2003-02-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4893 * Win32/Makefile.msvc
4894 Changes to force example binaries to be placed in the top level directory
4895 instead of the examples/ directory.
4896 Add src/strings.c and src/xi.c to the build.
4897 Add string_test to build and to tests on WAV files.
4900 Added XI to support matrix.
4902 2003-01-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4905 Added prototypes for sf_get_string() and sf_set_string() and SF_STR_*
4909 Added public interface to sf_get_string() and sf_set_string().
4912 Added code for setting and getting strings in WAV files.
4914 * tests/string_test.c
4915 New test program for sf_get_string() and sf_set_string() functionality.
4918 Hook new test program into build and test framework.
4920 2003-01-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4923 Added fields to SF_PRIVATE for string data needed to implement
4924 sf_get_string() and sf_set_string().
4927 New file for storing and retrieving strings to/from files.
4930 Added strings.c to build.
4932 2003-01-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4935 Read seems to be working so looking at write.
4938 Added SF_FORMAT_XI, SF_FORMAT_DPCM_8 and SF_FORMAT_DPCM_16 enum values.
4940 * tests/floating_point_test.c tests/lossy_comp_test.c tests/Makefile.am
4941 Added test for 8 and 16 bit XI format files.
4943 2003-01-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4946 Added a non-lawyer readable summary of the licensing provisions as
4947 suggested by Steve Dekorte.
4949 2003-01-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4952 Fixed a compiler warning found by Alexander Lerch.
4954 2003-01-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4957 Fixed the multiple linking of libm.
4959 2003-01-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4961 * Win32/Makefile.mcvs
4962 Added comments on the correct way to set up the MSVCDir environment
4966 Add on how to set up the MSVCDir environment variable.
4968 2003-01-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4970 * examples/sndfile-play.c examples/sndfile-info.c
4971 When run on Win32 without any command line parameters print a message and
4972 then sleep for 5 seconds. This means the when somebody double clicks on
4973 these programs in explorer the user will actually see the message.
4975 2003-01-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4978 Bypass permission test if running as root because root is allowed to open
4979 a readonly file for write.
4981 2003-01-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4983 * Win32/Makefile.msvc
4984 Added pvf.c and xi.c source files to project.
4987 Updated for PVF files.
4989 2003-01-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4992 Modified validate_sfinfo() to force samplerate, channels and sections
4994 In format_from_extension() replaced calls to does_extension_match()
5000 2003-01-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5003 Added octave.html which had been left out. Found by Jan Weil.
5005 2003-01-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5007 * src/pvf.c src/common.h src/sndfile.c
5008 Fixed error handling for PVF files.
5011 New file for handling Fasttracker 2 Extended Instrument files. Not working
5012 yet and included when configured with --enable-experimental.
5014 * src/sndfile.c src/common.h
5015 Hooked in new file xi.c.
5017 2002-12-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5020 Added a patch from Marek Peteraj which sheds a little more light on the
5021 slices within an RX2 file. Still need to find out data encoding.
5023 2002-12-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5026 Started work on decoding 'acid' and 'strc' chunks.
5028 2002-12-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5030 * tests/peak_check_test.c
5033 2002-12-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5035 * tests/write_read_test.tpl
5036 Added check to make sure no error was generated when an attempt was made to
5037 read past the end of the file.
5039 2002-12-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5042 Added "mailto" links for all three lists.
5045 New file for Portable Voice Format files.
5047 * src/sndfile.h.in src/sndfile.c src/common.h src/command.c src/Makefile.am
5048 Added hooks for SF_FORMAT_PVF format files.
5050 * tests/write_read_test.tpl tests/std*.c
5051 Add tests for SF_FORMAT_PVF.
5054 Add PVF to the compatibility matrix.
5056 * src/pcm.c src/alaw.c src/ulaw.c src/float32.c src/double64.c
5057 Previously, attempts to read beyond the end of a file would set psf->error
5058 to SFE_SHORT_ERROR. This behaviour diverged from the behaviour of the POSIX
5059 read() call but has now been fixed.
5060 Attempts to read beyond the end of the file will return a short read count
5061 but will not longer set any error.
5063 2002-12-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5066 Add more sanity checking when opening a RAW file for read. When format is
5067 not RAW, zero out all members of the SF_INFO struct.
5070 Add bad_raw_test() to check for above problem.
5072 * tests/stdin_test.c examples/sndfile-info.c
5073 Set the format field of the SF_INFO struct to zero before calling
5077 Add information about the need to set the format field of the SF_INFO struct
5078 to zero when opening non-RAW files for read.
5081 Removed use of conversion script on Solaris. Not all Solaris versions
5085 New file containg details of the mailing lists.
5088 Add a link to the above new file.
5090 2002-12-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5093 Fixed a SIGFPE on Alpha caused by a log10 (0.0). Thanks to Joshua Haberman
5094 for providing the gdb traceback.
5096 2002-11-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5099 Added more capabilities to 'smpl' chunk parser.
5102 Fixed some (not all) possible problems found with Flawfinder.
5104 2002-11-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5107 Fixed a bug in sf_seek(). This bug could only occur when an attempt was
5108 made to read beyond the end and then sf_seek() was called with a whence
5109 parameter of SEEK_CUR.
5112 Win32's _fstati64() does not work, it returns BS. Re-implemented
5113 psf_get_filelen() in terms of psf_fseek().
5115 * tests/write_read_test.tpl
5116 Add a test to detect above bug.
5119 Modification to prevent compiler warnings on Mac OS X.
5122 Fixes for windows (what a f**ked OS).
5124 2002-11-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5127 Disable use of native lrint()/lrintf() on Mac OSX. These functions exist on
5128 Mac OSX 10.2 but not on 10.1. Forcing the use of the versions in
5129 src/float_cast.h means that a library compiled on 10.2 will still work on
5132 2002-11-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5134 * configure.in configure.ac
5135 Renamed configure.in to configure.ac as expected by later versions of
5137 Slight hacking of configure.ac to work with version 2.54 of autoconf.
5138 Changed to using -dumpversion instead of --version for determining GCC
5139 version numer as suggested by Anand Kumria.
5141 * src/G72x/Makefile.am
5142 Slight hacking required for operation with automake 1.6.3.
5144 2002-11-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5147 In psf_binheader_readf() changed type parameter type "b" type from size_t
5148 to int to prevent errors on IA64 CPU where sizeof (size_t) != sizeof (int).
5149 Thanks to Enrique Robledo Arnuncio for debugging this.
5151 2002-11-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5153 * test/command_test.tpl
5154 Changed test value so test would pass on Solaris.
5156 * src/Version_script.in
5157 Modified version numbering so that later versions of 1.0.X can replace
5158 earlier versions without recompilation.
5161 Fixed bug causing short reads.
5163 2002-11-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5165 * test/floating_point_test.c
5166 Code cleanup using functions from util.c.
5167 Add test for IEEE replacement floats and doubles.
5169 2002-11-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5172 Fixed a possible divide by zero error when read the 'smpl' chunk. Thanks to
5173 Serg Repalov for the example file.
5175 * tests/pcm_test.tpl
5176 Used sf_command (SFC_TEST_IEEE_FLOAT_REPLACE) to test IEEE replacement code.
5177 Clean up pcm_double_test().
5179 * src/float32.c src/double64.c
5180 Force use of IEEE replacement code using psf->ieee_replace is TRUE,
5181 Print message to log_buffer as well.
5182 Rename all broken_read_* and broken_write* functions to replace_read_* and
5186 Added string_in_log_buffer().
5188 * tests/pcm_test.tpl
5189 Use string_in_log_buffer() to ensure that IEEE replacement code has been
5193 Removed --enable-force-broken-float option. IEEE replacement code is now
5196 2002-10-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5199 Implement code for read/writing IEEE doubles on platforms where the native
5200 double format is not IEEE.
5202 * src/float32.c src/common.h
5203 Remove float32_read() and float32_write(). Replace with float32_le_read(),
5204 float32_be_read(), float32_le_write() and float32_be_write() to match stuff
5208 Fix all usage of float32_write().
5211 Added SFC_TEST_IEEE_FLOAT_REPLACE command (testing only).
5214 Added SF_PRIVATE field ieee_replace.
5217 In sf_command() set/reset psf->ieee_replace.
5219 2002-10-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5221 * tests/pcm_test.tpl
5222 Fixed a problem when testing with --enable-force-broken-float. The test was
5223 generating a value of negative zero and the broken float code is not able
5224 to write negative zero. Removing the negative zero fixed the test.
5226 2002-10-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5229 Added fix for Cygwin (suggested by Maros Michalik).
5231 2002-10-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5234 Improved error detection and handling.
5236 * src/file_io.c src/common.h
5237 Removed functions psf_ferror() and psf_clearerr() which were redundant
5238 after above improvements.
5240 * src/aiff.c src/svx.c src/w64.c src/wav.c
5241 Removed all use of psf_ferror() and psf_clearerr().
5244 Removed #include of <stdio.h>, <unistd.h>, <fcntl.h> and <math.h> which
5245 are no longer needed.
5248 Added test to make sure the correct error message is returned with an
5249 existing read-only file is openned for write.
5251 2002-10-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5253 * doc/index.html doc/api.html
5254 Updated for OKI Dialogic ADPCM files.
5257 Added VOX ADPCM to sub_fomats.
5259 2002-10-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5261 * src/vox_adpcm.c src/Makefile.am
5262 New file for handling OKI Dialogic ADPCM files.
5265 Add new subtype SF_FORMAT_VOX_ADPCM.
5268 Renamed function is_au_snd_file () to format_from_extenstion () and expanded
5269 its functionality to detect headerless VOX files.
5272 Added hooks for SF_FORMAT_VOX_ADPCM.
5274 * examples/sndfile-info.c
5275 Print out file duration (suggested by Conrad Parker).
5277 * libsndfile.spec.in
5278 Force installation of sndfile.pc file (found by John Thompson).
5280 * tests/Makefile.am tests/lossy_comp_test.c tests/floating_point_test.c
5281 Add tests for SF_FORMAT_VOX_ADPCM.
5283 2002-10-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5286 Add test which attempts to write to /dev/full (on Linux anyway) to check
5287 for correct handling of writing to a full filesystem.
5290 Return correct error message if the header cannot be written because the
5294 Corrected printing of file mode in error reporting.
5297 Fixed a bug where a MAT5 file written by libsndfile could not be opened by
5300 2002-10-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5302 * src/common.h src/file_io.c
5303 All low level file I/O have been modified to be better able to report
5304 system errors resulting from calling system level open/read/write etc.
5307 Updated for compatibility with above changes.
5309 * examples/cooledit-fixer.c
5310 New example program which fixes badly broken file created by Syntrillium's
5311 Cooledit which are marked as containing PCM samples but actually contain
5312 floating point data.
5314 * examples/Makefile.am
5315 Hooked cooledit-fixer into the build system.
5317 2002-10-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5320 Document SFC_GET_FORMAT_INFO.
5322 2002-10-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5324 * examples/wav32_aiff24.c examples/sndfile2oct.c examples/sfhexdump.c
5326 Removed these files because they weren't interesting.
5328 * examples/sfconvert.c examples/sndfile-convert.c
5329 Renamed the first to the latter.
5331 * examples/Makefile.am
5332 Added sndfile-convert to the bin_PROGRAMS, so it is installed when the lib
5334 Removed old programs wav32_aiff24 and sndfile2oct.
5336 * man/sndfile-convert.1
5339 * examples/sndfile-convert.c
5340 Added some gloss now that sndfile-convert.c is an installed program.
5342 * src/sndfile.h.in src/sndfile.c src/common.h src/command.h
5343 Added command SFC_GET_FORMAT_INFO.
5345 * tests/command_test.c
5346 Added tests form SFC_GET_FORMAT_INFO.
5348 2002-10-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5351 In sf_format_check() return error if samplerate < 0.
5353 2002-10-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5356 Fixed bug in handling of COMM chunks with a 4 byte encoding byte but no
5359 2002-10-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5362 Fixed repeated word in an error message.
5364 2002-10-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5367 Improved advertising in Features section.
5369 2002-10-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5372 Added decoding of 'labl' chunks within 'LIST' chunks.
5375 Added (experimental only) SF_FORMAT_OGG and SF_FORMAT_VORBIS and definition
5376 of ogg_open(). This is nowhere near working yet.
5379 Added detection of 'OggS' file marker and added call to ogg_open() to
5383 New file. Very early start of Ogg Vorbis support.
5386 Added handling of brain-damaged and broken Cooledit "32 bit 24.0 float
5387 type 1" files. These files are marked as being 24 bit WAVE_FORMAT_PCM with
5388 a block alignment of 4 times the numbers of channels but are in fact 32 bit
5391 2002-10-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5394 Modified option --enable-experimental to set ENABLE_EXPERIMENTAL_CODE in
5395 config.h to either 0 or 1.
5398 Modify sf_command (SFC_GET_LIB_VERSION) to append "-exp" to the version
5399 string if experimental code has been enabled.
5401 2002-10-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5404 Added -lm to libsndfile_la_LIBADD. This means that -lm is not longer needed
5405 in the link line when linking something to libsndfile.
5407 * tests/Makefile.am examples/Makefile.am
5408 Removed -lm from all link lines.
5411 Removed -lm from Libs line.
5413 2002-09-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5416 Removed all perror() calls.
5419 Removed calls to exit() function.
5420 Added check to detect NIST files dammaged from Unix CR -> Win32 CRLF
5423 2002-09-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5425 * src/sndfile.h.in src/sndfile.c
5426 New function sf_strerror() which will eventually replace functions
5427 sf_perror() and sf_error_str().
5428 Function sf_error_number() has also been changed, but this was documented
5429 as being for testing only.
5432 Documented above changes.
5434 * tests/*.c examples/*.c
5435 Changed to new error functions.
5437 2002-09-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5440 Detect GCC version, and print a warning message about writeable strings
5441 it GCC major version number is less than 3.
5443 2002-09-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5445 * src/sndfile.h.in doc/api.html
5446 Documentation fixes.
5448 2002-09-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5450 * src/Version_script.in src/Makefile.am configure.in
5451 Use the version script to prevent the exporting of all non public symbols.
5452 This currently only works with Linux. Will test on Solaris as well.
5455 Added #ifndef to prevent the #warning directives killing the SGI MIPSpro
5458 * src/au_g72x.c src/double64.c src/float32.c src/gsm610.c src/ima_adpcm.c
5460 Fix benign compiler warnings arising from previously added compiler
5463 2002-09-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5466 Fixed a bug in sf_error_str() where errnum was used as the index instead
5467 of k. Found by Tim Hockin.
5469 * examples/sndfile-play.c
5470 Fixed a compiler warning resulting from a variable shadowing a previously
5473 2002-09-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5475 * src/sndfile.h.in src/sndfile.c
5476 Added command SFC_SET_RAW_START_OFFSET.
5479 Document SFC_SET_RAW_START_OFFSET.
5481 * tests/raw_test.c tests/Makefile.am
5482 Add new file for for testing SF_FORMAT_RAW specific functionality.
5487 2002-09-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5490 Modified reading of 'smpl' chunk to take account of the sampler data field.
5492 * tests/utils.tpl tests/utils.h
5493 Added function print_test_name().
5495 * tests/misc_test.c tests/write_read_test.tpl tests/lossy_comp_test.c
5496 tests/pcm_test.tpl tests/command_test.tpl tests/floating_point_test.c
5497 Convert to use function print_test_name().
5499 2002-09-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5502 Added a link to some other Octave scripts for reading and writing sound
5506 Change type of dummy data field to int. This should fix a benign compiler
5507 warning on some CPUs.
5508 Removed superfluous casts resulting from the above change.
5513 2002-09-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5515 * src/mat5.c src/common.c
5516 Changed usage of snprintf() to LSF_SNPRINTF().
5518 * Win32/Makefile.msvc
5519 Updated to include new files and add new tests.
5521 * Win32/config.h Win32/sndfile.h
5525 Added note about the possibility of "missing" features actually being
5526 implemented as an sf_command().
5528 2002-09-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5531 Added previously missing update_header_test and zero_data_tests for PAF,
5532 MAT4 and MAT5 formats.
5534 * src/paf.c src/mat4.c src/mat5.c
5535 Fixed bugs uncovered by new tests above.
5538 Generalised parsing of name fields of MAT5 files.
5540 * src/mat5.c src/sndfile.c
5541 Added support for unsigned 8 bit PCM MAT5 files.
5543 * tests/write_read_test.tpl
5544 Added test for unsigned 8 bit PCM MAT5 files.
5547 Added unsigned 8 bit PCM MAT5 to capabilities matrix.
5549 2002-09-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5551 * test/update_header_test.c tests/misc_test.c
5552 Renamed update_header_test.c to misc_test.c.
5553 Added zero_data_test() to check for case where file is opened for write and
5554 closed immediately. The resulting file can be left in a state where
5555 libsndfile cannot open it. Problem reported by Werner Schweer, the author
5559 Removed superfluous cast.
5561 * src/wav.c src/svx.c
5562 Fixed case of file generated with no data.
5563 Removed superfluous cast.
5566 Fixed error on IA64 platform caused by incorrect termination of
5567 SndfileErrors struct array. This problem was found in the Debian buildd
5568 logs (http://buildd.debian.org/).
5571 Added Octave directory.
5573 * Octave/Makefile.ma
5574 New Makfile.am for Octave directory.
5576 * Octave/sndfile_load.m Octave/sndfile_save.m Octave/sndfile_play.m
5577 New files for working with Octave.
5580 Document explaining the use of the above three Octave scripts.
5582 2002-09-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5585 Fixed bug in RDWR mode.
5587 2002-09-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5590 Fixed psf_get_date_str() for systems which don't have gmtime_r() or
5594 Added #include <io.h> for Win32. Reported by Koen Tanghe.
5596 2002-09-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5599 Added 'S' format specifier for psf_binheader_writef() which writes a C
5600 string, including single null terminator to the header.
5601 Added 'j' format specifier to allow jumping forwards or backwards in the
5603 Added function psf_get_date_str().
5606 Complete read and write support.
5609 Added entries for MAT4 and MAT5 in capabilities matrix.
5611 2002-09-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5614 Completed read and write support.
5616 * src/common.h src/sndfile.c
5617 Added MAT4 and MAT5 specific error messages.
5619 * tests/write_read_test.tpl tests/Makefile.am
5620 Added tests for MAT4 and MAT5 files.
5622 * tests/stdio_test.c tests/stdout_test.c tests/stdin_test.c
5623 Added tests for MAT4 and MAT5 files.
5625 2002-09-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5628 Added elements for SF_FORMAT_MAT4 and SF_FORMAT_MAT5 to major_formats
5631 * examples/sfconvert.c
5632 Added mat4 and mat5 output targets.
5634 2002-09-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5637 Added check to prevent errors openning read only formats for read/write.
5640 New file for interleaving non-interleaved data. Non-interleaved data is
5641 only supported on read.
5644 Added src/interleave.c to build.
5646 2002-09-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5648 * src/double64.c src/common.h
5649 Added double64_be_read(), double64_le_read(), double64_be_write() and
5650 double64_le_write() which replace double64_read() and double64_write().
5653 Cleanup of psf_binheader_readf() and add ability to read big and little
5654 endian doubles (required by mat4.c and mat5.c).
5655 Add ability for psf_binheader_writef() to write doubles to sound file
5658 2002-09-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5661 New file for reading Matlab (tm) version 5 data files. This is also the
5662 native binary file format for version 2.1.X of GNU Octave which will be
5667 New file for reading Matlab (tm) version 4.2 data files. This is also the
5668 native binary file format for version 2.0.X of GNU Octave which will be
5672 * src/sndfile.h.in src/sndfile.c src/common.h src/command.c src/Makefile.am
5673 Mods to add Matlab files.
5676 Added readf_endian field to SF_PRIVATE struct allowing endianness to
5677 remembered across calls to sf_binheader_readf().
5678 Fixed bug in width_specifier behaviour for printing hex values.
5680 2002-08-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5683 Check return value of close() call in psf_fclose().
5685 2002-08-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5688 Commented out some code where 0x10000 was being subtracted from a short
5689 and the result assigned to a short again. Andrew Zaja found this.
5691 2002-08-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5694 Fixed typo found by Tommi Ilmonen.
5697 Changed type of diff from short to int to prevent errors which can occur
5698 during very rare circumstances. Thanks to FUWAFUWA.
5700 2002-08-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5702 * tests/floating_point_test.c
5703 Disable testing on machines without lrintf().
5705 * Win32/Makefile.msvc
5706 Added dwd.c and wve.c to build.
5709 Bumped version to 1.0.0.
5711 2002-08-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5714 Add a #include for Mac OS 9. Thanks to Stephane Letz.
5717 Changed an snprintf to LSF_SNPRINTF.
5720 Added version-1.html.
5722 2002-08-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5725 Bumped version to 1.0.rc6.
5728 Modified scaling of normalised floats and doubles to integers. Until now
5729 this has been done by multiplying by 0x8000 for short output, 0x80000000
5730 for 32 bit ints and so on. Unfortunately this can cause an overflow and
5731 wrap around in the target value. All thes values have therefore been
5732 reduced to 0x7FFF, 0x7FFFFFFF and so on. The conversion from ints to
5733 normalised floats and doubles remains unchanged. This does mean that for
5734 repeated conversions normalised float -> pcm16 -> normalised float would
5735 result in a decrease in amplitude of 0x7FFF/0x8000 on every round trip.
5736 This is undesirable but less undesireable than the wrap around I am trying
5739 * tests/floating_point_test.c
5740 Removed file hash checking because new float scaling procedure introduced
5741 above prevented the ability to crate a has on both x86 and PowerPC systems.
5743 2002-08-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5746 Completed reading of TXW files. Seek doesn't work yet.
5749 Added a MacOS 9 replacement for ftruncate().
5752 Added MacOS 9 header file. This should be copied into src/ to compile
5753 libsndfile for MacOS9.
5755 2002-08-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5758 Fixed commands SF_SET_NORM_DOUBLE and SFC_SET_NORM_FLOAT to return their
5759 values after being set. Reported by Jussi Laako.
5762 If autogen is not found, touch all .c and .h files in tests/.
5765 Added format width specifier to psf_log_printf() for %u, %d, %D and %X.
5768 Completed implementation of read only access to these files.
5770 * src/common.h src/*.c src/pcm.c
5771 Removed redundant field chars from SF_PRIVATE struct and modified
5772 pcm_init() to do without it.
5774 2002-08-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5777 New file implementing read of Psion Alaw files. This will be a read only
5778 format. Implementation complete.
5781 Started implementation of DiamondWare Digitized files. Also read only, not
5785 Add parsing of 'smpl' chunk.
5788 Fixed reading on un-normalized doubles and floats from 24 bit PAF files.
5789 This brings it into line with the reading of 8 bit files into
5790 un-normalized doubles which returns values in the range [-128, 127].
5793 Modified psf_log_printf() to accept the %% conversion specifier to allow
5794 printing of a single '%'.
5797 Read only of 16 bit samples is working. Need to build a test harness for
5798 this and other read only formats.
5800 2002-08-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5803 Added --enable-experimental configure option.
5804 Removed pkg-config message at the end of the configure process.
5806 * src/sds.c src/txw.c src/rx2.c src/sd2.c
5807 Moved all the code in these files inside #if ENABLE_EXPERIMENTAL_CODE
5808 blocks and added new *_open() function for the case where experimental is
5809 not enabled. These new functions just return SFE_UNIMPLMENTED.
5811 * Win32/sndfile.h src/sndfile.h.in src/common.h
5812 Removed un-necessary #pragma pack commands.
5815 Implemented psf_ftruncate() and much other hacking for Win32.
5817 * Win32/Makefile.msvc
5821 Updated to include the copying of the sndfile.h file from the Win32/
5822 directory to the src/ directory.
5825 Batch file to make compiling on Wi32 a little easier. Implements "make" and
5828 2002-08-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5831 Add place holder for ftruncate() on Win32 which doesn't have ftruncate().
5832 This will need to be fixed later.
5835 New file (copy of sndfile.h) with sets up @TYPEOF_SF_COUNT_T@ which will be
5836 replaced by the correct type during configure.
5839 Modified to find a good type for TYPEOF_SF_COUNT_T.
5842 Fixed a bug when reading malformed headers.
5845 Set read values to zero before performing read.
5847 2002-08-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5850 Fixed some HTML tags which were not allowing jumps to links within the
5854 Massive hacking on this.
5857 Added recognition of 'clm ' tag.
5859 2002-08-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5862 Added beginning of a capabilities list beyond simple file formats which
5863 can be read/written.
5866 Added parsing of INST and MARK chunks of AIFF files. At the moment this
5867 data is simply recorded in the log buffer. Later it will be possible to
5868 read this data from an application using sf_command().
5871 Added parsing of 'cue ' chunk which contains loop information in WAV files.
5873 * exampes/sndfile-info.c
5874 Changed reporting of Samples to Frames.
5876 * src/wav.c src/w64.c src/aiff.c src/wav_w64.h
5877 Moved from a samples to a frames nomenclature to avoid confusion.
5880 What's the best format for storing temporary files?
5883 New file for reading/writing Midi Sample Dump Standard files.
5885 * src/Makefile.am src/sndfile.c src/common.[ch]
5886 Added hooks for sds.c.
5888 * examples/sndfile-info.c
5889 Changed from using sf_perror() to using sf_error_str().
5891 2002-08-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5894 Added explanation of mode parameter for sf_open().
5895 Added explanation of usage of SFM_* values in sf_seek().
5897 * src/sndfile.[ch] src/command.c src/file_io.c src/common.h
5898 Implemented SFC_FILE_TRUNCATE to allow a file to be truncated. File
5899 truncation was suggested by James McCartney.
5902 Documented SFC_FILE_TRUNCATE.
5904 * tests/command_test.c
5905 Add tests for SFC_FILE_TRUNCATE.
5908 Added a thrid parameter to the VALIDATE_SNDFILE_AND_ASSIGN_PSF macro to
5909 make resetting the error number optional. All uses of the macro other than
5910 in error reporting functions were changed to reset the error number.
5913 Fixed a bug were sf_read_* was logging an SFE_SHORT_READ even when no error
5916 * tests/write_read_test.tpl
5917 Added tests of internal error state.
5919 2002-08-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5921 * src/GSM610/private.h src/GSM610/*.c src/GSM610/Makefile.am
5922 Renamed private.h to gsm610_priv.h to prevent clash with other headers
5923 named private.h in other directories. (Probably only a problem on MacOS 9).
5925 * src/G72x/private.h src/G72x/*.c src/G72x/Makefile.am
5926 Renamed private.h to g72x_priv.h to prevent clash with other headers
5927 named private.h in other directories. (Probably only a problem on MacOS 9).
5930 Changed values of HAVE_LRINT and HAVE_LRINTF to force use of code in
5934 Changes the name of samples field of the SF_INFO to frames. The old name
5935 had caused too much confusion and it simply had to be changed. There will
5936 be at least one more pre-release.
5938 2002-08-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5941 Updated formats matrix to include RAW (header-less) GSM 6.10.
5942 Fix specificaltion of table and spelling mistakes.
5944 * src/sndfile.c src/command.c
5945 Fixed bug in SFC_CALC_MAX_SIGNAL family and psf_calc_signal_max ().
5949 Added test for SFC_CALC_MAX_SIGNAL and SFC_CALC_NORM_MAX_SIGNAL.
5952 Update version to 1.0.0rc5.
5955 Removed inclusion of un-necessary header.
5957 2002-08-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5960 Minor fixes of info written to log buffer.
5963 Add definition of HAVE_LRINT_REPLACEMENT.
5965 * tests/floating_point_test.c
5966 Fix file hash check on systems without lrint/lrintf.
5969 Limit SNR to less than -500.0dB.
5971 * examples/sndfile2oct.c
5972 Fixed compiler warnings.
5975 Fixed error where last parameter of sf_error_str() was sf_count_t instead
5978 2002-08-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5981 Why doesn't libsndfile do interleaving/de-interleaving.
5983 * tests/pcm_test.tpl
5984 On Win32 do not perform hash check on files containing doubles.
5986 2002-08-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5989 Defined SF_COUNT_MAX_POSITIVE() macro, a portable way of setting variables
5990 of type sf_count_t to their maximum positive value.
5992 * src/dwvw.c src/w64.c
5993 Used SF_COUNT_MAX_POSITIVE().
5995 2002-07-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
5998 Fixed bug in reading/writing of 24 bit PCM PAF files on big endian systems.
6000 * tests/floating_point_tests.c
6001 Fixed hash values for 24 bit PCM PAF files.
6002 Disabled file has check if lrintf() function is not available and added
6004 Decreased level of signal from a peak of 1.0 to a value of 0.95 to prevent
6005 problems on platforms without lrintf() ie Solaris.
6007 2002-07-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6010 Fixed a problem with two different kinds of mal-formed WAV file header. The
6011 first had the 'fact' chunk before the 'fmt ' chunk, the other had an
6012 incomplete 'INFO' chunk at the end of the file.
6015 Added fix to allow differentiation between W64 files and ACID files.
6017 * src/au_g72x.c src/common.h src/sndfile.c
6018 Added error for G72x encoded files with more than one channel.
6020 * tests/pcm_test.tpl tests/utils.tpl
6021 Moved function check_file_hash_or_die() to utils.tpl. Function was then
6022 modified to calculate the has of the whole file.
6025 Fixed problem writing the 'fact' chunk on big endian systems.
6028 Fixed bug where .paf files were being written as Sphere NIST.
6030 2002-07-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6033 Fix for reading headers generated using SFC_UPDATE_HEADER_NOW.
6036 Add docs for SFC_UPDATE_HEADER_NOW and SFC_SET_UPDATE_HEADER_AUTO.
6038 2002-07-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6040 * man/sndfile-info.1 man/sndfile-play.1
6041 Added manpages supplied by Joshua Haberman the Debian maintainer for
6042 libsndfile. Additional tweaks by me.
6044 * configure.in man/Makefile.am
6045 Hooked manpages into autoconf/automake system.
6048 Added hooks for SFC_SET_UPDATE_HEADER_AUTO.
6050 * tests/update_header_test.c
6051 Improved rigor of testing.
6054 Fixed problem with *_write_header() functions.
6056 2002-07-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6059 Updates to documentation to fix problems found by wdg-html-validator.
6061 * src/common.h src/command.c
6062 Added normalize parameter to calls to psf_calc_signal_max() and
6063 psf_calc_max_all_channels().
6066 Added handling for commands SFC_CALC_NORM_SIGNAL_MAX and
6067 SFC_CALC_NORM_MAX_ALL_CHANNELS.
6070 Added entry for SFC_CALC_NORM_SIGNAL_MAX and SFC_CALC_NORM_MAX_ALL_CHANNELS.
6072 2002-07-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6074 * examples/sndfile-play.c Win32/Makefile.msvc
6075 Get sndfile-play program working on Win32. The Win32 PCM sample I/O API
6076 sucks. The sndfile-play program now works on Linux, MacOSX, Solaris and
6079 2002-07-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6082 New file for frequently asked questsions.
6084 2002-07-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6087 Documentation fixes.
6089 * src/au.[ch] src/au_g72x.c src/G72x/g72x.h
6090 Add support of 40kbps G723 ADPCM encoding.
6092 * tests/lossy_comp_test.c tests/floating_point_test.c
6093 Add tests for 40kbps G723 ADPCM encoding.
6096 Update support matrix.
6098 2002-07-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6101 Documented SFC_GET_SIMPLE_FORMAT_COUNT, SFC_GET_SIMPLE_FORMAT,
6102 SFC_GET_FORMAT_* and SFC_SET_ADD_PEAK_CHUNK.
6104 * src/sndfile.c src/pcm.c
6105 Add ability to turn on and off the addition of a PEAK chunk for floating
6106 point WAV and AIFF files.
6108 * src/sndfile.[ch] src/common.h src/command.c
6109 Added sf_command SFC_CALC_MAX_ALL_CHANNELS. Implemented by Maurizio Umberto
6113 Docs for SFC_CALC_MAX_ALL_CHANNELS (assisted by Maurizio Umberto Puxeddu).
6115 2002-07-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6117 * src/sndfile.c src/gsm610.c
6118 Finalised support for GSM 6.10 AIFF files and added support for GSM 6.10
6119 encoded RAW (header-less) files.
6122 Add support for IBM_FORMAT_MULAW and IBM_FORMAT_ALAW encodings.
6125 Fixed more documentation bugs.
6127 2002-07-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6129 * src/sndfile.h src/common.h
6130 Moved some yet-to-be-implelmented values for SF_FORMAT_* from the public
6131 header file sndfile.h to the private header file common.h to avoid
6132 confusion about the actual capabilities of libsndfile.
6134 2002-07-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6136 * src/aiff.c src/wav.c
6137 Fixed file parsing for WAV and AIFF files containing non-audio data after
6140 * src/aiff.c src/sndfile.c
6141 Add support for GSM 6.10 encoded AIFF files.
6143 * tests/lossy_comp_test.c tests/Makefile.am
6144 Add tests for GSM 6.10 encoded AIFF files.
6147 Fix compiler warnings.
6149 2002-07-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6151 * tests/command_test.c
6152 For SFC_SET_NORM_* tests, change the file format from SF_FORMAT_WAV to
6156 Added sf_command(SFC_TEST_ADD_TRAILING_DATA) to allow testing of reading
6157 from AIFF and WAV files with non-audio data after the audio chunk.
6160 Add test commands SFC_TEST_WAV_ADD_INFO_CHUNK and
6161 SFC_TEST_AIFF_ADD_INST_CHUNK. When these commands are working, they will be
6162 moved to src/sndfile.h
6164 * src/aiff.c src/wav.c
6165 Begin implementation of XXXX_command() hook for sf_command().
6167 * tests/write_read_test.tpl
6168 Added sf_command (SFC_TEST_ADD_TRAILING_DATA) to ensure above new code was
6171 2002-07-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6173 * tests/update_header_test.c
6174 Allow read sample count == write sample count - 1 to fix problems with VOC
6177 * tests/write_read_test.tpl tests/pcm_test.tpl
6178 Fixed some problems in the test suite discovered by using Valgrind.
6180 2002-07-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6182 * tests/utils.[ch] tests/*.c
6183 Renamed check_log_buffer() to check_log_buffer_or_die().
6186 SFC_UPDATE_HEADER_NOW and SFC_SETUPDATE_HEADER_AUTO almost finished. Works
6187 for all file formats other than VOC.
6189 2002-07-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6191 * src/sndfile.[ch] src/common.h
6192 Started adding functionality to allow the file header to be updated before
6193 the file is closed on files open for SFM_WRITE. This was requested by
6194 Maurizio Umberto Puxeddu who is using libsndfile for file I/O in iCSound.
6196 * tests/update_header_test.c
6197 New test program to test that the above functionality is working correctly.
6199 * tests/peak_chunk_test.c tests/floating_point_test.c
6202 2002-07-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6205 Changed length count parameters for all endswap_XXX() functions from
6206 sf_count_t (which can be 64 bit even on 32 bit architectures) to int. These
6207 functions are only called frin inside the library, are always called with
6208 integer parameters and doing the actual calculation on 64 bit values is
6209 slow in comparision to doing it on ints.
6211 * examples/sndfile-play.c
6212 More playback hacking for Win32.
6214 2002-07-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6217 In psf_log_printf(), changed %D format conversion specifier to %M (marker) and
6218 added %D specifier for printing the sf_count_t type.
6221 Changed all usage of psf_log_printf() with %D format conversion specifiers
6222 to use %M conversion instead.
6224 * tests/pcm_test.tpl tests/pcm_test.def
6225 New files to autogen pcm_test.c.
6228 Fixed bug in scaling floats and doubles to 24 bit PCM and vice versa.
6230 2002-07-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6233 Fix setup of $ac_cv_sys_largefile_CFLAGS so that sndfile.pc gets valid
6236 * examples/sndfile-play.c
6237 Start adding playback support for Win32.
6239 2002-07-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6242 Worked to removed compiler warnings.
6243 Extensive refactoring.
6246 Added function psf_memset() which works like the standard C function memset
6247 but takes and sf_count_t as the length parameter.
6250 Replaced calls to memset(0 with calls to psf_memset() as required.
6252 2002-07-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6255 Added "libsndfile : " to the start of all error messages. This was suggested
6256 by Conrad Parker author of Sweep ( http://sweep.sourceforge.net/ ).
6259 Added endswap_XXXX_copy() functions.
6261 * src/pcm.c src/float32.c src/double64.c
6262 Use endswap_XXXX_copy() functions and removed dead code.
6263 Cleanups and optimisations.
6265 2002-07-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6267 * src/sndfile.c src/sndfile.h
6268 Gave values to all the SFC_* enum values to allow better control of the
6269 interface as commands are added and removed.
6270 Added new command SFC_SET_ADD_PEAK_CHUNK.
6272 * src/wav.c src/aiff.c
6273 Modified wav_write_header and aiff_write_header to make addition of a PEAK
6274 chunk optional, even on floating point files.
6276 * tests/benchmark.tpl
6277 Added call to sf_command(SFC_SET_ADD_PEAK_CHUNK) to turn off addition of a
6278 PEAK chunk for the benchmark where we are trying to miximize speed.
6281 Changed tribyte typedef to something more sensible.
6282 Further conversion speed ups.
6284 2002-07-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6287 In major_formats rename "Sphere NIST" to "NIST Sphere".
6289 * src/common.c src/sfendian.c
6290 Moved all endswap_XXX_array() functions to sfendian.c. These functions will
6291 be tweaked to provide maximum performance. Since maximum performance on one
6292 platform does not guarantee maximum performance on another, a small set of
6293 functions will be written and the optimal one chosen at compile time.
6295 * src/common.h src/sfendian.h
6296 Declarations of all endswap_XXX_array() functions moved to sfendian.h.
6299 Add sfendian.c to build targets.
6301 2002-07-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6303 * src/pcm.c src/sfendian.h
6304 Re-coded PCM encoders and decoders to match or better the speed of
6305 libsndfile version 0.0.28.
6307 2002-06-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6310 Add checking for WAVPACK data in standard PCM WAV file. Return error if
6311 found. This WAVPACK is *WAY* broken. It uses the same PCM WAV file header
6312 and then stores non-PCM data.
6314 * tests/benchmark.tpl
6317 2002-06-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6319 * tests/benchmark.tpl
6320 Added conditional definition of M_PI.
6321 For Win32, set WRITE_PERMS to 0777.
6323 * Win32/Makefile.msvc
6324 Added target to make generate program on Win32.
6327 Removed handler for Samplitude RAP file format. This file type seems rarer
6328 than hens teeth and is completely undocumented.
6330 * src/common.h src/sndfile.c src/Makefile.am Win32/Makefile.msvc
6331 Removed references to sampltiude RAP format.
6333 * tests/benchmark.tpl
6334 Benchmark program now prints the libsndfile version number when run. This
6335 program was also backported to version 0 to compare results. Version
6336 1.0.0rc2 is faster than version 0.0.28 on most conversions but slower on
6337 some. The slow ones need to be fixed before final release.
6339 2002-06-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6341 * tests/benchmark.def tests/benchmark.tpl
6342 New files which generate tests/benchmark.c using Autogen. Added int ->
6343 SF_FORMAT_PCM_24 test.
6346 Now and Autogen output file.
6349 Updated for above changes.
6351 2002-06-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6354 Basic benchmark program complete. Need to convert it to Autogen.
6356 * Win32/Makefile.msvc
6357 Added benchmark.exe target.
6359 2002-06-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6361 * examples/generate.c
6362 New program to generate a number of different output file formats from a
6363 single input file. This allows testing of the created files.
6366 New test program to benchmark libsndfile. Nowhere near complete yet.
6368 * examples/Makefile.am tests/Makefile.am
6369 New make rules for the two new programs.
6371 2002-06-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6373 * Win32/libsndfile.def
6374 Removed definition for sf_signal_max().
6380 A number of documentation bugs were fixed. Thanks to Anand Kumria.
6382 * doc/version-1.html
6386 Bumped version to 1.0.0rc2.
6388 * src/sf_command.h src/Makefile.am
6389 Removed the header file as it was no longer being used. Thanks to Anand
6390 Kunria for spotting this.
6393 A number of documentation bugs were fixed. Thanks to Anand Kumria.
6395 2002-06-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6398 Test for Win32 before testing SIZEOF_OFF_T so that it works correctly
6402 Win32 fixes to ensure O_BINARY is used for file open.
6405 New file documenting the building libsndfile on Win32.
6408 Updating of documentation.
6410 2002-06-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6413 Minor changes to allow easier determination of test file name.
6416 Removed function sf_signal_max().
6418 * examples/sndfile-play.c
6419 Changed call to sf_signal_max() to a call to sf_command().
6421 2002-06-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6423 * src/format.c src/command.c
6424 Renamed format.c to command.c which will now include code for sf_command()
6425 calls to perform operations other than format commands.
6427 * src/sndfile.c src/sndfile.h
6428 Removed function sf_get_signal_max() which is replaced by commands passed
6432 Implement commands SFC_CALC_SIGNAL_MAX.
6435 Documented SFC_CALC_SIGNAL_MAX.
6437 2002-06-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6439 * examples/sndfile-play.c
6440 Mods to make sndfile-play work on Solaris. The program sndfile-play now
6441 runs on Linux, MaxOSX and Solaris. Win32 to come.
6444 Added SF_FORMAT_DWVW_* to subtype_formats array.
6447 Added support for 8 bit NIST Sphere files. Example file supplied by Anand
6450 2002-06-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6452 * examples/sndfile-info.c
6453 Tidy up of output format.
6455 * examnples/sndfile-play.c
6456 Mods to make sndfile-play work on MacOSX using Apple's CoreAudio API.
6459 Add new variables OS_SPECIFIC_INCLUDES and OS_SPECIFIC_LINKS which were
6460 required to supply extra include paths and link parameters to get
6461 sndfile-play working on MacOSX.
6463 * examples/Makefile.am
6464 Use OS_SPOECIFIC_INCLUDES and OS_SPECIFIC_LINKS to build commands for
6467 2002-06-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6470 Added ability to read/write new NIST Sphere file types (A-law, u-law).
6471 Header parser was re-written from scratch. Example files supplied by Anand
6475 Support for A-law and u-law NIST files.
6477 * tests/Makefile.am tests/lossy_comp_test.c
6478 Tests for A-law and u-law NIST files.
6480 2002-06-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6483 Fixed an error in error string.
6485 2002-06-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6488 Removed exit command to allow cross-compiling.
6490 * Win32/unistd.h src/file_io.c
6491 Moved contents of first file into the second file (enclosed in #ifdef).
6492 Win32/unistd.h is now an empty file but still must be there for libsndfile
6493 to compile on Win32.
6495 * src/sd2.c, src/sndfile.c:
6496 Fixes for Sound Designer II files on big endian systems.
6498 2002-06-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6501 Modified to work around problems with crappy MacOSX version of sed.
6502 Added sanity check for proper values for CFLAGS.
6504 2002-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6507 Code clean up in sf_open ().
6509 * Win32/Makefile.msvc
6510 Michael Fink's contributed MSVC++ makefile was hacked to bits and put back
6511 together in a new improved form.
6514 Fixes for Win32; _lseeki64() returns an invalid argument for calls like
6515 _lseeki64(fd, 0, SEEK_CUR) so need to use _telli64 (fd) instead.
6517 * src/common.h src/sndfile.c src/wav.c src/aiff.c
6518 Added SFE_LOG_OVERRUN error.
6519 Added termination for potential infinite loop when parsing file headers.
6521 * src/wav.c src/w64.c
6522 Fixed bug casuing incorrect header generation when opening file read/write.
6524 2002-06-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6527 Improved the documentation to make it clearer that the file read method
6528 and the underlying file format are completely disconnected. Suggested
6532 Started correcting docs to take into account changes made to the
6533 operations of the sf_command () function. Not complete yet.
6536 Reverted some changes which had broken the partially working SDII header
6537 parsing. Now have access to an iBook with OS X so reading and writing SDII
6538 files on all platforms should be a reality in the near future. On Mac this
6539 will involve reading the resource fork via the standard MacOS API. To move
6540 a file from Mac to another OS, the resource and data forks will need to be
6541 combined before transfer. The combined file will be read on both Mac and
6542 other OSes like any other file.
6544 2002-06-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6547 Applied a patch from http://fink.sourceforge.net/doc/porting/libtool.php
6548 which allows libsndfile to compile on MacOSX 10.1. This patch should not
6549 interfere with compiling on other OSes.
6551 * src/GSM610/private.h
6552 Changes to fix compile problems on MacOSX (see src/GSM610/ChangeLog).
6555 Added MacOSX replacements for lrint() and lrintf().
6557 2002-06-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6560 Replaced the code to print the filename to the log buffer when a file is
6561 opened. This code seems to have been left out during the merge of
6562 sf_open_read() and sf_open_write() to make a single functions sf_open().
6564 2002-06-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6567 Fixed a bug where the WAV header parser was going into an infinite loop
6568 on a badly formed LIST chunk. File supplied by David Viens.
6570 2002-05-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6573 Added a message at the end of the configuration process to warn about the
6574 need for the use of pkg-config when linking programs against version 1 of
6577 * doc/pkg-config.html
6578 New documentation file containing details of how to use pkg-config to
6579 retrieve settings for CFLAGS and library locations for linking files
6580 against version 1 of libsndfile.
6582 2002-05-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6585 Fixed minor bug in handling of so-called ACIDized WAV files.
6587 2002-05-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6589 * Win32/libsndfile.def Win32/Makefile.msvc
6590 Two new files contributed by Michael Fink (from the winLAME project)
6591 which allows libsndfile to be built on windows in a MSDOS box by doing
6592 "nmake -f Makefile.msvc". Way cool!
6594 2002-05-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6597 MacOSX is SSSOOOOOOO screwed up!!! I can't believe how hard it is to
6598 generate a tarball which will configure and compile on that platform.
6599 Joined the libtool mailing list to try and get some answers.
6601 2002-05-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6604 Changed to autoconf version 2.50. MacOSX uses autoconf version 2.53 which
6605 is incompatible with with version 2.13 which had been using until now.
6606 The AC_SYS_LARGE_FILE macro distributed withe autoconf 2.50 is missing a
6607 few features so AC_SYS_EXTRA_LARGE file was defined to replace it.
6610 Changed to automake version 1.5 to try and make a tarball which will
6613 2002-05-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6616 Changed name to gsm610.c. Added reading/writing of headerless files.
6618 * src/sndfile.c src/raw.c
6619 Added ability to read/write headerless (SF_FORMAT_RAW) GSM 6.10 files.
6621 2002-05-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6623 * tests/lossy_comp_test.c
6624 Clean up in preparation for Autogen-ing this file.
6627 Code cleanup and prepartion forgetting file seek working. Details in
6628 src/GSM610/ChangeLog.
6631 Testing complete. Is sndfile.m4 still needed?
6633 2002-05-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6635 * tests/write_read_test.tpl tests/rdwr_test.tpl
6636 Merged tests from these two programs into write_read_test.tpl and deleted
6639 2002-05-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6641 * src/w64.c src/svx.c src/paf.c
6642 Fixed bugs in read/write mode.
6644 2002-05-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6646 * examples/Makefile.am
6647 Renamed sfplay.c to sndfile-play.c and sndfile_info.c to sndfile-info.c for
6648 consistency when these programs become part of the Debian package
6652 New file to replace sndfile-config.in. Libsndfile now uses the pkg-config
6653 model for providing installation parameters to dependant programs.
6656 Cleanup of code in sf_open().
6658 2002-05-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6660 * tests/utils.tpl tests/write_read_test.tpl
6661 More conversion to Autogen fixes and enchancements.
6664 Read/write mode is now working for 16, 24 and 32 bit PCM as well as 32
6665 bit float and 64 bit double data. More tests still required.
6668 Added DISTCLEANFILES target to remove config.status and config.last.
6670 * Win32/Makefile.am MacOS/Makefile.am
6671 Added DISTCLEANFILES target to remove Makefile.
6673 2002-05-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6675 * src/*.[ch] tests/rdwr_test.c
6676 More verifying workings of read/write mode. Fixing bugs found.
6679 Made these files Autogen generated files.
6681 * tests/util.tpl tests/util.def
6682 New Autogen files to generate utils.[ch]. Moved some generic test functions
6683 into this file. Autogen is such a great tool!
6685 2002-05-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6687 * src/pcm.c src/float_cast.h Win32/config.h
6688 Fixed a couple of Win32 specific bugs pointed out by Michael Fink
6689 (maintainer of WinLAME) and David Viens.
6691 * tests/check_log_buffer.[ch] tests/utils.[ch]
6692 Moved check_log_buffer() to utils.[ch] and deleted old file.
6694 2002-05-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6696 * src/common.[ch] src/sndfile.c
6697 New function psf_default_seek() which will be the default seek function
6698 for things like PCM and floating point data. This default is set for
6699 both read and write in sf_open() but can be over-ridden by any codec
6700 during it's initialisation.
6702 2002-05-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6705 AU files use a data size value of -1 to mean unknown. Fixed au_open_read()
6706 to allow opening files like this.
6708 * tests/rdwr_test .c
6712 Fixed bugs in read/write mode found due to improvements in the test
6715 2002-04-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6717 * tests/rdwr_test .c
6718 New file for testing read/write mode.
6720 2002-04-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6723 Removed all m4 macros from this directory as they get concatenated to form
6724 the file aclocal.m4 anyway.
6727 Moved this from the m4 directory to the root directory asn this is part of
6728 the distribution and is installed during "make install".
6730 2002-04-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6733 Removed logging of peaks for all file formats other than AIFF and WAV.
6735 * tests/write_read_test.tpl tests/write_read_test.def
6736 New files which autogen uses to generate write_read_test.c. Doing it this
6737 way makes write_read_test.c far easier to maintain. Other test programs
6738 will be converted to autogen in the near future.
6741 Fixed a few bugs found when testing on Sparc (bug endian) Solaris.
6743 2002-04-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6746 Fixed documention versioning.
6749 Fixed a bug in the routines which search for Large File Support on systems
6750 which have large file support by defualt.
6752 2002-04-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6755 Found and fixed an issue which can cause a bug in other software (I was
6756 porting Conrad Parker's Sweep program from version 0 of the library to
6757 version 1). When opening a file for write, the libsndfile code would
6758 set the sfinfo.samples field to a maximum value.
6760 * tests/write_read_test.c
6761 Added tests to detect the above problem.
6763 2002-04-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6766 Finished base implementation of read/write mode. Much more testing still
6770 Macro for detecting Large File Standard capabilities. This macro was ripped
6771 out of the aclocal.m4 file of GNU tar-1.13.
6774 Added detection of large file support. Files larger than 2 Gigabytes should
6775 now be supported on 64 bit platforms and many 32 bit platforms including
6776 Linux (2.4 kernel, glibc-2.2), *BSD, MacOS, Win32.
6778 * libsndfile_convert_version.py
6779 A Python script which attempts to autoconvert code written to use version 0
6782 2002-04-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6785 Finished base implementation of read/write mode. Much more testing still
6788 * tests/write_read_test.c
6789 Preliminary tests for read/write mode added. More needed.
6791 2002-04-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6794 Removed sf_open_read() and sf_open_write() functions,replacting them with
6795 sf_open() which takes an extra mode parameter (SF_OPEN_READ, SF_OPEN_WRITE,
6796 or SF_OPEN_RDWR). This new function sf_open can now be modified to allow
6797 opening a file formodification (RDWR).
6799 2002-04-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6802 Completed merging of separate xxx_open_read() and xxx_open_write()
6803 functions. All tests pass.
6805 2002-04-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6808 Massive refactoring required to merge au_open_read() with au_open_write()
6809 to create au_open().
6811 2002-04-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6814 Started changes required to allow a sound file to be opened in read/write
6815 mode, with separate file pointers for read and write. This involves merging
6816 of encoder/decoder functions like pcm_read_init() and pcm_write_init()
6817 int a new function pcm_init() as well as doing something similar for all
6818 the file type specific functions ie aiff_open_read() and aiff_open_write()
6819 were merged to make the function aiff_open().
6821 2002-04-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6824 New file containing psf_fopen(), psf_fread(), psf_fwrite(), psf_fseek() and
6825 psf_ftell() functions. These function will replace use of fopen/fread/fwrite
6826 etc and allow access to files larger than 2 gigabytes on a number of 32 bit
6827 OSes (Linux on x86, 32 bit Solaris user space apps, Win32 and MacOS).
6830 Replaced all instances of fopen with psf_open, fread with psd_read, fwrite
6831 with psf_write and so on.
6833 2002-03-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6836 Finally fixed all known problems with 12, 16 and 24 bit DWVW encoding.
6838 * tests/floating_point_test.c
6839 Added tests for 12, 16 and 24 bit DWVW encoding.
6841 2002-03-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6844 Defines a new m4 macro AC_C_FIND_ENDIAN, for determining the endian-ness of
6845 the target CPU. It first checks for the definition of BYTE_ORDER in
6846 <endian.h>, then in <sys/types.h> and <sys/param.h>. If none of these work
6847 and the C compiler is not a cross compiler it compiles and runs a program
6848 to test for endian-ness. If the compiler is a cross compiler it makes a
6849 guess based on $target_cpu.
6852 Modified to use AC_C_FIND_ENDIAN.
6857 2002-02-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6859 * tests/floating_point_test.c
6860 Tests completely rewritten using the dft_cmp function. Now able to
6861 calculate a quick guesstimate of the Signal to Noise Ratio of the encoder.
6863 2002-02-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6865 * tests/dft_cmp.[ch]
6866 New files containing functions for comparing pre and post lossily
6867 compressed data using a quickly hacked DFT.
6870 New files containing functions for saving pre and post encoded data in a
6871 file readable by the GNU Octave package.
6873 2002-02-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6875 * m4/lrint.m4 m4/lrintf.m4
6876 Fixed m4 macros to define HAVE_LRINT and HAVE_LRINTF even when the test
6879 2002-02-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6881 * tests/floating_point_test.c
6882 Fixed improper use of strncat ().
6884 2002-02-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6886 * tests/headerless_test.c
6887 New test program to test the ability to open and read a known file type as a
6888 RAW header-less file.
6890 2002-02-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6892 * tests/losy_comp_test.c
6893 Added a test to ensure that the data read from a file is not all zeros.
6895 * examples/sfconvert.c
6896 Added "-gsm610" encoding types.
6898 2002-01-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6900 * examples/sfconvert.c
6901 Added "-dwvw12", "-dwvw16" and "-dwvw24" encoding types.
6904 New file for testing DWVW encoder/decoder.
6906 2002-01-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6909 Implemented writing of DWVW. 12 bit seems to work, 16 and 24 bit still broken.
6912 Improved reporting of encoding types.
6917 2002-01-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6920 New file implementing lossless Delta Word Variable Width (DWVW) encoding.
6921 Reading 12 bit DWVW is now working.
6923 * src/aiff.c common.h sndfile.c
6924 Added hooks for DWVW encoded AIFF and RAW files.
6926 2002-01-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6929 Robustify header parsing.
6932 Header file wav.h was renamed to wav_w64.h to signify sharing of
6933 definitions across the two file types.
6935 * src/wav.c src/w64.c src/wav_w64.c
6937 Modified and moved functions with a high degree of similarity between
6938 wav.c and w64.c to wav_w64.c.
6940 2002-01-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6943 Completed work on getting read and write working.
6946 Added code to scale floating point data so it plays at a reasonable volume.
6948 * tests/Makefile.am tests/write_read_test.c
6949 Added tests for W64 files.
6951 2002-01-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6954 Modded all code in file header writing routines to use
6955 psf_new_binheader_writef().
6956 Removed psf_binheader_writef() from src/common.c.
6957 Globally replaced psf_new_binheader_writef with psf_binheader_writef.
6959 2002-01-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6962 Modded all code in file parsing routines to use psf_new_binheader_readf().
6963 Removed psf_binheader_readf() from src/common.c.
6964 Globally replaced psf_new_binheader_readf with psf_binheader_readf.
6967 Added new function psf_new_binheader_writef () which will soon replace
6968 psf_binheader_writef (). The new function has basically the same function
6969 as the original but has a more flexible and capable interface. It also
6970 allows the writing of 64 bit integer values for files contains 64 bit file
6973 2002-01-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6975 * src/formats.c src/sndfile.c src/sndfile.h
6976 Added code allowing full enumeration of supported file formats via the
6977 sf_command () interface.
6978 This feature will allow applications to avoid needing recompilation when
6979 support for new file formats are added to libsndfile.
6981 * tests/command_test.c
6982 Added test code for the above feature.
6984 * examples/list_formats.c
6985 New file. An example of the use of the supported file enumeration
6986 interface. This program lists all the major formats and for each major
6987 format the supported subformats.
6989 2002-01-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6991 * src/*.[ch] tests/*.c
6992 Changed command parameter of sf_command () function from a test string to
6993 an int. The valid values for the command parameter begin with SFC_ and are
6994 listed in src/sndfile.h.
6996 2001-12-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
6998 * src/formats.c src/sndfile.c
6999 Added an way of enumerating a set of common file formats using the
7000 sf_command () interface. This interface was suggested by Dominic Mazzoni,
7001 one of the main authors of Audacity (http://audacity.sourceforge.net/).
7003 2001-12-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7006 Added checking of filename parameter in sf_open_read (). Previousy, if a
7007 NULL pointer was passed the library would segfault.
7009 2001-12-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7011 * src/common.c src/common.h
7012 Changed the len parameter of the endswap_*_array () functions from type
7016 Fixed a problem which
7018 2001-12-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7021 Added conditional #include <sys/types.h> for EMX/gcc on OS/2. Thanks to
7022 Paul Hartman for pointing this out.
7024 * tests/lossy_comp_test.c tests/floating_point_test.c
7025 Added definitions for M_PI for when it isn't defined in <math.h>.
7027 2001-11-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7030 Re-implemented the header reader. Old version was making incorrect
7031 assumptions about the endian-ness of the file from the magic number at the
7032 start of the file. The new code looks at the integer which holds the
7033 number of channels and determines the endian-ness from that.
7035 2001-11-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7038 Added support for other AIFC types ('raw ', 'in32', '23ni').
7039 Further work on IMA ADPCM encoding.
7041 2001-11-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7044 Renamed from wav_ima_adpcm.c. This file will soon handle IMA ADPCM
7045 encodings for both WAV and AIFF files.
7048 Started adding IMA ADPCM support.
7050 2001-11-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7053 New file for handling double precision floating point (SF_FORMAT_DOUBLE)
7056 * src/wav.c src/aiff.c src/au.c src/raw.c
7057 Added support for SF_FORMAT_DOUBLE data.
7060 Addition of endswap_long_array () for endian swapping 64 bit integers. This
7061 function will work correctly on processors with 32 bit and 64 bit longs.
7062 Optimised endswap_short_array () and endswap_int_array ().
7065 Added and extra check. After the first file of each type is written to disk
7066 a checksum is performed of the first 64 bytes and checked against a pre-
7067 calculated value. This will work whatever the endian-ness of the host
7070 2001-11-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7073 Added handling of u-law, A-law encoded AIFF files. Thanks to Tom Erbe for
7074 supplying example files.
7076 * tests/lossy_comp_test.c
7077 Added tests for above.
7079 * src/common.h src/*.c
7080 Removed function typedefs from common.h and function pointer casting in all
7081 the other files. This allows the compiler to perform proper type checking.
7082 Hopefully this will prevernt problems like the sf_seek bug for OpenBSD,
7086 Added new function psf_new_binheader_readf () which will eventually replace
7087 psf_binheader_readf (). The new function has basically the same function as
7088 the original but has a more flexible and capable interface. It also allows
7089 the reading of 64 bit integer values for files contains 64 bit file
7092 2001-11-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7095 Completed implementation of VOC file handling. Can now handle 8 and 16 bit
7096 PCM, u-law and A-law files with one or two channels.
7098 * src/write_read_test.c tests/lossy_comp_test.c
7099 Added tests for VOC files.
7101 2001-11-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7104 Added inline asm version of lrint/lrintf for MacOS. Solution provided by
7108 More work on this braindamaged format. The VOC files produced by SoX also
7109 have a number of inconsistencies.
7111 2001-11-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7114 Added support for 8 bit PCM PAF files.
7116 * tests/write_read_test.c
7117 Added tests for 8 bit PAF files.
7119 2001-11-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7122 New test program to test for correct scaling of integer values between
7123 different sized integer containers (ie short -> int).
7124 The new specs for libsndfile state that when the source and destination
7125 containers are of a different size, the most significant bit of the source
7126 value becomes the most significant bit of the destination container.
7128 * src/pcm.c src/paf.c
7129 Modified to pass the above test program.
7131 * tests/write_read_test.c tests/lossy_comp_test.c
7132 Modified to work with the new scaling rules.
7134 2001-11-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7136 * src/raw.c tests/write_read_test.c tests/write_read_test.c
7137 Added ability to do raw reads/writes of float, u-law and A-law files.
7139 * src/*.[ch] examples/*.[ch] tests/*.[ch]
7140 Removed dependance on pcmbitwidth field of SF_INFO struct and moved to new
7141 SF_FORMAT_* types and use of SF_ENDIAN_BIG/LITTLE/CPU.
7143 2001-11-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7146 Started implmentation of major changes documented in doc/version1.html.
7148 Removed all usage of off_t which is not part of the ISO C standard. All
7149 places which were using it are now using type long which is the type of
7150 the offset parameter for the fseek function.
7151 This should fix problems on BeOS, MacOS and *BSD like systems which were
7152 failing "make check" because sizeof (long) != sizeof (off_t).
7154 --------------------------------------------------------------------------------
7155 This is the boundary between version 1 of the library above and version 0 below.
7156 --------------------------------------------------------------------------------
7158 2001-11-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7160 * examples/sfplay_beos.cpp
7161 Added BeOS version of sfplay.c. This needs to be compiled using a C++
7162 compiler so is therefore not built by default. Thanks to Marcus Overhagen
7165 2001-11-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7168 New example file showing how libsndfile can be used to read and play a
7170 At the moment on Linux is supported. Others will follow in the near future.
7172 2001-11-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7175 Fixed problem with normalisation code where a value of 1.0 could map to
7176 a value greater than MAX_SHORT or MAX_INT. Thanks to Roger Dannenberg for
7179 2001-11-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7182 Fixed scaling issue when reading/writing 8 bit files using
7183 sf_read/sf_write_short ().
7184 On read, values are scaled so that the most significant bit in the char
7185 ends up in the most significant bit of the short. On write, values are
7186 scaled so that most significant bit in the short ends up as the most
7187 significant bit in the char.
7189 2001-11-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7191 * src/au.c src/sndfile.c
7192 Added support for 32 bit float data in big and little endian AU files.
7194 * tests/write_read_test.c
7195 Added tests for 32 bit float data in AU files.
7197 2001-11-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7199 * tests/lossy_comp_test.c
7200 Finalised testing of stereo files where possible.
7202 2001-11-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7204 * src/wav_ms_adpcm.c
7205 Fixed bug in writing stereo MS ADPCM WAV files. Thanks to Xu Xin for
7206 pointing out this problem.
7208 2001-10-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7210 * src/wav_ms_adpcm.c
7211 Modified function srate2blocksize () to handle 44k1Hz stereo files.
7213 2001-10-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7216 Added support for Sonic Foundry 64 bit WAV format. As Linux (my main
7217 development platform) does not yet support 64 bit file offsets by default,
7218 current handling of this file format treats everything as 32 bit and fails
7219 openning the file, if it finds anything that goes beyond 32 bit values.
7221 * src/sndfile.[hc] src/common.h src/Makefile.am
7222 Added hooks for W64 support.
7224 2001-10-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7227 Added more warnings options to CFLAGS when the gcc compiler is detected.
7229 * src/*.[ch] tests/*.c examples/*.c
7230 Started fixing the warning messages due to the new CFLASG.
7233 More work on VOC file read/writing.
7236 Found that PAF files were not checking the normalisation flag when reading
7237 or writing floats and doubles. Fixed it.
7239 * tests/floating_point_test.c
7240 Added specific test for the above problem.
7242 * src/float_cast.h src/pcm.c
7243 Added a section for Win32 to define lrint () and lrintf () in the header
7244 and implement it in the pcm.c
7246 2001-10-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7248 * sndfile-config.in m4/sndfile.m4
7249 These files were donated by Conrad Parker who also provided instructions
7250 on how to install them using autoconf/automake.
7253 Fiddled around with this file some more. On Linux and other gcc supported
7254 OSes use the C99 functions lrintf() and lrint() for casting from floating
7255 point to int without incurring the huge perfromance penalty (particularly
7256 on the i386 family) caused by the regular C cast from float to int.
7257 These new C99 functions replace the FLOAT_TO_* and DOUBLE_TO_* macros which
7258 I had been playing with.
7260 * configure.in m4/lrint.m4 m4/lrintf.m4
7261 Add detection of these functions.
7263 2001-10-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7266 Completed code for reading VOC files containing a single audio data
7268 Started implementing code to handle files with multiple VOC_SOUND_DATA
7269 segments but couldn't be bothered finishing it. Multiple segment files can
7270 have different sample rates for different sections and other nasties like
7271 silence and repeat segments.
7273 2001-10-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7275 * src/common.h src/*.c
7276 Removed SF_PRIVATE struct field fdata and replaced it with extra_data.
7279 Further development of the read part of this woefult file format.
7281 2001-10-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7284 Implemented gcc and i386 floating point to int cast macros. Standard cast
7285 will be used when not on gcc for i385.
7288 Modified all uses of FLOAT/DOUBLE_TO_INT and FLOAT/DOUBLE_TO_SHORT casts to
7289 comply with macros in float_cast.h.
7291 2001-10-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7294 Changed the TYPE_xxx enum names to VOC_TYPE_xxx to prevent name clashes
7295 on MacOS with CodeWarrior 6.0.
7297 * MacOS/MacOS-readme.txt
7298 Updated the compile instructions. Probably still need work as I don't have
7301 2001-10-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7303 * src/wav.c src/aiff.c common.c
7304 Changed all references to snprintf to LSF_SNPRINTF and all vsnprintf to
7305 LSF_VSNPRINTF. LSF_VSNPRINTF and LSF_VSNPRINTF are defined in common.h.
7308 Added checking of HAVE_SNPRINTF and HAVE_VSNPRINTF and defining
7309 LSF_VSNPRINTF and LSF_VSNPRINTF to appropriate values.
7312 New file containing a minimal implementation of snprintf and vsnprintf
7313 functions named missing_snprintf and missing_vsnprintf respectively. These
7314 are only compliled into the binary if snprintf and/or vsnprintf are not
7317 2001-09-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7320 New file to handle Berkeley/IRCAM/CARL files.
7322 * src/sndfile.c src/common.h
7323 Modified for IRCAM handling.
7326 Added tests for IRCAM files.
7328 2001-09-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7331 Apparently microsoft windows (tm) doesn't like ulaw and Alaw WAV files with
7332 20 byte format chunks (contrary to ms's own documentation). Fixed the WAV
7333 header writing code to generate smaller ms compliant ulaw and Alaw WAV
7336 2001-09-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7338 * tests/stdio_test.sh tests/stdio_test.c
7339 Shell script was rewritten as a C program due to incompatibilities of the
7340 sh shell on Linux and Solaris.
7342 2001-09-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7344 * tests/stdio_test.sh tests/stdout_test.c tests/stdin_test.c
7345 New test programs to verify the correct operation of reading from stdin and
7348 * src/sndfile.c wav.c au.c nist.c paf.c
7349 Fixed a bugs uncovered by the new test programs above.
7351 2001-09-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7353 * src/sndfile.c wav.c
7354 Fixed a bug preventing reading a file from stdin. Found by T. Narita.
7356 2001-09-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7359 Fixed a problem on OpenBSD 2.9 which was causing sf_seek() to fail on IMA
7360 WAV files. Root cause was the declaration of the func_seek typedef not
7361 matching the functions it was actually being used to point to. In OpenBSD
7362 sizeof (off_t) != sizeof (int). Thanks to Heikki Korpela for allowing me
7363 to log into his OpenBSD machine to debug this problem.
7365 2001-09-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7368 Implemented sf_command ("norm float").
7371 Implemented handling of sf_command ("set-norm-float"). Float normalization
7372 can now be turned on and off.
7374 * tests/double_test.c
7375 Renamed to floating_point_test.c. Modified to include tests for all scaled
7376 reads and writes of floats and doubles.
7379 Fixed bug in normalization code found with improved floating_point_test
7383 Added code for parsing 'INFO' and 'LIST' chunks. Will be used for extract
7384 text annotations from WAV files.
7387 Added code for parsing '(c) ' and 'ANNO' chunks. Will be used for extract
7388 text annotations from WAV files.
7390 2001-09-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7392 * examples/sf_info.c example/Makefile.am
7393 Renamed to sndfile_info.c. The program sndfile_info will now be installed
7394 when the library is installed.
7397 New file defining floating point to short and int casts. These casts will
7398 eventually replace all flot and double casts to short and int. See comments
7399 at the top of the file for the reasoning.
7402 Changed all default float and double casts to short or int with macros
7403 defined in floatcast.h. At the moment these casts do nothing. They will be
7404 replaced with faster float to int cast operations in the near future.
7406 2001-08-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7408 * tests/command_test.c
7409 New file for testing sf_command () functionality.
7412 Revisiting of error return values of some functions.
7413 Started implementing sf_command () a new function will allow on-the-fly
7414 modification of library behaviour, or instance, sample value scaling.
7417 Added hook for format specific sf_command () calls to SNDFILE struct.
7420 Updated and errors corrected.
7423 New documentation file explaining new sf_command () function.
7425 2001-08-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7428 Fixed error return values from sf_read*() and sf_write*(). There were
7429 numerous instances of -1 being returned through size_t. These now all set
7430 error int the SF_PRIVATE struct and return 0. Thanks to David Viens for
7433 2001-08-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7436 Fixed use of va_arg() calls that were causing warning messages with the
7437 latest version of gcc (thanks Maurizio Umberto Puxeddu).
7439 2001-07-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7441 * src/*.c src/sfendian.h
7442 Moved definition of MAKE_MARKER macro to sfendian.h
7444 2001-07-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7447 Modified sf_get_lib_version () so that version string will be visible using
7448 the Unix strings command.
7450 * examples/Makefile.am examples/sfinfo.c
7451 Renamed sfinfo program and source code to sf_info. This prevents a name
7452 clash with the program included with libaudiofile.
7454 2001-07-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7456 * tests/read_seek_test.c tests/lossy_comp_test.c
7457 Added tests for sf_read_float () and sf_readf_float ().
7460 New files for handling Creative Voice files (not complete).
7463 New files for handling Samplitude files (not complete).
7465 2001-07-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7467 * src/aiff.c src/au.c src/paf.c src/svx.c src/wav.c
7468 Converted these files to using psf_binheader_readf() function. Will soon be
7469 ready to attempt to make reading writing from pipes work reliably.
7472 Added code for sf_read_float () and sf_readf_float () methods of accessing
7475 2001-07-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7477 * src/paf.c src/wav_gsm610.c
7478 Removed two printf()s which had escaped notice for some time (thanks
7479 Sigbjørn Skjæret).
7481 2001-07-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7484 Fixed a bug which prevented GSM 6.10 encoded WAV files generated by
7485 libsndfile from being played in Windoze (thanks klay).
7487 2001-07-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7490 Implemented psf_binheader_readf() which will do for file header reading what
7491 psf_binheader_writef() did for writing headers. Will eventually allow
7492 libsndfile to read and write from pipes, including named pipes.
7494 2001-07-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7496 * MacOS/config.h Win32/config.h
7497 Attempted to bring these two files uptodate with src/config.h. As I don't
7498 have access to either of these systems support for them may be completely
7501 2001-06-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7504 Fixed bug for big endian processors that can't read 32 bit IEEE floats. Now
7505 tested on Intel x86 and UltraSparc processors.
7507 2001-06-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7510 Modified to allow REX files (from Propellorhead's Recycle and Reason
7511 programs) to be read.
7512 REX files are basically an AIFF file with slightly unusual sequence of
7513 chunks (AIFF files are supposed to allow any sequence) and some extra
7514 application specific information.
7515 Not yet able to write a REX file as the details of the application specific
7518 2001-06-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7521 Fixed endian bug when reading PEAK chunk on big endian machines.
7524 Fixed endian bug when reading PEAK chunk on big endian machines with
7525 --enable-force-broken-float configure option.
7526 Fix psf_binheader_writef for (FORCE_BROKEN_FLOAT ||______)
7528 2001-06-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7530 * configure.in src/config.h.in
7531 Removed old CAN_READ_WRITE_x86_IEEE configure variable now that float
7532 capabilities are detected at run time.
7533 Added FORCE_BROKEN_FLOAT to allow testing of broken float code on machines
7534 where the processor can in fact handle floats correctly.
7537 Rejigged code reading and writing of floats on broken processors.
7540 Removed this directory and all its files as they are no longer needed.
7542 2001-06-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7544 * tests/peak_chunk_test.c
7545 New test to validate reading and writing of peak chunk.
7547 * examples/sfconvert
7548 Added -float32 option.
7551 Changed all error return values to negative values (ie the negative of what
7554 * src/sndfile.c tests/error_test.c
7555 Modified to take account of the previous change.
7557 2001-06-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7560 File renamed from wav_float.c and renamed function to something more
7562 Added runtime detection of floating point capabilities.
7563 Added recording of peaks during write for generation of PEAK chunk.
7565 * src/wav.c src/aiff.c
7566 Added handing for PEAK chunk for floating point files. PEAK is read when the
7567 file headers are read and generated when the file is closed. Logic is in
7568 place for adding PEAK chunk to end of file when writing to a pipe (reading
7569 and writing from/to pipe to be implemented soon).
7572 Modified sf_signal_max () to use PEAK values if present.
7574 2001-06-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7577 Added pcm_read_init () and pcm_write_init () to src/pcm.c and removed all
7578 other calls to functions in this file from the filetype specific files.
7581 Added alaw_read_init (), alaw_write_int (), ulaw_read_init () and
7582 ulaw_write_init () and removed all other calls to functions in alaw.c and
7583 ulaw.c from the filetype specific files.
7585 * tests/write_read_test.c
7586 Added tests to validate sf_seek () on all file types.
7589 Implemented raw_seek () function to fix a bug where
7590 sf_seek (file, 0, SEEK_SET) on a RAW file failed.
7593 Fixed a bug in paf24_seek () found due to added seeks tests in
7594 tests/write_read_test.c
7596 2001-06-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7598 * tests/read_seek_test.c
7599 Fixed a couple of broken binary files.
7601 * src/aiff.c src/wav.c
7602 Added handling of PEAK chunks on file read.
7604 2001-05-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7606 * check_libsndfile.py
7607 New file for the regression testing of libsndfile.
7608 check_libsndfile.py is a Python script which reads in a file containing
7609 filenames of audio files. Each file is checked by running the examples/sfinfo
7610 program on them and checking for error or warning messages in the libsndfile
7613 * check_libsndfile.list
7614 This is an example list of audio files for use with check_libsndfile.py
7616 * tests/lossy_comp_test.c
7617 Changed the defined value of M_PI for math header files which don't have it.
7618 This fixed validation test failures on MetroWerks compilers. Thanks to Lord
7619 Praetor Satanus of Acheron for bringing this to my attention.
7621 2001-05-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7624 Removed psf_header_setf () which was no longer required after refactoring
7625 and simplification of header writing.
7626 Added 'z' format specifier to psf_binheader_writef () for zero filling header
7627 with N bytes. Used by paf.c and nist.c
7629 * tests/check_log_buffer.c
7630 New file implementing check_log_buffer () which reads the log buffer of a
7631 SNDFILE* object and searches for error and warning messages. Calls exit ()
7635 Added calls to check_log_buffer () after each call to sf_open_XXX ().
7637 2001-05-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7639 * src/wav.c src/wav_ms_adpcm.c src/wav_gsm610.c
7640 Major rehack of header writing using psf_binheader_writef ().
7642 2001-05-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7644 * src/wav.c src/wav_ima_adpcm.c
7645 Major rehack of header writing using psf_binheader_writef ().
7647 2001-05-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7650 Changed return type of get_encoding_str () to prevent compiler warnings on
7653 * src/aiff.c src/au.c
7654 Major rehack of header writing using psf_binheader_writef ().
7656 2001-05-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7658 * src/common.h src/common.c
7660 Name of log buffer changed from strbuffer to logbuffer.
7661 Name of log buffer index variable changed from strindex to logindex.
7664 Changed name of internal logging function from psf_sprintf () to
7666 Changed name of internal header generation functions from
7667 psf_[ab]h_printf () to psf_asciiheader_printf () and
7668 psf_binheader_writef ().
7669 Changed name of internal header manipulation function psf_hsetf () to
7672 2001-05-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7675 Fixed reading and writing of sample_byte_format header. "01" means little
7676 endian and "10" means big endian regardless of bit width.
7679 Detect Mac OSX and disable -Wall and -pedantic gcc options. Mac OSX is
7680 way screwed up and spews out buckets of warning messages from the system
7682 Added --disable-gcc-opt configure option (sets gcc optimisation to -O0 ) for
7684 Made decision to harmonise source code version number and .so library
7685 version number. Future releases will stick to this rule.
7687 * doc/new_file_type.HOWTO
7688 New file to document the addition of new file types to libsndfile.
7690 2001-05-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7693 New file for reading/writing Sphere NIST audio file format.
7694 Originally requested by Elis Pomales in 1999.
7695 Retrieved from unstable (and untouched for 18 months) branch of libsndfile.
7696 Some vital information gleaned from the source code to Bill Schottstaedt's
7697 sndlib library : ftp://ccrma-ftp.stanford.edu/pub/Lisp/sndlib.tar.gz
7698 Currently reading and writing 16, 24 and 32 bit, big-endian and little
7699 endian, stereo and mono files.
7701 * src/common.h src/common.c
7702 Added psf_ah_printf () function to help construction of ASCII headers (ie NIST).
7705 Added test for vsnprintf () required by psf_ah_printf ().
7707 * tests/write_read_test.c
7708 Added tests for supported NIST files.
7710 2001-05-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7712 * tests/write_read_test.c
7713 Added tests for little endian AIFC files.
7716 Minor re-working of aiff_open_write ().
7717 Added write support for little endian PCM encoded AIFC files.
7719 2001-05-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7722 Minor re-working of aiff_open_read ().
7723 Added read support for little endian PCM encoded AIFC files from the Mac
7724 OSX CD ripper program. Guillaume Lessard provided a couple of sample files
7725 and a working patch.
7726 The patch was not used as is but gave a good guide as to what to do.
7728 2001-05-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7731 Fixed comments about endian-ness of WAV and AIFF files. Guillaume Lessard
7732 pointed out the error.
7734 2001-04-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7736 * examples/make_sine.c
7737 Re-write of this example using sample rate and required frequency in Hz.
7739 2001-02-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7742 Fixed bug that prevented known file types from being read as RAW PCM data.
7744 2000-12-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7747 Added handing of COMT chunk.
7749 2000-11-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7751 * examples/sfconvert.c
7752 Fixed bug in normalisatio code. Pointed out by Johnny Wu.
7754 2000-11-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7757 Fixed the incorrect setting of HAVE_ENDIAN_H parameter. Win32 only issue.
7759 2000-10-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7762 Added -lm for write_read_test_LDADD.
7764 2000-10-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7766 * src/sndfile.c src/au.c
7767 Fixed bug which prevented writing of G723 24kbps AU files.
7769 * tests/lossy_comp_test.c
7770 Corrrection to options for G723 tests.
7773 Added --disable-gcc-pipe option for DJGPP compiler (gcc on MS-DOS) which
7774 doesn't allow gcc -pipe option.
7776 2000-09-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7778 * src/ulaw.c src/alaw.c src/wav_imaadpcm.c src/msadpcm.c src/wav_gsm610.c
7779 Fixed normailsation bugs shown up by new double_test program.
7781 2000-08-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7784 Fixed bug in normalisation code (spotted by Steve Lhomme).
7786 * tests/double_test.c
7787 New file to test scaled and unscaled sf_read_double() and sf_write_double()
7790 2000-08-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7793 Changed to the LGPL COPYING file (spotted by H. S. Teoh).
7795 2000-08-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7798 Removed prototype of unimplemented function sf_get_info(). Added prototype
7799 for sf_error_number() Thanks to Sigbjørn Skjæret for spotting these.
7801 2000-08-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7804 New file to contain a complete rewrite of the PCM data handling.
7806 2000-08-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7809 Fixed a leak of FILE* pointers in sf_open_write(). Thanks to Sigbjørn
7810 Skjæret for spotting this one.
7812 2000-08-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7814 * src/au_g72x.c src/G72x/g72x.c
7815 Added G723 encoded AU file support.
7817 * tests/lossy_comp_test.c
7818 Added tests for G721 and G723 encoded AU files.
7820 2000-08-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7823 Changed the license to LGPL. Albert Faber who had copyright on
7824 Win32/unistd.h gave his permission to change the license on that file. All
7825 other files were either copyright erikd AT mega-nerd DOT com or copyright
7826 under a GPL/LGPL compatible license.
7828 2000-08-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7830 * tests/lossy_comp_test.c
7831 Fixed incorrect error message.
7833 * src/au_g72x.c src/G72x/*
7834 G721 encoded AU files now working.
7836 * Win32/README-Win32.txt
7837 Replaced this file with a new one which gives a full explanation
7838 of how to build libsndfile under Win32. Thanks to Mike Ricos.
7840 2000-08-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7843 Removed double leading underscores from the start of all variable and
7844 function names. Identifiers with a leading underscores are reserved
7845 for use by the compiler.
7847 * src/au_g72x.c src/G72x/*
7848 Continued work on G721 encoded AU files.
7850 2000-07-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7853 New files for reading/writing G721 and G723 ADPCM audio. These files
7854 are from a Sun Microsystems reference implementation released under a
7855 free software licence.
7856 Extensive changes to this code to make it fit in with libsndfile.
7857 See the ChangeLog in this directory for details.
7860 New file for G721 encoded AU files.
7862 2000-07-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7864 * libsndfile.spec.in
7865 Added a spec file for making RPMs. Thanks to Josh Green for supplying this.
7867 2000-06-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7869 * src/sndfile.c src/sndfile.h
7870 Add checking for and handling of header-less u-law encoded AU/SND files.
7871 Any file with a ".au" or ".snd" file extension and without the normal
7872 AU file header is treated as an 8kHz, u-law encoded file.
7875 New function for opening a headerless u-law encoded file for read.
7877 2000-06-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7880 Add checking for files shorter than minimal PAF file header length.
7882 2000-06-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7884 * tests/write_read_test.c
7885 Added extra sf_perror() calls when sf_write_XXXX fails.
7887 2000-05-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7890 Modified usage of va_arg() macro to work correctly on PowerPC
7891 Linux. Thanks to Kyle Wheeler for giving me ssh access to his
7892 machine while I was trying to track this down.
7894 * configure.in src/*.[ch]
7895 Sorted out some endian-ness issues brought up by PowerPC Linux.
7897 * tests/read_seek_test.c
7898 Added extra debugging for when tests fail.
7900 2000-05-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7903 Fixed bug in GSM 6.10 handling for big-endian machines. Thanks
7904 to Sigbjørn Skjæret for reporting this.
7906 2000-04-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7908 * src/sndfile.c src/wav.c src/wav_gsm610.c
7909 Finallised writing of GSM 6.10 WAV files.
7911 * tests/lossy_comp_test.c
7912 Wrote new test code for GSM 6.10 files.
7915 Fixed incorrect format in printf() statement.
7917 2000-04-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7920 Fixed comments about sf_perror () and sf_error_str ().
7922 2000-03-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7925 Fixed --enable-justsrc option.
7927 2000-03-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7930 Fixed checking of bytespersec field of header. Still some weirdness
7933 2000-03-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7935 * tests/lossy_comp_test.c
7936 Added option to test PCM WAV files (sanity check).
7937 Fixed bug in sf_seek() tests.
7939 2000-02-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7941 * src/sndfile.c src/wav.c
7942 Minor changes to allow writing of GSM 6.10 WAV files.
7944 2000-02-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7946 * configure.in Makefile.am src/Makefile.am
7947 Finally got around to figuring out how to build a single library from
7948 multiple source directories.
7949 Reading GSM 6.10 files now seems to work.
7951 2000-01-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7954 Added more error reporting in read_fmt_chunk().
7956 1999-12-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7959 Modified program to accept multiple filenames from the command line.
7961 1999-11-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7963 * src/wav_ima_adpcm.c
7964 Moved code around in preparation to adding ability to read/write IMA ADPCM
7967 1999-11-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7970 Fixed put_int() and put_short() macros used by _psf_hprintf() which were
7971 causing seg. faults on Sparc Solaris.
7973 1999-11-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7976 Added string.h to includes. Thanks to Sigbjxrn Skjfret.
7979 Fixed __svx_close() function to ensure FORM and BODY chunks are correctly
7982 1999-10-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7985 Fixed handling of incorrect size field in AU header on read. Thanks to
7986 Christoph Lauer for finding this problem.
7988 1999-09-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7991 Fixed a bug with incorrect SSND chunk length being written. This also lead
7992 to finding an minor error in AIFF header parsing. Thanks to Dan Timis for
7995 1999-09-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
7998 Fixed a bug with reading and writing 24 bit stereo PAF files. This problem
7999 came to light when implementing tests for the new functions which operate
8000 in terms of frames rather than items.
8002 1999-09-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8005 Modified file type detection to use first 12 bytes of file rather than
8006 file name extension. Required this because NIST files use the same
8007 filename extension as Microsoft WAV files.
8009 * src/sndfile.c src/sndfile.h
8010 Added short, int and double read/write functions which work in frames
8011 rather than items. This was originally suggested by Maurizio Umberto
8014 1999-09-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8017 Finished off implementation of write using __psf_hprintf().
8019 1999-09-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8022 Added a buffer to SF_PRIVATE for writing the header. This is required
8023 to make generating headers for IFF/SVX files easier as well as making
8024 it easier to do re-write the headers which will be required when
8025 sf_rewrite_header() is implemented.
8028 Implemented __psf_hprintf() function. This is an internal function
8029 which is documented briefly just above the code.
8031 1999-09-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8034 Fixed a bug in sf_write_raw() where it was returning incorrect values
8035 (thanks to Richard Dobson for finding this one). Must put in a test
8036 routine for sf_read_raw and sf_write_raw.
8039 Fixed default FORMsize in __aiff_open_write ().
8042 Added copy of filename to internal data structure. IFF/SVX files
8043 contain a NAME header chunk. Both sf_open_read() and sf_open_write()
8044 copy the file name (less the leading path information) to the
8048 Started implementing writing of files.
8050 1999-08-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8053 New file for reading/writing 8SVX and 16SVX files.
8055 * src/sndfile.[ch] src/common.h
8056 Changes for SVX files.
8059 Fixed header parsing when unknown chunk is found.
8061 1999-08-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8064 New file for reading/writing Ensoniq PARIS audio file format.
8066 * src/sndfile.[ch] src/common.h
8067 Changes for PAF files.
8070 Added stuff for sf_get_lib_version() function.
8073 1999-07-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8075 * src/sndfile.h MacOS/config.h
8076 Fixed minor MacOS configuration issues.
8078 1999-07-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8081 Added a new directory for the MacOS config.h file and the
8085 Fixed calculation of datalength when reading SSND chunk. Thanks to
8086 Sigbjørn Skjæret for pointing out this error.
8088 1999-07-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8090 * src/sndfile.c src/sndfile.h src/raw.c
8091 Further fixing of #includes for MacOS.
8093 1999-07-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8095 * src/wav.c src/aiff.c
8096 Added call to ferror () in main header parsing loop of __XXX_open_read
8097 functions. This should fix problems on platforms (MacOS, AmigaOS) where
8098 fseek()ing or fread()ing beyond the end of the file puts the FILE*
8099 stream in an error state until clearerr() is called.
8101 * tests/write_read_test.c
8102 Added tests for RAW header-less PCM files.
8105 Moved definition of struct tribyte to pcm.c which is the only place
8109 Modified all code which assumed sizeof (struct tribyte) == 3. This code
8110 did not work on MacOS. Thanks to Ben "Jacobs" for pointing this out.
8113 Removed <sys/stat.h> from list of #includes (not being used).
8116 Added MacOS specific #ifdef to replace <sys/stat.h>.
8119 Added MacOS specific #ifdef to replace <sys/stat.h>.
8122 Added MacOS specific typedef for off_t.
8125 New file with instructions for building libsndfile under MacOS. Thanks
8126 to Ben "Jacobs" for supplying these instructions.
8128 1999-07-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8131 Removed sndfile.h from generated file list as there were no longer
8132 any autoconf substitutions being made.
8135 New file for handling raw header-less PCM files. In order to open these
8136 for read, the user must specify format, pcmbitwidth and channels in the
8137 SF_INFO struct when calling sf_open_read ().
8140 Added support for raw header-less PCM files.
8142 1999-07-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8145 Removed options so the sfinfo program always prints out all the information.
8147 1999-07-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8150 New file for A-law encoding (similar to u-law).
8153 New test program to test the A-law encode/decode lookup tables.
8155 * tests/lossy_comp_test.c
8156 Added tests for a-law encoded WAV, AU and AULE files.
8158 1999-07-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8160 * src/sndfile.c src/au.c
8161 Removed second "#include <unistd.h>". Thanks to Ben "Jacobs" for pointing
8164 1999-07-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8167 New test program to test the u-law encode/decode lookup tables.
8169 1999-07-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8172 Made corrections to comments on the return values from sf_seek ().
8175 Fixed boundary condition checking bug and accounting bug in sf_read_raw ().
8177 1999-07-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8179 * src/au.c src/ulaw.c
8180 Finished implementation of u-law encoded AU files.
8183 Implemented reading and writing of u-law encoded WAV files.
8186 Changed name of adpcm_test.c to lossy_comp_test.c. This test program
8187 will now be used to test Ulaw and Alaw encoding as well as APDCM.
8188 Added tests for Ulaw encoded WAV files.
8190 1999-07-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8192 * tests/adpcm_test.c
8193 Initialised amp variable in gen_signal() to remove compiler warning.
8195 1999-07-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8198 In __aiff_open_read () prevented fseek()ing beyond end of file which
8199 was causing trouble on MacOS with the MetroWerks compiler. Thanks to
8200 Ben "Jacobs" for pointing this out.
8203 Fixed as above in __wav_open_read ().
8205 1999-07-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8207 * src/wav_ms_adpcm.c
8208 Implemented MS ADPCM encoding. Code cleanup of decoder.
8210 * tests/adpcm_test.c
8211 Added tests for MS ADPCM WAV files.
8213 * src/wav_ima_adpcm.c
8214 Fixed incorrect parameter in call to srate2blocksize () from
8215 __ima_writer_init ().
8217 1999-06-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8219 * tests/read_seek_test.c
8220 Added test for 8 bit AIFF files.
8222 1999-06-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8224 * tests/write_read_test.c
8225 Removed test for IMA ADPCM WAV files which is now done in adpcm_test.c
8228 Added -Wconversion to CFLAGS.
8230 * src/*.c tests/*.c examples/*.c
8231 Fixed all warnings resulting from use of -Wconversion.
8233 1999-06-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8236 Added fact chunk handling on read and write for all non WAVE_FORMAT_PCM
8240 Changed block alignment to be dependant on sample rate. This should make
8241 WAV files created with libsndfile compatible with the MS Windows media
8244 * tests/adpcm_test.c
8245 Reimplemented adpcm_test_short and implemented adpcm_test_int and
8247 Now have full testing of IMA ADPCM WAV file read, write and seek.
8249 1999-06-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8252 Fixed function prototype for x86f2d_array () which was causing ocassional
8253 seg. faults on Sparc Solaris machines.
8255 1999-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8258 Fixed bug in __aiff_close where the length fields in the header were
8259 not being correctly calculated before writing.
8261 * tests/write_read_test.c
8262 Modified to detect the above bug in WAV, AIFF and AU files.
8264 1999-06-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8267 Added a contribution from Albert Faber to allow libsndfile to compile
8268 under Win32 systems. libsndfile will now be used as part of LAME the
8269 the MPEG 1 Layer 3 encoder (http://internet.roadrunner.com/~mt/mp3/).
8271 1999-06-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8274 Changed to reflect previous changes.
8276 * src/wav_ima_adpcm.c
8277 Fixed incorrect calculation of bytespersec header field (IMA ADPCM only).
8279 Fixed bug when writing from int or double data to IMA ADPCM file. Will need
8280 to write test code for this.
8282 Fixed bug in __ima_write () whereby the length of the current block was
8283 calculated incorrectly. Thanks to Jongcheon Park for pointing this out.
8285 1999-03-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8288 Changed all read/write/lseek function calls to fread/fwrite/
8289 fseek/ftell and added error checking of return values from
8290 fread and fwrite in critical areas of the code.
8293 Fixed incorrect datasize element in AU header on write.
8295 * tests/error_test.c
8296 Add new test to check all error values have an associated error
8297 string. This will avoid embarrassing real world core dumps.
8299 1999-03-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8301 * src/wav.c src/aiff.c
8302 Added handling for unknown chunk markers in the file.
8304 1999-03-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8307 Filled in missing error strings in SndfileErrors array. Missing entries
8308 can cause core dumps when calling sf_error-str (). Thanks to Sam
8309 <mrsam at-sign geocities.com> for finding this problem.
8311 1999-03-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8313 * src/wav_ima_adpcm.c
8314 Work on wav_ms_adpcm.c uncovered a bug in __ima_read () when reading
8315 stereo files. Caused by not adjusting offset into buffer of decoded
8316 samples for 2 channels. A similar bug existed in __ima_write ().
8317 Need a test for stereo ADPCM files.
8319 * src/wav_ms_adpcm.c
8320 Decoder working correctly.
8322 1999-03-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8324 * configure.in Makefile.am
8325 Added --enable-justsrc configuration variable sent by Sam
8326 <mrsam at-sign geocities.com>.
8328 * src/wav_ima_adpcm.c
8329 Fixed bug when reading beyond end of data section due to not
8330 checking pima->blockcount.
8331 This uncovered __ima_seek () bug due to pima->blockcount being set
8332 before calling __ima_init_block ().
8334 1999-03-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8337 Started implementing MS ADPCM decoder.
8338 If file is WAVE_FORMAT_ADPCM and length of data chunk is odd, this
8339 encoder seems to add an extra byte. Why not just give an even data
8342 1999-03-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8345 Split code out of wav.c to create wav_float.c and wav_ima_adpcm.c.
8346 This will make it easier to add and debug other kinds of WAV files
8349 1999-03-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8352 Added adpcm_test.c which implements test functions for
8353 IMA ADPCM reading/writing/seeking etc.
8356 Fixed many bugs in IMA ADPCM encoder and decoder.
8358 1999-03-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8361 Finished implementing IMA ADPCM encoder and decoder (what a bitch!).
8363 1999-03-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8366 Started implementing IMA ADPCM decoder.
8368 1999-03-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8371 Fixed bug where the sf_read_XXX functions were returning a
8372 incorrect read count when reading past end of file.
8373 Fixed bug in sf_seek () when seeking backwards from end of file.
8375 * tests/read_seek_test.c
8376 Added multiple read test to short_test(), int_test () and
8378 Added extra chunk to all test WAV files to test that reading
8379 stops at end of 'data' chunk.
8381 1999-02-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8383 * tests/write_read_test.c
8384 Added tests for little DEC endian AU files.
8387 Add handling for DEC format little endian AU files.
8389 1999-02-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8391 * src/aiff.c src/au.c src/wav.c
8392 Add __psf_sprintf calls during header parsing.
8394 * src/sndfile.c src/common.c
8395 Implement sf_header_info (sndfile.c) function and __psf_sprintf (common.c).
8397 * tests/write_read_test.c
8398 Added tests for 8 bit PCM files (WAV, AIFF and AU).
8400 * src/au.c src/aiff.c
8401 Add handling of 8 bit PCM data format.
8404 On write, set blocksize in SSND chunk to zero like everybody else.
8406 1999-02-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8409 Fixed bug in let2s_array (cptr was not being initialised).
8412 Fixed bug in sf_read_raw and sf_write_raw. sf_seek should
8413 now work when using these functions.
8415 1999-02-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8417 * tests/write_read_test.c:
8418 Force test_buffer array to be double aligned. Sparc Solaris
8421 1999-02-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8424 Fixed a bug which was causing errors in the reading
8425 and writing of 24 bit PCM files.
8428 Finished of preliminary documentaion.
8430 1999-02-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
8433 Changed reading of 'COMM' chunk to avoid reading an int
8434 which overlaps an int (4 byte) boundary.